diff --git a/404.html b/404.html
index 890a7e6..5d37de4 100644
--- a/404.html
+++ b/404.html
@@ -29,12 +29,12 @@
       }
     </script>
     <meta property="og:url" content="https://halfsweet.cn/404.html"><meta property="og:site_name" content="HalfSweet's Blog"><meta property="og:description" content="404 Not Found"><meta property="og:type" content="website"><meta property="og:locale" content="zh-CN"><meta property="article:author" content="HalfSweet"><script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","name":"","description":"404 Not Found"}</script><title>HalfSweet's Blog</title><meta name="description" content="404 Not Found">
-    <link rel="preload" href="/assets/style-BDwnt-CL.css" as="style"><link rel="stylesheet" href="/assets/style-BDwnt-CL.css">
-    <link rel="modulepreload" href="/assets/app-ClwIkahu.js"><link rel="modulepreload" href="/assets/404.html-VMfaDGRx.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
-    <link rel="prefetch" href="/assets/index.html-BjG6C5xb.js" as="script"><link rel="prefetch" href="/assets/index.html-6gNmrYKw.js" as="script"><link rel="prefetch" href="/assets/index.html-W8DPbcPd.js" as="script"><link rel="prefetch" href="/assets/index.html-75fD8c0W.js" as="script"><link rel="prefetch" href="/assets/index.html-CufQKtZU.js" as="script"><link rel="prefetch" href="/assets/index.html-Bqe7scks.js" as="script"><link rel="prefetch" href="/assets/index.html-B5-KeVPb.js" as="script"><link rel="prefetch" href="/assets/index.html-C7FigsQF.js" as="script"><link rel="prefetch" href="/assets/index.html-DtEE6E7f.js" as="script"><link rel="prefetch" href="/assets/index.html-0oPRY09N.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNCX4dz.js" as="script"><link rel="prefetch" href="/assets/index.html-XtQdJJI8.js" as="script"><link rel="prefetch" href="/assets/index.html-CnJ0E6b5.js" as="script"><link rel="prefetch" href="/assets/index.html-CFhDcrZp.js" as="script"><link rel="prefetch" href="/assets/index.html-Bd1PkxNi.js" as="script"><link rel="prefetch" href="/assets/index.html-DJ-_mZ9n.js" as="script"><link rel="prefetch" href="/assets/index.html-jFzM8lrm.js" as="script"><link rel="prefetch" href="/assets/index.html-BaR2aqhq.js" as="script"><link rel="prefetch" href="/assets/index.html-DO2xY2T5.js" as="script"><link rel="prefetch" href="/assets/index.html-BEwHBlkc.js" as="script"><link rel="prefetch" href="/assets/index.html-DZIt3Q5g.js" as="script"><link rel="prefetch" href="/assets/index.html-Dd9JrssL.js" as="script"><link rel="prefetch" href="/assets/index.html-BjPOIJdK.js" as="script"><link rel="prefetch" href="/assets/index.html-CmtlWOBH.js" as="script"><link rel="prefetch" href="/assets/index.html-CR-9qG2Y.js" as="script"><link rel="prefetch" href="/assets/index.html-CwWDCYUS.js" as="script"><link rel="prefetch" href="/assets/index.html-CptFZpi0.js" as="script"><link rel="prefetch" href="/assets/index.html-p6Y7Jm3n.js" as="script"><link rel="prefetch" href="/assets/index.html-CIen8cvO.js" as="script"><link rel="prefetch" href="/assets/index.html-BKUs44hv.js" as="script"><link rel="prefetch" href="/assets/index.html-D0wSSTgQ.js" as="script"><link rel="prefetch" href="/assets/index.html-DqsCIdcm.js" as="script"><link rel="prefetch" href="/assets/index.html-kUwAIzkD.js" as="script"><link rel="prefetch" href="/assets/index.html-BqgjNdmg.js" as="script"><link rel="prefetch" href="/assets/index.html-DIaDLRqn.js" as="script"><link rel="prefetch" href="/assets/index.html-DhcL23aG.js" as="script"><link rel="prefetch" href="/assets/index.html-Bk9EBjUw.js" as="script"><link rel="prefetch" href="/assets/index.html-C0X-QC5U.js" as="script"><link rel="prefetch" href="/assets/index.html-ZwD6xCF4.js" as="script"><link rel="prefetch" href="/assets/index.html-BdqadbH8.js" as="script"><link rel="prefetch" href="/assets/index.html-D7Uf3Wbw.js" as="script"><link rel="prefetch" href="/assets/index.html-CsuDpoYK.js" as="script"><link rel="prefetch" href="/assets/index.html-Dc2bdBF2.js" as="script"><link rel="prefetch" href="/assets/index.html-BzgkemtD.js" as="script"><link rel="prefetch" href="/assets/index.html-7uHHiaZx.js" as="script"><link rel="prefetch" href="/assets/index.html-TGoZudvZ.js" as="script"><link rel="prefetch" href="/assets/index.html-DbCWijUV.js" as="script"><link rel="prefetch" href="/assets/index.html-DOCRL60a.js" as="script"><link rel="prefetch" href="/assets/index.html-B8qYb7wb.js" as="script"><link rel="prefetch" href="/assets/index.html-CpBdG6tv.js" as="script"><link rel="prefetch" href="/assets/index.html-DdE0h7xo.js" as="script"><link rel="prefetch" href="/assets/index.html-BlsdgZAc.js" as="script"><link rel="prefetch" href="/assets/index.html-Du74cC6X.js" as="script"><link rel="prefetch" href="/assets/index.html-CTp2Oa39.js" as="script"><link rel="prefetch" href="/assets/index.html-Bz73p56D.js" as="script"><link rel="prefetch" href="/assets/index.html-BktjQtFB.js" as="script"><link rel="prefetch" href="/assets/index.html-DPl--Ppt.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-BF52VcER.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CgYxLcm_.js" as="script"><link rel="prefetch" href="/assets/artplayer-CHAGXahu.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-BOVnG7as.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-CbA2In8H.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-Do1ld-lW.js" as="script"><link rel="prefetch" href="/assets/giscus-7BMGhbDA.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-SzV8tJDW.js" as="script">
+    <link rel="preload" href="/assets/style-7DTFFHvh.css" as="style"><link rel="stylesheet" href="/assets/style-7DTFFHvh.css">
+    <link rel="modulepreload" href="/assets/app-Flo2gZk8.js"><link rel="modulepreload" href="/assets/404.html-mkIobPP0.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
+    <link rel="prefetch" href="/assets/index.html-BhtLl4n3.js" as="script"><link rel="prefetch" href="/assets/index.html-C6yte3a0.js" as="script"><link rel="prefetch" href="/assets/index.html-R-cHHIas.js" as="script"><link rel="prefetch" href="/assets/index.html-CPUAg15t.js" as="script"><link rel="prefetch" href="/assets/index.html-BjdnOCC5.js" as="script"><link rel="prefetch" href="/assets/index.html-7Xyk7CrU.js" as="script"><link rel="prefetch" href="/assets/index.html-BNW3YRR3.js" as="script"><link rel="prefetch" href="/assets/index.html-jClrTNl3.js" as="script"><link rel="prefetch" href="/assets/index.html-tFfBEjXi.js" as="script"><link rel="prefetch" href="/assets/index.html-DgPmeCdQ.js" as="script"><link rel="prefetch" href="/assets/index.html-CxRigd-R.js" as="script"><link rel="prefetch" href="/assets/index.html-BWPjJqfa.js" as="script"><link rel="prefetch" href="/assets/index.html-DzG2EJXJ.js" as="script"><link rel="prefetch" href="/assets/index.html-B45efyIG.js" as="script"><link rel="prefetch" href="/assets/index.html-D_Px6PD2.js" as="script"><link rel="prefetch" href="/assets/index.html-U1Oe9QlK.js" as="script"><link rel="prefetch" href="/assets/index.html-fvB3i9PM.js" as="script"><link rel="prefetch" href="/assets/index.html-DGqb01LU.js" as="script"><link rel="prefetch" href="/assets/index.html-GZfFX8ok.js" as="script"><link rel="prefetch" href="/assets/index.html-vhaMR1PK.js" as="script"><link rel="prefetch" href="/assets/index.html-CvSEeOlH.js" as="script"><link rel="prefetch" href="/assets/index.html-BmplSMWS.js" as="script"><link rel="prefetch" href="/assets/index.html-C2sDDxGY.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNwolvq.js" as="script"><link rel="prefetch" href="/assets/index.html-DhSSZBRU.js" as="script"><link rel="prefetch" href="/assets/index.html-DPcGNBru.js" as="script"><link rel="prefetch" href="/assets/index.html-BFJ0kKZP.js" as="script"><link rel="prefetch" href="/assets/index.html-CBW4olfB.js" as="script"><link rel="prefetch" href="/assets/index.html-CiBWk0Bg.js" as="script"><link rel="prefetch" href="/assets/index.html-AFWYFeTY.js" as="script"><link rel="prefetch" href="/assets/index.html-DlrkN0XZ.js" as="script"><link rel="prefetch" href="/assets/index.html-Cb-sPtFS.js" as="script"><link rel="prefetch" href="/assets/index.html-DPF-EyUV.js" as="script"><link rel="prefetch" href="/assets/index.html-AqhAiBBF.js" as="script"><link rel="prefetch" href="/assets/index.html-DLZdHb6J.js" as="script"><link rel="prefetch" href="/assets/index.html-Cpr5viHS.js" as="script"><link rel="prefetch" href="/assets/index.html-BXxGxqK4.js" as="script"><link rel="prefetch" href="/assets/index.html-4asd-b47.js" as="script"><link rel="prefetch" href="/assets/index.html-ZITi3OK2.js" as="script"><link rel="prefetch" href="/assets/index.html-DJMKg_M6.js" as="script"><link rel="prefetch" href="/assets/index.html-Y__KWg8u.js" as="script"><link rel="prefetch" href="/assets/index.html--BIzY7gk.js" as="script"><link rel="prefetch" href="/assets/index.html-BRHXQqdq.js" as="script"><link rel="prefetch" href="/assets/index.html-C_2nkQ6B.js" as="script"><link rel="prefetch" href="/assets/index.html-R9oSKuoP.js" as="script"><link rel="prefetch" href="/assets/index.html-DY-KY6vi.js" as="script"><link rel="prefetch" href="/assets/index.html-BSndmKE7.js" as="script"><link rel="prefetch" href="/assets/index.html-BDmR_g70.js" as="script"><link rel="prefetch" href="/assets/index.html-CpeDyHcd.js" as="script"><link rel="prefetch" href="/assets/index.html-DV9WiiCS.js" as="script"><link rel="prefetch" href="/assets/index.html-DTceWJaH.js" as="script"><link rel="prefetch" href="/assets/index.html-2WOtvPq_.js" as="script"><link rel="prefetch" href="/assets/index.html-DCVozm3V.js" as="script"><link rel="prefetch" href="/assets/index.html-vKhQGG0S.js" as="script"><link rel="prefetch" href="/assets/index.html-BlvUTCvM.js" as="script"><link rel="prefetch" href="/assets/index.html-vIW8aJUJ.js" as="script"><link rel="prefetch" href="/assets/index.html-CTuZCChr.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-S0Hns9UN.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CSFeuThZ.js" as="script"><link rel="prefetch" href="/assets/artplayer-DnixxQIM.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-DaNo29Rn.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-nRkOMaNb.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-DQalTb-T.js" as="script"><link rel="prefetch" href="/assets/giscus-D-fkNSKD.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-GXRgw7eJ.js" as="script">
   </head>
   <body>
-    <div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container no-sidebar has-toc"><!--[--><header id="navbar" class="vp-navbar"><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><!--[--><a class="route-link vp-brand" href="/"><img class="vp-nav-logo" src="/img/Headshot.jpg" alt><!----><span class="vp-site-name hide-in-pad">HalfSweet&#39;s Blog</span></a><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-center"><!--[--><!----><!--]--><!--[--><nav class="vp-nav-links"><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/posts/" aria-label="文章"><span class="font-icon icon app" style=""></span>文章<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/about/" aria-label="关于"><span class="font-icon icon user" style=""></span>关于<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/friends/" aria-label="友链"><span class="font-icon icon link" style=""></span>友链<!----></a></div></nav><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-end"><!--[--><!----><!--]--><!--[--><!----><div class="nav-item vp-repo"><a class="vp-repo-link" href="https://github.com/HalfSweet/Blog" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><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"></path></svg></a></div><div class="nav-item hide-in-mobile"><button type="button" id="appearance-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" style="display:block;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" style="display:none;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" style="display:none;"><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"></path></svg></button></div><!----><!--]--><!--[--><!----><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar"><!--[--><!----><!--]--><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></li><li><section class="vp-sidebar-group"><p class="vp-sidebar-header"><span class="font-icon icon book" style=""></span><span class="vp-sidebar-title">文章</span><!----></p><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-Clion/" aria-label="使用 Clion 来进行 Air32 的开发"><!---->使用 Clion 来进行 Air32 的开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-MCO/" aria-label="Air32 的 HAL 改造——适配 MCO"><!---->Air32 的 HAL 改造——适配 MCO<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/HelloWorld/" aria-label="HelloWorld"><!---->HelloWorld<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/STC_CoreMark/" aria-label="不服来跑个分?将 CoreMark 移植到 STC 上试试"><!---->不服来跑个分?将 CoreMark 移植到 STC 上试试<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="为什么我对第三代郊狼失望"><!---->为什么我对第三代郊狼失望<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-HighFreq/" aria-label="发挥全部实力!Air32 在 HAL 库环境下运行最高主频"><!---->发挥全部实力!Air32 在 HAL 库环境下运行最高主频<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/embedded_fmtlib/" aria-label="在嵌入式设备上使用fmtlib"><!---->在嵌入式设备上使用fmtlib<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/conda_novelai/" aria-label="基于conda进行手动配置novelAI"><!---->基于conda进行手动配置novelAI<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="对《为什么我对第三代郊狼失望》一文的澄清说明"><!---->对《为什么我对第三代郊狼失望》一文的澄清说明<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Empedded-CI-CD/" aria-label="嵌入式中的 CI/CD"><!---->嵌入式中的 CI/CD<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/MDK6-Dev/" aria-label="更现代的开发方式?使用 MDK6 进行开发"><!---->更现代的开发方式?使用 MDK6 进行开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/SEGGER-RTT/" aria-label="更高效的日志查看方式——使用SEGGER-RTT"><!---->更高效的日志查看方式——使用SEGGER-RTT<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/EpdTraps1/" aria-label="墨水屏的坑——7.5寸墨水屏刷新为何出现条纹"><!---->墨水屏的坑——7.5寸墨水屏刷新为何出现条纹<!----></a></li></ul></section></li></ul><!--[--><!----><!--]--></aside><!--[--><main id="main-content" class="vp-page not-found"><div class="not-found-hint"><p class="error-code">404</p><h1 class="error-title">页面不存在</h1><p class="error-hint">我们是怎么来到这儿的?</p></div><div class="actions"><button type="button" class="action-button">返回上一页</button><button type="button" class="action-button">带我回家</button></div></main><!--]--><footer class="vp-footer-wrapper"><div class="vp-footer">今天咕咕被欺负了吗</div><div class="vp-copyright">Copyright © 2024 HalfSweet </div></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div>
-    <script type="module" src="/assets/app-ClwIkahu.js" defer></script>
+    <div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container no-sidebar has-toc"><!--[--><header id="navbar" class="vp-navbar"><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><!--[--><a class="route-link vp-brand" href="/"><img class="vp-nav-logo" src="/img/Headshot.jpg" alt><!----><span class="vp-site-name hide-in-pad">HalfSweet&#39;s Blog</span></a><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-center"><!--[--><!----><!--]--><!--[--><nav class="vp-nav-links"><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/posts/" aria-label="文章"><span class="font-icon icon app" style=""></span>文章<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/about/" aria-label="关于"><span class="font-icon icon user" style=""></span>关于<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/friends/" aria-label="友链"><span class="font-icon icon link" style=""></span>友链<!----></a></div></nav><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-end"><!--[--><!----><!--]--><!--[--><!----><div class="nav-item vp-repo"><a class="vp-repo-link" href="https://github.com/HalfSweet/Blog" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><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"></path></svg></a></div><div class="nav-item hide-in-mobile"><button type="button" id="appearance-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" style="display:block;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" style="display:none;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" style="display:none;"><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"></path></svg></button></div><!----><!--]--><!--[--><!----><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar"><!--[--><!----><!--]--><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></li><li><section class="vp-sidebar-group"><p class="vp-sidebar-header"><span class="font-icon icon book" style=""></span><span class="vp-sidebar-title">文章</span><!----></p><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-Clion/" aria-label="使用 Clion 来进行 Air32 的开发"><!---->使用 Clion 来进行 Air32 的开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-MCO/" aria-label="Air32 的 HAL 改造——适配 MCO"><!---->Air32 的 HAL 改造——适配 MCO<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/HelloWorld/" aria-label="HelloWorld"><!---->HelloWorld<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/STC_CoreMark/" aria-label="不服来跑个分?将 CoreMark 移植到 STC 上试试"><!---->不服来跑个分?将 CoreMark 移植到 STC 上试试<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="为什么我对第三代郊狼失望"><!---->为什么我对第三代郊狼失望<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-HighFreq/" aria-label="发挥全部实力!Air32 在 HAL 库环境下运行最高主频"><!---->发挥全部实力!Air32 在 HAL 库环境下运行最高主频<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/embedded_fmtlib/" aria-label="在嵌入式设备上使用fmtlib"><!---->在嵌入式设备上使用fmtlib<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/conda_novelai/" aria-label="基于conda进行手动配置novelAI"><!---->基于conda进行手动配置novelAI<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="对《为什么我对第三代郊狼失望》一文的澄清说明"><!---->对《为什么我对第三代郊狼失望》一文的澄清说明<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Empedded-CI-CD/" aria-label="嵌入式中的 CI/CD"><!---->嵌入式中的 CI/CD<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/MDK6-Dev/" aria-label="更现代的开发方式?使用 MDK6 进行开发"><!---->更现代的开发方式?使用 MDK6 进行开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/SEGGER-RTT/" aria-label="更高效的日志查看方式——使用SEGGER-RTT"><!---->更高效的日志查看方式——使用SEGGER-RTT<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/EpdTraps1/" aria-label="墨水屏的坑——7.5寸墨水屏刷新为何出现条纹"><!---->墨水屏的坑——7.5寸墨水屏刷新为何出现条纹<!----></a></li></ul></section></li></ul><!--[--><!----><!--]--></aside><!--[--><main id="main-content" class="vp-page not-found"><div class="not-found-hint"><p class="error-code">404</p><h1 class="error-title">页面不存在</h1><p class="error-hint">这里什么也没有</p></div><div class="actions"><button type="button" class="action-button">返回上一页</button><button type="button" class="action-button">带我回家</button></div></main><!--]--><footer class="vp-footer-wrapper"><div class="vp-footer">今天咕咕被欺负了吗</div><div class="vp-copyright">Copyright © 2024 HalfSweet </div></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div>
+    <script type="module" src="/assets/app-Flo2gZk8.js" defer></script>
   </body>
 </html>
diff --git a/about/index.html b/about/index.html
index f307a6c..a5d9ff6 100644
--- a/about/index.html
+++ b/about/index.html
@@ -29,12 +29,12 @@
       }
     </script>
     <meta property="og:url" content="https://halfsweet.cn/about/"><meta property="og:site_name" content="HalfSweet's Blog"><meta property="og:title" content="关于"><meta property="og:description" content="自我介绍 我是半糖,19岁,事学生 爱好电子,(看过)多种单片机使用方法以及编程语言 最喜欢的屏幕是墨水屏 计划学习更多有关ee和cs的内容,并希望今后从事类似的工作 会的东西 编程语言 略懂C/CPP语言 TODO 单片机 基于Arduino平台的AVR系列 基于Arduino/ESP-IDF/Micropython的ESP32系列 基于HAL库的S..."><meta property="og:type" content="website"><meta property="og:locale" content="zh-CN"><meta property="og:updated_time" content="2024-02-15T10:37:21.000Z"><meta property="article:author" content="HalfSweet"><meta property="article:published_time" content="2022-11-01T03:16:08.000Z"><meta property="article:modified_time" content="2024-02-15T10:37:21.000Z"><script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","name":"关于","description":"自我介绍 我是半糖,19岁,事学生 爱好电子,(看过)多种单片机使用方法以及编程语言 最喜欢的屏幕是墨水屏 计划学习更多有关ee和cs的内容,并希望今后从事类似的工作 会的东西 编程语言 略懂C/CPP语言 TODO 单片机 基于Arduino平台的AVR系列 基于Arduino/ESP-IDF/Micropython的ESP32系列 基于HAL库的S..."}</script><title>关于 | HalfSweet's Blog</title><meta name="description" content="自我介绍 我是半糖,19岁,事学生 爱好电子,(看过)多种单片机使用方法以及编程语言 最喜欢的屏幕是墨水屏 计划学习更多有关ee和cs的内容,并希望今后从事类似的工作 会的东西 编程语言 略懂C/CPP语言 TODO 单片机 基于Arduino平台的AVR系列 基于Arduino/ESP-IDF/Micropython的ESP32系列 基于HAL库的S...">
-    <link rel="preload" href="/assets/style-BDwnt-CL.css" as="style"><link rel="stylesheet" href="/assets/style-BDwnt-CL.css">
-    <link rel="modulepreload" href="/assets/app-ClwIkahu.js"><link rel="modulepreload" href="/assets/index.html-6gNmrYKw.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
-    <link rel="prefetch" href="/assets/index.html-BjG6C5xb.js" as="script"><link rel="prefetch" href="/assets/index.html-W8DPbcPd.js" as="script"><link rel="prefetch" href="/assets/index.html-75fD8c0W.js" as="script"><link rel="prefetch" href="/assets/index.html-CufQKtZU.js" as="script"><link rel="prefetch" href="/assets/index.html-Bqe7scks.js" as="script"><link rel="prefetch" href="/assets/index.html-B5-KeVPb.js" as="script"><link rel="prefetch" href="/assets/index.html-C7FigsQF.js" as="script"><link rel="prefetch" href="/assets/index.html-DtEE6E7f.js" as="script"><link rel="prefetch" href="/assets/index.html-0oPRY09N.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNCX4dz.js" as="script"><link rel="prefetch" href="/assets/index.html-XtQdJJI8.js" as="script"><link rel="prefetch" href="/assets/index.html-CnJ0E6b5.js" as="script"><link rel="prefetch" href="/assets/index.html-CFhDcrZp.js" as="script"><link rel="prefetch" href="/assets/index.html-Bd1PkxNi.js" as="script"><link rel="prefetch" href="/assets/index.html-DJ-_mZ9n.js" as="script"><link rel="prefetch" href="/assets/index.html-jFzM8lrm.js" as="script"><link rel="prefetch" href="/assets/404.html-VMfaDGRx.js" as="script"><link rel="prefetch" href="/assets/index.html-BaR2aqhq.js" as="script"><link rel="prefetch" href="/assets/index.html-DO2xY2T5.js" as="script"><link rel="prefetch" href="/assets/index.html-BEwHBlkc.js" as="script"><link rel="prefetch" href="/assets/index.html-DZIt3Q5g.js" as="script"><link rel="prefetch" href="/assets/index.html-Dd9JrssL.js" as="script"><link rel="prefetch" href="/assets/index.html-BjPOIJdK.js" as="script"><link rel="prefetch" href="/assets/index.html-CmtlWOBH.js" as="script"><link rel="prefetch" href="/assets/index.html-CR-9qG2Y.js" as="script"><link rel="prefetch" href="/assets/index.html-CwWDCYUS.js" as="script"><link rel="prefetch" href="/assets/index.html-CptFZpi0.js" as="script"><link rel="prefetch" href="/assets/index.html-p6Y7Jm3n.js" as="script"><link rel="prefetch" href="/assets/index.html-CIen8cvO.js" as="script"><link rel="prefetch" href="/assets/index.html-BKUs44hv.js" as="script"><link rel="prefetch" href="/assets/index.html-D0wSSTgQ.js" as="script"><link rel="prefetch" href="/assets/index.html-DqsCIdcm.js" as="script"><link rel="prefetch" href="/assets/index.html-kUwAIzkD.js" as="script"><link rel="prefetch" href="/assets/index.html-BqgjNdmg.js" as="script"><link rel="prefetch" href="/assets/index.html-DIaDLRqn.js" as="script"><link rel="prefetch" href="/assets/index.html-DhcL23aG.js" as="script"><link rel="prefetch" href="/assets/index.html-Bk9EBjUw.js" as="script"><link rel="prefetch" href="/assets/index.html-C0X-QC5U.js" as="script"><link rel="prefetch" href="/assets/index.html-ZwD6xCF4.js" as="script"><link rel="prefetch" href="/assets/index.html-BdqadbH8.js" as="script"><link rel="prefetch" href="/assets/index.html-D7Uf3Wbw.js" as="script"><link rel="prefetch" href="/assets/index.html-CsuDpoYK.js" as="script"><link rel="prefetch" href="/assets/index.html-Dc2bdBF2.js" as="script"><link rel="prefetch" href="/assets/index.html-BzgkemtD.js" as="script"><link rel="prefetch" href="/assets/index.html-7uHHiaZx.js" as="script"><link rel="prefetch" href="/assets/index.html-TGoZudvZ.js" as="script"><link rel="prefetch" href="/assets/index.html-DbCWijUV.js" as="script"><link rel="prefetch" href="/assets/index.html-DOCRL60a.js" as="script"><link rel="prefetch" href="/assets/index.html-B8qYb7wb.js" as="script"><link rel="prefetch" href="/assets/index.html-CpBdG6tv.js" as="script"><link rel="prefetch" href="/assets/index.html-DdE0h7xo.js" as="script"><link rel="prefetch" href="/assets/index.html-BlsdgZAc.js" as="script"><link rel="prefetch" href="/assets/index.html-Du74cC6X.js" as="script"><link rel="prefetch" href="/assets/index.html-CTp2Oa39.js" as="script"><link rel="prefetch" href="/assets/index.html-Bz73p56D.js" as="script"><link rel="prefetch" href="/assets/index.html-BktjQtFB.js" as="script"><link rel="prefetch" href="/assets/index.html-DPl--Ppt.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-BF52VcER.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CgYxLcm_.js" as="script"><link rel="prefetch" href="/assets/artplayer-CHAGXahu.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-BOVnG7as.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-CbA2In8H.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-Do1ld-lW.js" as="script"><link rel="prefetch" href="/assets/giscus-7BMGhbDA.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-SzV8tJDW.js" as="script">
+    <link rel="preload" href="/assets/style-7DTFFHvh.css" as="style"><link rel="stylesheet" href="/assets/style-7DTFFHvh.css">
+    <link rel="modulepreload" href="/assets/app-Flo2gZk8.js"><link rel="modulepreload" href="/assets/index.html-C6yte3a0.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
+    <link rel="prefetch" href="/assets/index.html-BhtLl4n3.js" as="script"><link rel="prefetch" href="/assets/index.html-R-cHHIas.js" as="script"><link rel="prefetch" href="/assets/index.html-CPUAg15t.js" as="script"><link rel="prefetch" href="/assets/index.html-BjdnOCC5.js" as="script"><link rel="prefetch" href="/assets/index.html-7Xyk7CrU.js" as="script"><link rel="prefetch" href="/assets/index.html-BNW3YRR3.js" as="script"><link rel="prefetch" href="/assets/index.html-jClrTNl3.js" as="script"><link rel="prefetch" href="/assets/index.html-tFfBEjXi.js" as="script"><link rel="prefetch" href="/assets/index.html-DgPmeCdQ.js" as="script"><link rel="prefetch" href="/assets/index.html-CxRigd-R.js" as="script"><link rel="prefetch" href="/assets/index.html-BWPjJqfa.js" as="script"><link rel="prefetch" href="/assets/index.html-DzG2EJXJ.js" as="script"><link rel="prefetch" href="/assets/index.html-B45efyIG.js" as="script"><link rel="prefetch" href="/assets/index.html-D_Px6PD2.js" as="script"><link rel="prefetch" href="/assets/index.html-U1Oe9QlK.js" as="script"><link rel="prefetch" href="/assets/index.html-fvB3i9PM.js" as="script"><link rel="prefetch" href="/assets/404.html-mkIobPP0.js" as="script"><link rel="prefetch" href="/assets/index.html-DGqb01LU.js" as="script"><link rel="prefetch" href="/assets/index.html-GZfFX8ok.js" as="script"><link rel="prefetch" href="/assets/index.html-vhaMR1PK.js" as="script"><link rel="prefetch" href="/assets/index.html-CvSEeOlH.js" as="script"><link rel="prefetch" href="/assets/index.html-BmplSMWS.js" as="script"><link rel="prefetch" href="/assets/index.html-C2sDDxGY.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNwolvq.js" as="script"><link rel="prefetch" href="/assets/index.html-DhSSZBRU.js" as="script"><link rel="prefetch" href="/assets/index.html-DPcGNBru.js" as="script"><link rel="prefetch" href="/assets/index.html-BFJ0kKZP.js" as="script"><link rel="prefetch" href="/assets/index.html-CBW4olfB.js" as="script"><link rel="prefetch" href="/assets/index.html-CiBWk0Bg.js" as="script"><link rel="prefetch" href="/assets/index.html-AFWYFeTY.js" as="script"><link rel="prefetch" href="/assets/index.html-DlrkN0XZ.js" as="script"><link rel="prefetch" href="/assets/index.html-Cb-sPtFS.js" as="script"><link rel="prefetch" href="/assets/index.html-DPF-EyUV.js" as="script"><link rel="prefetch" href="/assets/index.html-AqhAiBBF.js" as="script"><link rel="prefetch" href="/assets/index.html-DLZdHb6J.js" as="script"><link rel="prefetch" href="/assets/index.html-Cpr5viHS.js" as="script"><link rel="prefetch" href="/assets/index.html-BXxGxqK4.js" as="script"><link rel="prefetch" href="/assets/index.html-4asd-b47.js" as="script"><link rel="prefetch" href="/assets/index.html-ZITi3OK2.js" as="script"><link rel="prefetch" href="/assets/index.html-DJMKg_M6.js" as="script"><link rel="prefetch" href="/assets/index.html-Y__KWg8u.js" as="script"><link rel="prefetch" href="/assets/index.html--BIzY7gk.js" as="script"><link rel="prefetch" href="/assets/index.html-BRHXQqdq.js" as="script"><link rel="prefetch" href="/assets/index.html-C_2nkQ6B.js" as="script"><link rel="prefetch" href="/assets/index.html-R9oSKuoP.js" as="script"><link rel="prefetch" href="/assets/index.html-DY-KY6vi.js" as="script"><link rel="prefetch" href="/assets/index.html-BSndmKE7.js" as="script"><link rel="prefetch" href="/assets/index.html-BDmR_g70.js" as="script"><link rel="prefetch" href="/assets/index.html-CpeDyHcd.js" as="script"><link rel="prefetch" href="/assets/index.html-DV9WiiCS.js" as="script"><link rel="prefetch" href="/assets/index.html-DTceWJaH.js" as="script"><link rel="prefetch" href="/assets/index.html-2WOtvPq_.js" as="script"><link rel="prefetch" href="/assets/index.html-DCVozm3V.js" as="script"><link rel="prefetch" href="/assets/index.html-vKhQGG0S.js" as="script"><link rel="prefetch" href="/assets/index.html-BlvUTCvM.js" as="script"><link rel="prefetch" href="/assets/index.html-vIW8aJUJ.js" as="script"><link rel="prefetch" href="/assets/index.html-CTuZCChr.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-S0Hns9UN.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CSFeuThZ.js" as="script"><link rel="prefetch" href="/assets/artplayer-DnixxQIM.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-DaNo29Rn.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-nRkOMaNb.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-DQalTb-T.js" as="script"><link rel="prefetch" href="/assets/giscus-D-fkNSKD.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-GXRgw7eJ.js" as="script">
   </head>
   <body>
     <div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container no-sidebar has-toc"><!--[--><header id="navbar" class="vp-navbar"><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><!--[--><a class="route-link vp-brand" href="/"><img class="vp-nav-logo" src="/img/Headshot.jpg" alt><!----><span class="vp-site-name hide-in-pad">HalfSweet&#39;s Blog</span></a><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-center"><!--[--><!----><!--]--><!--[--><nav class="vp-nav-links"><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/posts/" aria-label="文章"><span class="font-icon icon app" style=""></span>文章<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link active" href="/about/" aria-label="关于"><span class="font-icon icon user" style=""></span>关于<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/friends/" aria-label="友链"><span class="font-icon icon link" style=""></span>友链<!----></a></div></nav><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-end"><!--[--><!----><!--]--><!--[--><!----><div class="nav-item vp-repo"><a class="vp-repo-link" href="https://github.com/HalfSweet/Blog" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><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"></path></svg></a></div><div class="nav-item hide-in-mobile"><button type="button" id="appearance-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" style="display:block;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" style="display:none;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" style="display:none;"><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"></path></svg></button></div><!----><!--]--><!--[--><!----><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar"><!--[--><!----><!--]--><ul class="vp-sidebar-links"></ul><!--[--><!----><!--]--></aside><!--[--><main id="main-content" class="vp-page"><!--[--><!--[--><!----><!--]--><!----><nav class="vp-breadcrumb disable"></nav><div class="vp-page-title"><h1><!---->关于</h1><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2022-11-01T03:16:08.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>小于 1 分钟</span><meta property="timeRequired" content="PT1M"></span><!----><!----></div><hr></div><div class="vp-toc-placeholder"><aside id="toc"><!--[--><!----><!--]--><div class="vp-toc-header">此页内容<button type="button" class="print-button" title="打印"><svg xmlns="http://www.w3.org/2000/svg" class="icon print-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="print icon"><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"></path></svg></button><div class="arrow end"></div></div><div class="vp-toc-wrapper"><ul class="vp-toc-list"><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#自我介绍">自我介绍</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#会的东西">会的东西</a></li><li><ul class="vp-toc-list"><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="/#编程语言">编程语言</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="/#单片机">单片机</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="/#其它">其它</a></li><!----><!--]--></ul></li><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#联系方式">联系方式</a></li><!----><!--]--></ul><div class="vp-toc-marker" style="top:-1.7rem;"></div></div><!--[--><!----><!--]--></aside></div><!--[--><!----><!--]--><div class="theme-hope-content"><h2 id="自我介绍" tabindex="-1"><a class="header-anchor" href="#自我介绍"><span>自我介绍</span></a></h2><ul><li>我是半糖,19岁,事学生</li><li>爱好电子,<s>精通</s>(看过)多种单片机使用方法以及编程语言</li><li>最喜欢的屏幕是墨水屏</li><li>计划学习更多有关ee和cs的内容,并希望今后从事类似的工作</li></ul><h2 id="会的东西" tabindex="-1"><a class="header-anchor" href="#会的东西"><span>会的东西</span></a></h2><h3 id="编程语言" tabindex="-1"><a class="header-anchor" href="#编程语言"><span>编程语言</span></a></h3><ul><li>略懂C/CPP语言</li></ul><p><em>TODO</em></p><h3 id="单片机" tabindex="-1"><a class="header-anchor" href="#单片机"><span>单片机</span></a></h3><ul><li>基于Arduino平台的AVR系列</li><li>基于Arduino/ESP-IDF/Micropython的ESP32系列 <s>(其实是个连idf都不会装的菜鸡)</s></li><li>基于HAL库的STM32系列</li><li>8051/80251(特指STC32)</li><li>CCS的安装与卸载</li></ul><h3 id="其它" tabindex="-1"><a class="header-anchor" href="#其它"><span>其它</span></a></h3><p>初次之外半糖略懂一些关于墨水屏的知识,以及能在有详细文档的参考下做出一些有意思的东西(比如说这个博客)。</p><h2 id="联系方式" tabindex="-1"><a class="header-anchor" href="#联系方式"><span>联系方式</span></a></h2><ul><li><p><a href="http://wpa.qq.com/msgrd?v=3&amp;uin=2522182733&amp;site=qq&amp;menu=yes" target="_blank" rel="noopener noreferrer">QQ: 2522182733<span><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"><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"></path><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"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a></p></li><li><p><a href="http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&amp;k=EI7O0ESVK0EsN_wbWI-PHzp2fhvnxrwm&amp;authKey=U06sfHY23isq%2B%2F5%2B4R%2FV%2BEAS0OS%2Fk1ft394WCehaZ4FhHJwQW0KYfWYGvDoTerl5&amp;noverify=0&amp;group_code=490953159" target="_blank" rel="noopener noreferrer">QQ群: 490953159<span><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"><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"></path><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"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a></p></li><li><p><a href="mailto:HalfSweet@HalfSweet.cn">邮箱:HalfSweet@HalfSweet.cn</a></p></li><li><p><a href="https://twitter.com/_HalfSweet" target="_blank" rel="noopener noreferrer">Twitter: @_HalfSweet<span><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"><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"></path><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"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a></p></li><li><p><a href="https://github.com/HalfSweet" target="_blank" rel="noopener noreferrer">GitHub:HalfSweet<span><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"><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"></path><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"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a></p></li></ul></div><!--[--><!----><!--]--><footer class="page-meta"><div class="meta-item edit-link"><a href="https://github.com/HalfSweet/Blog/edit/main/src/Catalogue/about.md" rel="noopener noreferrer" target="_blank" aria-label="在 GitHub 上编辑此页" class="nav-link label"><!--[--><svg xmlns="http://www.w3.org/2000/svg" class="icon edit-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="edit icon"><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"></path><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"></path></svg><!--]-->在 GitHub 上编辑此页<span><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"><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"></path><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"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!----></a></div><div class="meta-item git-info"><div class="update-time"><span class="label">上次编辑于: </span><!----></div><div class="contributors"><span class="label">贡献者: </span><!--[--><!--[--><span class="contributor" title="email: halfsweet@halfsweet.cn">HalfSweet</span><!--]--><!--]--></div></div></footer><!----><div id="vp-comment" class="giscus-wrapper input-top" style="display:block;"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" preserveAspectRatio="xMidYMid" viewBox="0 0 100 100"><circle cx="28" cy="75" r="11" fill="currentColor"><animate attributeName="fill-opacity" begin="0s" dur="1s" keyTimes="0;0.2;1" repeatCount="indefinite" values="0;1;1"></animate></circle><path fill="none" stroke="#88baf0" stroke-width="10" d="M28 47a28 28 0 0 1 28 28"><animate attributeName="stroke-opacity" begin="0.1s" dur="1s" keyTimes="0;0.2;1" repeatCount="indefinite" values="0;1;1"></animate></path><path fill="none" stroke="#88baf0" stroke-width="10" d="M28 25a50 50 0 0 1 50 50"><animate attributeName="stroke-opacity" begin="0.2s" dur="1s" keyTimes="0;0.2;1" repeatCount="indefinite" values="0;1;1"></animate></path></svg></div><!--[--><!----><!--]--><!--]--></main><!--]--><footer class="vp-footer-wrapper"><div class="vp-footer">今天咕咕被欺负了吗</div><div class="vp-copyright">Copyright © 2024 HalfSweet </div></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div>
-    <script type="module" src="/assets/app-ClwIkahu.js" defer></script>
+    <script type="module" src="/assets/app-Flo2gZk8.js" defer></script>
   </body>
 </html>
diff --git a/article/index.html b/article/index.html
index 90f0234..c5b1521 100644
--- a/article/index.html
+++ b/article/index.html
@@ -29,9 +29,9 @@
       }
     </script>
     <meta property="og:url" content="https://halfsweet.cn/article/"><meta property="og:site_name" content="HalfSweet's Blog"><meta property="og:title" content="文章"><meta property="og:type" content="website"><meta property="og:locale" content="zh-CN"><meta property="article:author" content="HalfSweet"><script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","name":"文章"}</script><title>文章 | HalfSweet's Blog</title><meta name="description" content="半糖的博客">
-    <link rel="preload" href="/assets/style-BDwnt-CL.css" as="style"><link rel="stylesheet" href="/assets/style-BDwnt-CL.css">
-    <link rel="modulepreload" href="/assets/app-ClwIkahu.js"><link rel="modulepreload" href="/assets/index.html-Bz73p56D.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
-    <link rel="prefetch" href="/assets/index.html-BjG6C5xb.js" as="script"><link rel="prefetch" href="/assets/index.html-6gNmrYKw.js" as="script"><link rel="prefetch" href="/assets/index.html-W8DPbcPd.js" as="script"><link rel="prefetch" href="/assets/index.html-75fD8c0W.js" as="script"><link rel="prefetch" href="/assets/index.html-CufQKtZU.js" as="script"><link rel="prefetch" href="/assets/index.html-Bqe7scks.js" as="script"><link rel="prefetch" href="/assets/index.html-B5-KeVPb.js" as="script"><link rel="prefetch" href="/assets/index.html-C7FigsQF.js" as="script"><link rel="prefetch" href="/assets/index.html-DtEE6E7f.js" as="script"><link rel="prefetch" href="/assets/index.html-0oPRY09N.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNCX4dz.js" as="script"><link rel="prefetch" href="/assets/index.html-XtQdJJI8.js" as="script"><link rel="prefetch" href="/assets/index.html-CnJ0E6b5.js" as="script"><link rel="prefetch" href="/assets/index.html-CFhDcrZp.js" as="script"><link rel="prefetch" href="/assets/index.html-Bd1PkxNi.js" as="script"><link rel="prefetch" href="/assets/index.html-DJ-_mZ9n.js" as="script"><link rel="prefetch" href="/assets/index.html-jFzM8lrm.js" as="script"><link rel="prefetch" href="/assets/404.html-VMfaDGRx.js" as="script"><link rel="prefetch" href="/assets/index.html-BaR2aqhq.js" as="script"><link rel="prefetch" href="/assets/index.html-DO2xY2T5.js" as="script"><link rel="prefetch" href="/assets/index.html-BEwHBlkc.js" as="script"><link rel="prefetch" href="/assets/index.html-DZIt3Q5g.js" as="script"><link rel="prefetch" href="/assets/index.html-Dd9JrssL.js" as="script"><link rel="prefetch" href="/assets/index.html-BjPOIJdK.js" as="script"><link rel="prefetch" href="/assets/index.html-CmtlWOBH.js" as="script"><link rel="prefetch" href="/assets/index.html-CR-9qG2Y.js" as="script"><link rel="prefetch" href="/assets/index.html-CwWDCYUS.js" as="script"><link rel="prefetch" href="/assets/index.html-CptFZpi0.js" as="script"><link rel="prefetch" href="/assets/index.html-p6Y7Jm3n.js" as="script"><link rel="prefetch" href="/assets/index.html-CIen8cvO.js" as="script"><link rel="prefetch" href="/assets/index.html-BKUs44hv.js" as="script"><link rel="prefetch" href="/assets/index.html-D0wSSTgQ.js" as="script"><link rel="prefetch" href="/assets/index.html-DqsCIdcm.js" as="script"><link rel="prefetch" href="/assets/index.html-kUwAIzkD.js" as="script"><link rel="prefetch" href="/assets/index.html-BqgjNdmg.js" as="script"><link rel="prefetch" href="/assets/index.html-DIaDLRqn.js" as="script"><link rel="prefetch" href="/assets/index.html-DhcL23aG.js" as="script"><link rel="prefetch" href="/assets/index.html-Bk9EBjUw.js" as="script"><link rel="prefetch" href="/assets/index.html-C0X-QC5U.js" as="script"><link rel="prefetch" href="/assets/index.html-ZwD6xCF4.js" as="script"><link rel="prefetch" href="/assets/index.html-BdqadbH8.js" as="script"><link rel="prefetch" href="/assets/index.html-D7Uf3Wbw.js" as="script"><link rel="prefetch" href="/assets/index.html-CsuDpoYK.js" as="script"><link rel="prefetch" href="/assets/index.html-Dc2bdBF2.js" as="script"><link rel="prefetch" href="/assets/index.html-BzgkemtD.js" as="script"><link rel="prefetch" href="/assets/index.html-7uHHiaZx.js" as="script"><link rel="prefetch" href="/assets/index.html-TGoZudvZ.js" as="script"><link rel="prefetch" href="/assets/index.html-DbCWijUV.js" as="script"><link rel="prefetch" href="/assets/index.html-DOCRL60a.js" as="script"><link rel="prefetch" href="/assets/index.html-B8qYb7wb.js" as="script"><link rel="prefetch" href="/assets/index.html-CpBdG6tv.js" as="script"><link rel="prefetch" href="/assets/index.html-DdE0h7xo.js" as="script"><link rel="prefetch" href="/assets/index.html-BlsdgZAc.js" as="script"><link rel="prefetch" href="/assets/index.html-Du74cC6X.js" as="script"><link rel="prefetch" href="/assets/index.html-CTp2Oa39.js" as="script"><link rel="prefetch" href="/assets/index.html-BktjQtFB.js" as="script"><link rel="prefetch" href="/assets/index.html-DPl--Ppt.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-BF52VcER.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CgYxLcm_.js" as="script"><link rel="prefetch" href="/assets/artplayer-CHAGXahu.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-BOVnG7as.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-CbA2In8H.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-Do1ld-lW.js" as="script"><link rel="prefetch" href="/assets/giscus-7BMGhbDA.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-SzV8tJDW.js" as="script">
+    <link rel="preload" href="/assets/style-7DTFFHvh.css" as="style"><link rel="stylesheet" href="/assets/style-7DTFFHvh.css">
+    <link rel="modulepreload" href="/assets/app-Flo2gZk8.js"><link rel="modulepreload" href="/assets/index.html-BlvUTCvM.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
+    <link rel="prefetch" href="/assets/index.html-BhtLl4n3.js" as="script"><link rel="prefetch" href="/assets/index.html-C6yte3a0.js" as="script"><link rel="prefetch" href="/assets/index.html-R-cHHIas.js" as="script"><link rel="prefetch" href="/assets/index.html-CPUAg15t.js" as="script"><link rel="prefetch" href="/assets/index.html-BjdnOCC5.js" as="script"><link rel="prefetch" href="/assets/index.html-7Xyk7CrU.js" as="script"><link rel="prefetch" href="/assets/index.html-BNW3YRR3.js" as="script"><link rel="prefetch" href="/assets/index.html-jClrTNl3.js" as="script"><link rel="prefetch" href="/assets/index.html-tFfBEjXi.js" as="script"><link rel="prefetch" href="/assets/index.html-DgPmeCdQ.js" as="script"><link rel="prefetch" href="/assets/index.html-CxRigd-R.js" as="script"><link rel="prefetch" href="/assets/index.html-BWPjJqfa.js" as="script"><link rel="prefetch" href="/assets/index.html-DzG2EJXJ.js" as="script"><link rel="prefetch" href="/assets/index.html-B45efyIG.js" as="script"><link rel="prefetch" href="/assets/index.html-D_Px6PD2.js" as="script"><link rel="prefetch" href="/assets/index.html-U1Oe9QlK.js" as="script"><link rel="prefetch" href="/assets/index.html-fvB3i9PM.js" as="script"><link rel="prefetch" href="/assets/404.html-mkIobPP0.js" as="script"><link rel="prefetch" href="/assets/index.html-DGqb01LU.js" as="script"><link rel="prefetch" href="/assets/index.html-GZfFX8ok.js" as="script"><link rel="prefetch" href="/assets/index.html-vhaMR1PK.js" as="script"><link rel="prefetch" href="/assets/index.html-CvSEeOlH.js" as="script"><link rel="prefetch" href="/assets/index.html-BmplSMWS.js" as="script"><link rel="prefetch" href="/assets/index.html-C2sDDxGY.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNwolvq.js" as="script"><link rel="prefetch" href="/assets/index.html-DhSSZBRU.js" as="script"><link rel="prefetch" href="/assets/index.html-DPcGNBru.js" as="script"><link rel="prefetch" href="/assets/index.html-BFJ0kKZP.js" as="script"><link rel="prefetch" href="/assets/index.html-CBW4olfB.js" as="script"><link rel="prefetch" href="/assets/index.html-CiBWk0Bg.js" as="script"><link rel="prefetch" href="/assets/index.html-AFWYFeTY.js" as="script"><link rel="prefetch" href="/assets/index.html-DlrkN0XZ.js" as="script"><link rel="prefetch" href="/assets/index.html-Cb-sPtFS.js" as="script"><link rel="prefetch" href="/assets/index.html-DPF-EyUV.js" as="script"><link rel="prefetch" href="/assets/index.html-AqhAiBBF.js" as="script"><link rel="prefetch" href="/assets/index.html-DLZdHb6J.js" as="script"><link rel="prefetch" href="/assets/index.html-Cpr5viHS.js" as="script"><link rel="prefetch" href="/assets/index.html-BXxGxqK4.js" as="script"><link rel="prefetch" href="/assets/index.html-4asd-b47.js" as="script"><link rel="prefetch" href="/assets/index.html-ZITi3OK2.js" as="script"><link rel="prefetch" href="/assets/index.html-DJMKg_M6.js" as="script"><link rel="prefetch" href="/assets/index.html-Y__KWg8u.js" as="script"><link rel="prefetch" href="/assets/index.html--BIzY7gk.js" as="script"><link rel="prefetch" href="/assets/index.html-BRHXQqdq.js" as="script"><link rel="prefetch" href="/assets/index.html-C_2nkQ6B.js" as="script"><link rel="prefetch" href="/assets/index.html-R9oSKuoP.js" as="script"><link rel="prefetch" href="/assets/index.html-DY-KY6vi.js" as="script"><link rel="prefetch" href="/assets/index.html-BSndmKE7.js" as="script"><link rel="prefetch" href="/assets/index.html-BDmR_g70.js" as="script"><link rel="prefetch" href="/assets/index.html-CpeDyHcd.js" as="script"><link rel="prefetch" href="/assets/index.html-DV9WiiCS.js" as="script"><link rel="prefetch" href="/assets/index.html-DTceWJaH.js" as="script"><link rel="prefetch" href="/assets/index.html-2WOtvPq_.js" as="script"><link rel="prefetch" href="/assets/index.html-DCVozm3V.js" as="script"><link rel="prefetch" href="/assets/index.html-vKhQGG0S.js" as="script"><link rel="prefetch" href="/assets/index.html-vIW8aJUJ.js" as="script"><link rel="prefetch" href="/assets/index.html-CTuZCChr.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-S0Hns9UN.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CSFeuThZ.js" as="script"><link rel="prefetch" href="/assets/artplayer-DnixxQIM.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-DaNo29Rn.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-nRkOMaNb.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-DQalTb-T.js" as="script"><link rel="prefetch" href="/assets/giscus-D-fkNSKD.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-GXRgw7eJ.js" as="script">
   </head>
   <body>
     <div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container no-sidebar"><!--[--><header id="navbar" class="vp-navbar"><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><!--[--><a class="route-link vp-brand" href="/"><img class="vp-nav-logo" src="/img/Headshot.jpg" alt><!----><span class="vp-site-name hide-in-pad">HalfSweet&#39;s Blog</span></a><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-center"><!--[--><!----><!--]--><!--[--><nav class="vp-nav-links"><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/posts/" aria-label="文章"><span class="font-icon icon app" style=""></span>文章<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/about/" aria-label="关于"><span class="font-icon icon user" style=""></span>关于<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/friends/" aria-label="友链"><span class="font-icon icon link" style=""></span>友链<!----></a></div></nav><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-end"><!--[--><!----><!--]--><!--[--><!----><div class="nav-item vp-repo"><a class="vp-repo-link" href="https://github.com/HalfSweet/Blog" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><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"></path></svg></a></div><div class="nav-item hide-in-mobile"><button type="button" id="appearance-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" style="display:block;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" style="display:none;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" style="display:none;"><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"></path></svg></button></div><!----><!--]--><!--[--><!----><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar"><!--[--><!----><!--]--><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></li><li><section class="vp-sidebar-group"><p class="vp-sidebar-header"><span class="font-icon icon book" style=""></span><span class="vp-sidebar-title">文章</span><!----></p><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-Clion/" aria-label="使用 Clion 来进行 Air32 的开发"><!---->使用 Clion 来进行 Air32 的开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-MCO/" aria-label="Air32 的 HAL 改造——适配 MCO"><!---->Air32 的 HAL 改造——适配 MCO<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/HelloWorld/" aria-label="HelloWorld"><!---->HelloWorld<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/STC_CoreMark/" aria-label="不服来跑个分?将 CoreMark 移植到 STC 上试试"><!---->不服来跑个分?将 CoreMark 移植到 STC 上试试<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="为什么我对第三代郊狼失望"><!---->为什么我对第三代郊狼失望<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-HighFreq/" aria-label="发挥全部实力!Air32 在 HAL 库环境下运行最高主频"><!---->发挥全部实力!Air32 在 HAL 库环境下运行最高主频<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/embedded_fmtlib/" aria-label="在嵌入式设备上使用fmtlib"><!---->在嵌入式设备上使用fmtlib<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/conda_novelai/" aria-label="基于conda进行手动配置novelAI"><!---->基于conda进行手动配置novelAI<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="对《为什么我对第三代郊狼失望》一文的澄清说明"><!---->对《为什么我对第三代郊狼失望》一文的澄清说明<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Empedded-CI-CD/" aria-label="嵌入式中的 CI/CD"><!---->嵌入式中的 CI/CD<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/MDK6-Dev/" aria-label="更现代的开发方式?使用 MDK6 进行开发"><!---->更现代的开发方式?使用 MDK6 进行开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/SEGGER-RTT/" aria-label="更高效的日志查看方式——使用SEGGER-RTT"><!---->更高效的日志查看方式——使用SEGGER-RTT<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/EpdTraps1/" aria-label="墨水屏的坑——7.5寸墨水屏刷新为何出现条纹"><!---->墨水屏的坑——7.5寸墨水屏刷新为何出现条纹<!----></a></li></ul></section></li></ul><!--[--><!----><!--]--></aside><!--[--><div class="vp-page vp-blog"><div class="blog-page-wrapper"><main id="main-content" class="vp-blog-main"><ul class="vp-article-type-wrapper"><li class="vp-article-type active"><a class="route-link" href="/article/">全部</a></li><li class="vp-article-type"><a class="route-link" href="/star/">星标</a></li></ul><div id="article-list" class="vp-article-list" role="feed"><div class="vp-article-wrapper"><article class="vp-article-item" vocab="https://schema.org/" typeof="Article"><!--[--><!--]--><!----><a class="route-link" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/"><header class="vp-article-title"><!----><!----><span property="headline">对《为什么我对第三代郊狼失望》一文的澄清说明</span></header></a><div class="vp-article-excerpt"><p>在上文 <a href="/posts/%E4%B8%BA%E4%BB%80%E4%B9%88%E6%88%91%E5%AF%B9%E7%AC%AC%E4%B8%89%E4%BB%A3%E9%83%8A%E7%8B%BC%E5%A4%B1%E6%9C%9B.html" target="_blank">为什么我对第三代郊狼失望</a> 一文中,我对于第三代郊狼的硬件部分进行了一些初步分析,因为没有详细的一些资料,因此在一些地方可能存在一些错误。在昨晚(2024-03-19)郊狼作者找到我,与我群群友进行了一番友好的长时间地交流,也解答了我对设计上的一些疑问。在本文中我们会逐步分析前文中提到的问题。</p>
@@ -46,6 +46,6 @@
 <p>通用,本文同样适用于 Arm-Cortex M 架构的 MCU。</p>
 </div><hr class="vp-article-hr"><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2023-04-14T17:39:36.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>大约 5 分钟</span><meta property="timeRequired" content="PT5M"></span><span class="page-category-info" aria-label="分类🌈" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg><!--[--><span class="page-category-item category8 clickable" role="navigation">单片机</span><!--]--><meta property="articleSection" content="单片机"></span><span class="page-tag-info" aria-label="标签🏷" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg><!--[--><span class="page-tag-item tag3 clickable" role="navigation">STC32</span><span class="page-tag-item tag8 clickable" role="navigation">STC8</span><span class="page-tag-item tag2 clickable" role="navigation">嵌入式</span><span class="page-tag-item tag2 clickable" role="navigation">CoreMark</span><!--]--><meta property="keywords" content="STC32,STC8,嵌入式,CoreMark"></span></div></article></div><div class="vp-article-wrapper"><article class="vp-article-item" vocab="https://schema.org/" typeof="Article"><!--[--><!--]--><!----><a class="route-link" href="/posts/embedded_fmtlib/"><header class="vp-article-title"><!----><!----><span property="headline">在嵌入式设备上使用fmtlib</span></header></a><div class="vp-article-excerpt"><p>众所周知,在c++20以上的标准已经支持了<code>std::format</code>进行格式化输出,不过显而易见,嵌入式领域想要得到支持显然遥遥无期。但是我们已经厌倦了使用sprintf等方式来格式化字符串,c++的流特性又显得不够优雅,怎么才能用上类似于Python中format这样的方式来格式化并输出想要的字符串呢。</p>
 </div><hr class="vp-article-hr"><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2023-02-03T14:08:57.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>大约 5 分钟</span><meta property="timeRequired" content="PT5M"></span><span class="page-category-info" aria-label="分类🌈" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg><!--[--><span class="page-category-item category1 clickable" role="navigation">posts</span><!--]--><meta property="articleSection" content="posts"></span><span class="page-tag-info" aria-label="标签🏷" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg><!--[--><span class="page-tag-item tag8 clickable" role="navigation">fmtlib</span><span class="page-tag-item tag2 clickable" role="navigation">嵌入式</span><span class="page-tag-item tag8 clickable" role="navigation">ESP8266</span><span class="page-tag-item tag2 clickable" role="navigation">ESP32</span><span class="page-tag-item tag3 clickable" role="navigation">Arduino</span><span class="page-tag-item tag5 clickable" role="navigation">PlatformIO</span><span class="page-tag-item tag0 clickable" role="navigation">ESP-IDF</span><!--]--><meta property="keywords" content="fmtlib,嵌入式,ESP8266,ESP32,Arduino,PlatformIO,ESP-IDF"></span></div></article></div><div class="vp-pagination"><nav class="vp-pagination-list"><div class="vp-pagination-number"><!----><!----><!--[--><div class="active" role="navigation">1</div><div class="" role="navigation">2</div><!--]--><!----><div class="next" role="navigation" unselectable="on">下一页</div></div><div class="vp-pagination-nav"><label for="navigation-text">跳转到: </label><input id="navigation-text" value><button class="vp-pagination-button" role="navigation" title="前往">前往</button></div></nav></div></div></main><aside class="vp-blog-info-wrapper"><div class="vp-blogger-info" vocab="https://schema.org/" typeof="Person"><div class="vp-blogger" style="cursor:pointer;" aria-label="个人介绍" data-balloon-pos="down" role="link"><img class="vp-blogger-avatar" src="/img/Headshot.jpg" property="image" alt="Blogger Avatar" loading="lazy"><div class="vp-blogger-name" property="name">HalfSweet</div><div class="vp-blogger-description">Try to create some value</div><meta property="url" content="/Catalogue/02.about.html"></div><div class="vp-blog-counts"><a class="route-link vp-blog-count" href="/article/"><div class="count">13</div><div>文章</div></a><a class="route-link vp-blog-count" href="/category/"><div class="count">5</div><div>分类</div></a><a class="route-link vp-blog-count" href="/tag/"><div class="count">28</div><div>标签</div></a><a class="route-link vp-blog-count" href="/timeline/"><div class="count">13</div><div>时间轴</div></a></div><div class="vp-social-medias"><a class="vp-social-media" href="mailto:HalfSweet@HalfSweet.cn" rel="noopener noreferrer" target="_blank" aria-label="Email" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon email-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#1384FF"/><path fill="#fff" d="M270.077 286.233H751.99c32.933 0 59.86 24.855 60.274 55.51l-301.023 157L210.217 341.88c.207-30.723 26.927-55.717 59.86-55.717zm-59.929 115.714-.276 277.756c0 30.931 27.134 56.2 60.205 56.2H751.99c33.14 0 60.274-25.269 60.274-56.2V401.81L518.283 551.492a15.88 15.88 0 0 1-14.43 0L210.148 401.947z"/></svg></a><a class="vp-social-media" href="https://github.com/HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="GitHub" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#171515"/><path fill="#fff" d="M509.423 146.442c-200.317 0-362.756 162.42-362.756 362.8 0 160.266 103.936 296.24 248.109 344.217 18.139 3.327 24.76-7.872 24.76-17.486 0-8.613-.313-31.427-.49-61.702-100.912 21.923-122.205-48.63-122.205-48.63-16.495-41.91-40.28-53.067-40.28-53.067-32.937-22.51 2.492-22.053 2.492-22.053 36.407 2.566 55.568 37.386 55.568 37.386 32.362 55.438 84.907 39.43 105.58 30.143 3.296-23.444 12.667-39.43 23.032-48.498-80.557-9.156-165.246-40.28-165.246-179.297 0-39.604 14.135-71.988 37.342-97.348-3.731-9.178-16.18-46.063 3.556-96.009 0 0 30.46-9.754 99.76 37.19 28.937-8.048 59.97-12.071 90.823-12.211 30.807.14 61.843 4.165 90.822 12.21 69.26-46.944 99.663-37.189 99.663-37.189 19.792 49.946 7.34 86.831 3.61 96.01 23.25 25.359 37.29 57.742 37.29 97.347 0 139.366-84.82 170.033-165.637 179.013 13.026 11.2 24.628 33.342 24.628 67.182 0 48.498-.445 87.627-.445 99.521 0 9.702 6.535 20.988 24.945 17.444 144.03-48.067 247.881-183.95 247.881-344.175 0-200.378-162.442-362.798-362.802-362.798z"/></svg></a><a class="vp-social-media" href="https://twitter.com/_HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="Twitter" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon twitter-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512"/><path fill="#FFF" d="m560 473 186-216h-44L540 445 411 257H262l195 284-195 226h44l171-198 136 198h149zM322 290h68l312 445h-68z"/></svg></a></div></div><div class="vp-blog-infos"><div class="vp-blog-type-switcher"><button type="button" class="vp-blog-type-button"><div class="icon-wrapper active" aria-label="文章" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="分类" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="标签" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="时间轴" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timeline-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timeline icon"><path d="M511.997 70.568c-243.797 0-441.429 197.633-441.429 441.435 0 243.797 197.632 441.429 441.43 441.429S953.431 755.8 953.431 512.002c0-243.796-197.637-441.434-441.435-441.434zm150.158 609.093-15.605 15.61c-8.621 8.615-22.596 8.615-31.215 0L472.197 552.126c-4.95-4.944-4.34-14.888-4.34-24.677V247.14c0-12.19 9.882-22.07 22.07-22.07h22.07c12.19 0 22.07 9.882 22.07 22.07v273.218l128.088 128.088c8.62 8.62 8.62 22.595 0 31.215zm0 0"></path></svg></div></button></div><div class="vp-star-article-wrapper"><div class="title"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg><span class="num">13</span>文章</div><hr><div class="vp-star-article-empty">星标 为空</div></div></div></aside></div></div><!--]--><footer class="vp-footer-wrapper"><div class="vp-footer">今天咕咕被欺负了吗</div><div class="vp-copyright">Copyright © 2024 HalfSweet </div></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div>
-    <script type="module" src="/assets/app-ClwIkahu.js" defer></script>
+    <script type="module" src="/assets/app-Flo2gZk8.js" defer></script>
   </body>
 </html>
diff --git a/assets/404.html-VMfaDGRx.js b/assets/404.html-mkIobPP0.js
similarity index 94%
rename from assets/404.html-VMfaDGRx.js
rename to assets/404.html-mkIobPP0.js
index a35ab63..5ebdecb 100644
--- a/assets/404.html-VMfaDGRx.js
+++ b/assets/404.html-mkIobPP0.js
@@ -1 +1 @@
-import{_ as t}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as e,c as o,a as n}from"./app-ClwIkahu.js";const a={},r=n("p",null,"404 Not Found",-1),c=[r];function p(s,l){return e(),o("div",null,c)}const d=t(a,[["render",p],["__file","404.html.vue"]]),h=JSON.parse(`{"path":"/404.html","title":"","lang":"zh-CN","frontmatter":{"layout":"NotFound","description":"404 Not Found","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/404.html"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:description","content":"404 Not Found"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"\\",\\"description\\":\\"404 Not Found\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0.01,"words":3},"filePathRelative":null,"excerpt":"<p>404 Not Found</p>\\n","autoDesc":true}`);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 as n}from"./app-Flo2gZk8.js";const a={},r=n("p",null,"404 Not Found",-1),c=[r];function p(s,l){return e(),o("div",null,c)}const d=t(a,[["render",p],["__file","404.html.vue"]]),h=JSON.parse(`{"path":"/404.html","title":"","lang":"zh-CN","frontmatter":{"layout":"NotFound","description":"404 Not Found","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/404.html"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:description","content":"404 Not Found"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"\\",\\"description\\":\\"404 Not Found\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0.01,"words":3},"filePathRelative":null,"excerpt":"<p>404 Not Found</p>\\n","autoDesc":true}`);export{d as comp,h as data};
diff --git a/assets/app-ClwIkahu.js b/assets/app-ClwIkahu.js
deleted file mode 100644
index 81af6a7..0000000
--- a/assets/app-ClwIkahu.js
+++ /dev/null
@@ -1,55 +0,0 @@
-function __vite__mapDeps(indexes) {
-  if (!__vite__mapDeps.viteFileDeps) {
-    __vite__mapDeps.viteFileDeps = ["assets/index.html-BjG6C5xb.js","assets/plugin-vue_export-helper-DlAUqK2U.js","assets/index.html-6gNmrYKw.js","assets/index.html-W8DPbcPd.js","assets/index.html-75fD8c0W.js","assets/index.html-CufQKtZU.js","assets/index.html-Bqe7scks.js","assets/index.html-B5-KeVPb.js","assets/index.html-C7FigsQF.js","assets/index.html-DtEE6E7f.js","assets/index.html-0oPRY09N.js","assets/index.html-DvNCX4dz.js","assets/index.html-XtQdJJI8.js","assets/index.html-CnJ0E6b5.js","assets/index.html-CFhDcrZp.js","assets/index.html-Bd1PkxNi.js","assets/index.html-DJ-_mZ9n.js","assets/index.html-jFzM8lrm.js","assets/404.html-VMfaDGRx.js","assets/index.html-BaR2aqhq.js","assets/index.html-DO2xY2T5.js","assets/index.html-BEwHBlkc.js","assets/index.html-DZIt3Q5g.js","assets/index.html-Dd9JrssL.js","assets/index.html-BjPOIJdK.js","assets/index.html-CmtlWOBH.js","assets/index.html-CR-9qG2Y.js","assets/index.html-CwWDCYUS.js","assets/index.html-CptFZpi0.js","assets/index.html-p6Y7Jm3n.js","assets/index.html-CIen8cvO.js","assets/index.html-BKUs44hv.js","assets/index.html-D0wSSTgQ.js","assets/index.html-DqsCIdcm.js","assets/index.html-kUwAIzkD.js","assets/index.html-BqgjNdmg.js","assets/index.html-DIaDLRqn.js","assets/index.html-DhcL23aG.js","assets/index.html-Bk9EBjUw.js","assets/index.html-C0X-QC5U.js","assets/index.html-ZwD6xCF4.js","assets/index.html-BdqadbH8.js","assets/index.html-D7Uf3Wbw.js","assets/index.html-CsuDpoYK.js","assets/index.html-Dc2bdBF2.js","assets/index.html-BzgkemtD.js","assets/index.html-7uHHiaZx.js","assets/index.html-TGoZudvZ.js","assets/index.html-DbCWijUV.js","assets/index.html-DOCRL60a.js","assets/index.html-B8qYb7wb.js","assets/index.html-CpBdG6tv.js","assets/index.html-DdE0h7xo.js","assets/index.html-BlsdgZAc.js","assets/index.html-Du74cC6X.js","assets/index.html-CTp2Oa39.js","assets/index.html-Bz73p56D.js","assets/index.html-BktjQtFB.js","assets/index.html-DPl--Ppt.js","assets/dash.all.min-BF52VcER.js","assets/commonjsHelpers-Cpj98o6Y.js","assets/mpegts-CC885RK9.js","assets/hls.min-CgYxLcm_.js","assets/artplayer-CHAGXahu.js","assets/vidstack-player-BOVnG7as.js","assets/vidstack-6noeGFNR-CV2ORO4j.js","assets/vidstack-player-layouts-CbA2In8H.js","assets/vidstack-CbhL8rpf-C0Lj70YY.js","assets/vidstack-player-ui-Do1ld-lW.js"]
-  }
-  return indexes.map((i) => __vite__mapDeps.viteFileDeps[i])
-}
-/**
-* @vue/shared v3.4.21
-* (c) 2018-present Yuxi (Evan) You and Vue contributors
-* @license MIT
-**/function ml(e,t){const n=new Set(e.split(","));return t?r=>n.has(r.toLowerCase()):r=>n.has(r)}const Ce={},mn=[],et=()=>{},Zu=()=>!1,ir=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),vl=e=>e.startsWith("onUpdate:"),Ie=Object.assign,gl=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},ef=Object.prototype.hasOwnProperty,ie=(e,t)=>ef.call(e,t),te=Array.isArray,zn=e=>so(e)==="[object Map]",tf=e=>so(e)==="[object Set]",ne=e=>typeof e=="function",He=e=>typeof e=="string",lo=e=>typeof e=="symbol",Te=e=>e!==null&&typeof e=="object",Ya=e=>(Te(e)||ne(e))&&ne(e.then)&&ne(e.catch),nf=Object.prototype.toString,so=e=>nf.call(e),rf=e=>so(e).slice(8,-1),of=e=>so(e)==="[object Object]",yl=e=>He(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,vn=ml(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),ao=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},lf=/-(\w)/g,qe=ao(e=>e.replace(lf,(t,n)=>n?n.toUpperCase():"")),sf=/\B([A-Z])/g,xn=ao(e=>e.replace(sf,"-$1").toLowerCase()),cr=ao(e=>e.charAt(0).toUpperCase()+e.slice(1)),Co=ao(e=>e?`on${cr(e)}`:""),Bt=(e,t)=>!Object.is(e,t),ko=(e,t)=>{for(let n=0;n<e.length;n++)e[n](t)},Kr=(e,t,n)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},af=e=>{const t=parseFloat(e);return isNaN(t)?e:t},cf=e=>{const t=He(e)?Number(e):NaN;return isNaN(t)?e:t};let _s;const Ja=()=>_s||(_s=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function bl(e){if(te(e)){const t={};for(let n=0;n<e.length;n++){const r=e[n],o=He(r)?pf(r):bl(r);if(o)for(const l in o)t[l]=o[l]}return t}else if(He(e)||Te(e))return e}const uf=/;(?![^(]*\))/g,ff=/:([^]+)/,df=/\/\*[^]*?\*\//g;function pf(e){const t={};return e.replace(df,"").split(uf).forEach(n=>{if(n){const r=n.split(ff);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function _l(e){let t="";if(He(e))t=e;else if(te(e))for(let n=0;n<e.length;n++){const r=_l(e[n]);r&&(t+=r+" ")}else if(Te(e))for(const n in e)e[n]&&(t+=n+" ");return t.trim()}const hf="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",mf=ml(hf);function Xa(e){return!!e||e===""}/**
-* @vue/reactivity v3.4.21
-* (c) 2018-present Yuxi (Evan) You and Vue contributors
-* @license MIT
-**/let Ye;class vf{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=Ye,!t&&Ye&&(this.index=(Ye.scopes||(Ye.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=Ye;try{return Ye=this,t()}finally{Ye=n}}}on(){Ye=this}off(){Ye=this.parent}stop(t){if(this._active){let n,r;for(n=0,r=this.effects.length;n<r;n++)this.effects[n].stop();for(n=0,r=this.cleanups.length;n<r;n++)this.cleanups[n]();if(this.scopes)for(n=0,r=this.scopes.length;n<r;n++)this.scopes[n].stop(!0);if(!this.detached&&this.parent&&!t){const o=this.parent.scopes.pop();o&&o!==this&&(this.parent.scopes[this.index]=o,o.index=this.index)}this.parent=void 0,this._active=!1}}}function gf(e,t=Ye){t&&t.active&&t.effects.push(e)}function Qa(){return Ye}function yf(e){Ye&&Ye.cleanups.push(e)}let Zt;class wl{constructor(t,n,r,o){this.fn=t,this.trigger=n,this.scheduler=r,this.active=!0,this.deps=[],this._dirtyLevel=4,this._trackId=0,this._runnings=0,this._shouldSchedule=!1,this._depsLength=0,gf(this,o)}get dirty(){if(this._dirtyLevel===2||this._dirtyLevel===3){this._dirtyLevel=1,nn();for(let t=0;t<this._depsLength;t++){const n=this.deps[t];if(n.computed&&(bf(n.computed),this._dirtyLevel>=4))break}this._dirtyLevel===1&&(this._dirtyLevel=0),rn()}return this._dirtyLevel>=4}set dirty(t){this._dirtyLevel=t?4:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let t=Dt,n=Zt;try{return Dt=!0,Zt=this,this._runnings++,ws(this),this.fn()}finally{Es(this),this._runnings--,Zt=n,Dt=t}}stop(){var t;this.active&&(ws(this),Es(this),(t=this.onStop)==null||t.call(this),this.active=!1)}}function bf(e){return e.value}function ws(e){e._trackId++,e._depsLength=0}function Es(e){if(e.deps.length>e._depsLength){for(let t=e._depsLength;t<e.deps.length;t++)Za(e.deps[t],e);e.deps.length=e._depsLength}}function Za(e,t){const n=e.get(t);n!==void 0&&t._trackId!==n&&(e.delete(t),e.size===0&&e.cleanup())}let Dt=!0,qo=0;const ei=[];function nn(){ei.push(Dt),Dt=!1}function rn(){const e=ei.pop();Dt=e===void 0?!0:e}function El(){qo++}function Sl(){for(qo--;!qo&&Wo.length;)Wo.shift()()}function ti(e,t,n){if(t.get(e)!==e._trackId){t.set(e,e._trackId);const r=e.deps[e._depsLength];r!==t?(r&&Za(r,e),e.deps[e._depsLength++]=t):e._depsLength++}}const Wo=[];function ni(e,t,n){El();for(const r of e.keys()){let o;r._dirtyLevel<t&&(o??(o=e.get(r)===r._trackId))&&(r._shouldSchedule||(r._shouldSchedule=r._dirtyLevel===0),r._dirtyLevel=t),r._shouldSchedule&&(o??(o=e.get(r)===r._trackId))&&(r.trigger(),(!r._runnings||r.allowRecurse)&&r._dirtyLevel!==2&&(r._shouldSchedule=!1,r.scheduler&&Wo.push(r.scheduler)))}Sl()}const ri=(e,t)=>{const n=new Map;return n.cleanup=e,n.computed=t,n},Yr=new WeakMap,en=Symbol(""),Ko=Symbol("");function We(e,t,n){if(Dt&&Zt){let r=Yr.get(e);r||Yr.set(e,r=new Map);let o=r.get(n);o||r.set(n,o=ri(()=>r.delete(n))),ti(Zt,o)}}function St(e,t,n,r,o,l){const s=Yr.get(e);if(!s)return;let i=[];if(t==="clear")i=[...s.values()];else if(n==="length"&&te(e)){const c=Number(r);s.forEach((u,f)=>{(f==="length"||!lo(f)&&f>=c)&&i.push(u)})}else switch(n!==void 0&&i.push(s.get(n)),t){case"add":te(e)?yl(n)&&i.push(s.get("length")):(i.push(s.get(en)),zn(e)&&i.push(s.get(Ko)));break;case"delete":te(e)||(i.push(s.get(en)),zn(e)&&i.push(s.get(Ko)));break;case"set":zn(e)&&i.push(s.get(en));break}El();for(const c of i)c&&ni(c,4);Sl()}function _f(e,t){var n;return(n=Yr.get(e))==null?void 0:n.get(t)}const wf=ml("__proto__,__v_isRef,__isVue"),oi=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(lo)),Ss=Ef();function Ef(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const r=se(this);for(let l=0,s=this.length;l<s;l++)We(r,"get",l+"");const o=r[t](...n);return o===-1||o===!1?r[t](...n.map(se)):o}}),["push","pop","shift","unshift","splice"].forEach(t=>{e[t]=function(...n){nn(),El();const r=se(this)[t].apply(this,n);return Sl(),rn(),r}}),e}function Sf(e){const t=se(this);return We(t,"has",e),t.hasOwnProperty(e)}class li{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,r){const o=this._isReadonly,l=this._isShallow;if(n==="__v_isReactive")return!o;if(n==="__v_isReadonly")return o;if(n==="__v_isShallow")return l;if(n==="__v_raw")return r===(o?l?Hf:ci:l?ii:ai).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;const s=te(t);if(!o){if(s&&ie(Ss,n))return Reflect.get(Ss,n,r);if(n==="hasOwnProperty")return Sf}const i=Reflect.get(t,n,r);return(lo(n)?oi.has(n):wf(n))||(o||We(t,"get",n),l)?i:Re(i)?s&&yl(n)?i:i.value:Te(i)?o?on(i):ur(i):i}}class si extends li{constructor(t=!1){super(!1,t)}set(t,n,r,o){let l=t[n];if(!this._isShallow){const c=wn(l);if(!Jr(r)&&!wn(r)&&(l=se(l),r=se(r)),!te(t)&&Re(l)&&!Re(r))return c?!1:(l.value=r,!0)}const s=te(t)&&yl(n)?Number(n)<t.length:ie(t,n),i=Reflect.set(t,n,r,o);return t===se(o)&&(s?Bt(r,l)&&St(t,"set",n,r):St(t,"add",n,r)),i}deleteProperty(t,n){const r=ie(t,n);t[n];const o=Reflect.deleteProperty(t,n);return o&&r&&St(t,"delete",n,void 0),o}has(t,n){const r=Reflect.has(t,n);return(!lo(n)||!oi.has(n))&&We(t,"has",n),r}ownKeys(t){return We(t,"iterate",te(t)?"length":en),Reflect.ownKeys(t)}}class Cf extends li{constructor(t=!1){super(!0,t)}set(t,n){return!0}deleteProperty(t,n){return!0}}const kf=new si,Tf=new Cf,Af=new si(!0),Cl=e=>e,io=e=>Reflect.getPrototypeOf(e);function Lr(e,t,n=!1,r=!1){e=e.__v_raw;const o=se(e),l=se(t);n||(Bt(t,l)&&We(o,"get",t),We(o,"get",l));const{has:s}=io(o),i=r?Cl:n?Al:Jn;if(s.call(o,t))return i(e.get(t));if(s.call(o,l))return i(e.get(l));e!==o&&e.get(t)}function Ir(e,t=!1){const n=this.__v_raw,r=se(n),o=se(e);return t||(Bt(e,o)&&We(r,"has",e),We(r,"has",o)),e===o?n.has(e):n.has(e)||n.has(o)}function Pr(e,t=!1){return e=e.__v_raw,!t&&We(se(e),"iterate",en),Reflect.get(e,"size",e)}function Cs(e){e=se(e);const t=se(this);return io(t).has.call(t,e)||(t.add(e),St(t,"add",e,e)),this}function ks(e,t){t=se(t);const n=se(this),{has:r,get:o}=io(n);let l=r.call(n,e);l||(e=se(e),l=r.call(n,e));const s=o.call(n,e);return n.set(e,t),l?Bt(t,s)&&St(n,"set",e,t):St(n,"add",e,t),this}function Ts(e){const t=se(this),{has:n,get:r}=io(t);let o=n.call(t,e);o||(e=se(e),o=n.call(t,e)),r&&r.call(t,e);const l=t.delete(e);return o&&St(t,"delete",e,void 0),l}function As(){const e=se(this),t=e.size!==0,n=e.clear();return t&&St(e,"clear",void 0,void 0),n}function Rr(e,t){return function(r,o){const l=this,s=l.__v_raw,i=se(s),c=t?Cl:e?Al:Jn;return!e&&We(i,"iterate",en),s.forEach((u,f)=>r.call(o,c(u),c(f),l))}}function Mr(e,t,n){return function(...r){const o=this.__v_raw,l=se(o),s=zn(l),i=e==="entries"||e===Symbol.iterator&&s,c=e==="keys"&&s,u=o[e](...r),f=n?Cl:t?Al:Jn;return!t&&We(l,"iterate",c?Ko:en),{next(){const{value:d,done:p}=u.next();return p?{value:d,done:p}:{value:i?[f(d[0]),f(d[1])]:f(d),done:p}},[Symbol.iterator](){return this}}}}function xt(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function xf(){const e={get(l){return Lr(this,l)},get size(){return Pr(this)},has:Ir,add:Cs,set:ks,delete:Ts,clear:As,forEach:Rr(!1,!1)},t={get(l){return Lr(this,l,!1,!0)},get size(){return Pr(this)},has:Ir,add:Cs,set:ks,delete:Ts,clear:As,forEach:Rr(!1,!0)},n={get(l){return Lr(this,l,!0)},get size(){return Pr(this,!0)},has(l){return Ir.call(this,l,!0)},add:xt("add"),set:xt("set"),delete:xt("delete"),clear:xt("clear"),forEach:Rr(!0,!1)},r={get(l){return Lr(this,l,!0,!0)},get size(){return Pr(this,!0)},has(l){return Ir.call(this,l,!0)},add:xt("add"),set:xt("set"),delete:xt("delete"),clear:xt("clear"),forEach:Rr(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(l=>{e[l]=Mr(l,!1,!1),n[l]=Mr(l,!0,!1),t[l]=Mr(l,!1,!0),r[l]=Mr(l,!0,!0)}),[e,n,t,r]}const[Lf,If,Pf,Rf]=xf();function kl(e,t){const n=t?e?Rf:Pf:e?If:Lf;return(r,o,l)=>o==="__v_isReactive"?!e:o==="__v_isReadonly"?e:o==="__v_raw"?r:Reflect.get(ie(n,o)&&o in r?n:r,o,l)}const Mf={get:kl(!1,!1)},Of={get:kl(!1,!0)},$f={get:kl(!0,!1)},ai=new WeakMap,ii=new WeakMap,ci=new WeakMap,Hf=new WeakMap;function Df(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Nf(e){return e.__v_skip||!Object.isExtensible(e)?0:Df(rf(e))}function ur(e){return wn(e)?e:Tl(e,!1,kf,Mf,ai)}function ui(e){return Tl(e,!1,Af,Of,ii)}function on(e){return Tl(e,!0,Tf,$f,ci)}function Tl(e,t,n,r,o){if(!Te(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const l=o.get(e);if(l)return l;const s=Nf(e);if(s===0)return e;const i=new Proxy(e,s===2?r:n);return o.set(e,i),i}function gn(e){return wn(e)?gn(e.__v_raw):!!(e&&e.__v_isReactive)}function wn(e){return!!(e&&e.__v_isReadonly)}function Jr(e){return!!(e&&e.__v_isShallow)}function fi(e){return gn(e)||wn(e)}function se(e){const t=e&&e.__v_raw;return t?se(t):e}function di(e){return Object.isExtensible(e)&&Kr(e,"__v_skip",!0),e}const Jn=e=>Te(e)?ur(e):e,Al=e=>Te(e)?on(e):e;class pi{constructor(t,n,r,o){this.getter=t,this._setter=n,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new wl(()=>t(this._value),()=>Vn(this,this.effect._dirtyLevel===2?2:3)),this.effect.computed=this,this.effect.active=this._cacheable=!o,this.__v_isReadonly=r}get value(){const t=se(this);return(!t._cacheable||t.effect.dirty)&&Bt(t._value,t._value=t.effect.run())&&Vn(t,4),xl(t),t.effect._dirtyLevel>=2&&Vn(t,2),t._value}set value(t){this._setter(t)}get _dirty(){return this.effect.dirty}set _dirty(t){this.effect.dirty=t}}function Bf(e,t,n=!1){let r,o;const l=ne(e);return l?(r=e,o=et):(r=e.get,o=e.set),new pi(r,o,l||!o,n)}function xl(e){var t;Dt&&Zt&&(e=se(e),ti(Zt,(t=e.dep)!=null?t:e.dep=ri(()=>e.dep=void 0,e instanceof pi?e:void 0)))}function Vn(e,t=4,n){e=se(e);const r=e.dep;r&&ni(r,t)}function Re(e){return!!(e&&e.__v_isRef===!0)}function Q(e){return hi(e,!1)}function Fe(e){return hi(e,!0)}function hi(e,t){return Re(e)?e:new Ff(e,t)}class Ff{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:se(t),this._value=n?t:Jn(t)}get value(){return xl(this),this._value}set value(t){const n=this.__v_isShallow||Jr(t)||wn(t);t=n?t:se(t),Bt(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:Jn(t),Vn(this,4))}}function it(e){return Re(e)?e.value:e}const zf={get:(e,t,n)=>it(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const o=e[t];return Re(o)&&!Re(n)?(o.value=n,!0):Reflect.set(e,t,n,r)}};function mi(e){return gn(e)?e:new Proxy(e,zf)}class Vf{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:n,set:r}=t(()=>xl(this),()=>Vn(this));this._get=n,this._set=r}get value(){return this._get()}set value(t){this._set(t)}}function Ll(e){return new Vf(e)}class jf{constructor(t,n,r){this._object=t,this._key=n,this._defaultValue=r,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return _f(se(this._object),this._key)}}class Gf{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function Ln(e,t,n){return Re(e)?e:ne(e)?new Gf(e):Te(e)&&arguments.length>1?Uf(e,t,n):Q(e)}function Uf(e,t,n){const r=e[t];return Re(r)?r:new jf(e,t,n)}/**
-* @vue/runtime-core v3.4.21
-* (c) 2018-present Yuxi (Evan) You and Vue contributors
-* @license MIT
-**/function Nt(e,t,n,r){try{return r?e(...r):e()}catch(o){fr(o,t,n)}}function nt(e,t,n,r){if(ne(e)){const l=Nt(e,t,n,r);return l&&Ya(l)&&l.catch(s=>{fr(s,t,n)}),l}const o=[];for(let l=0;l<e.length;l++)o.push(nt(e[l],t,n,r));return o}function fr(e,t,n,r=!0){const o=t?t.vnode:null;if(t){let l=t.parent;const s=t.proxy,i=`https://vuejs.org/error-reference/#runtime-${n}`;for(;l;){const u=l.ec;if(u){for(let f=0;f<u.length;f++)if(u[f](e,s,i)===!1)return}l=l.parent}const c=t.appContext.config.errorHandler;if(c){Nt(c,null,10,[e,s,i]);return}}qf(e,n,o,r)}function qf(e,t,n,r=!0){console.error(e)}let Xn=!1,Yo=!1;const Ne=[];let mt=0;const yn=[];let Rt=null,Jt=0;const vi=Promise.resolve();let Il=null;function ln(e){const t=Il||vi;return e?t.then(this?e.bind(this):e):t}function Wf(e){let t=mt+1,n=Ne.length;for(;t<n;){const r=t+n>>>1,o=Ne[r],l=Qn(o);l<e||l===e&&o.pre?t=r+1:n=r}return t}function co(e){(!Ne.length||!Ne.includes(e,Xn&&e.allowRecurse?mt+1:mt))&&(e.id==null?Ne.push(e):Ne.splice(Wf(e.id),0,e),gi())}function gi(){!Xn&&!Yo&&(Yo=!0,Il=vi.then(yi))}function Kf(e){const t=Ne.indexOf(e);t>mt&&Ne.splice(t,1)}function Yf(e){te(e)?yn.push(...e):(!Rt||!Rt.includes(e,e.allowRecurse?Jt+1:Jt))&&yn.push(e),gi()}function xs(e,t,n=Xn?mt+1:0){for(;n<Ne.length;n++){const r=Ne[n];if(r&&r.pre){if(e&&r.id!==e.uid)continue;Ne.splice(n,1),n--,r()}}}function Xr(e){if(yn.length){const t=[...new Set(yn)].sort((n,r)=>Qn(n)-Qn(r));if(yn.length=0,Rt){Rt.push(...t);return}for(Rt=t,Jt=0;Jt<Rt.length;Jt++)Rt[Jt]();Rt=null,Jt=0}}const Qn=e=>e.id==null?1/0:e.id,Jf=(e,t)=>{const n=Qn(e)-Qn(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function yi(e){Yo=!1,Xn=!0,Ne.sort(Jf);try{for(mt=0;mt<Ne.length;mt++){const t=Ne[mt];t&&t.active!==!1&&Nt(t,null,14)}}finally{mt=0,Ne.length=0,Xr(),Xn=!1,Il=null,(Ne.length||yn.length)&&yi()}}function Xf(e,t,...n){if(e.isUnmounted)return;const r=e.vnode.props||Ce;let o=n;const l=t.startsWith("update:"),s=l&&t.slice(7);if(s&&s in r){const f=`${s==="modelValue"?"model":s}Modifiers`,{number:d,trim:p}=r[f]||Ce;p&&(o=n.map(m=>He(m)?m.trim():m)),d&&(o=n.map(af))}let i,c=r[i=Co(t)]||r[i=Co(qe(t))];!c&&l&&(c=r[i=Co(xn(t))]),c&&nt(c,e,6,o);const u=r[i+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[i])return;e.emitted[i]=!0,nt(u,e,6,o)}}function bi(e,t,n=!1){const r=t.emitsCache,o=r.get(e);if(o!==void 0)return o;const l=e.emits;let s={},i=!1;if(!ne(e)){const c=u=>{const f=bi(u,t,!0);f&&(i=!0,Ie(s,f))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!l&&!i?(Te(e)&&r.set(e,null),null):(te(l)?l.forEach(c=>s[c]=null):Ie(s,l),Te(e)&&r.set(e,s),s)}function uo(e,t){return!e||!ir(t)?!1:(t=t.slice(2).replace(/Once$/,""),ie(e,t[0].toLowerCase()+t.slice(1))||ie(e,xn(t))||ie(e,t))}let tt=null,_i=null;function Qr(e){const t=tt;return tt=e,_i=e&&e.type.__scopeId||null,t}function Qf(e,t=tt,n){if(!t||e._n)return e;const r=(...o)=>{r._d&&Fs(-1);const l=Qr(t);let s;try{s=e(...o)}finally{Qr(l),r._d&&Fs(1)}return s};return r._n=!0,r._c=!0,r._d=!0,r}function To(e){const{type:t,vnode:n,proxy:r,withProxy:o,props:l,propsOptions:[s],slots:i,attrs:c,emit:u,render:f,renderCache:d,data:p,setupState:m,ctx:g,inheritAttrs:_}=e;let E,y;const C=Qr(e);try{if(n.shapeFlag&4){const T=o||r,D=T;E=at(f.call(D,T,d,l,m,p,g)),y=c}else{const T=t;E=at(T.length>1?T(l,{attrs:c,slots:i,emit:u}):T(l,null)),y=t.props?c:Zf(c)}}catch(T){Wn.length=0,fr(T,e,1),E=Pe(vt)}let b=E;if(y&&_!==!1){const T=Object.keys(y),{shapeFlag:D}=b;T.length&&D&7&&(s&&T.some(vl)&&(y=ed(y,s)),b=Ft(b,y))}return n.dirs&&(b=Ft(b),b.dirs=b.dirs?b.dirs.concat(n.dirs):n.dirs),n.transition&&(b.transition=n.transition),E=b,Qr(C),E}const Zf=e=>{let t;for(const n in e)(n==="class"||n==="style"||ir(n))&&((t||(t={}))[n]=e[n]);return t},ed=(e,t)=>{const n={};for(const r in e)(!vl(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function td(e,t,n){const{props:r,children:o,component:l}=e,{props:s,children:i,patchFlag:c}=t,u=l.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return r?Ls(r,s,u):!!s;if(c&8){const f=t.dynamicProps;for(let d=0;d<f.length;d++){const p=f[d];if(s[p]!==r[p]&&!uo(u,p))return!0}}}else return(o||i)&&(!i||!i.$stable)?!0:r===s?!1:r?s?Ls(r,s,u):!0:!!s;return!1}function Ls(e,t,n){const r=Object.keys(t);if(r.length!==Object.keys(e).length)return!0;for(let o=0;o<r.length;o++){const l=r[o];if(t[l]!==e[l]&&!uo(n,l))return!0}return!1}function nd({vnode:e,parent:t},n){for(;t;){const r=t.subTree;if(r.suspense&&r.suspense.activeBranch===e&&(r.el=e.el),r===e)(e=t.vnode).el=n,t=t.parent;else break}}const wi="components";function Xe(e,t){return od(wi,e,!0,t)||e}const rd=Symbol.for("v-ndc");function od(e,t,n=!0,r=!1){const o=tt||$e;if(o){const l=o.type;if(e===wi){const i=Zd(l,!1);if(i&&(i===t||i===qe(t)||i===cr(qe(t))))return l}const s=Is(o[e]||l[e],t)||Is(o.appContext[e],t);return!s&&r?l:s}}function Is(e,t){return e&&(e[t]||e[qe(t)]||e[cr(qe(t))])}const ld=e=>e.__isSuspense;function Ei(e,t){t&&t.pendingBranch?te(e)?t.effects.push(...e):t.effects.push(e):Yf(e)}const sd=Symbol.for("v-scx"),ad=()=>we(sd);function Si(e,t){return Pl(e,null,t)}const Or={};function fe(e,t,n){return Pl(e,t,n)}function Pl(e,t,{immediate:n,deep:r,flush:o,once:l,onTrack:s,onTrigger:i}=Ce){if(t&&l){const k=t;t=(...G)=>{k(...G),D()}}const c=$e,u=k=>r===!0?k:hn(k,r===!1?1:void 0);let f,d=!1,p=!1;if(Re(e)?(f=()=>e.value,d=Jr(e)):gn(e)?(f=()=>u(e),d=!0):te(e)?(p=!0,d=e.some(k=>gn(k)||Jr(k)),f=()=>e.map(k=>{if(Re(k))return k.value;if(gn(k))return u(k);if(ne(k))return Nt(k,c,2)})):ne(e)?t?f=()=>Nt(e,c,2):f=()=>(m&&m(),nt(e,c,3,[g])):f=et,t&&r){const k=f;f=()=>hn(k())}let m,g=k=>{m=b.onStop=()=>{Nt(k,c,4),m=b.onStop=void 0}},_;if(mr)if(g=et,t?n&&nt(t,c,3,[f(),p?[]:void 0,g]):f(),o==="sync"){const k=ad();_=k.__watcherHandles||(k.__watcherHandles=[])}else return et;let E=p?new Array(e.length).fill(Or):Or;const y=()=>{if(!(!b.active||!b.dirty))if(t){const k=b.run();(r||d||(p?k.some((G,N)=>Bt(G,E[N])):Bt(k,E)))&&(m&&m(),nt(t,c,3,[k,E===Or?void 0:p&&E[0]===Or?[]:E,g]),E=k)}else b.run()};y.allowRecurse=!!t;let C;o==="sync"?C=y:o==="post"?C=()=>je(y,c&&c.suspense):(y.pre=!0,c&&(y.id=c.uid),C=()=>co(y));const b=new wl(f,et,C),T=Qa(),D=()=>{b.stop(),T&&gl(T.effects,b)};return t?n?y():E=b.run():o==="post"?je(b.run.bind(b),c&&c.suspense):b.run(),_&&_.push(D),D}function id(e,t,n){const r=this.proxy,o=He(e)?e.includes(".")?Ci(r,e):()=>r[e]:e.bind(r,r);let l;ne(t)?l=t:(l=t.handler,n=t);const s=hr(this),i=Pl(o,l.bind(r),n);return s(),i}function Ci(e,t){const n=t.split(".");return()=>{let r=e;for(let o=0;o<n.length&&r;o++)r=r[n[o]];return r}}function hn(e,t,n=0,r){if(!Te(e)||e.__v_skip)return e;if(t&&t>0){if(n>=t)return e;n++}if(r=r||new Set,r.has(e))return e;if(r.add(e),Re(e))hn(e.value,t,n,r);else if(te(e))for(let o=0;o<e.length;o++)hn(e[o],t,n,r);else if(tf(e)||zn(e))e.forEach(o=>{hn(o,t,n,r)});else if(of(e))for(const o in e)hn(e[o],t,n,r);return e}function ht(e,t,n,r){const o=e.dirs,l=t&&t.dirs;for(let s=0;s<o.length;s++){const i=o[s];l&&(i.oldValue=l[s].value);let c=i.dir[r];c&&(nn(),nt(c,n,8,[e.el,i,e,t]),rn())}}const Mt=Symbol("_leaveCb"),$r=Symbol("_enterCb");function ki(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return me(()=>{e.isMounted=!0}),Ii(()=>{e.isUnmounting=!0}),e}const Qe=[Function,Array],Ti={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Qe,onEnter:Qe,onAfterEnter:Qe,onEnterCancelled:Qe,onBeforeLeave:Qe,onLeave:Qe,onAfterLeave:Qe,onLeaveCancelled:Qe,onBeforeAppear:Qe,onAppear:Qe,onAfterAppear:Qe,onAppearCancelled:Qe},cd={name:"BaseTransition",props:Ti,setup(e,{slots:t}){const n=pr(),r=ki();return()=>{const o=t.default&&Rl(t.default(),!0);if(!o||!o.length)return;let l=o[0];if(o.length>1){for(const p of o)if(p.type!==vt){l=p;break}}const s=se(e),{mode:i}=s;if(r.isLeaving)return Ao(l);const c=Ps(l);if(!c)return Ao(l);const u=Zn(c,s,r,n);er(c,u);const f=n.subTree,d=f&&Ps(f);if(d&&d.type!==vt&&!Xt(c,d)){const p=Zn(d,s,r,n);if(er(d,p),i==="out-in")return r.isLeaving=!0,p.afterLeave=()=>{r.isLeaving=!1,n.update.active!==!1&&(n.effect.dirty=!0,n.update())},Ao(l);i==="in-out"&&c.type!==vt&&(p.delayLeave=(m,g,_)=>{const E=Ai(r,d);E[String(d.key)]=d,m[Mt]=()=>{g(),m[Mt]=void 0,delete u.delayedLeave},u.delayedLeave=_})}return l}}},ud=cd;function Ai(e,t){const{leavingVNodes:n}=e;let r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function Zn(e,t,n,r){const{appear:o,mode:l,persisted:s=!1,onBeforeEnter:i,onEnter:c,onAfterEnter:u,onEnterCancelled:f,onBeforeLeave:d,onLeave:p,onAfterLeave:m,onLeaveCancelled:g,onBeforeAppear:_,onAppear:E,onAfterAppear:y,onAppearCancelled:C}=t,b=String(e.key),T=Ai(n,e),D=(N,Y)=>{N&&nt(N,r,9,Y)},k=(N,Y)=>{const P=Y[1];D(N,Y),te(N)?N.every(J=>J.length<=1)&&P():N.length<=1&&P()},G={mode:l,persisted:s,beforeEnter(N){let Y=i;if(!n.isMounted)if(o)Y=_||i;else return;N[Mt]&&N[Mt](!0);const P=T[b];P&&Xt(e,P)&&P.el[Mt]&&P.el[Mt](),D(Y,[N])},enter(N){let Y=c,P=u,J=f;if(!n.isMounted)if(o)Y=E||c,P=y||u,J=C||f;else return;let $=!1;const Z=N[$r]=Ae=>{$||($=!0,Ae?D(J,[N]):D(P,[N]),G.delayedLeave&&G.delayedLeave(),N[$r]=void 0)};Y?k(Y,[N,Z]):Z()},leave(N,Y){const P=String(e.key);if(N[$r]&&N[$r](!0),n.isUnmounting)return Y();D(d,[N]);let J=!1;const $=N[Mt]=Z=>{J||(J=!0,Y(),Z?D(g,[N]):D(m,[N]),N[Mt]=void 0,T[P]===e&&delete T[P])};T[P]=e,p?k(p,[N,$]):$()},clone(N){return Zn(N,t,n,r)}};return G}function Ao(e){if(dr(e))return e=Ft(e),e.children=null,e}function Ps(e){return dr(e)?e.children?e.children[0]:void 0:e}function er(e,t){e.shapeFlag&6&&e.component?er(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Rl(e,t=!1,n){let r=[],o=0;for(let l=0;l<e.length;l++){let s=e[l];const i=n==null?s.key:String(n)+String(s.key!=null?s.key:l);s.type===Je?(s.patchFlag&128&&o++,r=r.concat(Rl(s.children,t,i))):(t||s.type!==vt)&&r.push(i!=null?Ft(s,{key:i}):s)}if(o>1)for(let l=0;l<r.length;l++)r[l].patchFlag=-2;return r}/*! #__NO_SIDE_EFFECTS__ */function M(e,t){return ne(e)?Ie({name:e.name},t,{setup:e}):e}const jn=e=>!!e.type.__asyncLoader;/*! #__NO_SIDE_EFFECTS__ */function fd(e){ne(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:r,delay:o=200,timeout:l,suspensible:s=!0,onError:i}=e;let c=null,u,f=0;const d=()=>(f++,c=null,p()),p=()=>{let m;return c||(m=c=t().catch(g=>{if(g=g instanceof Error?g:new Error(String(g)),i)return new Promise((_,E)=>{i(g,()=>_(d()),()=>E(g),f+1)});throw g}).then(g=>m!==c&&c?c:(g&&(g.__esModule||g[Symbol.toStringTag]==="Module")&&(g=g.default),u=g,g)))};return M({name:"AsyncComponentWrapper",__asyncLoader:p,get __asyncResolved(){return u},setup(){const m=$e;if(u)return()=>xo(u,m);const g=C=>{c=null,fr(C,m,13,!r)};if(s&&m.suspense||mr)return p().then(C=>()=>xo(C,m)).catch(C=>(g(C),()=>r?Pe(r,{error:C}):null));const _=Q(!1),E=Q(),y=Q(!!o);return o&&setTimeout(()=>{y.value=!1},o),l!=null&&setTimeout(()=>{if(!_.value&&!E.value){const C=new Error(`Async component timed out after ${l}ms.`);g(C),E.value=C}},l),p().then(()=>{_.value=!0,m.parent&&dr(m.parent.vnode)&&(m.parent.effect.dirty=!0,co(m.parent.update))}).catch(C=>{g(C),E.value=C}),()=>{if(_.value&&u)return xo(u,m);if(E.value&&r)return Pe(r,{error:E.value});if(n&&!y.value)return Pe(n)}}})}function xo(e,t){const{ref:n,props:r,children:o,ce:l}=t.vnode,s=Pe(e,r,o);return s.ref=n,s.ce=l,delete t.vnode.ce,s}const dr=e=>e.type.__isKeepAlive;function dd(e,t){xi(e,"a",t)}function pd(e,t){xi(e,"da",t)}function xi(e,t,n=$e){const r=e.__wdc||(e.__wdc=()=>{let o=n;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(fo(t,r,n),n){let o=n.parent;for(;o&&o.parent;)dr(o.parent.vnode)&&hd(r,t,n,o),o=o.parent}}function hd(e,t,n,r){const o=fo(t,e,r,!0);In(()=>{gl(r[t],o)},n)}function fo(e,t,n=$e,r=!1){if(n){const o=n[e]||(n[e]=[]),l=t.__weh||(t.__weh=(...s)=>{if(n.isUnmounted)return;nn();const i=hr(n),c=nt(t,n,e,s);return i(),rn(),c});return r?o.unshift(l):o.push(l),l}}const Ct=e=>(t,n=$e)=>(!mr||e==="sp")&&fo(e,(...r)=>t(...r),n),md=Ct("bm"),me=Ct("m"),vd=Ct("bu"),Li=Ct("u"),Ii=Ct("bum"),In=Ct("um"),gd=Ct("sp"),yd=Ct("rtg"),bd=Ct("rtc");function _d(e,t=$e){fo("ec",e,t)}const Jo=e=>e?Gi(e)?Hl(e)||e.proxy:Jo(e.parent):null,Gn=Ie(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Jo(e.parent),$root:e=>Jo(e.root),$emit:e=>e.emit,$options:e=>Ml(e),$forceUpdate:e=>e.f||(e.f=()=>{e.effect.dirty=!0,co(e.update)}),$nextTick:e=>e.n||(e.n=ln.bind(e.proxy)),$watch:e=>id.bind(e)}),Lo=(e,t)=>e!==Ce&&!e.__isScriptSetup&&ie(e,t),wd={get({_:e},t){const{ctx:n,setupState:r,data:o,props:l,accessCache:s,type:i,appContext:c}=e;let u;if(t[0]!=="$"){const m=s[t];if(m!==void 0)switch(m){case 1:return r[t];case 2:return o[t];case 4:return n[t];case 3:return l[t]}else{if(Lo(r,t))return s[t]=1,r[t];if(o!==Ce&&ie(o,t))return s[t]=2,o[t];if((u=e.propsOptions[0])&&ie(u,t))return s[t]=3,l[t];if(n!==Ce&&ie(n,t))return s[t]=4,n[t];Xo&&(s[t]=0)}}const f=Gn[t];let d,p;if(f)return t==="$attrs"&&We(e,"get",t),f(e);if((d=i.__cssModules)&&(d=d[t]))return d;if(n!==Ce&&ie(n,t))return s[t]=4,n[t];if(p=c.config.globalProperties,ie(p,t))return p[t]},set({_:e},t,n){const{data:r,setupState:o,ctx:l}=e;return Lo(o,t)?(o[t]=n,!0):r!==Ce&&ie(r,t)?(r[t]=n,!0):ie(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(l[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:o,propsOptions:l}},s){let i;return!!n[s]||e!==Ce&&ie(e,s)||Lo(t,s)||(i=l[0])&&ie(i,s)||ie(r,s)||ie(Gn,s)||ie(o.config.globalProperties,s)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:ie(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Rs(e){return te(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Xo=!0;function Ed(e){const t=Ml(e),n=e.proxy,r=e.ctx;Xo=!1,t.beforeCreate&&Ms(t.beforeCreate,e,"bc");const{data:o,computed:l,methods:s,watch:i,provide:c,inject:u,created:f,beforeMount:d,mounted:p,beforeUpdate:m,updated:g,activated:_,deactivated:E,beforeDestroy:y,beforeUnmount:C,destroyed:b,unmounted:T,render:D,renderTracked:k,renderTriggered:G,errorCaptured:N,serverPrefetch:Y,expose:P,inheritAttrs:J,components:$,directives:Z,filters:Ae}=t;if(u&&Sd(u,r,null),s)for(const re in s){const q=s[re];ne(q)&&(r[re]=q.bind(n))}if(o){const re=o.call(n,n);Te(re)&&(e.data=ur(re))}if(Xo=!0,l)for(const re in l){const q=l[re],lt=ne(q)?q.bind(n,n):ne(q.get)?q.get.bind(n,n):et,At=!ne(q)&&ne(q.set)?q.set.bind(n):et,dt=w({get:lt,set:At});Object.defineProperty(r,re,{enumerable:!0,configurable:!0,get:()=>dt.value,set:Ve=>dt.value=Ve})}if(i)for(const re in i)Pi(i[re],r,n,re);if(c){const re=ne(c)?c.call(n):c;Reflect.ownKeys(re).forEach(q=>{ut(q,re[q])})}f&&Ms(f,e,"c");function W(re,q){te(q)?q.forEach(lt=>re(lt.bind(n))):q&&re(q.bind(n))}if(W(md,d),W(me,p),W(vd,m),W(Li,g),W(dd,_),W(pd,E),W(_d,N),W(bd,k),W(yd,G),W(Ii,C),W(In,T),W(gd,Y),te(P))if(P.length){const re=e.exposed||(e.exposed={});P.forEach(q=>{Object.defineProperty(re,q,{get:()=>n[q],set:lt=>n[q]=lt})})}else e.exposed||(e.exposed={});D&&e.render===et&&(e.render=D),J!=null&&(e.inheritAttrs=J),$&&(e.components=$),Z&&(e.directives=Z)}function Sd(e,t,n=et){te(e)&&(e=Qo(e));for(const r in e){const o=e[r];let l;Te(o)?"default"in o?l=we(o.from||r,o.default,!0):l=we(o.from||r):l=we(o),Re(l)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>l.value,set:s=>l.value=s}):t[r]=l}}function Ms(e,t,n){nt(te(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function Pi(e,t,n,r){const o=r.includes(".")?Ci(n,r):()=>n[r];if(He(e)){const l=t[e];ne(l)&&fe(o,l)}else if(ne(e))fe(o,e.bind(n));else if(Te(e))if(te(e))e.forEach(l=>Pi(l,t,n,r));else{const l=ne(e.handler)?e.handler.bind(n):t[e.handler];ne(l)&&fe(o,l,e)}}function Ml(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:o,optionsCache:l,config:{optionMergeStrategies:s}}=e.appContext,i=l.get(t);let c;return i?c=i:!o.length&&!n&&!r?c=t:(c={},o.length&&o.forEach(u=>Zr(c,u,s,!0)),Zr(c,t,s)),Te(t)&&l.set(t,c),c}function Zr(e,t,n,r=!1){const{mixins:o,extends:l}=t;l&&Zr(e,l,n,!0),o&&o.forEach(s=>Zr(e,s,n,!0));for(const s in t)if(!(r&&s==="expose")){const i=Cd[s]||n&&n[s];e[s]=i?i(e[s],t[s]):t[s]}return e}const Cd={data:Os,props:$s,emits:$s,methods:Bn,computed:Bn,beforeCreate:ze,created:ze,beforeMount:ze,mounted:ze,beforeUpdate:ze,updated:ze,beforeDestroy:ze,beforeUnmount:ze,destroyed:ze,unmounted:ze,activated:ze,deactivated:ze,errorCaptured:ze,serverPrefetch:ze,components:Bn,directives:Bn,watch:Td,provide:Os,inject:kd};function Os(e,t){return t?e?function(){return Ie(ne(e)?e.call(this,this):e,ne(t)?t.call(this,this):t)}:t:e}function kd(e,t){return Bn(Qo(e),Qo(t))}function Qo(e){if(te(e)){const t={};for(let n=0;n<e.length;n++)t[e[n]]=e[n];return t}return e}function ze(e,t){return e?[...new Set([].concat(e,t))]:t}function Bn(e,t){return e?Ie(Object.create(null),e,t):t}function $s(e,t){return e?te(e)&&te(t)?[...new Set([...e,...t])]:Ie(Object.create(null),Rs(e),Rs(t??{})):t}function Td(e,t){if(!e)return t;if(!t)return e;const n=Ie(Object.create(null),e);for(const r in t)n[r]=ze(e[r],t[r]);return n}function Ri(){return{app:null,config:{isNativeTag:Zu,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let Ad=0;function xd(e,t){return function(r,o=null){ne(r)||(r=Ie({},r)),o!=null&&!Te(o)&&(o=null);const l=Ri(),s=new WeakSet;let i=!1;const c=l.app={_uid:Ad++,_component:r,_props:o,_container:null,_context:l,_instance:null,version:tp,get config(){return l.config},set config(u){},use(u,...f){return s.has(u)||(u&&ne(u.install)?(s.add(u),u.install(c,...f)):ne(u)&&(s.add(u),u(c,...f))),c},mixin(u){return l.mixins.includes(u)||l.mixins.push(u),c},component(u,f){return f?(l.components[u]=f,c):l.components[u]},directive(u,f){return f?(l.directives[u]=f,c):l.directives[u]},mount(u,f,d){if(!i){const p=Pe(r,o);return p.appContext=l,d===!0?d="svg":d===!1&&(d=void 0),f&&t?t(p,u):e(p,u,d),i=!0,c._container=u,u.__vue_app__=c,Hl(p.component)||p.component.proxy}},unmount(){i&&(e(null,c._container),delete c._container.__vue_app__)},provide(u,f){return l.provides[u]=f,c},runWithContext(u){const f=Un;Un=c;try{return u()}finally{Un=f}}};return c}}let Un=null;function ut(e,t){if($e){let n=$e.provides;const r=$e.parent&&$e.parent.provides;r===n&&(n=$e.provides=Object.create(r)),n[e]=t}}function we(e,t,n=!1){const r=$e||tt;if(r||Un){const o=r?r.parent==null?r.vnode.appContext&&r.vnode.appContext.provides:r.parent.provides:Un._context.provides;if(o&&e in o)return o[e];if(arguments.length>1)return n&&ne(t)?t.call(r&&r.proxy):t}}function Ld(e,t,n,r=!1){const o={},l={};Kr(l,po,1),e.propsDefaults=Object.create(null),Mi(e,t,o,l);for(const s in e.propsOptions[0])s in o||(o[s]=void 0);n?e.props=r?o:ui(o):e.type.props?e.props=o:e.props=l,e.attrs=l}function Id(e,t,n,r){const{props:o,attrs:l,vnode:{patchFlag:s}}=e,i=se(o),[c]=e.propsOptions;let u=!1;if((r||s>0)&&!(s&16)){if(s&8){const f=e.vnode.dynamicProps;for(let d=0;d<f.length;d++){let p=f[d];if(uo(e.emitsOptions,p))continue;const m=t[p];if(c)if(ie(l,p))m!==l[p]&&(l[p]=m,u=!0);else{const g=qe(p);o[g]=Zo(c,i,g,m,e,!1)}else m!==l[p]&&(l[p]=m,u=!0)}}}else{Mi(e,t,o,l)&&(u=!0);let f;for(const d in i)(!t||!ie(t,d)&&((f=xn(d))===d||!ie(t,f)))&&(c?n&&(n[d]!==void 0||n[f]!==void 0)&&(o[d]=Zo(c,i,d,void 0,e,!0)):delete o[d]);if(l!==i)for(const d in l)(!t||!ie(t,d))&&(delete l[d],u=!0)}u&&St(e,"set","$attrs")}function Mi(e,t,n,r){const[o,l]=e.propsOptions;let s=!1,i;if(t)for(let c in t){if(vn(c))continue;const u=t[c];let f;o&&ie(o,f=qe(c))?!l||!l.includes(f)?n[f]=u:(i||(i={}))[f]=u:uo(e.emitsOptions,c)||(!(c in r)||u!==r[c])&&(r[c]=u,s=!0)}if(l){const c=se(n),u=i||Ce;for(let f=0;f<l.length;f++){const d=l[f];n[d]=Zo(o,c,d,u[d],e,!ie(u,d))}}return s}function Zo(e,t,n,r,o,l){const s=e[n];if(s!=null){const i=ie(s,"default");if(i&&r===void 0){const c=s.default;if(s.type!==Function&&!s.skipFactory&&ne(c)){const{propsDefaults:u}=o;if(n in u)r=u[n];else{const f=hr(o);r=u[n]=c.call(null,t),f()}}else r=c}s[0]&&(l&&!i?r=!1:s[1]&&(r===""||r===xn(n))&&(r=!0))}return r}function Oi(e,t,n=!1){const r=t.propsCache,o=r.get(e);if(o)return o;const l=e.props,s={},i=[];let c=!1;if(!ne(e)){const f=d=>{c=!0;const[p,m]=Oi(d,t,!0);Ie(s,p),m&&i.push(...m)};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}if(!l&&!c)return Te(e)&&r.set(e,mn),mn;if(te(l))for(let f=0;f<l.length;f++){const d=qe(l[f]);Hs(d)&&(s[d]=Ce)}else if(l)for(const f in l){const d=qe(f);if(Hs(d)){const p=l[f],m=s[d]=te(p)||ne(p)?{type:p}:Ie({},p);if(m){const g=Bs(Boolean,m.type),_=Bs(String,m.type);m[0]=g>-1,m[1]=_<0||g<_,(g>-1||ie(m,"default"))&&i.push(d)}}}const u=[s,i];return Te(e)&&r.set(e,u),u}function Hs(e){return e[0]!=="$"&&!vn(e)}function Ds(e){return e===null?"null":typeof e=="function"?e.name||"":typeof e=="object"&&e.constructor&&e.constructor.name||""}function Ns(e,t){return Ds(e)===Ds(t)}function Bs(e,t){return te(t)?t.findIndex(n=>Ns(n,e)):ne(t)&&Ns(t,e)?0:-1}const $i=e=>e[0]==="_"||e==="$stable",Ol=e=>te(e)?e.map(at):[at(e)],Pd=(e,t,n)=>{if(t._n)return t;const r=Qf((...o)=>Ol(t(...o)),n);return r._c=!1,r},Hi=(e,t,n)=>{const r=e._ctx;for(const o in e){if($i(o))continue;const l=e[o];if(ne(l))t[o]=Pd(o,l,r);else if(l!=null){const s=Ol(l);t[o]=()=>s}}},Di=(e,t)=>{const n=Ol(t);e.slots.default=()=>n},Rd=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=se(t),Kr(t,"_",n)):Hi(t,e.slots={})}else e.slots={},t&&Di(e,t);Kr(e.slots,po,1)},Md=(e,t,n)=>{const{vnode:r,slots:o}=e;let l=!0,s=Ce;if(r.shapeFlag&32){const i=t._;i?n&&i===1?l=!1:(Ie(o,t),!n&&i===1&&delete o._):(l=!t.$stable,Hi(t,o)),s=t}else t&&(Di(e,t),s={default:1});if(l)for(const i in o)!$i(i)&&s[i]==null&&delete o[i]};function eo(e,t,n,r,o=!1){if(te(e)){e.forEach((p,m)=>eo(p,t&&(te(t)?t[m]:t),n,r,o));return}if(jn(r)&&!o)return;const l=r.shapeFlag&4?Hl(r.component)||r.component.proxy:r.el,s=o?null:l,{i,r:c}=e,u=t&&t.r,f=i.refs===Ce?i.refs={}:i.refs,d=i.setupState;if(u!=null&&u!==c&&(He(u)?(f[u]=null,ie(d,u)&&(d[u]=null)):Re(u)&&(u.value=null)),ne(c))Nt(c,i,12,[s,f]);else{const p=He(c),m=Re(c);if(p||m){const g=()=>{if(e.f){const _=p?ie(d,c)?d[c]:f[c]:c.value;o?te(_)&&gl(_,l):te(_)?_.includes(l)||_.push(l):p?(f[c]=[l],ie(d,c)&&(d[c]=f[c])):(c.value=[l],e.k&&(f[e.k]=c.value))}else p?(f[c]=s,ie(d,c)&&(d[c]=s)):m&&(c.value=s,e.k&&(f[e.k]=s))};s?(g.id=-1,je(g,n)):g()}}}let Lt=!1;const Od=e=>e.namespaceURI.includes("svg")&&e.tagName!=="foreignObject",$d=e=>e.namespaceURI.includes("MathML"),Hr=e=>{if(Od(e))return"svg";if($d(e))return"mathml"},Dr=e=>e.nodeType===8;function Hd(e){const{mt:t,p:n,o:{patchProp:r,createText:o,nextSibling:l,parentNode:s,remove:i,insert:c,createComment:u}}=e,f=(b,T)=>{if(!T.hasChildNodes()){n(null,b,T),Xr(),T._vnode=b;return}Lt=!1,d(T.firstChild,b,null,null,null),Xr(),T._vnode=b,Lt&&console.error("Hydration completed but contains mismatches.")},d=(b,T,D,k,G,N=!1)=>{const Y=Dr(b)&&b.data==="[",P=()=>_(b,T,D,k,G,Y),{type:J,ref:$,shapeFlag:Z,patchFlag:Ae}=T;let xe=b.nodeType;T.el=b,Ae===-2&&(N=!1,T.dynamicChildren=null);let W=null;switch(J){case En:xe!==3?T.children===""?(c(T.el=o(""),s(b),b),W=b):W=P():(b.data!==T.children&&(Lt=!0,b.data=T.children),W=l(b));break;case vt:C(b)?(W=l(b),y(T.el=b.content.firstChild,b,D)):xe!==8||Y?W=P():W=l(b);break;case qn:if(Y&&(b=l(b),xe=b.nodeType),xe===1||xe===3){W=b;const re=!T.children.length;for(let q=0;q<T.staticCount;q++)re&&(T.children+=W.nodeType===1?W.outerHTML:W.data),q===T.staticCount-1&&(T.anchor=W),W=l(W);return Y?l(W):W}else P();break;case Je:Y?W=g(b,T,D,k,G,N):W=P();break;default:if(Z&1)(xe!==1||T.type.toLowerCase()!==b.tagName.toLowerCase())&&!C(b)?W=P():W=p(b,T,D,k,G,N);else if(Z&6){T.slotScopeIds=G;const re=s(b);if(Y?W=E(b):Dr(b)&&b.data==="teleport start"?W=E(b,b.data,"teleport end"):W=l(b),t(T,re,null,D,k,Hr(re),N),jn(T)){let q;Y?(q=Pe(Je),q.anchor=W?W.previousSibling:re.lastChild):q=b.nodeType===3?ji(""):Pe("div"),q.el=b,T.component.subTree=q}}else Z&64?xe!==8?W=P():W=T.type.hydrate(b,T,D,k,G,N,e,m):Z&128&&(W=T.type.hydrate(b,T,D,k,Hr(s(b)),G,N,e,d))}return $!=null&&eo($,null,k,T),W},p=(b,T,D,k,G,N)=>{N=N||!!T.dynamicChildren;const{type:Y,props:P,patchFlag:J,shapeFlag:$,dirs:Z,transition:Ae}=T,xe=Y==="input"||Y==="option";if(xe||J!==-1){Z&&ht(T,null,D,"created");let W=!1;if(C(b)){W=Ni(k,Ae)&&D&&D.vnode.props&&D.vnode.props.appear;const q=b.content.firstChild;W&&Ae.beforeEnter(q),y(q,b,D),T.el=b=q}if($&16&&!(P&&(P.innerHTML||P.textContent))){let q=m(b.firstChild,T,b,D,k,G,N);for(;q;){Lt=!0;const lt=q;q=q.nextSibling,i(lt)}}else $&8&&b.textContent!==T.children&&(Lt=!0,b.textContent=T.children);if(P)if(xe||!N||J&48)for(const q in P)(xe&&(q.endsWith("value")||q==="indeterminate")||ir(q)&&!vn(q)||q[0]===".")&&r(b,q,null,P[q],void 0,void 0,D);else P.onClick&&r(b,"onClick",null,P.onClick,void 0,void 0,D);let re;(re=P&&P.onVnodeBeforeMount)&&Ze(re,D,T),Z&&ht(T,null,D,"beforeMount"),((re=P&&P.onVnodeMounted)||Z||W)&&Ei(()=>{re&&Ze(re,D,T),W&&Ae.enter(b),Z&&ht(T,null,D,"mounted")},k)}return b.nextSibling},m=(b,T,D,k,G,N,Y)=>{Y=Y||!!T.dynamicChildren;const P=T.children,J=P.length;for(let $=0;$<J;$++){const Z=Y?P[$]:P[$]=at(P[$]);if(b)b=d(b,Z,k,G,N,Y);else{if(Z.type===En&&!Z.children)continue;Lt=!0,n(null,Z,D,null,k,G,Hr(D),N)}}return b},g=(b,T,D,k,G,N)=>{const{slotScopeIds:Y}=T;Y&&(G=G?G.concat(Y):Y);const P=s(b),J=m(l(b),T,P,D,k,G,N);return J&&Dr(J)&&J.data==="]"?l(T.anchor=J):(Lt=!0,c(T.anchor=u("]"),P,J),J)},_=(b,T,D,k,G,N)=>{if(Lt=!0,T.el=null,N){const J=E(b);for(;;){const $=l(b);if($&&$!==J)i($);else break}}const Y=l(b),P=s(b);return i(b),n(null,T,P,Y,D,k,Hr(P),G),Y},E=(b,T="[",D="]")=>{let k=0;for(;b;)if(b=l(b),b&&Dr(b)&&(b.data===T&&k++,b.data===D)){if(k===0)return l(b);k--}return b},y=(b,T,D)=>{const k=T.parentNode;k&&k.replaceChild(b,T);let G=D;for(;G;)G.vnode.el===T&&(G.vnode.el=G.subTree.el=b),G=G.parent},C=b=>b.nodeType===1&&b.tagName.toLowerCase()==="template";return[f,d]}const je=Ei;function Dd(e){return Nd(e,Hd)}function Nd(e,t){const n=Ja();n.__VUE__=!0;const{insert:r,remove:o,patchProp:l,createElement:s,createText:i,createComment:c,setText:u,setElementText:f,parentNode:d,nextSibling:p,setScopeId:m=et,insertStaticContent:g}=e,_=(h,v,S,L=null,A=null,O=null,F=void 0,R=null,H=!!v.dynamicChildren)=>{if(h===v)return;h&&!Xt(h,v)&&(L=x(h),Ve(h,A,O,!0),h=null),v.patchFlag===-2&&(H=!1,v.dynamicChildren=null);const{type:I,ref:j,shapeFlag:X}=v;switch(I){case En:E(h,v,S,L);break;case vt:y(h,v,S,L);break;case qn:h==null&&C(v,S,L,F);break;case Je:$(h,v,S,L,A,O,F,R,H);break;default:X&1?D(h,v,S,L,A,O,F,R,H):X&6?Z(h,v,S,L,A,O,F,R,H):(X&64||X&128)&&I.process(h,v,S,L,A,O,F,R,H,U)}j!=null&&A&&eo(j,h&&h.ref,O,v||h,!v)},E=(h,v,S,L)=>{if(h==null)r(v.el=i(v.children),S,L);else{const A=v.el=h.el;v.children!==h.children&&u(A,v.children)}},y=(h,v,S,L)=>{h==null?r(v.el=c(v.children||""),S,L):v.el=h.el},C=(h,v,S,L)=>{[h.el,h.anchor]=g(h.children,v,S,L,h.el,h.anchor)},b=({el:h,anchor:v},S,L)=>{let A;for(;h&&h!==v;)A=p(h),r(h,S,L),h=A;r(v,S,L)},T=({el:h,anchor:v})=>{let S;for(;h&&h!==v;)S=p(h),o(h),h=S;o(v)},D=(h,v,S,L,A,O,F,R,H)=>{v.type==="svg"?F="svg":v.type==="math"&&(F="mathml"),h==null?k(v,S,L,A,O,F,R,H):Y(h,v,A,O,F,R,H)},k=(h,v,S,L,A,O,F,R)=>{let H,I;const{props:j,shapeFlag:X,transition:K,dirs:ee}=h;if(H=h.el=s(h.type,O,j&&j.is,j),X&8?f(H,h.children):X&16&&N(h.children,H,null,L,A,Io(h,O),F,R),ee&&ht(h,null,L,"created"),G(H,h,h.scopeId,F,L),j){for(const ge in j)ge!=="value"&&!vn(ge)&&l(H,ge,null,j[ge],O,h.children,L,A,De);"value"in j&&l(H,"value",null,j.value,O),(I=j.onVnodeBeforeMount)&&Ze(I,L,h)}ee&&ht(h,null,L,"beforeMount");const oe=Ni(A,K);oe&&K.beforeEnter(H),r(H,v,S),((I=j&&j.onVnodeMounted)||oe||ee)&&je(()=>{I&&Ze(I,L,h),oe&&K.enter(H),ee&&ht(h,null,L,"mounted")},A)},G=(h,v,S,L,A)=>{if(S&&m(h,S),L)for(let O=0;O<L.length;O++)m(h,L[O]);if(A){let O=A.subTree;if(v===O){const F=A.vnode;G(h,F,F.scopeId,F.slotScopeIds,A.parent)}}},N=(h,v,S,L,A,O,F,R,H=0)=>{for(let I=H;I<h.length;I++){const j=h[I]=R?Ot(h[I]):at(h[I]);_(null,j,v,S,L,A,O,F,R)}},Y=(h,v,S,L,A,O,F)=>{const R=v.el=h.el;let{patchFlag:H,dynamicChildren:I,dirs:j}=v;H|=h.patchFlag&16;const X=h.props||Ce,K=v.props||Ce;let ee;if(S&&Wt(S,!1),(ee=K.onVnodeBeforeUpdate)&&Ze(ee,S,v,h),j&&ht(v,h,S,"beforeUpdate"),S&&Wt(S,!0),I?P(h.dynamicChildren,I,R,S,L,Io(v,A),O):F||q(h,v,R,null,S,L,Io(v,A),O,!1),H>0){if(H&16)J(R,v,X,K,S,L,A);else if(H&2&&X.class!==K.class&&l(R,"class",null,K.class,A),H&4&&l(R,"style",X.style,K.style,A),H&8){const oe=v.dynamicProps;for(let ge=0;ge<oe.length;ge++){const Se=oe[ge],Oe=X[Se],st=K[Se];(st!==Oe||Se==="value")&&l(R,Se,Oe,st,A,h.children,S,L,De)}}H&1&&h.children!==v.children&&f(R,v.children)}else!F&&I==null&&J(R,v,X,K,S,L,A);((ee=K.onVnodeUpdated)||j)&&je(()=>{ee&&Ze(ee,S,v,h),j&&ht(v,h,S,"updated")},L)},P=(h,v,S,L,A,O,F)=>{for(let R=0;R<v.length;R++){const H=h[R],I=v[R],j=H.el&&(H.type===Je||!Xt(H,I)||H.shapeFlag&70)?d(H.el):S;_(H,I,j,null,L,A,O,F,!0)}},J=(h,v,S,L,A,O,F)=>{if(S!==L){if(S!==Ce)for(const R in S)!vn(R)&&!(R in L)&&l(h,R,S[R],null,F,v.children,A,O,De);for(const R in L){if(vn(R))continue;const H=L[R],I=S[R];H!==I&&R!=="value"&&l(h,R,I,H,F,v.children,A,O,De)}"value"in L&&l(h,"value",S.value,L.value,F)}},$=(h,v,S,L,A,O,F,R,H)=>{const I=v.el=h?h.el:i(""),j=v.anchor=h?h.anchor:i("");let{patchFlag:X,dynamicChildren:K,slotScopeIds:ee}=v;ee&&(R=R?R.concat(ee):ee),h==null?(r(I,S,L),r(j,S,L),N(v.children||[],S,j,A,O,F,R,H)):X>0&&X&64&&K&&h.dynamicChildren?(P(h.dynamicChildren,K,S,A,O,F,R),(v.key!=null||A&&v===A.subTree)&&Bi(h,v,!0)):q(h,v,S,j,A,O,F,R,H)},Z=(h,v,S,L,A,O,F,R,H)=>{v.slotScopeIds=R,h==null?v.shapeFlag&512?A.ctx.activate(v,S,L,F,H):Ae(v,S,L,A,O,F,H):xe(h,v,H)},Ae=(h,v,S,L,A,O,F)=>{const R=h.component=Kd(h,L,A);if(dr(h)&&(R.ctx.renderer=U),Yd(R),R.asyncDep){if(A&&A.registerDep(R,W),!h.el){const H=R.subTree=Pe(vt);y(null,H,v,S)}}else W(R,h,v,S,A,O,F)},xe=(h,v,S)=>{const L=v.component=h.component;if(td(h,v,S))if(L.asyncDep&&!L.asyncResolved){re(L,v,S);return}else L.next=v,Kf(L.update),L.effect.dirty=!0,L.update();else v.el=h.el,L.vnode=v},W=(h,v,S,L,A,O,F)=>{const R=()=>{if(h.isMounted){let{next:j,bu:X,u:K,parent:ee,vnode:oe}=h;{const fn=Fi(h);if(fn){j&&(j.el=oe.el,re(h,j,F)),fn.asyncDep.then(()=>{h.isUnmounted||R()});return}}let ge=j,Se;Wt(h,!1),j?(j.el=oe.el,re(h,j,F)):j=oe,X&&ko(X),(Se=j.props&&j.props.onVnodeBeforeUpdate)&&Ze(Se,ee,j,oe),Wt(h,!0);const Oe=To(h),st=h.subTree;h.subTree=Oe,_(st,Oe,d(st.el),x(st),h,A,O),j.el=Oe.el,ge===null&&nd(h,Oe.el),K&&je(K,A),(Se=j.props&&j.props.onVnodeUpdated)&&je(()=>Ze(Se,ee,j,oe),A)}else{let j;const{el:X,props:K}=v,{bm:ee,m:oe,parent:ge}=h,Se=jn(v);if(Wt(h,!1),ee&&ko(ee),!Se&&(j=K&&K.onVnodeBeforeMount)&&Ze(j,ge,v),Wt(h,!0),X&&Ee){const Oe=()=>{h.subTree=To(h),Ee(X,h.subTree,h,A,null)};Se?v.type.__asyncLoader().then(()=>!h.isUnmounted&&Oe()):Oe()}else{const Oe=h.subTree=To(h);_(null,Oe,S,L,h,A,O),v.el=Oe.el}if(oe&&je(oe,A),!Se&&(j=K&&K.onVnodeMounted)){const Oe=v;je(()=>Ze(j,ge,Oe),A)}(v.shapeFlag&256||ge&&jn(ge.vnode)&&ge.vnode.shapeFlag&256)&&h.a&&je(h.a,A),h.isMounted=!0,v=S=L=null}},H=h.effect=new wl(R,et,()=>co(I),h.scope),I=h.update=()=>{H.dirty&&H.run()};I.id=h.uid,Wt(h,!0),I()},re=(h,v,S)=>{v.component=h;const L=h.vnode.props;h.vnode=v,h.next=null,Id(h,v.props,L,S),Md(h,v.children,S),nn(),xs(h),rn()},q=(h,v,S,L,A,O,F,R,H=!1)=>{const I=h&&h.children,j=h?h.shapeFlag:0,X=v.children,{patchFlag:K,shapeFlag:ee}=v;if(K>0){if(K&128){At(I,X,S,L,A,O,F,R,H);return}else if(K&256){lt(I,X,S,L,A,O,F,R,H);return}}ee&8?(j&16&&De(I,A,O),X!==I&&f(S,X)):j&16?ee&16?At(I,X,S,L,A,O,F,R,H):De(I,A,O,!0):(j&8&&f(S,""),ee&16&&N(X,S,L,A,O,F,R,H))},lt=(h,v,S,L,A,O,F,R,H)=>{h=h||mn,v=v||mn;const I=h.length,j=v.length,X=Math.min(I,j);let K;for(K=0;K<X;K++){const ee=v[K]=H?Ot(v[K]):at(v[K]);_(h[K],ee,S,null,A,O,F,R,H)}I>j?De(h,A,O,!0,!1,X):N(v,S,L,A,O,F,R,H,X)},At=(h,v,S,L,A,O,F,R,H)=>{let I=0;const j=v.length;let X=h.length-1,K=j-1;for(;I<=X&&I<=K;){const ee=h[I],oe=v[I]=H?Ot(v[I]):at(v[I]);if(Xt(ee,oe))_(ee,oe,S,null,A,O,F,R,H);else break;I++}for(;I<=X&&I<=K;){const ee=h[X],oe=v[K]=H?Ot(v[K]):at(v[K]);if(Xt(ee,oe))_(ee,oe,S,null,A,O,F,R,H);else break;X--,K--}if(I>X){if(I<=K){const ee=K+1,oe=ee<j?v[ee].el:L;for(;I<=K;)_(null,v[I]=H?Ot(v[I]):at(v[I]),S,oe,A,O,F,R,H),I++}}else if(I>K)for(;I<=X;)Ve(h[I],A,O,!0),I++;else{const ee=I,oe=I,ge=new Map;for(I=oe;I<=K;I++){const Ke=v[I]=H?Ot(v[I]):at(v[I]);Ke.key!=null&&ge.set(Ke.key,I)}let Se,Oe=0;const st=K-oe+1;let fn=!1,gs=0;const $n=new Array(st);for(I=0;I<st;I++)$n[I]=0;for(I=ee;I<=X;I++){const Ke=h[I];if(Oe>=st){Ve(Ke,A,O,!0);continue}let pt;if(Ke.key!=null)pt=ge.get(Ke.key);else for(Se=oe;Se<=K;Se++)if($n[Se-oe]===0&&Xt(Ke,v[Se])){pt=Se;break}pt===void 0?Ve(Ke,A,O,!0):($n[pt-oe]=I+1,pt>=gs?gs=pt:fn=!0,_(Ke,v[pt],S,null,A,O,F,R,H),Oe++)}const ys=fn?Bd($n):mn;for(Se=ys.length-1,I=st-1;I>=0;I--){const Ke=oe+I,pt=v[Ke],bs=Ke+1<j?v[Ke+1].el:L;$n[I]===0?_(null,pt,S,bs,A,O,F,R,H):fn&&(Se<0||I!==ys[Se]?dt(pt,S,bs,2):Se--)}}},dt=(h,v,S,L,A=null)=>{const{el:O,type:F,transition:R,children:H,shapeFlag:I}=h;if(I&6){dt(h.component.subTree,v,S,L);return}if(I&128){h.suspense.move(v,S,L);return}if(I&64){F.move(h,v,S,U);return}if(F===Je){r(O,v,S);for(let X=0;X<H.length;X++)dt(H[X],v,S,L);r(h.anchor,v,S);return}if(F===qn){b(h,v,S);return}if(L!==2&&I&1&&R)if(L===0)R.beforeEnter(O),r(O,v,S),je(()=>R.enter(O),A);else{const{leave:X,delayLeave:K,afterLeave:ee}=R,oe=()=>r(O,v,S),ge=()=>{X(O,()=>{oe(),ee&&ee()})};K?K(O,oe,ge):ge()}else r(O,v,S)},Ve=(h,v,S,L=!1,A=!1)=>{const{type:O,props:F,ref:R,children:H,dynamicChildren:I,shapeFlag:j,patchFlag:X,dirs:K}=h;if(R!=null&&eo(R,null,S,h,!0),j&256){v.ctx.deactivate(h);return}const ee=j&1&&K,oe=!jn(h);let ge;if(oe&&(ge=F&&F.onVnodeBeforeUnmount)&&Ze(ge,v,h),j&6)xr(h.component,S,L);else{if(j&128){h.suspense.unmount(S,L);return}ee&&ht(h,null,v,"beforeUnmount"),j&64?h.type.remove(h,v,S,A,U,L):I&&(O!==Je||X>0&&X&64)?De(I,v,S,!1,!0):(O===Je&&X&384||!A&&j&16)&&De(H,v,S),L&&cn(h)}(oe&&(ge=F&&F.onVnodeUnmounted)||ee)&&je(()=>{ge&&Ze(ge,v,h),ee&&ht(h,null,v,"unmounted")},S)},cn=h=>{const{type:v,el:S,anchor:L,transition:A}=h;if(v===Je){un(S,L);return}if(v===qn){T(h);return}const O=()=>{o(S),A&&!A.persisted&&A.afterLeave&&A.afterLeave()};if(h.shapeFlag&1&&A&&!A.persisted){const{leave:F,delayLeave:R}=A,H=()=>F(S,O);R?R(h.el,O,H):H()}else O()},un=(h,v)=>{let S;for(;h!==v;)S=p(h),o(h),h=S;o(v)},xr=(h,v,S)=>{const{bum:L,scope:A,update:O,subTree:F,um:R}=h;L&&ko(L),A.stop(),O&&(O.active=!1,Ve(F,h,v,S)),R&&je(R,v),je(()=>{h.isUnmounted=!0},v),v&&v.pendingBranch&&!v.isUnmounted&&h.asyncDep&&!h.asyncResolved&&h.suspenseId===v.pendingId&&(v.deps--,v.deps===0&&v.resolve())},De=(h,v,S,L=!1,A=!1,O=0)=>{for(let F=O;F<h.length;F++)Ve(h[F],v,S,L,A)},x=h=>h.shapeFlag&6?x(h.component.subTree):h.shapeFlag&128?h.suspense.next():p(h.anchor||h.el);let V=!1;const B=(h,v,S)=>{h==null?v._vnode&&Ve(v._vnode,null,null,!0):_(v._vnode||null,h,v,null,null,null,S),V||(V=!0,xs(),Xr(),V=!1),v._vnode=h},U={p:_,um:Ve,m:dt,r:cn,mt:Ae,mc:N,pc:q,pbc:P,n:x,o:e};let pe,Ee;return t&&([pe,Ee]=t(U)),{render:B,hydrate:pe,createApp:xd(B,pe)}}function Io({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function Wt({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function Ni(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Bi(e,t,n=!1){const r=e.children,o=t.children;if(te(r)&&te(o))for(let l=0;l<r.length;l++){const s=r[l];let i=o[l];i.shapeFlag&1&&!i.dynamicChildren&&((i.patchFlag<=0||i.patchFlag===32)&&(i=o[l]=Ot(o[l]),i.el=s.el),n||Bi(s,i)),i.type===En&&(i.el=s.el)}}function Bd(e){const t=e.slice(),n=[0];let r,o,l,s,i;const c=e.length;for(r=0;r<c;r++){const u=e[r];if(u!==0){if(o=n[n.length-1],e[o]<u){t[r]=o,n.push(r);continue}for(l=0,s=n.length-1;l<s;)i=l+s>>1,e[n[i]]<u?l=i+1:s=i;u<e[n[l]]&&(l>0&&(t[r]=n[l-1]),n[l]=r)}}for(l=n.length,s=n[l-1];l-- >0;)n[l]=s,s=t[s];return n}function Fi(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Fi(t)}const Fd=e=>e.__isTeleport,Je=Symbol.for("v-fgt"),En=Symbol.for("v-txt"),vt=Symbol.for("v-cmt"),qn=Symbol.for("v-stc"),Wn=[];let ct=null;function ov(e=!1){Wn.push(ct=e?null:[])}function zd(){Wn.pop(),ct=Wn[Wn.length-1]||null}let tr=1;function Fs(e){tr+=e}function Vd(e){return e.dynamicChildren=tr>0?ct||mn:null,zd(),tr>0&&ct&&ct.push(e),e}function lv(e,t,n,r,o,l){return Vd(Vi(e,t,n,r,o,l,!0))}function el(e){return e?e.__v_isVNode===!0:!1}function Xt(e,t){return e.type===t.type&&e.key===t.key}const po="__vInternal",zi=({key:e})=>e??null,Gr=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?He(e)||Re(e)||ne(e)?{i:tt,r:e,k:t,f:!!n}:e:null);function Vi(e,t=null,n=null,r=0,o=null,l=e===Je?0:1,s=!1,i=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&zi(t),ref:t&&Gr(t),scopeId:_i,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:l,patchFlag:r,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:tt};return i?($l(c,n),l&128&&e.normalize(c)):n&&(c.shapeFlag|=He(n)?8:16),tr>0&&!s&&ct&&(c.patchFlag>0||l&6)&&c.patchFlag!==32&&ct.push(c),c}const Pe=jd;function jd(e,t=null,n=null,r=0,o=null,l=!1){if((!e||e===rd)&&(e=vt),el(e)){const i=Ft(e,t,!0);return n&&$l(i,n),tr>0&&!l&&ct&&(i.shapeFlag&6?ct[ct.indexOf(e)]=i:ct.push(i)),i.patchFlag|=-2,i}if(ep(e)&&(e=e.__vccOpts),t){t=Gd(t);let{class:i,style:c}=t;i&&!He(i)&&(t.class=_l(i)),Te(c)&&(fi(c)&&!te(c)&&(c=Ie({},c)),t.style=bl(c))}const s=He(e)?1:ld(e)?128:Fd(e)?64:Te(e)?4:ne(e)?2:0;return Vi(e,t,n,r,o,s,l,!0)}function Gd(e){return e?fi(e)||po in e?Ie({},e):e:null}function Ft(e,t,n=!1){const{props:r,ref:o,patchFlag:l,children:s}=e,i=t?Ud(r||{},t):r;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:i,key:i&&zi(i),ref:t&&t.ref?n&&o?te(o)?o.concat(Gr(t)):[o,Gr(t)]:Gr(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:s,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Je?l===-1?16:l|16:l,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Ft(e.ssContent),ssFallback:e.ssFallback&&Ft(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function ji(e=" ",t=0){return Pe(En,null,e,t)}function sv(e,t){const n=Pe(qn,null,e);return n.staticCount=t,n}function at(e){return e==null||typeof e=="boolean"?Pe(vt):te(e)?Pe(Je,null,e.slice()):typeof e=="object"?Ot(e):Pe(En,null,String(e))}function Ot(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Ft(e)}function $l(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(te(t))n=16;else if(typeof t=="object")if(r&65){const o=t.default;o&&(o._c&&(o._d=!1),$l(e,o()),o._c&&(o._d=!0));return}else{n=32;const o=t._;!o&&!(po in t)?t._ctx=tt:o===3&&tt&&(tt.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else ne(t)?(t={default:t,_ctx:tt},n=32):(t=String(t),r&64?(n=16,t=[ji(t)]):n=8);e.children=t,e.shapeFlag|=n}function Ud(...e){const t={};for(let n=0;n<e.length;n++){const r=e[n];for(const o in r)if(o==="class")t.class!==r.class&&(t.class=_l([t.class,r.class]));else if(o==="style")t.style=bl([t.style,r.style]);else if(ir(o)){const l=t[o],s=r[o];s&&l!==s&&!(te(l)&&l.includes(s))&&(t[o]=l?[].concat(l,s):s)}else o!==""&&(t[o]=r[o])}return t}function Ze(e,t,n,r=null){nt(e,t,7,[n,r])}const qd=Ri();let Wd=0;function Kd(e,t,n){const r=e.type,o=(t?t.appContext:e.appContext)||qd,l={uid:Wd++,vnode:e,type:r,parent:t,appContext:o,root:null,next:null,subTree:null,effect:null,update:null,scope:new vf(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(o.provides),accessCache:null,renderCache:[],components:null,directives:null,propsOptions:Oi(r,o),emitsOptions:bi(r,o),emit:null,emitted:null,propsDefaults:Ce,inheritAttrs:r.inheritAttrs,ctx:Ce,data:Ce,props:Ce,attrs:Ce,slots:Ce,refs:Ce,setupState:Ce,setupContext:null,attrsProxy:null,slotsProxy:null,suspense:n,suspenseId:n?n.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return l.ctx={_:l},l.root=t?t.root:l,l.emit=Xf.bind(null,l),e.ce&&e.ce(l),l}let $e=null;const pr=()=>$e||tt;let to,tl;{const e=Ja(),t=(n,r)=>{let o;return(o=e[n])||(o=e[n]=[]),o.push(r),l=>{o.length>1?o.forEach(s=>s(l)):o[0](l)}};to=t("__VUE_INSTANCE_SETTERS__",n=>$e=n),tl=t("__VUE_SSR_SETTERS__",n=>mr=n)}const hr=e=>{const t=$e;return to(e),e.scope.on(),()=>{e.scope.off(),to(t)}},zs=()=>{$e&&$e.scope.off(),to(null)};function Gi(e){return e.vnode.shapeFlag&4}let mr=!1;function Yd(e,t=!1){t&&tl(t);const{props:n,children:r}=e.vnode,o=Gi(e);Ld(e,n,o,t),Rd(e,r);const l=o?Jd(e,t):void 0;return t&&tl(!1),l}function Jd(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=di(new Proxy(e.ctx,wd));const{setup:r}=n;if(r){const o=e.setupContext=r.length>1?Qd(e):null,l=hr(e);nn();const s=Nt(r,e,0,[e.props,o]);if(rn(),l(),Ya(s)){if(s.then(zs,zs),t)return s.then(i=>{Vs(e,i,t)}).catch(i=>{fr(i,e,0)});e.asyncDep=s}else Vs(e,s,t)}else Ui(e,t)}function Vs(e,t,n){ne(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Te(t)&&(e.setupState=mi(t)),Ui(e,n)}let js;function Ui(e,t,n){const r=e.type;if(!e.render){if(!t&&js&&!r.render){const o=r.template||Ml(e).template;if(o){const{isCustomElement:l,compilerOptions:s}=e.appContext.config,{delimiters:i,compilerOptions:c}=r,u=Ie(Ie({isCustomElement:l,delimiters:i},s),c);r.render=js(o,u)}}e.render=r.render||et}{const o=hr(e);nn();try{Ed(e)}finally{rn(),o()}}}function Xd(e){return e.attrsProxy||(e.attrsProxy=new Proxy(e.attrs,{get(t,n){return We(e,"get","$attrs"),t[n]}}))}function Qd(e){const t=n=>{e.exposed=n||{}};return{get attrs(){return Xd(e)},slots:e.slots,emit:e.emit,expose:t}}function Hl(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(mi(di(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Gn)return Gn[n](e)},has(t,n){return n in t||n in Gn}}))}function Zd(e,t=!0){return ne(e)?e.displayName||e.name:e.name||t&&e.__name}function ep(e){return ne(e)&&"__vccOpts"in e}const w=(e,t)=>Bf(e,t,mr);function a(e,t,n){const r=arguments.length;return r===2?Te(t)&&!te(t)?el(t)?Pe(e,null,[t]):Pe(e,t):Pe(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&el(n)&&(n=[n]),Pe(e,t,n))}const tp="3.4.21";/**
-* @vue/runtime-dom v3.4.21
-* (c) 2018-present Yuxi (Evan) You and Vue contributors
-* @license MIT
-**/const np="http://www.w3.org/2000/svg",rp="http://www.w3.org/1998/Math/MathML",$t=typeof document<"u"?document:null,Gs=$t&&$t.createElement("template"),op={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"?$t.createElementNS(np,e):t==="mathml"?$t.createElementNS(rp,e):$t.createElement(e,n?{is:n}:void 0);return e==="select"&&r&&r.multiple!=null&&o.setAttribute("multiple",r.multiple),o},createText:e=>$t.createTextNode(e),createComment:e=>$t.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>$t.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,o,l){const s=n?n.previousSibling:t.lastChild;if(o&&(o===l||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),n),!(o===l||!(o=o.nextSibling)););else{Gs.innerHTML=r==="svg"?`<svg>${e}</svg>`:r==="mathml"?`<math>${e}</math>`:e;const i=Gs.content;if(r==="svg"||r==="mathml"){const c=i.firstChild;for(;c.firstChild;)i.appendChild(c.firstChild);i.removeChild(c)}t.insertBefore(i,n)}return[s?s.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},It="transition",Hn="animation",Sn=Symbol("_vtc"),zt=(e,{slots:t})=>a(ud,Wi(e),t);zt.displayName="Transition";const qi={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},lp=zt.props=Ie({},Ti,qi),Kt=(e,t=[])=>{te(e)?e.forEach(n=>n(...t)):e&&e(...t)},Us=e=>e?te(e)?e.some(t=>t.length>1):e.length>1:!1;function Wi(e){const t={};for(const $ in e)$ in qi||(t[$]=e[$]);if(e.css===!1)return t;const{name:n="v",type:r,duration:o,enterFromClass:l=`${n}-enter-from`,enterActiveClass:s=`${n}-enter-active`,enterToClass:i=`${n}-enter-to`,appearFromClass:c=l,appearActiveClass:u=s,appearToClass:f=i,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:m=`${n}-leave-to`}=e,g=sp(o),_=g&&g[0],E=g&&g[1],{onBeforeEnter:y,onEnter:C,onEnterCancelled:b,onLeave:T,onLeaveCancelled:D,onBeforeAppear:k=y,onAppear:G=C,onAppearCancelled:N=b}=t,Y=($,Z,Ae)=>{Pt($,Z?f:i),Pt($,Z?u:s),Ae&&Ae()},P=($,Z)=>{$._isLeaving=!1,Pt($,d),Pt($,m),Pt($,p),Z&&Z()},J=$=>(Z,Ae)=>{const xe=$?G:C,W=()=>Y(Z,$,Ae);Kt(xe,[Z,W]),qs(()=>{Pt(Z,$?c:l),_t(Z,$?f:i),Us(xe)||Ws(Z,r,_,W)})};return Ie(t,{onBeforeEnter($){Kt(y,[$]),_t($,l),_t($,s)},onBeforeAppear($){Kt(k,[$]),_t($,c),_t($,u)},onEnter:J(!1),onAppear:J(!0),onLeave($,Z){$._isLeaving=!0;const Ae=()=>P($,Z);_t($,d),Yi(),_t($,p),qs(()=>{$._isLeaving&&(Pt($,d),_t($,m),Us(T)||Ws($,r,E,Ae))}),Kt(T,[$,Ae])},onEnterCancelled($){Y($,!1),Kt(b,[$])},onAppearCancelled($){Y($,!0),Kt(N,[$])},onLeaveCancelled($){P($),Kt(D,[$])}})}function sp(e){if(e==null)return null;if(Te(e))return[Po(e.enter),Po(e.leave)];{const t=Po(e);return[t,t]}}function Po(e){return cf(e)}function _t(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Sn]||(e[Sn]=new Set)).add(t)}function Pt(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[Sn];n&&(n.delete(t),n.size||(e[Sn]=void 0))}function qs(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let ap=0;function Ws(e,t,n,r){const o=e._endId=++ap,l=()=>{o===e._endId&&r()};if(n)return setTimeout(l,n);const{type:s,timeout:i,propCount:c}=Ki(e,t);if(!s)return r();const u=s+"end";let f=0;const d=()=>{e.removeEventListener(u,p),l()},p=m=>{m.target===e&&++f>=c&&d()};setTimeout(()=>{f<c&&d()},i+1),e.addEventListener(u,p)}function Ki(e,t){const n=window.getComputedStyle(e),r=g=>(n[g]||"").split(", "),o=r(`${It}Delay`),l=r(`${It}Duration`),s=Ks(o,l),i=r(`${Hn}Delay`),c=r(`${Hn}Duration`),u=Ks(i,c);let f=null,d=0,p=0;t===It?s>0&&(f=It,d=s,p=l.length):t===Hn?u>0&&(f=Hn,d=u,p=c.length):(d=Math.max(s,u),f=d>0?s>u?It:Hn:null,p=f?f===It?l.length:c.length:0);const m=f===It&&/\b(transform|all)(,|$)/.test(r(`${It}Property`).toString());return{type:f,timeout:d,propCount:p,hasTransform:m}}function Ks(e,t){for(;e.length<t.length;)e=e.concat(e);return Math.max(...t.map((n,r)=>Ys(n)+Ys(e[r])))}function Ys(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Yi(){return document.body.offsetHeight}function ip(e,t,n){const r=e[Sn];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Js=Symbol("_vod"),cp=Symbol("_vsh"),up=Symbol(""),fp=/(^|;)\s*display\s*:/;function dp(e,t,n){const r=e.style,o=He(n);let l=!1;if(n&&!o){if(t)if(He(t))for(const s of t.split(";")){const i=s.slice(0,s.indexOf(":")).trim();n[i]==null&&Ur(r,i,"")}else for(const s in t)n[s]==null&&Ur(r,s,"");for(const s in n)s==="display"&&(l=!0),Ur(r,s,n[s])}else if(o){if(t!==n){const s=r[up];s&&(n+=";"+s),r.cssText=n,l=fp.test(n)}}else t&&e.removeAttribute("style");Js in e&&(e[Js]=l?r.display:"",e[cp]&&(r.display="none"))}const Xs=/\s*!important$/;function Ur(e,t,n){if(te(n))n.forEach(r=>Ur(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=pp(e,t);Xs.test(n)?e.setProperty(xn(r),n.replace(Xs,""),"important"):e[r]=n}}const Qs=["Webkit","Moz","ms"],Ro={};function pp(e,t){const n=Ro[t];if(n)return n;let r=qe(t);if(r!=="filter"&&r in e)return Ro[t]=r;r=cr(r);for(let o=0;o<Qs.length;o++){const l=Qs[o]+r;if(l in e)return Ro[t]=l}return t}const Zs="http://www.w3.org/1999/xlink";function hp(e,t,n,r,o){if(r&&t.startsWith("xlink:"))n==null?e.removeAttributeNS(Zs,t.slice(6,t.length)):e.setAttributeNS(Zs,t,n);else{const l=mf(t);n==null||l&&!Xa(n)?e.removeAttribute(t):e.setAttribute(t,l?"":n)}}function mp(e,t,n,r,o,l,s){if(t==="innerHTML"||t==="textContent"){r&&s(r,o,l),e[t]=n??"";return}const i=e.tagName;if(t==="value"&&i!=="PROGRESS"&&!i.includes("-")){const u=i==="OPTION"?e.getAttribute("value")||"":e.value,f=n??"";(u!==f||!("_value"in e))&&(e.value=f),n==null&&e.removeAttribute(t),e._value=n;return}let c=!1;if(n===""||n==null){const u=typeof e[t];u==="boolean"?n=Xa(n):n==null&&u==="string"?(n="",c=!0):u==="number"&&(n=0,c=!0)}try{e[t]=n}catch{}c&&e.removeAttribute(t)}function vp(e,t,n,r){e.addEventListener(t,n,r)}function gp(e,t,n,r){e.removeEventListener(t,n,r)}const ea=Symbol("_vei");function yp(e,t,n,r,o=null){const l=e[ea]||(e[ea]={}),s=l[t];if(r&&s)s.value=r;else{const[i,c]=bp(t);if(r){const u=l[t]=Ep(r,o);vp(e,i,u,c)}else s&&(gp(e,i,s,c),l[t]=void 0)}}const ta=/(?:Once|Passive|Capture)$/;function bp(e){let t;if(ta.test(e)){t={};let r;for(;r=e.match(ta);)e=e.slice(0,e.length-r[0].length),t[r[0].toLowerCase()]=!0}return[e[2]===":"?e.slice(3):xn(e.slice(2)),t]}let Mo=0;const _p=Promise.resolve(),wp=()=>Mo||(_p.then(()=>Mo=0),Mo=Date.now());function Ep(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;nt(Sp(r,n.value),t,5,[r])};return n.value=e,n.attached=wp(),n}function Sp(e,t){if(te(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 na=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Cp=(e,t,n,r,o,l,s,i,c)=>{const u=o==="svg";t==="class"?ip(e,r,u):t==="style"?dp(e,n,r):ir(t)?vl(t)||yp(e,t,n,r,s):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):kp(e,t,r,u))?mp(e,t,r,l,s,i,c):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),hp(e,t,r,u))};function kp(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&na(t)&&ne(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 na(t)&&He(n)?!1:t in e}const Ji=new WeakMap,Xi=new WeakMap,no=Symbol("_moveCb"),ra=Symbol("_enterCb"),Qi={name:"TransitionGroup",props:Ie({},lp,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=pr(),r=ki();let o,l;return Li(()=>{if(!o.length)return;const s=e.moveClass||`${e.name||"v"}-move`;if(!Pp(o[0].el,n.vnode.el,s))return;o.forEach(xp),o.forEach(Lp);const i=o.filter(Ip);Yi(),i.forEach(c=>{const u=c.el,f=u.style;_t(u,s),f.transform=f.webkitTransform=f.transitionDuration="";const d=u[no]=p=>{p&&p.target!==u||(!p||/transform$/.test(p.propertyName))&&(u.removeEventListener("transitionend",d),u[no]=null,Pt(u,s))};u.addEventListener("transitionend",d)})}),()=>{const s=se(e),i=Wi(s);let c=s.tag||Je;o=l,l=t.default?Rl(t.default()):[];for(let u=0;u<l.length;u++){const f=l[u];f.key!=null&&er(f,Zn(f,i,r,n))}if(o)for(let u=0;u<o.length;u++){const f=o[u];er(f,Zn(f,i,r,n)),Ji.set(f,f.el.getBoundingClientRect())}return Pe(c,null,l)}}},Tp=e=>delete e.mode;Qi.props;const Ap=Qi;function xp(e){const t=e.el;t[no]&&t[no](),t[ra]&&t[ra]()}function Lp(e){Xi.set(e,e.el.getBoundingClientRect())}function Ip(e){const t=Ji.get(e),n=Xi.get(e),r=t.left-n.left,o=t.top-n.top;if(r||o){const l=e.el.style;return l.transform=l.webkitTransform=`translate(${r}px,${o}px)`,l.transitionDuration="0s",e}}function Pp(e,t,n){const r=e.cloneNode(),o=e[Sn];o&&o.forEach(i=>{i.split(/\s+/).forEach(c=>c&&r.classList.remove(c))}),n.split(/\s+/).forEach(i=>i&&r.classList.add(i)),r.style.display="none";const l=t.nodeType===1?t:t.parentNode;l.appendChild(r);const{hasTransform:s}=Ki(r);return l.removeChild(r),s}const Rp=Ie({patchProp:Cp},op);let Oo,oa=!1;function Mp(){return Oo=oa?Oo:Dd(Rp),oa=!0,Oo}const Op=(...e)=>{const t=Mp().createApp(...e),{mount:n}=t;return t.mount=r=>{const o=Hp(r);if(o)return n(o,!0,$p(o))},t};function $p(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Hp(e){return He(e)?document.querySelector(e):e}var Dp=["link","meta","script","style","noscript","template"],Np=["title","base"],Bp=([e,t,n])=>Np.includes(e)?e:Dp.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,Fp=e=>{const t=new Set,n=[];return e.forEach(r=>{const o=Bp(r);o&&!t.has(o)&&(t.add(o),n.push(r))}),n},zp=e=>e[0]==="/"?e:`/${e}`,Dl=e=>e[e.length-1]==="/"||e.endsWith(".html")?e:`${e}/`,gt=e=>/^(https?:)?\/\//.test(e),Vp=/.md((\?|#).*)?$/,tn=(e,t="/")=>!!(gt(e)||e.startsWith("/")&&!e.startsWith(t)&&!Vp.test(e)),Zi=e=>/^[a-z][a-z0-9+.-]*:/.test(e),Pn=e=>Object.prototype.toString.call(e)==="[object Object]",jp=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("")},Nl=e=>e[e.length-1]==="/"?e.slice(0,-1):e,ec=e=>e[0]==="/"?e.slice(1):e,Gp=(e,t)=>{const n=Object.keys(e).sort((r,o)=>{const l=o.split("/").length-r.split("/").length;return l!==0?l:o.length-r.length});for(const r of n)if(t.startsWith(r))return r;return"/"},Up=e=>typeof e=="function",_e=e=>typeof e=="string";const qp="modulepreload",Wp=function(e){return"/"+e},la={},z=function(t,n,r){let o=Promise.resolve();if(n&&n.length>0){const l=document.getElementsByTagName("link");o=Promise.all(n.map(s=>{if(s=Wp(s),s in la)return;la[s]=!0;const i=s.endsWith(".css"),c=i?'[rel="stylesheet"]':"";if(!!r)for(let d=l.length-1;d>=0;d--){const p=l[d];if(p.href===s&&(!i||p.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${s}"]${c}`))return;const f=document.createElement("link");if(f.rel=i?"stylesheet":qp,i||(f.as="script",f.crossOrigin=""),f.href=s,document.head.appendChild(f),i)return new Promise((d,p)=>{f.addEventListener("load",d),f.addEventListener("error",()=>p(new Error(`Unable to preload CSS for ${s}`)))})}))}return o.then(()=>t()).catch(l=>{const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=l,window.dispatchEvent(s),!s.defaultPrevented)throw l})},Kp=JSON.parse('{"/Catalogue/about.html":"/about/","/Catalogue/about.md":"/about/","/Catalogue/friends.html":"/friends/","/Catalogue/friends.md":"/friends/","/posts/Air32的HAL改造——适配MCO.html":"/posts/Air32-HAL-MCO/","/posts/Air32的HAL改造——适配MCO.md":"/posts/Air32-HAL-MCO/","/posts/HelloWorld.html":"/posts/HelloWorld/","/posts/HelloWorld.md":"/posts/HelloWorld/","/posts/不服来跑个分?将CoreMark移植到STC上试试.html":"/posts/STC_CoreMark/","/posts/不服来跑个分?将CoreMark移植到STC上试试.md":"/posts/STC_CoreMark/","/posts/为什么我对第三代郊狼失望.html":"/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/","/posts/为什么我对第三代郊狼失望.md":"/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/","/posts/使用Clion来进行Air32的开发.html":"/posts/Air32-Clion/","/posts/使用Clion来进行Air32的开发.md":"/posts/Air32-Clion/","/posts/发挥全部实力!Air32在HAL库环境下运行最高主频.html":"/posts/Air32-HAL-HighFreq/","/posts/发挥全部实力!Air32在HAL库环境下运行最高主频.md":"/posts/Air32-HAL-HighFreq/","/posts/在嵌入式设备上使用fmtlib.html":"/posts/embedded_fmtlib/","/posts/在嵌入式设备上使用fmtlib.md":"/posts/embedded_fmtlib/","/posts/基于conda进行手动配置novelAI.html":"/posts/conda_novelai/","/posts/基于conda进行手动配置novelAI.md":"/posts/conda_novelai/","/posts/墨水屏的坑——7.5寸墨水屏刷新为何出现条纹.html":"/posts/EpdTraps1/","/posts/墨水屏的坑——7.5寸墨水屏刷新为何出现条纹.md":"/posts/EpdTraps1/","/posts/对《为什么我对第三代郊狼失望》一文的澄清说明.html":"/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/","/posts/对《为什么我对第三代郊狼失望》一文的澄清说明.md":"/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/","/posts/嵌入式中的CI-CD.html":"/posts/Empedded-CI-CD/","/posts/嵌入式中的CI-CD.md":"/posts/Empedded-CI-CD/","/posts/更现代的开发方式?使用MDK6进行开发.html":"/posts/MDK6-Dev/","/posts/更现代的开发方式?使用MDK6进行开发.md":"/posts/MDK6-Dev/","/posts/更高效的日志查看方式——使用SEGGER-RTT.html":"/posts/SEGGER-RTT/","/posts/更高效的日志查看方式——使用SEGGER-RTT.md":"/posts/SEGGER-RTT/","/resume/FAE.html":"/kfGjHcdk36vg74_H/FAE/","/resume/FAE.md":"/kfGjHcdk36vg74_H/FAE/"}'),Yp=Object.fromEntries([["/",{loader:()=>z(()=>import("./index.html-BjG6C5xb.js"),__vite__mapDeps([0,1])),meta:{y:"h",t:"HalfSweet's Blog",i:"home"}}],["/about/",{loader:()=>z(()=>import("./index.html-6gNmrYKw.js"),__vite__mapDeps([2,1])),meta:{y:"p",t:"关于"}}],["/friends/",{loader:()=>z(()=>import("./index.html-W8DPbcPd.js"),__vite__mapDeps([3,1])),meta:{y:"p",t:"友情链接"}}],["/posts/Air32-HAL-MCO/",{loader:()=>z(()=>import("./index.html-75fD8c0W.js"),__vite__mapDeps([4,1])),meta:{a:{name:"HalfSweet",link:"https://github.com/HalfSweet"},d:16925724e5,l:"2023年8月20日",c:["单片机"],g:["Air32","合宙","MCO"],e:`<p>在 <a href="/posts/Air32-HAL-HighFreq/" target="_blank">上篇文章</a> 中,我们把 HAL 库移植给了 Air32,那现在让我们尝试添加一些 HAL 库特有的功能吧,比如这篇文章中描述的<code>MCO</code>。</p>
-`,r:{minutes:2.98,words:893},y:"a",t:"Air32 的 HAL 改造——适配 MCO"}}],["/posts/HelloWorld/",{loader:()=>z(()=>import("./index.html-CufQKtZU.js"),__vite__mapDeps([5,1])),meta:{a:{name:"HalfSweet",link:"https://github.com/HalfSweet"},d:1667251547e3,l:"2022年10月31日",c:["网站"],g:["HelloWorld"],e:`<p>今天搭建好了属于自己的一个博客站,希望今后能保持记录的习惯,写下自己遇到的坑以及收获。这是博客的一个启程,也是自己的一个新起点。</p>
-<p>Hello, HalfSweet!</p>
-`,r:{minutes:.28,words:85},y:"a",t:"HelloWorld"}}],["/posts/STC_CoreMark/",{loader:()=>z(()=>import("./index.html-Bqe7scks.js"),__vite__mapDeps([6,1])),meta:{a:{name:"HalfSweet",link:"https://github.com/HalfSweet"},d:1681493976e3,l:"2023年4月14日",c:["单片机"],g:["STC32","STC8","嵌入式","CoreMark"],e:`<p>最近维护的 Air001 准备上线了,为了衬托出其强大的性价比,因此我想来做点<s>缺德</s>的事,让我们来和同样以高打性价比的 STC 系列单片机来对比下 CoreMark 的跑分吧,本文将会详细介绍移植过程以及跑分结果。测试的 MCU 为<code>降龙棍 STC32G12K128</code>与<code>打狗棒 STC8H8K64U</code>。</p>
-<p>通用,本文同样适用于 Arm-Cortex M 架构的 MCU。</p>
-`,r:{minutes:4.64,words:1391},y:"a",t:"不服来跑个分?将 CoreMark 移植到 STC 上试试"}}],["/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/",{loader:()=>z(()=>import("./index.html-B5-KeVPb.js"),__vite__mapDeps([7,1])),meta:{a:{name:"HalfSweet",link:"https://github.com/HalfSweet"},d:1710525566e3,c:["posts"],g:["碎碎念","郊狼"],e:`<p>最近第三代郊狼开始内测了,作为一名电子爱好者,自然不能错过这个机会。于是我以原价 368 元的主机,以及 128 元两个智能按钮的价格,购买了一套第三代郊狼。</p>
-`,r:{minutes:8.04,words:2412},y:"a",t:"为什么我对第三代郊狼失望"}}],["/posts/Air32-Clion/",{loader:()=>z(()=>import("./index.html-C7FigsQF.js"),__vite__mapDeps([8,1])),meta:{a:{name:"HalfSweet",link:"https://github.com/HalfSweet"},d:16931682e5,l:"2023年8月27日",c:["单片机"],g:["Air32","合宙","Clion"],e:`<p>在上几篇文章中,我们将 HAL 库移植给了 Air32,但是我们的开发环境还是使用的 Keil,这样就会导致一些问题,比如 Keil 的代码提示不够友好,而且 Keil 的代码补全也不够完善,因此我们可以使用一个更好的开发环境,比如 Clion。</p>
-`,r:{minutes:3.08,words:924},y:"a",t:"使用 Clion 来进行 Air32 的开发"}}],["/posts/Air32-HAL-HighFreq/",{loader:()=>z(()=>import("./index.html-DtEE6E7f.js"),__vite__mapDeps([9,1])),meta:{a:{name:"HalfSweet",link:"https://github.com/HalfSweet"},d:16925634e5,l:"2023年8月20日",c:["单片机"],g:["Air32","合宙","超频"],e:`<p>最近打算把 Air32 也吃上 Arduino,发挥全部性能,就不用像是 Air001 那样束手束脚了,但是问题是 Arduino 的库是基于 HAL 的,那要用上 Arduino 就必定得先适配 HAL 库,那我们就来先尝试在 HAL 下让 Air32 跑到最高主频吧。</p>
-`,r:{minutes:5.78,words:1733},y:"a",t:"发挥全部实力!Air32 在 HAL 库环境下运行最高主频"}}],["/posts/embedded_fmtlib/",{loader:()=>z(()=>import("./index.html-0oPRY09N.js"),__vite__mapDeps([10,1])),meta:{a:{name:"HalfSweet",link:"https://github.com/HalfSweet"},d:1675433337e3,l:"2023年2月3日",c:["posts"],g:["fmtlib","嵌入式","ESP8266","ESP32","Arduino","PlatformIO","ESP-IDF"],e:`<p>众所周知,在c++20以上的标准已经支持了<code>std::format</code>进行格式化输出,不过显而易见,嵌入式领域想要得到支持显然遥遥无期。但是我们已经厌倦了使用sprintf等方式来格式化字符串,c++的流特性又显得不够优雅,怎么才能用上类似于Python中format这样的方式来格式化并输出想要的字符串呢。</p>
-`,r:{minutes:4.72,words:1415},y:"a",t:"在嵌入式设备上使用fmtlib"}}],["/posts/conda_novelai/",{loader:()=>z(()=>import("./index.html-DvNCX4dz.js"),__vite__mapDeps([11,1])),meta:{a:{name:"HalfSweet",link:"https://github.com/HalfSweet"},d:1672924756e3,l:"2023年1月5日",c:["AI"],g:["人工智能","novelAI","conda"],e:`<p>最近大家应该都玩过novelAI了,出来的图片质量都非常棒,但是b站大佬给的配置只是打包了的bat文件,但是这显然不符合我们的折腾精神,于是我们来尝试使用conda来进行纯手工配置。</p>
-`,r:{minutes:6.44,words:1933},y:"a",t:"基于conda进行手动配置novelAI"}}],["/posts/EpdTraps1/",{loader:()=>z(()=>import("./index.html-XtQdJJI8.js"),__vite__mapDeps([12,1])),meta:{a:{name:"HalfSweet",link:"https://github.com/HalfSweet"},d:1667712637e3,l:"2022年11月6日",c:["墨水屏"],g:["墨水屏","UC8179","DEPG0750RWU790F30","遇到的坑"],e:`<h2>前言</h2>
-<p>之前在我群里的同学应该都还记得,之前有朋友送给半糖两块7.5寸的墨水屏,其中一块是黑白双色的,标签型号是DEPG0750RWU790F30,驱动芯片则是UC8179。这块屏确实蛮好的,有着高达800*480的分辨率,并且因为是7.5寸所以可视面积非常大,但是在调试的过程中半糖发现了一个问题:这个屏幕的刷新过程中怎么会出现白色条纹,并且刷完的颜色非常怪?</p>
-<p></p>
-<p></p>
-<p>其中上面一张图为我自己做的波形,第二张为使用的OTP波形,但是无一例外,都出现了刷新的问题。抱着也许是驱动板出问题了的想法,我重新lay了一次板子,焊接好之后发现问题确实有所改善,但是并不佳。后续在更换过程中发现采用cd32封装的68uH的电感刷新效果会更好一些,但是依旧存在刷新问题,特别是在UI中有竖着的线条的时候,特别影响观感。</p>`,r:{minutes:6.65,words:1996},y:"a",t:"墨水屏的坑——7.5寸墨水屏刷新为何出现条纹"}}],["/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/",{loader:()=>z(()=>import("./index.html-CnJ0E6b5.js"),__vite__mapDeps([13,1])),meta:{a:{name:"HalfSweet",link:"https://github.com/HalfSweet"},d:1710914609e3,c:["posts"],g:["碎碎念","郊狼"],e:`<p>在上文 <a href="/posts/%E4%B8%BA%E4%BB%80%E4%B9%88%E6%88%91%E5%AF%B9%E7%AC%AC%E4%B8%89%E4%BB%A3%E9%83%8A%E7%8B%BC%E5%A4%B1%E6%9C%9B.html" target="_blank">为什么我对第三代郊狼失望</a> 一文中,我对于第三代郊狼的硬件部分进行了一些初步分析,因为没有详细的一些资料,因此在一些地方可能存在一些错误。在昨晚(2024-03-19)郊狼作者找到我,与我群群友进行了一番友好的长时间地交流,也解答了我对设计上的一些疑问。在本文中我们会逐步分析前文中提到的问题。</p>
-`,r:{minutes:4.96,words:1487},y:"a",t:"对《为什么我对第三代郊狼失望》一文的澄清说明"}}],["/posts/Empedded-CI-CD/",{loader:()=>z(()=>import("./index.html-CFhDcrZp.js"),__vite__mapDeps([14,1])),meta:{a:{name:"HalfSweet",link:"https://github.com/HalfSweet"},d:17046306e5,l:"2024年1月7日",c:["单片机"],g:["Air001","合宙","CI/CD"],e:`<p>对于传统的嵌入式开发来说,我们一般常用的IDE都是诸如Keil、IAR等。这些IDE在方便了我们的开发的同时,也存在很多问题,例如在之前Keil-MDK5是不能跨平台的,仅限在Windows平台运行,并且它的授权也是一个老大难的问题。这样我们在团队协作的时候往往就会遇到很多问题,无法像是互联网的开发那样有一套完整的CI/CD流程。但是MDK6的更新解决了这个问题,第一它是跨平台的,这样在Windows、Linux以及MacOS上都能运行;并且也支持了很多命令行的操作,避免了繁琐的GUI操作,这样也更有利于自动化脚本的编写。</p>
-`,r:{minutes:5.17,words:1550},y:"a",t:"嵌入式中的 CI/CD"}}],["/posts/MDK6-Dev/",{loader:()=>z(()=>import("./index.html-Bd1PkxNi.js"),__vite__mapDeps([15,1])),meta:{a:{name:"HalfSweet",link:"https://github.com/HalfSweet"},d:16924464e5,l:"2023年8月19日",c:["单片机"],g:["Air001","Air32","合宙"],e:`<p>今日,在千呼万唤中,Arm 的 MDK6 桌面端终于出来了,本想作为第一批吃螃蟹的开发者,但是当时 Air32 和 Air001 的烧录均有问题,最后在 Arm 官方的支持下,终于可以正常使用了,那么现在我们就来尝试一下。</p>
-`,r:{minutes:2.42,words:726},y:"a",t:"更现代的开发方式?使用 MDK6 进行开发"}}],["/posts/SEGGER-RTT/",{loader:()=>z(()=>import("./index.html-DJ-_mZ9n.js"),__vite__mapDeps([16,1])),meta:{a:{name:"HalfSweet",link:"https://github.com/HalfSweet"},d:1683384485e3,l:"2023年5月6日",c:["单片机"],g:["Air001","合宙","日志"],e:`<p>在日常的开发中,我们免不了使用各种各样的日志打印方式,使用调试器固然好用,但是无法直接打印局部变量以及会打断整个运行状态。并且对于众多<code>Arduino</code>的用户来说,直接打印日志显然是更直观的做法。但是直接使用串口打印的话需要一定的资源,并且速度会稍慢,并且可能会占用一个串口,对于资源就不多的MCU,我们有没有更方便的方法呢?</p>
-`,r:{minutes:3.44,words:1033},y:"a",t:"更高效的日志查看方式——使用SEGGER-RTT"}}],["/kfGjHcdk36vg74_H/FAE/",{loader:()=>z(()=>import("./index.html-jFzM8lrm.js"),__vite__mapDeps([17,1])),meta:{y:"p",t:"FAE 招聘广告!"}}],["/404.html",{loader:()=>z(()=>import("./404.html-VMfaDGRx.js"),__vite__mapDeps([18,1])),meta:{y:"p",t:""}}],["/posts/",{loader:()=>z(()=>import("./index.html-BaR2aqhq.js"),__vite__mapDeps([19,1])),meta:{y:"p",t:"Posts"}}],["/kfGjHcdk36vg74_H/",{loader:()=>z(()=>import("./index.html-DO2xY2T5.js"),__vite__mapDeps([20,1])),meta:{y:"p",t:"Kf Gj Hcdk36vg74 H"}}],["/category/",{loader:()=>z(()=>import("./index.html-BEwHBlkc.js"),__vite__mapDeps([21,1])),meta:{y:"p",t:"分类",I:!1}}],["/category/%E5%8D%95%E7%89%87%E6%9C%BA/",{loader:()=>z(()=>import("./index.html-DZIt3Q5g.js"),__vite__mapDeps([22,1])),meta:{y:"p",t:"单片机 分类",I:!1}}],["/category/%E7%BD%91%E7%AB%99/",{loader:()=>z(()=>import("./index.html-Dd9JrssL.js"),__vite__mapDeps([23,1])),meta:{y:"p",t:"网站 分类",I:!1}}],["/category/posts/",{loader:()=>z(()=>import("./index.html-BjPOIJdK.js"),__vite__mapDeps([24,1])),meta:{y:"p",t:"posts 分类",I:!1}}],["/category/ai/",{loader:()=>z(()=>import("./index.html-CmtlWOBH.js"),__vite__mapDeps([25,1])),meta:{y:"p",t:"AI 分类",I:!1}}],["/category/%E5%A2%A8%E6%B0%B4%E5%B1%8F/",{loader:()=>z(()=>import("./index.html-CR-9qG2Y.js"),__vite__mapDeps([26,1])),meta:{y:"p",t:"墨水屏 分类",I:!1}}],["/tag/",{loader:()=>z(()=>import("./index.html-CwWDCYUS.js"),__vite__mapDeps([27,1])),meta:{y:"p",t:"标签",I:!1}}],["/tag/air32/",{loader:()=>z(()=>import("./index.html-CptFZpi0.js"),__vite__mapDeps([28,1])),meta:{y:"p",t:"标签: Air32",I:!1}}],["/tag/%E5%90%88%E5%AE%99/",{loader:()=>z(()=>import("./index.html-p6Y7Jm3n.js"),__vite__mapDeps([29,1])),meta:{y:"p",t:"标签: 合宙",I:!1}}],["/tag/mco/",{loader:()=>z(()=>import("./index.html-CIen8cvO.js"),__vite__mapDeps([30,1])),meta:{y:"p",t:"标签: MCO",I:!1}}],["/tag/helloworld/",{loader:()=>z(()=>import("./index.html-BKUs44hv.js"),__vite__mapDeps([31,1])),meta:{y:"p",t:"标签: HelloWorld",I:!1}}],["/tag/stc32/",{loader:()=>z(()=>import("./index.html-D0wSSTgQ.js"),__vite__mapDeps([32,1])),meta:{y:"p",t:"标签: STC32",I:!1}}],["/tag/stc8/",{loader:()=>z(()=>import("./index.html-DqsCIdcm.js"),__vite__mapDeps([33,1])),meta:{y:"p",t:"标签: STC8",I:!1}}],["/tag/%E5%B5%8C%E5%85%A5%E5%BC%8F/",{loader:()=>z(()=>import("./index.html-kUwAIzkD.js"),__vite__mapDeps([34,1])),meta:{y:"p",t:"标签: 嵌入式",I:!1}}],["/tag/coremark/",{loader:()=>z(()=>import("./index.html-BqgjNdmg.js"),__vite__mapDeps([35,1])),meta:{y:"p",t:"标签: CoreMark",I:!1}}],["/tag/%E7%A2%8E%E7%A2%8E%E5%BF%B5/",{loader:()=>z(()=>import("./index.html-DIaDLRqn.js"),__vite__mapDeps([36,1])),meta:{y:"p",t:"标签: 碎碎念",I:!1}}],["/tag/%E9%83%8A%E7%8B%BC/",{loader:()=>z(()=>import("./index.html-DhcL23aG.js"),__vite__mapDeps([37,1])),meta:{y:"p",t:"标签: 郊狼",I:!1}}],["/tag/clion/",{loader:()=>z(()=>import("./index.html-Bk9EBjUw.js"),__vite__mapDeps([38,1])),meta:{y:"p",t:"标签: Clion",I:!1}}],["/tag/%E8%B6%85%E9%A2%91/",{loader:()=>z(()=>import("./index.html-C0X-QC5U.js"),__vite__mapDeps([39,1])),meta:{y:"p",t:"标签: 超频",I:!1}}],["/tag/fmtlib/",{loader:()=>z(()=>import("./index.html-ZwD6xCF4.js"),__vite__mapDeps([40,1])),meta:{y:"p",t:"标签: fmtlib",I:!1}}],["/tag/esp8266/",{loader:()=>z(()=>import("./index.html-BdqadbH8.js"),__vite__mapDeps([41,1])),meta:{y:"p",t:"标签: ESP8266",I:!1}}],["/tag/esp32/",{loader:()=>z(()=>import("./index.html-D7Uf3Wbw.js"),__vite__mapDeps([42,1])),meta:{y:"p",t:"标签: ESP32",I:!1}}],["/tag/arduino/",{loader:()=>z(()=>import("./index.html-CsuDpoYK.js"),__vite__mapDeps([43,1])),meta:{y:"p",t:"标签: Arduino",I:!1}}],["/tag/platformio/",{loader:()=>z(()=>import("./index.html-Dc2bdBF2.js"),__vite__mapDeps([44,1])),meta:{y:"p",t:"标签: PlatformIO",I:!1}}],["/tag/esp-idf/",{loader:()=>z(()=>import("./index.html-BzgkemtD.js"),__vite__mapDeps([45,1])),meta:{y:"p",t:"标签: ESP-IDF",I:!1}}],["/tag/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/",{loader:()=>z(()=>import("./index.html-7uHHiaZx.js"),__vite__mapDeps([46,1])),meta:{y:"p",t:"标签: 人工智能",I:!1}}],["/tag/novelai/",{loader:()=>z(()=>import("./index.html-TGoZudvZ.js"),__vite__mapDeps([47,1])),meta:{y:"p",t:"标签: novelAI",I:!1}}],["/tag/conda/",{loader:()=>z(()=>import("./index.html-DbCWijUV.js"),__vite__mapDeps([48,1])),meta:{y:"p",t:"标签: conda",I:!1}}],["/tag/%E5%A2%A8%E6%B0%B4%E5%B1%8F/",{loader:()=>z(()=>import("./index.html-DOCRL60a.js"),__vite__mapDeps([49,1])),meta:{y:"p",t:"标签: 墨水屏",I:!1}}],["/tag/uc8179/",{loader:()=>z(()=>import("./index.html-B8qYb7wb.js"),__vite__mapDeps([50,1])),meta:{y:"p",t:"标签: UC8179",I:!1}}],["/tag/depg0750rwu790f30/",{loader:()=>z(()=>import("./index.html-CpBdG6tv.js"),__vite__mapDeps([51,1])),meta:{y:"p",t:"标签: DEPG0750RWU790F30",I:!1}}],["/tag/%E9%81%87%E5%88%B0%E7%9A%84%E5%9D%91/",{loader:()=>z(()=>import("./index.html-DdE0h7xo.js"),__vite__mapDeps([52,1])),meta:{y:"p",t:"标签: 遇到的坑",I:!1}}],["/tag/air001/",{loader:()=>z(()=>import("./index.html-BlsdgZAc.js"),__vite__mapDeps([53,1])),meta:{y:"p",t:"标签: Air001",I:!1}}],["/tag/cicd/",{loader:()=>z(()=>import("./index.html-Du74cC6X.js"),__vite__mapDeps([54,1])),meta:{y:"p",t:"标签: CI/CD",I:!1}}],["/tag/%E6%97%A5%E5%BF%97/",{loader:()=>z(()=>import("./index.html-CTp2Oa39.js"),__vite__mapDeps([55,1])),meta:{y:"p",t:"标签: 日志",I:!1}}],["/article/",{loader:()=>z(()=>import("./index.html-Bz73p56D.js"),__vite__mapDeps([56,1])),meta:{y:"p",t:"文章",I:!1}}],["/star/",{loader:()=>z(()=>import("./index.html-BktjQtFB.js"),__vite__mapDeps([57,1])),meta:{y:"p",t:"星标",I:!1}}],["/timeline/",{loader:()=>z(()=>import("./index.html-DPl--Ppt.js"),__vite__mapDeps([58,1])),meta:{y:"p",t:"时间轴",I:!1}}]]);/*!
-  * vue-router v4.3.0
-  * (c) 2024 Eduardo San Martin Morote
-  * @license MIT
-  */const pn=typeof document<"u";function Jp(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const he=Object.assign;function $o(e,t){const n={};for(const r in t){const o=t[r];n[r]=ft(o)?o.map(e):e(o)}return n}const Kn=()=>{},ft=Array.isArray,tc=/#/g,Xp=/&/g,Qp=/\//g,Zp=/=/g,e1=/\?/g,nc=/\+/g,t1=/%5B/g,n1=/%5D/g,rc=/%5E/g,r1=/%60/g,oc=/%7B/g,o1=/%7C/g,lc=/%7D/g,l1=/%20/g;function Bl(e){return encodeURI(""+e).replace(o1,"|").replace(t1,"[").replace(n1,"]")}function s1(e){return Bl(e).replace(oc,"{").replace(lc,"}").replace(rc,"^")}function nl(e){return Bl(e).replace(nc,"%2B").replace(l1,"+").replace(tc,"%23").replace(Xp,"%26").replace(r1,"`").replace(oc,"{").replace(lc,"}").replace(rc,"^")}function a1(e){return nl(e).replace(Zp,"%3D")}function i1(e){return Bl(e).replace(tc,"%23").replace(e1,"%3F")}function c1(e){return e==null?"":i1(e).replace(Qp,"%2F")}function nr(e){try{return decodeURIComponent(""+e)}catch{}return""+e}const u1=/\/$/,f1=e=>e.replace(u1,"");function Ho(e,t,n="/"){let r,o={},l="",s="";const i=t.indexOf("#");let c=t.indexOf("?");return i<c&&i>=0&&(c=-1),c>-1&&(r=t.slice(0,c),l=t.slice(c+1,i>-1?i:t.length),o=e(l)),i>-1&&(r=r||t.slice(0,i),s=t.slice(i,t.length)),r=m1(r??t,n),{fullPath:r+(l&&"?")+l+s,path:r,query:o,hash:nr(s)}}function d1(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function sa(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function p1(e,t,n){const r=t.matched.length-1,o=n.matched.length-1;return r>-1&&r===o&&Cn(t.matched[r],n.matched[o])&&sc(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function Cn(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function sc(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!h1(e[n],t[n]))return!1;return!0}function h1(e,t){return ft(e)?aa(e,t):ft(t)?aa(t,e):e===t}function aa(e,t){return ft(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function m1(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 l=n.length-1,s,i;for(s=0;s<r.length;s++)if(i=r[s],i!==".")if(i==="..")l>1&&l--;else break;return n.slice(0,l).join("/")+"/"+r.slice(s).join("/")}var rr;(function(e){e.pop="pop",e.push="push"})(rr||(rr={}));var Yn;(function(e){e.back="back",e.forward="forward",e.unknown=""})(Yn||(Yn={}));function v1(e){if(!e)if(pn){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),f1(e)}const g1=/^[^#]+#/;function y1(e,t){return e.replace(g1,"#")+t}function b1(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 ho=()=>({left:window.scrollX,top:window.scrollY});function _1(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=b1(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 ia(e,t){return(history.state?history.state.position-t:-1)+e}const rl=new Map;function w1(e,t){rl.set(e,t)}function E1(e){const t=rl.get(e);return rl.delete(e),t}let S1=()=>location.protocol+"//"+location.host;function ac(e,t){const{pathname:n,search:r,hash:o}=t,l=e.indexOf("#");if(l>-1){let i=o.includes(e.slice(l))?e.slice(l).length:1,c=o.slice(i);return c[0]!=="/"&&(c="/"+c),sa(c,"")}return sa(n,e)+r+o}function C1(e,t,n,r){let o=[],l=[],s=null;const i=({state:p})=>{const m=ac(e,location),g=n.value,_=t.value;let E=0;if(p){if(n.value=m,t.value=p,s&&s===g){s=null;return}E=_?p.position-_.position:0}else r(m);o.forEach(y=>{y(n.value,g,{delta:E,type:rr.pop,direction:E?E>0?Yn.forward:Yn.back:Yn.unknown})})};function c(){s=n.value}function u(p){o.push(p);const m=()=>{const g=o.indexOf(p);g>-1&&o.splice(g,1)};return l.push(m),m}function f(){const{history:p}=window;p.state&&p.replaceState(he({},p.state,{scroll:ho()}),"")}function d(){for(const p of l)p();l=[],window.removeEventListener("popstate",i),window.removeEventListener("beforeunload",f)}return window.addEventListener("popstate",i),window.addEventListener("beforeunload",f,{passive:!0}),{pauseListeners:c,listen:u,destroy:d}}function ca(e,t,n,r=!1,o=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:o?ho():null}}function k1(e){const{history:t,location:n}=window,r={value:ac(e,n)},o={value:t.state};o.value||l(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function l(c,u,f){const d=e.indexOf("#"),p=d>-1?(n.host&&document.querySelector("base")?e:e.slice(d))+c:S1()+e+c;try{t[f?"replaceState":"pushState"](u,"",p),o.value=u}catch(m){console.error(m),n[f?"replace":"assign"](p)}}function s(c,u){const f=he({},t.state,ca(o.value.back,c,o.value.forward,!0),u,{position:o.value.position});l(c,f,!0),r.value=c}function i(c,u){const f=he({},o.value,t.state,{forward:c,scroll:ho()});l(f.current,f,!0);const d=he({},ca(r.value,c,null),{position:f.position+1},u);l(c,d,!1),r.value=c}return{location:r,state:o,push:i,replace:s}}function T1(e){e=v1(e);const t=k1(e),n=C1(e,t.state,t.location,t.replace);function r(l,s=!0){s||n.pauseListeners(),history.go(l)}const o=he({location:"",base:e,go:r,createHref:y1.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 A1(e){return typeof e=="string"||e&&typeof e=="object"}function ic(e){return typeof e=="string"||typeof e=="symbol"}const wt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},cc=Symbol("");var ua;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(ua||(ua={}));function kn(e,t){return he(new Error,{type:e,[cc]:!0},t)}function bt(e,t){return e instanceof Error&&cc in e&&(t==null||!!(e.type&t))}const fa="[^/]+?",x1={sensitive:!1,strict:!1,start:!0,end:!0},L1=/[.+*?^${}()[\]/\\]/g;function I1(e,t){const n=he({},x1,t),r=[];let o=n.start?"^":"";const l=[];for(const u of e){const f=u.length?[]:[90];n.strict&&!u.length&&(o+="/");for(let d=0;d<u.length;d++){const p=u[d];let m=40+(n.sensitive?.25:0);if(p.type===0)d||(o+="/"),o+=p.value.replace(L1,"\\$&"),m+=40;else if(p.type===1){const{value:g,repeatable:_,optional:E,regexp:y}=p;l.push({name:g,repeatable:_,optional:E});const C=y||fa;if(C!==fa){m+=10;try{new RegExp(`(${C})`)}catch(T){throw new Error(`Invalid custom RegExp for param "${g}" (${C}): `+T.message)}}let b=_?`((?:${C})(?:/(?:${C}))*)`:`(${C})`;d||(b=E&&u.length<2?`(?:/${b})`:"/"+b),E&&(b+="?"),o+=b,m+=20,E&&(m+=-8),_&&(m+=-20),C===".*"&&(m+=-50)}f.push(m)}r.push(f)}if(n.strict&&n.end){const u=r.length-1;r[u][r[u].length-1]+=.7000000000000001}n.strict||(o+="/?"),n.end?o+="$":n.strict&&(o+="(?:/|$)");const s=new RegExp(o,n.sensitive?"":"i");function i(u){const f=u.match(s),d={};if(!f)return null;for(let p=1;p<f.length;p++){const m=f[p]||"",g=l[p-1];d[g.name]=m&&g.repeatable?m.split("/"):m}return d}function c(u){let f="",d=!1;for(const p of e){(!d||!f.endsWith("/"))&&(f+="/"),d=!1;for(const m of p)if(m.type===0)f+=m.value;else if(m.type===1){const{value:g,repeatable:_,optional:E}=m,y=g in u?u[g]:"";if(ft(y)&&!_)throw new Error(`Provided param "${g}" is an array but it is not repeatable (* or + modifiers)`);const C=ft(y)?y.join("/"):y;if(!C)if(E)p.length<2&&(f.endsWith("/")?f=f.slice(0,-1):d=!0);else throw new Error(`Missing required param "${g}"`);f+=C}}return f||"/"}return{re:s,score:r,keys:l,parse:i,stringify:c}}function P1(e,t){let n=0;for(;n<e.length&&n<t.length;){const r=t[n]-e[n];if(r)return r;n++}return e.length<t.length?e.length===1&&e[0]===80?-1:1:e.length>t.length?t.length===1&&t[0]===80?1:-1:0}function R1(e,t){let n=0;const r=e.score,o=t.score;for(;n<r.length&&n<o.length;){const l=P1(r[n],o[n]);if(l)return l;n++}if(Math.abs(o.length-r.length)===1){if(da(r))return 1;if(da(o))return-1}return o.length-r.length}function da(e){const t=e[e.length-1];return e.length>0&&t[t.length-1]<0}const M1={type:0,value:""},O1=/[a-zA-Z0-9_]/;function $1(e){if(!e)return[[]];if(e==="/")return[[M1]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(m){throw new Error(`ERR (${n})/"${u}": ${m}`)}let n=0,r=n;const o=[];let l;function s(){l&&o.push(l),l=[]}let i=0,c,u="",f="";function d(){u&&(n===0?l.push({type:0,value:u}):n===1||n===2||n===3?(l.length>1&&(c==="*"||c==="+")&&t(`A repeatable param (${u}) must be alone in its segment. eg: '/:ids+.`),l.push({type:1,value:u,regexp:f,repeatable:c==="*"||c==="+",optional:c==="*"||c==="?"})):t("Invalid state to consume buffer"),u="")}function p(){u+=c}for(;i<e.length;){if(c=e[i++],c==="\\"&&n!==2){r=n,n=4;continue}switch(n){case 0:c==="/"?(u&&d(),s()):c===":"?(d(),n=1):p();break;case 4:p(),n=r;break;case 1:c==="("?n=2:O1.test(c)?p():(d(),n=0,c!=="*"&&c!=="?"&&c!=="+"&&i--);break;case 2:c===")"?f[f.length-1]=="\\"?f=f.slice(0,-1)+c:n=3:f+=c;break;case 3:d(),n=0,c!=="*"&&c!=="?"&&c!=="+"&&i--,f="";break;default:t("Unknown state");break}}return n===2&&t(`Unfinished custom RegExp for param "${u}"`),d(),s(),o}function H1(e,t,n){const r=I1($1(e.path),n),o=he(r,{record:e,parent:t,children:[],alias:[]});return t&&!o.record.aliasOf==!t.record.aliasOf&&t.children.push(o),o}function D1(e,t){const n=[],r=new Map;t=ma({strict:!1,end:!0,sensitive:!1},t);function o(f){return r.get(f)}function l(f,d,p){const m=!p,g=N1(f);g.aliasOf=p&&p.record;const _=ma(t,f),E=[g];if("alias"in f){const b=typeof f.alias=="string"?[f.alias]:f.alias;for(const T of b)E.push(he({},g,{components:p?p.record.components:g.components,path:T,aliasOf:p?p.record:g}))}let y,C;for(const b of E){const{path:T}=b;if(d&&T[0]!=="/"){const D=d.record.path,k=D[D.length-1]==="/"?"":"/";b.path=d.record.path+(T&&k+T)}if(y=H1(b,d,_),p?p.alias.push(y):(C=C||y,C!==y&&C.alias.push(y),m&&f.name&&!ha(y)&&s(f.name)),g.children){const D=g.children;for(let k=0;k<D.length;k++)l(D[k],y,p&&p.children[k])}p=p||y,(y.record.components&&Object.keys(y.record.components).length||y.record.name||y.record.redirect)&&c(y)}return C?()=>{s(C)}:Kn}function s(f){if(ic(f)){const d=r.get(f);d&&(r.delete(f),n.splice(n.indexOf(d),1),d.children.forEach(s),d.alias.forEach(s))}else{const d=n.indexOf(f);d>-1&&(n.splice(d,1),f.record.name&&r.delete(f.record.name),f.children.forEach(s),f.alias.forEach(s))}}function i(){return n}function c(f){let d=0;for(;d<n.length&&R1(f,n[d])>=0&&(f.record.path!==n[d].record.path||!uc(f,n[d]));)d++;n.splice(d,0,f),f.record.name&&!ha(f)&&r.set(f.record.name,f)}function u(f,d){let p,m={},g,_;if("name"in f&&f.name){if(p=r.get(f.name),!p)throw kn(1,{location:f});_=p.record.name,m=he(pa(d.params,p.keys.filter(C=>!C.optional).concat(p.parent?p.parent.keys.filter(C=>C.optional):[]).map(C=>C.name)),f.params&&pa(f.params,p.keys.map(C=>C.name))),g=p.stringify(m)}else if(f.path!=null)g=f.path,p=n.find(C=>C.re.test(g)),p&&(m=p.parse(g),_=p.record.name);else{if(p=d.name?r.get(d.name):n.find(C=>C.re.test(d.path)),!p)throw kn(1,{location:f,currentLocation:d});_=p.record.name,m=he({},d.params,f.params),g=p.stringify(m)}const E=[];let y=p;for(;y;)E.unshift(y.record),y=y.parent;return{name:_,path:g,params:m,matched:E,meta:F1(E)}}return e.forEach(f=>l(f)),{addRoute:l,resolve:u,removeRoute:s,getRoutes:i,getRecordMatcher:o}}function pa(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function N1(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:B1(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 B1(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 ha(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function F1(e){return e.reduce((t,n)=>he(t,n.meta),{})}function ma(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function uc(e,t){return t.children.some(n=>n===e||uc(e,n))}function z1(e){const t={};if(e===""||e==="?")return t;const r=(e[0]==="?"?e.slice(1):e).split("&");for(let o=0;o<r.length;++o){const l=r[o].replace(nc," "),s=l.indexOf("="),i=nr(s<0?l:l.slice(0,s)),c=s<0?null:nr(l.slice(s+1));if(i in t){let u=t[i];ft(u)||(u=t[i]=[u]),u.push(c)}else t[i]=c}return t}function va(e){let t="";for(let n in e){const r=e[n];if(n=a1(n),r==null){r!==void 0&&(t+=(t.length?"&":"")+n);continue}(ft(r)?r.map(l=>l&&nl(l)):[r&&nl(r)]).forEach(l=>{l!==void 0&&(t+=(t.length?"&":"")+n,l!=null&&(t+="="+l))})}return t}function V1(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=ft(r)?r.map(o=>o==null?null:""+o):r==null?r:""+r)}return t}const j1=Symbol(""),ga=Symbol(""),mo=Symbol(""),Fl=Symbol(""),ol=Symbol("");function Dn(){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 Ht(e,t,n,r,o,l=s=>s()){const s=r&&(r.enterCallbacks[o]=r.enterCallbacks[o]||[]);return()=>new Promise((i,c)=>{const u=p=>{p===!1?c(kn(4,{from:n,to:t})):p instanceof Error?c(p):A1(p)?c(kn(2,{from:t,to:p})):(s&&r.enterCallbacks[o]===s&&typeof p=="function"&&s.push(p),i())},f=l(()=>e.call(r&&r.instances[o],t,n,u));let d=Promise.resolve(f);e.length<3&&(d=d.then(u)),d.catch(p=>c(p))})}function Do(e,t,n,r,o=l=>l()){const l=[];for(const s of e)for(const i in s.components){let c=s.components[i];if(!(t!=="beforeRouteEnter"&&!s.instances[i]))if(G1(c)){const f=(c.__vccOpts||c)[t];f&&l.push(Ht(f,n,r,s,i,o))}else{let u=c();l.push(()=>u.then(f=>{if(!f)return Promise.reject(new Error(`Couldn't resolve component "${i}" at "${s.path}"`));const d=Jp(f)?f.default:f;s.components[i]=d;const m=(d.__vccOpts||d)[t];return m&&Ht(m,n,r,s,i,o)()}))}}return l}function G1(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function ya(e){const t=we(mo),n=we(Fl),r=w(()=>t.resolve(it(e.to))),o=w(()=>{const{matched:c}=r.value,{length:u}=c,f=c[u-1],d=n.matched;if(!f||!d.length)return-1;const p=d.findIndex(Cn.bind(null,f));if(p>-1)return p;const m=ba(c[u-2]);return u>1&&ba(f)===m&&d[d.length-1].path!==m?d.findIndex(Cn.bind(null,c[u-2])):p}),l=w(()=>o.value>-1&&K1(n.params,r.value.params)),s=w(()=>o.value>-1&&o.value===n.matched.length-1&&sc(n.params,r.value.params));function i(c={}){return W1(c)?t[it(e.replace)?"replace":"push"](it(e.to)).catch(Kn):Promise.resolve()}return{route:r,href:w(()=>r.value.href),isActive:l,isExactActive:s,navigate:i}}const U1=M({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:ya,setup(e,{slots:t}){const n=ur(ya(e)),{options:r}=we(mo),o=w(()=>({[_a(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[_a(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const l=t.default&&t.default(n);return e.custom?l:a("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:o.value},l)}}}),q1=U1;function W1(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 K1(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(!ft(o)||o.length!==r.length||r.some((l,s)=>l!==o[s]))return!1}return!0}function ba(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const _a=(e,t,n)=>e??t??n,Y1=M({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=we(ol),o=w(()=>e.route||r.value),l=we(ga,0),s=w(()=>{let u=it(l);const{matched:f}=o.value;let d;for(;(d=f[u])&&!d.components;)u++;return u}),i=w(()=>o.value.matched[s.value]);ut(ga,w(()=>s.value+1)),ut(j1,i),ut(ol,o);const c=Q();return fe(()=>[c.value,i.value,e.name],([u,f,d],[p,m,g])=>{f&&(f.instances[d]=u,m&&m!==f&&u&&u===p&&(f.leaveGuards.size||(f.leaveGuards=m.leaveGuards),f.updateGuards.size||(f.updateGuards=m.updateGuards))),u&&f&&(!m||!Cn(f,m)||!p)&&(f.enterCallbacks[d]||[]).forEach(_=>_(u))},{flush:"post"}),()=>{const u=o.value,f=e.name,d=i.value,p=d&&d.components[f];if(!p)return wa(n.default,{Component:p,route:u});const m=d.props[f],g=m?m===!0?u.params:typeof m=="function"?m(u):m:null,E=a(p,he({},g,t,{onVnodeUnmounted:y=>{y.component.isUnmounted&&(d.instances[f]=null)},ref:c}));return wa(n.default,{Component:E,route:u})||E}}});function wa(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const J1=Y1;function X1(e){const t=D1(e.routes,e),n=e.parseQuery||z1,r=e.stringifyQuery||va,o=e.history,l=Dn(),s=Dn(),i=Dn(),c=Fe(wt);let u=wt;pn&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const f=$o.bind(null,x=>""+x),d=$o.bind(null,c1),p=$o.bind(null,nr);function m(x,V){let B,U;return ic(x)?(B=t.getRecordMatcher(x),U=V):U=x,t.addRoute(U,B)}function g(x){const V=t.getRecordMatcher(x);V&&t.removeRoute(V)}function _(){return t.getRoutes().map(x=>x.record)}function E(x){return!!t.getRecordMatcher(x)}function y(x,V){if(V=he({},V||c.value),typeof x=="string"){const v=Ho(n,x,V.path),S=t.resolve({path:v.path},V),L=o.createHref(v.fullPath);return he(v,S,{params:p(S.params),hash:nr(v.hash),redirectedFrom:void 0,href:L})}let B;if(x.path!=null)B=he({},x,{path:Ho(n,x.path,V.path).path});else{const v=he({},x.params);for(const S in v)v[S]==null&&delete v[S];B=he({},x,{params:d(v)}),V.params=d(V.params)}const U=t.resolve(B,V),pe=x.hash||"";U.params=f(p(U.params));const Ee=d1(r,he({},x,{hash:s1(pe),path:U.path})),h=o.createHref(Ee);return he({fullPath:Ee,hash:pe,query:r===va?V1(x.query):x.query||{}},U,{redirectedFrom:void 0,href:h})}function C(x){return typeof x=="string"?Ho(n,x,c.value.path):he({},x)}function b(x,V){if(u!==x)return kn(8,{from:V,to:x})}function T(x){return G(x)}function D(x){return T(he(C(x),{replace:!0}))}function k(x){const V=x.matched[x.matched.length-1];if(V&&V.redirect){const{redirect:B}=V;let U=typeof B=="function"?B(x):B;return typeof U=="string"&&(U=U.includes("?")||U.includes("#")?U=C(U):{path:U},U.params={}),he({query:x.query,hash:x.hash,params:U.path!=null?{}:x.params},U)}}function G(x,V){const B=u=y(x),U=c.value,pe=x.state,Ee=x.force,h=x.replace===!0,v=k(B);if(v)return G(he(C(v),{state:typeof v=="object"?he({},pe,v.state):pe,force:Ee,replace:h}),V||B);const S=B;S.redirectedFrom=V;let L;return!Ee&&p1(r,U,B)&&(L=kn(16,{to:S,from:U}),dt(U,U,!0,!1)),(L?Promise.resolve(L):P(S,U)).catch(A=>bt(A)?bt(A,2)?A:At(A):q(A,S,U)).then(A=>{if(A){if(bt(A,2))return G(he({replace:h},C(A.to),{state:typeof A.to=="object"?he({},pe,A.to.state):pe,force:Ee}),V||S)}else A=$(S,U,!0,h,pe);return J(S,U,A),A})}function N(x,V){const B=b(x,V);return B?Promise.reject(B):Promise.resolve()}function Y(x){const V=un.values().next().value;return V&&typeof V.runWithContext=="function"?V.runWithContext(x):x()}function P(x,V){let B;const[U,pe,Ee]=Q1(x,V);B=Do(U.reverse(),"beforeRouteLeave",x,V);for(const v of U)v.leaveGuards.forEach(S=>{B.push(Ht(S,x,V))});const h=N.bind(null,x,V);return B.push(h),De(B).then(()=>{B=[];for(const v of l.list())B.push(Ht(v,x,V));return B.push(h),De(B)}).then(()=>{B=Do(pe,"beforeRouteUpdate",x,V);for(const v of pe)v.updateGuards.forEach(S=>{B.push(Ht(S,x,V))});return B.push(h),De(B)}).then(()=>{B=[];for(const v of Ee)if(v.beforeEnter)if(ft(v.beforeEnter))for(const S of v.beforeEnter)B.push(Ht(S,x,V));else B.push(Ht(v.beforeEnter,x,V));return B.push(h),De(B)}).then(()=>(x.matched.forEach(v=>v.enterCallbacks={}),B=Do(Ee,"beforeRouteEnter",x,V,Y),B.push(h),De(B))).then(()=>{B=[];for(const v of s.list())B.push(Ht(v,x,V));return B.push(h),De(B)}).catch(v=>bt(v,8)?v:Promise.reject(v))}function J(x,V,B){i.list().forEach(U=>Y(()=>U(x,V,B)))}function $(x,V,B,U,pe){const Ee=b(x,V);if(Ee)return Ee;const h=V===wt,v=pn?history.state:{};B&&(U||h?o.replace(x.fullPath,he({scroll:h&&v&&v.scroll},pe)):o.push(x.fullPath,pe)),c.value=x,dt(x,V,B,h),At()}let Z;function Ae(){Z||(Z=o.listen((x,V,B)=>{if(!xr.listening)return;const U=y(x),pe=k(U);if(pe){G(he(pe,{replace:!0}),U).catch(Kn);return}u=U;const Ee=c.value;pn&&w1(ia(Ee.fullPath,B.delta),ho()),P(U,Ee).catch(h=>bt(h,12)?h:bt(h,2)?(G(h.to,U).then(v=>{bt(v,20)&&!B.delta&&B.type===rr.pop&&o.go(-1,!1)}).catch(Kn),Promise.reject()):(B.delta&&o.go(-B.delta,!1),q(h,U,Ee))).then(h=>{h=h||$(U,Ee,!1),h&&(B.delta&&!bt(h,8)?o.go(-B.delta,!1):B.type===rr.pop&&bt(h,20)&&o.go(-1,!1)),J(U,Ee,h)}).catch(Kn)}))}let xe=Dn(),W=Dn(),re;function q(x,V,B){At(x);const U=W.list();return U.length?U.forEach(pe=>pe(x,V,B)):console.error(x),Promise.reject(x)}function lt(){return re&&c.value!==wt?Promise.resolve():new Promise((x,V)=>{xe.add([x,V])})}function At(x){return re||(re=!x,Ae(),xe.list().forEach(([V,B])=>x?B(x):V()),xe.reset()),x}function dt(x,V,B,U){const{scrollBehavior:pe}=e;if(!pn||!pe)return Promise.resolve();const Ee=!B&&E1(ia(x.fullPath,0))||(U||!B)&&history.state&&history.state.scroll||null;return ln().then(()=>pe(x,V,Ee)).then(h=>h&&_1(h)).catch(h=>q(h,x,V))}const Ve=x=>o.go(x);let cn;const un=new Set,xr={currentRoute:c,listening:!0,addRoute:m,removeRoute:g,hasRoute:E,getRoutes:_,resolve:y,options:e,push:T,replace:D,go:Ve,back:()=>Ve(-1),forward:()=>Ve(1),beforeEach:l.add,beforeResolve:s.add,afterEach:i.add,onError:W.add,isReady:lt,install(x){const V=this;x.component("RouterLink",q1),x.component("RouterView",J1),x.config.globalProperties.$router=V,Object.defineProperty(x.config.globalProperties,"$route",{enumerable:!0,get:()=>it(c)}),pn&&!cn&&c.value===wt&&(cn=!0,T(o.location).catch(pe=>{}));const B={};for(const pe in wt)Object.defineProperty(B,pe,{get:()=>c.value[pe],enumerable:!0});x.provide(mo,V),x.provide(Fl,ui(B)),x.provide(ol,c);const U=x.unmount;un.add(x),x.unmount=function(){un.delete(x),un.size<1&&(u=wt,Z&&Z(),Z=null,c.value=wt,cn=!1,re=!1),U()}}};function De(x){return x.reduce((V,B)=>V.then(()=>Y(B)),Promise.resolve())}return xr}function Q1(e,t){const n=[],r=[],o=[],l=Math.max(t.matched.length,e.matched.length);for(let s=0;s<l;s++){const i=t.matched[s];i&&(e.matched.find(u=>Cn(u,i))?r.push(i):n.push(i));const c=e.matched[s];c&&(t.matched.find(u=>Cn(u,c))||o.push(c))}return[n,r,o]}function kt(){return we(mo)}function jt(){return we(Fl)}var zl=Symbol(""),yt=()=>{const e=we(zl);if(!e)throw new Error("useClientData() is called without provider.");return e},Z1=()=>yt().pageComponent,de=()=>yt().pageData,ve=()=>yt().pageFrontmatter,e0=()=>yt().pageHead,vo=()=>yt().pageLang,t0=()=>yt().pageLayout,Tt=()=>yt().routeLocale,n0=()=>yt().routes,fc=()=>yt().siteData,vr=()=>yt().siteLocaleData,r0=Symbol(""),dc=Fe(Kp),or=Fe(Yp),pc=e=>{const t=jp(e);if(or.value[t])return t;const n=encodeURI(t);return or.value[n]?n:dc.value[t]||t},Rn=e=>{const t=pc(e),n=or.value[t]??{...or.value["/404.html"],notFound:!0};return{path:t,notFound:!1,...n}},go=M({name:"ClientOnly",setup(e,t){const n=Q(!1);return me(()=>{n.value=!0}),()=>{var r,o;return n.value?(o=(r=t.slots).default)==null?void 0:o.call(r):null}}}),hc=M({name:"Content",props:{path:{type:String,required:!1,default:""}},setup(e){const t=Z1(),n=w(()=>{if(!e.path)return t.value;const r=Rn(e.path);return fd(()=>r.loader().then(({comp:o})=>o))});return()=>a(n.value)}}),be=e=>gt(e)?e:`/${ec(e)}`,o0=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}},ke=({active:e=!1,activeClass:t="route-link-active",to:n,...r},{slots:o})=>{var i;const l=kt(),s=be(pc(n));return a("a",{...r,class:["route-link",{[t]:e}],href:s,onClick:(c={})=>{o0(c)?l.push(n).catch():Promise.resolve()}},(i=o.default)==null?void 0:i.call(o))};ke.displayName="RouteLink";ke.props={active:Boolean,activeClass:String,to:String};var l0="Layout",s0="en-US",Yt=ur({resolveLayouts:e=>e.reduce((t,n)=>({...t,...n.layouts}),{}),resolvePageHead:(e,t,n)=>{const r=_e(t.description)?t.description:n.description,o=[...Array.isArray(t.head)?t.head:[],...n.head,["title",{},e],["meta",{name:"description",content:r}]];return Fp(o)},resolvePageHeadTitle:(e,t)=>[e.title,t.title].filter(n=>!!n).join(" | "),resolvePageLang:(e,t)=>e.lang||t.lang||s0,resolvePageLayout:(e,t)=>{const n=_e(e.frontmatter.layout)?e.frontmatter.layout:l0;if(!t[n])throw new Error(`[vuepress] Cannot resolve layout: ${n}`);return t[n]},resolveRouteLocale:(e,t)=>Gp(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 a0={};var ot=(e={})=>e;const sn=e=>{const t=Tt();return w(()=>e[t.value]??{})},Le=(e,t)=>{var r;const n=(r=(t==null?void 0:t._instance)||pr())==null?void 0:r.appContext.components;return n?e in n||qe(e)in n||cr(qe(e))in n:!1},mc=e=>new Promise(t=>setTimeout(t,e)),vc=e=>typeof e<"u",No=e=>typeof e=="number",ro=Array.isArray,Tn=(e,t)=>_e(e)&&e.startsWith(t),gc=(e,t)=>_e(e)&&e.endsWith(t),Gt=Object.entries,i0=Object.fromEntries,rt=Object.keys,Vl=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},gr=e=>Tn(e,"/");var c0=M({name:"FontIcon",props:{icon:{type:String,default:""},color:{type:String,default:""},size:{type:[String,Number],default:""}},setup(e){const t=w(()=>{const r=["font-icon icon"],o=`${e.icon}`;return r.push(o),r}),n=w(()=>{const r={};return e.color&&(r.color=e.color),e.size&&(r["font-size"]=Number.isNaN(Number(e.size))?e.size:`${e.size}px`),rt(r).length?r:null});return()=>e.icon?a("span",{key:e.icon,class:t.value,style:n.value}):null}});const ue=({name:e="",color:t="currentColor"},{slots:n})=>{var r;return a("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))};ue.displayName="IconBase";const yr=({size:e=48,stroke:t=4,wrapper:n=!0,height:r=2*e})=>{const o=a("svg",{xmlns:"http://www.w3.org/2000/svg",width:e,height:e,preserveAspectRatio:"xMidYMid",viewBox:"25 25 50 50"},[a("animateTransform",{attributeName:"transform",type:"rotate",dur:"2s",keyTimes:"0;1",repeatCount:"indefinite",values:"0;360"}),a("circle",{cx:"50",cy:"50",r:"20",fill:"none",stroke:"currentColor","stroke-width":t,"stroke-linecap":"round"},[a("animate",{attributeName:"stroke-dasharray",dur:"1.5s",keyTimes:"0;0.5;1",repeatCount:"indefinite",values:"1,200;90,200;1,200"}),a("animate",{attributeName:"stroke-dashoffset",dur:"1.5s",keyTimes:"0;0.5;1",repeatCount:"indefinite",values:"0;-35px;-125px"})])]);return n?a("div",{class:"loading-icon-wrapper",style:`display:flex;align-items:center;justify-content:center;height:${r}px`},o):o};yr.displayName="LoadingIcon";const yc=(e,{slots:t})=>{var n;return(n=t.default)==null?void 0:n.call(t)},jl=()=>a(ue,{name:"github"},()=>a("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"}));jl.displayName="GitHubIcon";const Gl=()=>a(ue,{name:"gitlab"},()=>a("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"}));Gl.displayName="GitLabIcon";const Ul=()=>a(ue,{name:"gitee"},()=>a("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"}));Ul.displayName="GiteeIcon";const ql=()=>a(ue,{name:"bitbucket"},()=>a("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"}));ql.displayName="BitbucketIcon";const Wl=()=>a(ue,{name:"source"},()=>a("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"}));Wl.displayName="SourceIcon";const u0=e=>/\b(?:Android|iPhone)/i.test(e),f0=e=>/version\/([\w.]+) .*(mobile ?safari|safari)/i.test(e),d0=e=>[/\((ipad);[-\w),; ]+apple/i,/applecoremedia\/[\w.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i].some(t=>t.test(e)),yo=(e,t)=>{let n=1;for(let r=0;r<e.length;r++)n+=e.charCodeAt(r),n+=n<<10,n^=n>>6;return n+=n<<3,n^=n>>11,n%t};let p0=class{constructor(){this.messageElements={};const t="message-container",n=document.getElementById(t);n?this.containerElement=n:(this.containerElement=document.createElement("div"),this.containerElement.id=t,document.body.appendChild(this.containerElement))}pop(t,n=2e3){const r=document.createElement("div"),o=Date.now();return r.className="message move-in",r.innerHTML=t,this.containerElement.appendChild(r),this.messageElements[o]=r,n>0&&setTimeout(()=>{this.close(o)},n),o}close(t){if(t){const n=this.messageElements[t];n.classList.remove("move-in"),n.classList.add("move-out"),n.addEventListener("animationend",()=>{n.remove(),delete this.messageElements[t]})}else rt(this.messageElements).forEach(n=>this.close(Number(n)))}destroy(){document.body.removeChild(this.containerElement)}};const bc=/#.*$/u,h0=e=>{const t=bc.exec(e);return t?t[0]:""},Ea=e=>decodeURI(e).replace(bc,"").replace(/\/index\.html$/iu,"/").replace(/\.html$/iu,"").replace(/(README|index)?\.md$/iu,""),_c=(e,t)=>{if(!vc(t))return!1;const n=Ea(e.path),r=Ea(t),o=h0(t);return o?o===e.hash&&(!r||n===r):n===r};let m0=class{constructor(){this.popupElements={};const t="popup-container",n=document.getElementById(t);n?this.containerElement=n:(this.containerElement=document.createElement("div"),this.containerElement.id=t,document.body.appendChild(this.containerElement))}emit(t,n){const r=document.createElement("div"),o=document.createElement("div"),l=Date.now();return this.containerElement.appendChild(r),this.popupElements[l]=r,r.className="popup-wrapper appear",r.appendChild(o),r.addEventListener("click",()=>this.close(l)),o.className="popup-container",o.innerHTML=t,typeof n=="number"&&setTimeout(()=>{this.close(l)},n),l}close(t){if(t){const n=this.popupElements[t];n.classList.replace("appear","disappear"),n.children[0].addEventListener("animationend",()=>{n.remove(),delete this.popupElements[t]})}else rt(this.popupElements).forEach(n=>this.close(Number(n)))}destroy(){document.body.removeChild(this.containerElement)}};const v0=e=>gt(e)?e:`https://github.com/${e}`,Kl=e=>!gt(e)||/github\.com/.test(e)?"GitHub":/bitbucket\.org/.test(e)?"Bitbucket":/gitlab\.com/.test(e)?"GitLab":/gitee\.com/.test(e)?"Gitee":null,g0=()=>{const{availWidth:e,availHeight:t}=screen,{screenLeft:n,screenTop:r,innerWidth:o,innerHeight:l}=window,s=Math.max(e/2,600),i=Math.max(t/2,400);return{width:s,height:i,left:n+o/2-s/2,top:r+l/2-i/2}},y0=(e,t="_blank",n=["resizable","status"])=>{var i,c;const{width:r,height:o,left:l,top:s}=g0();(c=(i=window.open(e,t,`width=${r},height=${o},left=${l},top=${s},${n.join(",")}`))==null?void 0:i.focus)==null||c.call(i)};var b0=e=>Object.prototype.toString.call(e)==="[object Object]",lr=e=>typeof e=="string";const wc=Array.isArray,Sa=e=>b0(e)&&lr(e.name),sr=(e,t=!1)=>e?wc(e)?e.map(n=>lr(n)?{name:n}:Sa(n)?n:null).filter(n=>n!==null):lr(e)?[{name:e}]:Sa(e)?[e]:(console.error(`Expect "author" to be \`AuthorInfo[] | AuthorInfo | string[] | string ${t?"":"| false"} | undefined\`, but got`,e),[]):[],Ec=(e,t)=>{if(e){if(wc(e)&&e.every(lr))return e;if(lr(e))return[e];console.error(`Expect ${t||"value"} to be \`string[] | string | undefined\`, but got`,e)}return[]},Sc=e=>Ec(e,"category"),Cc=e=>Ec(e,"tag"),oo=e=>gt(e)?e:be(e);function kc(e,t){let n,r,o;const l=Q(!0),s=()=>{l.value=!0,o()};fe(e,s,{flush:"sync"});const i=typeof t=="function"?t:t.get,c=typeof t=="function"?void 0:t.set,u=Ll((f,d)=>(r=f,o=d,{get(){return l.value&&(n=i(),l.value=!1),r(),n},set(p){c==null||c(p)}}));return Object.isExtensible(u)&&(u.trigger=s),u}function Mn(e){return Qa()?(yf(e),!0):!1}function Ge(e){return typeof e=="function"?e():it(e)}const br=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const _0=Object.prototype.toString,w0=e=>_0.call(e)==="[object Object]",An=()=>{},Ca=E0();function E0(){var e,t;return br&&((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 Yl(e,t){function n(...r){return new Promise((o,l)=>{Promise.resolve(e(()=>t.apply(this,r),{fn:t,thisArg:this,args:r})).then(o).catch(l)})}return n}const Tc=e=>e();function S0(e,t={}){let n,r,o=An;const l=i=>{clearTimeout(i),o(),o=An};return i=>{const c=Ge(e),u=Ge(t.maxWait);return n&&l(n),c<=0||u!==void 0&&u<=0?(r&&(l(r),r=null),Promise.resolve(i())):new Promise((f,d)=>{o=t.rejectOnCancel?d:f,u&&!r&&(r=setTimeout(()=>{n&&l(n),r=null,f(i())},u)),n=setTimeout(()=>{r&&l(r),r=null,f(i())},c)})}}function C0(...e){let t=0,n,r=!0,o=An,l,s,i,c,u;!Re(e[0])&&typeof e[0]=="object"?{delay:s,trailing:i=!0,leading:c=!0,rejectOnCancel:u=!1}=e[0]:[s,i=!0,c=!0,u=!1]=e;const f=()=>{n&&(clearTimeout(n),n=void 0,o(),o=An)};return p=>{const m=Ge(s),g=Date.now()-t,_=()=>l=p();return f(),m<=0?(t=Date.now(),_()):(g>m&&(c||!r)?(t=Date.now(),_()):i&&(l=new Promise((E,y)=>{o=u?y:E,n=setTimeout(()=>{t=Date.now(),r=!0,E(_()),f()},Math.max(0,m-g))})),!c&&!n&&(n=setTimeout(()=>r=!0,m)),r=!1,l)}}function k0(e=Tc){const t=Q(!0);function n(){t.value=!1}function r(){t.value=!0}const o=(...l)=>{t.value&&e(...l)};return{isActive:on(t),pause:n,resume:r,eventFilter:o}}function T0(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 A0(e){return e||pr()}function x0(...e){if(e.length!==1)return Ln(...e);const t=e[0];return typeof t=="function"?on(Ll(()=>({get:t,set:An}))):Q(t)}function L0(e,t=200,n={}){return Yl(S0(t,n),e)}function I0(e,t=200,n=!1,r=!0,o=!1){return Yl(C0(t,n,r,o),e)}function P0(e,t,n={}){const{eventFilter:r=Tc,...o}=n;return fe(e,Yl(r,t),o)}function R0(e,t,n={}){const{eventFilter:r,...o}=n,{eventFilter:l,pause:s,resume:i,isActive:c}=k0(r);return{stop:P0(e,t,{...o,eventFilter:l}),pause:s,resume:i,isActive:c}}function Jl(e,t=!0,n){A0()?me(e,n):t?e():ln(e)}function M0(e,t,n={}){const{immediate:r=!0}=n,o=Q(!1);let l=null;function s(){l&&(clearTimeout(l),l=null)}function i(){o.value=!1,s()}function c(...u){s(),o.value=!0,l=setTimeout(()=>{o.value=!1,l=null,e(...u)},Ge(t))}return r&&(o.value=!0,br&&c()),Mn(i),{isPending:on(o),start:c,stop:i}}function ll(e=!1,t={}){const{truthyValue:n=!0,falsyValue:r=!1}=t,o=Re(e),l=Q(e);function s(i){if(arguments.length)return l.value=i,l.value;{const c=Ge(n);return l.value=l.value===c?Ge(r):c,l.value}}return o?s:[l,s]}function Et(e){var t;const n=Ge(e);return(t=n==null?void 0:n.$el)!=null?t:n}const Vt=br?window:void 0,O0=br?window.document:void 0,Ac=br?window.navigator:void 0;function Me(...e){let t,n,r,o;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,r,o]=e,t=Vt):[t,n,r,o]=e,!t)return An;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const l=[],s=()=>{l.forEach(f=>f()),l.length=0},i=(f,d,p,m)=>(f.addEventListener(d,p,m),()=>f.removeEventListener(d,p,m)),c=fe(()=>[Et(t),Ge(o)],([f,d])=>{if(s(),!f)return;const p=w0(d)?{...d}:d;l.push(...n.flatMap(m=>r.map(g=>i(f,m,g,p))))},{immediate:!0,flush:"post"}),u=()=>{c(),s()};return Mn(u),u}function $0(){const e=Q(!1),t=pr();return t&&me(()=>{e.value=!0},t),e}function _r(e){const t=$0();return w(()=>(t.value,!!e()))}function xc(e,t={}){const{window:n=Vt}=t,r=_r(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let o;const l=Q(!1),s=u=>{l.value=u.matches},i=()=>{o&&("removeEventListener"in o?o.removeEventListener("change",s):o.removeListener(s))},c=Si(()=>{r.value&&(i(),o=n.matchMedia(Ge(e)),"addEventListener"in o?o.addEventListener("change",s):o.addListener(s),l.value=o.matches)});return Mn(()=>{c(),i(),o=void 0}),l}function ka(e,t={}){const{controls:n=!1,navigator:r=Ac}=t,o=_r(()=>r&&"permissions"in r);let l;const s=typeof e=="string"?{name:e}:e,i=Q(),c=()=>{l&&(i.value=l.state)},u=T0(async()=>{if(o.value){if(!l)try{l=await r.permissions.query(s),Me(l,"change",c),c()}catch{i.value="prompt"}return l}});return u(),n?{state:i,isSupported:o,query:u}:i}function H0(e={}){const{navigator:t=Ac,read:n=!1,source:r,copiedDuring:o=1500,legacy:l=!1}=e,s=_r(()=>t&&"clipboard"in t),i=ka("clipboard-read"),c=ka("clipboard-write"),u=w(()=>s.value||l),f=Q(""),d=Q(!1),p=M0(()=>d.value=!1,o);function m(){s.value&&y(i.value)?t.clipboard.readText().then(C=>{f.value=C}):f.value=E()}u.value&&n&&Me(["copy","cut"],m);async function g(C=Ge(r)){u.value&&C!=null&&(s.value&&y(c.value)?await t.clipboard.writeText(C):_(C),f.value=C,d.value=!0,p.start())}function _(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 E(){var C,b,T;return(T=(b=(C=document==null?void 0:document.getSelection)==null?void 0:C.call(document))==null?void 0:b.toString())!=null?T:""}function y(C){return C==="granted"||C==="prompt"}return{isSupported:u,text:f,copied:d,copy:g}}const Nr=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Br="__vueuse_ssr_handlers__",D0=N0();function N0(){return Br in Nr||(Nr[Br]=Nr[Br]||{}),Nr[Br]}function B0(e,t){return D0[e]||t}function F0(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 z0={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()}},Ta="vueuse-storage";function V0(e,t,n,r={}){var o;const{flush:l="pre",deep:s=!0,listenToStorageChanges:i=!0,writeDefaults:c=!0,mergeDefaults:u=!1,shallow:f,window:d=Vt,eventFilter:p,onError:m=P=>{console.error(P)},initOnMounted:g}=r,_=(f?Fe:Q)(typeof t=="function"?t():t);if(!n)try{n=B0("getDefaultStorage",()=>{var P;return(P=Vt)==null?void 0:P.localStorage})()}catch(P){m(P)}if(!n)return _;const E=Ge(t),y=F0(E),C=(o=r.serializer)!=null?o:z0[y],{pause:b,resume:T}=R0(_,()=>k(_.value),{flush:l,deep:s,eventFilter:p});d&&i&&Jl(()=>{Me(d,"storage",N),Me(d,Ta,Y),g&&N()}),g||N();function D(P,J){d&&d.dispatchEvent(new CustomEvent(Ta,{detail:{key:e,oldValue:P,newValue:J,storageArea:n}}))}function k(P){try{const J=n.getItem(e);if(P==null)D(J,null),n.removeItem(e);else{const $=C.write(P);J!==$&&(n.setItem(e,$),D(J,$))}}catch(J){m(J)}}function G(P){const J=P?P.newValue:n.getItem(e);if(J==null)return c&&E!=null&&n.setItem(e,C.write(E)),E;if(!P&&u){const $=C.read(J);return typeof u=="function"?u($,E):y==="object"&&!Array.isArray($)?{...E,...$}:$}else return typeof J!="string"?J:C.read(J)}function N(P){if(!(P&&P.storageArea!==n)){if(P&&P.key==null){_.value=E;return}if(!(P&&P.key!==e)){b();try{(P==null?void 0:P.newValue)!==C.write(_.value)&&(_.value=G(P))}catch(J){m(J)}finally{P?ln(T):T()}}}}function Y(P){N(P.detail)}return _}function j0(e){return xc("(prefers-color-scheme: dark)",e)}function G0(e,t,n={}){const{window:r=Vt,...o}=n;let l;const s=_r(()=>r&&"ResizeObserver"in r),i=()=>{l&&(l.disconnect(),l=void 0)},c=w(()=>Array.isArray(e)?e.map(d=>Et(d)):[Et(e)]),u=fe(c,d=>{if(i(),s.value&&r){l=new ResizeObserver(t);for(const p of d)p&&l.observe(p,o)}},{immediate:!0,flush:"post"}),f=()=>{i(),u()};return Mn(f),{isSupported:s,stop:f}}function U0(e,t={width:0,height:0},n={}){const{window:r=Vt,box:o="content-box"}=n,l=w(()=>{var d,p;return(p=(d=Et(e))==null?void 0:d.namespaceURI)==null?void 0:p.includes("svg")}),s=Q(t.width),i=Q(t.height),{stop:c}=G0(e,([d])=>{const p=o==="border-box"?d.borderBoxSize:o==="content-box"?d.contentBoxSize:d.devicePixelContentBoxSize;if(r&&l.value){const m=Et(e);if(m){const g=r.getComputedStyle(m);s.value=Number.parseFloat(g.width),i.value=Number.parseFloat(g.height)}}else if(p){const m=Array.isArray(p)?p:[p];s.value=m.reduce((g,{inlineSize:_})=>g+_,0),i.value=m.reduce((g,{blockSize:_})=>g+_,0)}else s.value=d.contentRect.width,i.value=d.contentRect.height},n);Jl(()=>{const d=Et(e);d&&(s.value="offsetWidth"in d?d.offsetWidth:t.width,i.value="offsetHeight"in d?d.offsetHeight:t.height)});const u=fe(()=>Et(e),d=>{s.value=d?t.width:0,i.value=d?t.height:0});function f(){c(),u()}return{width:s,height:i,stop:f}}const Aa=["fullscreenchange","webkitfullscreenchange","webkitendfullscreen","mozfullscreenchange","MSFullscreenChange"];function Xl(e,t={}){const{document:n=O0,autoExit:r=!1}=t,o=w(()=>{var y;return(y=Et(e))!=null?y:n==null?void 0:n.querySelector("html")}),l=Q(!1),s=w(()=>["requestFullscreen","webkitRequestFullscreen","webkitEnterFullscreen","webkitEnterFullScreen","webkitRequestFullScreen","mozRequestFullScreen","msRequestFullscreen"].find(y=>n&&y in n||o.value&&y in o.value)),i=w(()=>["exitFullscreen","webkitExitFullscreen","webkitExitFullScreen","webkitCancelFullScreen","mozCancelFullScreen","msExitFullscreen"].find(y=>n&&y in n||o.value&&y in o.value)),c=w(()=>["fullScreen","webkitIsFullScreen","webkitDisplayingFullscreen","mozFullScreen","msFullscreenElement"].find(y=>n&&y in n||o.value&&y in o.value)),u=["fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement"].find(y=>n&&y in n),f=_r(()=>o.value&&n&&s.value!==void 0&&i.value!==void 0&&c.value!==void 0),d=()=>u?(n==null?void 0:n[u])===o.value:!1,p=()=>{if(c.value){if(n&&n[c.value]!=null)return n[c.value];{const y=o.value;if((y==null?void 0:y[c.value])!=null)return!!y[c.value]}}return!1};async function m(){if(!(!f.value||!l.value)){if(i.value)if((n==null?void 0:n[i.value])!=null)await n[i.value]();else{const y=o.value;(y==null?void 0:y[i.value])!=null&&await y[i.value]()}l.value=!1}}async function g(){if(!f.value||l.value)return;p()&&await m();const y=o.value;s.value&&(y==null?void 0:y[s.value])!=null&&(await y[s.value](),l.value=!0)}async function _(){await(l.value?m():g())}const E=()=>{const y=p();(!y||y&&d())&&(l.value=y)};return Me(n,Aa,E,!1),Me(()=>Et(o),Aa,E,!1),r&&Mn(m),{isSupported:f,isFullscreen:l,enter:g,exit:m,toggle:_}}function Bo(e){return typeof Window<"u"&&e instanceof Window?e.document.documentElement:typeof Document<"u"&&e instanceof Document?e.documentElement:e}function Lc(e){const t=window.getComputedStyle(e);if(t.overflowX==="scroll"||t.overflowY==="scroll"||t.overflowX==="auto"&&e.clientWidth<e.scrollWidth||t.overflowY==="auto"&&e.clientHeight<e.scrollHeight)return!0;{const n=e.parentNode;return!n||n.tagName==="BODY"?!1:Lc(n)}}function q0(e){const t=e||window.event,n=t.target;return Lc(n)?!1:t.touches.length>1?!0:(t.preventDefault&&t.preventDefault(),!1)}const Fr=new WeakMap;function Ic(e,t=!1){const n=Q(t);let r=null;fe(x0(e),s=>{const i=Bo(Ge(s));if(i){const c=i;Fr.get(c)||Fr.set(c,c.style.overflow),n.value&&(c.style.overflow="hidden")}},{immediate:!0});const o=()=>{const s=Bo(Ge(e));!s||n.value||(Ca&&(r=Me(s,"touchmove",i=>{q0(i)},{passive:!1})),s.style.overflow="hidden",n.value=!0)},l=()=>{var s;const i=Bo(Ge(e));!i||!n.value||(Ca&&(r==null||r()),i.style.overflow=(s=Fr.get(i))!=null?s:"",Fr.delete(i),n.value=!1)};return Mn(l),w({get(){return n.value},set(s){s?o():l()}})}function W0(e={}){const{window:t=Vt,behavior:n="auto"}=e;if(!t)return{x:Q(0),y:Q(0)};const r=Q(t.scrollX),o=Q(t.scrollY),l=w({get(){return r.value},set(i){scrollTo({left:i,behavior:n})}}),s=w({get(){return o.value},set(i){scrollTo({top:i,behavior:n})}});return Me(t,"scroll",()=>{r.value=t.scrollX,o.value=t.scrollY},{capture:!1,passive:!0}),{x:l,y:s}}function K0(e={}){const{window:t=Vt,initialWidth:n=Number.POSITIVE_INFINITY,initialHeight:r=Number.POSITIVE_INFINITY,listenOrientation:o=!0,includeScrollbar:l=!0}=e,s=Q(n),i=Q(r),c=()=>{t&&(l?(s.value=t.innerWidth,i.value=t.innerHeight):(s.value=t.document.documentElement.clientWidth,i.value=t.document.documentElement.clientHeight))};if(c(),Jl(c),Me("resize",c,{passive:!0}),o){const u=xc("(orientation: portrait)");fe(u,()=>c())}return{width:s,height:i}}const xa=e=>_e(e)?e:`${e}px`,On=(e,t=0)=>{const n=Fe(),r=w(()=>xa(it(e.width)||"100%")),o=Q("auto"),l=c=>{if(_e(c)){const[u,f]=c.split(":"),d=Number(u)/Number(f);if(!Number.isNaN(d))return d}return typeof c=="number"?c:16/9},s=c=>{const u=it(e.height),f=l(it(e.ratio));return u?xa(u):`${Number(c)/f+it(t)}px`},i=()=>{n.value&&(o.value=s(n.value.clientWidth))};return me(()=>{i(),Re(t)&&fe(t,i),Me("orientationchange",i),Me("resize",i)}),{el:n,width:r,height:o,resize:i}};var Y0={fullscreen:!0,playbackRate:!0,setting:!0};const qr=["mp4","mp3","webm","ogg"];qr.push("mpd","dash"),qr.push("m3u8","hls"),qr.push("ts","flv");const J0=e=>(e==null?void 0:e.split(".").pop())||"",X0=async(e,t,n,r=!1,o=0)=>{{const l=(await z(()=>import("./dash.all.min-BF52VcER.js").then(s=>s.d),__vite__mapDeps([59,60]))).default;if(l.supportsMediaSource()){const s=l.MediaPlayer().create();s.initialize(e,t,r,o),n(()=>s.destroy())}}},Q0=async(e,t,n)=>{{const r=(await z(()=>import("./mpegts-CC885RK9.js").then(o=>o.m),__vite__mapDeps([61,60]))).default;if(r.isSupported()){const o=r.createPlayer({type:"flv",url:t});o.attachMediaElement(e),o.load(),n(()=>o.destroy())}}},Z0=async(e,t,n)=>{if(e.canPlayType("application/x-mpegURL")||e.canPlayType("application/vnd.apple.mpegURL"))e.src=t;else{const r=(await z(()=>import("./hls.min-CgYxLcm_.js").then(o=>o.h),__vite__mapDeps([62,60]))).default;if(r.isSupported()){const o=new r;o.attachMedia(e),o.on(r.Events.MEDIA_ATTACHED,()=>{o.loadSource(t)}),n(()=>o.destroy())}}},eh=["no-fullscreen","no-hotkey","no-playback-rate","no-setting","no-mutex","no-plays-inline"],th=["airplay","autoplay","aspect-ratio","auto-mini","auto-size","auto-orientation","auto-playback","fast-forward","flip","fullscreen-web","lock","loop","is-live","muted","mini-progress-bar","pip","screenshot","subtitle-offset"],nh=["en","pl","cs","es","fa","fr","id","ru","tr"],rh=["zh-cn","zh-tw"],oh=e=>{const t=e.toLowerCase(),[n]=t.split("-");return rh.includes(t)?t:nh.includes(n)?n:n==="zh"?"zh-cn":"en"};var lh=M({name:"ArtPlayer",inheritAttrs:!1,props:{src:{type:String,required:!0},type:{type:String,default:""},poster:{type:String,default:""},title:{type:String,default:""},width:{type:[String,Number],default:"100%"},height:{type:[String,Number],default:void 0},ratio:{type:[String,Number],default:16/9},config:{type:Object,default:null},customPlayer:{type:Function,default:e=>e}},setup(e,{attrs:t}){const n=vo(),{el:r,width:o,height:l,resize:s}=On(e,0),i=Q(!1);let c;const u=()=>{var p,m,g;const f={theme:"#3eaf7c",...Y0,container:r.value,poster:e.poster,url:oo(e.src),type:e.type||J0(e.src),lang:oh(n.value),...e.config,useSSR:!1},d=rt(t);if(eh.forEach(_=>{d.includes(_)&&(f[qe(_.replace(/^no-/,""))]=!1)}),th.forEach(_=>{d.includes(_)&&(f[qe(_)]=!0)}),f.type){const _=f.customType??(f.customType={});if(qr.includes(f.type.toLowerCase()))switch(f.type.toLowerCase()){case"m3u8":case"hls":_[p=f.type]??(_[p]=(E,y,C)=>Z0(E,y,b=>{C.on("destroy",b)}));break;case"flv":case"ts":_[m=f.type]??(_[m]=(E,y,C)=>Q0(E,y,b=>{C.on("destroy",b)}));break;case"mpd":case"dash":_[g=f.type]??(_[g]=(E,y,C)=>X0(E,y,b=>{C.on("destroy",b)}));break}else console.warn(`[components]: ArtPlayer does not support current file type ${f.type}!`)}return f};return me(async()=>{const{default:f}=await z(()=>import("./artplayer-CHAGXahu.js").then(p=>p.a),__vite__mapDeps([63,60])),d=new f(u());c=await e.customPlayer(d)||d,i.value=!0,s()}),In(()=>{c==null||c.destroy()}),()=>[a("div",{ref:r,class:"vp-artplayer",style:{width:o.value,height:l.value}}),i.value?null:a(yr)]}});const Pc=({type:e="info",text:t="",vertical:n,color:r},{slots:o})=>{var l;return a("span",{class:["vp-badge",e,{diy:r}],style:{verticalAlign:n??!1,backgroundColor:r??!1}},((l=o.default)==null?void 0:l.call(o))||t)};Pc.displayName="Badge";const Rc="accelerometer; autoplay; clipboard-write; encrypted-media; fullscreen; gyroscope; picture-in-picture",La="https://player.bilibili.com/player.html";var sh=M({name:"BiliBili",props:{bvid:{type:String,default:""},aid:{type:String,default:""},cid:{type:String,default:""},title:{type:String,default:"A BiliBili video"},page:{type:[String,Number],default:1},width:{type:[String,Number],default:"100%"},height:{type:[String,Number],default:void 0},ratio:{type:[String,Number],default:16/9},time:{type:[String,Number],default:0},autoplay:Boolean},setup(e){const{el:t,width:n,height:r,resize:o}=On(e),l=Q(!1),s=w(()=>{const{aid:i,bvid:c,cid:u,autoplay:f,time:d,page:p}=e;return i&&u?`${La}?aid=${i}&cid=${u}&t=${d}&autoplay=${f?1:0}&p=${p}`:c?`${La}?bvid=${c}&t=${d}&autoplay=${f?1:0}`:null});return()=>s.value?[a("div",{class:"bilibili-desc"},a("a",{class:"sr-only",href:s.value},e.title)),a("iframe",{ref:t,src:s.value,title:e.title,class:"bilibili-iframe",allow:Rc,style:{width:n.value,height:l.value?r.value:0},onLoad:()=>{l.value=!0,o()}}),l.value?null:a(yr)]:[]}});const Ia="https://codepen.io",ah=e=>{let t="";for(const n in e)n!=="prefill"&&n!=="open"&&(t!==""&&(t+="&"),t+=n+"="+encodeURIComponent(e[n]));return t},Mc=e=>{const t=e.preview==="true"?"embed/preview":"embed";if("prefill"in e)return[Ia,t,"prefill"].join("/");let n=e["slug-hash"];if(!n)throw new Error("slug-hash is required");return e.token&&(n+="/"+e.token),[Ia,e.user||"anon",t,n+"?"+ah(e)].join("/").replace(/\/\//g,"//")},sl=(e,t)=>{const n=document.createElement(e);for(const r in t)Object.prototype.hasOwnProperty.call(t,r)&&n.setAttribute(r,t[r].toString());return n},ih=e=>{const t=sl("form",{class:"code-pen-embed-form",style:"display: none;",method:"post",action:Mc(e),target:e.name||""});for(const n in e)n!=="prefill"&&t.append(sl("input",{type:"hidden",name:n,value:String(e[n])}));return t},ch=e=>{const{height:t=300,class:n="",name:r="CodePen Embed"}=e,o={class:`cp_embed_iframe ${n}`,src:Mc(e),allowfullscreen:"",allowpaymentrequest:"",allowTransparency:"",frameborder:0,width:"100%",height:t,name:r,scrolling:"no",style:"width: 100%; overflow: hidden; display: block;",title:e["pen-title"]||r};return"prefill"in e||(o.loading="lazy"),e["slug-hash"]&&(o.id=`code-pen-embed-${e["slug-hash"].replace("/","_")}`),sl("iframe",o)},uh=(e,t)=>{if(e.parentNode){const n=document.createElement("div");return n.className="code-pen-embed-wrapper",n.append(t),e.parentNode.replaceChild(n,e),n}return e.append(t),e};let fh=1;const Pa=(e,t)=>{const n=typeof t=="string"?document.querySelector(t):t instanceof HTMLElement?t:null;e.user||(e.user="anon"),e.name||(e.name=n?`code-pen-api-${fh++}`:"_blank");const r=document.createDocumentFragment();let o=null;"prefill"in e&&(e.data=JSON.stringify(e.prefill||"{}"),o=ih(e),r.append(o)),n?(r.append(ch(e)),uh(n,r)):document.body.appendChild(r),o&&o.submit()};var dh=M({name:"CodePen",props:{link:{type:String,default:""},user:{type:String,default:""},slugHash:{type:String,default:""},title:{type:String,default:""},height:{type:[String,Number],default:380},theme:{type:String,default:"default"},defaultTab:{type:Array,default:()=>["result"]},status:{type:String,default:"preview"}},setup(e){const t=()=>{const l=/(?:^(?:https?:)?\/\/codepen.io\/|^\/|^)(.*?)\/(?:pen|embed)\/(.*?)\/?$/.exec(e.link);return{user:l==null?void 0:l[1],slugHash:l==null?void 0:l[2]}},n=w(()=>t().user||e.user),r=w(()=>t().slugHash||e.slugHash),o=w(()=>({user:n.value,"slug-hash":r.value,"theme-id":e.theme,"default-tab":e.defaultTab.join(","),"pen-title":e.title,height:e.height,preview:e.status==="preview"?"true":""}));return me(()=>{e.status!=="clicktorun"&&Pa(o.value,`.codepen-${r.value}`)}),()=>a("div",{class:["codepen-wrapper",`codepen-${r.value}`]},[e.status==="clicktorun"?a("button",{type:"button",class:"codepen-button",onClick:()=>{Pa(o.value,`.codepen-${r.value}`)}},"Run Code"):null,a("span",["See the Pen ",a("a",{href:e.link},[e.title])," by ",a("a",{href:`https://codepen.io/${n.value}`},[n.value])," on ",a("a",{href:"https://codepen.io"},["CodePen"]),"."])])}}),ph={"/":{hint:"<p>此浏览器不支持嵌入式 PDF。请下载 PDF 查看:<a href='[url]' target='_blank'>下载 PDF</a></p>"}};const Fo=e=>{console.error(`[PDF]: ${e}`)},hh=e=>{for(;e.firstChild;)e.removeChild(e.firstChild)},mh=e=>e==="string"?document.querySelector(e):e instanceof HTMLElement?e:document.body,vh=e=>{let t="";return e&&(t+=Gt(e).map(([n,r])=>n==="noToolbar"?`toolbar=${r?0:1}`:`${encodeURIComponent(n)}=${encodeURIComponent(r)}`).join("&"),t&&(t=`#${t.slice(0,t.length-1)}`)),t},gh=(e,t,n,r,o)=>{hh(t);const l=`${e==="pdfjs"?`${Dl(be(null))}web/viewer.html?file=${encodeURIComponent(n)}`:n}${vh(r)}`,s=e==="pdfjs"||e==="iframe"?"iframe":"embed",i=document.createElement(s);return i.className="pdf-viewer",i.type="application/pdf",i.title=o,i.src=l,i instanceof HTMLIFrameElement&&(i.allow="fullscreen"),t.classList.add("pdf-viewer-container"),t.appendChild(i),t.getElementsByTagName(s)[0]},yh=(e,t,{title:n,hint:r,options:o={}})=>{var g,_;if(typeof window>"u"||!((g=window==null?void 0:window.navigator)!=null&&g.userAgent))return null;const{navigator:l}=window,{userAgent:s}=l,i=vc(window.Promise),c=d0(s)||u0(s),u=!c&&f0(s),f=!c&&/firefox/iu.test(s)&&s.split("rv:").length>1?parseInt(s.split("rv:")[1].split(".")[0],10)>18:!1,d=!c&&(i||f);if(!_e(e))return Fo("URL is not valid"),null;const p=mh(t);if(!p)return Fo("Target element cannot be determined"),null;const m=n||((_=/\/([^/]+).pdf/.exec(e))==null?void 0:_[1])||"PDF Viewer";return d||!c?gh(u?"iframe":"embed",p,e,o,m):(p.innerHTML=r.replace(/\[url\]/g,e),Fo("This browser does not support embedded PDFs"),null)};var bh=M({name:"PDF",props:{url:{type:String,required:!0},title:{type:String,default:""},width:{type:[String,Number],default:"100%"},height:{type:[String,Number],default:void 0},ratio:{type:[String,Number],default:16/9},page:{type:[String,Number],default:1},noToolbar:Boolean,zoom:{type:[String,Number],default:100}},setup(e){const{el:t,width:n,height:r,resize:o}=On(e),l=sn(ph);return me(()=>{yh(oo(e.url),t.value,{title:e.title,hint:l.value.hint,options:{page:e.page,noToolbar:e.noToolbar,zoom:e.zoom}}),o()}),()=>a("div",{class:"pdf-viewer-wrapper",ref:t,style:{width:n.value,height:r.value}})}}),_h=M({name:"Replit",props:{link:{type:String,default:""},user:{type:String,default:""},repl:{type:String,default:""},width:{type:[String,Number],default:"100%"},height:{type:[String,Number],default:void 0},ratio:{type:[String,Number],default:16/9},theme:{type:String,default:"light"},file:{type:String,default:()=>null},autoLoad:Boolean,text:{type:String,default:"Load Replit"}},setup(e){const{el:t,width:n,height:r,resize:o}=On(e),l=Q(!1),s=Q(!1),i=w(()=>{var c;if(e.link){const u=new URL(e.link);return u.searchParams.set("embed","true"),u.toString()}return e.user&&e.repl?`https://replit.com/@${e.user}/${e.repl}${(c=e.file)!=null&&c.length?`#${e.file}`:""}`:null});return()=>i.value?a("div",{class:"replit-wrapper"},e.autoLoad||l.value?[a("iframe",{ref:t,class:"replit-iframe",src:i.value,style:{width:n.value,height:s.value?r.value:0},onLoad:()=>{s.value=!0,o()}}),s.value?null:a(yr)]:a("button",{type:"button",class:"replit-button",onClick:()=>{l.value=!0}},e.text)):null}}),wh=[{name:"twitter",link:"https://twitter.com/intent/tweet?text=[title]&url=[url]&hashtags=[tags][title]",color:"#000",shape:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1024"><path d="m587 451 291-339h-69L555 407 354 112H120l305 446-305 354h68l268-310 213 310h235zM214 163h107l488 699H702z"/></svg>'},{name:"facebook",link:"https://www.facebook.com/sharer/sharer.php?u=[url]&title=[title]&description=[description]&quote=[summary]&hashtag=[tags]",color:"#3c599b",shape:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1024"><path d="M295 360h93v-91c0-40 1-101 30-139 30-41 72-68 144-68 118 0 168 17 168 17l-24 138s-39-12-75-12-69 13-69 50v105h149l-10 134H562v468H388V494h-93z"/></svg>'},{name:"reddit",link:"https://www.reddit.com/submit?title=[title]&url=[url]",color:"#ff4501",shape:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1024"><path d="M678 779c9 9 9 18 0 27-34 37-90 55-166 55s-132-18-166-55c-9-9-9-18 0-27a17 17 0 0 1 12-6c5 0 9 2 13 6 26 29 74 43 141 43s114-14 141-43a17 17 0 0 1 13-6c5 0 9 2 12 6M400 562a82 82 0 0 1 0 112 70 70 0 0 1-53 23c-20 0-38-8-53-23a78 78 0 0 1-22-56c0-22 7-41 22-56a71 71 0 0 1 106 0m352 56c0 22-7 41-22 56a71 71 0 0 1-53 23c-21 0-38-8-53-23a78 78 0 0 1-22-56c0-22 8-40 22-56 15-16 32-23 53-23 20 0 38 7 53 23 15 15 22 34 22 56m210-106c0-29-10-54-29-74a94 94 0 0 0-71-31c-28 0-52 10-72 31-73-53-160-81-260-85l52-250 168 40c0 21 7 40 21 55 15 16 32 23 53 23s38-7 53-23 22-34 22-56-7-41-22-57a71 71 0 0 0-53-23c-30 0-52 15-67 44L572 63c-10-3-17 2-21 14l-57 276c-101 5-187 33-259 86a94 94 0 0 0-73-32c-28 0-51 10-71 31a105 105 0 0 0-29 74 108 108 0 0 0 57 96 241 241 0 0 0-5 49c0 84 39 156 117 216 78 59 172 89 282 89s205-30 283-89c78-60 117-132 117-216 0-19-2-35-6-50a108 108 0 0 0 55-95"/></svg>'},{name:"telegram",link:"https://t.me/share/url?url=[url]&text=[title]%0D%0A[description|summary]",color:"#158cc7",shape:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1024"><path d="m413 807 13-187 340-307c15-14-3-21-23-8L323 570l-183-58c-39-11-39-38 9-57l709-274c33-14 64 8 51 58L788 807c-8 40-33 50-66 31L538 703l-88 85c-10 10-19 19-37 19"/></svg>'},{name:"whatsapp",link:"https://api.whatsapp.com/send?text=[title]%0D%0A[url]%0D%0A[description|summary]",color:"#31B84C",shape:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1024"><path d="m62 962 64-231a444 444 0 0 1-60-223 448 448 0 0 1 765-315 442 442 0 0 1 131 315c0 246-201 446-448 446a449 449 0 0 1-214-54zm340-640c-9-22-18-19-25-20h-22a41 41 0 0 0-30 14c-10 11-39 38-39 93s40 108 46 115c6 8 79 120 191 168 27 12 48 19 64 24 27 8 51 7 71 4 21-3 66-27 75-53s9-48 7-53c-3-4-11-7-22-13l-76-36c-11-4-18-5-26 6-7 11-28 36-35 43-6 8-13 9-24 3-11-5-47-17-90-55-34-30-56-66-63-77-6-12 0-18 5-23l17-20c6-6 8-11 11-18 4-8 2-14-1-20l-34-83z"/></svg>'},{name:"email",link:"mailto:?subject=[title]&body=[url]%0D%0A%0D%0A[description|summary]",color:"#1384FF",action:"open",shape:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1024"><path d="M152 177h720c49 0 89 37 90 83L512 494 63 260c0-46 40-83 89-83M62 349v414c0 46 41 84 90 84h720c49 0 90-38 90-84V349L523 572a24 24 0 0 1-22 0z"/></svg>'}];const zr=e=>{var t;return((t=document.querySelector(`meta[name="${e}"]`))==null?void 0:t.getAttribute("content"))??null},Ra=(e,t="")=>{const n=["vp-share-icon",t];return gt(e)||gr(e)?a("img",{class:n,src:e,loading:"lazy","no-view":""}):Tn(e,"<")&&gc(e,">")?a("div",{class:n,innerHTML:e}):a("div",{class:[...n,e]})};var Eh=M({name:"ShareService",props:{config:{type:Object,default:()=>({})},plain:Boolean,title:{type:String,required:!1},description:{type:String,required:!1},url:{type:String,required:!1},summary:{type:String,required:!1},cover:{type:String,required:!1},tag:{type:[Array,String],required:!1}},setup(e){let t;const n=de(),r=ve(),o=Q(!1),l=()=>{var g;const i=e.title??n.value.title,c=e.description??r.value.description??zr("description")??zr("og:description")??zr("twitter:description"),u=e.url??typeof window>"u"?null:window.location.href,f=e.cover??zr("og:image"),d=(g=document.querySelector(".theme-default-content :not(a) > img"))==null?void 0:g.getAttribute("src"),p=e.tag??r.value.tag??r.value.tags,m=ro(p)?p.filter(_e).join(","):_e(p)?p:null;return e.config.link.replace(/\[([^\]]+)\]/g,(_,E)=>{const y=E.split("|");for(const C of y){if(C==="url"&&u)return u;if(C==="title"&&i)return i;if(C==="description"&&c)return c;if(C==="summary"&&e.summary)return e.summary;if(C==="cover"&&f)return f;if(C==="image"&&d)return d;if(C==="tags"&&m)return m}return""})},s=()=>{const i=l();switch(e.config.action){case"navigate":window.open(i);break;case"open":window.open(i,"_blank");break;case"qrcode":z(()=>import("./browser-D6eOinvE.js").then(c=>c.b),__vite__mapDeps([])).then(({toDataURL:c})=>c(i,{errorCorrectionLevel:"H",width:250,scale:1,margin:1.5})).then(c=>{t.emit(`<img src="${c}" alt="qrcode" class="share-qrcode" />`)});break;default:y0(i,"share")}};return me(()=>{t=new m0}),()=>{const{config:{name:i,icon:c,shape:u,color:f},plain:d}=e;return[a("button",{type:"button",class:["vp-share-button",{plain:d}],"aria-label":i,"data-balloon-pos":"up",onClick:()=>s()},d?Ra(u,"plain"):c?Ra(c):a("div",{class:"vp-share-icon colorful",style:{background:f},innerHTML:u})),o.value?a("div",{class:"share-popup"}):null]}}});const Ma=wh;var Sh=M({name:"Share",props:{services:{type:[String,Array],default:()=>Ma.map(({name:e})=>e)},titleGetter:{type:Function,default:e=>e.title},descriptionGetter:{type:Function,default:e=>e.frontmatter.description},summaryGetter:{type:Function,default:e=>e.summary},coverGetter:{type:Function,default:e=>e.cover},tagGetter:{type:Function,default:({frontmatter:e})=>e.tag||e.tags},inline:Boolean,colorful:Boolean},setup(e){const t=de(),n=w(()=>(_e(e.services)?e.services.split(","):e.services).map(o=>Pn(o)?o.name&&o.link?o:null:Ma.find(({name:l})=>l===o)).filter(o=>!!o)),r=w(()=>{const o={};return["titleGetter","descriptionGetter","summaryGetter","coverGetter","tagGetter"].forEach(l=>{if(Up(e[l])){const s=e[l](t.value);s&&(o[l.replace("Getter","")]=s)}}),o});return()=>a("div",{class:"vp-share-buttons",style:e.inline?{display:"inline-block"}:{}},n.value.map(o=>a(Eh,{config:o,...r.value,plain:!e.colorful})))}}),Ch={"/":{source:"源代码"}},kh=M({name:"SiteInfo",components:{BitbucketIcon:ql,GiteeIcon:Ul,GitHubIcon:jl,GitLabIcon:Gl,SourceIcon:Wl},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=sn(Ch),n=w(()=>e.repo?Kl(e.repo):null);return()=>a("div",{class:"vp-site-info","data-name":e.name},[a("a",{class:"vp-site-info-navigator",title:e.name,href:e.url,target:"_blank"}),a("div",{class:"vp-site-info-preview",style:{background:`url(${be(e.preview)}) center/cover no-repeat`}}),a("div",{class:"vp-site-info-detail"},[e.logo?a("img",{class:"vp-site-info-logo",src:e.logo,alt:"",loading:"lazy","no-view":""}):null,a("div",{class:"vp-site-info-name"},e.name),a("div",{class:"vp-site-info-desc"},e.desc)]),e.repo?a("div",{class:"vp-site-info-source-wrapper"},a("a",{class:"vp-site-info-source",href:e.repo,"aria-label":t.value.source,"data-balloon-pos":"left",title:t.value.source,target:"_blank"},a(Xe(`${n.value}Icon`)))):null])}});const Th=500,Ah=20,xh=300,Lh="https://stackblitz.com",Oa=["angular-cli","create-react-app","html","javascript","node","polymer","typescript","vue"],Ih=["project","search","ports","settings"],Ph=["light","dark"],Rh=["editor","preview"],$a={clickToLoad:e=>dn("ctl",e),devToolsHeight:e=>Ha("devtoolsheight",e),forceEmbedLayout:e=>dn("embed",e),hideDevTools:e=>dn("hidedevtools",e),hideExplorer:e=>dn("hideExplorer",e),hideNavigation:e=>dn("hideNavigation",e),openFile:e=>Da("file",e),showSidebar:e=>Mh("showSidebar",e),sidebarView:e=>zo("sidebarView",e,Ih),startScript:e=>Da("startScript",e),terminalHeight:e=>Ha("terminalHeight",e),theme:e=>zo("theme",e,Ph),view:e=>zo("view",e,Rh),zenMode:e=>dn("zenMode",e)};function Oc(e={}){const t=Object.entries(e).map(([n,r])=>r!=null&&$a.hasOwnProperty(n)?$a[n](r):"").filter(Boolean);return t.length?`?${t.join("&")}`:""}function dn(e,t){return t===!0?`${e}=1`:""}function Mh(e,t){return typeof t=="boolean"?`${e}=${t?"1":"0"}`:""}function Ha(e,t){if(typeof t=="number"&&!Number.isNaN(t)){const n=Math.min(100,Math.max(0,t));return`${e}=${encodeURIComponent(Math.round(n))}`}return""}function zo(e,t="",n=[]){return n.includes(t)?`${e}=${encodeURIComponent(t)}`:""}function Da(e,t){return(Array.isArray(t)?t:[t]).filter(r=>typeof r=="string"&&r.trim()!=="").map(r=>`${e}=${encodeURIComponent(r)}`).join("&")}function $c(){return Math.random().toString(36).slice(2,6)+Math.random().toString(36).slice(2,6)}function Ql(e,t){return`${Hc(t)}${e}${Oc(t)}`}function Zl(e,t){const n={forceEmbedLayout:!0};return t&&typeof t=="object"&&Object.assign(n,t),`${Hc(n)}${e}${Oc(n)}`}function Hc(e={}){return(typeof e.origin=="string"?e.origin:Lh).replace(/\/$/,"")}function es(e,t,n){if(!t||!e||!e.parentNode)throw new Error("Invalid Element");e.id&&(t.id=e.id),e.className&&(t.className=e.className),Oh(t,n),e.replaceWith(t)}function ts(e){if(typeof e=="string"){const t=document.getElementById(e);if(!t)throw new Error(`Could not find element with id '${e}'`);return t}else if(e instanceof HTMLElement)return e;throw new Error(`Invalid element: ${e}`)}function ns(e){return e&&e.newWindow===!1?"_self":"_blank"}function Oh(e,t={}){const n=Object.hasOwnProperty.call(t,"height")?`${t.height}`:`${xh}`,r=Object.hasOwnProperty.call(t,"width")?`${t.width}`:void 0;e.setAttribute("height",n),r?e.setAttribute("width",r):e.setAttribute("style","width:100%;")}class $h{constructor(t){this.pending={},this.port=t,this.port.onmessage=this.messageListener.bind(this)}request({type:t,payload:n}){return new Promise((r,o)=>{const l=$c();this.pending[l]={resolve:r,reject:o},this.port.postMessage({type:t,payload:{...n,__reqid:l}})})}messageListener(t){var i;if(typeof((i=t.data.payload)==null?void 0:i.__reqid)!="string")return;const{type:n,payload:r}=t.data,{__reqid:o,__success:l,__error:s}=r;this.pending[o]&&(l?this.pending[o].resolve(this.cleanResult(r)):this.pending[o].reject(s?`${n}: ${s}`:n),delete this.pending[o])}cleanResult(t){const n={...t};return delete n.__reqid,delete n.__success,delete n.__error,Object.keys(n).length?n:null}}class Hh{constructor(t,n){this.editor={openFile:r=>this._rdc.request({type:"SDK_OPEN_FILE",payload:{path:r}}),setCurrentFile:r=>this._rdc.request({type:"SDK_SET_CURRENT_FILE",payload:{path:r}}),setTheme:r=>this._rdc.request({type:"SDK_SET_UI_THEME",payload:{theme:r}}),setView:r=>this._rdc.request({type:"SDK_SET_UI_VIEW",payload:{view:r}}),showSidebar:(r=!0)=>this._rdc.request({type:"SDK_TOGGLE_SIDEBAR",payload:{visible:r}})},this.preview={origin:"",getUrl:()=>this._rdc.request({type:"SDK_GET_PREVIEW_URL",payload:{}}).then(r=>(r==null?void 0:r.url)??null),setUrl:(r="/")=>{if(typeof r!="string"||!r.startsWith("/"))throw new Error(`Invalid argument: expected a path starting with '/', got '${r}'`);return this._rdc.request({type:"SDK_SET_PREVIEW_URL",payload:{path:r}})}},this._rdc=new $h(t),Object.defineProperty(this.preview,"origin",{value:typeof n.previewOrigin=="string"?n.previewOrigin:null,writable:!1})}applyFsDiff(t){const n=r=>r!==null&&typeof r=="object";if(!n(t)||!n(t.create))throw new Error("Invalid diff object: expected diff.create to be an object.");if(!Array.isArray(t.destroy))throw new Error("Invalid diff object: expected diff.destroy to be an array.");return this._rdc.request({type:"SDK_APPLY_FS_DIFF",payload:t})}getDependencies(){return this._rdc.request({type:"SDK_GET_DEPS_SNAPSHOT",payload:{}})}getFsSnapshot(){return this._rdc.request({type:"SDK_GET_FS_SNAPSHOT",payload:{}})}}const Wr=[];class Dh{constructor(t){this.id=$c(),this.element=t,this.pending=new Promise((n,r)=>{const o=({data:u,ports:f})=>{(u==null?void 0:u.action)==="SDK_INIT_SUCCESS"&&u.id===this.id&&(this.vm=new Hh(f[0],u.payload),n(this.vm),s())},l=()=>{var u;(u=this.element.contentWindow)==null||u.postMessage({action:"SDK_INIT",id:this.id},"*")};function s(){window.clearInterval(c),window.removeEventListener("message",o)}window.addEventListener("message",o),l();let i=0;const c=window.setInterval(()=>{if(this.vm){s();return}if(i>=Ah){s(),r("Timeout: Unable to establish a connection with the StackBlitz VM"),Wr.forEach((u,f)=>{u.id===this.id&&Wr.splice(f,1)});return}i++,l()},Th)}),Wr.push(this)}}const Nh=e=>{const t=e instanceof Element?"element":"id";return Wr.find(n=>n[t]===e)??null};function Bh(e,t){const n=document.createElement("input");return n.type="hidden",n.name=e,n.value=t,n}function Fh(e){return e.replace(/\[/g,"%5B").replace(/\]/g,"%5D")}function Dc({template:e,title:t,description:n,dependencies:r,files:o,settings:l}){if(!Oa.includes(e)){const u=Oa.map(f=>`'${f}'`).join(", ");console.warn(`Unsupported project.template: must be one of ${u}`)}const s=[],i=(u,f,d="")=>{s.push(Bh(u,typeof f=="string"?f:d))};i("project[title]",t),typeof n=="string"&&n.length>0&&i("project[description]",n),i("project[template]",e,"javascript"),r&&(e==="node"?console.warn("Invalid project.dependencies: dependencies must be provided as a 'package.json' file when using the 'node' template."):i("project[dependencies]",JSON.stringify(r))),l&&i("project[settings]",JSON.stringify(l)),Object.entries(o).forEach(([u,f])=>{i(`project[files][${Fh(u)}]`,f)});const c=document.createElement("form");return c.method="POST",c.setAttribute("style","display:none!important;"),c.append(...s),c}function zh(e,t){const n=Dc(e);return n.action=Zl("/run",t),n.id="sb_run",`<!doctype html>
-<html>
-<head><title></title></head>
-<body>
-  ${n.outerHTML}
-  <script>document.getElementById('${n.id}').submit();<\/script>
-</body>
-</html>`}function Vh(e,t){const n=Dc(e);n.action=Ql("/run",t),n.target=ns(t),document.body.appendChild(n),n.submit(),document.body.removeChild(n)}function bo(e){return e!=null&&e.contentWindow?(Nh(e)??new Dh(e)).pending:Promise.reject("Provided element is not an iframe.")}function jh(e,t){Vh(e,t)}function Gh(e,t){const n=Ql(`/edit/${e}`,t),r=ns(t);window.open(n,r)}function Uh(e,t){const n=Ql(`/github/${e}`,t),r=ns(t);window.open(n,r)}function qh(e,t,n){var s;const r=ts(e),o=zh(t,n),l=document.createElement("iframe");return es(r,l,n),(s=l.contentDocument)==null||s.write(o),bo(l)}function Wh(e,t,n){const r=ts(e),o=document.createElement("iframe");return o.src=Zl(`/edit/${t}`,n),es(r,o,n),bo(o)}function Kh(e,t,n){const r=ts(e),o=document.createElement("iframe");return o.src=Zl(`/github/${t}`,n),es(r,o,n),bo(o)}const Na={connect:bo,embedGithubProject:Kh,embedProject:qh,embedProjectId:Wh,openGithubProject:Uh,openProject:jh,openProjectId:Gh};var Yh=M({name:"StackBlitz",props:{id:{type:String,required:!0},type:{type:String,default:"project"},width:{type:[String,Number],default:"100%"},height:{type:[String,Number],default:void 0},ratio:{type:[String,Number],default:16/9},file:{type:[String,Array],default:""},initialPath:{type:String,default:""},embed:Boolean,load:Boolean,view:{type:String,default:"preview"},hideExplorer:Boolean,hideNavigation:Boolean,hideDevtools:Boolean,terminalHeight:{type:[String,Number],default:30},devToolsHeight:{type:[String,Number],default:30},text:{type:String,default:"Open in StackBlitz"},theme:{type:String,default:"dark"}},setup(e){const{el:t,width:n,height:r,resize:o}=On(e),l=w(()=>({openFile:e.file,view:e.view,theme:e.theme,clickToLoad:e.load,hideExplorer:e.hideExplorer,hideNavigation:e.hideNavigation,hideDevTools:e.hideDevtools,initialPath:e.initialPath}));return me(async()=>{e.embed&&(await Na[e.type==="github"?"embedGithubProject":"embedProjectId"](t.value,e.id,l.value),o())}),()=>e.embed?a("div",{ref:t,class:"stackblitz-container",style:{width:n.value,height:r.value}}):a("div",{class:"stackblitz-container"},a("button",{type:"button",class:"stackblitz-button",onClick:()=>{Na[e.type==="github"?"openGithubProject":"openProjectId"](e.id,l.value)}},e.text))}});const Nc=({title:e,content:t="",logo:n="",background:r="",color:o="",actions:l=[]})=>{const s={};return r&&(s.background=r),o&&(s.color=o),a("div",{class:"vp-banner",style:s},[n?a("img",{class:"vp-banner-logo",src:be(n),loading:"lazy","no-view":""}):null,a("div",{class:"vp-banner-body"},[a("div",{class:"vp-banner-title",innerHTML:e}),a("p",{class:"vp-banner-content",innerHTML:t}),a("div",{class:"vp-banner-actions"},[...l.map(({link:i,text:c,type:u="primary"})=>tn(i)?a("a",{class:["vp-banner-action",u],href:i,target:"_blank"},c):a(ke,{class:["vp-banner-action",u],to:i},()=>c))])])])};Nc.displayName="VPBanner";const Bc=({title:e,desc:t="",logo:n,background:r,color:o,link:l})=>{const s=[n?a("img",{class:"vp-card-logo",src:be(n),loading:"lazy","no-view":""}):null,a("div",{class:"vp-card-content"},[a("div",{class:"vp-card-title",innerHTML:e}),a("hr"),a("div",{class:"vp-card-desc",innerHTML:t})])],i={};return r&&(i.background=r),o&&(i.color=o),l?tn(l)?a("a",{class:"vp-card",href:l,target:"_blank",style:i},s):a(ke,{to:l,class:"vp-card",style:i},()=>s):a("div",{class:"vp-card",style:i},s)};Bc.displayName="VPCard";var Jh=M({name:"VidStack",props:{sources:{type:Array,default:()=>[]},tracks:{type:Array,default:()=>[]}},setup(e,{attrs:t}){return me(async()=>{await Promise.all([z(()=>import("./vidstack-player-BOVnG7as.js"),__vite__mapDeps([64,65])),z(()=>import("./vidstack-player-layouts-CbA2In8H.js"),__vite__mapDeps([66,65,67])),z(()=>import("./vidstack-player-ui-Do1ld-lW.js"),__vite__mapDeps([68,65,67]))])}),()=>a("media-player",t,[a("media-provider",[t.poster?a("media-poster",{class:"vds-poster",alt:t.alt||t.title}):null,e.sources.map(n=>Pn(n)?a("source",{...n,src:oo(n.src)}):a("source",{src:oo(n)})),e.tracks.map(n=>a("track",n))]),a("media-audio-layout"),a("media-video-layout",t)])}}),Xh=M({name:"XiGua",props:{id:{type:String,required:!0},title:{type:String,default:"A XiGua video"},width:{type:[String,Number],default:"100%"},height:{type:[String,Number],default:void 0},ratio:{type:[String,Number],default:16/9},time:{type:[String,Number],default:0},autoplay:Boolean},setup(e){const{el:t,width:n,height:r,resize:o}=On(e),l=Q(!1),s=w(()=>`https://www.ixigua.com/iframe/${e.id}?startTime=${e.time}&autoplay=${e.autoplay?1:0}`);return()=>e.id?[a("div",{class:"xi-gua-desc"},a("a",{class:"sr-only",href:s.value},e.title)),a("iframe",{ref:t,src:s.value,title:e.title,class:"xi-gua-iframe",allow:Rc,style:{width:n.value,height:l.value?r.value:0},onLoad:()=>{l.value=!0,o()}}),l.value?null:a(yr)]:[]}});const Qh=ot({enhance:({app:e})=>{Le("FontIcon")||e.component("FontIcon",c0),Le("ArtPlayer")||e.component("ArtPlayer",lh),Le("Badge")||e.component("Badge",Pc),Le("BiliBili")||e.component("BiliBili",sh),Le("CodePen")||e.component("CodePen",dh),Le("PDF")||e.component("PDF",bh),Le("Replit")||e.component("Replit",_h),Le("Share")||e.component("Share",Sh),Le("SiteInfo")||e.component("SiteInfo",kh),Le("StackBlitz")||e.component("StackBlitz",Yh),Le("VPBanner")||e.component("VPBanner",Nc),Le("VPCard")||e.component("VPCard",Bc),Le("VidStack")||e.component("VidStack",Jh),Le("XiGua")||e.component("XiGua",Xh)},setup:()=>{},rootComponents:[]}),Ba=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},Zh=({headerLinkSelector:e,headerAnchorSelector:t,delay:n,offset:r=5})=>{const o=kt();Me("scroll",L0(()=>{var g,_;const s=Math.max(window.scrollY,document.documentElement.scrollTop,document.body.scrollTop);if(Math.abs(s-0)<r){Ba(o,"");return}const c=window.innerHeight+s,u=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight),f=Math.abs(u-c)<r,d=Array.from(document.querySelectorAll(e)),m=Array.from(document.querySelectorAll(t)).filter(E=>d.some(y=>y.hash===E.hash));for(let E=0;E<m.length;E++){const y=m[E],C=m[E+1],b=s>=(((g=y.parentElement)==null?void 0:g.offsetTop)??0)-r,T=!C||s<(((_=C.parentElement)==null?void 0:_.offsetTop)??0)-r;if(!(b&&T))continue;const k=decodeURIComponent(o.currentRoute.value.hash),G=decodeURIComponent(y.hash);if(k===G)return;if(f){for(let N=E+1;N<m.length;N++)if(k===decodeURIComponent(m[N].hash))return}Ba(o,G);return}},n))},e2=".vp-sidebar-link, .vp-toc-link",t2=".header-anchor",n2=200,r2=5,o2=ot({setup(){Zh({headerLinkSelector:e2,headerAnchorSelector:t2,delay:n2,offset:r2})}});let Fc=e=>_e(e.title)?{title:e.title}:null;const zc=Symbol(""),l2=e=>{Fc=e},s2=()=>we(zc),a2=e=>{e.provide(zc,Fc)};var i2={"/":{title:"目录",empty:"暂无目录"}};const c2=M({name:"Catalog",props:{base:{type:String,default:""},level:{type:Number,default:3},index:Boolean,hideHeading:Boolean},setup(e){const t=s2(),n=sn(i2),r=de(),o=n0(),l=fc(),i=Fe(Gt(o.value).map(([u,{meta:f}])=>{const d=t(f);if(!d)return null;const p=u.split("/").length;return{level:gc(u,"/")?p-2:p-1,base:u.replace(/\/[^/]+\/?$/,"/"),path:u,...d}}).filter(u=>Pn(u)&&_e(u.title))),c=w(()=>{const u=e.base?zp(Dl(e.base)):r.value.path.replace(/\/[^/]+$/,"/"),f=u.split("/").length-2,d=[];return i.value.filter(({level:p,path:m})=>{if(!Tn(m,u)||m===u)return!1;if(u==="/"){const g=rt(l.value.locales).filter(_=>_!=="/");if(m==="/404.html"||g.some(_=>Tn(m,_)))return!1}return p-f<=e.level}).sort(({title:p,level:m,order:g},{title:_,level:E,order:y})=>{const C=m-E;return C||(No(g)?No(y)?g>0?y>0?g-y:-1:y<0?g-y:1:g:No(y)?y:p.localeCompare(_))}).forEach(p=>{var _;const{base:m,level:g}=p;switch(g-f){case 1:{d.push(p);break}case 2:{const E=d.find(y=>y.path===m);E&&(E.children??(E.children=[])).push(p);break}default:{const E=d.find(y=>y.path===m.replace(/\/[^/]+\/$/,"/"));if(E){const y=(_=E.children)==null?void 0:_.find(C=>C.path===m);y&&(y.children??(y.children=[])).push(p)}}}}),d});return()=>{const u=c.value.some(f=>f.children);return a("div",{class:["vp-catalog-wrapper",{index:e.index}]},[e.hideHeading?null:a("h2",{class:"vp-catalog-main-title"},n.value.title),c.value.length?a(e.index?"ol":"ul",{class:["vp-catalogs",{deep:u}]},c.value.map(({children:f=[],title:d,path:p,content:m})=>{const g=a(ke,{class:"vp-catalog-title",to:p},()=>m?a(m):d);return a("li",{class:"vp-catalog"},u?[a("h3",{id:d,class:["vp-catalog-child-title",{"has-children":f.length}]},[a("a",{href:`#${d}`,class:"vp-catalog-header-anchor","aria-hidden":!0},"#"),g]),f.length?a(e.index?"ol":"ul",{class:"vp-child-catalogs"},f.map(({children:_=[],content:E,path:y,title:C})=>a("li",{class:"vp-child-catalog"},[a("div",{class:["vp-catalog-sub-title",{"has-children":_.length}]},[a("a",{href:`#${C}`,class:"vp-catalog-header-anchor"},"#"),a(ke,{class:"vp-catalog-title",to:y},()=>E?a(E):C)]),_.length?a(e.index?"ol":"div",{class:e.index?"vp-sub-catalogs":"vp-sub-catalogs-wrapper"},_.map(({content:b,path:T,title:D})=>e.index?a("li",{class:"vp-sub-catalog"},a(ke,{to:T},()=>b?a(b):D)):a(ke,{class:"vp-sub-catalog-link",to:T},()=>b?a(b):D))):null]))):null]:a("div",{class:"vp-catalog-child-title"},g))})):a("p",{class:"vp-empty-catalog"},n.value.empty)])}}}),u2=ot({enhance:({app:e})=>{a2(e),Le("Catalog",e)||e.component("Catalog",c2)}});var f2={"/":{backToTop:"返回顶部"}};const d2=M({name:"BackToTop",setup(e){const t=ve(),n=sn(f2),r=Fe(),{height:o}=U0(r),{height:l}=K0(),{y:s}=W0(),i=w(()=>t.value.backToTop!==!1&&s.value>100),c=w(()=>s.value/(o.value-l.value)*100);return me(()=>{r.value=document.body}),()=>a(zt,{name:"back-to-top"},()=>i.value?a("button",{type:"button",class:"vp-back-to-top-button","aria-label":n.value.backToTop,onClick:()=>{window.scrollTo({top:0,behavior:"smooth"})}},[a("span",{class:"vp-scroll-progress",role:"progressbar","aria-labelledby":"loadinglabel","aria-valuenow":c.value},a("svg",a("circle",{cx:"50%",cy:"50%",style:{"stroke-dasharray":`calc(${Math.PI*c.value}% - ${4*Math.PI}px) calc(${Math.PI*100}% - ${4*Math.PI}px)`}}))),a("div",{class:"back-to-top-icon"})]):null)}}),p2=ot({rootComponents:[d2]}),h2=a("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"},[a("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"}),a("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"})]),Vc=M({name:"ExternalLinkIcon",props:{locales:{type:Object,required:!1,default:()=>({})}},setup(e){const t=Tt(),n=w(()=>e.locales[t.value]??{openInNewWindow:"open in new window"});return()=>a("span",[h2,a("span",{class:"external-link-icon-sr-only"},n.value.openInNewWindow)])}});var m2={};const v2=m2,g2=ot({enhance({app:e}){e.component("ExternalLinkIcon",a(Vc,{locales:v2}))}});/**
- * NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress
- * @license MIT
- */const ae={settings:{minimum:.08,easing:"ease",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,barSelector:'[role="bar"]',parent:"body",template:'<div class="bar" role="bar"></div>'},status:null,set:e=>{const t=ae.isStarted();e=Vo(e,ae.settings.minimum,1),ae.status=e===1?null:e;const n=ae.render(!t),r=n.querySelector(ae.settings.barSelector),o=ae.settings.speed,l=ae.settings.easing;return n.offsetWidth,y2(s=>{Vr(r,{transform:"translate3d("+Fa(e)+"%,0,0)",transition:"all "+o+"ms "+l}),e===1?(Vr(n,{transition:"none",opacity:"1"}),n.offsetWidth,setTimeout(function(){Vr(n,{transition:"all "+o+"ms linear",opacity:"0"}),setTimeout(function(){ae.remove(),s()},o)},o)):setTimeout(()=>s(),o)}),ae},isStarted:()=>typeof ae.status=="number",start:()=>{ae.status||ae.set(0);const e=()=>{setTimeout(()=>{ae.status&&(ae.trickle(),e())},ae.settings.trickleSpeed)};return ae.settings.trickle&&e(),ae},done:e=>!e&&!ae.status?ae:ae.inc(.3+.5*Math.random()).set(1),inc:e=>{let t=ae.status;return t?(typeof e!="number"&&(e=(1-t)*Vo(Math.random()*t,.1,.95)),t=Vo(t+e,0,.994),ae.set(t)):ae.start()},trickle:()=>ae.inc(Math.random()*ae.settings.trickleRate),render:e=>{if(ae.isRendered())return document.getElementById("nprogress");za(document.documentElement,"nprogress-busy");const t=document.createElement("div");t.id="nprogress",t.innerHTML=ae.settings.template;const n=t.querySelector(ae.settings.barSelector),r=e?"-100":Fa(ae.status||0),o=document.querySelector(ae.settings.parent);return Vr(n,{transition:"all 0 linear",transform:"translate3d("+r+"%,0,0)"}),o!==document.body&&za(o,"nprogress-custom-parent"),o==null||o.appendChild(t),t},remove:()=>{Va(document.documentElement,"nprogress-busy"),Va(document.querySelector(ae.settings.parent),"nprogress-custom-parent");const e=document.getElementById("nprogress");e&&b2(e)},isRendered:()=>!!document.getElementById("nprogress")},Vo=(e,t,n)=>e<t?t:e>n?n:e,Fa=e=>(-1+e)*100,y2=function(){const e=[];function t(){const n=e.shift();n&&n(t)}return function(n){e.push(n),e.length===1&&t()}}(),Vr=function(){const e=["Webkit","O","Moz","ms"],t={};function n(s){return s.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,function(i,c){return c.toUpperCase()})}function r(s){const i=document.body.style;if(s in i)return s;let c=e.length;const u=s.charAt(0).toUpperCase()+s.slice(1);let f;for(;c--;)if(f=e[c]+u,f in i)return f;return s}function o(s){return s=n(s),t[s]??(t[s]=r(s))}function l(s,i,c){i=o(i),s.style[i]=c}return function(s,i){for(const c in i){const u=i[c];u!==void 0&&Object.prototype.hasOwnProperty.call(i,c)&&l(s,c,u)}}}(),jc=(e,t)=>(typeof e=="string"?e:rs(e)).indexOf(" "+t+" ")>=0,za=(e,t)=>{const n=rs(e),r=n+t;jc(n,t)||(e.className=r.substring(1))},Va=(e,t)=>{const n=rs(e);if(!jc(e,t))return;const r=n.replace(" "+t+" "," ");e.className=r.substring(1,r.length-1)},rs=e=>(" "+(e.className||"")+" ").replace(/\s+/gi," "),b2=e=>{e&&e.parentNode&&e.parentNode.removeChild(e)},_2=()=>{me(()=>{const e=kt(),t=new Set;t.add(e.currentRoute.value.path),e.beforeEach(n=>{t.has(n.path)||ae.start()}),e.afterEach(n=>{t.add(n.path),ae.done()})})},w2=ot({setup(){_2()}}),E2=JSON.parse('{"encrypt":{},"author":{"name":"HalfSweet","url":"https://github.com/HalfSweet"},"logo":"/img/Headshot.jpg","repo":"HalfSweet/Blog","docsDir":"src","footer":"今天咕咕被欺负了吗","displayFooter":true,"blog":{"description":"Try to create some value","intro":"/Catalogue/02.about.html","medias":{"Email":"mailto:HalfSweet@HalfSweet.cn","GitHub":"https://github.com/HalfSweet","Twitter":"https://twitter.com/_HalfSweet"}},"navbarLayout":{"start":["Brand"],"center":["Links"],"end":["Language","Repo","Outlook","Search"]},"locales":{"/":{"lang":"zh-CN","navbarLocales":{"langName":"简体中文","selectLangAriaLabel":"选择语言"},"metaLocales":{"author":"作者","date":"写作日期","origin":"原创","views":"访问量","category":"分类","tag":"标签","readingTime":"阅读时间","words":"字数","toc":"此页内容","prev":"上一页","next":"下一页","lastUpdated":"上次编辑于","contributors":"贡献者","editLink":"在 GitHub 上编辑此页","print":"打印"},"blogLocales":{"article":"文章","articleList":"文章列表","category":"分类","tag":"标签","timeline":"时间轴","timelineTitle":"昨日不在","all":"全部","intro":"个人介绍","star":"星标","empty":"$text 为空"},"paginationLocales":{"prev":"上一页","next":"下一页","navigate":"跳转到","action":"前往","errorText":"请输入 1 到 $page 之前的页码!"},"outlookLocales":{"themeColor":"主题色","darkmode":"外观","fullscreen":"全屏"},"routeLocales":{"skipToContent":"跳至主要內容","notFoundTitle":"页面不存在","notFoundMsg":["这里什么也没有","我们是怎么来到这儿的?","这 是 四 零 四 !","看起来你访问了一个失效的链接"],"back":"返回上一页","home":"带我回家","openInNewWindow":"Open in new window"},"navbar":["/",{"text":"文章","link":"/posts/","icon":"app"},{"text":"关于","icon":"user","link":"/Catalogue/about.html"},{"text":"友链","icon":"link","link":"/Catalogue/friends.html"}],"sidebar":{"/":["",{"text":"文章","icon":"book","prefix":"posts/","children":"structure"}]}}}}'),S2=Q(E2),Gc=()=>S2,Uc=Symbol(""),C2=()=>{const e=we(Uc);if(!e)throw new Error("useThemeLocaleData() is called without provider.");return e},k2=(e,t)=>{const{locales:n,...r}=e;return{...r,...n==null?void 0:n[t]}},T2=ot({enhance({app:e}){const t=Gc(),n=e._context.provides[zl],r=w(()=>k2(t.value,n.routeLocale.value));e.provide(Uc,r),Object.defineProperties(e.config.globalProperties,{$theme:{get(){return t.value}},$themeLocale:{get(){return r.value}}})}});var A2={provider:"Giscus",lightTheme:"https://unpkg.com/vuepress-theme-hope@2.0.0-rc.31/templates/giscus/light.css",darkTheme:"https://unpkg.com/vuepress-theme-hope@2.0.0-rc.31/templates/giscus/dark.css",repo:"HalfSweet/Blog",repoId:"R_kgDOIWC9qQ",category:"comment",categoryId:"DIC_kwDOIWC9qc4CYtVz",mapping:"pathname",lazyLoading:!1};const x2=A2;let L2=x2;const qc=Symbol(""),Wc=()=>we(qc),I2=Wc,P2=e=>{e.provide(qc,L2)},Kc=()=>a("svg",{xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",preserveAspectRatio:"xMidYMid",viewBox:"0 0 100 100"},[a("circle",{cx:"28",cy:"75",r:"11",fill:"currentColor"},a("animate",{attributeName:"fill-opacity",begin:"0s",dur:"1s",keyTimes:"0;0.2;1",repeatCount:"indefinite",values:"0;1;1"})),a("path",{fill:"none",stroke:"#88baf0","stroke-width":"10",d:"M28 47a28 28 0 0 1 28 28"},a("animate",{attributeName:"stroke-opacity",begin:"0.1s",dur:"1s",keyTimes:"0;0.2;1",repeatCount:"indefinite",values:"0;1;1"})),a("path",{fill:"none",stroke:"#88baf0","stroke-width":"10",d:"M28 25a50 50 0 0 1 50 50"},a("animate",{attributeName:"stroke-opacity",begin:"0.2s",dur:"1s",keyTimes:"0;0.2;1",repeatCount:"indefinite",values:"0;1;1"}))]);Kc.displayName="LoadingIcon";const ja=["ar","ca","da","de","en","eo","es","fa","fr","he","id","it","ja","ko","nl","pl","pt","ro","ru","th","tr","uk","uz","vi","zh-CN","zh-TW"],R2=M({name:"GiscusComment",props:{identifier:{type:String,required:!0},darkmode:Boolean},setup(e){const t=I2(),n=vo(),r=!!(t.repo&&t.repoId&&t.category&&t.categoryId),{repo:o,repoId:l,category:s,categoryId:i}=t,c=Q(!1),u=w(()=>{if(ja.includes(n.value))return n.value;const d=n.value.split("-")[0];return ja.includes(d)?d:"en"}),f=w(()=>({repo:o,repoId:l,category:s,categoryId:i,lang:u.value,theme:e.darkmode?t.darkTheme||"dark":t.lightTheme||"light",mapping:t.mapping||"pathname",term:e.identifier,inputPosition:t.inputPosition||"top",reactionsEnabled:t.reactionsEnabled===!1?"0":"1",strict:t.strict===!1?"0":"1",loading:t.lazyLoading===!1?"eager":"lazy",emitMetadata:"0"}));return me(async()=>{await z(()=>import("./giscus-7BMGhbDA.js"),__vite__mapDeps([])),c.value=!0}),()=>r?a("div",{id:"comment",class:["giscus-wrapper",{"input-top":t.inputPosition!=="bottom"}]},c.value?a("giscus-widget",f.value):a(Kc)):null}}),M2=M({name:"CommentService",props:{darkmode:Boolean},setup(e){const t=Wc(),n=de(),r=ve(),o=t.comment!==!1,l=w(()=>r.value.comment||o&&r.value.comment!==!1);return()=>a(R2,{id:"vp-comment",identifier:r.value.commentID||n.value.path,darkmode:e.darkmode,style:{display:l.value?"block":"none"}})}}),O2=ot({enhance:({app:e})=>{P2(e),e.component("CommentService",M2)}}),$2=/\b(?:Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini)/i,H2=()=>typeof window<"u"&&window.navigator&&"userAgent"in window.navigator&&$2.test(navigator.userAgent),D2=({delay:e=500,duration:t=2e3,locales:n,selector:r,showInMobile:o})=>{const{copy:l,copied:s}=H0({legacy:!0,copiedDuring:t}),i=sn(n),c=de(),u=p=>{if(!p.hasAttribute("copy-code-registered")){const m=document.createElement("button");m.type="button",m.classList.add("vp-copy-code-button"),m.innerHTML='<div class="vp-copy-icon" />',m.setAttribute("aria-label",i.value.copy),m.setAttribute("data-copied",i.value.copied),p.parentElement&&p.parentElement.insertBefore(m,p),p.setAttribute("copy-code-registered","")}},f=()=>{ln().then(()=>mc(e)).then(()=>{r.forEach(p=>{document.querySelectorAll(p).forEach(u)})})},d=(p,m,g)=>{let{innerText:_=""}=m;/language-(shellscript|shell|bash|sh|zsh)/.test(p.classList.toString())&&(_=_.replace(/^ *(\$|>) /gm,"")),l(_).then(()=>{g.classList.add("copied"),fe(s,()=>{g.classList.remove("copied"),g.blur()},{once:!0})})};me(()=>{const p=!H2()||o;p&&f(),Me("click",m=>{const g=m.target;if(g.matches('div[class*="language-"] > button.copy')){const _=g.parentElement,E=g.nextElementSibling;E&&d(_,E,g)}else if(g.matches('div[class*="language-"] div.vp-copy-icon')){const _=g.parentElement,E=_.parentElement,y=_.nextElementSibling;y&&d(E,y,_)}}),fe(()=>c.value.path,()=>{p&&f()})})};var N2={"/":{copy:"复制代码",copied:"已复制"}},B2=['.theme-hope-content div[class*="language-"] pre'];const F2=500,z2=2e3,V2=N2,j2=B2,G2=!1,U2=ot({setup:()=>{D2({selector:j2,locales:V2,duration:z2,delay:F2,showInMobile:G2})}}),q2=()=>{Me("beforeprint",()=>{document.querySelectorAll("details").forEach(e=>{e.open=!0})})},W2=ot({enhance:({app:e})=>{},setup:()=>{q2()}});let K2={};const Yc=Symbol(""),Y2=()=>we(Yc),J2=e=>{e.provide(Yc,K2)},X2='<div class="photo-swipe-loading"><svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" preserveAspectRatio="xMidYMid" viewBox="25 25 50 50"><animateTransform attributeName="transform" type="rotate" dur="2s" keyTimes="0;1" repeatCount="indefinite" values="0;360"></animateTransform><circle cx="50" cy="50" r="20" fill="none" stroke="currentColor" stroke-width="4" stroke-linecap="round"><animate attributeName="stroke-dasharray" dur="1.5s" keyTimes="0;0.5;1" repeatCount="indefinite" values="1,200;90,200;1,200"></animate><animate attributeName="stroke-dashoffset" dur="1.5s" keyTimes="0;0.5;1" repeatCount="indefinite" values="0;-35px;-125px"></animate></circle></svg></div>',Q2=e=>_e(e)?Array.from(document.querySelectorAll(e)):e.map(t=>Array.from(document.querySelectorAll(t))).flat(),Jc=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(Jc(e)),e.onerror=r=>n(r))}),Z2=e=>{const{isSupported:t,toggle:n}=Xl();e.on("uiRegister",()=>{t.value&&e.ui.registerElement({name:"fullscreen",order:7,isButton:!0,html:'<svg class="pswp__icn" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path d="M249.5 270.833H437v-75H212a37.5 37.5 0 0 0-37.5 37.5v225h75v-187.5zm-37.5 600h225v-75H249.5v-187.5h-75v225a37.5 37.5 0 0 0 37.5 37.5zm637.5-37.5v-225h-75v187.5H587v75h225a37.5 37.5 0 0 0 37.5-37.5zM587 270.833h187.5v187.5h75v-225a37.5 37.5 0 0 0-37.5-37.5H587v75z"/></svg>',onClick:()=>{n()}}),e.ui.registerElement({name:"download",order:8,isButton:!0,tagName:"a",html:{isCustomSVG:!0,inner:'<path d="M20.5 14.3 17.1 18V10h-2.2v7.9l-3.4-3.6L10 16l6 6.1 6-6.1-1.5-1.6ZM23 23H9v2h14" id="pswp__icn-download"/>',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 l=[];let s=-1;for(let i=0;i<o.getNumItems();i++){const c=document.createElement("div");c.className="photo-swipe-bullet",c.onclick=u=>{o.goTo(l.indexOf(u.target))},l.push(c),r.appendChild(c)}o.on("change",()=>{s>=0&&l[s].classList.remove("active"),l[o.currIndex].classList.add("active"),s=o.currIndex})}})})},em=(e,t,n=!0)=>z(()=>import("./photoswipe.esm-SzV8tJDW.js"),__vite__mapDeps([])).then(({default:r})=>{let o=null;const l=e.map(s=>({html:X2,element:s,msrc:s.src}));return e.forEach((s,i)=>{const c=()=>{o==null||o.destroy(),o=new r({preloaderDelay:0,showHideAnimationType:"zoom",...t,dataSource:l,index:i,...n?{closeOnVerticalDrag:!0,wheelToZoom:!1}:{}}),Z2(o),o.addFilter("thumbEl",()=>s),o.addFilter("placeholderSrc",()=>s.src),o.init()};s.getAttribute("photo-swipe")||(s.style.cursor="zoom-in",s.addEventListener("click",()=>{c()}),s.addEventListener("keypress",({key:u})=>{u==="Enter"&&c()}),s.setAttribute("photo-swipe","")),Jc(s).then(u=>{l.splice(i,1,u),o==null||o.refreshSlideContent(i)})}),n?Me("wheel",()=>{o==null||o.close()}):()=>{}}),tm=({selector:e,locales:t,delay:n=500,scrollToClose:r=!0})=>{const o=Y2(),l=sn(t),s=de(),i=ve();let c=null;const u=()=>{const{photoSwipe:f}=i.value;f!==!1&&ln().then(()=>mc(n)).then(async()=>{const d=_e(f)?f:e;c=await em(Q2(d),{...o,...l.value},r)})};me(()=>{u(),fe(()=>s.value.path,()=>{c==null||c(),u()})}),In(()=>{c==null||c()})};var nm={"/":{closeTitle:"关闭",downloadTitle:"下载图片",fullscreenTitle:"切换全屏",zoomTitle:"缩放",arrowPrevTitle:"上一个 (左箭头)",arrowNextTitle:"下一个 (右箭头)"}};const rm=".theme-hope-content :not(a) > img:not([no-view])",om=nm,lm=800,sm=!0,am=ot({enhance:({app:e})=>{J2(e)},setup:()=>{tm({selector:rm,delay:lm,locales:om,scrollToClose:sm})}}),Xc=()=>{const e=de();return w(()=>e.value.readingTime??null)},Qc=(e,t)=>{const{minutes:n,words:r}=e,{less1Minute:o,word:l,time:s}=t;return{time:n<1?o:s.replace("$time",Math.round(n).toString()),words:l.replace("$word",r.toString())}};var Ga={"/":{word:"约 $word 字",less1Minute:"小于 1 分钟",time:"大约 $time 分钟"}};const Ua={words:"",time:""},al=typeof Ga>"u"?null:Ga,Zc=()=>al?sn(al):w(()=>null),im=()=>{if(typeof al>"u")return w(()=>Ua);const e=Xc(),t=Zc();return w(()=>e.value&&t.value?Qc(e.value,t.value):Ua)},Ut=()=>Gc(),le=()=>C2(),an=()=>{const e=Ut();return w(()=>!!e.value.pure)},jo=()=>null,cm="719px",um="1440px",fm="false",os={mobileBreakPoint:cm,pcBreakPoint:um,enableThemeColor:fm},ls={"/posts/":["/posts/Air32-Clion/","/posts/Air32-HAL-MCO/","/posts/HelloWorld/","/posts/STC_CoreMark/","/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/","/posts/Air32-HAL-HighFreq/","/posts/embedded_fmtlib/","/posts/conda_novelai/","/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/","/posts/Empedded-CI-CD/","/posts/MDK6-Dev/","/posts/SEGGER-RTT/","/posts/EpdTraps1/"]},eu=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`),gt(t)?a("img",{class:"icon",src:t,alt:"","no-view":"",style:o}):gr(t)?a("img",{class:"icon",src:be(t),alt:"","aria-hidden":"","no-view":"",style:o}):a(Xe("FontIcon"),e)};eu.displayName="HopeIcon";var Be=eu;const wr=()=>{const e=kt(),t=jt();return n=>{if(n)if(gr(n))t.path!==n&&e.push(n);else if(Zi(n))window&&window.open(n);else{const r=t.path.slice(0,t.path.lastIndexOf("/"));e.push(`${r}/${encodeURI(n)}`)}}},tu=()=>{const e=le(),t=ve();return w(()=>{const{author:n}=t.value;return n?sr(n):n===!1?[]:sr(e.value.author,!1)})},dm=()=>{const e=ve(),t=we(Symbol.for("categoryMap"));return w(()=>Sc(e.value.category).map(n=>{var r;return{name:n,path:((r=t==null?void 0:t.value.map[n])==null?void 0:r.path)||""}}))},pm=()=>{const e=ve(),t=we(Symbol.for("tagMap"));return w(()=>Cc(e.value.tag).map(n=>{var r;return{name:n,path:((r=t==null?void 0:t.value.map[n])==null?void 0:r.path)||""}}))},hm=()=>{const e=ve(),t=de();return w(()=>{const n=Vl(e.value.date);if(n)return n;const{createdTime:r}=t.value.git||{};return r?new Date(r):null})},mm=()=>{const e=le(),t=de(),n=ve(),r=tu(),o=dm(),l=pm(),s=hm(),i=Xc(),c=im(),u=w(()=>({author:r.value,category:o.value,date:s.value,localizedDate:t.value.localizedDate,tag:l.value,isOriginal:n.value.isOriginal||!1,readingTime:i.value,readingTimeLocale:c.value,pageview:"pageview"in n.value?n.value.pageview:!0})),f=w(()=>"pageInfo"in n.value?n.value.pageInfo:"pageInfo"in e.value?e.value.pageInfo:null);return{info:u,items:f}},{mobileBreakPoint:vm,pcBreakPoint:gm}=os,qa=e=>e.endsWith("px")?Number(e.slice(0,-2)):null,Er=()=>{const e=Q(!1),t=Q(!1),n=()=>{e.value=window.innerWidth<=(qa(vm)??719),t.value=window.innerWidth>=(qa(gm)??1440)};return me(()=>{n(),Me("resize",n,!1),Me("orientationchange",n,!1)}),{isMobile:e,isPC:t}},nu=Symbol(""),Sr=()=>{const e=we(nu);if(!e)throw new Error("useDarkmode() is called without provider.");return e},ym=e=>{const t=Ut(),n=j0(),r=w(()=>t.value.darkmode||"switch"),o=V0("vuepress-theme-hope-scheme","auto"),l=w(()=>{const i=r.value;return i==="disable"?!1:i==="enable"?!0:i==="auto"?n.value:i==="toggle"?o.value==="dark":o.value==="dark"||o.value==="auto"&&n.value}),s=w(()=>{const i=r.value;return i==="switch"||i==="toggle"});e.provide(nu,{canToggle:s,config:r,isDarkmode:l,status:o}),Object.defineProperties(e.config.globalProperties,{$isDarkmode:{get:()=>l.value}})},bm=()=>{const{config:e,isDarkmode:t,status:n}=Sr();Si(()=>{e.value==="disable"?n.value="light":e.value==="enable"?n.value="dark":e.value==="toggle"&&n.value==="auto"&&(n.value="light")}),me(()=>{fe(t,r=>document.documentElement.setAttribute("data-theme",r?"dark":"light"),{immediate:!0})})};var ye=(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))(ye||{}),ru=(e=>(e.article="a",e.home="h",e.slide="s",e.page="p",e))(ru||{});const Qt=(e="",t="")=>gr(t)?t:`${Dl(e)}${t}`,bn=(e,t=!1)=>{const{meta:n,path:r,notFound:o}=Rn(e);return o?{text:r,link:r}:{text:!t&&n[ye.shortTitle]?n[ye.shortTitle]:n[ye.title]||r,link:r,...n[ye.icon]?{icon:n[ye.icon]}:{}}},il=({config:e,prefix:t=""})=>{const n=(r,o=t)=>{const l=_e(r)?bn(Qt(o,r)):r.link?{...r,...tn(r.link)?{}:{link:bn(Qt(o,r.link)).link}}:r;if("children"in l){const s=Qt(o,l.prefix),i=l.children==="structure"?ls[s]:l.children;return{type:"group",...l,prefix:s,children:i.map(c=>n(c,s))}}return{type:"page",...l}};return e.map(r=>n(r))},_m=({config:e,page:t,headerDepth:n})=>{const r=rt(e).sort((o,l)=>l.length-o.length);for(const o of r)if(Tn(decodeURI(t.path),o)){const l=e[o];return l?il({config:l==="structure"?ls[o]:l,page:t,headerDepth:n,prefix:o}):[]}return console.warn(`${t.path} is missing sidebar config.`),[]},wm=({config:e,routeLocale:t,page:n,headerDepth:r})=>e==="structure"?il({config:ls[t],page:n,headerDepth:r,prefix:t}):ro(e)?il({config:e,page:n,headerDepth:r}):Pn(e)?_m({config:e,page:n,headerDepth:r}):[],ou=Symbol(""),Em=()=>{const e=ve(),t=le(),n=de(),r=Tt(),o=w(()=>e.value.home?!1:e.value.sidebar??t.value.sidebar??"structure"),l=w(()=>e.value.headerDepth??t.value.headerDepth??2),s=kc(()=>[o.value,l.value,n.value.path,null],()=>wm({config:o.value,routeLocale:r.value,page:n.value,headerDepth:l.value}));ut(ou,s)},ss=()=>{const e=we(ou);if(!e)throw new Error("useSidebarItems() is called without provider.");return e};var Sm=M({name:"PageFooter",setup(){const e=Ut(),t=le(),n=ve(),r=tu(),o=w(()=>{const{copyright:u,footer:f}=n.value;return f!==!1&&!!(u||f||t.value.displayFooter)}),l=w(()=>{const{footer:u}=n.value;return u===!1?!1:_e(u)?u:t.value.footer||""}),s=w(()=>r.value.map(({name:u})=>u).join(", ")),i=u=>`Copyright © ${new Date().getFullYear()} ${s.value} ${u?`${u} Licensed`:""}`,c=w(()=>{const{copyright:u,license:f=""}=n.value,{license:d}=e.value,{copyright:p}=t.value;return u??(f?i(f):_e(p)?p:s.value||d?i(d):!1)});return()=>o.value?a("footer",{class:"vp-footer-wrapper"},[l.value?a("div",{class:"vp-footer",innerHTML:l.value}):null,c.value?a("div",{class:"vp-copyright",innerHTML:c.value}):null]):null}}),Ue=M({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=jt(),l=fc(),s=Ln(e,"config"),i=w(()=>gt(s.value.link)),c=w(()=>!i.value&&Zi(s.value.link)),u=w(()=>s.value.target||(i.value?"_blank":void 0)),f=w(()=>u.value==="_blank"),d=w(()=>!i.value&&!c.value&&!f.value),p=w(()=>s.value.rel||(f.value?"noopener noreferrer":null)),m=w(()=>s.value.ariaLabel||s.value.text),g=w(()=>{if(e.exact)return!1;const E=rt(l.value.locales);return E.length?E.every(y=>y!==s.value.link):s.value.link!=="/"}),_=w(()=>d.value?s.value.activeMatch?new RegExp(s.value.activeMatch,"u").test(o.path):g.value?Tn(o.path,s.value.link):o.path===s.value.link:!1);return()=>{const{before:E,after:y,default:C}=r,{text:b,icon:T,link:D}=s.value;return d.value?a(ke,{to:D,"aria-label":m.value,...t,class:["nav-link",{active:_.value},t.class],onFocusout:()=>n("focusout")},()=>C?C():[E?E():a(Be,{icon:T}),b,y==null?void 0:y()]):a("a",{href:D,rel:p.value,target:u.value,"aria-label":m.value,...t,class:["nav-link",t.class],onFocusout:()=>n("focusout")},C?C():[E?E():a(Be,{icon:T}),b,e.noExternalLinkIcon?null:a(Vc),y==null?void 0:y()])}}}),Cm=M({name:"NavbarDropdownLink",props:{config:{type:Object,required:!0}},slots:Object,setup(e,{slots:t}){const n=de(),r=Ln(e,"config"),o=w(()=>r.value.ariaLabel||r.value.text),l=Q(!1);fe(()=>n.value.path,()=>{l.value=!1});const s=i=>{i.detail===0&&(l.value=!l.value)};return()=>{var i;return a("div",{class:["dropdown-wrapper",{open:l.value}]},[a("button",{type:"button",class:"dropdown-title","aria-label":o.value,onClick:s},[((i=t.title)==null?void 0:i.call(t))||a("span",{class:"title"},[a(Be,{icon:r.value.icon}),e.config.text]),a("span",{class:"arrow"}),a("ul",{class:"nav-dropdown"},r.value.children.map((c,u)=>{const f=u===r.value.children.length-1;return a("li",{class:"dropdown-item"},"children"in c?[a("h4",{class:"dropdown-subtitle"},c.link?a(Ue,{config:c,onFocusout:()=>{c.children.length===0&&f&&(l.value=!1)}}):a("span",c.text)),a("ul",{class:"dropdown-subitem-wrapper"},c.children.map((d,p)=>a("li",{class:"dropdown-subitem"},a(Ue,{config:d,onFocusout:()=>{p===c.children.length-1&&f&&(l.value=!1)}}))))]:a(Ue,{config:c,onFocusout:()=>{f&&(l.value=!1)}}))}))])])}}});const lu=(e,t="")=>_e(e)?bn(Qt(t,e)):"children"in e?{...e,...e.link&&!tn(e.link)?bn(Qt(t,e.link)):{},children:e.children.map(n=>lu(n,Qt(t,e.prefix)))}:{...e,link:tn(e.link)?e.link:bn(Qt(t,e.link)).link},su=()=>{const e=le(),t=()=>(e.value.navbar||[]).map(n=>lu(n));return kc(()=>e.value.navbar,()=>t())},km=()=>{const e=le(),t=w(()=>e.value.repo||null),n=w(()=>t.value?v0(t.value):null),r=w(()=>t.value?Kl(t.value):null),o=w(()=>n.value?e.value.repoLabel??(r.value===null?"Source":r.value):null);return w(()=>!n.value||!o.value||e.value.repoDisplay===!1?null:{type:r.value||"Source",label:o.value,link:n.value})};var Tm=M({name:"NavScreenDropdown",props:{config:{type:Object,required:!0}},setup(e){const t=de(),n=Ln(e,"config"),r=w(()=>n.value.ariaLabel||n.value.text),o=Q(!1);fe(()=>t.value.path,()=>{o.value=!1});const l=(s,i)=>i[i.length-1]===s;return()=>[a("button",{type:"button",class:["nav-screen-dropdown-title",{active:o.value}],"aria-label":r.value,onClick:()=>{o.value=!o.value}},[a("span",{class:"title"},[a(Be,{icon:n.value.icon}),e.config.text]),a("span",{class:["arrow",o.value?"down":"end"]})]),a("ul",{class:["nav-screen-dropdown",{hide:!o.value}]},n.value.children.map(s=>a("li",{class:"dropdown-item"},"children"in s?[a("h4",{class:"dropdown-subtitle"},s.link?a(Ue,{config:s,onFocusout:()=>{l(s,n.value.children)&&s.children.length===0&&(o.value=!1)}}):a("span",s.text)),a("ul",{class:"dropdown-subitem-wrapper"},s.children.map(i=>a("li",{class:"dropdown-subitem"},a(Ue,{config:i,onFocusout:()=>{l(i,s.children)&&l(s,n.value.children)&&(o.value=!1)}}))))]:a(Ue,{config:s,onFocusout:()=>{l(s,n.value.children)&&(o.value=!1)}}))))]}}),Am=M({name:"NavScreenLinks",setup(){const e=su();return()=>e.value.length?a("nav",{class:"nav-screen-links"},e.value.map(t=>a("div",{class:"navbar-links-item"},"children"in t?a(Tm,{config:t}):a(Ue,{config:t})))):null}});const au=()=>a(ue,{name:"dark"},()=>a("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"}));au.displayName="DarkIcon";const iu=()=>a(ue,{name:"light"},()=>a("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"}));iu.displayName="LightIcon";const cu=()=>a(ue,{name:"auto"},()=>a("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"}));cu.displayName="AutoIcon";const uu=()=>a(ue,{name:"enter-fullscreen"},()=>a("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"}));uu.displayName="EnterFullScreenIcon";const fu=()=>a(ue,{name:"cancel-fullscreen"},()=>a("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"}));fu.displayName="CancelFullScreenIcon";const du=()=>a(ue,{name:"outlook"},()=>[a("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"})]);du.displayName="OutlookIcon";var pu=M({name:"AppearanceSwitch",setup(){const{config:e,isDarkmode:t,status:n}=Sr(),r=an(),o=()=>{e.value==="switch"?n.value={light:"dark",dark:"auto",auto:"light"}[n.value]:n.value=n.value==="light"?"dark":"light"},l=async s=>{if(!(document.startViewTransition&&!window.matchMedia("(prefers-reduced-motion: reduce)").matches&&!r.value)||!s){o();return}const i=s.clientX,c=s.clientY,u=Math.hypot(Math.max(i,innerWidth-i),Math.max(c,innerHeight-c)),f=t.value;await document.startViewTransition(async()=>{o(),await ln()}).ready,t.value!==f&&document.documentElement.animate({clipPath:t.value?[`circle(${u}px at ${i}px ${c}px)`,`circle(0px at ${i}px ${c}px)`]:[`circle(0px at ${i}px ${c}px)`,`circle(${u}px at ${i}px ${c}px)`]},{duration:400,pseudoElement:t.value?"::view-transition-old(root)":"::view-transition-new(root)"})};return()=>a("button",{type:"button",id:"appearance-switch",onClick:l},[a(cu,{style:{display:n.value==="auto"?"block":"none"}}),a(au,{style:{display:n.value==="dark"?"block":"none"}}),a(iu,{style:{display:n.value==="light"?"block":"none"}})])}}),xm=M({name:"AppearanceMode",setup(){const e=le(),{canToggle:t}=Sr(),n=w(()=>e.value.outlookLocales.darkmode);return()=>t.value?a("div",{class:"appearance-wrapper"},[a("label",{class:"appearance-title",for:"appearance-switch"},n.value),a(pu)]):null}});const Go="VUEPRESS_THEME_COLOR";var Lm=M({name:"ThemeColorPicker",props:{themeColor:{type:Object,required:!0}},setup(e){const t=(n="")=>{const r=document.documentElement.classList,o=rt(e.themeColor);if(!n){localStorage.removeItem(Go),r.remove(...o);return}r.remove(...o.filter(l=>l!==n)),r.add(n),localStorage.setItem(Go,n)};return me(()=>{const n=localStorage.getItem(Go);n&&t(n)}),()=>a("ul",{id:"theme-color-picker"},[a("li",a("span",{class:"theme-color",onClick:()=>t()})),Gt(e.themeColor).map(([n,r])=>a("li",a("span",{style:{background:r},onClick:()=>t(n)})))])}});const _n=os.enableThemeColor==="true",Im=_n?i0(Gt(os).filter(([e])=>e.startsWith("theme-"))):{};var Pm=M({name:"ThemeColor",setup(){const e=le(),t=w(()=>e.value.outlookLocales.themeColor);return()=>_n?a("div",{class:"theme-color-wrapper"},[a("label",{class:"theme-color-title",for:"theme-color-picker"},t.value),a(Lm,{themeColor:Im})]):null}}),hu=M({name:"ToggleFullScreenButton",setup(){const e=le(),{isSupported:t,isFullscreen:n,toggle:r}=Xl(),o=w(()=>e.value.outlookLocales.fullscreen);return()=>t?a("div",{class:"full-screen-wrapper"},[a("label",{class:"full-screen-title",for:"full-screen-switch"},o.value),a("button",{type:"button",id:"full-screen-switch",class:"full-screen",ariaPressed:n.value,onClick:()=>r()},n.value?a(fu):a(uu))]):null}}),mu=M({name:"OutlookSettings",setup(){const e=Ut(),t=an(),n=w(()=>!t.value&&e.value.fullscreen);return()=>a(go,()=>[_n?a(Pm):null,a(xm),n.value?a(hu):null])}}),Rm=M({name:"NavScreen",props:{show:Boolean},emits:["close"],slots:Object,setup(e,{emit:t,slots:n}){const r=de(),{isMobile:o}=Er(),l=Fe(),s=Ic(l);return me(()=>{l.value=document.body,fe(o,i=>{!i&&e.show&&(s.value=!1,t("close"))}),fe(()=>r.value.path,()=>{s.value=!1,t("close")})}),In(()=>{s.value=!1}),()=>a(zt,{name:"fade",onEnter:()=>{s.value=!0},onAfterLeave:()=>{s.value=!1}},()=>{var i,c;return e.show?a("div",{id:"nav-screen"},a("div",{class:"vp-nav-screen-container"},[(i=n.before)==null?void 0:i.call(n),a(Am),a("div",{class:"vp-outlook-wrapper"},a(mu)),(c=n.after)==null?void 0:c.call(n)])):null})}}),Mm=M({name:"NavbarBrand",setup(){const e=Tt(),t=vr(),n=le(),r=w(()=>n.value.home||e.value),o=w(()=>t.value.title),l=w(()=>n.value.navTitle??o.value),s=w(()=>n.value.logo?be(n.value.logo):null),i=w(()=>n.value.logoDark?be(n.value.logoDark):null);return()=>a(ke,{to:r.value,class:"vp-brand"},()=>[s.value?a("img",{class:["vp-nav-logo",{light:!!i.value}],src:s.value,alt:""}):null,i.value?a("img",{class:["vp-nav-logo dark"],src:i.value,alt:""}):null,l.value?a("span",{class:["vp-site-name",{"hide-in-pad":s.value&&n.value.hideSiteNameOnMobile!==!1}]},l.value):null])}}),Om=M({name:"NavbarLinks",setup(){const e=su();return()=>e.value.length?a("nav",{class:"vp-nav-links"},e.value.map(t=>a("div",{class:"nav-item hide-in-mobile"},"children"in t?a(Cm,{config:t}):a(Ue,{config:t})))):null}}),$m=M({name:"RepoLink",components:{BitbucketIcon:ql,GiteeIcon:Ul,GitHubIcon:jl,GitLabIcon:Gl,SourceIcon:Wl},setup(){const e=km();return()=>e.value?a("div",{class:"nav-item vp-repo"},a("a",{class:"vp-repo-link",href:e.value.link,target:"_blank",rel:"noopener noreferrer","aria-label":e.value.label},a(Xe(`${e.value.type}Icon`),{style:{width:"1.25rem",height:"1.25rem",verticalAlign:"middle"}}))):null}});const vu=({active:e=!1},{emit:t})=>a("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")},a("span",[a("span",{class:"vp-top"}),a("span",{class:"vp-middle"}),a("span",{class:"vp-bottom"})]));vu.displayName="ToggleNavbarButton";var Hm=vu;const cl=(e,{emit:t})=>a("button",{type:"button",class:"vp-toggle-sidebar-button",title:"Toggle Sidebar",onClick:()=>t("toggle")},a("span",{class:"icon"}));cl.displayName="ToggleSidebarButton",cl.emits=["toggle"];var Dm=cl,Nm=M({name:"OutlookButton",setup(){const{isSupported:e}=Xl(),t=Ut(),n=an(),r=de(),{canToggle:o}=Sr(),l=Q(!1),s=w(()=>!n.value&&t.value.fullscreen&&e);return fe(()=>r.value.path,()=>{l.value=!1}),()=>o.value||s.value||_n?a("div",{class:"nav-item hide-in-mobile"},o.value&&!s.value&&!_n?a(pu):s.value&&!o.value&&!_n?a(hu):a("button",{type:"button",class:["outlook-button",{open:l.value}],tabindex:"-1","aria-hidden":!0},[a(du),a("div",{class:"outlook-dropdown"},a(mu))])):null}}),Bm=M({name:"NavBar",emits:["toggleSidebar"],slots:Object,setup(e,{emit:t,slots:n}){const r=le(),{isMobile:o}=Er(),l=Q(!1),s=w(()=>{const{navbarAutoHide:f="mobile"}=r.value;return f!=="none"&&(f==="always"||o.value)}),i=w(()=>r.value.navbarLayout||{start:["Brand"],center:["Links"],end:["Language","Repo","Outlook","Search"]}),c={Brand:Mm,Language:jo,Links:Om,Repo:$m,Outlook:Nm,Search:Le("Docsearch")?Xe("Docsearch"):Le("SearchBox")?Xe("SearchBox"):jo},u=f=>c[f]??(Le(f)?Xe(f):jo);return()=>{var f,d,p,m,g,_;return[a("header",{key:"navbar",id:"navbar",class:["vp-navbar",{"auto-hide":s.value,"hide-icon":r.value.navbarIcon===!1}]},[a("div",{class:"vp-navbar-start"},[a(Dm,{onToggle:()=>{l.value&&(l.value=!1),t("toggleSidebar")}}),(f=n.startBefore)==null?void 0:f.call(n),(i.value.start||[]).map(E=>a(u(E))),(d=n.startAfter)==null?void 0:d.call(n)]),a("div",{class:"vp-navbar-center"},[(p=n.centerBefore)==null?void 0:p.call(n),(i.value.center||[]).map(E=>a(u(E))),(m=n.centerAfter)==null?void 0:m.call(n)]),a("div",{class:"vp-navbar-end"},[(g=n.endBefore)==null?void 0:g.call(n),(i.value.end||[]).map(E=>a(u(E))),(_=n.endAfter)==null?void 0:_.call(n),a(Hm,{active:l.value,onToggle:()=>{l.value=!l.value}})])]),a(Rm,{show:l.value,onClose:()=>{l.value=!1}},{before:()=>{var E;return(E=n.screenTop)==null?void 0:E.call(n)},after:()=>{var E;return(E=n.screenBottom)==null?void 0:E.call(n)}})]}}});const ar=(e,t,n=!1)=>"activeMatch"in t?new RegExp(t.activeMatch,"u").test(e.path):_c(e,t.link)?!0:"children"in t&&!n?t.children.some(r=>ar(e,r)):!1,gu=(e,t)=>t.type==="group"?t.children.some(n=>n.type==="group"?gu(e,n):n.type==="page"&&ar(e,n,!0))||"prefix"in t&&_c(e,t.prefix):!1;var Fm=M({name:"SidebarChild",props:{config:{type:Object,required:!0}},setup(e){const t=jt();return()=>_e(e.config.link)?a(Ue,{class:["vp-sidebar-link","vp-sidebar-page",{active:ar(t,e.config,!0)}],exact:!0,config:e.config}):a("p",e,[a(Be,{icon:e.config.icon}),e.config.text])}}),zm=M({name:"SidebarGroup",props:{config:{type:Object,required:!0},open:{type:Boolean,required:!0}},emits:["toggle"],setup(e,{emit:t}){const n=jt(),r=w(()=>ar(n,e.config)),o=w(()=>ar(n,e.config,!0));return()=>{const{collapsible:l,children:s=[],icon:i,prefix:c,link:u,text:f}=e.config;return a("section",{class:"vp-sidebar-group"},[a(l?"button":"p",{class:["vp-sidebar-header",{clickable:l||u,exact:o.value,active:r.value}],...l?{type:"button",onClick:()=>t("toggle"),onKeydown:d=>{d.key==="Enter"&&t("toggle")}}:{}},[a(Be,{icon:i}),u?a(Ue,{class:"vp-sidebar-title",config:{text:f,link:u},noExternalLinkIcon:!0}):a("span",{class:"vp-sidebar-title"},f),l?a("span",{class:["vp-arrow",e.open?"down":"end"]}):null]),e.open||!l?a(yu,{key:c,config:s}):null])}}}),yu=M({name:"SidebarLinks",props:{config:{type:Array,required:!0}},setup(e){const t=jt(),n=Q(-1),r=o=>{n.value=o===n.value?-1:o};return fe(()=>t.path,()=>{const o=e.config.findIndex(l=>gu(t,l));n.value=o},{immediate:!0,flush:"post"}),()=>a("ul",{class:"vp-sidebar-links"},e.config.map((o,l)=>a("li",o.type==="group"?a(zm,{config:o,open:l===n.value,onToggle:()=>r(l)}):a(Fm,{config:o}))))}}),Vm=M({name:"SideBar",slots:Object,setup(e,{slots:t}){const n=jt(),r=le(),o=ss(),l=Fe();return me(()=>{fe(()=>n.hash,s=>{const i=document.querySelector(`.vp-sidebar a.vp-sidebar-link[href="${n.path}${s}"]`);if(!i)return;const{top:c,height:u}=l.value.getBoundingClientRect(),{top:f,height:d}=i.getBoundingClientRect();f<c?i.scrollIntoView(!0):f+d>c+u&&i.scrollIntoView(!1)},{immediate:!0})}),()=>{var s,i,c;return a("aside",{ref:l,id:"sidebar",class:["vp-sidebar",{"hide-icon":r.value.sidebarIcon===!1}],key:"sidebar"},[(s=t.top)==null?void 0:s.call(t),((i=t.default)==null?void 0:i.call(t))||a(yu,{config:o.value}),(c=t.bottom)==null?void 0:c.call(t)])}}}),as=M({name:"CommonWrapper",props:{containerClass:{type:String,default:""},noNavbar:Boolean,noSidebar:Boolean,noToc:Boolean},slots:Object,setup(e,{slots:t}){const n=kt(),r=de(),o=ve(),l=le(),{isMobile:s,isPC:i}=Er(),[c,u]=ll(!1),[f,d]=ll(!1),p=ss(),m=Q(!1),g=w(()=>e.noNavbar||o.value.navbar===!1||l.value.navbar===!1?!1:!!(r.value.title||l.value.logo||l.value.repo||l.value.navbar)),_=w(()=>e.noSidebar?!1:o.value.sidebar!==!1&&p.value.length!==0&&!o.value.home),E=w(()=>e.noToc||o.value.home?!1:o.value.toc||l.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 G=k.changedTouches[0].clientX-y.x,N=k.changedTouches[0].clientY-y.y;Math.abs(G)>Math.abs(N)*1.5&&Math.abs(G)>40&&(G>0&&y.x<=80?u(!0):u(!1))},T=()=>window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;let D=0;return Me("scroll",I0(()=>{const k=T();k<=58||k<D?m.value=!1:D+200<k&&!c.value&&(m.value=!0),D=k},300,!0)),fe(s,k=>{k||u(!1)}),me(()=>{const k=Ic(document.body);fe(c,N=>{k.value=N});const G=n.afterEach(()=>{u(!1)});In(()=>{k.value=!1,G()})}),()=>a(Le("GlobalEncrypt")?Xe("GlobalEncrypt"):yc,()=>a("div",{class:["theme-container",{"no-navbar":!g.value,"no-sidebar":!_.value&&!(t.sidebar||t.sidebarTop||t.sidebarBottom),"has-toc":E.value,"hide-navbar":m.value,"sidebar-collapsed":!s.value&&!i.value&&f.value,"sidebar-open":s.value&&c.value},e.containerClass,o.value.containerClass||""],onTouchStart:C,onTouchEnd:b},[g.value?a(Bm,{onToggleSidebar:()=>u()},{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,a(zt,{name:"fade"},()=>c.value?a("div",{class:"vp-sidebar-mask",onClick:()=>u(!1)}):null),a(zt,{name:"fade"},()=>s.value?null:a("div",{class:"toggle-sidebar-wrapper",onClick:()=>d()},a("span",{class:["arrow",f.value?"end":"start"]}))),a(Vm,{},{...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(),a(Sm)]))}}),ce=M({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()=>a(e.type==="single"?zt:Ap,{name:"drop",appear:e.appear,onAppear:n,onAfterAppear:r,onEnter:n,onAfterEnter:r,onBeforeLeave:n},()=>t.default())}});const ul=({custom:e})=>a(hc,{class:["theme-hope-content",{custom:e}]});ul.displayName="MarkdownContent",ul.props={custom:Boolean};var is=ul;const bu=()=>a(ue,{name:"author"},()=>a("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"}));bu.displayName="AuthorIcon";const _u=()=>a(ue,{name:"calendar"},()=>a("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"}));_u.displayName="CalendarIcon";const wu=()=>a(ue,{name:"category"},()=>a("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"}));wu.displayName="CategoryIcon";const Eu=()=>a(ue,{name:"print"},()=>a("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"}));Eu.displayName="PrintIcon";const Su=()=>a(ue,{name:"tag"},()=>a("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"}));Su.displayName="TagIcon";const Cu=()=>a(ue,{name:"timer"},()=>a("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"}));Cu.displayName="TimerIcon";const ku=()=>a(ue,{name:"word"},()=>[a("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"}),a("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"})]);ku.displayName="WordIcon";const qt=()=>{const e=le();return w(()=>e.value.metaLocales)};var jm=M({name:"AuthorInfo",inheritAttrs:!1,props:{author:{type:Array,required:!0},pure:Boolean},setup(e){const t=qt();return()=>e.author.length?a("span",{class:"page-author-info","aria-label":`${t.value.author}${e.pure?"":"🖊"}`,...e.pure?{}:{"data-balloon-pos":"up"}},[a(bu),a("span",e.author.map(n=>n.url?a("a",{class:"page-author-item",href:n.url,target:"_blank",rel:"noopener noreferrer"},n.name):a("span",{class:"page-author-item"},n.name))),a("span",{property:"author",content:e.author.map(n=>n.name).join(", ")})]):null}}),Gm=M({name:"CategoryInfo",inheritAttrs:!1,props:{category:{type:Array,required:!0},pure:Boolean},setup(e){const t=kt(),n=de(),r=qt(),o=(l,s="")=>{s&&n.value.path!==s&&(l.preventDefault(),t.push(s))};return()=>e.category.length?a("span",{class:"page-category-info","aria-label":`${r.value.category}${e.pure?"":"🌈"}`,...e.pure?{}:{"data-balloon-pos":"up"}},[a(wu),e.category.map(({name:l,path:s})=>a("span",{class:["page-category-item",{[`category${yo(l,9)}`]:!e.pure,clickable:s}],role:s?"navigation":"",onClick:i=>o(i,s)},l)),a("meta",{property:"articleSection",content:e.category.map(({name:l})=>l).join(",")})]):null}}),Um=M({name:"DateInfo",inheritAttrs:!1,props:{date:{type:Object,default:null},localizedDate:{type:String,default:""},pure:Boolean},setup(e){const t=vo(),n=qt();return()=>e.date?a("span",{class:"page-date-info","aria-label":`${n.value.date}${e.pure?"":"📅"}`,...e.pure?{}:{"data-balloon-pos":"up"}},[a(_u),a("span",a(go,()=>e.localizedDate||e.date.toLocaleDateString(t.value))),a("meta",{property:"datePublished",content:e.date.toISOString()||""})]):null}}),qm=M({name:"OriginalInfo",inheritAttrs:!1,props:{isOriginal:Boolean},setup(e){const t=qt();return()=>e.isOriginal?a("span",{class:"page-original-info"},t.value.origin):null}}),Wm=M({name:"ReadingTimeInfo",inheritAttrs:!1,props:{readingTime:{type:Object,default:()=>null},readingTimeLocale:{type:Object,default:()=>null},pure:Boolean},setup(e){const t=qt(),n=w(()=>{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?a("span",{class:"page-reading-time-info","aria-label":`${t.value.readingTime}${e.pure?"":"⌛"}`,...e.pure?{}:{"data-balloon-pos":"up"}},[a(Cu),a("span",(o=e.readingTimeLocale)==null?void 0:o.time),a("meta",{property:"timeRequired",content:n.value})]):null}}}),Km=M({name:"TagInfo",inheritAttrs:!1,props:{tag:{type:Array,default:()=>[]},pure:Boolean},setup(e){const t=kt(),n=de(),r=qt(),o=(l,s="")=>{s&&n.value.path!==s&&(l.preventDefault(),t.push(s))};return()=>e.tag.length?a("span",{class:"page-tag-info","aria-label":`${r.value.tag}${e.pure?"":"🏷"}`,...e.pure?{}:{"data-balloon-pos":"up"}},[a(Su),e.tag.map(({name:l,path:s})=>a("span",{class:["page-tag-item",{[`tag${yo(l,9)}`]:!e.pure,clickable:s}],role:s?"navigation":"",onClick:i=>o(i,s)},l)),a("meta",{property:"keywords",content:e.tag.map(({name:l})=>l).join(",")})]):null}}),Ym=M({name:"ReadTimeInfo",inheritAttrs:!1,props:{readingTime:{type:Object,default:()=>null},readingTimeLocale:{type:Object,default:()=>null},pure:Boolean},setup(e){const t=qt();return()=>{var n,r,o;return(n=e.readingTimeLocale)!=null&&n.words?a("span",{class:"page-word-info","aria-label":`${t.value.words}${e.pure?"":"🔠"}`,...e.pure?{}:{"data-balloon-pos":"up"}},[a(ku),a("span",(r=e.readingTimeLocale)==null?void 0:r.words),a("meta",{property:"wordCount",content:(o=e.readingTime)==null?void 0:o.words})]):null}}}),Tu=M({name:"PageInfo",components:{AuthorInfo:jm,CategoryInfo:Gm,DateInfo:Um,OriginalInfo:qm,PageViewInfo:()=>null,ReadingTimeInfo:Wm,TagInfo:Km,WordInfo:Ym},props:{items:{type:[Array,Boolean],default:()=>["Author","Original","Date","PageView","ReadingTime","Category","Tag"]},info:{type:Object,required:!0}},setup(e){const t=an();return()=>e.items?a("div",{class:"page-info"},e.items.map(n=>a(Xe(`${n}Info`),{...e.info,pure:t.value}))):null}}),Jm=M({name:"PrintButton",setup(){const e=Ut(),t=le();return()=>e.value.print===!1?null:a("button",{type:"button",class:"print-button",title:t.value.metaLocales.print,onClick:()=>{window.print()}},a(Eu))}}),Au=M({name:"TOC",props:{items:{type:Array,default:()=>[]},headerDepth:{type:Number,default:2}},slots:Object,setup(e,{slots:t}){const n=jt(),r=de(),o=qt(),[l,s]=ll(),i=Fe(),c=Q("-1.7rem"),u=d=>{var p;(p=i.value)==null||p.scrollTo({top:d,behavior:"smooth"})},f=()=>{if(i.value){const d=document.querySelector(".vp-toc-item.active");d?c.value=`${d.getBoundingClientRect().top-i.value.getBoundingClientRect().top+i.value.scrollTop}px`:c.value="-1.7rem"}else c.value="-1.7rem"};return me(()=>{fe(()=>n.hash,d=>{if(i.value){const p=document.querySelector(`#toc a.toc-link[href$="${d}"]`);if(!p)return;const{top:m,height:g}=i.value.getBoundingClientRect(),{top:_,height:E}=p.getBoundingClientRect();_<m?u(i.value.scrollTop+_-m):_+E>m+g&&u(i.value.scrollTop+_+E-m-g)}}),fe(()=>n.fullPath,f,{flush:"post",immediate:!0})}),()=>{var g,_;const d=({title:E,level:y,slug:C})=>a(ke,{to:`#${C}`,class:["vp-toc-link",`level${y}`],onClick:()=>{s()}},()=>E),p=(E,y)=>E.length&&y>0?a("ul",{class:"vp-toc-list"},E.map(C=>{const b=p(C.children,y-1);return[a("li",{class:["vp-toc-item",{active:n.hash===`#${C.slug}`}]},d(C)),b?a("li",b):null]})):null,m=e.items.length?p(e.items,e.headerDepth):r.value.headers?p(r.value.headers,e.headerDepth):null;return m?a("div",{class:"vp-toc-placeholder"},[a("aside",{id:"toc"},[(g=t.before)==null?void 0:g.call(t),a("div",{class:"vp-toc-header",onClick:()=>{s()}},[o.value.toc,a(Jm),a("div",{class:["arrow",l.value?"down":"end"]})]),a("div",{class:["vp-toc-wrapper",l.value?"open":""],ref:i},[m,a("div",{class:"vp-toc-marker",style:{top:c.value}})]),(_=t.after)==null?void 0:_.call(t)])]):null}}}),cs=M({name:"SkipLink",props:{content:{type:String,default:"main-content"}},setup(e){const t=de(),n=le(),r=Fe(),o=({target:l})=>{const s=document.querySelector(l.hash);if(s){const i=()=>{s.removeAttribute("tabindex"),s.removeEventListener("blur",i)};s.setAttribute("tabindex","-1"),s.addEventListener("blur",i),s.focus(),window.scrollTo(0,0)}};return me(()=>{fe(()=>t.value.path,()=>r.value.focus())}),()=>[a("span",{ref:r,tabindex:"-1"}),a("a",{href:`#${e.content}`,class:"vp-skip-link sr-only",onClick:o},n.value.routeLocales.skipToContent)]}});let Uo=null,Nn=null;const Xm={wait:()=>Uo,pending:()=>{Uo=new Promise(e=>{Nn=e})},resolve:()=>{Nn==null||Nn(),Uo=null,Nn=null}},xu=()=>Xm;var Qm=M({name:"FadeSlideY",slots:Object,setup(e,{slots:t}){const{resolve:n,pending:r}=xu();return()=>a(zt,{name:"fade-slide-y",mode:"out-in",onBeforeEnter:n,onBeforeLeave:r},()=>{var o;return(o=t.default)==null?void 0:o.call(t)})}});const Zm=(e,t)=>{const n=e.replace(t,"/").split("/"),r=[];let o=Nl(t);return n.forEach((l,s)=>{s!==n.length-1?(o+=`${l}/`,r.push({link:o,name:l||"Home"})):l!==""&&(o+=l,r.push({link:o,name:l}))}),r},Lu=(e,{slots:t})=>{var d,p;const{bgImage:n,bgImageDark:r,bgImageStyle:o,color:l,description:s,image:i,imageDark:c,header:u,features:f=[]}=e;return a("div",{class:"vp-feature-wrapper"},[n?a("div",{class:["vp-feature-bg",{light:r}],style:[{"background-image":`url(${n})`},o]}):null,r?a("div",{class:"vp-feature-bg dark",style:[{"background-image":`url(${r})`},o]}):null,a("div",{class:"vp-feature",style:l?{color:l}:{}},[((d=t.image)==null?void 0:d.call(t,e))||[i?a("img",{class:["vp-feature-image",{light:c}],src:be(i),alt:""}):null,c?a("img",{class:"vp-feature-image dark",src:be(c),alt:""}):null],((p=t.info)==null?void 0:p.call(t,e))||[u?a("h2",{class:"vp-feature-header"},u):null,s?a("p",{class:"vp-feature-description",innerHTML:s}):null],f.length?a("div",{class:"vp-features"},f.map(({icon:m,title:g,details:_,link:E})=>{const y=[a("h3",{class:"vp-feature-title"},[a(Be,{icon:m}),a("span",{innerHTML:g})]),a("p",{class:"vp-feature-details",innerHTML:_})];return E?tn(E)?a("a",{class:"vp-feature-item link",href:E,"aria-label":g,target:"_blank"},y):a(ke,{class:"vp-feature-item link",to:E,"aria-label":g},()=>y):a("div",{class:"vp-feature-item"},y)})):null])])};Lu.displayName="FeaturePanel";var Wa=Lu,e3=M({name:"HeroInfo",slots:Object,setup(e,{slots:t}){const n=ve(),r=vr(),o=w(()=>n.value.heroFullScreen??!1),l=w(()=>{const{heroText:u,tagline:f}=n.value;return{text:u??r.value.title??"Hello",tagline:f??r.value.description??"",isFullScreen:o.value}}),s=w(()=>{const{heroText:u,heroImage:f,heroImageDark:d,heroAlt:p,heroImageStyle:m}=n.value;return{image:f?be(f):null,imageDark:d?be(d):null,style:m,alt:p||u||"",isFullScreen:o.value}}),i=w(()=>{const{bgImage:u,bgImageDark:f,bgImageStyle:d}=n.value;return{image:_e(u)?be(u):null,imageDark:_e(f)?be(f):null,bgStyle:d,isFullScreen:o.value}}),c=w(()=>n.value.actions??[]);return()=>{var u,f,d;return a("header",{class:["vp-hero-info-wrapper",{fullscreen:o.value}]},[((u=t.heroBg)==null?void 0:u.call(t,i.value))||[i.value.image?a("div",{class:["vp-hero-mask",{light:i.value.imageDark}],style:[{"background-image":`url(${i.value.image})`},i.value.bgStyle]}):null,i.value.imageDark?a("div",{class:"vp-hero-mask dark",style:[{"background-image":`url(${i.value.imageDark})`},i.value.bgStyle]}):null],a("div",{class:"vp-hero-info"},[((f=t.heroImage)==null?void 0:f.call(t,s.value))||a(ce,{appear:!0,type:"group"},()=>[s.value.image?a("img",{key:"light",class:["vp-hero-image",{light:s.value.imageDark}],style:s.value.style,src:s.value.image,alt:s.value.alt}):null,s.value.imageDark?a("img",{key:"dark",class:"vp-hero-image dark",style:s.value.style,src:s.value.imageDark,alt:s.value.alt}):null]),((d=t.heroInfo)==null?void 0:d.call(t,l.value))??a("div",{class:"vp-hero-infos"},[l.value.text?a(ce,{appear:!0,delay:.04},()=>a("h1",{id:"main-title"},l.value.text)):null,l.value.tagline?a(ce,{appear:!0,delay:.08},()=>a("p",{id:"main-description",innerHTML:l.value.tagline})):null,c.value.length?a(ce,{appear:!0,delay:.12},()=>a("p",{class:"vp-hero-actions"},c.value.map(p=>a(Ue,{class:["vp-hero-action",p.type||"default"],config:p,noExternalLinkIcon:!0},p.icon?{before:()=>a(Be,{icon:p.icon})}:{})))):null])])])}}});const Iu=(e,{slots:t})=>{var p,m,g;const{bgImage:n,bgImageDark:r,bgImageStyle:o,color:l,description:s,image:i,imageDark:c,header:u,highlights:f=[],type:d="un-order"}=e;return a("div",{class:"vp-highlight-wrapper",style:l?{color:l}:{}},[n?a("div",{class:["vp-highlight-bg",{light:r}],style:[{"background-image":`url(${n})`},o]}):null,r?a("div",{class:"vp-highlight-bg dark",style:[{"background-image":`url(${r})`},o]}):null,a("div",{class:"vp-highlight"},[((p=t.image)==null?void 0:p.call(t,e))||[i?a("img",{class:["vp-highlight-image",{light:c}],src:be(i),alt:""}):null,c?a("img",{class:"vp-highlight-image dark",src:be(c),alt:""}):null],((m=t.info)==null?void 0:m.call(t,e))||[a("div",{class:"vp-highlight-info-wrapper"},a("div",{class:"vp-highlight-info"},[u?a("h2",{class:"vp-highlight-header",innerHTML:u}):null,s?a("p",{class:"vp-highlight-description",innerHTML:s}):null,((g=t.highlights)==null?void 0:g.call(t,f))||a(d==="order"?"ol":d==="no-order"?"dl":"ul",{class:"vp-highlights"},f.map(({icon:_,title:E,details:y,link:C})=>{const b=[a(d==="no-order"?"dt":"h3",{class:"vp-highlight-title"},[_?a(Be,{class:"vp-highlight-icon",icon:_}):null,a("span",{innerHTML:E})]),y?a(d==="no-order"?"dd":"p",{class:"vp-highlight-details",innerHTML:y}):null];return a(d==="no-order"?"div":"li",{class:["vp-highlight-item-wrapper",{link:C}]},C?tn(C)?a("a",{class:"vp-highlight-item link",href:C,"aria-label":E,target:"_blank"},b):a(ke,{class:"vp-highlight-item link",to:C,"aria-label":E},()=>b):a("div",{class:"vp-highlight-item"},b))}))]))]])])};Iu.displayName="HighlightPanel";var t3=Iu,n3=M({name:"HomePage",slots:Object,setup(e,{slots:t}){const n=an(),r=ve(),o=w(()=>{const{features:s}=r.value;return ro(s)?s:null}),l=w(()=>{const{highlights:s}=r.value;return ro(s)?s:null});return()=>{var s,i,c,u;return a("main",{id:"main-content",class:["vp-project-home ",{pure:n.value}],"aria-labelledby":r.value.heroText===null?"":"main-title"},[(s=t.top)==null?void 0:s.call(t),a(e3),((i=l.value)==null?void 0:i.map(f=>"features"in f?a(Wa,f):a(t3,f)))||(o.value?a(ce,{appear:!0,delay:.24},()=>a(Wa,{features:o.value})):null),(c=t.center)==null?void 0:c.call(t),a(ce,{appear:!0,delay:.32},()=>a(is)),(u=t.bottom)==null?void 0:u.call(t)])}}}),r3=M({name:"BreadCrumb",setup(){const e=de(),t=Tt(),n=ve(),r=le(),o=Fe([]),l=w(()=>(n.value.breadcrumb||n.value.breadcrumb!==!1&&r.value.breadcrumb!==!1)&&o.value.length>1),s=w(()=>n.value.breadcrumbIcon||n.value.breadcrumbIcon!==!1&&r.value.breadcrumbIcon!==!1),i=()=>{const c=Zm(e.value.path,t.value).map(({link:u,name:f})=>{const{path:d,meta:p,notFound:m}=Rn(u);return m?null:{title:p[ye.shortTitle]||p[ye.title]||f,icon:p[ye.icon],path:d}}).filter(u=>u!==null);c.length>1&&(o.value=c)};return me(()=>{fe(()=>e.value.path,i,{immediate:!0})}),()=>a("nav",{class:["vp-breadcrumb",{disable:!l.value}]},l.value?a("ol",{vocab:"https://schema.org/",typeof:"BreadcrumbList"},o.value.map((c,u)=>a("li",{class:{"is-active":o.value.length-1===u},property:"itemListElement",typeof:"ListItem"},[a(ke,{to:c.path,property:"item",typeof:"WebPage"},()=>[s.value?a(Be,{icon:c.icon}):null,a("span",{property:"name"},c.title||"Unknown")]),a("meta",{property:"position",content:u+1})]))):[])}});const Ka=e=>e===!1||Pn(e)?e:_e(e)?bn(e,!0):null,fl=(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 l=fl(o.children,t,n);if(l)return l}return null};var o3=M({name:"PageNav",setup(){const e=le(),t=ve(),n=ss(),r=de(),o=wr(),l=w(()=>{const i=Ka(t.value.prev);return i===!1?null:i||(e.value.prevLink===!1?null:fl(n.value,r.value.path,-1))}),s=w(()=>{const i=Ka(t.value.next);return i===!1?null:i||(e.value.nextLink===!1?null:fl(n.value,r.value.path,1))});return Me("keydown",i=>{i.altKey&&(i.key==="ArrowRight"?s.value&&(o(s.value.link),i.preventDefault()):i.key==="ArrowLeft"&&l.value&&(o(l.value.link),i.preventDefault()))}),()=>l.value||s.value?a("nav",{class:"vp-page-nav"},[l.value?a(Ue,{class:"prev",config:l.value},()=>{var i,c;return[a("div",{class:"hint"},[a("span",{class:"arrow start"}),e.value.metaLocales.prev]),a("div",{class:"link"},[a(Be,{icon:(i=l.value)==null?void 0:i.icon}),(c=l.value)==null?void 0:c.text])]}):null,s.value?a(Ue,{class:"next",config:s.value},()=>{var i,c;return[a("div",{class:"hint"},[e.value.metaLocales.next,a("span",{class:"arrow end"})]),a("div",{class:"link"},[(i=s.value)==null?void 0:i.text,a(Be,{icon:(c=s.value)==null?void 0:c.icon})])]}):null]):null}});const l3={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"},s3=({docsRepo:e,docsBranch:t,docsDir:n,filePathRelative:r,editLinkPattern:o})=>{if(!r)return null;const l=Kl(e);let s;return o?s=o:l!==null&&(s=l3[l]),s?s.replace(/:repo/u,gt(e)?e:`https://github.com/${e}`).replace(/:branch/u,t).replace(/:path/u,ec(`${Nl(n)}/${r}`)):null},a3=()=>{const e=le(),t=de(),n=ve();return w(()=>{const{repo:r,docsRepo:o=r,docsBranch:l="main",docsDir:s="",editLink:i,editLinkPattern:c=""}=e.value;if(!(n.value.editLink??i??!0)||!o)return null;const u=s3({docsRepo:o,docsBranch:l,docsDir:s,editLinkPattern:c,filePathRelative:t.value.filePathRelative});return u?{text:e.value.metaLocales.editLink,link:u}:null})},i3=()=>{const e=vr(),t=le(),n=de(),r=ve();return w(()=>{var o,l;return!(r.value.lastUpdated??t.value.lastUpdated??!0)||!((o=n.value.git)!=null&&o.updatedTime)?null:new Date((l=n.value.git)==null?void 0:l.updatedTime).toLocaleString(e.value.lang)})},c3=()=>{const e=le(),t=de(),n=ve();return w(()=>{var r;return n.value.contributors??e.value.contributors??!0?((r=t.value.git)==null?void 0:r.contributors)??null:null})};var u3=M({name:"PageTitle",setup(){const e=de(),t=ve(),n=le(),{info:r,items:o}=mm();return()=>a("div",{class:"vp-page-title"},[a("h1",[n.value.titleIcon===!1?null:a(Be,{icon:t.value.icon}),e.value.title]),a(Tu,{info:r.value,...o.value===null?{}:{items:o.value}}),a("hr")])}});const Pu=()=>a(ue,{name:"edit"},()=>[a("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"}),a("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"})]);Pu.displayName="EditIcon";var f3=M({name:"PageMeta",setup(){const e=le(),t=a3(),n=i3(),r=c3();return()=>{const{metaLocales:o}=e.value;return a("footer",{class:"page-meta"},[t.value?a("div",{class:"meta-item edit-link"},a(Ue,{class:"label",config:t.value},{before:()=>a(Pu)})):null,a("div",{class:"meta-item git-info"},[n.value?a("div",{class:"update-time"},[a("span",{class:"label"},`${o.lastUpdated}: `),a(go,()=>a("span",{class:"info"},n.value))]):null,r.value&&r.value.length?a("div",{class:"contributors"},[a("span",{class:"label"},`${o.contributors}: `),r.value.map(({email:l,name:s},i)=>[a("span",{class:"contributor",title:`email: ${l}`},s),i!==r.value.length-1?",":""])]):null])])}}}),d3=M({name:"NormalPage",slots:Object,setup(e,{slots:t}){const n=ve(),{isDarkmode:r}=Sr(),o=le(),l=w(()=>n.value.toc||n.value.toc!==!1&&o.value.toc!==!1);return()=>a("main",{id:"main-content",class:"vp-page"},a(Le("LocalEncrypt")?Xe("LocalEncrypt"):yc,()=>{var s,i,c,u;return[(s=t.top)==null?void 0:s.call(t),n.value.cover?a("div",{class:"page-cover"},a("img",{src:be(n.value.cover),alt:"","no-view":""})):null,a(r3),a(u3),l.value?a(Au,{headerDepth:n.value.headerDepth??o.value.headerDepth??2},{before:()=>{var f;return(f=t.tocBefore)==null?void 0:f.call(t)},after:()=>{var f;return(f=t.tocAfter)==null?void 0:f.call(t)}}):null,(i=t.contentBefore)==null?void 0:i.call(t),a(is),(c=t.contentAfter)==null?void 0:c.call(t),a(f3),a(o3),Le("CommentService")?a(Xe("CommentService"),{darkmode:r.value}):null,(u=t.bottom)==null?void 0:u.call(t)]}))}}),p3=M({name:"Layout",slots:Object,setup(e,{slots:t}){const n=Ut(),r=le(),o=de(),l=ve(),{isMobile:s}=Er(),i=w(()=>{var c,u;return((c=r.value.blog)==null?void 0:c.sidebarDisplay)||((u=n.value.blog)==null?void 0:u.sidebarDisplay)||"mobile"});return()=>[a(cs),a(as,{},{default:()=>{var c;return((c=t.default)==null?void 0:c.call(t))||(l.value.home?a(n3):a(Qm,()=>a(d3,{key:o.value.path},{top:()=>{var u;return(u=t.top)==null?void 0:u.call(t)},bottom:()=>{var u;return(u=t.bottom)==null?void 0:u.call(t)},contentBefore:()=>{var u;return(u=t.contentBefore)==null?void 0:u.call(t)},contentAfter:()=>{var u;return(u=t.contentAfter)==null?void 0:u.call(t)},tocBefore:()=>{var u;return(u=t.tocBefore)==null?void 0:u.call(t)},tocAfter:()=>{var u;return(u=t.tocAfter)==null?void 0:u.call(t)}})))},...i.value==="none"?{}:{navScreenBottom:()=>a(Xe("BloggerInfo"))},...!s.value&&i.value==="always"?{sidebar:()=>a(Xe("BloggerInfo"))}:{}})]}}),h3=M({name:"NotFoundHint",setup(){const e=le(),t=()=>{const n=e.value.routeLocales.notFoundMsg;return n[Math.floor(Math.random()*n.length)]};return()=>a("div",{class:"not-found-hint"},[a("p",{class:"error-code"},"404"),a("h1",{class:"error-title"},e.value.routeLocales.notFoundTitle),a("p",{class:"error-hint"},t())])}}),m3=M({name:"NotFound",slots:Object,setup(e,{slots:t}){const n=kt(),r=Tt(),o=le();return()=>[a(cs),a(as,{noSidebar:!0},()=>{var l;return a("main",{id:"main-content",class:"vp-page not-found"},((l=t.default)==null?void 0:l.call(t))||[a(h3),a("div",{class:"actions"},[a("button",{type:"button",class:"action-button",onClick:()=>{window.history.go(-1)}},o.value.routeLocales.back),a("button",{type:"button",class:"action-button",onClick:()=>{n.push(o.value.home??r.value)}},o.value.routeLocales.home)])])})]}});const v3={Email:'<svg xmlns="http://www.w3.org/2000/svg" class="icon email-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#1384FF"/><path fill="#fff" d="M270.077 286.233H751.99c32.933 0 59.86 24.855 60.274 55.51l-301.023 157L210.217 341.88c.207-30.723 26.927-55.717 59.86-55.717zm-59.929 115.714-.276 277.756c0 30.931 27.134 56.2 60.205 56.2H751.99c33.14 0 60.274-25.269 60.274-56.2V401.81L518.283 551.492a15.88 15.88 0 0 1-14.43 0L210.148 401.947z"/></svg>',GitHub:'<svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#171515"/><path fill="#fff" d="M509.423 146.442c-200.317 0-362.756 162.42-362.756 362.8 0 160.266 103.936 296.24 248.109 344.217 18.139 3.327 24.76-7.872 24.76-17.486 0-8.613-.313-31.427-.49-61.702-100.912 21.923-122.205-48.63-122.205-48.63-16.495-41.91-40.28-53.067-40.28-53.067-32.937-22.51 2.492-22.053 2.492-22.053 36.407 2.566 55.568 37.386 55.568 37.386 32.362 55.438 84.907 39.43 105.58 30.143 3.296-23.444 12.667-39.43 23.032-48.498-80.557-9.156-165.246-40.28-165.246-179.297 0-39.604 14.135-71.988 37.342-97.348-3.731-9.178-16.18-46.063 3.556-96.009 0 0 30.46-9.754 99.76 37.19 28.937-8.048 59.97-12.071 90.823-12.211 30.807.14 61.843 4.165 90.822 12.21 69.26-46.944 99.663-37.189 99.663-37.189 19.792 49.946 7.34 86.831 3.61 96.01 23.25 25.359 37.29 57.742 37.29 97.347 0 139.366-84.82 170.033-165.637 179.013 13.026 11.2 24.628 33.342 24.628 67.182 0 48.498-.445 87.627-.445 99.521 0 9.702 6.535 20.988 24.945 17.444 144.03-48.067 247.881-183.95 247.881-344.175 0-200.378-162.442-362.798-362.802-362.798z"/></svg>',Twitter:'<svg xmlns="http://www.w3.org/2000/svg" class="icon twitter-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512"/><path fill="#FFF" d="m560 473 186-216h-44L540 445 411 257H262l195 284-195 226h44l171-198 136 198h149zM322 290h68l312 445h-68z"/></svg>'},g3={category:{"/":{path:"/category/",map:{单片机:{path:"/category/单片机/",indexes:[0,1,2,3,4,5,6]},网站:{path:"/category/网站/",indexes:[7]},posts:{path:"/category/posts/",indexes:[8,9,10]},AI:{path:"/category/ai/",indexes:[11]},墨水屏:{path:"/category/墨水屏/",indexes:[12]}}}},tag:{"/":{path:"/tag/",map:{Air32:{path:"/tag/air32/",indexes:[1,2,3,4]},合宙:{path:"/tag/合宙/",indexes:[0,1,2,3,4,5]},MCO:{path:"/tag/mco/",indexes:[2]},HelloWorld:{path:"/tag/helloworld/",indexes:[7]},STC32:{path:"/tag/stc32/",indexes:[6]},STC8:{path:"/tag/stc8/",indexes:[6]},嵌入式:{path:"/tag/嵌入式/",indexes:[6,10]},CoreMark:{path:"/tag/coremark/",indexes:[6]},碎碎念:{path:"/tag/碎碎念/",indexes:[8,9]},郊狼:{path:"/tag/郊狼/",indexes:[8,9]},Clion:{path:"/tag/clion/",indexes:[1]},超频:{path:"/tag/超频/",indexes:[3]},fmtlib:{path:"/tag/fmtlib/",indexes:[10]},ESP8266:{path:"/tag/esp8266/",indexes:[10]},ESP32:{path:"/tag/esp32/",indexes:[10]},Arduino:{path:"/tag/arduino/",indexes:[10]},PlatformIO:{path:"/tag/platformio/",indexes:[10]},"ESP-IDF":{path:"/tag/esp-idf/",indexes:[10]},人工智能:{path:"/tag/人工智能/",indexes:[11]},novelAI:{path:"/tag/novelai/",indexes:[11]},conda:{path:"/tag/conda/",indexes:[11]},墨水屏:{path:"/tag/墨水屏/",indexes:[12]},UC8179:{path:"/tag/uc8179/",indexes:[12]},DEPG0750RWU790F30:{path:"/tag/depg0750rwu790f30/",indexes:[12]},遇到的坑:{path:"/tag/遇到的坑/",indexes:[12]},Air001:{path:"/tag/air001/",indexes:[0,4,5]},"CI/CD":{path:"/tag/cicd/",indexes:[0]},日志:{path:"/tag/日志/",indexes:[5]}}}}},Ru=["/posts/Empedded-CI-CD/","/posts/Air32-Clion/","/posts/Air32-HAL-MCO/","/posts/Air32-HAL-HighFreq/","/posts/MDK6-Dev/","/posts/SEGGER-RTT/","/posts/STC_CoreMark/","/posts/HelloWorld/","/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/","/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/","/posts/embedded_fmtlib/","/posts/conda_novelai/","/posts/EpdTraps1/"],dl=Fe(g3);on(dl);const Mu=e=>{const t=de(),n=ve(),r=Tt();return w(()=>{var i;const o=e??((i=n.value.blog)==null?void 0:i.key)??"";if(!o)return console.warn("useBlogCategory: key not found"),{path:"/",map:{}};if(!dl.value[o])throw new Error(`useBlogCategory: key ${o} is invalid`);const l=dl.value[o][r.value],s={path:l.path,map:{}};for(const c in l.map){const u=l.map[c];s.map[c]={path:u.path,items:[]};for(const f of u.indexes){const{path:d,meta:p}=Rn(Ru[f]);s.map[c].items.push({path:d,info:p})}t.value.path===u.path&&(s.currentItems=s.map[c].items)}return s})},y3={article:{"/":{path:"/article/",indexes:[8,9,0,1,2,3,4,5,6,10,11,12,7]}},star:{"/":{path:"/star/",indexes:[]}},timeline:{"/":{path:"/timeline/",indexes:[8,9,0,1,2,3,4,5,6,10,11,12,7]}}},pl=Fe(y3);on(pl);const _o=e=>{const t=ve(),n=Tt();return w(()=>{var s;const r=e??((s=t.value.blog)==null?void 0:s.key)??"";if(!r)return console.warn("useBlogType: key not found"),{path:"/",items:[]};if(!pl.value[r])throw new Error(`useBlogType: key ${e} is invalid`);const o=pl.value[r][n.value],l={path:o.path,items:[]};for(const i of o.indexes){const{path:c,meta:u}=Rn(Ru[i]);l.items.push({path:c,info:u})}return l})},Ou=()=>a(ue,{name:"lock"},()=>a("path",{d:"M787.168 952.268H236.832c-30.395 0-55.033-24.638-55.033-55.033V429.45c0-30.395 24.638-55.034 55.033-55.034h82.55V264.35c0-106.38 86.238-192.618 192.618-192.618S704.618 157.97 704.618 264.35v110.066h82.55c30.395 0 55.033 24.639 55.033 55.034v467.785c0 30.395-24.639 55.033-55.033 55.033zM484.483 672.046v115.122h55.034V672.046c31.99-11.373 55.033-41.605 55.033-77.496 0-45.592-36.958-82.55-82.55-82.55s-82.55 36.958-82.55 82.55c0 35.89 23.042 66.123 55.033 77.496zM622.067 264.35c0-60.788-49.28-110.067-110.067-110.067s-110.067 49.28-110.067 110.067v110.066h220.135V264.35z"}));Ou.displayName="LockIcon";var b3=[];const $u=Symbol.for("categoryMap"),Cr=()=>{const e=we($u);if(!e)throw new Error("useCategoryMap() is called without provider.");return e},_3=()=>{const e=Mu("category");ut($u,e)},kr=()=>{const e=Ut(),t=le();return w(()=>({...e.value.blog,...t.value.blog}))},Hu=Symbol.for("tagMap"),Tr=()=>{const e=we(Hu);if(!e)throw new Error("useTagMap() is called without provider.");return e},w3=()=>{const e=Mu("tag");ut(Hu,e)},E3=e=>{const t=le();return w(()=>{const{[ye.author]:n}=e.value;return n?sr(n):n===!1?[]:sr(t.value.author,!1)})},S3=e=>{const t=Cr();return w(()=>Sc(e.value[ye.category]).map(n=>({name:n,path:t.value.map[n].path})))},C3=e=>{const t=Tr();return w(()=>Cc(e.value[ye.tag]).map(n=>({name:n,path:t.value.map[n].path})))},k3=e=>w(()=>{const{[ye.date]:t}=e.value;return Vl(t)}),T3=e=>{const t=Ln(e,"info"),n=kr(),r=E3(t),o=S3(t),l=C3(t),s=k3(t),i=Zc(),c=w(()=>({author:r.value,category:o.value,date:s.value,localizedDate:t.value[ye.localizedDate]||"",tag:l.value,isOriginal:t.value[ye.isOriginal]||!1,readingTime:t.value[ye.readingTime]||null,readingTimeLocale:t.value[ye.readingTime]&&i.value?Qc(t.value[ye.readingTime],i.value):null,pageview:e.path})),u=w(()=>n.value.articleInfo);return{info:c,items:u}},Du=Symbol(""),Ar=()=>{const e=we(Du);if(!e)throw new Error("useArticles() is called without provider.");return e},A3=()=>{const e=_o("article");ut(Du,e)},Nu=Symbol(""),us=()=>{const e=we(Nu);if(!e)throw new Error("useStars() is called without provider.");return e},x3=()=>{const e=_o("star");ut(Nu,e)},Bu=Symbol(""),fs=()=>{const e=we(Bu);if(!e)throw new Error("useTimelines() is called without provider.");return e},L3=()=>{const e=_o("timeline"),t=w(()=>{const n=[];return e.value.items.forEach(({info:r,path:o})=>{const l=Vl(r[ye.date]);if(l){const s=l.getFullYear(),i=l.getMonth()+1,c=l.getDate();(!n[0]||n[0].year!==s)&&n.unshift({year:s,items:[]}),n[0].items.push({date:`${i}/${c}`,info:r,path:o})}}),{...e.value,config:n.reverse()}});ut(Bu,t)},I3=()=>{A3(),_3(),x3(),w3(),L3()};var P3=M({name:"SocialMedia",setup(){const e=kr(),t=an(),n=w(()=>{const r=e.value.medias;return r?Gt(r).map(([o,l])=>({name:o,icon:v3[o],url:l})):[]});return()=>n.value.length?a("div",{class:"vp-social-medias"},n.value.map(({name:r,icon:o,url:l})=>a("a",{class:"vp-social-media",href:l,rel:"noopener noreferrer",target:"_blank","aria-label":r,...t.value?{}:{"data-balloon-pos":"up"},innerHTML:o}))):null}}),ds=M({name:"BloggerInfo",setup(){const e=kr(),t=vr(),n=le(),r=Ar(),o=Cr(),l=Tr(),s=fs(),i=wr(),c=w(()=>{var p;return e.value.name||((p=sr(n.value.author)[0])==null?void 0:p.name)||t.value.title}),u=w(()=>e.value.avatar||n.value.logo),f=w(()=>n.value.blogLocales),d=w(()=>e.value.intro);return()=>{const{article:p,category:m,tag:g,timeline:_}=f.value,E=[[r.value.path,r.value.items.length,p],[o.value.path,rt(o.value.map).length,m],[l.value.path,rt(l.value.map).length,g],[s.value.path,s.value.items.length,_]];return a("div",{class:"vp-blogger-info",vocab:"https://schema.org/",typeof:"Person"},[a("div",{class:"vp-blogger",...d.value?{style:{cursor:"pointer"},"aria-label":f.value.intro,"data-balloon-pos":"down",role:"link",onClick:()=>i(d.value)}:{}},[u.value?a("img",{class:["vp-blogger-avatar",{round:e.value.roundAvatar}],src:be(u.value),property:"image",alt:"Blogger Avatar",loading:"lazy"}):null,c.value?a("div",{class:"vp-blogger-name",property:"name"},c.value):null,e.value.description?a("div",{class:"vp-blogger-description",innerHTML:e.value.description}):null,d.value?a("meta",{property:"url",content:be(d.value)}):null]),a("div",{class:"vp-blog-counts"},E.map(([y,C,b])=>a(ke,{class:"vp-blog-count",to:y},()=>[a("div",{class:"count"},C),a("div",b)]))),a(P3)])}}});const ps=()=>a(ue,{name:"category"},()=>a("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"}));ps.displayName="CategoryIcon";const hs=()=>a(ue,{name:"tag"},()=>a("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"}));hs.displayName="TagIcon";const ms=()=>a(ue,{name:"timeline"},()=>a("path",{d:"M511.997 70.568c-243.797 0-441.429 197.633-441.429 441.435 0 243.797 197.632 441.429 441.43 441.429S953.431 755.8 953.431 512.002c0-243.796-197.637-441.434-441.435-441.434zm150.158 609.093-15.605 15.61c-8.621 8.615-22.596 8.615-31.215 0L472.197 552.126c-4.95-4.944-4.34-14.888-4.34-24.677V247.14c0-12.19 9.882-22.07 22.07-22.07h22.07c12.19 0 22.07 9.882 22.07 22.07v273.218l128.088 128.088c8.62 8.62 8.62 22.595 0 31.215zm0 0"}));ms.displayName="TimelineIcon";const Fu=()=>a(ue,{name:"slides"},()=>a("path",{d:"M896 170.667v426.666a85.333 85.333 0 0 1-85.333 85.334h-256v61.184l192.597 115.584-43.861 73.13-148.736-89.173v95.275h-85.334v-95.318l-148.736 89.216-43.861-73.13 192.597-115.627v-61.141h-256A85.333 85.333 0 0 1 128 597.333V170.667H85.333V85.333h853.334v85.334H896zm-682.667 0v426.666h597.334V170.667H213.333zM426.667 512h-85.334V341.333h85.334V512zm128 0h-85.334V256h85.334v256zm128 0h-85.334V384h85.334v128z"}));Fu.displayName="SlideIcon";const zu=()=>a(ue,{name:"sticky"},()=>[a("path",{d:"m381.3 733.8l-161.9 118c-5.9 4.5-13.2 6.6-20.1 6.6-8.7 0-17.7-3.4-24.3-10-12.2-12.2-13.9-31.3-3.5-45.2l144.5-195.5-113.6-112.9c-11.1-11.1-13.2-28.4-5.5-42 5.5-8.7 52.1-76.4 155.5-51 1.8 0.3 3.5 0.3 5.6 0.7 4.2 0.3 9 0.7 14.2 1.7 21.9 3.5 60.8-13.9 94.5-42.7 32.3-27.5 53.1-59.4 53.1-81.6 0-5.2 0-10.8-0.3-16-0.7-20.8-2.1-52.8 21.5-76.4 28.1-28.1 72.9-30.6 103.9-5.2 0.6 0.3 1 1 1.7 1.7 16.7 16.3 187.5 187.2 189.3 188.9 14.5 14.6 22.9 34.4 22.9 55.3 0 20.8-8 40.2-22.9 54.8-23.7 23.6-56 22.6-77.1 21.6-4.9 0-10.5-0.4-15.7-0.4-20.8 0-45.8 14.6-70.5 41.3-34.3 37.5-55.5 85.8-53.8 107.7 0.7 6.9 2.1 19.1 2.4 20.8 25 101.4-42.7 147.6-50.7 152.8-13.9 8.4-31.6 6.3-42.7-4.8l-112.1-112.2z"})]);zu.displayName="StickyIcon";const wo=()=>a(ue,{name:"article"},()=>a("path",{d:"M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"}));wo.displayName="ArticleIcon";const Vu=()=>a(ue,{name:"book"},()=>a("path",{d:"M256 853.333h426.667A85.333 85.333 0 0 0 768 768V256a85.333 85.333 0 0 0-85.333-85.333H469.333a42.667 42.667 0 0 1 0-85.334h213.334A170.667 170.667 0 0 1 853.333 256v512a170.667 170.667 0 0 1-170.666 170.667H213.333A42.667 42.667 0 0 1 170.667 896V128a42.667 42.667 0 0 1 42.666-42.667h128A42.667 42.667 0 0 1 384 128v304.256l61.653-41.088a42.667 42.667 0 0 1 47.36 0l61.654 41.045V256A42.667 42.667 0 0 1 640 256v256a42.667 42.667 0 0 1-66.347 35.499l-104.32-69.547-104.32 69.547A42.667 42.667 0 0 1 298.667 512V170.667H256v682.666z"}));Vu.displayName="BookIcon";const ju=()=>a(ue,{name:"link"},()=>a("path",{d:"M460.8 584.533c17.067 17.067 17.067 42.667 0 59.734-17.067 17.066-42.667 17.066-59.733 0-85.334-85.334-85.334-217.6 0-302.934L554.667 192C640 110.933 776.533 110.933 857.6 196.267c81.067 81.066 81.067 213.333 0 294.4l-68.267 64c0-34.134-4.266-68.267-17.066-102.4l21.333-21.334c51.2-46.933 55.467-128 4.267-179.2s-128-55.466-179.2-4.266c-4.267 0-4.267 4.266-4.267 4.266L465.067 401.067c-51.2 51.2-51.2 132.266-4.267 183.466m123.733-183.466C601.6 384 627.2 384 644.267 401.067c85.333 85.333 85.333 217.6 0 302.933l-153.6 149.333C405.333 934.4 268.8 934.4 187.733 849.067c-81.066-81.067-81.066-213.334 0-294.4l68.267-64c0 34.133 4.267 72.533 17.067 102.4L251.733 614.4C204.8 665.6 204.8 746.667 256 793.6c51.2 46.933 123.733 46.933 174.933 0l149.334-149.333c51.2-51.2 51.2-128 0-179.2-12.8-17.067-17.067-46.934 4.266-64z"}));ju.displayName="LinkIcon";const Gu=()=>a(ue,{name:"project"},()=>a("path",{d:"M987.456 425.152H864V295.296a36.48 36.48 0 0 0-36.544-36.544h-360l-134.08-128.256A9.344 9.344 0 0 0 327.04 128H36.48A36.48 36.48 0 0 0 0 164.544v676.608a36.48 36.48 0 0 0 36.544 36.544h797.76a36.672 36.672 0 0 0 33.92-22.848L1021.44 475.52a36.48 36.48 0 0 0-33.92-50.304zM82.304 210.304h215.424l136.64 130.752h347.328v84.096H198.848A36.672 36.672 0 0 0 164.928 448L82.304 652.8V210.304zM808.32 795.456H108.544l118.08-292.608h699.904L808.32 795.52z"}));Gu.displayName="ProjectIcon";const Uu=()=>a(ue,{name:"friend"},()=>a("path",{d:"M860.16 213.333A268.373 268.373 0 0 0 512 186.027a267.52 267.52 0 0 0-348.16 404.48L428.8 855.893a118.613 118.613 0 0 0 166.4 0l264.96-265.386a267.52 267.52 0 0 0 0-377.174zM800 531.627l-264.96 264.96a32.427 32.427 0 0 1-46.08 0L224 530.347a183.04 183.04 0 0 1 0-256 182.187 182.187 0 0 1 256 0 42.667 42.667 0 0 0 60.587 0 182.187 182.187 0 0 1 256 0 183.04 183.04 0 0 1 3.413 256z"}));Uu.displayName="FriendIcon";const hl=()=>a(ue,{name:"slide-down"},()=>a("path",{d:"M108.775 312.23c13.553 0 27.106 3.734 39.153 11.806l375.205 250.338 363.641-252.808c32.587-21.624 76.499-12.83 98.123 19.757 21.685 32.467 12.95 76.56-19.576 98.184l-402.854 278.89c-23.733 15.901-54.694 15.962-78.547.12L69.501 442.097c-32.647-21.685-41.441-65.777-19.817-98.304 13.734-20.54 36.201-31.563 59.09-31.563Z"}));hl.displayName="SlideDownIcon";const qu=()=>a("svg",{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",class:"empty-icon",viewBox:"0 0 1024 1024",innerHTML:'<defs><linearGradient id="f" x1="512.342" y1="2266.13" x2="512.342" y2="666.063" gradientUnits="userSpaceOnUse"><stop offset=".919" stop-color="#e6e6e6" stop-opacity="0"/><stop offset="1" stop-color="#e6e6e6"/></linearGradient><linearGradient id="g" x1="528.912" y1="774" x2="388.088" y2="612" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#ccc"/><stop offset="1" stop-color="#e6e6e6" stop-opacity="0"/></linearGradient><linearGradient id="h" x1="213.219" y1="721.704" x2="251.313" y2="683.61" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#d7d7d7"/><stop offset=".485" stop-color="#fafafa"/><stop offset="1" stop-color="#fafafa"/></linearGradient><linearGradient id="i" x1="724.813" y1="821.718" x2="768.656" y2="777.876" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#ccc"/><stop offset="1" stop-color="#fafafa"/></linearGradient><linearGradient id="a" x1="513.493" y1="714.594" x2="471.007" y2="544.188" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#999"/><stop offset="1" stop-color="#ccc"/></linearGradient><linearGradient id="b" x1="440.156" y1="564.031" x2="508.594" y2="495.594" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#ccc"/><stop offset="1" stop-color="#f0f0f0"/></linearGradient><linearGradient id="l" x1="660.988" y1="754.156" x2="608.637" y2="544.188" xlink:href="#a"/><linearGradient id="m" x1="479.188" y1="774.219" x2="649.782" y2="603.625" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#b3b3b3"/><stop offset="1" stop-color="#e6e6e6"/></linearGradient><linearGradient id="n" x1="447.121" y1="774.219" x2="394.661" y2="563.813" xlink:href="#a"/><linearGradient id="o" x1="494" y1="597" x2="628" y2="463" xlink:href="#b"/><linearGradient id="d" x1="610.485" y1="604.938" x2="697.298" y2="518.125" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#ccc"/><stop offset="1" stop-color="#fff"/></linearGradient><linearGradient id="p" x1="457.438" y1="619.25" x2="353.469" y2="619.25" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#e6e6e6" stop-opacity="0"/><stop offset="1" stop-color="#e6e6e6"/></linearGradient><linearGradient id="q" x1="542.734" y1="674.25" x2="615.672" y2="601.313" xlink:href="#b"/><linearGradient id="c" x1="627.933" y1="358.938" x2="685.192" y2="422.531" gradientUnits="userSpaceOnUse"><stop offset=".4" stop-color="#e6e6e6" stop-opacity=".4"/><stop offset=".443" stop-color="#fff"/><stop offset=".6" stop-color="#ccc"/></linearGradient><linearGradient id="r" x1="618.547" y1="422.531" x2="681.547" y2="359.531" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#e6e6e6"/><stop offset=".761" stop-color="#fff"/><stop offset="1" stop-color="#f0f0f0"/></linearGradient><linearGradient id="s" x1="625" y1="441.5" x2="697" y2="369.5" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#ccc"/><stop offset=".761" stop-color="#fff"/><stop offset="1" stop-color="#f0f0f0"/></linearGradient><linearGradient id="t" x1="627.681" y1="361.438" x2="692.257" y2="433.156" xlink:href="#c"/><linearGradient id="u" x1="561.414" y1="735.438" x2="573.149" y2="688.375" xlink:href="#d"/><linearGradient id="v" x1="405" y1="485.875" x2="440" y2="450.875" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#ccc"/><stop offset="1" stop-color="#fff" stop-opacity=".702"/></linearGradient><linearGradient id="w" x1="404.61" y1="486.906" x2="441.86" y2="449.656" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#ccc"/><stop offset=".495" stop-color="#ccc" stop-opacity=".702"/><stop offset=".498" stop-color="#ccc"/><stop offset="1" stop-color="#fff" stop-opacity=".302"/></linearGradient><radialGradient id="e" cx="329.297" cy="647.578" r="8.172" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#fafafa"/><stop offset="1.2" stop-color="#e6e6e6"/></radialGradient><radialGradient id="j" cx="802.297" cy="673.578" r="8.172" xlink:href="#e"/><radialGradient id="k" cx="774.844" cy="642.75" r="5.531" xlink:href="#e"/></defs><path d="M512.33 666.07c441.828 0 800 358.18 800 800.03s-358.172 800.02-800 800.02-800-358.18-800-800.02 358.17-800.03 800-800.03z" style="fill:url(#f);fill-rule:evenodd"/><path d="m272 694 242-82 131 119-188 43z" style="fill:url(#g);fill-rule:evenodd"/><path fill="#b3b3b3" fill-rule="evenodd" d="M232.391 723.534a2.4 2.4 0 0 1 2.4 2.4v17.725a2.4 2.4 0 0 1-4.8 0v-17.725a2.4 2.4 0 0 1 2.4-2.4z"/><path d="M232.255 676.559c10.33 0 17.067 15.408 18.7 28.493 1.619 12.942-2.372 23.694-18.7 23.694-16.878 0-20.213-10.733-18.7-23.694 1.633-14.061 8.37-28.493 18.7-28.493z" style="fill:url(#h);fill-rule:evenodd"/><path fill="#b3b3b3" fill-rule="evenodd" d="M745.853 826h.938a2.4 2.4 0 0 1 2.4 2.4v22.238a2.4 2.4 0 0 1-2.4 2.4h-.938a2.4 2.4 0 0 1-2.4-2.4V828.4a2.4 2.4 0 0 1 2.4-2.4z"/><path d="M746.727 830.3c-19.438 0-23.278-9.326-21.541-20.59a34.467 34.467 0 0 1 3.289-10.369 16.628 16.628 0 0 1 0-9.112c2.889-12.327 12.059-20.911 18.356-20.911 6.56 0 15.468 9.1 18.356 20.911a14.589 14.589 0 0 1-.335 9.217 34.36 34.36 0 0 1 3.419 10.264c1.861 11.243-2.735 20.59-21.544 20.59z" style="fill:url(#i);fill-rule:evenodd"/><path fill="#ccc" fill-rule="evenodd" d="M328.841 654.562a6.571 6.571 0 0 0-5.2-5.027q-4.107-.952-.034-2.045a6.571 6.571 0 0 0 5.027-5.2q.952-4.109 2.045-.035a6.569 6.569 0 0 0 5.2 5.027q4.109.954.035 2.045a6.569 6.569 0 0 0-5.027 5.2q-.955 4.108-2.046.035z"/><path d="M328.383 653.73a6.567 6.567 0 0 0-5.2-5.027q-4.109-.954-.035-2.045a6.568 6.568 0 0 0 5.027-5.2q.954-4.107 2.046-.034a6.568 6.568 0 0 0 5.2 5.027q4.107.952.035 2.045a6.568 6.568 0 0 0-5.027 5.2q-.954 4.104-2.046.034z" style="fill:url(#e);fill-rule:evenodd"/><path fill="#ccc" fill-rule="evenodd" d="M801.841 680.562a6.571 6.571 0 0 0-5.2-5.027q-4.107-.952-.034-2.045a6.571 6.571 0 0 0 5.027-5.2q.952-4.109 2.045-.035a6.569 6.569 0 0 0 5.2 5.027q4.108.954.035 2.045a6.569 6.569 0 0 0-5.027 5.2q-.955 4.108-2.046.035z"/><path d="M801.383 679.73a6.567 6.567 0 0 0-5.2-5.027q-4.108-.954-.035-2.045a6.568 6.568 0 0 0 5.027-5.2q.954-4.107 2.046-.034a6.568 6.568 0 0 0 5.2 5.027q4.107.952.035 2.045a6.568 6.568 0 0 0-5.027 5.2q-.954 4.104-2.046.034z" style="fill:url(#j);fill-rule:evenodd"/><path d="M774.21 646.9a4.446 4.446 0 0 0-3.517-3.4q-2.778-.643-.023-1.383a4.443 4.443 0 0 0 3.4-3.517q.645-2.778 1.383-.023a4.443 4.443 0 0 0 3.517 3.4q2.778.645.023 1.383a4.446 4.446 0 0 0-3.4 3.517q-.645 2.78-1.383.023z" style="fill:url(#k);fill-rule:evenodd"/><path d="m385.6 714.6.158-150.658L598.9 544.174l-.158 150.658z" style="fill:url(#a);fill-rule:evenodd"/><path d="m385.474 564.031 214.763-19.383-36.171-49.067-215.559 17.634z" style="fill:url(#b);fill-rule:evenodd"/><path d="m598.744 694.832.156-150.658 71.975 59.319-.158 150.658z" style="fill:url(#l);fill-rule:evenodd"/><path d="m457.064 774.209.158-150.658 214.691-19.914-.158 150.663z" style="fill:url(#m);fill-rule:evenodd"/><path d="m384.566 714.459.158-150.659 72.5 59.75-.158 150.658z" style="fill:url(#n);fill-rule:evenodd"/><path d="M494 640s75.357-58.4 42-83-38.887 1.663-37 14 53.847 12.465 54-26c.2-49.979 75-125 75-125" style="fill:none;stroke-width:3px;stroke-dasharray:12 6;stroke:url(#o);fill-rule:evenodd"/><path d="m670.275 604.939-72.041-59.9 38.476-26.909 72.86 58.159z" style="fill:url(#d);fill-rule:evenodd"/><path d="m425.5 674.383-72.042-59.9 31.109-50.347 72.86 58.16z" style="fill:url(#p);fill-rule:evenodd"/><path d="m487.918 674.235 214.482-22.57-31.1-50.346-215.309 20.833z" style="fill:url(#q);fill-rule:evenodd"/><path style="fill:#fff;fill-rule:evenodd" d="m697.363 358.927-69.58 62.511-12.035 1.082z"/><path d="m697.363 358.927-69.58 62.511-12.035 1.082z" style="fill:url(#c);fill-rule:evenodd"/><path d="M615.748 422.52 604 413l92.089-53.46" style="fill:url(#r);fill-rule:evenodd"/><path d="m625 432 12 18 60-89" style="fill:url(#s);fill-rule:evenodd"/><path d="m626.98 421.335-2.471 11.828 70.918-71.735" style="fill:#fff;fill-rule:evenodd"/><path d="m626.98 421.335-2.471 11.828 70.918-71.735" style="fill:url(#t);fill-rule:evenodd"/><path d="m494.814 735.44 21.293-2.1v-6.613l-13.4 1.319v-6.965l10.977-1.08v-6.613l-10.977 1.08v-6.084l12.917-1.27v-6.525l-20.808 2.047v32.8zM521 732.863l7.054-.694v-11.241a106.361 106.361 0 0 0-1.014-11.274l.176-.017 2.645 7.586 4.453 11.553 4.32-.425 4.408-12.424 2.733-8.116.177-.018a111.811 111.811 0 0 0-1.014 11.474v11.241l7.185-.707V697l-8.552.841-5.025 14.646c-.618 1.956-1.147 4.08-1.808 6.173l-.22.022c-.617-1.968-1.146-3.987-1.808-5.818l-5.2-13.639-8.508.837v32.8zm37.213-3.661 7.891-.776v-10.889l3.835-.377c6.922-.681 12.961-4.714 12.961-12.517 0-8.111-5.951-10.082-13.181-9.371l-11.504 1.128v32.8zm7.891-17.881v-9.478l3.218-.316c3.792-.373 5.908.565 5.908 3.871 0 3.218-1.852 5.208-5.687 5.585zM594 725.682l7.891-.777v-26.274l8.905-.876v-6.524l-25.657 2.524v6.524l8.861-.871v26.274zm27.991-2.754 7.847-.772v-11.594l9.919-22.18-8.244.811-2.733 7.542c-.925 2.56-1.807 4.939-2.733 7.587l-.176.018c-.926-2.466-1.764-4.676-2.645-7.058l-2.734-7-8.375.824 9.874 20.233v11.594z" style="fill:url(#u);fill-rule:evenodd"/><path fill="#ccc" fill-rule="evenodd" d="M408.938 457.309a17.5 17.5 0 0 0 21.374 26.725 17.5 17.5 0 1 1-16.306-30.955 17.442 17.442 0 0 0-5.068 4.23z"/><circle cx="422.5" cy="468.375" r="17.5" style="fill:url(#v)"/><path fill="#ccc" fill-rule="evenodd" d="M391.76 451.5c-2.358 4.419 9.827 15.52 27.215 24.8 15.131 8.071 29.212 12.1 34.166 10.093-4.191 2.772-18.943-1.24-34.86-9.73-17.388-9.275-29.573-20.376-27.215-24.8a2.96 2.96 0 0 1 1.585-1.3 2.606 2.606 0 0 0-.891.937z"/><path d="M418.975 476.29c-17.388-9.275-29.573-20.376-27.215-24.8s18.363-.484 35.751 8.791 29.572 20.376 27.215 24.8-18.364.483-35.751-8.791zm31.634 5.732c1.824-3.42-8.789-12.642-23.7-20.6s-28.486-11.633-30.31-8.213 8.789 12.642 23.7 20.6 28.486 11.633 30.31 8.213zm-36.645-29.008-2.775 1.452.032 1.751 28.637 14.183.266-4.559z" style="fill:url(#w);fill-rule:evenodd"/><g class="people"><path style="fill:#f8cfad;fill-rule:evenodd" d="m612.131 676.5 1.362 3.532 3.255-2.324-1.361-3.532zM629.131 665.5l1.362 3.532 3.255-2.324-1.361-3.532z"/><path style="fill:#141a33;fill-rule:evenodd" d="m617.764 678.184-3.162-.078a11.028 11.028 0 0 0-1.034 3.454c-.258 2.006-1.177 5-.449 5.367 1.5 2.659 4.118-.215 4.118-.215s2.187-2.848 1.925-5.265c-.106-.973-1.181-1.869-1.398-3.263zM633.781 665.855l3.019.945a11.008 11.008 0 0 1-.137 3.6c-.4 1.981-.179 4.166-.986 4.277-2.283 2.03-3.827-1.533-3.827-1.533s-1.473-2.456-.444-4.659c.412-.88 1.718-1.385 2.375-2.63z"/><path style="fill:#f0c5a8;fill-rule:evenodd" d="M599.935 592.534s10.293 9.761 11.95 7.564 3.536-3.463-6.758-13.65z"/><path style="fill:#f8cfad;fill-rule:evenodd" d="M611.3 596.361c1.674-1.105 11.5 7.048 14.5 11.774s-12.705-4.36-14.632-6.776-1.54-3.893.132-4.998z"/><path style="fill:#f8cfad;fill-rule:evenodd" d="M621.815 607.988s1.809 2.549 2.433 1.756 2.475-1.064 2.449-1.138.1-.819 1.288-2.331-3.8-3.632-5.81-.494a2.556 2.556 0 0 0-.36 2.207z"/><path fill="#232c57" fill-rule="evenodd" d="M598 617s14.968-5.618 17 7a150.235 150.235 0 0 1 2 22s12.666 11.836 16 19c0 0-4.753-1.629-4 2 0 0-18.132-14.647-19-19s-9.148-18.716-12-31z"/><path d="M589 622s14.968-5.618 17 7a150.235 150.235 0 0 1 2 22s4.666 17.836 8 25c0 0-4.753-1.629-4 2 0 0-10.132-20.647-11-25s-9.148-18.716-12-31z" style="fill:#292966;fill-rule:evenodd"/><path style="fill:#f0c5a8;fill-rule:evenodd" d="M585.626 597.7s-10.292 9.761-11.95 7.563-3.536-3.463 6.758-13.65z"/><path style="fill:#f8cfad;fill-rule:evenodd" d="M574.259 601.529c-1.675-1.105-11.5 7.049-14.5 11.774s12.7-4.36 14.631-6.775 1.543-3.894-.131-4.999z"/><path style="fill:#f0c5a8;fill-rule:evenodd" d="M591.715 577.752s-.606 1.681 1.48 3.716-3.615 5.307-4.645 2.85-.48-2.716-.48-2.716z"/><path style="fill:#f8cfad;fill-rule:evenodd" d="M583.527 574.123c-.839 1.043.491 3.873 1.453 5.449s2.749 2.833 3.364 2.428 4.088-2.657 4-4-.228-3.4-.228-3.4 2.562-1.641 2.154-2.916-2.916-.154-2.916-.154a15.853 15.853 0 0 0-.227-2.224c-.189-.929-6.887-1.445-7.827 2.6s.558 1.805.227 2.217z"/><path fill="#232c57" fill-rule="evenodd" d="M584.227 567.758c2.1-.885 7.2-3.684 10.125.318s.842 4.385.989 5.294-1.894 5.69-1.341 6.63-3.865.8-4.657-1.179-2.844-.539-2.227-1.224-1.3-4.456-2.916-2.154a9.252 9.252 0 0 0 .309-1.38c-.115.192.259-3.257-.673-1.32s-2.1 1.037-3.069.762-1.8-1.118-1.071-1.689c.023-.016 2.436-3.172 4.531-4.058z"/><path d="M589 585c-2.584-.47-10.055.362-13 13 0 0 1.9 3.349 5 4s6 21 6 21 24.016 11.06 27-3c-.07-13.826-8-21-8-21s5.829-3.2 5-6-8.016-10.153-11-10-6 0-6 0-2.416 2.47-5 2z" style="fill:#f6bb07;fill-rule:evenodd"/><path style="fill:#f8cfad;fill-rule:evenodd" d="M563.284 612.581s-.986 2.965-1.814 2.389-2.678-.3-2.675-.374-.333-.755-1.912-1.854 2.577-4.583 5.414-2.167a2.551 2.551 0 0 1 .987 2.006z"/></g>'});qu.displayName="EmptyIcon";var R3=M({name:"ArticleItem",props:{info:{type:Object,required:!0},path:{type:String,required:!0}},slots:Object,setup(e,{slots:t}){const n=Ln(e,"info"),{info:r,items:o}=T3(e);return()=>{var p,m,g;const{[ye.title]:l,[ye.type]:s,[ye.isEncrypted]:i=!1,[ye.cover]:c,[ye.excerpt]:u,[ye.sticky]:f}=n.value,d=r.value;return a("div",{class:"vp-article-wrapper"},a("article",{class:"vp-article-item",vocab:"https://schema.org/",typeof:"Article"},[((p=t.cover)==null?void 0:p.call(t,{cover:c}))||(c?[a("img",{class:"vp-article-cover",src:be(c),loading:"lazy"}),a("meta",{property:"image",content:be(c)})]:[]),f?a(zu):null,a(ke,{to:e.path},()=>{var _;return((_=t.title)==null?void 0:_.call(t,{title:l,isEncrypted:i,type:s}))||a("header",{class:"vp-article-title"},[i?a(Ou):null,s===ru.slide?a(Fu):null,a("span",{property:"headline"},l)])}),((m=t.excerpt)==null?void 0:m.call(t,{excerpt:u}))||(u?a("div",{class:"vp-article-excerpt",innerHTML:u}):null),a("hr",{class:"vp-article-hr"}),((g=t.info)==null?void 0:g.call(t,{info:d}))||a(Tu,{info:d,...o.value?{items:o.value}:{}})]))}}}),M3=M({name:"Pagination",props:{total:{type:Number,default:10},perPage:{type:Number,default:10},current:{type:Number,default:1}},emits:["updateCurrentPage"],setup(e,{emit:t}){let n;const r=le(),o=Q(""),l=w(()=>r.value.paginationLocales),s=w(()=>Math.ceil(e.total/e.perPage)),i=w(()=>!!s.value&&s.value!==1),c=w(()=>s.value<7?!1:e.current>4),u=w(()=>s.value<7?!1:e.current<s.value-3),f=w(()=>{const{current:m}=e;let g=1,_=s.value;const E=[];s.value>=7&&(m<=4&&m<s.value-3?(g=1,_=5):m>4&&m>=s.value-3?(_=s.value,g=s.value-4):s.value>7&&(g=m-2,_=m+2));for(let y=g;y<=_;y++)E.push(y);return E}),d=m=>t("updateCurrentPage",m),p=m=>{const g=parseInt(m,10);g<=s.value&&g>0?d(g):n.pop(`<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path d="M64 512a448 448 0 1 0 896 0 448 448 0 1 0-896 0Z" fill="#FA5151"/><path d="m557.3 512 113.1-113.1c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L512 466.7 398.9 353.6c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L466.7 512 353.6 625.1c-12.5 12.5-12.5 32.8 0 45.3 6.2 6.2 14.4 9.4 22.6 9.4s16.4-3.1 22.6-9.4L512 557.3l113.1 113.1c6.2 6.2 14.4 9.4 22.6 9.4s16.4-3.1 22.6-9.4c12.5-12.5 12.5-32.8 0-45.3L557.3 512z" fill="#FFF"/></svg>${l.value.errorText.replace(/\$page/gu,s.value.toString())}`)};return me(()=>{n=new p0}),()=>a("div",{class:"vp-pagination"},i.value?a("nav",{class:"vp-pagination-list"},[a("div",{class:"vp-pagination-number "},[e.current>1?a("div",{class:"prev",role:"navigation",unselectable:"on",onClick:()=>d(e.current-1)},l.value.prev):null,c.value?[a("div",{role:"navigation",onClick:()=>d(1)},1),a("div",{class:"ellipsis"},"...")]:null,f.value.map(m=>a("div",{key:m,class:{active:e.current===m},role:"navigation",onClick:()=>d(m)},m)),u.value?[a("div",{class:"ellipsis"},"..."),a("div",{role:"navigation",onClick:()=>d(s.value)},s.value)]:null,e.current<s.value?a("div",{class:"next",role:"navigation",unselectable:"on",onClick:()=>d(e.current+1)},l.value.next):null]),a("div",{class:"vp-pagination-nav"},[a("label",{for:"navigation-text"},`${l.value.navigate}: `),a("input",{id:"navigation-text",value:o.value,onInput:({target:m})=>{o.value=m.value},onKeydown:m=>{m.key==="Enter"&&(m.preventDefault(),p(o.value))}}),a("button",{class:"vp-pagination-button",role:"navigation",title:l.value.action,onClick:()=>p(o.value)},l.value.action)])]):[])}}),vs=M({name:"ArticleList",props:{items:{type:Array,default:()=>[]}},setup(e){const t=jt(),n=kt(),r=kr(),o=Q(1),l=w(()=>r.value.articlePerPage||10),s=w(()=>e.items.slice((o.value-1)*l.value,o.value*l.value)),i=async c=>{o.value=c;const u={...t.query};!(u.page===c.toString()||c===1&&!u.page)&&(c===1?delete u.page:u.page=c.toString(),await n.push({path:t.path,query:u}))};return me(()=>{const{page:c}=t.query;i(c?Number(c):1),fe(o,()=>{const u=document.querySelector("#article-list").getBoundingClientRect().top+window.scrollY;setTimeout(()=>{window.scrollTo(0,u)},100)})}),()=>a("div",{id:"article-list",class:"vp-article-list",role:"feed"},s.value.length?[...s.value.map(({info:c,path:u},f)=>a(ce,{appear:!0,delay:f*.04},()=>a(R3,{key:u,info:c,path:u}))),a(M3,{current:o.value,perPage:l.value,total:e.items.length,onUpdateCurrentPage:i})]:a(qu))}}),Wu=M({name:"CategoryList",setup(){const e=de(),t=Cr();return()=>a("ul",{class:"vp-category-list"},Gt(t.value.map).sort(([,n],[,r])=>r.items.length-n.items.length).map(([n,{path:r,items:o}])=>a("li",{class:["vp-category",`vp-category${yo(n,9)}`,{active:r===e.value.path}]},a(ke,{to:r},()=>[n,a("span",{class:"count"},o.length)]))))}}),Ku=M({name:"TagList",setup(){const e=ve(),t=Tr(),n=r=>{var o;return r===((o=e.value.blog)==null?void 0:o.name)};return()=>a("ul",{class:"tag-list-wrapper"},Gt(t.value.map).sort(([,r],[,o])=>o.items.length-r.items.length).map(([r,{path:o,items:l}])=>a("li",{class:["tag",`tag${yo(r,9)}`,{active:n(r)}]},a(ke,{to:o},()=>[r,a("span",{class:"tag-num"},l.length)]))))}}),O3=M({name:"TimelineList",setup(){const e=le(),t=fs(),n=wr(),r=w(()=>e.value.blogLocales.timeline);return()=>a("div",{class:"timeline-list-wrapper"},[a("div",{class:"timeline-list-title",onClick:()=>n(t.value.path)},[a(ms),a("span",{class:"num"},t.value.items.length),r.value]),a("hr"),a("div",{class:"timeline-content"},a("ul",{class:"timeline-list"},t.value.config.map(({year:o,items:l},s)=>a(ce,{appear:!0,delay:.08*(s+1)},()=>a("li",[a("h3",{class:"timeline-year"},o),a("ul",{class:"timeline-year-wrapper"},l.map(({date:i,info:c,path:u})=>a("li",{class:"timeline-item"},[a("span",{class:"timeline-date"},i),a(ke,{class:"timeline-title",to:u},()=>c[ye.title])])))])))))])}});const $3={article:wo,category:ps,tag:hs,timeline:ms};var Yu=M({name:"InfoList",setup(){const e=le(),t=Ar(),n=Cr(),r=w(()=>rt(n.value.map).length),o=us(),l=Tr(),s=w(()=>rt(l.value.map).length),i=wr(),c=Q("article"),u=w(()=>e.value.blogLocales);return()=>a("div",{class:"vp-blog-infos"},[a("div",{class:"vp-blog-type-switcher"},Gt($3).map(([f,d])=>a("button",{type:"button",class:"vp-blog-type-button",onClick:()=>{c.value=f}},a("div",{class:["icon-wrapper",{active:c.value===f}],"aria-label":u.value[f],"data-balloon-pos":"up"},a(d))))),a(ce,()=>c.value==="article"?a("div",{class:"vp-star-article-wrapper"},[a("div",{class:"title",onClick:()=>i(t.value.path)},[a(wo),a("span",{class:"num"},t.value.items.length),u.value.article]),a("hr"),o.value.items.length?a("ul",{class:"vp-star-articles"},o.value.items.map(({info:f,path:d},p)=>a(ce,{appear:!0,delay:.08*(p+1)},()=>a("li",{class:"vp-star-article"},a(ke,{to:d},()=>f[ye.title]))))):a("div",{class:"vp-star-article-empty"},u.value.empty.replace("$text",u.value.star))]):c.value==="category"?a("div",{class:"vp-category-wrapper"},[r.value?[a("div",{class:"title",onClick:()=>i(n.value.path)},[a(ps),a("span",{class:"num"},r.value),u.value.category]),a("hr"),a(ce,{delay:.04},()=>a(Wu))]:a("div",{class:"vp-category-empty"},u.value.empty.replace("$text",u.value.category))]):c.value==="tag"?a("div",{class:"vp-tag-wrapper"},[s.value?[a("div",{class:"title",onClick:()=>i(l.value.path)},[a(hs),a("span",{class:"num"},s.value),u.value.tag]),a("hr"),a(ce,{delay:.04},()=>a(Ku))]:a("div",{class:"vp-tag-empty"},u.value.empty.replace("$text",u.value.tag))]):a(ce,()=>a(O3)))])}}),Eo=M({name:"BlogWrapper",slots:Object,setup(e,{slots:t}){const{isMobile:n}=Er();return()=>[a(cs),a(as,{noSidebar:!0,noToc:!0},{default:()=>t.default(),navScreenBottom:()=>a(ds),...n.value?{sidebar:()=>a(Yu)}:{}})]}});const Ju=()=>a("aside",{class:"vp-blog-info-wrapper"},[a(ce,()=>a(ds)),a(ce,{delay:.04},()=>a(Yu))]);Ju.displayName="InfoPanel";var So=Ju,H3=M({name:"BlogPage",setup(){const e=de(),t=ve(),n=Cr(),r=Tr();return()=>{const{key:o="",name:l=""}=t.value.blog||{},s=l?o==="category"?n.value.map[l].items:o==="tag"?r.value.map[l].items:[]:[];return a(Eo,()=>a("div",{class:"vp-page vp-blog"},a("div",{class:"blog-page-wrapper"},[a("main",{id:"main-content",class:"vp-blog-main"},[a(ce,()=>o==="category"?a(Wu):o==="tag"?a(Ku):null),l?a(ce,{appear:!0,delay:.24},()=>a(vs,{key:e.value.path,items:s})):null]),a(ce,{delay:.16},()=>a(So,{key:"blog"}))])))}}});const D3="//theme-hope-assets.vuejs.press/hero/default.jpg";var N3=M({name:"BlogHero",slots:Object,setup(e,{slots:t}){const n=ve(),r=vr(),o=Fe(),l=w(()=>n.value.heroFullScreen??!1),s=w(()=>{const{heroText:c,heroImage:u,heroImageDark:f,heroAlt:d,heroImageStyle:p,tagline:m}=n.value;return{text:c??r.value.title??"Hello",tagline:m??"",image:u?be(u):null,imageDark:f?be(f):null,alt:d||c||"",style:p,isFullScreen:l.value}}),i=w(()=>{const{bgImage:c,bgImageDark:u,bgImageStyle:f}=n.value;return{image:_e(c)?be(c):c===!1?null:D3,imageDark:_e(u)?be(u):null,bgStyle:f,isFullScreen:l.value}});return()=>{var c,u;return n.value.hero===!1?null:a("div",{ref:o,class:["vp-blog-hero",{fullscreen:l.value,"no-bg":!i.value.image}]},[((c=t.heroBg)==null?void 0:c.call(t,i.value))||[i.value.image?a("div",{class:["vp-blog-mask",{light:i.value.imageDark}],style:[{background:`url(${i.value.image}) center/cover no-repeat`},i.value.bgStyle]}):null,i.value.imageDark?a("div",{class:"vp-blog-mask dark",style:[{background:`url(${i.value.imageDark}) center/cover no-repeat`},i.value.bgStyle]}):null],((u=t.heroInfo)==null?void 0:u.call(t,s.value))||[a(ce,{appear:!0,type:"group",delay:.04},()=>[s.value.image?a("img",{key:"light",class:["vp-blog-hero-image",{light:s.value.imageDark}],style:s.value.style,src:s.value.image,alt:s.value.alt}):null,s.value.imageDark?a("img",{key:"dark",class:"vp-blog-hero-image dark",style:s.value.style,src:s.value.imageDark,alt:s.value.alt}):null]),a(ce,{appear:!0,delay:.08},()=>s.value.text?a("h1",{class:"vp-blog-hero-title"},s.value.text):null),a(ce,{appear:!0,delay:.12},()=>s.value.tagline?a("p",{class:"vp-blog-hero-description",innerHTML:s.value.tagline}):null)],s.value.isFullScreen?a("button",{type:"button",class:"slide-down-button",onClick:()=>{window.scrollTo({top:o.value.clientHeight,behavior:"smooth"})}},[a(hl),a(hl)]):null])}}});const B3=["link","article","book","project","friend"];var F3=M({name:"ProjectPanel",components:{ArticleIcon:wo,BookIcon:Vu,FriendIcon:Uu,LinkIcon:ju,ProjectIcon:Gu},props:{items:{type:Array,required:!0}},setup(e){const t=an(),n=wr(),r=(o="",l="icon")=>B3.includes(o)?a(Xe(`${o}-icon`)):gt(o)?a("img",{class:"vp-project-image",src:o,alt:l}):gr(o)?a("img",{class:"vp-project-image",src:be(o),alt:l}):a(Be,{icon:o});return()=>a("div",{class:"vp-project-panel"},e.items.map(({icon:o,link:l,name:s,desc:i},c)=>a("div",{class:["vp-project-card",{[`project${c%9}`]:!t.value}],onClick:()=>n(l)},[r(o,s),a("div",{class:"vp-project-name"},s),a("div",{class:"vp-project-desc"},i)])))}}),z3=M({name:"BlogHome",setup(){const e=Ar(),t=ve(),n=w(()=>t.value.projects??[]);return()=>a("div",{class:"vp-page vp-blog"},[a(N3),a("div",{class:"blog-page-wrapper"},[a("main",{id:"main-content",class:"vp-blog-main"},[n.value.length?a(ce,{appear:!0,delay:.16},()=>a(F3,{items:n.value})):null,a(ce,{appear:!0,delay:.24},()=>a(vs,{items:e.value.items}))]),a(ce,{appear:!0,delay:.16},()=>a(So,{key:"blog"}))]),a(ce,{appear:!0,delay:.28},()=>a(is))])}});const Xu=()=>a(Eo,()=>a(z3));Xu.displayName="BlogHomeLayout";var V3=Xu,j3=M({name:"ArticleType",setup(){const e=de(),t=Tt(),n=le(),r=Ar(),o=us(),l=w(()=>{const s=n.value.blogLocales;return[{text:s.all,path:r.value.path},{text:s.star,path:o.value.path},...b3.map(({key:i,path:c})=>({text:s[i],path:c.replace(/^\//,t.value)}))]});return()=>a("ul",{class:"vp-article-type-wrapper"},l.value.map(s=>a("li",{class:["vp-article-type",{active:s.path===e.value.path}]},a(ke,{to:s.path},()=>s.text))))}}),G3=M({name:"BlogPage",setup(){const e=_o(),t=ve(),n=de(),r=Ar(),o=us(),l=w(()=>{const{key:s="",type:i}=t.value.blog||{};return s==="star"?o.value.items:i==="type"&&s?e.value.items:r.value.items});return()=>a(Eo,()=>a("div",{class:"vp-page vp-blog"},a("div",{class:"blog-page-wrapper"},[a("main",{id:"main-content",class:"vp-blog-main"},[a(ce,()=>a(j3)),a(ce,{appear:!0,delay:.24},()=>a(vs,{key:n.value.path,items:l.value}))]),a(ce,{delay:.16},()=>a(So,{key:"blog"}))])))}}),U3=M({name:"TimelineItems",setup(){const e=kr(),t=le(),n=fs(),r=w(()=>e.value.timeline||t.value.blogLocales.timelineTitle),o=w(()=>n.value.config.map(({year:l})=>({title:l.toString(),level:2,slug:l.toString(),children:[]})));return()=>a("div",{class:"timeline-wrapper"},a("ul",{class:"timeline-content"},[a(ce,()=>a("li",{class:"motto"},r.value)),a(Au,{items:o.value}),n.value.config.map(({year:l,items:s},i)=>a(ce,{appear:!0,delay:.08*(i+1),type:"group"},()=>[a("h3",{key:"title",id:l,class:"timeline-year-title"},a("span",l)),a("li",{key:"content",class:"timeline-year-list"},[a("ul",{class:"timeline-year-wrapper"},s.map(({date:c,info:u,path:f})=>a("li",{class:"timeline-item"},[a("span",{class:"timeline-date"},c),a(ke,{class:"timeline-title",to:f},()=>u[ye.title])])))])]))]))}});const Qu=()=>a(Eo,()=>a("div",{class:"vp-page vp-blog"},a("div",{class:"blog-page-wrapper"},[a("main",{id:"main-content",class:"vp-blog-main"},[a(ce,{appear:!0,delay:.24},()=>a(U3))]),a(ce,{delay:.16},()=>a(So,{key:"blog"}))])));Qu.displayName="Timeline";var q3=Qu;l2(e=>{const t=e.t,n=e.I!==!1,r=e.i;return n?{title:t,content:r?()=>[a(Be,{icon:r}),t]:null,order:e.O,index:e.I}:null});const W3=ot({enhance:({app:e,router:t})=>{const{scrollBehavior:n}=t.options;t.options.scrollBehavior=async(...r)=>(await xu().wait(),n(...r)),ym(e),e.component("HopeIcon",Be),e.component("BloggerInfo",ds)},setup:()=>{bm(),Em(),I3()},layouts:{Layout:p3,NotFound:m3,BlogCategory:H3,BlogHome:V3,BlogType:G3,Timeline:q3}}),jr=[a0,Qh,o2,u2,p2,g2,w2,T2,O2,U2,W2,am,W3],K3=JSON.parse(`{"base":"/","lang":"zh-CN","title":"HalfSweet's Blog","description":"半糖的博客","head":[],"locales":{}}`);var Fn=Fe(K3),Y3=T1,J3=()=>{const e=X1({history:Y3(Nl("/")),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===wt){const r=Rn(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},X3=e=>{e.component("ClientOnly",go),e.component("Content",hc),e.component("RouteLink",ke)},Q3=(e,t,n)=>{const r=w(()=>t.currentRoute.value.path),o=Ll((E,y)=>({get(){return E(),t.currentRoute.value.meta._pageChunk},set(C){t.currentRoute.value.meta._pageChunk=C,y()}})),l=w(()=>Yt.resolveLayouts(n)),s=w(()=>Yt.resolveRouteLocale(Fn.value.locales,r.value)),i=w(()=>Yt.resolveSiteLocaleData(Fn.value,s.value)),c=w(()=>o.value.comp),u=w(()=>o.value.data),f=w(()=>u.value.frontmatter),d=w(()=>Yt.resolvePageHeadTitle(u.value,i.value)),p=w(()=>Yt.resolvePageHead(d.value,f.value,i.value)),m=w(()=>Yt.resolvePageLang(u.value,i.value)),g=w(()=>Yt.resolvePageLayout(u.value,l.value)),_={layouts:l,pageData:u,pageComponent:c,pageFrontmatter:f,pageHead:p,pageHeadTitle:d,pageLang:m,pageLayout:g,redirects:dc,routeLocale:s,routePath:r,routes:or,siteData:Fn,siteLocaleData:i};return e.provide(zl,_),Object.defineProperties(e.config.globalProperties,{$frontmatter:{get:()=>f.value},$head:{get:()=>p.value},$headTitle:{get:()=>d.value},$lang:{get:()=>m.value},$page:{get:()=>u.value},$routeLocale:{get:()=>s.value},$site:{get:()=>Fn.value},$siteLocale:{get:()=>i.value},$withBase:{get:()=>be}}),_},Z3=()=>{const e=e0(),t=vo();let n=[];const r=()=>{e.value.forEach(s=>{const i=ev(s);i&&n.push(i)})},o=()=>{const s=[];return e.value.forEach(i=>{const c=tv(i);c&&s.push(c)}),s},l=()=>{document.documentElement.lang=t.value;const s=o();n.forEach((i,c)=>{const u=s.findIndex(f=>i.isEqualNode(f));u===-1?(i.remove(),delete n[c]):s.splice(u,1)}),s.forEach(i=>document.head.appendChild(i)),n=[...n.filter(i=>!!i),...s]};ut(r0,l),me(()=>{r(),fe(e,l,{immediate:!1})})},ev=([e,t,n=""])=>{const r=Object.entries(t).map(([i,c])=>_e(c)?`[${i}=${JSON.stringify(c)}]`:c===!0?`[${i}]`:"").join(""),o=`head > ${e}${r}`;return Array.from(document.querySelectorAll(o)).find(i=>i.innerText===n)||null},tv=([e,t,n])=>{if(!_e(e))return null;const r=document.createElement(e);return Pn(t)&&Object.entries(t).forEach(([o,l])=>{_e(l)?r.setAttribute(o,l):l===!0&&r.setAttribute(o,"")}),_e(n)&&r.appendChild(document.createTextNode(n)),r},nv=Op,rv=async()=>{var n;const e=nv({name:"Vuepress",setup(){var l;Z3();for(const s of jr)(l=s.setup)==null||l.call(s);const r=jr.flatMap(({rootComponents:s=[]})=>s.map(i=>a(i))),o=t0();return()=>[a(o.value),r]}}),t=J3();X3(e),Q3(e,t,jr);for(const r of jr)await((n=r.enhance)==null?void 0:n.call(r,{app:e,router:t,siteData:Fn}));return e.use(t),{app:e,router:t}};rv().then(({app:e,router:t})=>{t.isReady().then(()=>{e.mount("#app")})});export{z as _,Vi as a,ji as b,lv as c,rv as createVueApp,Pe as d,sv as e,ov as o,Xe as r,Qf as w};
diff --git a/assets/app-Flo2gZk8.js b/assets/app-Flo2gZk8.js
new file mode 100644
index 0000000..be1bb2d
--- /dev/null
+++ b/assets/app-Flo2gZk8.js
@@ -0,0 +1,55 @@
+function __vite__mapDeps(indexes) {
+  if (!__vite__mapDeps.viteFileDeps) {
+    __vite__mapDeps.viteFileDeps = ["assets/index.html-BhtLl4n3.js","assets/plugin-vue_export-helper-DlAUqK2U.js","assets/index.html-C6yte3a0.js","assets/index.html-R-cHHIas.js","assets/index.html-CPUAg15t.js","assets/index.html-BjdnOCC5.js","assets/index.html-7Xyk7CrU.js","assets/index.html-BNW3YRR3.js","assets/index.html-jClrTNl3.js","assets/index.html-tFfBEjXi.js","assets/index.html-DgPmeCdQ.js","assets/index.html-CxRigd-R.js","assets/index.html-BWPjJqfa.js","assets/index.html-DzG2EJXJ.js","assets/index.html-B45efyIG.js","assets/index.html-D_Px6PD2.js","assets/index.html-U1Oe9QlK.js","assets/index.html-fvB3i9PM.js","assets/404.html-mkIobPP0.js","assets/index.html-DGqb01LU.js","assets/index.html-GZfFX8ok.js","assets/index.html-vhaMR1PK.js","assets/index.html-CvSEeOlH.js","assets/index.html-BmplSMWS.js","assets/index.html-C2sDDxGY.js","assets/index.html-DvNwolvq.js","assets/index.html-DhSSZBRU.js","assets/index.html-DPcGNBru.js","assets/index.html-BFJ0kKZP.js","assets/index.html-CBW4olfB.js","assets/index.html-CiBWk0Bg.js","assets/index.html-AFWYFeTY.js","assets/index.html-DlrkN0XZ.js","assets/index.html-Cb-sPtFS.js","assets/index.html-DPF-EyUV.js","assets/index.html-AqhAiBBF.js","assets/index.html-DLZdHb6J.js","assets/index.html-Cpr5viHS.js","assets/index.html-BXxGxqK4.js","assets/index.html-4asd-b47.js","assets/index.html-ZITi3OK2.js","assets/index.html-DJMKg_M6.js","assets/index.html-Y__KWg8u.js","assets/index.html--BIzY7gk.js","assets/index.html-BRHXQqdq.js","assets/index.html-C_2nkQ6B.js","assets/index.html-R9oSKuoP.js","assets/index.html-DY-KY6vi.js","assets/index.html-BSndmKE7.js","assets/index.html-BDmR_g70.js","assets/index.html-CpeDyHcd.js","assets/index.html-DV9WiiCS.js","assets/index.html-DTceWJaH.js","assets/index.html-2WOtvPq_.js","assets/index.html-DCVozm3V.js","assets/index.html-vKhQGG0S.js","assets/index.html-BlvUTCvM.js","assets/index.html-vIW8aJUJ.js","assets/index.html-CTuZCChr.js","assets/dash.all.min-S0Hns9UN.js","assets/commonjsHelpers-Cpj98o6Y.js","assets/mpegts-CC885RK9.js","assets/hls.min-CSFeuThZ.js","assets/artplayer-DnixxQIM.js","assets/vidstack-player-DaNo29Rn.js","assets/vidstack-BeyDmEgV-DK6K5w61.js","assets/vidstack-D6_zYTXL-OYeDKsnR.js","assets/vidstack-player-layouts-nRkOMaNb.js","assets/vidstack-D2YigfqZ-BLArkuQb.js","assets/vidstack-player-ui-DQalTb-T.js"]
+  }
+  return indexes.map((i) => __vite__mapDeps.viteFileDeps[i])
+}
+/**
+* @vue/shared v3.4.33
+* (c) 2018-present Yuxi (Evan) You and Vue contributors
+* @license MIT
+**//*! #__NO_SIDE_EFFECTS__ */function hl(e,t){const n=new Set(e.split(","));return r=>n.has(r)}const Ae={},yn=[],rt=()=>{},sf=()=>!1,ur=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),ml=e=>e.startsWith("onUpdate:"),Pe=Object.assign,vl=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},af=Object.prototype.hasOwnProperty,ae=(e,t)=>af.call(e,t),ee=Array.isArray,Gn=e=>lo(e)==="[object Map]",cf=e=>lo(e)==="[object Set]",ne=e=>typeof e=="function",He=e=>typeof e=="string",Pn=e=>typeof e=="symbol",xe=e=>e!==null&&typeof e=="object",Ja=e=>(xe(e)||ne(e))&&ne(e.then)&&ne(e.catch),uf=Object.prototype.toString,lo=e=>uf.call(e),ff=e=>lo(e).slice(8,-1),df=e=>lo(e)==="[object Object]",gl=e=>He(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,bn=hl(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),so=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},pf=/-(\w)/g,ze=so(e=>e.replace(pf,(t,n)=>n?n.toUpperCase():"")),hf=/\B([A-Z])/g,an=so(e=>e.replace(hf,"-$1").toLowerCase()),fr=so(e=>e.charAt(0).toUpperCase()+e.slice(1)),Eo=so(e=>e?`on${fr(e)}`:""),Nt=(e,t)=>!Object.is(e,t),So=(e,...t)=>{for(let n=0;n<e.length;n++)e[n](...t)},Xa=(e,t,n,r=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},mf=e=>{const t=parseFloat(e);return isNaN(t)?e:t},vf=e=>{const t=He(e)?Number(e):NaN;return isNaN(t)?e:t};let bs;const Qa=()=>bs||(bs=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function yl(e){if(ee(e)){const t={};for(let n=0;n<e.length;n++){const r=e[n],o=He(r)?_f(r):yl(r);if(o)for(const l in o)t[l]=o[l]}return t}else if(He(e)||xe(e))return e}const gf=/;(?![^(]*\))/g,yf=/:([^]+)/,bf=/\/\*[^]*?\*\//g;function _f(e){const t={};return e.replace(bf,"").split(gf).forEach(n=>{if(n){const r=n.split(yf);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function bl(e){let t="";if(He(e))t=e;else if(ee(e))for(let n=0;n<e.length;n++){const r=bl(e[n]);r&&(t+=r+" ")}else if(xe(e))for(const n in e)e[n]&&(t+=n+" ");return t.trim()}const wf="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",Ef=hl(wf);function Za(e){return!!e||e===""}/**
+* @vue/reactivity v3.4.33
+* (c) 2018-present Yuxi (Evan) You and Vue contributors
+* @license MIT
+**/let Ke;class Sf{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=Ke,!t&&Ke&&(this.index=(Ke.scopes||(Ke.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=Ke;try{return Ke=this,t()}finally{Ke=n}}}on(){Ke=this}off(){Ke=this.parent}stop(t){if(this._active){let n,r;for(n=0,r=this.effects.length;n<r;n++)this.effects[n].stop();for(n=0,r=this.cleanups.length;n<r;n++)this.cleanups[n]();if(this.scopes)for(n=0,r=this.scopes.length;n<r;n++)this.scopes[n].stop(!0);if(!this.detached&&this.parent&&!t){const o=this.parent.scopes.pop();o&&o!==this&&(this.parent.scopes[this.index]=o,o.index=this.index)}this.parent=void 0,this._active=!1}}}function Cf(e,t=Ke){t&&t.active&&t.effects.push(e)}function ei(){return Ke}function Tf(e){Ke&&Ke.cleanups.push(e)}let nn;class _l{constructor(t,n,r,o){this.fn=t,this.trigger=n,this.scheduler=r,this.active=!0,this.deps=[],this._dirtyLevel=4,this._trackId=0,this._runnings=0,this._shouldSchedule=!1,this._depsLength=0,Cf(this,o)}get dirty(){if(this._dirtyLevel===2||this._dirtyLevel===3){this._dirtyLevel=1,Vt();for(let t=0;t<this._depsLength;t++){const n=this.deps[t];if(n.computed&&(Af(n.computed),this._dirtyLevel>=4))break}this._dirtyLevel===1&&(this._dirtyLevel=0),jt()}return this._dirtyLevel>=4}set dirty(t){this._dirtyLevel=t?4:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let t=Ht,n=nn;try{return Ht=!0,nn=this,this._runnings++,_s(this),this.fn()}finally{ws(this),this._runnings--,nn=n,Ht=t}}stop(){this.active&&(_s(this),ws(this),this.onStop&&this.onStop(),this.active=!1)}}function Af(e){return e.value}function _s(e){e._trackId++,e._depsLength=0}function ws(e){if(e.deps.length>e._depsLength){for(let t=e._depsLength;t<e.deps.length;t++)ti(e.deps[t],e);e.deps.length=e._depsLength}}function ti(e,t){const n=e.get(t);n!==void 0&&t._trackId!==n&&(e.delete(t),e.size===0&&e.cleanup())}let Ht=!0,Uo=0;const ni=[];function Vt(){ni.push(Ht),Ht=!1}function jt(){const e=ni.pop();Ht=e===void 0?!0:e}function wl(){Uo++}function El(){for(Uo--;!Uo&&qo.length;)qo.shift()()}function ri(e,t,n){if(t.get(e)!==e._trackId){t.set(e,e._trackId);const r=e.deps[e._depsLength];r!==t?(r&&ti(r,e),e.deps[e._depsLength++]=t):e._depsLength++}}const qo=[];function oi(e,t,n){wl();for(const r of e.keys()){let o;r._dirtyLevel<t&&(o??(o=e.get(r)===r._trackId))&&(r._shouldSchedule||(r._shouldSchedule=r._dirtyLevel===0),r._dirtyLevel=t),r._shouldSchedule&&(o??(o=e.get(r)===r._trackId))&&(r.trigger(),(!r._runnings||r.allowRecurse)&&r._dirtyLevel!==2&&(r._shouldSchedule=!1,r.scheduler&&qo.push(r.scheduler)))}El()}const li=(e,t)=>{const n=new Map;return n.cleanup=e,n.computed=t,n},Jr=new WeakMap,rn=Symbol(""),Wo=Symbol("");function qe(e,t,n){if(Ht&&nn){let r=Jr.get(e);r||Jr.set(e,r=new Map);let o=r.get(n);o||r.set(n,o=li(()=>r.delete(n))),ri(nn,o)}}function Ct(e,t,n,r,o,l){const s=Jr.get(e);if(!s)return;let i=[];if(t==="clear")i=[...s.values()];else if(n==="length"&&ee(e)){const c=Number(r);s.forEach((u,f)=>{(f==="length"||!Pn(f)&&f>=c)&&i.push(u)})}else switch(n!==void 0&&i.push(s.get(n)),t){case"add":ee(e)?gl(n)&&i.push(s.get("length")):(i.push(s.get(rn)),Gn(e)&&i.push(s.get(Wo)));break;case"delete":ee(e)||(i.push(s.get(rn)),Gn(e)&&i.push(s.get(Wo)));break;case"set":Gn(e)&&i.push(s.get(rn));break}wl();for(const c of i)c&&oi(c,4);El()}function kf(e,t){const n=Jr.get(e);return n&&n.get(t)}const xf=hl("__proto__,__v_isRef,__isVue"),si=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Pn)),Es=Lf();function Lf(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const r=ie(this);for(let l=0,s=this.length;l<s;l++)qe(r,"get",l+"");const o=r[t](...n);return o===-1||o===!1?r[t](...n.map(ie)):o}}),["push","pop","shift","unshift","splice"].forEach(t=>{e[t]=function(...n){Vt(),wl();const r=ie(this)[t].apply(this,n);return El(),jt(),r}}),e}function If(e){Pn(e)||(e=String(e));const t=ie(this);return qe(t,"has",e),t.hasOwnProperty(e)}class ai{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,r){const o=this._isReadonly,l=this._isShallow;if(n==="__v_isReactive")return!o;if(n==="__v_isReadonly")return o;if(n==="__v_isShallow")return l;if(n==="__v_raw")return r===(o?l?jf:fi:l?ui:ci).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;const s=ee(t);if(!o){if(s&&ae(Es,n))return Reflect.get(Es,n,r);if(n==="hasOwnProperty")return If}const i=Reflect.get(t,n,r);return(Pn(n)?si.has(n):xf(n))||(o||qe(t,"get",n),l)?i:Re(i)?s&&gl(n)?i:i.value:xe(i)?o?cn(i):dr(i):i}}class ii extends ai{constructor(t=!1){super(!1,t)}set(t,n,r,o){let l=t[n];if(!this._isShallow){const c=ln(l);if(!Cn(r)&&!ln(r)&&(l=ie(l),r=ie(r)),!ee(t)&&Re(l)&&!Re(r))return c?!1:(l.value=r,!0)}const s=ee(t)&&gl(n)?Number(n)<t.length:ae(t,n),i=Reflect.set(t,n,r,o);return t===ie(o)&&(s?Nt(r,l)&&Ct(t,"set",n,r):Ct(t,"add",n,r)),i}deleteProperty(t,n){const r=ae(t,n);t[n];const o=Reflect.deleteProperty(t,n);return o&&r&&Ct(t,"delete",n,void 0),o}has(t,n){const r=Reflect.has(t,n);return(!Pn(n)||!si.has(n))&&qe(t,"has",n),r}ownKeys(t){return qe(t,"iterate",ee(t)?"length":rn),Reflect.ownKeys(t)}}class Pf extends ai{constructor(t=!1){super(!0,t)}set(t,n){return!0}deleteProperty(t,n){return!0}}const Rf=new ii,Mf=new Pf,Of=new ii(!0);const Sl=e=>e,ao=e=>Reflect.getPrototypeOf(e);function Pr(e,t,n=!1,r=!1){e=e.__v_raw;const o=ie(e),l=ie(t);n||(Nt(t,l)&&qe(o,"get",t),qe(o,"get",l));const{has:s}=ao(o),i=r?Sl:n?Al:Zn;if(s.call(o,t))return i(e.get(t));if(s.call(o,l))return i(e.get(l));e!==o&&e.get(t)}function Rr(e,t=!1){const n=this.__v_raw,r=ie(n),o=ie(e);return t||(Nt(e,o)&&qe(r,"has",e),qe(r,"has",o)),e===o?n.has(e):n.has(e)||n.has(o)}function Mr(e,t=!1){return e=e.__v_raw,!t&&qe(ie(e),"iterate",rn),Reflect.get(e,"size",e)}function Ss(e,t=!1){!t&&!Cn(e)&&!ln(e)&&(e=ie(e));const n=ie(this);return ao(n).has.call(n,e)||(n.add(e),Ct(n,"add",e,e)),this}function Cs(e,t,n=!1){!n&&!Cn(t)&&!ln(t)&&(t=ie(t));const r=ie(this),{has:o,get:l}=ao(r);let s=o.call(r,e);s||(e=ie(e),s=o.call(r,e));const i=l.call(r,e);return r.set(e,t),s?Nt(t,i)&&Ct(r,"set",e,t):Ct(r,"add",e,t),this}function Ts(e){const t=ie(this),{has:n,get:r}=ao(t);let o=n.call(t,e);o||(e=ie(e),o=n.call(t,e)),r&&r.call(t,e);const l=t.delete(e);return o&&Ct(t,"delete",e,void 0),l}function As(){const e=ie(this),t=e.size!==0,n=e.clear();return t&&Ct(e,"clear",void 0,void 0),n}function Or(e,t){return function(r,o){const l=this,s=l.__v_raw,i=ie(s),c=t?Sl:e?Al:Zn;return!e&&qe(i,"iterate",rn),s.forEach((u,f)=>r.call(o,c(u),c(f),l))}}function $r(e,t,n){return function(...r){const o=this.__v_raw,l=ie(o),s=Gn(l),i=e==="entries"||e===Symbol.iterator&&s,c=e==="keys"&&s,u=o[e](...r),f=n?Sl:t?Al:Zn;return!t&&qe(l,"iterate",c?Wo:rn),{next(){const{value:d,done:p}=u.next();return p?{value:d,done:p}:{value:i?[f(d[0]),f(d[1])]:f(d),done:p}},[Symbol.iterator](){return this}}}}function Lt(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function $f(){const e={get(l){return Pr(this,l)},get size(){return Mr(this)},has:Rr,add:Ss,set:Cs,delete:Ts,clear:As,forEach:Or(!1,!1)},t={get(l){return Pr(this,l,!1,!0)},get size(){return Mr(this)},has:Rr,add(l){return Ss.call(this,l,!0)},set(l,s){return Cs.call(this,l,s,!0)},delete:Ts,clear:As,forEach:Or(!1,!0)},n={get(l){return Pr(this,l,!0)},get size(){return Mr(this,!0)},has(l){return Rr.call(this,l,!0)},add:Lt("add"),set:Lt("set"),delete:Lt("delete"),clear:Lt("clear"),forEach:Or(!0,!1)},r={get(l){return Pr(this,l,!0,!0)},get size(){return Mr(this,!0)},has(l){return Rr.call(this,l,!0)},add:Lt("add"),set:Lt("set"),delete:Lt("delete"),clear:Lt("clear"),forEach:Or(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(l=>{e[l]=$r(l,!1,!1),n[l]=$r(l,!0,!1),t[l]=$r(l,!1,!0),r[l]=$r(l,!0,!0)}),[e,n,t,r]}const[Hf,Df,Nf,Bf]=$f();function Cl(e,t){const n=t?e?Bf:Nf:e?Df:Hf;return(r,o,l)=>o==="__v_isReactive"?!e:o==="__v_isReadonly"?e:o==="__v_raw"?r:Reflect.get(ae(n,o)&&o in r?n:r,o,l)}const Ff={get:Cl(!1,!1)},zf={get:Cl(!1,!0)},Vf={get:Cl(!0,!1)};const ci=new WeakMap,ui=new WeakMap,fi=new WeakMap,jf=new WeakMap;function Gf(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Uf(e){return e.__v_skip||!Object.isExtensible(e)?0:Gf(ff(e))}function dr(e){return ln(e)?e:Tl(e,!1,Rf,Ff,ci)}function di(e){return Tl(e,!1,Of,zf,ui)}function cn(e){return Tl(e,!0,Mf,Vf,fi)}function Tl(e,t,n,r,o){if(!xe(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const l=o.get(e);if(l)return l;const s=Uf(e);if(s===0)return e;const i=new Proxy(e,s===2?r:n);return o.set(e,i),i}function _n(e){return ln(e)?_n(e.__v_raw):!!(e&&e.__v_isReactive)}function ln(e){return!!(e&&e.__v_isReadonly)}function Cn(e){return!!(e&&e.__v_isShallow)}function pi(e){return e?!!e.__v_raw:!1}function ie(e){const t=e&&e.__v_raw;return t?ie(t):e}function qf(e){return Object.isExtensible(e)&&Xa(e,"__v_skip",!0),e}const Zn=e=>xe(e)?dr(e):e,Al=e=>xe(e)?cn(e):e;class hi{constructor(t,n,r,o){this.getter=t,this._setter=n,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new _l(()=>t(this._value),()=>Un(this,this.effect._dirtyLevel===2?2:3)),this.effect.computed=this,this.effect.active=this._cacheable=!o,this.__v_isReadonly=r}get value(){const t=ie(this);return(!t._cacheable||t.effect.dirty)&&Nt(t._value,t._value=t.effect.run())&&Un(t,4),kl(t),t.effect._dirtyLevel>=2&&Un(t,2),t._value}set value(t){this._setter(t)}get _dirty(){return this.effect.dirty}set _dirty(t){this.effect.dirty=t}}function Wf(e,t,n=!1){let r,o;const l=ne(e);return l?(r=e,o=rt):(r=e.get,o=e.set),new hi(r,o,l||!o,n)}function kl(e){var t;Ht&&nn&&(e=ie(e),ri(nn,(t=e.dep)!=null?t:e.dep=li(()=>e.dep=void 0,e instanceof hi?e:void 0)))}function Un(e,t=4,n,r){e=ie(e);const o=e.dep;o&&oi(o,t)}function Re(e){return!!(e&&e.__v_isRef===!0)}function Z(e){return mi(e,!1)}function Be(e){return mi(e,!0)}function mi(e,t){return Re(e)?e:new Kf(e,t)}class Kf{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:ie(t),this._value=n?t:Zn(t)}get value(){return kl(this),this._value}set value(t){const n=this.__v_isShallow||Cn(t)||ln(t);t=n?t:ie(t),Nt(t,this._rawValue)&&(this._rawValue,this._rawValue=t,this._value=n?t:Zn(t),Un(this,4))}}function ut(e){return Re(e)?e.value:e}const Yf={get:(e,t,n)=>ut(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const o=e[t];return Re(o)&&!Re(n)?(o.value=n,!0):Reflect.set(e,t,n,r)}};function vi(e){return _n(e)?e:new Proxy(e,Yf)}class Jf{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:n,set:r}=t(()=>kl(this),()=>Un(this));this._get=n,this._set=r}get value(){return this._get()}set value(t){this._set(t)}}function xl(e){return new Jf(e)}class Xf{constructor(t,n,r){this._object=t,this._key=n,this._defaultValue=r,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return kf(ie(this._object),this._key)}}class Qf{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function Rn(e,t,n){return Re(e)?e:ne(e)?new Qf(e):xe(e)&&arguments.length>1?Zf(e,t,n):Z(e)}function Zf(e,t,n){const r=e[t];return Re(r)?r:new Xf(e,t,n)}/**
+* @vue/runtime-core v3.4.33
+* (c) 2018-present Yuxi (Evan) You and Vue contributors
+* @license MIT
+**/function Dt(e,t,n,r){try{return r?e(...r):e()}catch(o){pr(o,t,n)}}function lt(e,t,n,r){if(ne(e)){const o=Dt(e,t,n,r);return o&&Ja(o)&&o.catch(l=>{pr(l,t,n)}),o}if(ee(e)){const o=[];for(let l=0;l<e.length;l++)o.push(lt(e[l],t,n,r));return o}}function pr(e,t,n,r=!0){const o=t?t.vnode:null;if(t){let l=t.parent;const s=t.proxy,i=`https://vuejs.org/error-reference/#runtime-${n}`;for(;l;){const u=l.ec;if(u){for(let f=0;f<u.length;f++)if(u[f](e,s,i)===!1)return}l=l.parent}const c=t.appContext.config.errorHandler;if(c){Vt(),Dt(c,null,10,[e,s,i]),jt();return}}ed(e,n,o,r)}function ed(e,t,n,r=!0){console.error(e)}let er=!1,Ko=!1;const De=[];let vt=0;const wn=[];let Rt=null,Qt=0;const gi=Promise.resolve();let Ll=null;function un(e){const t=Ll||gi;return e?t.then(this?e.bind(this):e):t}function td(e){let t=vt+1,n=De.length;for(;t<n;){const r=t+n>>>1,o=De[r],l=tr(o);l<e||l===e&&o.pre?t=r+1:n=r}return t}function io(e){(!De.length||!De.includes(e,er&&e.allowRecurse?vt+1:vt))&&(e.id==null?De.push(e):De.splice(td(e.id),0,e),yi())}function yi(){!er&&!Ko&&(Ko=!0,Ll=gi.then(bi))}function nd(e){const t=De.indexOf(e);t>vt&&De.splice(t,1)}function rd(e){ee(e)?wn.push(...e):(!Rt||!Rt.includes(e,e.allowRecurse?Qt+1:Qt))&&wn.push(e),yi()}function ks(e,t,n=er?vt+1:0){for(;n<De.length;n++){const r=De[n];if(r&&r.pre){if(e&&r.id!==e.uid)continue;De.splice(n,1),n--,r()}}}function Xr(e){if(wn.length){const t=[...new Set(wn)].sort((n,r)=>tr(n)-tr(r));if(wn.length=0,Rt){Rt.push(...t);return}for(Rt=t,Qt=0;Qt<Rt.length;Qt++){const n=Rt[Qt];n.active!==!1&&n()}Rt=null,Qt=0}}const tr=e=>e.id==null?1/0:e.id,od=(e,t)=>{const n=tr(e)-tr(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function bi(e){Ko=!1,er=!0,De.sort(od);try{for(vt=0;vt<De.length;vt++){const t=De[vt];t&&t.active!==!1&&Dt(t,t.i,t.i?15:14)}}finally{vt=0,De.length=0,Xr(),er=!1,Ll=null,(De.length||wn.length)&&bi()}}let ot=null,_i=null;function Qr(e){const t=ot;return ot=e,_i=e&&e.type.__scopeId||null,t}function ld(e,t=ot,n){if(!t||e._n)return e;const r=(...o)=>{r._d&&zs(-1);const l=Qr(t);let s;try{s=e(...o)}finally{Qr(l),r._d&&zs(1)}return s};return r._n=!0,r._c=!0,r._d=!0,r}function mt(e,t,n,r){const o=e.dirs,l=t&&t.dirs;for(let s=0;s<o.length;s++){const i=o[s];l&&(i.oldValue=l[s].value);let c=i.dir[r];c&&(Vt(),lt(c,n,8,[e.el,i,e,t]),jt())}}const Mt=Symbol("_leaveCb"),Hr=Symbol("_enterCb");function wi(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return ve(()=>{e.isMounted=!0}),ki(()=>{e.isUnmounting=!0}),e}const Ze=[Function,Array],Ei={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Ze,onEnter:Ze,onAfterEnter:Ze,onEnterCancelled:Ze,onBeforeLeave:Ze,onLeave:Ze,onAfterLeave:Ze,onLeaveCancelled:Ze,onBeforeAppear:Ze,onAppear:Ze,onAfterAppear:Ze,onAppearCancelled:Ze},Si=e=>{const t=e.subTree;return t.component?Si(t.component):t},sd={name:"BaseTransition",props:Ei,setup(e,{slots:t}){const n=mr(),r=wi();return()=>{const o=t.default&&Il(t.default(),!0);if(!o||!o.length)return;let l=o[0];if(o.length>1){for(const p of o)if(p.type!==nt){l=p;break}}const s=ie(e),{mode:i}=s;if(r.isLeaving)return Co(l);const c=xs(l);if(!c)return Co(l);let u=nr(c,s,r,n,p=>u=p);Tn(c,u);const f=n.subTree,d=f&&xs(f);if(d&&d.type!==nt&&!en(c,d)&&Si(n).type!==nt){const p=nr(d,s,r,n);if(Tn(d,p),i==="out-in"&&c.type!==nt)return r.isLeaving=!0,p.afterLeave=()=>{r.isLeaving=!1,n.update.active!==!1&&(n.effect.dirty=!0,n.update())},Co(l);i==="in-out"&&c.type!==nt&&(p.delayLeave=(h,y,b)=>{const E=Ci(r,d);E[String(d.key)]=d,h[Mt]=()=>{y(),h[Mt]=void 0,delete u.delayedLeave},u.delayedLeave=b})}return l}}},ad=sd;function Ci(e,t){const{leavingVNodes:n}=e;let r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function nr(e,t,n,r,o){const{appear:l,mode:s,persisted:i=!1,onBeforeEnter:c,onEnter:u,onAfterEnter:f,onEnterCancelled:d,onBeforeLeave:p,onLeave:h,onAfterLeave:y,onLeaveCancelled:b,onBeforeAppear:E,onAppear:w,onAfterAppear:C,onAppearCancelled:g}=t,k=String(e.key),D=Ci(n,e),T=(z,I)=>{z&&lt(z,r,9,I)},G=(z,I)=>{const U=I[1];T(z,I),ee(z)?z.every(M=>M.length<=1)&&U():z.length<=1&&U()},X={mode:s,persisted:i,beforeEnter(z){let I=c;if(!n.isMounted)if(l)I=E||c;else return;z[Mt]&&z[Mt](!0);const U=D[k];U&&en(e,U)&&U.el[Mt]&&U.el[Mt](),T(I,[z])},enter(z){let I=u,U=f,M=d;if(!n.isMounted)if(l)I=w||u,U=C||f,M=g||d;else return;let Q=!1;const we=z[Hr]=Ee=>{Q||(Q=!0,Ee?T(M,[z]):T(U,[z]),X.delayedLeave&&X.delayedLeave(),z[Hr]=void 0)};I?G(I,[z,we]):we()},leave(z,I){const U=String(e.key);if(z[Hr]&&z[Hr](!0),n.isUnmounting)return I();T(p,[z]);let M=!1;const Q=z[Mt]=we=>{M||(M=!0,I(),we?T(b,[z]):T(y,[z]),z[Mt]=void 0,D[U]===e&&delete D[U])};D[U]=e,h?G(h,[z,Q]):Q()},clone(z){const I=nr(z,t,n,r,o);return o&&o(I),I}};return X}function Co(e){if(hr(e))return e=Bt(e),e.children=null,e}function xs(e){if(!hr(e))return e;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&ne(n.default))return n.default()}}function Tn(e,t){e.shapeFlag&6&&e.component?Tn(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Il(e,t=!1,n){let r=[],o=0;for(let l=0;l<e.length;l++){let s=e[l];const i=n==null?s.key:String(n)+String(s.key!=null?s.key:l);s.type===Ye?(s.patchFlag&128&&o++,r=r.concat(Il(s.children,t,i))):(t||s.type!==nt)&&r.push(i!=null?Bt(s,{key:i}):s)}if(o>1)for(let l=0;l<r.length;l++)r[l].patchFlag=-2;return r}/*! #__NO_SIDE_EFFECTS__ */function O(e,t){return ne(e)?Pe({name:e.name},t,{setup:e}):e}const qn=e=>!!e.type.__asyncLoader;/*! #__NO_SIDE_EFFECTS__ */function id(e){ne(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:r,delay:o=200,timeout:l,suspensible:s=!0,onError:i}=e;let c=null,u,f=0;const d=()=>(f++,c=null,p()),p=()=>{let h;return c||(h=c=t().catch(y=>{if(y=y instanceof Error?y:new Error(String(y)),i)return new Promise((b,E)=>{i(y,()=>b(d()),()=>E(y),f+1)});throw y}).then(y=>h!==c&&c?c:(y&&(y.__esModule||y[Symbol.toStringTag]==="Module")&&(y=y.default),u=y,y)))};return O({name:"AsyncComponentWrapper",__asyncLoader:p,get __asyncResolved(){return u},setup(){const h=$e;if(u)return()=>To(u,h);const y=C=>{c=null,pr(C,h,13,!r)};if(s&&h.suspense||gr)return p().then(C=>()=>To(C,h)).catch(C=>(y(C),()=>r?Ie(r,{error:C}):null));const b=Z(!1),E=Z(),w=Z(!!o);return o&&setTimeout(()=>{w.value=!1},o),l!=null&&setTimeout(()=>{if(!b.value&&!E.value){const C=new Error(`Async component timed out after ${l}ms.`);y(C),E.value=C}},l),p().then(()=>{b.value=!0,h.parent&&hr(h.parent.vnode)&&(h.parent.effect.dirty=!0,io(h.parent.update))}).catch(C=>{y(C),E.value=C}),()=>{if(b.value&&u)return To(u,h);if(E.value&&r)return Ie(r,{error:E.value});if(n&&!w.value)return Ie(n)}}})}function To(e,t){const{ref:n,props:r,children:o,ce:l}=t.vnode,s=Ie(e,r,o);return s.ref=n,s.ce=l,delete t.vnode.ce,s}const hr=e=>e.type.__isKeepAlive;function cd(e,t){Ti(e,"a",t)}function ud(e,t){Ti(e,"da",t)}function Ti(e,t,n=$e){const r=e.__wdc||(e.__wdc=()=>{let o=n;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(co(t,r,n),n){let o=n.parent;for(;o&&o.parent;)hr(o.parent.vnode)&&fd(r,t,n,o),o=o.parent}}function fd(e,t,n,r){const o=co(t,e,r,!0);Mn(()=>{vl(r[t],o)},n)}function co(e,t,n=$e,r=!1){if(n){const o=n[e]||(n[e]=[]),l=t.__weh||(t.__weh=(...s)=>{Vt();const i=vr(n),c=lt(t,n,e,s);return i(),jt(),c});return r?o.unshift(l):o.push(l),l}}const Tt=e=>(t,n=$e)=>{(!gr||e==="sp")&&co(e,(...r)=>t(...r),n)},dd=Tt("bm"),ve=Tt("m"),pd=Tt("bu"),Ai=Tt("u"),ki=Tt("bum"),Mn=Tt("um"),hd=Tt("sp"),md=Tt("rtg"),vd=Tt("rtc");function gd(e,t=$e){co("ec",e,t)}const xi="components";function Xe(e,t){return bd(xi,e,!0,t)||e}const yd=Symbol.for("v-ndc");function bd(e,t,n=!0,r=!1){const o=ot||$e;if(o){const l=o.type;if(e===xi){const i=up(l,!1);if(i&&(i===t||i===ze(t)||i===fr(ze(t))))return l}const s=Ls(o[e]||l[e],t)||Ls(o.appContext[e],t);return!s&&r?l:s}}function Ls(e,t){return e&&(e[t]||e[ze(t)]||e[fr(ze(t))])}const Yo=e=>e?Ji(e)?$l(e):Yo(e.parent):null,Wn=Pe(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Yo(e.parent),$root:e=>Yo(e.root),$emit:e=>e.emit,$options:e=>Pl(e),$forceUpdate:e=>e.f||(e.f=()=>{e.effect.dirty=!0,io(e.update)}),$nextTick:e=>e.n||(e.n=un.bind(e.proxy)),$watch:e=>Gd.bind(e)}),Ao=(e,t)=>e!==Ae&&!e.__isScriptSetup&&ae(e,t),_d={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:r,data:o,props:l,accessCache:s,type:i,appContext:c}=e;let u;if(t[0]!=="$"){const h=s[t];if(h!==void 0)switch(h){case 1:return r[t];case 2:return o[t];case 4:return n[t];case 3:return l[t]}else{if(Ao(r,t))return s[t]=1,r[t];if(o!==Ae&&ae(o,t))return s[t]=2,o[t];if((u=e.propsOptions[0])&&ae(u,t))return s[t]=3,l[t];if(n!==Ae&&ae(n,t))return s[t]=4,n[t];Jo&&(s[t]=0)}}const f=Wn[t];let d,p;if(f)return t==="$attrs"&&qe(e.attrs,"get",""),f(e);if((d=i.__cssModules)&&(d=d[t]))return d;if(n!==Ae&&ae(n,t))return s[t]=4,n[t];if(p=c.config.globalProperties,ae(p,t))return p[t]},set({_:e},t,n){const{data:r,setupState:o,ctx:l}=e;return Ao(o,t)?(o[t]=n,!0):r!==Ae&&ae(r,t)?(r[t]=n,!0):ae(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(l[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:o,propsOptions:l}},s){let i;return!!n[s]||e!==Ae&&ae(e,s)||Ao(t,s)||(i=l[0])&&ae(i,s)||ae(r,s)||ae(Wn,s)||ae(o.config.globalProperties,s)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:ae(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Is(e){return ee(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Jo=!0;function wd(e){const t=Pl(e),n=e.proxy,r=e.ctx;Jo=!1,t.beforeCreate&&Ps(t.beforeCreate,e,"bc");const{data:o,computed:l,methods:s,watch:i,provide:c,inject:u,created:f,beforeMount:d,mounted:p,beforeUpdate:h,updated:y,activated:b,deactivated:E,beforeDestroy:w,beforeUnmount:C,destroyed:g,unmounted:k,render:D,renderTracked:T,renderTriggered:G,errorCaptured:X,serverPrefetch:z,expose:I,inheritAttrs:U,components:M,directives:Q,filters:we}=t;if(u&&Ed(u,r,null),s)for(const re in s){const q=s[re];ne(q)&&(r[re]=q.bind(n))}if(o){const re=o.call(n,n);xe(re)&&(e.data=dr(re))}if(Jo=!0,l)for(const re in l){const q=l[re],it=ne(q)?q.bind(n,n):ne(q.get)?q.get.bind(n,n):rt,xt=!ne(q)&&ne(q.set)?q.set.bind(n):rt,pt=_({get:it,set:xt});Object.defineProperty(r,re,{enumerable:!0,configurable:!0,get:()=>pt.value,set:Ve=>pt.value=Ve})}if(i)for(const re in i)Li(i[re],r,n,re);if(c){const re=ne(c)?c.call(n):c;Reflect.ownKeys(re).forEach(q=>{ft(q,re[q])})}f&&Ps(f,e,"c");function Y(re,q){ee(q)?q.forEach(it=>re(it.bind(n))):q&&re(q.bind(n))}if(Y(dd,d),Y(ve,p),Y(pd,h),Y(Ai,y),Y(cd,b),Y(ud,E),Y(gd,X),Y(vd,T),Y(md,G),Y(ki,C),Y(Mn,k),Y(hd,z),ee(I))if(I.length){const re=e.exposed||(e.exposed={});I.forEach(q=>{Object.defineProperty(re,q,{get:()=>n[q],set:it=>n[q]=it})})}else e.exposed||(e.exposed={});D&&e.render===rt&&(e.render=D),U!=null&&(e.inheritAttrs=U),M&&(e.components=M),Q&&(e.directives=Q)}function Ed(e,t,n=rt){ee(e)&&(e=Xo(e));for(const r in e){const o=e[r];let l;xe(o)?"default"in o?l=Ce(o.from||r,o.default,!0):l=Ce(o.from||r):l=Ce(o),Re(l)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>l.value,set:s=>l.value=s}):t[r]=l}}function Ps(e,t,n){lt(ee(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function Li(e,t,n,r){const o=r.includes(".")?Gi(n,r):()=>n[r];if(He(e)){const l=t[e];ne(l)&&fe(o,l)}else if(ne(e))fe(o,e.bind(n));else if(xe(e))if(ee(e))e.forEach(l=>Li(l,t,n,r));else{const l=ne(e.handler)?e.handler.bind(n):t[e.handler];ne(l)&&fe(o,l,e)}}function Pl(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:o,optionsCache:l,config:{optionMergeStrategies:s}}=e.appContext,i=l.get(t);let c;return i?c=i:!o.length&&!n&&!r?c=t:(c={},o.length&&o.forEach(u=>Zr(c,u,s,!0)),Zr(c,t,s)),xe(t)&&l.set(t,c),c}function Zr(e,t,n,r=!1){const{mixins:o,extends:l}=t;l&&Zr(e,l,n,!0),o&&o.forEach(s=>Zr(e,s,n,!0));for(const s in t)if(!(r&&s==="expose")){const i=Sd[s]||n&&n[s];e[s]=i?i(e[s],t[s]):t[s]}return e}const Sd={data:Rs,props:Ms,emits:Ms,methods:Vn,computed:Vn,beforeCreate:Fe,created:Fe,beforeMount:Fe,mounted:Fe,beforeUpdate:Fe,updated:Fe,beforeDestroy:Fe,beforeUnmount:Fe,destroyed:Fe,unmounted:Fe,activated:Fe,deactivated:Fe,errorCaptured:Fe,serverPrefetch:Fe,components:Vn,directives:Vn,watch:Td,provide:Rs,inject:Cd};function Rs(e,t){return t?e?function(){return Pe(ne(e)?e.call(this,this):e,ne(t)?t.call(this,this):t)}:t:e}function Cd(e,t){return Vn(Xo(e),Xo(t))}function Xo(e){if(ee(e)){const t={};for(let n=0;n<e.length;n++)t[e[n]]=e[n];return t}return e}function Fe(e,t){return e?[...new Set([].concat(e,t))]:t}function Vn(e,t){return e?Pe(Object.create(null),e,t):t}function Ms(e,t){return e?ee(e)&&ee(t)?[...new Set([...e,...t])]:Pe(Object.create(null),Is(e),Is(t??{})):t}function Td(e,t){if(!e)return t;if(!t)return e;const n=Pe(Object.create(null),e);for(const r in t)n[r]=Fe(e[r],t[r]);return n}function Ii(){return{app:null,config:{isNativeTag:sf,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let Ad=0;function kd(e,t){return function(r,o=null){ne(r)||(r=Pe({},r)),o!=null&&!xe(o)&&(o=null);const l=Ii(),s=new WeakSet;let i=!1;const c=l.app={_uid:Ad++,_component:r,_props:o,_container:null,_context:l,_instance:null,version:dp,get config(){return l.config},set config(u){},use(u,...f){return s.has(u)||(u&&ne(u.install)?(s.add(u),u.install(c,...f)):ne(u)&&(s.add(u),u(c,...f))),c},mixin(u){return l.mixins.includes(u)||l.mixins.push(u),c},component(u,f){return f?(l.components[u]=f,c):l.components[u]},directive(u,f){return f?(l.directives[u]=f,c):l.directives[u]},mount(u,f,d){if(!i){const p=Ie(r,o);return p.appContext=l,d===!0?d="svg":d===!1&&(d=void 0),f&&t?t(p,u):e(p,u,d),i=!0,c._container=u,u.__vue_app__=c,$l(p.component)}},unmount(){i&&(e(null,c._container),delete c._container.__vue_app__)},provide(u,f){return l.provides[u]=f,c},runWithContext(u){const f=Kn;Kn=c;try{return u()}finally{Kn=f}}};return c}}let Kn=null;function ft(e,t){if($e){let n=$e.provides;const r=$e.parent&&$e.parent.provides;r===n&&(n=$e.provides=Object.create(r)),n[e]=t}}function Ce(e,t,n=!1){const r=$e||ot;if(r||Kn){const o=r?r.parent==null?r.vnode.appContext&&r.vnode.appContext.provides:r.parent.provides:Kn._context.provides;if(o&&e in o)return o[e];if(arguments.length>1)return n&&ne(t)?t.call(r&&r.proxy):t}}const Pi={},Ri=()=>Object.create(Pi),Mi=e=>Object.getPrototypeOf(e)===Pi;function xd(e,t,n,r=!1){const o={},l=Ri();e.propsDefaults=Object.create(null),Oi(e,t,o,l);for(const s in e.propsOptions[0])s in o||(o[s]=void 0);n?e.props=r?o:di(o):e.type.props?e.props=o:e.props=l,e.attrs=l}function Ld(e,t,n,r){const{props:o,attrs:l,vnode:{patchFlag:s}}=e,i=ie(o),[c]=e.propsOptions;let u=!1;if((r||s>0)&&!(s&16)){if(s&8){const f=e.vnode.dynamicProps;for(let d=0;d<f.length;d++){let p=f[d];if(uo(e.emitsOptions,p))continue;const h=t[p];if(c)if(ae(l,p))h!==l[p]&&(l[p]=h,u=!0);else{const y=ze(p);o[y]=Qo(c,i,y,h,e,!1)}else h!==l[p]&&(l[p]=h,u=!0)}}}else{Oi(e,t,o,l)&&(u=!0);let f;for(const d in i)(!t||!ae(t,d)&&((f=an(d))===d||!ae(t,f)))&&(c?n&&(n[d]!==void 0||n[f]!==void 0)&&(o[d]=Qo(c,i,d,void 0,e,!0)):delete o[d]);if(l!==i)for(const d in l)(!t||!ae(t,d))&&(delete l[d],u=!0)}u&&Ct(e.attrs,"set","")}function Oi(e,t,n,r){const[o,l]=e.propsOptions;let s=!1,i;if(t)for(let c in t){if(bn(c))continue;const u=t[c];let f;o&&ae(o,f=ze(c))?!l||!l.includes(f)?n[f]=u:(i||(i={}))[f]=u:uo(e.emitsOptions,c)||(!(c in r)||u!==r[c])&&(r[c]=u,s=!0)}if(l){const c=ie(n),u=i||Ae;for(let f=0;f<l.length;f++){const d=l[f];n[d]=Qo(o,c,d,u[d],e,!ae(u,d))}}return s}function Qo(e,t,n,r,o,l){const s=e[n];if(s!=null){const i=ae(s,"default");if(i&&r===void 0){const c=s.default;if(s.type!==Function&&!s.skipFactory&&ne(c)){const{propsDefaults:u}=o;if(n in u)r=u[n];else{const f=vr(o);r=u[n]=c.call(null,t),f()}}else r=c}s[0]&&(l&&!i?r=!1:s[1]&&(r===""||r===an(n))&&(r=!0))}return r}const Id=new WeakMap;function $i(e,t,n=!1){const r=n?Id:t.propsCache,o=r.get(e);if(o)return o;const l=e.props,s={},i=[];let c=!1;if(!ne(e)){const f=d=>{c=!0;const[p,h]=$i(d,t,!0);Pe(s,p),h&&i.push(...h)};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}if(!l&&!c)return xe(e)&&r.set(e,yn),yn;if(ee(l))for(let f=0;f<l.length;f++){const d=ze(l[f]);Os(d)&&(s[d]=Ae)}else if(l)for(const f in l){const d=ze(f);if(Os(d)){const p=l[f],h=s[d]=ee(p)||ne(p)?{type:p}:Pe({},p);if(h){const y=Ds(Boolean,h.type),b=Ds(String,h.type);h[0]=y>-1,h[1]=b<0||y<b,(y>-1||ae(h,"default"))&&i.push(d)}}}const u=[s,i];return xe(e)&&r.set(e,u),u}function Os(e){return e[0]!=="$"&&!bn(e)}function $s(e){return e===null?"null":typeof e=="function"?e.name||"":typeof e=="object"&&e.constructor&&e.constructor.name||""}function Hs(e,t){return $s(e)===$s(t)}function Ds(e,t){return ee(t)?t.findIndex(n=>Hs(n,e)):ne(t)&&Hs(t,e)?0:-1}const Hi=e=>e[0]==="_"||e==="$stable",Rl=e=>ee(e)?e.map(tt):[tt(e)],Pd=(e,t,n)=>{if(t._n)return t;const r=ld((...o)=>Rl(t(...o)),n);return r._c=!1,r},Di=(e,t,n)=>{const r=e._ctx;for(const o in e){if(Hi(o))continue;const l=e[o];if(ne(l))t[o]=Pd(o,l,r);else if(l!=null){const s=Rl(l);t[o]=()=>s}}},Ni=(e,t)=>{const n=Rl(t);e.slots.default=()=>n},Bi=(e,t,n)=>{for(const r in t)(n||r!=="_")&&(e[r]=t[r])},Rd=(e,t,n)=>{const r=e.slots=Ri();if(e.vnode.shapeFlag&32){const o=t._;o?(Bi(r,t,n),n&&Xa(r,"_",o,!0)):Di(t,r)}else t&&Ni(e,t)},Md=(e,t,n)=>{const{vnode:r,slots:o}=e;let l=!0,s=Ae;if(r.shapeFlag&32){const i=t._;i?n&&i===1?l=!1:Bi(o,t,n):(l=!t.$stable,Di(t,o)),s=t}else t&&(Ni(e,t),s={default:1});if(l)for(const i in o)!Hi(i)&&s[i]==null&&delete o[i]};function eo(e,t,n,r,o=!1){if(ee(e)){e.forEach((p,h)=>eo(p,t&&(ee(t)?t[h]:t),n,r,o));return}if(qn(r)&&!o)return;const l=r.shapeFlag&4?$l(r.component):r.el,s=o?null:l,{i,r:c}=e,u=t&&t.r,f=i.refs===Ae?i.refs={}:i.refs,d=i.setupState;if(u!=null&&u!==c&&(He(u)?(f[u]=null,ae(d,u)&&(d[u]=null)):Re(u)&&(u.value=null)),ne(c))Dt(c,i,12,[s,f]);else{const p=He(c),h=Re(c);if(p||h){const y=()=>{if(e.f){const b=p?ae(d,c)?d[c]:f[c]:c.value;o?ee(b)&&vl(b,l):ee(b)?b.includes(l)||b.push(l):p?(f[c]=[l],ae(d,c)&&(d[c]=f[c])):(c.value=[l],e.k&&(f[e.k]=c.value))}else p?(f[c]=s,ae(d,c)&&(d[c]=s)):h&&(c.value=s,e.k&&(f[e.k]=s))};s?(y.id=-1,je(y,n)):y()}}}const Od=Symbol("_vte"),$d=e=>e.__isTeleport;let Ns=!1;const vn=()=>{Ns||(console.error("Hydration completed but contains mismatches."),Ns=!0)},Hd=e=>e.namespaceURI.includes("svg")&&e.tagName!=="foreignObject",Dd=e=>e.namespaceURI.includes("MathML"),Dr=e=>{if(Hd(e))return"svg";if(Dd(e))return"mathml"},Nr=e=>e.nodeType===8;function Nd(e){const{mt:t,p:n,o:{patchProp:r,createText:o,nextSibling:l,parentNode:s,remove:i,insert:c,createComment:u}}=e,f=(g,k)=>{if(!k.hasChildNodes()){n(null,g,k),Xr(),k._vnode=g;return}d(k.firstChild,g,null,null,null),Xr(),k._vnode=g},d=(g,k,D,T,G,X=!1)=>{X=X||!!k.dynamicChildren;const z=Nr(g)&&g.data==="[",I=()=>b(g,k,D,T,G,z),{type:U,ref:M,shapeFlag:Q,patchFlag:we}=k;let Ee=g.nodeType;k.el=g,we===-2&&(X=!1,k.dynamicChildren=null);let Y=null;switch(U){case on:Ee!==3?k.children===""?(c(k.el=o(""),s(g),g),Y=g):Y=I():(g.data!==k.children&&(vn(),g.data=k.children),Y=l(g));break;case nt:C(g)?(Y=l(g),w(k.el=g.content.firstChild,g,D)):Ee!==8||z?Y=I():Y=l(g);break;case Yn:if(z&&(g=l(g),Ee=g.nodeType),Ee===1||Ee===3){Y=g;const re=!k.children.length;for(let q=0;q<k.staticCount;q++)re&&(k.children+=Y.nodeType===1?Y.outerHTML:Y.data),q===k.staticCount-1&&(k.anchor=Y),Y=l(Y);return z?l(Y):Y}else I();break;case Ye:z?Y=y(g,k,D,T,G,X):Y=I();break;default:if(Q&1)(Ee!==1||k.type.toLowerCase()!==g.tagName.toLowerCase())&&!C(g)?Y=I():Y=p(g,k,D,T,G,X);else if(Q&6){k.slotScopeIds=G;const re=s(g);if(z?Y=E(g):Nr(g)&&g.data==="teleport start"?Y=E(g,g.data,"teleport end"):Y=l(g),t(k,re,null,D,T,Dr(re),X),qn(k)){let q;z?(q=Ie(Ye),q.anchor=Y?Y.previousSibling:re.lastChild):q=g.nodeType===3?Yi(""):Ie("div"),q.el=g,k.component.subTree=q}}else Q&64?Ee!==8?Y=I():Y=k.type.hydrate(g,k,D,T,G,X,e,h):Q&128&&(Y=k.type.hydrate(g,k,D,T,Dr(s(g)),G,X,e,d))}return M!=null&&eo(M,null,T,k),Y},p=(g,k,D,T,G,X)=>{X=X||!!k.dynamicChildren;const{type:z,props:I,patchFlag:U,shapeFlag:M,dirs:Q,transition:we}=k,Ee=z==="input"||z==="option";if(Ee||U!==-1){Q&&mt(k,null,D,"created");let Y=!1;if(C(g)){Y=Fi(T,we)&&D&&D.vnode.props&&D.vnode.props.appear;const q=g.content.firstChild;Y&&we.beforeEnter(q),w(q,g,D),k.el=g=q}if(M&16&&!(I&&(I.innerHTML||I.textContent))){let q=h(g.firstChild,k,g,D,T,G,X);for(;q;){vn();const it=q;q=q.nextSibling,i(it)}}else M&8&&g.textContent!==k.children&&(vn(),g.textContent=k.children);if(I){if(Ee||!X||U&48)for(const q in I)(Ee&&(q.endsWith("value")||q==="indeterminate")||ur(q)&&!bn(q)||q[0]===".")&&r(g,q,null,I[q],void 0,D);else if(I.onClick)r(g,"onClick",null,I.onClick,void 0,D);else if(U&4&&_n(I.style))for(const q in I.style)I.style[q]}let re;(re=I&&I.onVnodeBeforeMount)&&et(re,D,k),Q&&mt(k,null,D,"beforeMount"),((re=I&&I.onVnodeMounted)||Q||Y)&&qi(()=>{re&&et(re,D,k),Y&&we.enter(g),Q&&mt(k,null,D,"mounted")},T)}return g.nextSibling},h=(g,k,D,T,G,X,z)=>{z=z||!!k.dynamicChildren;const I=k.children,U=I.length;for(let M=0;M<U;M++){const Q=z?I[M]:I[M]=tt(I[M]),we=Q.type===on;if(g){if(we&&!z){let Ee=I[M+1];Ee&&(Ee=tt(Ee)).type===on&&(c(o(g.data.slice(Q.children.length)),D,l(g)),g.data=Q.children)}g=d(g,Q,T,G,X,z)}else we&&!Q.children?c(Q.el=o(""),D):(vn(),n(null,Q,D,null,T,G,Dr(D),X))}return g},y=(g,k,D,T,G,X)=>{const{slotScopeIds:z}=k;z&&(G=G?G.concat(z):z);const I=s(g),U=h(l(g),k,I,D,T,G,X);return U&&Nr(U)&&U.data==="]"?l(k.anchor=U):(vn(),c(k.anchor=u("]"),I,U),U)},b=(g,k,D,T,G,X)=>{if(vn(),k.el=null,X){const U=E(g);for(;;){const M=l(g);if(M&&M!==U)i(M);else break}}const z=l(g),I=s(g);return i(g),n(null,k,I,z,D,T,Dr(I),G),z},E=(g,k="[",D="]")=>{let T=0;for(;g;)if(g=l(g),g&&Nr(g)&&(g.data===k&&T++,g.data===D)){if(T===0)return l(g);T--}return g},w=(g,k,D)=>{const T=k.parentNode;T&&T.replaceChild(g,k);let G=D;for(;G;)G.vnode.el===k&&(G.vnode.el=G.subTree.el=g),G=G.parent},C=g=>g.nodeType===1&&g.tagName.toLowerCase()==="template";return[f,d]}const je=qi;function Bd(e){return Fd(e,Nd)}function Fd(e,t){const n=Qa();n.__VUE__=!0;const{insert:r,remove:o,patchProp:l,createElement:s,createText:i,createComment:c,setText:u,setElementText:f,parentNode:d,nextSibling:p,setScopeId:h=rt,insertStaticContent:y}=e,b=(m,v,S,L=null,A=null,R=null,N=void 0,$=null,H=!!v.dynamicChildren)=>{if(m===v)return;m&&!en(m,v)&&(L=x(m),Ve(m,A,R,!0),m=null),v.patchFlag===-2&&(H=!1,v.dynamicChildren=null);const{type:P,ref:j,shapeFlag:J}=v;switch(P){case on:E(m,v,S,L);break;case nt:w(m,v,S,L);break;case Yn:m==null&&C(v,S,L,N);break;case Ye:M(m,v,S,L,A,R,N,$,H);break;default:J&1?D(m,v,S,L,A,R,N,$,H):J&6?Q(m,v,S,L,A,R,N,$,H):(J&64||J&128)&&P.process(m,v,S,L,A,R,N,$,H,W)}j!=null&&A&&eo(j,m&&m.ref,R,v||m,!v)},E=(m,v,S,L)=>{if(m==null)r(v.el=i(v.children),S,L);else{const A=v.el=m.el;v.children!==m.children&&u(A,v.children)}},w=(m,v,S,L)=>{m==null?r(v.el=c(v.children||""),S,L):v.el=m.el},C=(m,v,S,L)=>{[m.el,m.anchor]=y(m.children,v,S,L,m.el,m.anchor)},g=({el:m,anchor:v},S,L)=>{let A;for(;m&&m!==v;)A=p(m),r(m,S,L),m=A;r(v,S,L)},k=({el:m,anchor:v})=>{let S;for(;m&&m!==v;)S=p(m),o(m),m=S;o(v)},D=(m,v,S,L,A,R,N,$,H)=>{v.type==="svg"?N="svg":v.type==="math"&&(N="mathml"),m==null?T(v,S,L,A,R,N,$,H):z(m,v,A,R,N,$,H)},T=(m,v,S,L,A,R,N,$)=>{let H,P;const{props:j,shapeFlag:J,transition:K,dirs:te}=m;if(H=m.el=s(m.type,R,j&&j.is,j),J&8?f(H,m.children):J&16&&X(m.children,H,null,L,A,ko(m,R),N,$),te&&mt(m,null,L,"created"),G(H,m,m.scopeId,N,L),j){for(const Se in j)Se!=="value"&&!bn(Se)&&l(H,Se,null,j[Se],R,L);"value"in j&&l(H,"value",null,j.value,R),(P=j.onVnodeBeforeMount)&&et(P,L,m)}te&&mt(m,null,L,"beforeMount");const oe=Fi(A,K);oe&&K.beforeEnter(H),r(H,v,S),((P=j&&j.onVnodeMounted)||oe||te)&&je(()=>{P&&et(P,L,m),oe&&K.enter(H),te&&mt(m,null,L,"mounted")},A)},G=(m,v,S,L,A)=>{if(S&&h(m,S),L)for(let R=0;R<L.length;R++)h(m,L[R]);if(A){let R=A.subTree;if(v===R){const N=A.vnode;G(m,N,N.scopeId,N.slotScopeIds,A.parent)}}},X=(m,v,S,L,A,R,N,$,H=0)=>{for(let P=H;P<m.length;P++){const j=m[P]=$?Ot(m[P]):tt(m[P]);b(null,j,v,S,L,A,R,N,$)}},z=(m,v,S,L,A,R,N)=>{const $=v.el=m.el;let{patchFlag:H,dynamicChildren:P,dirs:j}=v;H|=m.patchFlag&16;const J=m.props||Ae,K=v.props||Ae;let te;if(S&&Kt(S,!1),(te=K.onVnodeBeforeUpdate)&&et(te,S,v,m),j&&mt(v,m,S,"beforeUpdate"),S&&Kt(S,!0),(J.innerHTML&&K.innerHTML==null||J.textContent&&K.textContent==null)&&f($,""),P?I(m.dynamicChildren,P,$,S,L,ko(v,A),R):N||q(m,v,$,null,S,L,ko(v,A),R,!1),H>0){if(H&16)U($,J,K,S,A);else if(H&2&&J.class!==K.class&&l($,"class",null,K.class,A),H&4&&l($,"style",J.style,K.style,A),H&8){const oe=v.dynamicProps;for(let Se=0;Se<oe.length;Se++){const he=oe[Se],Oe=J[he],ct=K[he];(ct!==Oe||he==="value")&&l($,he,Oe,ct,A,S)}}H&1&&m.children!==v.children&&f($,v.children)}else!N&&P==null&&U($,J,K,S,A);((te=K.onVnodeUpdated)||j)&&je(()=>{te&&et(te,S,v,m),j&&mt(v,m,S,"updated")},L)},I=(m,v,S,L,A,R,N)=>{for(let $=0;$<v.length;$++){const H=m[$],P=v[$],j=H.el&&(H.type===Ye||!en(H,P)||H.shapeFlag&70)?d(H.el):S;b(H,P,j,null,L,A,R,N,!0)}},U=(m,v,S,L,A)=>{if(v!==S){if(v!==Ae)for(const R in v)!bn(R)&&!(R in S)&&l(m,R,v[R],null,A,L);for(const R in S){if(bn(R))continue;const N=S[R],$=v[R];N!==$&&R!=="value"&&l(m,R,$,N,A,L)}"value"in S&&l(m,"value",v.value,S.value,A)}},M=(m,v,S,L,A,R,N,$,H)=>{const P=v.el=m?m.el:i(""),j=v.anchor=m?m.anchor:i("");let{patchFlag:J,dynamicChildren:K,slotScopeIds:te}=v;te&&($=$?$.concat(te):te),m==null?(r(P,S,L),r(j,S,L),X(v.children||[],S,j,A,R,N,$,H)):J>0&&J&64&&K&&m.dynamicChildren?(I(m.dynamicChildren,K,S,A,R,N,$),(v.key!=null||A&&v===A.subTree)&&zi(m,v,!0)):q(m,v,S,j,A,R,N,$,H)},Q=(m,v,S,L,A,R,N,$,H)=>{v.slotScopeIds=$,m==null?v.shapeFlag&512?A.ctx.activate(v,S,L,N,H):we(v,S,L,A,R,N,H):Ee(m,v,H)},we=(m,v,S,L,A,R,N)=>{const $=m.component=lp(m,L,A);if(hr(m)&&($.ctx.renderer=W),sp($,!1,N),$.asyncDep){if(A&&A.registerDep($,Y,N),!m.el){const H=$.subTree=Ie(nt);w(null,H,v,S)}}else Y($,m,v,S,A,R,N)},Ee=(m,v,S)=>{const L=v.component=m.component;if(Yd(m,v,S))if(L.asyncDep&&!L.asyncResolved){re(L,v,S);return}else L.next=v,nd(L.update),L.effect.dirty=!0,L.update();else v.el=m.el,L.vnode=v},Y=(m,v,S,L,A,R,N)=>{const $=()=>{if(m.isMounted){let{next:j,bu:J,u:K,parent:te,vnode:oe}=m;{const mn=Vi(m);if(mn){j&&(j.el=oe.el,re(m,j,N)),mn.asyncDep.then(()=>{m.isUnmounted||$()});return}}let Se=j,he;Kt(m,!1),j?(j.el=oe.el,re(m,j,N)):j=oe,J&&So(J),(he=j.props&&j.props.onVnodeBeforeUpdate)&&et(he,te,j,oe),Kt(m,!0);const Oe=xo(m),ct=m.subTree;m.subTree=Oe,b(ct,Oe,d(ct.el),x(ct),m,A,R),j.el=Oe.el,Se===null&&Jd(m,Oe.el),K&&je(K,A),(he=j.props&&j.props.onVnodeUpdated)&&je(()=>et(he,te,j,oe),A)}else{let j;const{el:J,props:K}=v,{bm:te,m:oe,parent:Se}=m,he=qn(v);if(Kt(m,!1),te&&So(te),!he&&(j=K&&K.onVnodeBeforeMount)&&et(j,Se,v),Kt(m,!0),J&&Te){const Oe=()=>{m.subTree=xo(m),Te(J,m.subTree,m,A,null)};he?v.type.__asyncLoader().then(()=>!m.isUnmounted&&Oe()):Oe()}else{const Oe=m.subTree=xo(m);b(null,Oe,S,L,m,A,R),v.el=Oe.el}if(oe&&je(oe,A),!he&&(j=K&&K.onVnodeMounted)){const Oe=v;je(()=>et(j,Se,Oe),A)}(v.shapeFlag&256||Se&&qn(Se.vnode)&&Se.vnode.shapeFlag&256)&&m.a&&je(m.a,A),m.isMounted=!0,v=S=L=null}},H=m.effect=new _l($,rt,()=>io(P),m.scope),P=m.update=()=>{H.dirty&&H.run()};P.i=m,P.id=m.uid,Kt(m,!0),P()},re=(m,v,S)=>{v.component=m;const L=m.vnode.props;m.vnode=v,m.next=null,Ld(m,v.props,L,S),Md(m,v.children,S),Vt(),ks(m),jt()},q=(m,v,S,L,A,R,N,$,H=!1)=>{const P=m&&m.children,j=m?m.shapeFlag:0,J=v.children,{patchFlag:K,shapeFlag:te}=v;if(K>0){if(K&128){xt(P,J,S,L,A,R,N,$,H);return}else if(K&256){it(P,J,S,L,A,R,N,$,H);return}}te&8?(j&16&&Qe(P,A,R),J!==P&&f(S,J)):j&16?te&16?xt(P,J,S,L,A,R,N,$,H):Qe(P,A,R,!0):(j&8&&f(S,""),te&16&&X(J,S,L,A,R,N,$,H))},it=(m,v,S,L,A,R,N,$,H)=>{m=m||yn,v=v||yn;const P=m.length,j=v.length,J=Math.min(P,j);let K;for(K=0;K<J;K++){const te=v[K]=H?Ot(v[K]):tt(v[K]);b(m[K],te,S,null,A,R,N,$,H)}P>j?Qe(m,A,R,!0,!1,J):X(v,S,L,A,R,N,$,H,J)},xt=(m,v,S,L,A,R,N,$,H)=>{let P=0;const j=v.length;let J=m.length-1,K=j-1;for(;P<=J&&P<=K;){const te=m[P],oe=v[P]=H?Ot(v[P]):tt(v[P]);if(en(te,oe))b(te,oe,S,null,A,R,N,$,H);else break;P++}for(;P<=J&&P<=K;){const te=m[J],oe=v[K]=H?Ot(v[K]):tt(v[K]);if(en(te,oe))b(te,oe,S,null,A,R,N,$,H);else break;J--,K--}if(P>J){if(P<=K){const te=K+1,oe=te<j?v[te].el:L;for(;P<=K;)b(null,v[P]=H?Ot(v[P]):tt(v[P]),S,oe,A,R,N,$,H),P++}}else if(P>K)for(;P<=J;)Ve(m[P],A,R,!0),P++;else{const te=P,oe=P,Se=new Map;for(P=oe;P<=K;P++){const We=v[P]=H?Ot(v[P]):tt(v[P]);We.key!=null&&Se.set(We.key,P)}let he,Oe=0;const ct=K-oe+1;let mn=!1,vs=0;const Nn=new Array(ct);for(P=0;P<ct;P++)Nn[P]=0;for(P=te;P<=J;P++){const We=m[P];if(Oe>=ct){Ve(We,A,R,!0);continue}let ht;if(We.key!=null)ht=Se.get(We.key);else for(he=oe;he<=K;he++)if(Nn[he-oe]===0&&en(We,v[he])){ht=he;break}ht===void 0?Ve(We,A,R,!0):(Nn[ht-oe]=P+1,ht>=vs?vs=ht:mn=!0,b(We,v[ht],S,null,A,R,N,$,H),Oe++)}const gs=mn?zd(Nn):yn;for(he=gs.length-1,P=ct-1;P>=0;P--){const We=oe+P,ht=v[We],ys=We+1<j?v[We+1].el:L;Nn[P]===0?b(null,ht,S,ys,A,R,N,$,H):mn&&(he<0||P!==gs[he]?pt(ht,S,ys,2):he--)}}},pt=(m,v,S,L,A=null)=>{const{el:R,type:N,transition:$,children:H,shapeFlag:P}=m;if(P&6){pt(m.component.subTree,v,S,L);return}if(P&128){m.suspense.move(v,S,L);return}if(P&64){N.move(m,v,S,W);return}if(N===Ye){r(R,v,S);for(let J=0;J<H.length;J++)pt(H[J],v,S,L);r(m.anchor,v,S);return}if(N===Yn){g(m,v,S);return}if(L!==2&&P&1&&$)if(L===0)$.beforeEnter(R),r(R,v,S),je(()=>$.enter(R),A);else{const{leave:J,delayLeave:K,afterLeave:te}=$,oe=()=>r(R,v,S),Se=()=>{J(R,()=>{oe(),te&&te()})};K?K(R,oe,Se):Se()}else r(R,v,S)},Ve=(m,v,S,L=!1,A=!1)=>{const{type:R,props:N,ref:$,children:H,dynamicChildren:P,shapeFlag:j,patchFlag:J,dirs:K,cacheIndex:te}=m;if(J===-2&&(A=!1),$!=null&&eo($,null,S,m,!0),te!=null&&(v.renderCache[te]=void 0),j&256){v.ctx.deactivate(m);return}const oe=j&1&&K,Se=!qn(m);let he;if(Se&&(he=N&&N.onVnodeBeforeUnmount)&&et(he,v,m),j&6)Ir(m.component,S,L);else{if(j&128){m.suspense.unmount(S,L);return}oe&&mt(m,null,v,"beforeUnmount"),j&64?m.type.remove(m,v,S,W,L):P&&!P.hasOnce&&(R!==Ye||J>0&&J&64)?Qe(P,v,S,!1,!0):(R===Ye&&J&384||!A&&j&16)&&Qe(H,v,S),L&&pn(m)}(Se&&(he=N&&N.onVnodeUnmounted)||oe)&&je(()=>{he&&et(he,v,m),oe&&mt(m,null,v,"unmounted")},S)},pn=m=>{const{type:v,el:S,anchor:L,transition:A}=m;if(v===Ye){hn(S,L);return}if(v===Yn){k(m);return}const R=()=>{o(S),A&&!A.persisted&&A.afterLeave&&A.afterLeave()};if(m.shapeFlag&1&&A&&!A.persisted){const{leave:N,delayLeave:$}=A,H=()=>N(S,R);$?$(m.el,R,H):H()}else R()},hn=(m,v)=>{let S;for(;m!==v;)S=p(m),o(m),m=S;o(v)},Ir=(m,v,S)=>{const{bum:L,scope:A,update:R,subTree:N,um:$,m:H,a:P}=m;Bs(H),Bs(P),L&&So(L),A.stop(),R&&(R.active=!1,Ve(N,m,v,S)),$&&je($,v),je(()=>{m.isUnmounted=!0},v),v&&v.pendingBranch&&!v.isUnmounted&&m.asyncDep&&!m.asyncResolved&&m.suspenseId===v.pendingId&&(v.deps--,v.deps===0&&v.resolve())},Qe=(m,v,S,L=!1,A=!1,R=0)=>{for(let N=R;N<m.length;N++)Ve(m[N],v,S,L,A)},x=m=>{if(m.shapeFlag&6)return x(m.component.subTree);if(m.shapeFlag&128)return m.suspense.next();const v=p(m.anchor||m.el),S=v&&v[Od];return S?p(S):v};let V=!1;const B=(m,v,S)=>{m==null?v._vnode&&Ve(v._vnode,null,null,!0):b(v._vnode||null,m,v,null,null,null,S),V||(V=!0,ks(),Xr(),V=!1),v._vnode=m},W={p:b,um:Ve,m:pt,r:pn,mt:we,mc:X,pc:q,pbc:I,n:x,o:e};let pe,Te;return t&&([pe,Te]=t(W)),{render:B,hydrate:pe,createApp:kd(B,pe)}}function ko({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function Kt({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function Fi(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function zi(e,t,n=!1){const r=e.children,o=t.children;if(ee(r)&&ee(o))for(let l=0;l<r.length;l++){const s=r[l];let i=o[l];i.shapeFlag&1&&!i.dynamicChildren&&((i.patchFlag<=0||i.patchFlag===32)&&(i=o[l]=Ot(o[l]),i.el=s.el),!n&&i.patchFlag!==-2&&zi(s,i)),i.type===on&&(i.el=s.el)}}function zd(e){const t=e.slice(),n=[0];let r,o,l,s,i;const c=e.length;for(r=0;r<c;r++){const u=e[r];if(u!==0){if(o=n[n.length-1],e[o]<u){t[r]=o,n.push(r);continue}for(l=0,s=n.length-1;l<s;)i=l+s>>1,e[n[i]]<u?l=i+1:s=i;u<e[n[l]]&&(l>0&&(t[r]=n[l-1]),n[l]=r)}}for(l=n.length,s=n[l-1];l-- >0;)n[l]=s,s=t[s];return n}function Vi(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Vi(t)}function Bs(e){if(e)for(let t=0;t<e.length;t++)e[t].active=!1}const Vd=Symbol.for("v-scx"),jd=()=>Ce(Vd);function ji(e,t){return Ml(e,null,t)}const Br={};function fe(e,t,n){return Ml(e,t,n)}function Ml(e,t,{immediate:n,deep:r,flush:o,once:l,onTrack:s,onTrigger:i}=Ae){if(t&&l){const T=t;t=(...G)=>{T(...G),D()}}const c=$e,u=T=>r===!0?T:Zt(T,r===!1?1:void 0);let f,d=!1,p=!1;if(Re(e)?(f=()=>e.value,d=Cn(e)):_n(e)?(f=()=>u(e),d=!0):ee(e)?(p=!0,d=e.some(T=>_n(T)||Cn(T)),f=()=>e.map(T=>{if(Re(T))return T.value;if(_n(T))return u(T);if(ne(T))return Dt(T,c,2)})):ne(e)?t?f=()=>Dt(e,c,2):f=()=>(h&&h(),lt(e,c,3,[y])):f=rt,t&&r){const T=f;f=()=>Zt(T())}let h,y=T=>{h=g.onStop=()=>{Dt(T,c,4),h=g.onStop=void 0}},b;if(gr)if(y=rt,t?n&&lt(t,c,3,[f(),p?[]:void 0,y]):f(),o==="sync"){const T=jd();b=T.__watcherHandles||(T.__watcherHandles=[])}else return rt;let E=p?new Array(e.length).fill(Br):Br;const w=()=>{if(!(!g.active||!g.dirty))if(t){const T=g.run();(r||d||(p?T.some((G,X)=>Nt(G,E[X])):Nt(T,E)))&&(h&&h(),lt(t,c,3,[T,E===Br?void 0:p&&E[0]===Br?[]:E,y]),E=T)}else g.run()};w.allowRecurse=!!t;let C;o==="sync"?C=w:o==="post"?C=()=>je(w,c&&c.suspense):(w.pre=!0,c&&(w.id=c.uid),C=()=>io(w));const g=new _l(f,rt,C),k=ei(),D=()=>{g.stop(),k&&vl(k.effects,g)};return t?n?w():E=g.run():o==="post"?je(g.run.bind(g),c&&c.suspense):g.run(),b&&b.push(D),D}function Gd(e,t,n){const r=this.proxy,o=He(e)?e.includes(".")?Gi(r,e):()=>r[e]:e.bind(r,r);let l;ne(t)?l=t:(l=t.handler,n=t);const s=vr(this),i=Ml(o,l.bind(r),n);return s(),i}function Gi(e,t){const n=t.split(".");return()=>{let r=e;for(let o=0;o<n.length&&r;o++)r=r[n[o]];return r}}function Zt(e,t=1/0,n){if(t<=0||!xe(e)||e.__v_skip||(n=n||new Set,n.has(e)))return e;if(n.add(e),t--,Re(e))Zt(e.value,t,n);else if(ee(e))for(let r=0;r<e.length;r++)Zt(e[r],t,n);else if(cf(e)||Gn(e))e.forEach(r=>{Zt(r,t,n)});else if(df(e)){for(const r in e)Zt(e[r],t,n);for(const r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&Zt(e[r],t,n)}return e}const Ud=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${ze(t)}Modifiers`]||e[`${an(t)}Modifiers`];function qd(e,t,...n){if(e.isUnmounted)return;const r=e.vnode.props||Ae;let o=n;const l=t.startsWith("update:"),s=l&&Ud(r,t.slice(7));s&&(s.trim&&(o=n.map(f=>He(f)?f.trim():f)),s.number&&(o=n.map(mf)));let i,c=r[i=Eo(t)]||r[i=Eo(ze(t))];!c&&l&&(c=r[i=Eo(an(t))]),c&&lt(c,e,6,o);const u=r[i+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[i])return;e.emitted[i]=!0,lt(u,e,6,o)}}function Ui(e,t,n=!1){const r=t.emitsCache,o=r.get(e);if(o!==void 0)return o;const l=e.emits;let s={},i=!1;if(!ne(e)){const c=u=>{const f=Ui(u,t,!0);f&&(i=!0,Pe(s,f))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!l&&!i?(xe(e)&&r.set(e,null),null):(ee(l)?l.forEach(c=>s[c]=null):Pe(s,l),xe(e)&&r.set(e,s),s)}function uo(e,t){return!e||!ur(t)?!1:(t=t.slice(2).replace(/Once$/,""),ae(e,t[0].toLowerCase()+t.slice(1))||ae(e,an(t))||ae(e,t))}function xo(e){const{type:t,vnode:n,proxy:r,withProxy:o,propsOptions:[l],slots:s,attrs:i,emit:c,render:u,renderCache:f,props:d,data:p,setupState:h,ctx:y,inheritAttrs:b}=e,E=Qr(e);let w,C;try{if(n.shapeFlag&4){const k=o||r,D=k;w=tt(u.call(D,k,f,d,h,p,y)),C=i}else{const k=t;w=tt(k.length>1?k(d,{attrs:i,slots:s,emit:c}):k(d,null)),C=t.props?i:Wd(i)}}catch(k){Jn.length=0,pr(k,e,1),w=Ie(nt)}let g=w;if(C&&b!==!1){const k=Object.keys(C),{shapeFlag:D}=g;k.length&&D&7&&(l&&k.some(ml)&&(C=Kd(C,l)),g=Bt(g,C,!1,!0))}return n.dirs&&(g=Bt(g,null,!1,!0),g.dirs=g.dirs?g.dirs.concat(n.dirs):n.dirs),n.transition&&(g.transition=n.transition),w=g,Qr(E),w}const Wd=e=>{let t;for(const n in e)(n==="class"||n==="style"||ur(n))&&((t||(t={}))[n]=e[n]);return t},Kd=(e,t)=>{const n={};for(const r in e)(!ml(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function Yd(e,t,n){const{props:r,children:o,component:l}=e,{props:s,children:i,patchFlag:c}=t,u=l.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return r?Fs(r,s,u):!!s;if(c&8){const f=t.dynamicProps;for(let d=0;d<f.length;d++){const p=f[d];if(s[p]!==r[p]&&!uo(u,p))return!0}}}else return(o||i)&&(!i||!i.$stable)?!0:r===s?!1:r?s?Fs(r,s,u):!0:!!s;return!1}function Fs(e,t,n){const r=Object.keys(t);if(r.length!==Object.keys(e).length)return!0;for(let o=0;o<r.length;o++){const l=r[o];if(t[l]!==e[l]&&!uo(n,l))return!0}return!1}function Jd({vnode:e,parent:t},n){for(;t;){const r=t.subTree;if(r.suspense&&r.suspense.activeBranch===e&&(r.el=e.el),r===e)(e=t.vnode).el=n,t=t.parent;else break}}const Xd=e=>e.__isSuspense;function qi(e,t){t&&t.pendingBranch?ee(e)?t.effects.push(...e):t.effects.push(e):rd(e)}const Ye=Symbol.for("v-fgt"),on=Symbol.for("v-txt"),nt=Symbol.for("v-cmt"),Yn=Symbol.for("v-stc"),Jn=[];let Je=null;function vv(e=!1){Jn.push(Je=e?null:[])}function Qd(){Jn.pop(),Je=Jn[Jn.length-1]||null}let rr=1;function zs(e){rr+=e,e<0&&Je&&(Je.hasOnce=!0)}function Zd(e){return e.dynamicChildren=rr>0?Je||yn:null,Qd(),rr>0&&Je&&Je.push(e),e}function gv(e,t,n,r,o,l){return Zd(Ki(e,t,n,r,o,l,!0))}function Zo(e){return e?e.__v_isVNode===!0:!1}function en(e,t){return e.type===t.type&&e.key===t.key}const Wi=({key:e})=>e??null,qr=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?He(e)||Re(e)||ne(e)?{i:ot,r:e,k:t,f:!!n}:e:null);function Ki(e,t=null,n=null,r=0,o=null,l=e===Ye?0:1,s=!1,i=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Wi(t),ref:t&&qr(t),scopeId:_i,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:l,patchFlag:r,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:ot};return i?(Ol(c,n),l&128&&e.normalize(c)):n&&(c.shapeFlag|=He(n)?8:16),rr>0&&!s&&Je&&(c.patchFlag>0||l&6)&&c.patchFlag!==32&&Je.push(c),c}const Ie=ep;function ep(e,t=null,n=null,r=0,o=null,l=!1){if((!e||e===yd)&&(e=nt),Zo(e)){const i=Bt(e,t,!0);return n&&Ol(i,n),rr>0&&!l&&Je&&(i.shapeFlag&6?Je[Je.indexOf(e)]=i:Je.push(i)),i.patchFlag=-2,i}if(fp(e)&&(e=e.__vccOpts),t){t=tp(t);let{class:i,style:c}=t;i&&!He(i)&&(t.class=bl(i)),xe(c)&&(pi(c)&&!ee(c)&&(c=Pe({},c)),t.style=yl(c))}const s=He(e)?1:Xd(e)?128:$d(e)?64:xe(e)?4:ne(e)?2:0;return Ki(e,t,n,r,o,s,l,!0)}function tp(e){return e?pi(e)||Mi(e)?Pe({},e):e:null}function Bt(e,t,n=!1,r=!1){const{props:o,ref:l,patchFlag:s,children:i,transition:c}=e,u=t?np(o||{},t):o,f={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&Wi(u),ref:t&&t.ref?n&&l?ee(l)?l.concat(qr(t)):[l,qr(t)]:qr(t):l,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Ye?s===-1?16:s|16:s,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Bt(e.ssContent),ssFallback:e.ssFallback&&Bt(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&r&&Tn(f,c.clone(f)),f}function Yi(e=" ",t=0){return Ie(on,null,e,t)}function yv(e,t){const n=Ie(Yn,null,e);return n.staticCount=t,n}function tt(e){return e==null||typeof e=="boolean"?Ie(nt):ee(e)?Ie(Ye,null,e.slice()):typeof e=="object"?Ot(e):Ie(on,null,String(e))}function Ot(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Bt(e)}function Ol(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(ee(t))n=16;else if(typeof t=="object")if(r&65){const o=t.default;o&&(o._c&&(o._d=!1),Ol(e,o()),o._c&&(o._d=!0));return}else{n=32;const o=t._;!o&&!Mi(t)?t._ctx=ot:o===3&&ot&&(ot.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else ne(t)?(t={default:t,_ctx:ot},n=32):(t=String(t),r&64?(n=16,t=[Yi(t)]):n=8);e.children=t,e.shapeFlag|=n}function np(...e){const t={};for(let n=0;n<e.length;n++){const r=e[n];for(const o in r)if(o==="class")t.class!==r.class&&(t.class=bl([t.class,r.class]));else if(o==="style")t.style=yl([t.style,r.style]);else if(ur(o)){const l=t[o],s=r[o];s&&l!==s&&!(ee(l)&&l.includes(s))&&(t[o]=l?[].concat(l,s):s)}else o!==""&&(t[o]=r[o])}return t}function et(e,t,n,r=null){lt(e,t,7,[n,r])}const rp=Ii();let op=0;function lp(e,t,n){const r=e.type,o=(t?t.appContext:e.appContext)||rp,l={uid:op++,vnode:e,type:r,parent:t,appContext:o,root:null,next:null,subTree:null,effect:null,update:null,scope:new Sf(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(o.provides),accessCache:null,renderCache:[],components:null,directives:null,propsOptions:$i(r,o),emitsOptions:Ui(r,o),emit:null,emitted:null,propsDefaults:Ae,inheritAttrs:r.inheritAttrs,ctx:Ae,data:Ae,props:Ae,attrs:Ae,slots:Ae,refs:Ae,setupState:Ae,setupContext:null,suspense:n,suspenseId:n?n.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return l.ctx={_:l},l.root=t?t.root:l,l.emit=qd.bind(null,l),e.ce&&e.ce(l),l}let $e=null;const mr=()=>$e||ot;let to,el;{const e=Qa(),t=(n,r)=>{let o;return(o=e[n])||(o=e[n]=[]),o.push(r),l=>{o.length>1?o.forEach(s=>s(l)):o[0](l)}};to=t("__VUE_INSTANCE_SETTERS__",n=>$e=n),el=t("__VUE_SSR_SETTERS__",n=>gr=n)}const vr=e=>{const t=$e;return to(e),e.scope.on(),()=>{e.scope.off(),to(t)}},Vs=()=>{$e&&$e.scope.off(),to(null)};function Ji(e){return e.vnode.shapeFlag&4}let gr=!1;function sp(e,t=!1,n=!1){t&&el(t);const{props:r,children:o}=e.vnode,l=Ji(e);xd(e,r,l,t),Rd(e,o,n);const s=l?ap(e,t):void 0;return t&&el(!1),s}function ap(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,_d);const{setup:r}=n;if(r){const o=e.setupContext=r.length>1?cp(e):null,l=vr(e);Vt();const s=Dt(r,e,0,[e.props,o]);if(jt(),l(),Ja(s)){if(s.then(Vs,Vs),t)return s.then(i=>{js(e,i,t)}).catch(i=>{pr(i,e,0)});e.asyncDep=s}else js(e,s,t)}else Xi(e,t)}function js(e,t,n){ne(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:xe(t)&&(e.setupState=vi(t)),Xi(e,n)}let Gs;function Xi(e,t,n){const r=e.type;if(!e.render){if(!t&&Gs&&!r.render){const o=r.template||Pl(e).template;if(o){const{isCustomElement:l,compilerOptions:s}=e.appContext.config,{delimiters:i,compilerOptions:c}=r,u=Pe(Pe({isCustomElement:l,delimiters:i},s),c);r.render=Gs(o,u)}}e.render=r.render||rt}{const o=vr(e);Vt();try{wd(e)}finally{jt(),o()}}}const ip={get(e,t){return qe(e,"get",""),e[t]}};function cp(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,ip),slots:e.slots,emit:e.emit,expose:t}}function $l(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(vi(qf(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Wn)return Wn[n](e)},has(t,n){return n in t||n in Wn}})):e.proxy}function up(e,t=!0){return ne(e)?e.displayName||e.name:e.name||t&&e.__name}function fp(e){return ne(e)&&"__vccOpts"in e}const _=(e,t)=>Wf(e,t,gr);function a(e,t,n){const r=arguments.length;return r===2?xe(t)&&!ee(t)?Zo(t)?Ie(e,null,[t]):Ie(e,t):Ie(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&Zo(n)&&(n=[n]),Ie(e,t,n))}const dp="3.4.33";/**
+* @vue/runtime-dom v3.4.33
+* (c) 2018-present Yuxi (Evan) You and Vue contributors
+* @license MIT
+**/const pp="http://www.w3.org/2000/svg",hp="http://www.w3.org/1998/Math/MathML",Et=typeof document<"u"?document:null,Us=Et&&Et.createElement("template"),mp={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"?Et.createElementNS(pp,e):t==="mathml"?Et.createElementNS(hp,e):n?Et.createElement(e,{is:n}):Et.createElement(e);return e==="select"&&r&&r.multiple!=null&&o.setAttribute("multiple",r.multiple),o},createText:e=>Et.createTextNode(e),createComment:e=>Et.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Et.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,o,l){const s=n?n.previousSibling:t.lastChild;if(o&&(o===l||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),n),!(o===l||!(o=o.nextSibling)););else{Us.innerHTML=r==="svg"?`<svg>${e}</svg>`:r==="mathml"?`<math>${e}</math>`:e;const i=Us.content;if(r==="svg"||r==="mathml"){const c=i.firstChild;for(;c.firstChild;)i.appendChild(c.firstChild);i.removeChild(c)}t.insertBefore(i,n)}return[s?s.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},It="transition",Bn="animation",An=Symbol("_vtc"),Ft=(e,{slots:t})=>a(ad,Zi(e),t);Ft.displayName="Transition";const Qi={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},vp=Ft.props=Pe({},Ei,Qi),Yt=(e,t=[])=>{ee(e)?e.forEach(n=>n(...t)):e&&e(...t)},qs=e=>e?ee(e)?e.some(t=>t.length>1):e.length>1:!1;function Zi(e){const t={};for(const M in e)M in Qi||(t[M]=e[M]);if(e.css===!1)return t;const{name:n="v",type:r,duration:o,enterFromClass:l=`${n}-enter-from`,enterActiveClass:s=`${n}-enter-active`,enterToClass:i=`${n}-enter-to`,appearFromClass:c=l,appearActiveClass:u=s,appearToClass:f=i,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:h=`${n}-leave-to`}=e,y=gp(o),b=y&&y[0],E=y&&y[1],{onBeforeEnter:w,onEnter:C,onEnterCancelled:g,onLeave:k,onLeaveCancelled:D,onBeforeAppear:T=w,onAppear:G=C,onAppearCancelled:X=g}=t,z=(M,Q,we)=>{Pt(M,Q?f:i),Pt(M,Q?u:s),we&&we()},I=(M,Q)=>{M._isLeaving=!1,Pt(M,d),Pt(M,h),Pt(M,p),Q&&Q()},U=M=>(Q,we)=>{const Ee=M?G:C,Y=()=>z(Q,M,we);Yt(Ee,[Q,Y]),Ws(()=>{Pt(Q,M?c:l),_t(Q,M?f:i),qs(Ee)||Ks(Q,r,b,Y)})};return Pe(t,{onBeforeEnter(M){Yt(w,[M]),_t(M,l),_t(M,s)},onBeforeAppear(M){Yt(T,[M]),_t(M,c),_t(M,u)},onEnter:U(!1),onAppear:U(!0),onLeave(M,Q){M._isLeaving=!0;const we=()=>I(M,Q);_t(M,d),_t(M,p),tc(),Ws(()=>{M._isLeaving&&(Pt(M,d),_t(M,h),qs(k)||Ks(M,r,E,we))}),Yt(k,[M,we])},onEnterCancelled(M){z(M,!1),Yt(g,[M])},onAppearCancelled(M){z(M,!0),Yt(X,[M])},onLeaveCancelled(M){I(M),Yt(D,[M])}})}function gp(e){if(e==null)return null;if(xe(e))return[Lo(e.enter),Lo(e.leave)];{const t=Lo(e);return[t,t]}}function Lo(e){return vf(e)}function _t(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[An]||(e[An]=new Set)).add(t)}function Pt(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[An];n&&(n.delete(t),n.size||(e[An]=void 0))}function Ws(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let yp=0;function Ks(e,t,n,r){const o=e._endId=++yp,l=()=>{o===e._endId&&r()};if(n)return setTimeout(l,n);const{type:s,timeout:i,propCount:c}=ec(e,t);if(!s)return r();const u=s+"end";let f=0;const d=()=>{e.removeEventListener(u,p),l()},p=h=>{h.target===e&&++f>=c&&d()};setTimeout(()=>{f<c&&d()},i+1),e.addEventListener(u,p)}function ec(e,t){const n=window.getComputedStyle(e),r=y=>(n[y]||"").split(", "),o=r(`${It}Delay`),l=r(`${It}Duration`),s=Ys(o,l),i=r(`${Bn}Delay`),c=r(`${Bn}Duration`),u=Ys(i,c);let f=null,d=0,p=0;t===It?s>0&&(f=It,d=s,p=l.length):t===Bn?u>0&&(f=Bn,d=u,p=c.length):(d=Math.max(s,u),f=d>0?s>u?It:Bn:null,p=f?f===It?l.length:c.length:0);const h=f===It&&/\b(transform|all)(,|$)/.test(r(`${It}Property`).toString());return{type:f,timeout:d,propCount:p,hasTransform:h}}function Ys(e,t){for(;e.length<t.length;)e=e.concat(e);return Math.max(...t.map((n,r)=>Js(n)+Js(e[r])))}function Js(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function tc(){return document.body.offsetHeight}function bp(e,t,n){const r=e[An];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Xs=Symbol("_vod"),_p=Symbol("_vsh"),wp=Symbol(""),Ep=/(^|;)\s*display\s*:/;function Sp(e,t,n){const r=e.style,o=He(n);let l=!1;if(n&&!o){if(t)if(He(t))for(const s of t.split(";")){const i=s.slice(0,s.indexOf(":")).trim();n[i]==null&&Wr(r,i,"")}else for(const s in t)n[s]==null&&Wr(r,s,"");for(const s in n)s==="display"&&(l=!0),Wr(r,s,n[s])}else if(o){if(t!==n){const s=r[wp];s&&(n+=";"+s),r.cssText=n,l=Ep.test(n)}}else t&&e.removeAttribute("style");Xs in e&&(e[Xs]=l?r.display:"",e[_p]&&(r.display="none"))}const Qs=/\s*!important$/;function Wr(e,t,n){if(ee(n))n.forEach(r=>Wr(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=Cp(e,t);Qs.test(n)?e.setProperty(an(r),n.replace(Qs,""),"important"):e[r]=n}}const Zs=["Webkit","Moz","ms"],Io={};function Cp(e,t){const n=Io[t];if(n)return n;let r=ze(t);if(r!=="filter"&&r in e)return Io[t]=r;r=fr(r);for(let o=0;o<Zs.length;o++){const l=Zs[o]+r;if(l in e)return Io[t]=l}return t}const ea="http://www.w3.org/1999/xlink";function ta(e,t,n,r,o,l=Ef(t)){r&&t.startsWith("xlink:")?n==null?e.removeAttributeNS(ea,t.slice(6,t.length)):e.setAttributeNS(ea,t,n):n==null||l&&!Za(n)?e.removeAttribute(t):e.setAttribute(t,l?"":Pn(n)?String(n):n)}function Tp(e,t,n,r){if(t==="innerHTML"||t==="textContent"){if(n==null)return;e[t]=n;return}const o=e.tagName;if(t==="value"&&o!=="PROGRESS"&&!o.includes("-")){const s=o==="OPTION"?e.getAttribute("value")||"":e.value,i=n==null?"":String(n);(s!==i||!("_value"in e))&&(e.value=i),n==null&&e.removeAttribute(t),e._value=n;return}let l=!1;if(n===""||n==null){const s=typeof e[t];s==="boolean"?n=Za(n):n==null&&s==="string"?(n="",l=!0):s==="number"&&(n=0,l=!0)}try{e[t]=n}catch{}l&&e.removeAttribute(t)}function Ap(e,t,n,r){e.addEventListener(t,n,r)}function kp(e,t,n,r){e.removeEventListener(t,n,r)}const na=Symbol("_vei");function xp(e,t,n,r,o=null){const l=e[na]||(e[na]={}),s=l[t];if(r&&s)s.value=r;else{const[i,c]=Lp(t);if(r){const u=l[t]=Rp(r,o);Ap(e,i,u,c)}else s&&(kp(e,i,s,c),l[t]=void 0)}}const ra=/(?:Once|Passive|Capture)$/;function Lp(e){let t;if(ra.test(e)){t={};let r;for(;r=e.match(ra);)e=e.slice(0,e.length-r[0].length),t[r[0].toLowerCase()]=!0}return[e[2]===":"?e.slice(3):an(e.slice(2)),t]}let Po=0;const Ip=Promise.resolve(),Pp=()=>Po||(Ip.then(()=>Po=0),Po=Date.now());function Rp(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;lt(Mp(r,n.value),t,5,[r])};return n.value=e,n.attached=Pp(),n}function Mp(e,t){if(ee(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 oa=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Op=(e,t,n,r,o,l)=>{const s=o==="svg";t==="class"?bp(e,r,s):t==="style"?Sp(e,n,r):ur(t)?ml(t)||xp(e,t,n,r,l):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):$p(e,t,r,s))?(Tp(e,t,r),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&ta(e,t,r,s,l,t!=="value")):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),ta(e,t,r,s))};function $p(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&oa(t)&&ne(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 oa(t)&&He(n)?!1:t in e}const nc=new WeakMap,rc=new WeakMap,no=Symbol("_moveCb"),la=Symbol("_enterCb"),oc={name:"TransitionGroup",props:Pe({},vp,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=mr(),r=wi();let o,l;return Ai(()=>{if(!o.length)return;const s=e.moveClass||`${e.name||"v"}-move`;if(!zp(o[0].el,n.vnode.el,s))return;o.forEach(Np),o.forEach(Bp);const i=o.filter(Fp);tc(),i.forEach(c=>{const u=c.el,f=u.style;_t(u,s),f.transform=f.webkitTransform=f.transitionDuration="";const d=u[no]=p=>{p&&p.target!==u||(!p||/transform$/.test(p.propertyName))&&(u.removeEventListener("transitionend",d),u[no]=null,Pt(u,s))};u.addEventListener("transitionend",d)})}),()=>{const s=ie(e),i=Zi(s);let c=s.tag||Ye;if(o=[],l)for(let u=0;u<l.length;u++){const f=l[u];f.el&&f.el instanceof Element&&(o.push(f),Tn(f,nr(f,i,r,n)),nc.set(f,f.el.getBoundingClientRect()))}l=t.default?Il(t.default()):[];for(let u=0;u<l.length;u++){const f=l[u];f.key!=null&&Tn(f,nr(f,i,r,n))}return Ie(c,null,l)}}},Hp=e=>delete e.mode;oc.props;const Dp=oc;function Np(e){const t=e.el;t[no]&&t[no](),t[la]&&t[la]()}function Bp(e){rc.set(e,e.el.getBoundingClientRect())}function Fp(e){const t=nc.get(e),n=rc.get(e),r=t.left-n.left,o=t.top-n.top;if(r||o){const l=e.el.style;return l.transform=l.webkitTransform=`translate(${r}px,${o}px)`,l.transitionDuration="0s",e}}function zp(e,t,n){const r=e.cloneNode(),o=e[An];o&&o.forEach(i=>{i.split(/\s+/).forEach(c=>c&&r.classList.remove(c))}),n.split(/\s+/).forEach(i=>i&&r.classList.add(i)),r.style.display="none";const l=t.nodeType===1?t:t.parentNode;l.appendChild(r);const{hasTransform:s}=ec(r);return l.removeChild(r),s}const Vp=Pe({patchProp:Op},mp);let Ro,sa=!1;function jp(){return Ro=sa?Ro:Bd(Vp),sa=!0,Ro}const Gp=(...e)=>{const t=jp().createApp(...e),{mount:n}=t;return t.mount=r=>{const o=qp(r);if(o)return n(o,!0,Up(o))},t};function Up(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function qp(e){return He(e)?document.querySelector(e):e}var Wp=["link","meta","script","style","noscript","template"],Kp=["title","base"],Yp=([e,t,n])=>Kp.includes(e)?e:Wp.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,Jp=e=>{const t=new Set,n=[];return e.forEach(r=>{const o=Yp(r);o&&!t.has(o)&&(t.add(o),n.push(r))}),n},Xp=e=>e[0]==="/"?e:`/${e}`,Hl=e=>e[e.length-1]==="/"||e.endsWith(".html")?e:`${e}/`,gt=e=>/^(https?:)?\/\//.test(e),Qp=/.md((\?|#).*)?$/,sn=(e,t="/")=>!!(gt(e)||e.startsWith("/")&&!e.startsWith(t)&&!Qp.test(e)),lc=e=>/^[a-z][a-z0-9+.-]*:/.test(e),On=e=>Object.prototype.toString.call(e)==="[object Object]",Zp=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("")},Dl=e=>e[e.length-1]==="/"?e.slice(0,-1):e,sc=e=>e[0]==="/"?e.slice(1):e,e1=(e,t)=>{const n=Object.keys(e).sort((r,o)=>{const l=o.split("/").length-r.split("/").length;return l!==0?l:o.length-r.length});for(const r of n)if(t.startsWith(r))return r;return"/"},t1=e=>typeof e=="function",_e=e=>typeof e=="string";const n1="modulepreload",r1=function(e){return"/"+e},aa={},F=function(t,n,r){let o=Promise.resolve();return n&&n.length>0&&(document.getElementsByTagName("link"),o=Promise.all(n.map(l=>{if(l=r1(l),l in aa)return;aa[l]=!0;const s=l.endsWith(".css"),i=s?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${l}"]${i}`))return;const c=document.createElement("link");if(c.rel=s?"stylesheet":n1,s||(c.as="script",c.crossOrigin=""),c.href=l,document.head.appendChild(c),s)return new Promise((u,f)=>{c.addEventListener("load",u),c.addEventListener("error",()=>f(new Error(`Unable to preload CSS for ${l}`)))})}))),o.then(()=>t()).catch(l=>{const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=l,window.dispatchEvent(s),!s.defaultPrevented)throw l})},o1=JSON.parse('{"/Catalogue/about.html":"/about/","/Catalogue/about.md":"/about/","/Catalogue/friends.html":"/friends/","/Catalogue/friends.md":"/friends/","/posts/Air32的HAL改造——适配MCO.html":"/posts/Air32-HAL-MCO/","/posts/Air32的HAL改造——适配MCO.md":"/posts/Air32-HAL-MCO/","/posts/HelloWorld.html":"/posts/HelloWorld/","/posts/HelloWorld.md":"/posts/HelloWorld/","/posts/不服来跑个分?将CoreMark移植到STC上试试.html":"/posts/STC_CoreMark/","/posts/不服来跑个分?将CoreMark移植到STC上试试.md":"/posts/STC_CoreMark/","/posts/为什么我对第三代郊狼失望.html":"/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/","/posts/为什么我对第三代郊狼失望.md":"/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/","/posts/使用Clion来进行Air32的开发.html":"/posts/Air32-Clion/","/posts/使用Clion来进行Air32的开发.md":"/posts/Air32-Clion/","/posts/发挥全部实力!Air32在HAL库环境下运行最高主频.html":"/posts/Air32-HAL-HighFreq/","/posts/发挥全部实力!Air32在HAL库环境下运行最高主频.md":"/posts/Air32-HAL-HighFreq/","/posts/在嵌入式设备上使用fmtlib.html":"/posts/embedded_fmtlib/","/posts/在嵌入式设备上使用fmtlib.md":"/posts/embedded_fmtlib/","/posts/基于conda进行手动配置novelAI.html":"/posts/conda_novelai/","/posts/基于conda进行手动配置novelAI.md":"/posts/conda_novelai/","/posts/墨水屏的坑——7.5寸墨水屏刷新为何出现条纹.html":"/posts/EpdTraps1/","/posts/墨水屏的坑——7.5寸墨水屏刷新为何出现条纹.md":"/posts/EpdTraps1/","/posts/对《为什么我对第三代郊狼失望》一文的澄清说明.html":"/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/","/posts/对《为什么我对第三代郊狼失望》一文的澄清说明.md":"/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/","/posts/嵌入式中的CI-CD.html":"/posts/Empedded-CI-CD/","/posts/嵌入式中的CI-CD.md":"/posts/Empedded-CI-CD/","/posts/更现代的开发方式?使用MDK6进行开发.html":"/posts/MDK6-Dev/","/posts/更现代的开发方式?使用MDK6进行开发.md":"/posts/MDK6-Dev/","/posts/更高效的日志查看方式——使用SEGGER-RTT.html":"/posts/SEGGER-RTT/","/posts/更高效的日志查看方式——使用SEGGER-RTT.md":"/posts/SEGGER-RTT/","/resume/FAE.html":"/kfGjHcdk36vg74_H/FAE/","/resume/FAE.md":"/kfGjHcdk36vg74_H/FAE/"}'),l1=Object.fromEntries([["/",{loader:()=>F(()=>import("./index.html-BhtLl4n3.js"),__vite__mapDeps([0,1])),meta:{y:"h",t:"HalfSweet's Blog",i:"home"}}],["/about/",{loader:()=>F(()=>import("./index.html-C6yte3a0.js"),__vite__mapDeps([2,1])),meta:{y:"p",t:"关于"}}],["/friends/",{loader:()=>F(()=>import("./index.html-R-cHHIas.js"),__vite__mapDeps([3,1])),meta:{y:"p",t:"友情链接"}}],["/posts/Air32-HAL-MCO/",{loader:()=>F(()=>import("./index.html-CPUAg15t.js"),__vite__mapDeps([4,1])),meta:{a:{name:"HalfSweet",link:"https://github.com/HalfSweet"},d:16925724e5,l:"2023年8月20日",c:["单片机"],g:["Air32","合宙","MCO"],e:`<p>在 <a href="/posts/Air32-HAL-HighFreq/" target="_blank">上篇文章</a> 中,我们把 HAL 库移植给了 Air32,那现在让我们尝试添加一些 HAL 库特有的功能吧,比如这篇文章中描述的<code>MCO</code>。</p>
+`,r:{minutes:2.98,words:893},y:"a",t:"Air32 的 HAL 改造——适配 MCO"}}],["/posts/HelloWorld/",{loader:()=>F(()=>import("./index.html-BjdnOCC5.js"),__vite__mapDeps([5,1])),meta:{a:{name:"HalfSweet",link:"https://github.com/HalfSweet"},d:1667251547e3,l:"2022年10月31日",c:["网站"],g:["HelloWorld"],e:`<p>今天搭建好了属于自己的一个博客站,希望今后能保持记录的习惯,写下自己遇到的坑以及收获。这是博客的一个启程,也是自己的一个新起点。</p>
+<p>Hello, HalfSweet!</p>
+`,r:{minutes:.28,words:85},y:"a",t:"HelloWorld"}}],["/posts/STC_CoreMark/",{loader:()=>F(()=>import("./index.html-7Xyk7CrU.js"),__vite__mapDeps([6,1])),meta:{a:{name:"HalfSweet",link:"https://github.com/HalfSweet"},d:1681493976e3,l:"2023年4月14日",c:["单片机"],g:["STC32","STC8","嵌入式","CoreMark"],e:`<p>最近维护的 Air001 准备上线了,为了衬托出其强大的性价比,因此我想来做点<s>缺德</s>的事,让我们来和同样以高打性价比的 STC 系列单片机来对比下 CoreMark 的跑分吧,本文将会详细介绍移植过程以及跑分结果。测试的 MCU 为<code>降龙棍 STC32G12K128</code>与<code>打狗棒 STC8H8K64U</code>。</p>
+<p>通用,本文同样适用于 Arm-Cortex M 架构的 MCU。</p>
+`,r:{minutes:4.64,words:1391},y:"a",t:"不服来跑个分?将 CoreMark 移植到 STC 上试试"}}],["/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/",{loader:()=>F(()=>import("./index.html-BNW3YRR3.js"),__vite__mapDeps([7,1])),meta:{a:{name:"HalfSweet",link:"https://github.com/HalfSweet"},d:1710525566e3,c:["posts"],g:["碎碎念","郊狼"],e:`<p>最近第三代郊狼开始内测了,作为一名电子爱好者,自然不能错过这个机会。于是我以原价 368 元的主机,以及 128 元两个智能按钮的价格,购买了一套第三代郊狼。</p>
+`,r:{minutes:8.04,words:2412},y:"a",t:"为什么我对第三代郊狼失望"}}],["/posts/Air32-Clion/",{loader:()=>F(()=>import("./index.html-jClrTNl3.js"),__vite__mapDeps([8,1])),meta:{a:{name:"HalfSweet",link:"https://github.com/HalfSweet"},d:16931682e5,l:"2023年8月27日",c:["单片机"],g:["Air32","合宙","Clion"],e:`<p>在上几篇文章中,我们将 HAL 库移植给了 Air32,但是我们的开发环境还是使用的 Keil,这样就会导致一些问题,比如 Keil 的代码提示不够友好,而且 Keil 的代码补全也不够完善,因此我们可以使用一个更好的开发环境,比如 Clion。</p>
+`,r:{minutes:3.08,words:924},y:"a",t:"使用 Clion 来进行 Air32 的开发"}}],["/posts/Air32-HAL-HighFreq/",{loader:()=>F(()=>import("./index.html-tFfBEjXi.js"),__vite__mapDeps([9,1])),meta:{a:{name:"HalfSweet",link:"https://github.com/HalfSweet"},d:16925634e5,l:"2023年8月20日",c:["单片机"],g:["Air32","合宙","超频"],e:`<p>最近打算把 Air32 也吃上 Arduino,发挥全部性能,就不用像是 Air001 那样束手束脚了,但是问题是 Arduino 的库是基于 HAL 的,那要用上 Arduino 就必定得先适配 HAL 库,那我们就来先尝试在 HAL 下让 Air32 跑到最高主频吧。</p>
+`,r:{minutes:5.78,words:1733},y:"a",t:"发挥全部实力!Air32 在 HAL 库环境下运行最高主频"}}],["/posts/embedded_fmtlib/",{loader:()=>F(()=>import("./index.html-DgPmeCdQ.js"),__vite__mapDeps([10,1])),meta:{a:{name:"HalfSweet",link:"https://github.com/HalfSweet"},d:1675433337e3,l:"2023年2月3日",c:["posts"],g:["fmtlib","嵌入式","ESP8266","ESP32","Arduino","PlatformIO","ESP-IDF"],e:`<p>众所周知,在c++20以上的标准已经支持了<code>std::format</code>进行格式化输出,不过显而易见,嵌入式领域想要得到支持显然遥遥无期。但是我们已经厌倦了使用sprintf等方式来格式化字符串,c++的流特性又显得不够优雅,怎么才能用上类似于Python中format这样的方式来格式化并输出想要的字符串呢。</p>
+`,r:{minutes:4.72,words:1415},y:"a",t:"在嵌入式设备上使用fmtlib"}}],["/posts/conda_novelai/",{loader:()=>F(()=>import("./index.html-CxRigd-R.js"),__vite__mapDeps([11,1])),meta:{a:{name:"HalfSweet",link:"https://github.com/HalfSweet"},d:1672924756e3,l:"2023年1月5日",c:["AI"],g:["人工智能","novelAI","conda"],e:`<p>最近大家应该都玩过novelAI了,出来的图片质量都非常棒,但是b站大佬给的配置只是打包了的bat文件,但是这显然不符合我们的折腾精神,于是我们来尝试使用conda来进行纯手工配置。</p>
+`,r:{minutes:6.44,words:1933},y:"a",t:"基于conda进行手动配置novelAI"}}],["/posts/EpdTraps1/",{loader:()=>F(()=>import("./index.html-BWPjJqfa.js"),__vite__mapDeps([12,1])),meta:{a:{name:"HalfSweet",link:"https://github.com/HalfSweet"},d:1667712637e3,l:"2022年11月6日",c:["墨水屏"],g:["墨水屏","UC8179","DEPG0750RWU790F30","遇到的坑"],e:`<h2>前言</h2>
+<p>之前在我群里的同学应该都还记得,之前有朋友送给半糖两块7.5寸的墨水屏,其中一块是黑白双色的,标签型号是DEPG0750RWU790F30,驱动芯片则是UC8179。这块屏确实蛮好的,有着高达800*480的分辨率,并且因为是7.5寸所以可视面积非常大,但是在调试的过程中半糖发现了一个问题:这个屏幕的刷新过程中怎么会出现白色条纹,并且刷完的颜色非常怪?</p>
+<p></p>
+<p></p>
+<p>其中上面一张图为我自己做的波形,第二张为使用的OTP波形,但是无一例外,都出现了刷新的问题。抱着也许是驱动板出问题了的想法,我重新lay了一次板子,焊接好之后发现问题确实有所改善,但是并不佳。后续在更换过程中发现采用cd32封装的68uH的电感刷新效果会更好一些,但是依旧存在刷新问题,特别是在UI中有竖着的线条的时候,特别影响观感。</p>`,r:{minutes:6.65,words:1996},y:"a",t:"墨水屏的坑——7.5寸墨水屏刷新为何出现条纹"}}],["/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/",{loader:()=>F(()=>import("./index.html-DzG2EJXJ.js"),__vite__mapDeps([13,1])),meta:{a:{name:"HalfSweet",link:"https://github.com/HalfSweet"},d:1710914609e3,c:["posts"],g:["碎碎念","郊狼"],e:`<p>在上文 <a href="/posts/%E4%B8%BA%E4%BB%80%E4%B9%88%E6%88%91%E5%AF%B9%E7%AC%AC%E4%B8%89%E4%BB%A3%E9%83%8A%E7%8B%BC%E5%A4%B1%E6%9C%9B.html" target="_blank">为什么我对第三代郊狼失望</a> 一文中,我对于第三代郊狼的硬件部分进行了一些初步分析,因为没有详细的一些资料,因此在一些地方可能存在一些错误。在昨晚(2024-03-19)郊狼作者找到我,与我群群友进行了一番友好的长时间地交流,也解答了我对设计上的一些疑问。在本文中我们会逐步分析前文中提到的问题。</p>
+`,r:{minutes:4.96,words:1487},y:"a",t:"对《为什么我对第三代郊狼失望》一文的澄清说明"}}],["/posts/Empedded-CI-CD/",{loader:()=>F(()=>import("./index.html-B45efyIG.js"),__vite__mapDeps([14,1])),meta:{a:{name:"HalfSweet",link:"https://github.com/HalfSweet"},d:17046306e5,l:"2024年1月7日",c:["单片机"],g:["Air001","合宙","CI/CD"],e:`<p>对于传统的嵌入式开发来说,我们一般常用的IDE都是诸如Keil、IAR等。这些IDE在方便了我们的开发的同时,也存在很多问题,例如在之前Keil-MDK5是不能跨平台的,仅限在Windows平台运行,并且它的授权也是一个老大难的问题。这样我们在团队协作的时候往往就会遇到很多问题,无法像是互联网的开发那样有一套完整的CI/CD流程。但是MDK6的更新解决了这个问题,第一它是跨平台的,这样在Windows、Linux以及MacOS上都能运行;并且也支持了很多命令行的操作,避免了繁琐的GUI操作,这样也更有利于自动化脚本的编写。</p>
+`,r:{minutes:5.17,words:1550},y:"a",t:"嵌入式中的 CI/CD"}}],["/posts/MDK6-Dev/",{loader:()=>F(()=>import("./index.html-D_Px6PD2.js"),__vite__mapDeps([15,1])),meta:{a:{name:"HalfSweet",link:"https://github.com/HalfSweet"},d:16924464e5,l:"2023年8月19日",c:["单片机"],g:["Air001","Air32","合宙"],e:`<p>今日,在千呼万唤中,Arm 的 MDK6 桌面端终于出来了,本想作为第一批吃螃蟹的开发者,但是当时 Air32 和 Air001 的烧录均有问题,最后在 Arm 官方的支持下,终于可以正常使用了,那么现在我们就来尝试一下。</p>
+`,r:{minutes:2.42,words:726},y:"a",t:"更现代的开发方式?使用 MDK6 进行开发"}}],["/posts/SEGGER-RTT/",{loader:()=>F(()=>import("./index.html-U1Oe9QlK.js"),__vite__mapDeps([16,1])),meta:{a:{name:"HalfSweet",link:"https://github.com/HalfSweet"},d:1683384485e3,l:"2023年5月6日",c:["单片机"],g:["Air001","合宙","日志"],e:`<p>在日常的开发中,我们免不了使用各种各样的日志打印方式,使用调试器固然好用,但是无法直接打印局部变量以及会打断整个运行状态。并且对于众多<code>Arduino</code>的用户来说,直接打印日志显然是更直观的做法。但是直接使用串口打印的话需要一定的资源,并且速度会稍慢,并且可能会占用一个串口,对于资源就不多的MCU,我们有没有更方便的方法呢?</p>
+`,r:{minutes:3.44,words:1033},y:"a",t:"更高效的日志查看方式——使用SEGGER-RTT"}}],["/kfGjHcdk36vg74_H/FAE/",{loader:()=>F(()=>import("./index.html-fvB3i9PM.js"),__vite__mapDeps([17,1])),meta:{y:"p",t:"FAE 招聘广告!"}}],["/404.html",{loader:()=>F(()=>import("./404.html-mkIobPP0.js"),__vite__mapDeps([18,1])),meta:{y:"p",t:""}}],["/posts/",{loader:()=>F(()=>import("./index.html-DGqb01LU.js"),__vite__mapDeps([19,1])),meta:{y:"p",t:"Posts"}}],["/kfGjHcdk36vg74_H/",{loader:()=>F(()=>import("./index.html-GZfFX8ok.js"),__vite__mapDeps([20,1])),meta:{y:"p",t:"Kf Gj Hcdk36vg74 H"}}],["/category/",{loader:()=>F(()=>import("./index.html-vhaMR1PK.js"),__vite__mapDeps([21,1])),meta:{y:"p",t:"分类",I:!1}}],["/category/%E5%8D%95%E7%89%87%E6%9C%BA/",{loader:()=>F(()=>import("./index.html-CvSEeOlH.js"),__vite__mapDeps([22,1])),meta:{y:"p",t:"单片机 分类",I:!1}}],["/category/%E7%BD%91%E7%AB%99/",{loader:()=>F(()=>import("./index.html-BmplSMWS.js"),__vite__mapDeps([23,1])),meta:{y:"p",t:"网站 分类",I:!1}}],["/category/posts/",{loader:()=>F(()=>import("./index.html-C2sDDxGY.js"),__vite__mapDeps([24,1])),meta:{y:"p",t:"posts 分类",I:!1}}],["/category/ai/",{loader:()=>F(()=>import("./index.html-DvNwolvq.js"),__vite__mapDeps([25,1])),meta:{y:"p",t:"AI 分类",I:!1}}],["/category/%E5%A2%A8%E6%B0%B4%E5%B1%8F/",{loader:()=>F(()=>import("./index.html-DhSSZBRU.js"),__vite__mapDeps([26,1])),meta:{y:"p",t:"墨水屏 分类",I:!1}}],["/tag/",{loader:()=>F(()=>import("./index.html-DPcGNBru.js"),__vite__mapDeps([27,1])),meta:{y:"p",t:"标签",I:!1}}],["/tag/air32/",{loader:()=>F(()=>import("./index.html-BFJ0kKZP.js"),__vite__mapDeps([28,1])),meta:{y:"p",t:"标签: Air32",I:!1}}],["/tag/%E5%90%88%E5%AE%99/",{loader:()=>F(()=>import("./index.html-CBW4olfB.js"),__vite__mapDeps([29,1])),meta:{y:"p",t:"标签: 合宙",I:!1}}],["/tag/mco/",{loader:()=>F(()=>import("./index.html-CiBWk0Bg.js"),__vite__mapDeps([30,1])),meta:{y:"p",t:"标签: MCO",I:!1}}],["/tag/helloworld/",{loader:()=>F(()=>import("./index.html-AFWYFeTY.js"),__vite__mapDeps([31,1])),meta:{y:"p",t:"标签: HelloWorld",I:!1}}],["/tag/stc32/",{loader:()=>F(()=>import("./index.html-DlrkN0XZ.js"),__vite__mapDeps([32,1])),meta:{y:"p",t:"标签: STC32",I:!1}}],["/tag/stc8/",{loader:()=>F(()=>import("./index.html-Cb-sPtFS.js"),__vite__mapDeps([33,1])),meta:{y:"p",t:"标签: STC8",I:!1}}],["/tag/%E5%B5%8C%E5%85%A5%E5%BC%8F/",{loader:()=>F(()=>import("./index.html-DPF-EyUV.js"),__vite__mapDeps([34,1])),meta:{y:"p",t:"标签: 嵌入式",I:!1}}],["/tag/coremark/",{loader:()=>F(()=>import("./index.html-AqhAiBBF.js"),__vite__mapDeps([35,1])),meta:{y:"p",t:"标签: CoreMark",I:!1}}],["/tag/%E7%A2%8E%E7%A2%8E%E5%BF%B5/",{loader:()=>F(()=>import("./index.html-DLZdHb6J.js"),__vite__mapDeps([36,1])),meta:{y:"p",t:"标签: 碎碎念",I:!1}}],["/tag/%E9%83%8A%E7%8B%BC/",{loader:()=>F(()=>import("./index.html-Cpr5viHS.js"),__vite__mapDeps([37,1])),meta:{y:"p",t:"标签: 郊狼",I:!1}}],["/tag/clion/",{loader:()=>F(()=>import("./index.html-BXxGxqK4.js"),__vite__mapDeps([38,1])),meta:{y:"p",t:"标签: Clion",I:!1}}],["/tag/%E8%B6%85%E9%A2%91/",{loader:()=>F(()=>import("./index.html-4asd-b47.js"),__vite__mapDeps([39,1])),meta:{y:"p",t:"标签: 超频",I:!1}}],["/tag/fmtlib/",{loader:()=>F(()=>import("./index.html-ZITi3OK2.js"),__vite__mapDeps([40,1])),meta:{y:"p",t:"标签: fmtlib",I:!1}}],["/tag/esp8266/",{loader:()=>F(()=>import("./index.html-DJMKg_M6.js"),__vite__mapDeps([41,1])),meta:{y:"p",t:"标签: ESP8266",I:!1}}],["/tag/esp32/",{loader:()=>F(()=>import("./index.html-Y__KWg8u.js"),__vite__mapDeps([42,1])),meta:{y:"p",t:"标签: ESP32",I:!1}}],["/tag/arduino/",{loader:()=>F(()=>import("./index.html--BIzY7gk.js"),__vite__mapDeps([43,1])),meta:{y:"p",t:"标签: Arduino",I:!1}}],["/tag/platformio/",{loader:()=>F(()=>import("./index.html-BRHXQqdq.js"),__vite__mapDeps([44,1])),meta:{y:"p",t:"标签: PlatformIO",I:!1}}],["/tag/esp-idf/",{loader:()=>F(()=>import("./index.html-C_2nkQ6B.js"),__vite__mapDeps([45,1])),meta:{y:"p",t:"标签: ESP-IDF",I:!1}}],["/tag/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/",{loader:()=>F(()=>import("./index.html-R9oSKuoP.js"),__vite__mapDeps([46,1])),meta:{y:"p",t:"标签: 人工智能",I:!1}}],["/tag/novelai/",{loader:()=>F(()=>import("./index.html-DY-KY6vi.js"),__vite__mapDeps([47,1])),meta:{y:"p",t:"标签: novelAI",I:!1}}],["/tag/conda/",{loader:()=>F(()=>import("./index.html-BSndmKE7.js"),__vite__mapDeps([48,1])),meta:{y:"p",t:"标签: conda",I:!1}}],["/tag/%E5%A2%A8%E6%B0%B4%E5%B1%8F/",{loader:()=>F(()=>import("./index.html-BDmR_g70.js"),__vite__mapDeps([49,1])),meta:{y:"p",t:"标签: 墨水屏",I:!1}}],["/tag/uc8179/",{loader:()=>F(()=>import("./index.html-CpeDyHcd.js"),__vite__mapDeps([50,1])),meta:{y:"p",t:"标签: UC8179",I:!1}}],["/tag/depg0750rwu790f30/",{loader:()=>F(()=>import("./index.html-DV9WiiCS.js"),__vite__mapDeps([51,1])),meta:{y:"p",t:"标签: DEPG0750RWU790F30",I:!1}}],["/tag/%E9%81%87%E5%88%B0%E7%9A%84%E5%9D%91/",{loader:()=>F(()=>import("./index.html-DTceWJaH.js"),__vite__mapDeps([52,1])),meta:{y:"p",t:"标签: 遇到的坑",I:!1}}],["/tag/air001/",{loader:()=>F(()=>import("./index.html-2WOtvPq_.js"),__vite__mapDeps([53,1])),meta:{y:"p",t:"标签: Air001",I:!1}}],["/tag/cicd/",{loader:()=>F(()=>import("./index.html-DCVozm3V.js"),__vite__mapDeps([54,1])),meta:{y:"p",t:"标签: CI/CD",I:!1}}],["/tag/%E6%97%A5%E5%BF%97/",{loader:()=>F(()=>import("./index.html-vKhQGG0S.js"),__vite__mapDeps([55,1])),meta:{y:"p",t:"标签: 日志",I:!1}}],["/article/",{loader:()=>F(()=>import("./index.html-BlvUTCvM.js"),__vite__mapDeps([56,1])),meta:{y:"p",t:"文章",I:!1}}],["/star/",{loader:()=>F(()=>import("./index.html-vIW8aJUJ.js"),__vite__mapDeps([57,1])),meta:{y:"p",t:"星标",I:!1}}],["/timeline/",{loader:()=>F(()=>import("./index.html-CTuZCChr.js"),__vite__mapDeps([58,1])),meta:{y:"p",t:"时间轴",I:!1}}]]);/*!
+  * vue-router v4.4.0
+  * (c) 2024 Eduardo San Martin Morote
+  * @license MIT
+  */const gn=typeof document<"u";function s1(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const me=Object.assign;function Mo(e,t){const n={};for(const r in t){const o=t[r];n[r]=dt(o)?o.map(e):e(o)}return n}const Xn=()=>{},dt=Array.isArray,ac=/#/g,a1=/&/g,i1=/\//g,c1=/=/g,u1=/\?/g,ic=/\+/g,f1=/%5B/g,d1=/%5D/g,cc=/%5E/g,p1=/%60/g,uc=/%7B/g,h1=/%7C/g,fc=/%7D/g,m1=/%20/g;function Nl(e){return encodeURI(""+e).replace(h1,"|").replace(f1,"[").replace(d1,"]")}function v1(e){return Nl(e).replace(uc,"{").replace(fc,"}").replace(cc,"^")}function tl(e){return Nl(e).replace(ic,"%2B").replace(m1,"+").replace(ac,"%23").replace(a1,"%26").replace(p1,"`").replace(uc,"{").replace(fc,"}").replace(cc,"^")}function g1(e){return tl(e).replace(c1,"%3D")}function y1(e){return Nl(e).replace(ac,"%23").replace(u1,"%3F")}function b1(e){return e==null?"":y1(e).replace(i1,"%2F")}function or(e){try{return decodeURIComponent(""+e)}catch{}return""+e}const _1=/\/$/,w1=e=>e.replace(_1,"");function Oo(e,t,n="/"){let r,o={},l="",s="";const i=t.indexOf("#");let c=t.indexOf("?");return i<c&&i>=0&&(c=-1),c>-1&&(r=t.slice(0,c),l=t.slice(c+1,i>-1?i:t.length),o=e(l)),i>-1&&(r=r||t.slice(0,i),s=t.slice(i,t.length)),r=T1(r??t,n),{fullPath:r+(l&&"?")+l+s,path:r,query:o,hash:or(s)}}function E1(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function ia(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function S1(e,t,n){const r=t.matched.length-1,o=n.matched.length-1;return r>-1&&r===o&&kn(t.matched[r],n.matched[o])&&dc(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function kn(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function dc(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!C1(e[n],t[n]))return!1;return!0}function C1(e,t){return dt(e)?ca(e,t):dt(t)?ca(t,e):e===t}function ca(e,t){return dt(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function T1(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 l=n.length-1,s,i;for(s=0;s<r.length;s++)if(i=r[s],i!==".")if(i==="..")l>1&&l--;else break;return n.slice(0,l).join("/")+"/"+r.slice(s).join("/")}const wt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};var lr;(function(e){e.pop="pop",e.push="push"})(lr||(lr={}));var Qn;(function(e){e.back="back",e.forward="forward",e.unknown=""})(Qn||(Qn={}));function A1(e){if(!e)if(gn){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),w1(e)}const k1=/^[^#]+#/;function x1(e,t){return e.replace(k1,"#")+t}function L1(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 fo=()=>({left:window.scrollX,top:window.scrollY});function I1(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=L1(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 ua(e,t){return(history.state?history.state.position-t:-1)+e}const nl=new Map;function P1(e,t){nl.set(e,t)}function R1(e){const t=nl.get(e);return nl.delete(e),t}let M1=()=>location.protocol+"//"+location.host;function pc(e,t){const{pathname:n,search:r,hash:o}=t,l=e.indexOf("#");if(l>-1){let i=o.includes(e.slice(l))?e.slice(l).length:1,c=o.slice(i);return c[0]!=="/"&&(c="/"+c),ia(c,"")}return ia(n,e)+r+o}function O1(e,t,n,r){let o=[],l=[],s=null;const i=({state:p})=>{const h=pc(e,location),y=n.value,b=t.value;let E=0;if(p){if(n.value=h,t.value=p,s&&s===y){s=null;return}E=b?p.position-b.position:0}else r(h);o.forEach(w=>{w(n.value,y,{delta:E,type:lr.pop,direction:E?E>0?Qn.forward:Qn.back:Qn.unknown})})};function c(){s=n.value}function u(p){o.push(p);const h=()=>{const y=o.indexOf(p);y>-1&&o.splice(y,1)};return l.push(h),h}function f(){const{history:p}=window;p.state&&p.replaceState(me({},p.state,{scroll:fo()}),"")}function d(){for(const p of l)p();l=[],window.removeEventListener("popstate",i),window.removeEventListener("beforeunload",f)}return window.addEventListener("popstate",i),window.addEventListener("beforeunload",f,{passive:!0}),{pauseListeners:c,listen:u,destroy:d}}function fa(e,t,n,r=!1,o=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:o?fo():null}}function $1(e){const{history:t,location:n}=window,r={value:pc(e,n)},o={value:t.state};o.value||l(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function l(c,u,f){const d=e.indexOf("#"),p=d>-1?(n.host&&document.querySelector("base")?e:e.slice(d))+c:M1()+e+c;try{t[f?"replaceState":"pushState"](u,"",p),o.value=u}catch(h){console.error(h),n[f?"replace":"assign"](p)}}function s(c,u){const f=me({},t.state,fa(o.value.back,c,o.value.forward,!0),u,{position:o.value.position});l(c,f,!0),r.value=c}function i(c,u){const f=me({},o.value,t.state,{forward:c,scroll:fo()});l(f.current,f,!0);const d=me({},fa(r.value,c,null),{position:f.position+1},u);l(c,d,!1),r.value=c}return{location:r,state:o,push:i,replace:s}}function H1(e){e=A1(e);const t=$1(e),n=O1(e,t.state,t.location,t.replace);function r(l,s=!0){s||n.pauseListeners(),history.go(l)}const o=me({location:"",base:e,go:r,createHref:x1.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 D1(e){return typeof e=="string"||e&&typeof e=="object"}function hc(e){return typeof e=="string"||typeof e=="symbol"}const mc=Symbol("");var da;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(da||(da={}));function xn(e,t){return me(new Error,{type:e,[mc]:!0},t)}function bt(e,t){return e instanceof Error&&mc in e&&(t==null||!!(e.type&t))}const pa="[^/]+?",N1={sensitive:!1,strict:!1,start:!0,end:!0},B1=/[.+*?^${}()[\]/\\]/g;function F1(e,t){const n=me({},N1,t),r=[];let o=n.start?"^":"";const l=[];for(const u of e){const f=u.length?[]:[90];n.strict&&!u.length&&(o+="/");for(let d=0;d<u.length;d++){const p=u[d];let h=40+(n.sensitive?.25:0);if(p.type===0)d||(o+="/"),o+=p.value.replace(B1,"\\$&"),h+=40;else if(p.type===1){const{value:y,repeatable:b,optional:E,regexp:w}=p;l.push({name:y,repeatable:b,optional:E});const C=w||pa;if(C!==pa){h+=10;try{new RegExp(`(${C})`)}catch(k){throw new Error(`Invalid custom RegExp for param "${y}" (${C}): `+k.message)}}let g=b?`((?:${C})(?:/(?:${C}))*)`:`(${C})`;d||(g=E&&u.length<2?`(?:/${g})`:"/"+g),E&&(g+="?"),o+=g,h+=20,E&&(h+=-8),b&&(h+=-20),C===".*"&&(h+=-50)}f.push(h)}r.push(f)}if(n.strict&&n.end){const u=r.length-1;r[u][r[u].length-1]+=.7000000000000001}n.strict||(o+="/?"),n.end?o+="$":n.strict&&(o+="(?:/|$)");const s=new RegExp(o,n.sensitive?"":"i");function i(u){const f=u.match(s),d={};if(!f)return null;for(let p=1;p<f.length;p++){const h=f[p]||"",y=l[p-1];d[y.name]=h&&y.repeatable?h.split("/"):h}return d}function c(u){let f="",d=!1;for(const p of e){(!d||!f.endsWith("/"))&&(f+="/"),d=!1;for(const h of p)if(h.type===0)f+=h.value;else if(h.type===1){const{value:y,repeatable:b,optional:E}=h,w=y in u?u[y]:"";if(dt(w)&&!b)throw new Error(`Provided param "${y}" is an array but it is not repeatable (* or + modifiers)`);const C=dt(w)?w.join("/"):w;if(!C)if(E)p.length<2&&(f.endsWith("/")?f=f.slice(0,-1):d=!0);else throw new Error(`Missing required param "${y}"`);f+=C}}return f||"/"}return{re:s,score:r,keys:l,parse:i,stringify:c}}function z1(e,t){let n=0;for(;n<e.length&&n<t.length;){const r=t[n]-e[n];if(r)return r;n++}return e.length<t.length?e.length===1&&e[0]===80?-1:1:e.length>t.length?t.length===1&&t[0]===80?1:-1:0}function vc(e,t){let n=0;const r=e.score,o=t.score;for(;n<r.length&&n<o.length;){const l=z1(r[n],o[n]);if(l)return l;n++}if(Math.abs(o.length-r.length)===1){if(ha(r))return 1;if(ha(o))return-1}return o.length-r.length}function ha(e){const t=e[e.length-1];return e.length>0&&t[t.length-1]<0}const V1={type:0,value:""},j1=/[a-zA-Z0-9_]/;function G1(e){if(!e)return[[]];if(e==="/")return[[V1]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(h){throw new Error(`ERR (${n})/"${u}": ${h}`)}let n=0,r=n;const o=[];let l;function s(){l&&o.push(l),l=[]}let i=0,c,u="",f="";function d(){u&&(n===0?l.push({type:0,value:u}):n===1||n===2||n===3?(l.length>1&&(c==="*"||c==="+")&&t(`A repeatable param (${u}) must be alone in its segment. eg: '/:ids+.`),l.push({type:1,value:u,regexp:f,repeatable:c==="*"||c==="+",optional:c==="*"||c==="?"})):t("Invalid state to consume buffer"),u="")}function p(){u+=c}for(;i<e.length;){if(c=e[i++],c==="\\"&&n!==2){r=n,n=4;continue}switch(n){case 0:c==="/"?(u&&d(),s()):c===":"?(d(),n=1):p();break;case 4:p(),n=r;break;case 1:c==="("?n=2:j1.test(c)?p():(d(),n=0,c!=="*"&&c!=="?"&&c!=="+"&&i--);break;case 2:c===")"?f[f.length-1]=="\\"?f=f.slice(0,-1)+c:n=3:f+=c;break;case 3:d(),n=0,c!=="*"&&c!=="?"&&c!=="+"&&i--,f="";break;default:t("Unknown state");break}}return n===2&&t(`Unfinished custom RegExp for param "${u}"`),d(),s(),o}function U1(e,t,n){const r=F1(G1(e.path),n),o=me(r,{record:e,parent:t,children:[],alias:[]});return t&&!o.record.aliasOf==!t.record.aliasOf&&t.children.push(o),o}function q1(e,t){const n=[],r=new Map;t=ga({strict:!1,end:!0,sensitive:!1},t);function o(d){return r.get(d)}function l(d,p,h){const y=!h,b=W1(d);b.aliasOf=h&&h.record;const E=ga(t,d),w=[b];if("alias"in d){const k=typeof d.alias=="string"?[d.alias]:d.alias;for(const D of k)w.push(me({},b,{components:h?h.record.components:b.components,path:D,aliasOf:h?h.record:b}))}let C,g;for(const k of w){const{path:D}=k;if(p&&D[0]!=="/"){const T=p.record.path,G=T[T.length-1]==="/"?"":"/";k.path=p.record.path+(D&&G+D)}if(C=U1(k,p,E),h?h.alias.push(C):(g=g||C,g!==C&&g.alias.push(C),y&&d.name&&!va(C)&&s(d.name)),gc(C)&&c(C),b.children){const T=b.children;for(let G=0;G<T.length;G++)l(T[G],C,h&&h.children[G])}h=h||C}return g?()=>{s(g)}:Xn}function s(d){if(hc(d)){const p=r.get(d);p&&(r.delete(d),n.splice(n.indexOf(p),1),p.children.forEach(s),p.alias.forEach(s))}else{const p=n.indexOf(d);p>-1&&(n.splice(p,1),d.record.name&&r.delete(d.record.name),d.children.forEach(s),d.alias.forEach(s))}}function i(){return n}function c(d){const p=J1(d,n);n.splice(p,0,d),d.record.name&&!va(d)&&r.set(d.record.name,d)}function u(d,p){let h,y={},b,E;if("name"in d&&d.name){if(h=r.get(d.name),!h)throw xn(1,{location:d});E=h.record.name,y=me(ma(p.params,h.keys.filter(g=>!g.optional).concat(h.parent?h.parent.keys.filter(g=>g.optional):[]).map(g=>g.name)),d.params&&ma(d.params,h.keys.map(g=>g.name))),b=h.stringify(y)}else if(d.path!=null)b=d.path,h=n.find(g=>g.re.test(b)),h&&(y=h.parse(b),E=h.record.name);else{if(h=p.name?r.get(p.name):n.find(g=>g.re.test(p.path)),!h)throw xn(1,{location:d,currentLocation:p});E=h.record.name,y=me({},p.params,d.params),b=h.stringify(y)}const w=[];let C=h;for(;C;)w.unshift(C.record),C=C.parent;return{name:E,path:b,params:y,matched:w,meta:Y1(w)}}e.forEach(d=>l(d));function f(){n.length=0,r.clear()}return{addRoute:l,resolve:u,removeRoute:s,clearRoutes:f,getRoutes:i,getRecordMatcher:o}}function ma(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function W1(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:K1(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 K1(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 va(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Y1(e){return e.reduce((t,n)=>me(t,n.meta),{})}function ga(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function J1(e,t){let n=0,r=t.length;for(;n!==r;){const l=n+r>>1;vc(e,t[l])<0?r=l:n=l+1}const o=X1(e);return o&&(r=t.lastIndexOf(o,r-1)),r}function X1(e){let t=e;for(;t=t.parent;)if(gc(t)&&vc(e,t)===0)return t}function gc({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function Q1(e){const t={};if(e===""||e==="?")return t;const r=(e[0]==="?"?e.slice(1):e).split("&");for(let o=0;o<r.length;++o){const l=r[o].replace(ic," "),s=l.indexOf("="),i=or(s<0?l:l.slice(0,s)),c=s<0?null:or(l.slice(s+1));if(i in t){let u=t[i];dt(u)||(u=t[i]=[u]),u.push(c)}else t[i]=c}return t}function ya(e){let t="";for(let n in e){const r=e[n];if(n=g1(n),r==null){r!==void 0&&(t+=(t.length?"&":"")+n);continue}(dt(r)?r.map(l=>l&&tl(l)):[r&&tl(r)]).forEach(l=>{l!==void 0&&(t+=(t.length?"&":"")+n,l!=null&&(t+="="+l))})}return t}function Z1(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=dt(r)?r.map(o=>o==null?null:""+o):r==null?r:""+r)}return t}const e0=Symbol(""),ba=Symbol(""),po=Symbol(""),Bl=Symbol(""),rl=Symbol("");function Fn(){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 $t(e,t,n,r,o,l=s=>s()){const s=r&&(r.enterCallbacks[o]=r.enterCallbacks[o]||[]);return()=>new Promise((i,c)=>{const u=p=>{p===!1?c(xn(4,{from:n,to:t})):p instanceof Error?c(p):D1(p)?c(xn(2,{from:t,to:p})):(s&&r.enterCallbacks[o]===s&&typeof p=="function"&&s.push(p),i())},f=l(()=>e.call(r&&r.instances[o],t,n,u));let d=Promise.resolve(f);e.length<3&&(d=d.then(u)),d.catch(p=>c(p))})}function $o(e,t,n,r,o=l=>l()){const l=[];for(const s of e)for(const i in s.components){let c=s.components[i];if(!(t!=="beforeRouteEnter"&&!s.instances[i]))if(t0(c)){const f=(c.__vccOpts||c)[t];f&&l.push($t(f,n,r,s,i,o))}else{let u=c();l.push(()=>u.then(f=>{if(!f)return Promise.reject(new Error(`Couldn't resolve component "${i}" at "${s.path}"`));const d=s1(f)?f.default:f;s.components[i]=d;const h=(d.__vccOpts||d)[t];return h&&$t(h,n,r,s,i,o)()}))}}return l}function t0(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function _a(e){const t=Ce(po),n=Ce(Bl),r=_(()=>{const c=ut(e.to);return t.resolve(c)}),o=_(()=>{const{matched:c}=r.value,{length:u}=c,f=c[u-1],d=n.matched;if(!f||!d.length)return-1;const p=d.findIndex(kn.bind(null,f));if(p>-1)return p;const h=wa(c[u-2]);return u>1&&wa(f)===h&&d[d.length-1].path!==h?d.findIndex(kn.bind(null,c[u-2])):p}),l=_(()=>o.value>-1&&l0(n.params,r.value.params)),s=_(()=>o.value>-1&&o.value===n.matched.length-1&&dc(n.params,r.value.params));function i(c={}){return o0(c)?t[ut(e.replace)?"replace":"push"](ut(e.to)).catch(Xn):Promise.resolve()}return{route:r,href:_(()=>r.value.href),isActive:l,isExactActive:s,navigate:i}}const n0=O({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:_a,setup(e,{slots:t}){const n=dr(_a(e)),{options:r}=Ce(po),o=_(()=>({[Ea(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[Ea(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const l=t.default&&t.default(n);return e.custom?l:a("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:o.value},l)}}}),r0=n0;function o0(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 l0(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(!dt(o)||o.length!==r.length||r.some((l,s)=>l!==o[s]))return!1}return!0}function wa(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Ea=(e,t,n)=>e??t??n,s0=O({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=Ce(rl),o=_(()=>e.route||r.value),l=Ce(ba,0),s=_(()=>{let u=ut(l);const{matched:f}=o.value;let d;for(;(d=f[u])&&!d.components;)u++;return u}),i=_(()=>o.value.matched[s.value]);ft(ba,_(()=>s.value+1)),ft(e0,i),ft(rl,o);const c=Z();return fe(()=>[c.value,i.value,e.name],([u,f,d],[p,h,y])=>{f&&(f.instances[d]=u,h&&h!==f&&u&&u===p&&(f.leaveGuards.size||(f.leaveGuards=h.leaveGuards),f.updateGuards.size||(f.updateGuards=h.updateGuards))),u&&f&&(!h||!kn(f,h)||!p)&&(f.enterCallbacks[d]||[]).forEach(b=>b(u))},{flush:"post"}),()=>{const u=o.value,f=e.name,d=i.value,p=d&&d.components[f];if(!p)return Sa(n.default,{Component:p,route:u});const h=d.props[f],y=h?h===!0?u.params:typeof h=="function"?h(u):h:null,E=a(p,me({},y,t,{onVnodeUnmounted:w=>{w.component.isUnmounted&&(d.instances[f]=null)},ref:c}));return Sa(n.default,{Component:E,route:u})||E}}});function Sa(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const a0=s0;function i0(e){const t=q1(e.routes,e),n=e.parseQuery||Q1,r=e.stringifyQuery||ya,o=e.history,l=Fn(),s=Fn(),i=Fn(),c=Be(wt);let u=wt;gn&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const f=Mo.bind(null,x=>""+x),d=Mo.bind(null,b1),p=Mo.bind(null,or);function h(x,V){let B,W;return hc(x)?(B=t.getRecordMatcher(x),W=V):W=x,t.addRoute(W,B)}function y(x){const V=t.getRecordMatcher(x);V&&t.removeRoute(V)}function b(){return t.getRoutes().map(x=>x.record)}function E(x){return!!t.getRecordMatcher(x)}function w(x,V){if(V=me({},V||c.value),typeof x=="string"){const v=Oo(n,x,V.path),S=t.resolve({path:v.path},V),L=o.createHref(v.fullPath);return me(v,S,{params:p(S.params),hash:or(v.hash),redirectedFrom:void 0,href:L})}let B;if(x.path!=null)B=me({},x,{path:Oo(n,x.path,V.path).path});else{const v=me({},x.params);for(const S in v)v[S]==null&&delete v[S];B=me({},x,{params:d(v)}),V.params=d(V.params)}const W=t.resolve(B,V),pe=x.hash||"";W.params=f(p(W.params));const Te=E1(r,me({},x,{hash:v1(pe),path:W.path})),m=o.createHref(Te);return me({fullPath:Te,hash:pe,query:r===ya?Z1(x.query):x.query||{}},W,{redirectedFrom:void 0,href:m})}function C(x){return typeof x=="string"?Oo(n,x,c.value.path):me({},x)}function g(x,V){if(u!==x)return xn(8,{from:V,to:x})}function k(x){return G(x)}function D(x){return k(me(C(x),{replace:!0}))}function T(x){const V=x.matched[x.matched.length-1];if(V&&V.redirect){const{redirect:B}=V;let W=typeof B=="function"?B(x):B;return typeof W=="string"&&(W=W.includes("?")||W.includes("#")?W=C(W):{path:W},W.params={}),me({query:x.query,hash:x.hash,params:W.path!=null?{}:x.params},W)}}function G(x,V){const B=u=w(x),W=c.value,pe=x.state,Te=x.force,m=x.replace===!0,v=T(B);if(v)return G(me(C(v),{state:typeof v=="object"?me({},pe,v.state):pe,force:Te,replace:m}),V||B);const S=B;S.redirectedFrom=V;let L;return!Te&&S1(r,W,B)&&(L=xn(16,{to:S,from:W}),pt(W,W,!0,!1)),(L?Promise.resolve(L):I(S,W)).catch(A=>bt(A)?bt(A,2)?A:xt(A):q(A,S,W)).then(A=>{if(A){if(bt(A,2))return G(me({replace:m},C(A.to),{state:typeof A.to=="object"?me({},pe,A.to.state):pe,force:Te}),V||S)}else A=M(S,W,!0,m,pe);return U(S,W,A),A})}function X(x,V){const B=g(x,V);return B?Promise.reject(B):Promise.resolve()}function z(x){const V=hn.values().next().value;return V&&typeof V.runWithContext=="function"?V.runWithContext(x):x()}function I(x,V){let B;const[W,pe,Te]=c0(x,V);B=$o(W.reverse(),"beforeRouteLeave",x,V);for(const v of W)v.leaveGuards.forEach(S=>{B.push($t(S,x,V))});const m=X.bind(null,x,V);return B.push(m),Qe(B).then(()=>{B=[];for(const v of l.list())B.push($t(v,x,V));return B.push(m),Qe(B)}).then(()=>{B=$o(pe,"beforeRouteUpdate",x,V);for(const v of pe)v.updateGuards.forEach(S=>{B.push($t(S,x,V))});return B.push(m),Qe(B)}).then(()=>{B=[];for(const v of Te)if(v.beforeEnter)if(dt(v.beforeEnter))for(const S of v.beforeEnter)B.push($t(S,x,V));else B.push($t(v.beforeEnter,x,V));return B.push(m),Qe(B)}).then(()=>(x.matched.forEach(v=>v.enterCallbacks={}),B=$o(Te,"beforeRouteEnter",x,V,z),B.push(m),Qe(B))).then(()=>{B=[];for(const v of s.list())B.push($t(v,x,V));return B.push(m),Qe(B)}).catch(v=>bt(v,8)?v:Promise.reject(v))}function U(x,V,B){i.list().forEach(W=>z(()=>W(x,V,B)))}function M(x,V,B,W,pe){const Te=g(x,V);if(Te)return Te;const m=V===wt,v=gn?history.state:{};B&&(W||m?o.replace(x.fullPath,me({scroll:m&&v&&v.scroll},pe)):o.push(x.fullPath,pe)),c.value=x,pt(x,V,B,m),xt()}let Q;function we(){Q||(Q=o.listen((x,V,B)=>{if(!Ir.listening)return;const W=w(x),pe=T(W);if(pe){G(me(pe,{replace:!0}),W).catch(Xn);return}u=W;const Te=c.value;gn&&P1(ua(Te.fullPath,B.delta),fo()),I(W,Te).catch(m=>bt(m,12)?m:bt(m,2)?(G(m.to,W).then(v=>{bt(v,20)&&!B.delta&&B.type===lr.pop&&o.go(-1,!1)}).catch(Xn),Promise.reject()):(B.delta&&o.go(-B.delta,!1),q(m,W,Te))).then(m=>{m=m||M(W,Te,!1),m&&(B.delta&&!bt(m,8)?o.go(-B.delta,!1):B.type===lr.pop&&bt(m,20)&&o.go(-1,!1)),U(W,Te,m)}).catch(Xn)}))}let Ee=Fn(),Y=Fn(),re;function q(x,V,B){xt(x);const W=Y.list();return W.length?W.forEach(pe=>pe(x,V,B)):console.error(x),Promise.reject(x)}function it(){return re&&c.value!==wt?Promise.resolve():new Promise((x,V)=>{Ee.add([x,V])})}function xt(x){return re||(re=!x,we(),Ee.list().forEach(([V,B])=>x?B(x):V()),Ee.reset()),x}function pt(x,V,B,W){const{scrollBehavior:pe}=e;if(!gn||!pe)return Promise.resolve();const Te=!B&&R1(ua(x.fullPath,0))||(W||!B)&&history.state&&history.state.scroll||null;return un().then(()=>pe(x,V,Te)).then(m=>m&&I1(m)).catch(m=>q(m,x,V))}const Ve=x=>o.go(x);let pn;const hn=new Set,Ir={currentRoute:c,listening:!0,addRoute:h,removeRoute:y,clearRoutes:t.clearRoutes,hasRoute:E,getRoutes:b,resolve:w,options:e,push:k,replace:D,go:Ve,back:()=>Ve(-1),forward:()=>Ve(1),beforeEach:l.add,beforeResolve:s.add,afterEach:i.add,onError:Y.add,isReady:it,install(x){const V=this;x.component("RouterLink",r0),x.component("RouterView",a0),x.config.globalProperties.$router=V,Object.defineProperty(x.config.globalProperties,"$route",{enumerable:!0,get:()=>ut(c)}),gn&&!pn&&c.value===wt&&(pn=!0,k(o.location).catch(pe=>{}));const B={};for(const pe in wt)Object.defineProperty(B,pe,{get:()=>c.value[pe],enumerable:!0});x.provide(po,V),x.provide(Bl,di(B)),x.provide(rl,c);const W=x.unmount;hn.add(x),x.unmount=function(){hn.delete(x),hn.size<1&&(u=wt,Q&&Q(),Q=null,c.value=wt,pn=!1,re=!1),W()}}};function Qe(x){return x.reduce((V,B)=>V.then(()=>z(B)),Promise.resolve())}return Ir}function c0(e,t){const n=[],r=[],o=[],l=Math.max(t.matched.length,e.matched.length);for(let s=0;s<l;s++){const i=t.matched[s];i&&(e.matched.find(u=>kn(u,i))?r.push(i):n.push(i));const c=e.matched[s];c&&(t.matched.find(u=>kn(u,c))||o.push(c))}return[n,r,o]}function At(){return Ce(po)}function Gt(e){return Ce(Bl)}var Fl=Symbol(""),yt=()=>{const e=Ce(Fl);if(!e)throw new Error("useClientData() is called without provider.");return e},u0=()=>yt().pageComponent,de=()=>yt().pageData,ge=()=>yt().pageFrontmatter,f0=()=>yt().pageHead,ho=()=>yt().pageLang,d0=()=>yt().pageLayout,kt=()=>yt().routeLocale,p0=()=>yt().routes,yc=()=>yt().siteData,yr=()=>yt().siteLocaleData,h0=Symbol(""),bc=Be(o1),sr=Be(l1),_c=e=>{const t=Zp(e);if(sr.value[t])return t;const n=encodeURI(t);return sr.value[n]?n:bc.value[t]||t},$n=e=>{const t=_c(e),n=sr.value[t]??{...sr.value["/404.html"],notFound:!0};return{path:t,notFound:!1,...n}},mo=O({name:"ClientOnly",setup(e,t){const n=Z(!1);return ve(()=>{n.value=!0}),()=>{var r,o;return n.value?(o=(r=t.slots).default)==null?void 0:o.call(r):null}}}),wc=O({name:"Content",props:{path:{type:String,required:!1,default:""}},setup(e){const t=u0(),n=_(()=>{if(!e.path)return t.value;const r=$n(e.path);return id(()=>r.loader().then(({comp:o})=>o))});return()=>a(n.value)}}),be=e=>gt(e)?e:`/${sc(e)}`,m0=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}},ke=({active:e=!1,activeClass:t="route-link-active",to:n,...r},{slots:o})=>{var i;const l=At(),s=be(_c(n));return a("a",{...r,class:["route-link",{[t]:e}],href:s,onClick:(c={})=>{m0(c)?l.push(n).catch():Promise.resolve()}},(i=o.default)==null?void 0:i.call(o))};ke.displayName="RouteLink";ke.props={active:Boolean,activeClass:String,to:String};var v0="Layout",g0="en-US",Jt=dr({resolveLayouts:e=>e.reduce((t,n)=>({...t,...n.layouts}),{}),resolvePageHead:(e,t,n)=>{const r=_e(t.description)?t.description:n.description,o=[...Array.isArray(t.head)?t.head:[],...n.head,["title",{},e],["meta",{name:"description",content:r}]];return Jp(o)},resolvePageHeadTitle:(e,t)=>[e.title,t.title].filter(n=>!!n).join(" | "),resolvePageLang:(e,t)=>e.lang||t.lang||g0,resolvePageLayout:(e,t)=>{const n=_e(e.frontmatter.layout)?e.frontmatter.layout:v0;if(!t[n])throw new Error(`[vuepress] Cannot resolve layout: ${n}`);return t[n]},resolveRouteLocale:(e,t)=>e1(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 y0={};var at=(e={})=>e;const fn=e=>{const t=kt();return _(()=>e[t.value]??{})},Le=(e,t)=>{var r;const n=(r=(t==null?void 0:t._instance)||mr())==null?void 0:r.appContext.components;return n?e in n||ze(e)in n||fr(ze(e))in n:!1},Ec=e=>new Promise(t=>setTimeout(t,e)),Sc=e=>typeof e<"u",Ho=e=>typeof e=="number",ro=Array.isArray,Ln=(e,t)=>_e(e)&&e.startsWith(t),Cc=(e,t)=>_e(e)&&e.endsWith(t),Ut=Object.entries,b0=Object.fromEntries,st=Object.keys,zl=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},br=e=>Ln(e,"/");var _0=O({name:"FontIcon",props:{icon:{type:String,default:""},color:{type:String,default:""},size:{type:[String,Number],default:""}},setup(e){const t=_(()=>{const r=["font-icon icon"],o=`${e.icon}`;return r.push(o),r}),n=_(()=>{const r={};return e.color&&(r.color=e.color),e.size&&(r["font-size"]=Number.isNaN(Number(e.size))?e.size:`${e.size}px`),st(r).length?r:null});return()=>e.icon?a("span",{key:e.icon,class:t.value,style:n.value}):null}});const ue=({name:e="",color:t="currentColor"},{slots:n})=>{var r;return a("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))};ue.displayName="IconBase";const _r=({size:e=48,stroke:t=4,wrapper:n=!0,height:r=2*e})=>{const o=a("svg",{xmlns:"http://www.w3.org/2000/svg",width:e,height:e,preserveAspectRatio:"xMidYMid",viewBox:"25 25 50 50"},[a("animateTransform",{attributeName:"transform",type:"rotate",dur:"2s",keyTimes:"0;1",repeatCount:"indefinite",values:"0;360"}),a("circle",{cx:"50",cy:"50",r:"20",fill:"none",stroke:"currentColor","stroke-width":t,"stroke-linecap":"round"},[a("animate",{attributeName:"stroke-dasharray",dur:"1.5s",keyTimes:"0;0.5;1",repeatCount:"indefinite",values:"1,200;90,200;1,200"}),a("animate",{attributeName:"stroke-dashoffset",dur:"1.5s",keyTimes:"0;0.5;1",repeatCount:"indefinite",values:"0;-35px;-125px"})])]);return n?a("div",{class:"loading-icon-wrapper",style:`display:flex;align-items:center;justify-content:center;height:${r}px`},o):o};_r.displayName="LoadingIcon";const Tc=(e,{slots:t})=>{var n;return(n=t.default)==null?void 0:n.call(t)},Vl=()=>a(ue,{name:"github"},()=>a("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"}));Vl.displayName="GitHubIcon";const jl=()=>a(ue,{name:"gitlab"},()=>a("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"}));jl.displayName="GitLabIcon";const Gl=()=>a(ue,{name:"gitee"},()=>a("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"}));Gl.displayName="GiteeIcon";const Ul=()=>a(ue,{name:"bitbucket"},()=>a("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"}));Ul.displayName="BitbucketIcon";const ql=()=>a(ue,{name:"source"},()=>a("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"}));ql.displayName="SourceIcon";const w0=e=>/\b(?:Android|iPhone)/i.test(e),E0=e=>/version\/([\w.]+) .*(mobile ?safari|safari)/i.test(e),S0=e=>[/\((ipad);[-\w),; ]+apple/i,/applecoremedia\/[\w.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i].some(t=>t.test(e)),vo=(e,t)=>{let n=1;for(let r=0;r<e.length;r++)n+=e.charCodeAt(r),n+=n<<10,n^=n>>6;return n+=n<<3,n^=n>>11,n%t};let C0=class{constructor(){this.messageElements={};const t="message-container",n=document.getElementById(t);n?this.containerElement=n:(this.containerElement=document.createElement("div"),this.containerElement.id=t,document.body.appendChild(this.containerElement))}pop(t,n=2e3){const r=document.createElement("div"),o=Date.now();return r.className="message move-in",r.innerHTML=t,this.containerElement.appendChild(r),this.messageElements[o]=r,n>0&&setTimeout(()=>{this.close(o)},n),o}close(t){if(t){const n=this.messageElements[t];n.classList.remove("move-in"),n.classList.add("move-out"),n.addEventListener("animationend",()=>{n.remove(),delete this.messageElements[t]})}else st(this.messageElements).forEach(n=>this.close(Number(n)))}destroy(){document.body.removeChild(this.containerElement)}};const Ac=/#.*$/u,T0=e=>{const t=Ac.exec(e);return t?t[0]:""},Ca=e=>decodeURI(e).replace(Ac,"").replace(/\/index\.html$/iu,"/").replace(/\.html$/iu,"").replace(/(README|index)?\.md$/iu,""),kc=(e,t)=>{if(!Sc(t))return!1;const n=Ca(e.path),r=Ca(t),o=T0(t);return o?o===e.hash&&(!r||n===r):n===r};let A0=class{constructor(){this.popupElements={};const t="popup-container",n=document.getElementById(t);n?this.containerElement=n:(this.containerElement=document.createElement("div"),this.containerElement.id=t,document.body.appendChild(this.containerElement))}emit(t,n){const r=document.createElement("div"),o=document.createElement("div"),l=Date.now();return this.containerElement.appendChild(r),this.popupElements[l]=r,r.className="popup-wrapper appear",r.appendChild(o),r.addEventListener("click",()=>this.close(l)),o.className="popup-container",o.innerHTML=t,typeof n=="number"&&setTimeout(()=>{this.close(l)},n),l}close(t){if(t){const n=this.popupElements[t];n.classList.replace("appear","disappear"),n.children[0].addEventListener("animationend",()=>{n.remove(),delete this.popupElements[t]})}else st(this.popupElements).forEach(n=>this.close(Number(n)))}destroy(){document.body.removeChild(this.containerElement)}};const k0=e=>gt(e)?e:`https://github.com/${e}`,Wl=e=>!gt(e)||/github\.com/.test(e)?"GitHub":/bitbucket\.org/.test(e)?"Bitbucket":/gitlab\.com/.test(e)?"GitLab":/gitee\.com/.test(e)?"Gitee":null,x0=()=>{const{availWidth:e,availHeight:t}=screen,{screenLeft:n,screenTop:r,innerWidth:o,innerHeight:l}=window,s=Math.max(e/2,600),i=Math.max(t/2,400);return{width:s,height:i,left:n+o/2-s/2,top:r+l/2-i/2}},L0=(e,t="_blank",n=["resizable","status"])=>{var i,c;const{width:r,height:o,left:l,top:s}=x0();(c=(i=window.open(e,t,`width=${r},height=${o},left=${l},top=${s},${n.join(",")}`))==null?void 0:i.focus)==null||c.call(i)};var I0=e=>Object.prototype.toString.call(e)==="[object Object]",ar=e=>typeof e=="string";const xc=Array.isArray,Ta=e=>I0(e)&&ar(e.name),ir=(e,t=!1)=>e?xc(e)?e.map(n=>ar(n)?{name:n}:Ta(n)?n:null).filter(n=>n!==null):ar(e)?[{name:e}]:Ta(e)?[e]:(console.error(`Expect "author" to be \`AuthorInfo[] | AuthorInfo | string[] | string ${t?"":"| false"} | undefined\`, but got`,e),[]):[],Lc=(e,t)=>{if(e){if(xc(e)&&e.every(ar))return e;if(ar(e))return[e];console.error(`Expect ${t||"value"} to be \`string[] | string | undefined\`, but got`,e)}return[]},Ic=e=>Lc(e,"category"),Pc=e=>Lc(e,"tag"),oo=e=>gt(e)?e:be(e);function Rc(e,t){let n,r,o;const l=Z(!0),s=()=>{l.value=!0,o()};fe(e,s,{flush:"sync"});const i=typeof t=="function"?t:t.get,c=typeof t=="function"?void 0:t.set,u=xl((f,d)=>(r=f,o=d,{get(){return l.value&&(n=i(),l.value=!1),r(),n},set(p){c==null||c(p)}}));return Object.isExtensible(u)&&(u.trigger=s),u}function Hn(e){return ei()?(Tf(e),!0):!1}function Ge(e){return typeof e=="function"?e():ut(e)}const wr=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const P0=Object.prototype.toString,R0=e=>P0.call(e)==="[object Object]",In=()=>{},Aa=M0();function M0(){var e,t;return wr&&((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 Kl(e,t){function n(...r){return new Promise((o,l)=>{Promise.resolve(e(()=>t.apply(this,r),{fn:t,thisArg:this,args:r})).then(o).catch(l)})}return n}const Mc=e=>e();function O0(e,t={}){let n,r,o=In;const l=i=>{clearTimeout(i),o(),o=In};return i=>{const c=Ge(e),u=Ge(t.maxWait);return n&&l(n),c<=0||u!==void 0&&u<=0?(r&&(l(r),r=null),Promise.resolve(i())):new Promise((f,d)=>{o=t.rejectOnCancel?d:f,u&&!r&&(r=setTimeout(()=>{n&&l(n),r=null,f(i())},u)),n=setTimeout(()=>{r&&l(r),r=null,f(i())},c)})}}function $0(...e){let t=0,n,r=!0,o=In,l,s,i,c,u;!Re(e[0])&&typeof e[0]=="object"?{delay:s,trailing:i=!0,leading:c=!0,rejectOnCancel:u=!1}=e[0]:[s,i=!0,c=!0,u=!1]=e;const f=()=>{n&&(clearTimeout(n),n=void 0,o(),o=In)};return p=>{const h=Ge(s),y=Date.now()-t,b=()=>l=p();return f(),h<=0?(t=Date.now(),b()):(y>h&&(c||!r)?(t=Date.now(),b()):i&&(l=new Promise((E,w)=>{o=u?w:E,n=setTimeout(()=>{t=Date.now(),r=!0,E(b()),f()},Math.max(0,h-y))})),!c&&!n&&(n=setTimeout(()=>r=!0,h)),r=!1,l)}}function H0(e=Mc){const t=Z(!0);function n(){t.value=!1}function r(){t.value=!0}const o=(...l)=>{t.value&&e(...l)};return{isActive:cn(t),pause:n,resume:r,eventFilter:o}}function D0(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 N0(e){return mr()}function B0(...e){if(e.length!==1)return Rn(...e);const t=e[0];return typeof t=="function"?cn(xl(()=>({get:t,set:In}))):Z(t)}function F0(e,t=200,n={}){return Kl(O0(t,n),e)}function z0(e,t=200,n=!1,r=!0,o=!1){return Kl($0(t,n,r,o),e)}function V0(e,t,n={}){const{eventFilter:r=Mc,...o}=n;return fe(e,Kl(r,t),o)}function j0(e,t,n={}){const{eventFilter:r,...o}=n,{eventFilter:l,pause:s,resume:i,isActive:c}=H0(r);return{stop:V0(e,t,{...o,eventFilter:l}),pause:s,resume:i,isActive:c}}function Yl(e,t=!0,n){N0()?ve(e,n):t?e():un(e)}function G0(e,t,n={}){const{immediate:r=!0}=n,o=Z(!1);let l=null;function s(){l&&(clearTimeout(l),l=null)}function i(){o.value=!1,s()}function c(...u){s(),o.value=!0,l=setTimeout(()=>{o.value=!1,l=null,e(...u)},Ge(t))}return r&&(o.value=!0,wr&&c()),Hn(i),{isPending:cn(o),start:c,stop:i}}function ol(e=!1,t={}){const{truthyValue:n=!0,falsyValue:r=!1}=t,o=Re(e),l=Z(e);function s(i){if(arguments.length)return l.value=i,l.value;{const c=Ge(n);return l.value=l.value===c?Ge(r):c,l.value}}return o?s:[l,s]}function St(e){var t;const n=Ge(e);return(t=n==null?void 0:n.$el)!=null?t:n}const zt=wr?window:void 0,U0=wr?window.document:void 0,Oc=wr?window.navigator:void 0;function Me(...e){let t,n,r,o;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,r,o]=e,t=zt):[t,n,r,o]=e,!t)return In;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const l=[],s=()=>{l.forEach(f=>f()),l.length=0},i=(f,d,p,h)=>(f.addEventListener(d,p,h),()=>f.removeEventListener(d,p,h)),c=fe(()=>[St(t),Ge(o)],([f,d])=>{if(s(),!f)return;const p=R0(d)?{...d}:d;l.push(...n.flatMap(h=>r.map(y=>i(f,h,y,p))))},{immediate:!0,flush:"post"}),u=()=>{c(),s()};return Hn(u),u}function q0(){const e=Z(!1),t=mr();return t&&ve(()=>{e.value=!0},t),e}function Er(e){const t=q0();return _(()=>(t.value,!!e()))}function $c(e,t={}){const{window:n=zt}=t,r=Er(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let o;const l=Z(!1),s=u=>{l.value=u.matches},i=()=>{o&&("removeEventListener"in o?o.removeEventListener("change",s):o.removeListener(s))},c=ji(()=>{r.value&&(i(),o=n.matchMedia(Ge(e)),"addEventListener"in o?o.addEventListener("change",s):o.addListener(s),l.value=o.matches)});return Hn(()=>{c(),i(),o=void 0}),l}function ka(e,t={}){const{controls:n=!1,navigator:r=Oc}=t,o=Er(()=>r&&"permissions"in r);let l;const s=typeof e=="string"?{name:e}:e,i=Z(),c=()=>{l&&(i.value=l.state)},u=D0(async()=>{if(o.value){if(!l)try{l=await r.permissions.query(s),Me(l,"change",c),c()}catch{i.value="prompt"}return l}});return u(),n?{state:i,isSupported:o,query:u}:i}function W0(e={}){const{navigator:t=Oc,read:n=!1,source:r,copiedDuring:o=1500,legacy:l=!1}=e,s=Er(()=>t&&"clipboard"in t),i=ka("clipboard-read"),c=ka("clipboard-write"),u=_(()=>s.value||l),f=Z(""),d=Z(!1),p=G0(()=>d.value=!1,o);function h(){s.value&&w(i.value)?t.clipboard.readText().then(C=>{f.value=C}):f.value=E()}u.value&&n&&Me(["copy","cut"],h);async function y(C=Ge(r)){u.value&&C!=null&&(s.value&&w(c.value)?await t.clipboard.writeText(C):b(C),f.value=C,d.value=!0,p.start())}function b(C){const g=document.createElement("textarea");g.value=C??"",g.style.position="absolute",g.style.opacity="0",document.body.appendChild(g),g.select(),document.execCommand("copy"),g.remove()}function E(){var C,g,k;return(k=(g=(C=document==null?void 0:document.getSelection)==null?void 0:C.call(document))==null?void 0:g.toString())!=null?k:""}function w(C){return C==="granted"||C==="prompt"}return{isSupported:u,text:f,copied:d,copy:y}}const Fr=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},zr="__vueuse_ssr_handlers__",K0=Y0();function Y0(){return zr in Fr||(Fr[zr]=Fr[zr]||{}),Fr[zr]}function J0(e,t){return K0[e]||t}function X0(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 Q0={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()}},xa="vueuse-storage";function Z0(e,t,n,r={}){var o;const{flush:l="pre",deep:s=!0,listenToStorageChanges:i=!0,writeDefaults:c=!0,mergeDefaults:u=!1,shallow:f,window:d=zt,eventFilter:p,onError:h=I=>{console.error(I)},initOnMounted:y}=r,b=(f?Be:Z)(t);if(!n)try{n=J0("getDefaultStorage",()=>{var I;return(I=zt)==null?void 0:I.localStorage})()}catch(I){h(I)}if(!n)return b;const E=Ge(t),w=X0(E),C=(o=r.serializer)!=null?o:Q0[w],{pause:g,resume:k}=j0(b,()=>T(b.value),{flush:l,deep:s,eventFilter:p});d&&i&&Yl(()=>{Me(d,"storage",X),Me(d,xa,z),y&&X()}),y||X();function D(I,U){d&&d.dispatchEvent(new CustomEvent(xa,{detail:{key:e,oldValue:I,newValue:U,storageArea:n}}))}function T(I){try{const U=n.getItem(e);if(I==null)D(U,null),n.removeItem(e);else{const M=C.write(I);U!==M&&(n.setItem(e,M),D(U,M))}}catch(U){h(U)}}function G(I){const U=I?I.newValue:n.getItem(e);if(U==null)return c&&E!=null&&n.setItem(e,C.write(E)),E;if(!I&&u){const M=C.read(U);return typeof u=="function"?u(M,E):w==="object"&&!Array.isArray(M)?{...E,...M}:M}else return typeof U!="string"?U:C.read(U)}function X(I){if(!(I&&I.storageArea!==n)){if(I&&I.key==null){b.value=E;return}if(!(I&&I.key!==e)){g();try{(I==null?void 0:I.newValue)!==C.write(b.value)&&(b.value=G(I))}catch(U){h(U)}finally{I?un(k):k()}}}}function z(I){X(I.detail)}return b}function eh(e){return $c("(prefers-color-scheme: dark)",e)}function th(e,t,n={}){const{window:r=zt,...o}=n;let l;const s=Er(()=>r&&"ResizeObserver"in r),i=()=>{l&&(l.disconnect(),l=void 0)},c=_(()=>Array.isArray(e)?e.map(d=>St(d)):[St(e)]),u=fe(c,d=>{if(i(),s.value&&r){l=new ResizeObserver(t);for(const p of d)p&&l.observe(p,o)}},{immediate:!0,flush:"post"}),f=()=>{i(),u()};return Hn(f),{isSupported:s,stop:f}}function nh(e,t={width:0,height:0},n={}){const{window:r=zt,box:o="content-box"}=n,l=_(()=>{var d,p;return(p=(d=St(e))==null?void 0:d.namespaceURI)==null?void 0:p.includes("svg")}),s=Z(t.width),i=Z(t.height),{stop:c}=th(e,([d])=>{const p=o==="border-box"?d.borderBoxSize:o==="content-box"?d.contentBoxSize:d.devicePixelContentBoxSize;if(r&&l.value){const h=St(e);if(h){const y=h.getBoundingClientRect();s.value=y.width,i.value=y.height}}else if(p){const h=Array.isArray(p)?p:[p];s.value=h.reduce((y,{inlineSize:b})=>y+b,0),i.value=h.reduce((y,{blockSize:b})=>y+b,0)}else s.value=d.contentRect.width,i.value=d.contentRect.height},n);Yl(()=>{const d=St(e);d&&(s.value="offsetWidth"in d?d.offsetWidth:t.width,i.value="offsetHeight"in d?d.offsetHeight:t.height)});const u=fe(()=>St(e),d=>{s.value=d?t.width:0,i.value=d?t.height:0});function f(){c(),u()}return{width:s,height:i,stop:f}}const La=["fullscreenchange","webkitfullscreenchange","webkitendfullscreen","mozfullscreenchange","MSFullscreenChange"];function Jl(e,t={}){const{document:n=U0,autoExit:r=!1}=t,o=_(()=>{var w;return(w=St(e))!=null?w:n==null?void 0:n.querySelector("html")}),l=Z(!1),s=_(()=>["requestFullscreen","webkitRequestFullscreen","webkitEnterFullscreen","webkitEnterFullScreen","webkitRequestFullScreen","mozRequestFullScreen","msRequestFullscreen"].find(w=>n&&w in n||o.value&&w in o.value)),i=_(()=>["exitFullscreen","webkitExitFullscreen","webkitExitFullScreen","webkitCancelFullScreen","mozCancelFullScreen","msExitFullscreen"].find(w=>n&&w in n||o.value&&w in o.value)),c=_(()=>["fullScreen","webkitIsFullScreen","webkitDisplayingFullscreen","mozFullScreen","msFullscreenElement"].find(w=>n&&w in n||o.value&&w in o.value)),u=["fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement"].find(w=>n&&w in n),f=Er(()=>o.value&&n&&s.value!==void 0&&i.value!==void 0&&c.value!==void 0),d=()=>u?(n==null?void 0:n[u])===o.value:!1,p=()=>{if(c.value){if(n&&n[c.value]!=null)return n[c.value];{const w=o.value;if((w==null?void 0:w[c.value])!=null)return!!w[c.value]}}return!1};async function h(){if(!(!f.value||!l.value)){if(i.value)if((n==null?void 0:n[i.value])!=null)await n[i.value]();else{const w=o.value;(w==null?void 0:w[i.value])!=null&&await w[i.value]()}l.value=!1}}async function y(){if(!f.value||l.value)return;p()&&await h();const w=o.value;s.value&&(w==null?void 0:w[s.value])!=null&&(await w[s.value](),l.value=!0)}async function b(){await(l.value?h():y())}const E=()=>{const w=p();(!w||w&&d())&&(l.value=w)};return Me(n,La,E,!1),Me(()=>St(o),La,E,!1),r&&Hn(h),{isSupported:f,isFullscreen:l,enter:y,exit:h,toggle:b}}function Do(e){return typeof Window<"u"&&e instanceof Window?e.document.documentElement:typeof Document<"u"&&e instanceof Document?e.documentElement:e}function Hc(e){const t=window.getComputedStyle(e);if(t.overflowX==="scroll"||t.overflowY==="scroll"||t.overflowX==="auto"&&e.clientWidth<e.scrollWidth||t.overflowY==="auto"&&e.clientHeight<e.scrollHeight)return!0;{const n=e.parentNode;return!n||n.tagName==="BODY"?!1:Hc(n)}}function rh(e){const t=e||window.event,n=t.target;return Hc(n)?!1:t.touches.length>1?!0:(t.preventDefault&&t.preventDefault(),!1)}const No=new WeakMap;function Dc(e,t=!1){const n=Z(t);let r=null,o="";fe(B0(e),i=>{const c=Do(Ge(i));if(c){const u=c;if(No.get(u)||No.set(u,u.style.overflow),u.style.overflow!=="hidden"&&(o=u.style.overflow),u.style.overflow==="hidden")return n.value=!0;if(n.value)return u.style.overflow="hidden"}},{immediate:!0});const l=()=>{const i=Do(Ge(e));!i||n.value||(Aa&&(r=Me(i,"touchmove",c=>{rh(c)},{passive:!1})),i.style.overflow="hidden",n.value=!0)},s=()=>{const i=Do(Ge(e));!i||!n.value||(Aa&&(r==null||r()),i.style.overflow=o,No.delete(i),n.value=!1)};return Hn(s),_({get(){return n.value},set(i){i?l():s()}})}function oh(e={}){const{window:t=zt,behavior:n="auto"}=e;if(!t)return{x:Z(0),y:Z(0)};const r=Z(t.scrollX),o=Z(t.scrollY),l=_({get(){return r.value},set(i){scrollTo({left:i,behavior:n})}}),s=_({get(){return o.value},set(i){scrollTo({top:i,behavior:n})}});return Me(t,"scroll",()=>{r.value=t.scrollX,o.value=t.scrollY},{capture:!1,passive:!0}),{x:l,y:s}}function lh(e={}){const{window:t=zt,initialWidth:n=Number.POSITIVE_INFINITY,initialHeight:r=Number.POSITIVE_INFINITY,listenOrientation:o=!0,includeScrollbar:l=!0}=e,s=Z(n),i=Z(r),c=()=>{t&&(l?(s.value=t.innerWidth,i.value=t.innerHeight):(s.value=t.document.documentElement.clientWidth,i.value=t.document.documentElement.clientHeight))};if(c(),Yl(c),Me("resize",c,{passive:!0}),o){const u=$c("(orientation: portrait)");fe(u,()=>c())}return{width:s,height:i}}const Ia=e=>_e(e)?e:`${e}px`,Dn=(e,t=0)=>{const n=Be(),r=_(()=>Ia(ut(e.width)||"100%")),o=Z("auto"),l=c=>{if(_e(c)){const[u,f]=c.split(":"),d=Number(u)/Number(f);if(!Number.isNaN(d))return d}return typeof c=="number"?c:16/9},s=c=>{const u=ut(e.height),f=l(ut(e.ratio));return u?Ia(u):`${Number(c)/f+ut(t)}px`},i=()=>{n.value&&(o.value=s(n.value.clientWidth))};return ve(()=>{i(),Re(t)&&fe(t,i),Me("orientationchange",i),Me("resize",i)}),{el:n,width:r,height:o,resize:i}};var sh={fullscreen:!0,playbackRate:!0,setting:!0};const Kr=["mp4","mp3","webm","ogg"];Kr.push("mpd","dash"),Kr.push("m3u8","hls"),Kr.push("ts","flv");const ah=e=>(e==null?void 0:e.split(".").pop())||"",ih=async(e,t,n,r=!1,o=0)=>{{const l=(await F(()=>import("./dash.all.min-S0Hns9UN.js").then(s=>s.d),__vite__mapDeps([59,60]))).default;if(l.supportsMediaSource()){const s=l.MediaPlayer().create();s.initialize(e,t,r,o),n(()=>s.destroy())}}},ch=async(e,t,n)=>{{const r=(await F(()=>import("./mpegts-CC885RK9.js").then(o=>o.m),__vite__mapDeps([61,60]))).default;if(r.isSupported()){const o=r.createPlayer({type:"flv",url:t});o.attachMediaElement(e),o.load(),n(()=>o.destroy())}}},uh=async(e,t,n)=>{if(e.canPlayType("application/x-mpegURL")||e.canPlayType("application/vnd.apple.mpegURL"))e.src=t;else{const r=(await F(()=>import("./hls.min-CSFeuThZ.js").then(o=>o.h),__vite__mapDeps([62,60]))).default;if(r.isSupported()){const o=new r;o.attachMedia(e),o.on(r.Events.MEDIA_ATTACHED,()=>{o.loadSource(t)}),n(()=>o.destroy())}}},fh=["no-fullscreen","no-hotkey","no-playback-rate","no-setting","no-mutex","no-plays-inline"],dh=["airplay","autoplay","aspect-ratio","auto-mini","auto-size","auto-orientation","auto-playback","fast-forward","flip","fullscreen-web","lock","loop","is-live","muted","mini-progress-bar","pip","screenshot","subtitle-offset"],ph=["en","pl","cs","es","fa","fr","id","ru","tr"],hh=["zh-cn","zh-tw"],mh=e=>{const t=e.toLowerCase(),[n]=t.split("-");return hh.includes(t)?t:ph.includes(n)?n:n==="zh"?"zh-cn":"en"};var vh=O({name:"ArtPlayer",inheritAttrs:!1,props:{src:{type:String,required:!0},type:{type:String,default:""},poster:{type:String,default:""},title:{type:String,default:""},width:{type:[String,Number],default:"100%"},height:{type:[String,Number],default:void 0},ratio:{type:[String,Number],default:16/9},config:{type:Object,default:null},customPlayer:{type:Function,default:e=>e}},setup(e,{attrs:t}){const n=ho(),{el:r,width:o,height:l,resize:s}=Dn(e,0),i=Z(!1);let c;const u=()=>{var p,h,y;const f={theme:"#3eaf7c",...sh,container:r.value,poster:e.poster,url:oo(e.src),type:e.type||ah(e.src),lang:mh(n.value),...e.config,useSSR:!1},d=st(t);if(fh.forEach(b=>{d.includes(b)&&(f[ze(b.replace(/^no-/,""))]=!1)}),dh.forEach(b=>{d.includes(b)&&(f[ze(b)]=!0)}),f.type){const b=f.customType??(f.customType={});if(Kr.includes(f.type.toLowerCase()))switch(f.type.toLowerCase()){case"m3u8":case"hls":b[p=f.type]??(b[p]=(E,w,C)=>uh(E,w,g=>{C.on("destroy",g)}));break;case"flv":case"ts":b[h=f.type]??(b[h]=(E,w,C)=>ch(E,w,g=>{C.on("destroy",g)}));break;case"mpd":case"dash":b[y=f.type]??(b[y]=(E,w,C)=>ih(E,w,g=>{C.on("destroy",g)}));break}else console.warn(`[components]: ArtPlayer does not support current file type ${f.type}!`)}return f};return ve(async()=>{const{default:f}=await F(()=>import("./artplayer-DnixxQIM.js").then(p=>p.a),__vite__mapDeps([63,60])),d=new f(u());c=await e.customPlayer(d)||d,i.value=!0,s()}),Mn(()=>{c==null||c.destroy()}),()=>[a("div",{ref:r,class:"vp-artplayer",style:{width:o.value,height:l.value}}),i.value?null:a(_r)]}});const Nc=({type:e="info",text:t="",vertical:n,color:r},{slots:o})=>{var l;return a("span",{class:["vp-badge",e,{diy:r}],style:{verticalAlign:n??!1,backgroundColor:r??!1}},((l=o.default)==null?void 0:l.call(o))||t)};Nc.displayName="Badge";const Bc="accelerometer; autoplay; clipboard-write; encrypted-media; fullscreen; gyroscope; picture-in-picture",Pa="https://player.bilibili.com/player.html";var gh=O({name:"BiliBili",props:{bvid:{type:String,default:""},aid:{type:String,default:""},cid:{type:String,default:""},title:{type:String,default:"A BiliBili video"},page:{type:[String,Number],default:1},width:{type:[String,Number],default:"100%"},height:{type:[String,Number],default:void 0},ratio:{type:[String,Number],default:16/9},time:{type:[String,Number],default:0},autoplay:Boolean},setup(e){const{el:t,width:n,height:r,resize:o}=Dn(e),l=Z(!1),s=_(()=>{const{aid:i,bvid:c,cid:u,autoplay:f,time:d,page:p}=e;return i&&u?`${Pa}?aid=${i}&cid=${u}&t=${d}&autoplay=${f?1:0}&p=${p}`:c?`${Pa}?bvid=${c}&t=${d}&autoplay=${f?1:0}`:null});return()=>s.value?[a("div",{class:"bilibili-desc"},a("a",{class:"sr-only",href:s.value},e.title)),a("iframe",{ref:t,src:s.value,title:e.title,class:"bilibili-iframe",allow:Bc,style:{width:n.value,height:l.value?r.value:0},onLoad:()=>{l.value=!0,o()}}),l.value?null:a(_r)]:[]}});const Ra="https://codepen.io",yh=e=>{let t="";for(const n in e)n!=="prefill"&&n!=="open"&&(t!==""&&(t+="&"),t+=n+"="+encodeURIComponent(e[n]));return t},Fc=e=>{const t=e.preview==="true"?"embed/preview":"embed";if("prefill"in e)return[Ra,t,"prefill"].join("/");let n=e["slug-hash"];if(!n)throw new Error("slug-hash is required");return e.token&&(n+="/"+e.token),[Ra,e.user||"anon",t,n+"?"+yh(e)].join("/").replace(/\/\//g,"//")},ll=(e,t)=>{const n=document.createElement(e);for(const r in t)Object.prototype.hasOwnProperty.call(t,r)&&n.setAttribute(r,t[r].toString());return n},bh=e=>{const t=ll("form",{class:"code-pen-embed-form",style:"display: none;",method:"post",action:Fc(e),target:e.name||""});for(const n in e)n!=="prefill"&&t.append(ll("input",{type:"hidden",name:n,value:String(e[n])}));return t},_h=e=>{const{height:t=300,class:n="",name:r="CodePen Embed"}=e,o={class:`cp_embed_iframe ${n}`,src:Fc(e),allowfullscreen:"",allowpaymentrequest:"",allowTransparency:"",frameborder:0,width:"100%",height:t,name:r,scrolling:"no",style:"width: 100%; overflow: hidden; display: block;",title:e["pen-title"]||r};return"prefill"in e||(o.loading="lazy"),e["slug-hash"]&&(o.id=`code-pen-embed-${e["slug-hash"].replace("/","_")}`),ll("iframe",o)},wh=(e,t)=>{if(e.parentNode){const n=document.createElement("div");return n.className="code-pen-embed-wrapper",n.append(t),e.parentNode.replaceChild(n,e),n}return e.append(t),e};let Eh=1;const Ma=(e,t)=>{const n=typeof t=="string"?document.querySelector(t):t instanceof HTMLElement?t:null;e.user||(e.user="anon"),e.name||(e.name=n?`code-pen-api-${Eh++}`:"_blank");const r=document.createDocumentFragment();let o=null;"prefill"in e&&(e.data=JSON.stringify(e.prefill||"{}"),o=bh(e),r.append(o)),n?(r.append(_h(e)),wh(n,r)):document.body.appendChild(r),o&&o.submit()};var Sh=O({name:"CodePen",props:{link:{type:String,default:""},user:{type:String,default:""},slugHash:{type:String,default:""},title:{type:String,default:""},height:{type:[String,Number],default:380},theme:{type:String,default:"default"},defaultTab:{type:Array,default:()=>["result"]},status:{type:String,default:"preview"}},setup(e){const t=()=>{const l=/(?:^(?:https?:)?\/\/codepen.io\/|^\/|^)(.*?)\/(?:pen|embed)\/(.*?)\/?$/.exec(e.link);return{user:l==null?void 0:l[1],slugHash:l==null?void 0:l[2]}},n=_(()=>t().user||e.user),r=_(()=>t().slugHash||e.slugHash),o=_(()=>({user:n.value,"slug-hash":r.value,"theme-id":e.theme,"default-tab":e.defaultTab.join(","),"pen-title":e.title,height:e.height,preview:e.status==="preview"?"true":""}));return ve(()=>{e.status!=="clicktorun"&&Ma(o.value,`.codepen-${r.value}`)}),()=>a("div",{class:["codepen-wrapper",`codepen-${r.value}`]},[e.status==="clicktorun"?a("button",{type:"button",class:"codepen-button",onClick:()=>{Ma(o.value,`.codepen-${r.value}`)}},"Run Code"):null,a("span",["See the Pen ",a("a",{href:e.link},[e.title])," by ",a("a",{href:`https://codepen.io/${n.value}`},[n.value])," on ",a("a",{href:"https://codepen.io"},["CodePen"]),"."])])}}),Ch={"/":{hint:"<p>此浏览器不支持嵌入式 PDF。请下载 PDF 查看:<a href='[url]' target='_blank'>下载 PDF</a></p>"}};const Bo=e=>{console.error(`[PDF]: ${e}`)},Th=e=>{for(;e.firstChild;)e.removeChild(e.firstChild)},Ah=e=>e==="string"?document.querySelector(e):e instanceof HTMLElement?e:document.body,kh=e=>{let t="";return e&&(t+=Ut(e).map(([n,r])=>n==="noToolbar"?`toolbar=${r?0:1}`:`${encodeURIComponent(n)}=${encodeURIComponent(r)}`).join("&"),t&&(t=`#${t.slice(0,t.length-1)}`)),t},xh=(e,t,n,r,o)=>{Th(t);const l=`${e==="pdfjs"?`${Hl(be(null))}web/viewer.html?file=${encodeURIComponent(n)}`:n}${kh(r)}`,s=e==="pdfjs"||e==="iframe"?"iframe":"embed",i=document.createElement(s);return i.className="pdf-viewer",i.type="application/pdf",i.title=o,i.src=l,i instanceof HTMLIFrameElement&&(i.allow="fullscreen"),t.classList.add("pdf-viewer-container"),t.appendChild(i),t.getElementsByTagName(s)[0]},Lh=(e,t,{title:n,hint:r,options:o={}})=>{var y,b;if(typeof window>"u"||!((y=window==null?void 0:window.navigator)!=null&&y.userAgent))return null;const{navigator:l}=window,{userAgent:s}=l,i=Sc(window.Promise),c=S0(s)||w0(s),u=!c&&E0(s),f=!c&&/firefox/iu.test(s)&&s.split("rv:").length>1?parseInt(s.split("rv:")[1].split(".")[0],10)>18:!1,d=!c&&(i||f);if(!_e(e))return Bo("URL is not valid"),null;const p=Ah(t);if(!p)return Bo("Target element cannot be determined"),null;const h=n||((b=/\/([^/]+).pdf/.exec(e))==null?void 0:b[1])||"PDF Viewer";return d||!c?xh(u?"iframe":"embed",p,e,o,h):(p.innerHTML=r.replace(/\[url\]/g,e),Bo("This browser does not support embedded PDFs"),null)};var Ih=O({name:"PDF",props:{url:{type:String,required:!0},title:{type:String,default:""},width:{type:[String,Number],default:"100%"},height:{type:[String,Number],default:void 0},ratio:{type:[String,Number],default:16/9},page:{type:[String,Number],default:1},noToolbar:Boolean,zoom:{type:[String,Number],default:100}},setup(e){const{el:t,width:n,height:r,resize:o}=Dn(e),l=fn(Ch);return ve(()=>{Lh(oo(e.url),t.value,{title:e.title,hint:l.value.hint,options:{page:e.page,noToolbar:e.noToolbar,zoom:e.zoom}}),o()}),()=>a("div",{class:"pdf-viewer-wrapper",ref:t,style:{width:n.value,height:r.value}})}}),Ph=O({name:"Replit",props:{link:{type:String,default:""},user:{type:String,default:""},repl:{type:String,default:""},width:{type:[String,Number],default:"100%"},height:{type:[String,Number],default:void 0},ratio:{type:[String,Number],default:16/9},theme:{type:String,default:"light"},file:{type:String,default:()=>null},autoLoad:Boolean,text:{type:String,default:"Load Replit"}},setup(e){const{el:t,width:n,height:r,resize:o}=Dn(e),l=Z(!1),s=Z(!1),i=_(()=>{var c;if(e.link){const u=new URL(e.link);return u.searchParams.set("embed","true"),u.toString()}return e.user&&e.repl?`https://replit.com/@${e.user}/${e.repl}${(c=e.file)!=null&&c.length?`#${e.file}`:""}`:null});return()=>i.value?a("div",{class:"replit-wrapper"},e.autoLoad||l.value?[a("iframe",{ref:t,class:"replit-iframe",src:i.value,style:{width:n.value,height:s.value?r.value:0},onLoad:()=>{s.value=!0,o()}}),s.value?null:a(_r)]:a("button",{type:"button",class:"replit-button",onClick:()=>{l.value=!0}},e.text)):null}}),Rh=[{name:"twitter",link:"https://twitter.com/intent/tweet?text=[title]&url=[url]&hashtags=[tags][title]",color:"#000",shape:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1024"><path d="m587 451 291-339h-69L555 407 354 112H120l305 446-305 354h68l268-310 213 310h235zM214 163h107l488 699H702z"/></svg>'},{name:"facebook",link:"https://www.facebook.com/sharer/sharer.php?u=[url]&title=[title]&description=[description]&quote=[summary]&hashtag=[tags]",color:"#3c599b",shape:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1024"><path d="M295 360h93v-91c0-40 1-101 30-139 30-41 72-68 144-68 118 0 168 17 168 17l-24 138s-39-12-75-12-69 13-69 50v105h149l-10 134H562v468H388V494h-93z"/></svg>'},{name:"reddit",link:"https://www.reddit.com/submit?title=[title]&url=[url]",color:"#ff4501",shape:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1024"><path d="M678 779c9 9 9 18 0 27-34 37-90 55-166 55s-132-18-166-55c-9-9-9-18 0-27a17 17 0 0 1 12-6c5 0 9 2 13 6 26 29 74 43 141 43s114-14 141-43a17 17 0 0 1 13-6c5 0 9 2 12 6M400 562a82 82 0 0 1 0 112 70 70 0 0 1-53 23c-20 0-38-8-53-23a78 78 0 0 1-22-56c0-22 7-41 22-56a71 71 0 0 1 106 0m352 56c0 22-7 41-22 56a71 71 0 0 1-53 23c-21 0-38-8-53-23a78 78 0 0 1-22-56c0-22 8-40 22-56 15-16 32-23 53-23 20 0 38 7 53 23 15 15 22 34 22 56m210-106c0-29-10-54-29-74a94 94 0 0 0-71-31c-28 0-52 10-72 31-73-53-160-81-260-85l52-250 168 40c0 21 7 40 21 55 15 16 32 23 53 23s38-7 53-23 22-34 22-56-7-41-22-57a71 71 0 0 0-53-23c-30 0-52 15-67 44L572 63c-10-3-17 2-21 14l-57 276c-101 5-187 33-259 86a94 94 0 0 0-73-32c-28 0-51 10-71 31a105 105 0 0 0-29 74 108 108 0 0 0 57 96 241 241 0 0 0-5 49c0 84 39 156 117 216 78 59 172 89 282 89s205-30 283-89c78-60 117-132 117-216 0-19-2-35-6-50a108 108 0 0 0 55-95"/></svg>'},{name:"telegram",link:"https://t.me/share/url?url=[url]&text=[title]%0D%0A[description|summary]",color:"#158cc7",shape:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1024"><path d="m413 807 13-187 340-307c15-14-3-21-23-8L323 570l-183-58c-39-11-39-38 9-57l709-274c33-14 64 8 51 58L788 807c-8 40-33 50-66 31L538 703l-88 85c-10 10-19 19-37 19"/></svg>'},{name:"whatsapp",link:"https://api.whatsapp.com/send?text=[title]%0D%0A[url]%0D%0A[description|summary]",color:"#31B84C",shape:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1024"><path d="m62 962 64-231a444 444 0 0 1-60-223 448 448 0 0 1 765-315 442 442 0 0 1 131 315c0 246-201 446-448 446a449 449 0 0 1-214-54zm340-640c-9-22-18-19-25-20h-22a41 41 0 0 0-30 14c-10 11-39 38-39 93s40 108 46 115c6 8 79 120 191 168 27 12 48 19 64 24 27 8 51 7 71 4 21-3 66-27 75-53s9-48 7-53c-3-4-11-7-22-13l-76-36c-11-4-18-5-26 6-7 11-28 36-35 43-6 8-13 9-24 3-11-5-47-17-90-55-34-30-56-66-63-77-6-12 0-18 5-23l17-20c6-6 8-11 11-18 4-8 2-14-1-20l-34-83z"/></svg>'},{name:"email",link:"mailto:?subject=[title]&body=[url]%0D%0A%0D%0A[description|summary]",color:"#1384FF",action:"open",shape:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1024"><path d="M152 177h720c49 0 89 37 90 83L512 494 63 260c0-46 40-83 89-83M62 349v414c0 46 41 84 90 84h720c49 0 90-38 90-84V349L523 572a24 24 0 0 1-22 0z"/></svg>'}];const Vr=e=>{var t;return((t=document.querySelector(`meta[name="${e}"]`))==null?void 0:t.getAttribute("content"))??null},Oa=(e,t="")=>{const n=["vp-share-icon",t];return gt(e)||br(e)?a("img",{class:n,src:e,loading:"lazy","no-view":""}):Ln(e,"<")&&Cc(e,">")?a("div",{class:n,innerHTML:e}):a("div",{class:[...n,e]})};var Mh=O({name:"ShareService",props:{config:{type:Object,default:()=>({})},plain:Boolean,title:{type:String,required:!1},description:{type:String,required:!1},url:{type:String,required:!1},summary:{type:String,required:!1},cover:{type:String,required:!1},tag:{type:[Array,String],required:!1}},setup(e){let t;const n=de(),r=ge(),o=Z(!1),l=()=>{var y;const i=e.title??n.value.title,c=e.description??r.value.description??Vr("description")??Vr("og:description")??Vr("twitter:description"),u=e.url??typeof window>"u"?null:window.location.href,f=e.cover??Vr("og:image"),d=(y=document.querySelector(".theme-default-content :not(a) > img"))==null?void 0:y.getAttribute("src"),p=e.tag??r.value.tag??r.value.tags,h=ro(p)?p.filter(_e).join(","):_e(p)?p:null;return e.config.link.replace(/\[([^\]]+)\]/g,(b,E)=>{const w=E.split("|");for(const C of w){if(C==="url"&&u)return u;if(C==="title"&&i)return i;if(C==="description"&&c)return c;if(C==="summary"&&e.summary)return e.summary;if(C==="cover"&&f)return f;if(C==="image"&&d)return d;if(C==="tags"&&h)return h}return""})},s=()=>{const i=l();switch(e.config.action){case"navigate":window.open(i);break;case"open":window.open(i,"_blank");break;case"qrcode":F(()=>import("./browser-D6eOinvE.js").then(c=>c.b),__vite__mapDeps([])).then(({toDataURL:c})=>c(i,{errorCorrectionLevel:"H",width:250,scale:1,margin:1.5})).then(c=>{t.emit(`<img src="${c}" alt="qrcode" class="share-qrcode" />`)});break;default:L0(i,"share")}};return ve(()=>{t=new A0}),()=>{const{config:{name:i,icon:c,shape:u,color:f},plain:d}=e;return[a("button",{type:"button",class:["vp-share-button",{plain:d}],"aria-label":i,"data-balloon-pos":"up",onClick:()=>s()},d?Oa(u,"plain"):c?Oa(c):a("div",{class:"vp-share-icon colorful",style:{background:f},innerHTML:u})),o.value?a("div",{class:"share-popup"}):null]}}});const $a=Rh;var Oh=O({name:"Share",props:{services:{type:[String,Array],default:()=>$a.map(({name:e})=>e)},titleGetter:{type:Function,default:e=>e.title},descriptionGetter:{type:Function,default:e=>e.frontmatter.description},summaryGetter:{type:Function,default:e=>e.summary},coverGetter:{type:Function,default:e=>e.cover},tagGetter:{type:Function,default:({frontmatter:e})=>e.tag||e.tags},inline:Boolean,colorful:Boolean},setup(e){const t=de(),n=_(()=>(_e(e.services)?e.services.split(","):e.services).map(o=>On(o)?o.name&&o.link?o:null:$a.find(({name:l})=>l===o)).filter(o=>!!o)),r=_(()=>{const o={};return["titleGetter","descriptionGetter","summaryGetter","coverGetter","tagGetter"].forEach(l=>{if(t1(e[l])){const s=e[l](t.value);s&&(o[l.replace("Getter","")]=s)}}),o});return()=>a("div",{class:"vp-share-buttons",style:e.inline?{display:"inline-block"}:{}},n.value.map(o=>a(Mh,{config:o,...r.value,plain:!e.colorful})))}}),$h={"/":{source:"源代码"}},Hh=O({name:"SiteInfo",components:{BitbucketIcon:Ul,GiteeIcon:Gl,GitHubIcon:Vl,GitLabIcon:jl,SourceIcon:ql},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=fn($h),n=_(()=>e.repo?Wl(e.repo):null);return()=>a("div",{class:"vp-site-info","data-name":e.name},[a("a",{class:"vp-site-info-navigator",title:e.name,href:e.url,target:"_blank"}),a("div",{class:"vp-site-info-preview",style:{background:`url(${be(e.preview)}) center/cover no-repeat`}}),a("div",{class:"vp-site-info-detail"},[e.logo?a("img",{class:"vp-site-info-logo",src:e.logo,alt:"",loading:"lazy","no-view":""}):null,a("div",{class:"vp-site-info-name"},e.name),a("div",{class:"vp-site-info-desc"},e.desc)]),e.repo?a("div",{class:"vp-site-info-source-wrapper"},a("a",{class:"vp-site-info-source",href:e.repo,"aria-label":t.value.source,"data-balloon-pos":"left",title:t.value.source,target:"_blank"},a(Xe(`${n.value}Icon`)))):null])}});const Dh=500,Nh=20,Bh=300,Fh="https://stackblitz.com",Ha=["angular-cli","create-react-app","html","javascript","node","polymer","typescript","vue"],zh=["project","search","ports","settings"],Vh=["light","dark"],jh=["editor","preview"],Da={clickToLoad:e=>Xt("ctl",e),devToolsHeight:e=>Na("devtoolsheight",e),forceEmbedLayout:e=>Xt("embed",e),hideDevTools:e=>Xt("hidedevtools",e),hideExplorer:e=>Xt("hideExplorer",e),hideNavigation:e=>Xt("hideNavigation",e),openFile:e=>jr("file",e),showSidebar:e=>Gh("showSidebar",e),sidebarView:e=>Fo("sidebarView",e,zh),startScript:e=>jr("startScript",e),terminalHeight:e=>Na("terminalHeight",e),theme:e=>Fo("theme",e,Vh),view:e=>Fo("view",e,jh),zenMode:e=>Xt("zenMode",e),organization:e=>`${jr("orgName",e==null?void 0:e.name)}&${jr("orgProvider",e==null?void 0:e.provider)}`,crossOriginIsolated:e=>Xt("corp",e)};function zc(e={}){const t=Object.entries(e).map(([n,r])=>r!=null&&Da.hasOwnProperty(n)?Da[n](r):"").filter(Boolean);return t.length?`?${t.join("&")}`:""}function Xt(e,t){return t===!0?`${e}=1`:""}function Gh(e,t){return typeof t=="boolean"?`${e}=${t?"1":"0"}`:""}function Na(e,t){if(typeof t=="number"&&!Number.isNaN(t)){const n=Math.min(100,Math.max(0,t));return`${e}=${encodeURIComponent(Math.round(n))}`}return""}function Fo(e,t="",n=[]){return n.includes(t)?`${e}=${encodeURIComponent(t)}`:""}function jr(e,t){return(Array.isArray(t)?t:[t]).filter(r=>typeof r=="string"&&r.trim()!=="").map(r=>`${e}=${encodeURIComponent(r)}`).join("&")}function Vc(){return Math.random().toString(36).slice(2,6)+Math.random().toString(36).slice(2,6)}function Xl(e,t){return`${jc(t)}${e}${zc(t)}`}function Ql(e,t){const n={forceEmbedLayout:!0};return t&&typeof t=="object"&&Object.assign(n,t),`${jc(n)}${e}${zc(n)}`}function jc(e={}){return(typeof e.origin=="string"?e.origin:Fh).replace(/\/$/,"")}function Zl(e,t,n){if(!t||!e||!e.parentNode)throw new Error("Invalid Element");e.id&&(t.id=e.id),e.className&&(t.className=e.className),Uh(t,n),qh(e,t,n),e.replaceWith(t)}function es(e){if(typeof e=="string"){const t=document.getElementById(e);if(!t)throw new Error(`Could not find element with id '${e}'`);return t}else if(e instanceof HTMLElement)return e;throw new Error(`Invalid element: ${e}`)}function ts(e){return e&&e.newWindow===!1?"_self":"_blank"}function Uh(e,t={}){const n=Object.hasOwnProperty.call(t,"height")?`${t.height}`:`${Bh}`,r=Object.hasOwnProperty.call(t,"width")?`${t.width}`:void 0;e.setAttribute("height",n),r?e.setAttribute("width",r):e.setAttribute("style","width:100%;")}function qh(e,t,n={}){var o,l;const r=((l=(o=e.allow)==null?void 0:o.split(";"))==null?void 0:l.map(s=>s.trim()))??[];n.crossOriginIsolated&&!r.includes("cross-origin-isolated")&&r.push("cross-origin-isolated"),r.length>0&&(t.allow=r.join("; "))}class Wh{constructor(t){this.pending={},this.port=t,this.port.onmessage=this.messageListener.bind(this)}request({type:t,payload:n}){return new Promise((r,o)=>{const l=Vc();this.pending[l]={resolve:r,reject:o},this.port.postMessage({type:t,payload:{...n,__reqid:l}})})}messageListener(t){var i;if(typeof((i=t.data.payload)==null?void 0:i.__reqid)!="string")return;const{type:n,payload:r}=t.data,{__reqid:o,__success:l,__error:s}=r;this.pending[o]&&(l?this.pending[o].resolve(this.cleanResult(r)):this.pending[o].reject(s?`${n}: ${s}`:n),delete this.pending[o])}cleanResult(t){const n={...t};return delete n.__reqid,delete n.__success,delete n.__error,Object.keys(n).length?n:null}}class Kh{constructor(t,n){this.editor={openFile:r=>this._rdc.request({type:"SDK_OPEN_FILE",payload:{path:r}}),setCurrentFile:r=>this._rdc.request({type:"SDK_SET_CURRENT_FILE",payload:{path:r}}),setTheme:r=>this._rdc.request({type:"SDK_SET_UI_THEME",payload:{theme:r}}),setView:r=>this._rdc.request({type:"SDK_SET_UI_VIEW",payload:{view:r}}),showSidebar:(r=!0)=>this._rdc.request({type:"SDK_TOGGLE_SIDEBAR",payload:{visible:r}})},this.preview={origin:"",getUrl:()=>this._rdc.request({type:"SDK_GET_PREVIEW_URL",payload:{}}).then(r=>(r==null?void 0:r.url)??null),setUrl:(r="/")=>{if(typeof r!="string"||!r.startsWith("/"))throw new Error(`Invalid argument: expected a path starting with '/', got '${r}'`);return this._rdc.request({type:"SDK_SET_PREVIEW_URL",payload:{path:r}})}},this._rdc=new Wh(t),Object.defineProperty(this.preview,"origin",{value:typeof n.previewOrigin=="string"?n.previewOrigin:null,writable:!1})}applyFsDiff(t){const n=r=>r!==null&&typeof r=="object";if(!n(t)||!n(t.create))throw new Error("Invalid diff object: expected diff.create to be an object.");if(!Array.isArray(t.destroy))throw new Error("Invalid diff object: expected diff.destroy to be an array.");return this._rdc.request({type:"SDK_APPLY_FS_DIFF",payload:t})}getDependencies(){return this._rdc.request({type:"SDK_GET_DEPS_SNAPSHOT",payload:{}})}getFsSnapshot(){return this._rdc.request({type:"SDK_GET_FS_SNAPSHOT",payload:{}})}}const Yr=[];class Yh{constructor(t){this.id=Vc(),this.element=t,this.pending=new Promise((n,r)=>{const o=({data:u,ports:f})=>{(u==null?void 0:u.action)==="SDK_INIT_SUCCESS"&&u.id===this.id&&(this.vm=new Kh(f[0],u.payload),n(this.vm),s())},l=()=>{var u;(u=this.element.contentWindow)==null||u.postMessage({action:"SDK_INIT",id:this.id},"*")};function s(){window.clearInterval(c),window.removeEventListener("message",o)}window.addEventListener("message",o),l();let i=0;const c=window.setInterval(()=>{if(this.vm){s();return}if(i>=Nh){s(),r("Timeout: Unable to establish a connection with the StackBlitz VM"),Yr.forEach((u,f)=>{u.id===this.id&&Yr.splice(f,1)});return}i++,l()},Dh)}),Yr.push(this)}}const Jh=e=>{const t=e instanceof Element?"element":"id";return Yr.find(n=>n[t]===e)??null};function Xh(e,t){const n=document.createElement("input");return n.type="hidden",n.name=e,n.value=t,n}function Qh(e){return e.replace(/\[/g,"%5B").replace(/\]/g,"%5D")}function Gc({template:e,title:t,description:n,dependencies:r,files:o,settings:l}){if(!Ha.includes(e)){const u=Ha.map(f=>`'${f}'`).join(", ");console.warn(`Unsupported project.template: must be one of ${u}`)}const s=[],i=(u,f,d="")=>{s.push(Xh(u,typeof f=="string"?f:d))};i("project[title]",t),typeof n=="string"&&n.length>0&&i("project[description]",n),i("project[template]",e,"javascript"),r&&(e==="node"?console.warn("Invalid project.dependencies: dependencies must be provided as a 'package.json' file when using the 'node' template."):i("project[dependencies]",JSON.stringify(r))),l&&i("project[settings]",JSON.stringify(l)),Object.entries(o).forEach(([u,f])=>{i(`project[files][${Qh(u)}]`,f)});const c=document.createElement("form");return c.method="POST",c.setAttribute("style","display:none!important;"),c.append(...s),c}function Zh(e,t){const n=Gc(e);return n.action=Ql("/run",t),n.id="sb_run",`<!doctype html>
+<html>
+<head><title></title></head>
+<body>
+  ${n.outerHTML}
+  <script>document.getElementById('${n.id}').submit();<\/script>
+</body>
+</html>`}function e2(e,t){const n=Gc(e);n.action=Xl("/run",t),n.target=ts(t),document.body.appendChild(n),n.submit(),document.body.removeChild(n)}function go(e){return e!=null&&e.contentWindow?(Jh(e)??new Yh(e)).pending:Promise.reject("Provided element is not an iframe.")}function t2(e,t){e2(e,t)}function n2(e,t){const n=Xl(`/edit/${e}`,t),r=ts(t);window.open(n,r)}function r2(e,t){const n=Xl(`/github/${e}`,t),r=ts(t);window.open(n,r)}function o2(e,t,n){var s;const r=es(e),o=Zh(t,n),l=document.createElement("iframe");return Zl(r,l,n),(s=l.contentDocument)==null||s.write(o),go(l)}function l2(e,t,n){const r=es(e),o=document.createElement("iframe");return o.src=Ql(`/edit/${t}`,n),Zl(r,o,n),go(o)}function s2(e,t,n){const r=es(e),o=document.createElement("iframe");return o.src=Ql(`/github/${t}`,n),Zl(r,o,n),go(o)}const Ba={connect:go,embedGithubProject:s2,embedProject:o2,embedProjectId:l2,openGithubProject:r2,openProject:t2,openProjectId:n2};var a2=O({name:"StackBlitz",props:{id:{type:String,required:!0},type:{type:String,default:"project"},width:{type:[String,Number],default:"100%"},height:{type:[String,Number],default:void 0},ratio:{type:[String,Number],default:16/9},file:{type:[String,Array],default:""},initialPath:{type:String,default:""},embed:Boolean,load:Boolean,view:{type:String,default:"preview"},hideExplorer:Boolean,hideNavigation:Boolean,hideDevtools:Boolean,terminalHeight:{type:[String,Number],default:30},devToolsHeight:{type:[String,Number],default:30},text:{type:String,default:"Open in StackBlitz"},theme:{type:String,default:"dark"}},setup(e){const{el:t,width:n,height:r,resize:o}=Dn(e),l=_(()=>({openFile:e.file,view:e.view,theme:e.theme,clickToLoad:e.load,hideExplorer:e.hideExplorer,hideNavigation:e.hideNavigation,hideDevTools:e.hideDevtools,initialPath:e.initialPath}));return ve(async()=>{e.embed&&(await Ba[e.type==="github"?"embedGithubProject":"embedProjectId"](t.value,e.id,l.value),o())}),()=>e.embed?a("div",{ref:t,class:"stackblitz-container",style:{width:n.value,height:r.value}}):a("div",{class:"stackblitz-container"},a("button",{type:"button",class:"stackblitz-button",onClick:()=>{Ba[e.type==="github"?"openGithubProject":"openProjectId"](e.id,l.value)}},e.text))}});const Uc=({title:e,content:t="",logo:n="",background:r="",color:o="",actions:l=[]})=>{const s={};return r&&(s.background=r),o&&(s.color=o),a("div",{class:"vp-banner",style:s},[n?a("img",{class:"vp-banner-logo",src:be(n),loading:"lazy","no-view":""}):null,a("div",{class:"vp-banner-body"},[a("div",{class:"vp-banner-title",innerHTML:e}),a("p",{class:"vp-banner-content",innerHTML:t}),a("div",{class:"vp-banner-actions"},[...l.map(({link:i,text:c,type:u="primary"})=>sn(i)?a("a",{class:["vp-banner-action",u],href:i,target:"_blank"},c):a(ke,{class:["vp-banner-action",u],to:i},()=>c))])])])};Uc.displayName="VPBanner";const qc=({title:e,desc:t="",logo:n,background:r,color:o,link:l})=>{const s=[n?a("img",{class:"vp-card-logo",src:be(n),loading:"lazy","no-view":""}):null,a("div",{class:"vp-card-content"},[a("div",{class:"vp-card-title",innerHTML:e}),a("hr"),a("div",{class:"vp-card-desc",innerHTML:t})])],i={};return r&&(i.background=r),o&&(i.color=o),l?sn(l)?a("a",{class:"vp-card",href:l,target:"_blank",style:i},s):a(ke,{to:l,class:"vp-card",style:i},()=>s):a("div",{class:"vp-card",style:i},s)};qc.displayName="VPCard";var i2=O({name:"VidStack",props:{sources:{type:Array,default:()=>[]},tracks:{type:Array,default:()=>[]}},setup(e,{attrs:t}){return ve(async()=>{await Promise.all([F(()=>import("./vidstack-player-DaNo29Rn.js").then(n=>n.v),__vite__mapDeps([64,65,66])),F(()=>import("./vidstack-player-layouts-nRkOMaNb.js"),__vite__mapDeps([67,65,68])),F(()=>import("./vidstack-player-ui-DQalTb-T.js"),__vite__mapDeps([69,65,68,66]))])}),()=>a("media-player",t,[a("media-provider",[t.poster?a("media-poster",{class:"vds-poster",alt:t.alt||t.title}):null,e.sources.map(n=>On(n)?a("source",{...n,src:oo(n.src)}):a("source",{src:oo(n)})),e.tracks.map(n=>a("track",n))]),a("media-audio-layout"),a("media-video-layout",t)])}}),c2=O({name:"XiGua",props:{id:{type:String,required:!0},title:{type:String,default:"A XiGua video"},width:{type:[String,Number],default:"100%"},height:{type:[String,Number],default:void 0},ratio:{type:[String,Number],default:16/9},time:{type:[String,Number],default:0},autoplay:Boolean},setup(e){const{el:t,width:n,height:r,resize:o}=Dn(e),l=Z(!1),s=_(()=>`https://www.ixigua.com/iframe/${e.id}?startTime=${e.time}&autoplay=${e.autoplay?1:0}`);return()=>e.id?[a("div",{class:"xi-gua-desc"},a("a",{class:"sr-only",href:s.value},e.title)),a("iframe",{ref:t,src:s.value,title:e.title,class:"xi-gua-iframe",allow:Bc,style:{width:n.value,height:l.value?r.value:0},onLoad:()=>{l.value=!0,o()}}),l.value?null:a(_r)]:[]}});const u2=at({enhance:({app:e})=>{Le("FontIcon")||e.component("FontIcon",_0),Le("ArtPlayer")||e.component("ArtPlayer",vh),Le("Badge")||e.component("Badge",Nc),Le("BiliBili")||e.component("BiliBili",gh),Le("CodePen")||e.component("CodePen",Sh),Le("PDF")||e.component("PDF",Ih),Le("Replit")||e.component("Replit",Ph),Le("Share")||e.component("Share",Oh),Le("SiteInfo")||e.component("SiteInfo",Hh),Le("StackBlitz")||e.component("StackBlitz",a2),Le("VPBanner")||e.component("VPBanner",Uc),Le("VPCard")||e.component("VPCard",qc),Le("VidStack")||e.component("VidStack",i2),Le("XiGua")||e.component("XiGua",c2)},setup:()=>{},rootComponents:[]}),Fa=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},f2=({headerLinkSelector:e,headerAnchorSelector:t,delay:n,offset:r=5})=>{const o=At();Me("scroll",F0(()=>{var y,b;const s=Math.max(window.scrollY,document.documentElement.scrollTop,document.body.scrollTop);if(Math.abs(s-0)<r){Fa(o,"");return}const c=window.innerHeight+s,u=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight),f=Math.abs(u-c)<r,d=Array.from(document.querySelectorAll(e)),h=Array.from(document.querySelectorAll(t)).filter(E=>d.some(w=>w.hash===E.hash));for(let E=0;E<h.length;E++){const w=h[E],C=h[E+1],g=s>=(((y=w.parentElement)==null?void 0:y.offsetTop)??0)-r,k=!C||s<(((b=C.parentElement)==null?void 0:b.offsetTop)??0)-r;if(!(g&&k))continue;const T=decodeURIComponent(o.currentRoute.value.hash),G=decodeURIComponent(w.hash);if(T===G)return;if(f){for(let X=E+1;X<h.length;X++)if(T===decodeURIComponent(h[X].hash))return}Fa(o,G);return}},n))},d2=".vp-sidebar-link, .vp-toc-link",p2=".header-anchor",h2=200,m2=5,v2=at({setup(){f2({headerLinkSelector:d2,headerAnchorSelector:p2,delay:h2,offset:m2})}});let Wc=e=>_e(e.title)?{title:e.title}:null;const Kc=Symbol(""),g2=e=>{Wc=e},y2=()=>Ce(Kc),b2=e=>{e.provide(Kc,Wc)};var _2={"/":{title:"目录",empty:"暂无目录"}};const w2=O({name:"Catalog",props:{base:{type:String,default:""},level:{type:Number,default:3},index:Boolean,hideHeading:Boolean},setup(e){const t=y2(),n=fn(_2),r=de(),o=p0(),l=yc(),i=Be(Ut(o.value).map(([u,{meta:f}])=>{const d=t(f);if(!d)return null;const p=u.split("/").length;return{level:Cc(u,"/")?p-2:p-1,base:u.replace(/\/[^/]+\/?$/,"/"),path:u,...d}}).filter(u=>On(u)&&_e(u.title))),c=_(()=>{const u=e.base?Xp(Hl(e.base)):r.value.path.replace(/\/[^/]+$/,"/"),f=u.split("/").length-2,d=[];return i.value.filter(({level:p,path:h})=>{if(!Ln(h,u)||h===u)return!1;if(u==="/"){const y=st(l.value.locales).filter(b=>b!=="/");if(h==="/404.html"||y.some(b=>Ln(h,b)))return!1}return p-f<=e.level}).sort(({title:p,level:h,order:y},{title:b,level:E,order:w})=>{const C=h-E;return C||(Ho(y)?Ho(w)?y>0?w>0?y-w:-1:w<0?y-w:1:y:Ho(w)?w:p.localeCompare(b))}).forEach(p=>{var b;const{base:h,level:y}=p;switch(y-f){case 1:{d.push(p);break}case 2:{const E=d.find(w=>w.path===h);E&&(E.children??(E.children=[])).push(p);break}default:{const E=d.find(w=>w.path===h.replace(/\/[^/]+\/$/,"/"));if(E){const w=(b=E.children)==null?void 0:b.find(C=>C.path===h);w&&(w.children??(w.children=[])).push(p)}}}}),d});return()=>{const u=c.value.some(f=>f.children);return a("div",{class:["vp-catalog-wrapper",{index:e.index}]},[e.hideHeading?null:a("h2",{class:"vp-catalog-main-title"},n.value.title),c.value.length?a(e.index?"ol":"ul",{class:["vp-catalogs",{deep:u}]},c.value.map(({children:f=[],title:d,path:p,content:h})=>{const y=a(ke,{class:"vp-catalog-title",to:p},()=>h?a(h):d);return a("li",{class:"vp-catalog"},u?[a("h3",{id:d,class:["vp-catalog-child-title",{"has-children":f.length}]},[a("a",{href:`#${d}`,class:"vp-catalog-header-anchor","aria-hidden":!0},"#"),y]),f.length?a(e.index?"ol":"ul",{class:"vp-child-catalogs"},f.map(({children:b=[],content:E,path:w,title:C})=>a("li",{class:"vp-child-catalog"},[a("div",{class:["vp-catalog-sub-title",{"has-children":b.length}]},[a("a",{href:`#${C}`,class:"vp-catalog-header-anchor"},"#"),a(ke,{class:"vp-catalog-title",to:w},()=>E?a(E):C)]),b.length?a(e.index?"ol":"div",{class:e.index?"vp-sub-catalogs":"vp-sub-catalogs-wrapper"},b.map(({content:g,path:k,title:D})=>e.index?a("li",{class:"vp-sub-catalog"},a(ke,{to:k},()=>g?a(g):D)):a(ke,{class:"vp-sub-catalog-link",to:k},()=>g?a(g):D))):null]))):null]:a("div",{class:"vp-catalog-child-title"},y))})):a("p",{class:"vp-empty-catalog"},n.value.empty)])}}}),E2=at({enhance:({app:e})=>{b2(e),Le("Catalog",e)||e.component("Catalog",w2)}});var S2={"/":{backToTop:"返回顶部"}};const C2=O({name:"BackToTop",setup(e){const t=ge(),n=fn(S2),r=Be(),{height:o}=nh(r),{height:l}=lh(),{y:s}=oh(),i=_(()=>t.value.backToTop!==!1&&s.value>100),c=_(()=>s.value/(o.value-l.value)*100);return ve(()=>{r.value=document.body}),()=>a(Ft,{name:"back-to-top"},()=>i.value?a("button",{type:"button",class:"vp-back-to-top-button","aria-label":n.value.backToTop,onClick:()=>{window.scrollTo({top:0,behavior:"smooth"})}},[a("span",{class:"vp-scroll-progress",role:"progressbar","aria-labelledby":"loadinglabel","aria-valuenow":c.value},a("svg",a("circle",{cx:"50%",cy:"50%",style:{"stroke-dasharray":`calc(${Math.PI*c.value}% - ${4*Math.PI}px) calc(${Math.PI*100}% - ${4*Math.PI}px)`}}))),a("div",{class:"back-to-top-icon"})]):null)}}),T2=at({rootComponents:[C2]}),A2=a("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"},[a("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"}),a("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"})]),Yc=O({name:"ExternalLinkIcon",props:{locales:{type:Object,required:!1,default:()=>({})}},setup(e){const t=kt(),n=_(()=>e.locales[t.value]??{openInNewWindow:"open in new window"});return()=>a("span",[A2,a("span",{class:"external-link-icon-sr-only"},n.value.openInNewWindow)])}});var k2={};const x2=k2,L2=at({enhance({app:e}){e.component("ExternalLinkIcon",a(Yc,{locales:x2}))}});/**
+ * 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:'<div class="bar" role="bar"></div>'},status:null,set:e=>{const t=se.isStarted();e=zo(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,l=se.settings.easing;return n.offsetWidth,I2(s=>{Gr(r,{transform:"translate3d("+za(e)+"%,0,0)",transition:"all "+o+"ms "+l}),e===1?(Gr(n,{transition:"none",opacity:"1"}),n.offsetWidth,setTimeout(function(){Gr(n,{transition:"all "+o+"ms linear",opacity:"0"}),setTimeout(function(){se.remove(),s()},o)},o)):setTimeout(()=>s(),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)*zo(Math.random()*t,.1,.95)),t=zo(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");Va(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":za(se.status||0),o=document.querySelector(se.settings.parent);return Gr(n,{transition:"all 0 linear",transform:"translate3d("+r+"%,0,0)"}),o!==document.body&&Va(o,"nprogress-custom-parent"),o==null||o.appendChild(t),t},remove:()=>{ja(document.documentElement,"nprogress-busy"),ja(document.querySelector(se.settings.parent),"nprogress-custom-parent");const e=document.getElementById("nprogress");e&&P2(e)},isRendered:()=>!!document.getElementById("nprogress")},zo=(e,t,n)=>e<t?t:e>n?n:e,za=e=>(-1+e)*100,I2=function(){const e=[];function t(){const n=e.shift();n&&n(t)}return function(n){e.push(n),e.length===1&&t()}}(),Gr=function(){const e=["Webkit","O","Moz","ms"],t={};function n(s){return s.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,function(i,c){return c.toUpperCase()})}function r(s){const i=document.body.style;if(s in i)return s;let c=e.length;const u=s.charAt(0).toUpperCase()+s.slice(1);let f;for(;c--;)if(f=e[c]+u,f in i)return f;return s}function o(s){return s=n(s),t[s]??(t[s]=r(s))}function l(s,i,c){i=o(i),s.style[i]=c}return function(s,i){for(const c in i){const u=i[c];u!==void 0&&Object.prototype.hasOwnProperty.call(i,c)&&l(s,c,u)}}}(),Jc=(e,t)=>(typeof e=="string"?e:ns(e)).indexOf(" "+t+" ")>=0,Va=(e,t)=>{const n=ns(e),r=n+t;Jc(n,t)||(e.className=r.substring(1))},ja=(e,t)=>{const n=ns(e);if(!Jc(e,t))return;const r=n.replace(" "+t+" "," ");e.className=r.substring(1,r.length-1)},ns=e=>(" "+(e.className||"")+" ").replace(/\s+/gi," "),P2=e=>{e&&e.parentNode&&e.parentNode.removeChild(e)},R2=()=>{ve(()=>{const e=At(),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()})})},M2=at({setup(){R2()}}),O2=JSON.parse('{"encrypt":{},"author":{"name":"HalfSweet","url":"https://github.com/HalfSweet"},"logo":"/img/Headshot.jpg","repo":"HalfSweet/Blog","docsDir":"src","footer":"今天咕咕被欺负了吗","displayFooter":true,"blog":{"description":"Try to create some value","intro":"/Catalogue/02.about.html","medias":{"Email":"mailto:HalfSweet@HalfSweet.cn","GitHub":"https://github.com/HalfSweet","Twitter":"https://twitter.com/_HalfSweet"}},"navbarLayout":{"start":["Brand"],"center":["Links"],"end":["Language","Repo","Outlook","Search"]},"locales":{"/":{"lang":"zh-CN","navbarLocales":{"langName":"简体中文","selectLangAriaLabel":"选择语言"},"metaLocales":{"author":"作者","date":"写作日期","origin":"原创","views":"访问量","category":"分类","tag":"标签","readingTime":"阅读时间","words":"字数","toc":"此页内容","prev":"上一页","next":"下一页","lastUpdated":"上次编辑于","contributors":"贡献者","editLink":"在 GitHub 上编辑此页","print":"打印"},"blogLocales":{"article":"文章","articleList":"文章列表","category":"分类","tag":"标签","timeline":"时间轴","timelineTitle":"昨日不在","all":"全部","intro":"个人介绍","star":"星标","empty":"$text 为空"},"paginationLocales":{"prev":"上一页","next":"下一页","navigate":"跳转到","action":"前往","errorText":"请输入 1 到 $page 之前的页码!"},"outlookLocales":{"themeColor":"主题色","darkmode":"外观","fullscreen":"全屏"},"routeLocales":{"skipToContent":"跳至主要內容","notFoundTitle":"页面不存在","notFoundMsg":["这里什么也没有","我们是怎么来到这儿的?","这 是 四 零 四 !","看起来你访问了一个失效的链接"],"back":"返回上一页","home":"带我回家","openInNewWindow":"Open in new window"},"navbar":["/",{"text":"文章","link":"/posts/","icon":"app"},{"text":"关于","icon":"user","link":"/Catalogue/about.html"},{"text":"友链","icon":"link","link":"/Catalogue/friends.html"}],"sidebar":{"/":["",{"text":"文章","icon":"book","prefix":"posts/","children":"structure"}]}}}}'),$2=Z(O2),Xc=()=>$2,Qc=Symbol(""),H2=()=>{const e=Ce(Qc);if(!e)throw new Error("useThemeLocaleData() is called without provider.");return e},D2=(e,t)=>{const{locales:n,...r}=e;return{...r,...n==null?void 0:n[t]}},N2=at({enhance({app:e}){const t=Xc(),n=e._context.provides[Fl],r=_(()=>D2(t.value,n.routeLocale.value));e.provide(Qc,r),Object.defineProperties(e.config.globalProperties,{$theme:{get(){return t.value}},$themeLocale:{get(){return r.value}}})}});var B2={provider:"Giscus",lightTheme:"https://unpkg.com/vuepress-theme-hope@2.0.0-rc.31/templates/giscus/light.css",darkTheme:"https://unpkg.com/vuepress-theme-hope@2.0.0-rc.31/templates/giscus/dark.css",repo:"HalfSweet/Blog",repoId:"R_kgDOIWC9qQ",category:"comment",categoryId:"DIC_kwDOIWC9qc4CYtVz",mapping:"pathname",lazyLoading:!1};const F2=B2;let z2=F2;const Zc=Symbol(""),eu=()=>Ce(Zc),V2=eu,j2=e=>{e.provide(Zc,z2)},tu=()=>a("svg",{xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",preserveAspectRatio:"xMidYMid",viewBox:"0 0 100 100"},[a("circle",{cx:"28",cy:"75",r:"11",fill:"currentColor"},a("animate",{attributeName:"fill-opacity",begin:"0s",dur:"1s",keyTimes:"0;0.2;1",repeatCount:"indefinite",values:"0;1;1"})),a("path",{fill:"none",stroke:"#88baf0","stroke-width":"10",d:"M28 47a28 28 0 0 1 28 28"},a("animate",{attributeName:"stroke-opacity",begin:"0.1s",dur:"1s",keyTimes:"0;0.2;1",repeatCount:"indefinite",values:"0;1;1"})),a("path",{fill:"none",stroke:"#88baf0","stroke-width":"10",d:"M28 25a50 50 0 0 1 50 50"},a("animate",{attributeName:"stroke-opacity",begin:"0.2s",dur:"1s",keyTimes:"0;0.2;1",repeatCount:"indefinite",values:"0;1;1"}))]);tu.displayName="LoadingIcon";const Ga=["ar","ca","da","de","en","eo","es","fa","fr","he","id","it","ja","ko","nl","pl","pt","ro","ru","th","tr","uk","uz","vi","zh-CN","zh-TW"],G2=O({name:"GiscusComment",props:{identifier:{type:String,required:!0},darkmode:Boolean},setup(e){const t=V2(),n=ho(),r=!!(t.repo&&t.repoId&&t.category&&t.categoryId),{repo:o,repoId:l,category:s,categoryId:i}=t,c=Z(!1),u=_(()=>{if(Ga.includes(n.value))return n.value;const d=n.value.split("-")[0];return Ga.includes(d)?d:"en"}),f=_(()=>({repo:o,repoId:l,category:s,categoryId:i,lang:u.value,theme:e.darkmode?t.darkTheme||"dark":t.lightTheme||"light",mapping:t.mapping||"pathname",term:e.identifier,inputPosition:t.inputPosition||"top",reactionsEnabled:t.reactionsEnabled===!1?"0":"1",strict:t.strict===!1?"0":"1",loading:t.lazyLoading===!1?"eager":"lazy",emitMetadata:"0"}));return ve(async()=>{await F(()=>import("./giscus-D-fkNSKD.js"),__vite__mapDeps([])),c.value=!0}),()=>r?a("div",{id:"comment",class:["giscus-wrapper",{"input-top":t.inputPosition!=="bottom"}]},c.value?a("giscus-widget",f.value):a(tu)):null}}),U2=O({name:"CommentService",props:{darkmode:Boolean},setup(e){const t=eu(),n=de(),r=ge(),o=t.comment!==!1,l=_(()=>r.value.comment||o&&r.value.comment!==!1);return()=>a(G2,{id:"vp-comment",identifier:r.value.commentID||n.value.path,darkmode:e.darkmode,style:{display:l.value?"block":"none"}})}}),q2=at({enhance:({app:e})=>{j2(e),e.component("CommentService",U2)}}),W2=/\b(?:Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini)/i,K2=()=>typeof window<"u"&&window.navigator&&"userAgent"in window.navigator&&W2.test(navigator.userAgent),Y2=({delay:e=500,duration:t=2e3,locales:n,selector:r,showInMobile:o})=>{const{copy:l,copied:s}=W0({legacy:!0,copiedDuring:t}),i=fn(n),c=de(),u=p=>{if(!p.hasAttribute("copy-code-registered")){const h=document.createElement("button");h.type="button",h.classList.add("vp-copy-code-button"),h.innerHTML='<div class="vp-copy-icon" />',h.setAttribute("aria-label",i.value.copy),h.setAttribute("data-copied",i.value.copied),p.parentElement&&p.parentElement.insertBefore(h,p),p.setAttribute("copy-code-registered","")}},f=()=>{un().then(()=>Ec(e)).then(()=>{r.forEach(p=>{document.querySelectorAll(p).forEach(u)})})},d=(p,h,y)=>{let{innerText:b=""}=h;/language-(shellscript|shell|bash|sh|zsh)/.test(p.classList.toString())&&(b=b.replace(/^ *(\$|>) /gm,"")),l(b).then(()=>{y.classList.add("copied"),fe(s,()=>{y.classList.remove("copied"),y.blur()},{once:!0})})};ve(()=>{const p=!K2()||o;p&&f(),Me("click",h=>{const y=h.target;if(y.matches('div[class*="language-"] > button.copy')){const b=y.parentElement,E=y.nextElementSibling;E&&d(b,E,y)}else if(y.matches('div[class*="language-"] div.vp-copy-icon')){const b=y.parentElement,E=b.parentElement,w=b.nextElementSibling;w&&d(E,w,b)}}),fe(()=>c.value.path,()=>{p&&f()})})};var J2={"/":{copy:"复制代码",copied:"已复制"}},X2=['.theme-hope-content div[class*="language-"] pre'];const Q2=500,Z2=2e3,em=J2,tm=X2,nm=!1,rm=at({setup:()=>{Y2({selector:tm,locales:em,duration:Z2,delay:Q2,showInMobile:nm})}}),om=()=>{Me("beforeprint",()=>{document.querySelectorAll("details").forEach(e=>{e.open=!0})})},lm=at({enhance:({app:e})=>{},setup:()=>{om()}});let sm={};const nu=Symbol(""),am=()=>Ce(nu),im=e=>{e.provide(nu,sm)},cm='<div class="photo-swipe-loading"><svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" preserveAspectRatio="xMidYMid" viewBox="25 25 50 50"><animateTransform attributeName="transform" type="rotate" dur="2s" keyTimes="0;1" repeatCount="indefinite" values="0;360"></animateTransform><circle cx="50" cy="50" r="20" fill="none" stroke="currentColor" stroke-width="4" stroke-linecap="round"><animate attributeName="stroke-dasharray" dur="1.5s" keyTimes="0;0.5;1" repeatCount="indefinite" values="1,200;90,200;1,200"></animate><animate attributeName="stroke-dashoffset" dur="1.5s" keyTimes="0;0.5;1" repeatCount="indefinite" values="0;-35px;-125px"></animate></circle></svg></div>',um=e=>_e(e)?Array.from(document.querySelectorAll(e)):e.map(t=>Array.from(document.querySelectorAll(t))).flat(),ru=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(ru(e)),e.onerror=r=>n(r))}),fm=e=>{const{isSupported:t,toggle:n}=Jl();e.on("uiRegister",()=>{t.value&&e.ui.registerElement({name:"fullscreen",order:7,isButton:!0,html:'<svg class="pswp__icn" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path d="M249.5 270.833H437v-75H212a37.5 37.5 0 0 0-37.5 37.5v225h75v-187.5zm-37.5 600h225v-75H249.5v-187.5h-75v225a37.5 37.5 0 0 0 37.5 37.5zm637.5-37.5v-225h-75v187.5H587v75h225a37.5 37.5 0 0 0 37.5-37.5zM587 270.833h187.5v187.5h75v-225a37.5 37.5 0 0 0-37.5-37.5H587v75z"/></svg>',onClick:()=>{n()}}),e.ui.registerElement({name:"download",order:8,isButton:!0,tagName:"a",html:{isCustomSVG:!0,inner:'<path d="M20.5 14.3 17.1 18V10h-2.2v7.9l-3.4-3.6L10 16l6 6.1 6-6.1-1.5-1.6ZM23 23H9v2h14" id="pswp__icn-download"/>',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 l=[];let s=-1;for(let i=0;i<o.getNumItems();i++){const c=document.createElement("div");c.className="photo-swipe-bullet",c.onclick=u=>{o.goTo(l.indexOf(u.target))},l.push(c),r.appendChild(c)}o.on("change",()=>{s>=0&&l[s].classList.remove("active"),l[o.currIndex].classList.add("active"),s=o.currIndex})}})})},dm=(e,t,n=!0)=>F(()=>import("./photoswipe.esm-GXRgw7eJ.js"),__vite__mapDeps([])).then(({default:r})=>{let o=null;const l=e.map(s=>({html:cm,element:s,msrc:s.src}));return e.forEach((s,i)=>{const c=()=>{o==null||o.destroy(),o=new r({preloaderDelay:0,showHideAnimationType:"zoom",...t,dataSource:l,index:i,...n?{closeOnVerticalDrag:!0,wheelToZoom:!1}:{}}),fm(o),o.addFilter("thumbEl",()=>s),o.addFilter("placeholderSrc",()=>s.src),o.init()};s.getAttribute("photo-swipe")||(s.style.cursor="zoom-in",s.addEventListener("click",()=>{c()}),s.addEventListener("keypress",({key:u})=>{u==="Enter"&&c()}),s.setAttribute("photo-swipe","")),ru(s).then(u=>{l.splice(i,1,u),o==null||o.refreshSlideContent(i)})}),n?Me("wheel",()=>{o==null||o.close()}):()=>{}}),pm=({selector:e,locales:t,delay:n=500,scrollToClose:r=!0})=>{const o=am(),l=fn(t),s=de(),i=ge();let c=null;const u=()=>{const{photoSwipe:f}=i.value;f!==!1&&un().then(()=>Ec(n)).then(async()=>{const d=_e(f)?f:e;c=await dm(um(d),{...o,...l.value},r)})};ve(()=>{u(),fe(()=>s.value.path,()=>{c==null||c(),u()})}),Mn(()=>{c==null||c()})};var hm={"/":{closeTitle:"关闭",downloadTitle:"下载图片",fullscreenTitle:"切换全屏",zoomTitle:"缩放",arrowPrevTitle:"上一个 (左箭头)",arrowNextTitle:"下一个 (右箭头)"}};const mm=".theme-hope-content :not(a) > img:not([no-view])",vm=hm,gm=800,ym=!0,bm=at({enhance:({app:e})=>{im(e)},setup:()=>{pm({selector:mm,delay:gm,locales:vm,scrollToClose:ym})}}),ou=()=>{const e=de();return _(()=>e.value.readingTime??null)},lu=(e,t)=>{const{minutes:n,words:r}=e,{less1Minute:o,word:l,time:s}=t;return{time:n<1?o:s.replace("$time",Math.round(n).toString()),words:l.replace("$word",r.toString())}};var Ua={"/":{word:"约 $word 字",less1Minute:"小于 1 分钟",time:"大约 $time 分钟"}};const qa={words:"",time:""},sl=typeof Ua>"u"?null:Ua,su=()=>sl?fn(sl):_(()=>null),_m=()=>{if(typeof sl>"u")return _(()=>qa);const e=ou(),t=su();return _(()=>e.value&&t.value?lu(e.value,t.value):qa)},qt=()=>Xc(),le=()=>H2(),dn=()=>{const e=qt();return _(()=>!!e.value.pure)},Vo=()=>null,wm="719px",Em="1440px",Sm="false",rs={mobileBreakPoint:wm,pcBreakPoint:Em,enableThemeColor:Sm},os={"/posts/":["/posts/Air32-Clion/","/posts/Air32-HAL-MCO/","/posts/HelloWorld/","/posts/STC_CoreMark/","/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/","/posts/Air32-HAL-HighFreq/","/posts/embedded_fmtlib/","/posts/conda_novelai/","/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/","/posts/Empedded-CI-CD/","/posts/MDK6-Dev/","/posts/SEGGER-RTT/","/posts/EpdTraps1/"]},au=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`),gt(t)?a("img",{class:"icon",src:t,alt:"","no-view":"",style:o}):br(t)?a("img",{class:"icon",src:be(t),alt:"","aria-hidden":"","no-view":"",style:o}):a(Xe("FontIcon"),e)};au.displayName="HopeIcon";var Ne=au;const Sr=()=>{const e=At(),t=Gt();return n=>{if(n)if(br(n))t.path!==n&&e.push(n);else if(lc(n))window&&window.open(n);else{const r=t.path.slice(0,t.path.lastIndexOf("/"));e.push(`${r}/${encodeURI(n)}`)}}},iu=()=>{const e=le(),t=ge();return _(()=>{const{author:n}=t.value;return n?ir(n):n===!1?[]:ir(e.value.author,!1)})},Cm=()=>{const e=ge(),t=Ce(Symbol.for("categoryMap"));return _(()=>Ic(e.value.category).map(n=>{var r;return{name:n,path:((r=t==null?void 0:t.value.map[n])==null?void 0:r.path)||""}}))},Tm=()=>{const e=ge(),t=Ce(Symbol.for("tagMap"));return _(()=>Pc(e.value.tag).map(n=>{var r;return{name:n,path:((r=t==null?void 0:t.value.map[n])==null?void 0:r.path)||""}}))},Am=()=>{const e=ge(),t=de();return _(()=>{const n=zl(e.value.date);if(n)return n;const{createdTime:r}=t.value.git||{};return r?new Date(r):null})},km=()=>{const e=le(),t=de(),n=ge(),r=iu(),o=Cm(),l=Tm(),s=Am(),i=ou(),c=_m(),u=_(()=>({author:r.value,category:o.value,date:s.value,localizedDate:t.value.localizedDate,tag:l.value,isOriginal:n.value.isOriginal||!1,readingTime:i.value,readingTimeLocale:c.value,pageview:"pageview"in n.value?n.value.pageview:!0})),f=_(()=>"pageInfo"in n.value?n.value.pageInfo:"pageInfo"in e.value?e.value.pageInfo:null);return{info:u,items:f}},{mobileBreakPoint:xm,pcBreakPoint:Lm}=rs,Wa=e=>e.endsWith("px")?Number(e.slice(0,-2)):null,Cr=()=>{const e=Z(!1),t=Z(!1),n=()=>{e.value=window.innerWidth<=(Wa(xm)??719),t.value=window.innerWidth>=(Wa(Lm)??1440)};return ve(()=>{n(),Me("resize",n,!1),Me("orientationchange",n,!1)}),{isMobile:e,isPC:t}},cu=Symbol(""),Tr=()=>{const e=Ce(cu);if(!e)throw new Error("useDarkmode() is called without provider.");return e},Im=e=>{const t=qt(),n=eh(),r=_(()=>t.value.darkmode||"switch"),o=Z0("vuepress-theme-hope-scheme","auto"),l=_(()=>{const i=r.value;return i==="disable"?!1:i==="enable"?!0:i==="auto"?n.value:i==="toggle"?o.value==="dark":o.value==="dark"||o.value==="auto"&&n.value}),s=_(()=>{const i=r.value;return i==="switch"||i==="toggle"});e.provide(cu,{canToggle:s,config:r,isDarkmode:l,status:o}),Object.defineProperties(e.config.globalProperties,{$isDarkmode:{get:()=>l.value}})},Pm=()=>{const{config:e,isDarkmode:t,status:n}=Tr();ji(()=>{e.value==="disable"?n.value="light":e.value==="enable"?n.value="dark":e.value==="toggle"&&n.value==="auto"&&(n.value="light")}),ve(()=>{fe(t,r=>document.documentElement.setAttribute("data-theme",r?"dark":"light"),{immediate:!0})})};var ye=(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))(ye||{}),uu=(e=>(e.article="a",e.home="h",e.slide="s",e.page="p",e))(uu||{});const tn=(e="",t="")=>br(t)?t:`${Hl(e)}${t}`,En=(e,t=!1)=>{const{meta:n,path:r,notFound:o}=$n(e);return o?{text:r,link:r}:{text:!t&&n[ye.shortTitle]?n[ye.shortTitle]:n[ye.title]||r,link:r,...n[ye.icon]?{icon:n[ye.icon]}:{}}},al=({config:e,prefix:t=""})=>{const n=(r,o=t)=>{const l=_e(r)?En(tn(o,r)):r.link?{...r,...sn(r.link)?{}:{link:En(tn(o,r.link)).link}}:r;if("children"in l){const s=tn(o,l.prefix),i=l.children==="structure"?os[s]:l.children;return{type:"group",...l,prefix:s,children:i.map(c=>n(c,s))}}return{type:"page",...l}};return e.map(r=>n(r))},Rm=({config:e,page:t,headerDepth:n})=>{const r=st(e).sort((o,l)=>l.length-o.length);for(const o of r)if(Ln(decodeURI(t.path),o)){const l=e[o];return l?al({config:l==="structure"?os[o]:l,page:t,headerDepth:n,prefix:o}):[]}return console.warn(`${t.path} is missing sidebar config.`),[]},Mm=({config:e,routeLocale:t,page:n,headerDepth:r})=>e==="structure"?al({config:os[t],page:n,headerDepth:r,prefix:t}):ro(e)?al({config:e,page:n,headerDepth:r}):On(e)?Rm({config:e,page:n,headerDepth:r}):[],fu=Symbol(""),Om=()=>{const e=ge(),t=le(),n=de(),r=kt(),o=_(()=>e.value.home?!1:e.value.sidebar??t.value.sidebar??"structure"),l=_(()=>e.value.headerDepth??t.value.headerDepth??2),s=Rc(()=>[o.value,l.value,n.value.path,null],()=>Mm({config:o.value,routeLocale:r.value,page:n.value,headerDepth:l.value}));ft(fu,s)},ls=()=>{const e=Ce(fu);if(!e)throw new Error("useSidebarItems() is called without provider.");return e};var $m=O({name:"PageFooter",setup(){const e=qt(),t=le(),n=ge(),r=iu(),o=_(()=>{const{copyright:u,footer:f}=n.value;return f!==!1&&!!(u||f||t.value.displayFooter)}),l=_(()=>{const{footer:u}=n.value;return u===!1?!1:_e(u)?u:t.value.footer||""}),s=_(()=>r.value.map(({name:u})=>u).join(", ")),i=u=>`Copyright © ${new Date().getFullYear()} ${s.value} ${u?`${u} Licensed`:""}`,c=_(()=>{const{copyright:u,license:f=""}=n.value,{license:d}=e.value,{copyright:p}=t.value;return u??(f?i(f):_e(p)?p:s.value||d?i(d):!1)});return()=>o.value?a("footer",{class:"vp-footer-wrapper"},[l.value?a("div",{class:"vp-footer",innerHTML:l.value}):null,c.value?a("div",{class:"vp-copyright",innerHTML:c.value}):null]):null}}),Ue=O({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=Gt(),l=yc(),s=Rn(e,"config"),i=_(()=>gt(s.value.link)),c=_(()=>!i.value&&lc(s.value.link)),u=_(()=>s.value.target||(i.value?"_blank":void 0)),f=_(()=>u.value==="_blank"),d=_(()=>!i.value&&!c.value&&!f.value),p=_(()=>s.value.rel||(f.value?"noopener noreferrer":null)),h=_(()=>s.value.ariaLabel||s.value.text),y=_(()=>{if(e.exact)return!1;const E=st(l.value.locales);return E.length?E.every(w=>w!==s.value.link):s.value.link!=="/"}),b=_(()=>d.value?s.value.activeMatch?new RegExp(s.value.activeMatch,"u").test(o.path):y.value?Ln(o.path,s.value.link):o.path===s.value.link:!1);return()=>{const{before:E,after:w,default:C}=r,{text:g,icon:k,link:D}=s.value;return d.value?a(ke,{to:D,"aria-label":h.value,...t,class:["nav-link",{active:b.value},t.class],onFocusout:()=>n("focusout")},()=>C?C():[E?E():a(Ne,{icon:k}),g,w==null?void 0:w()]):a("a",{href:D,rel:p.value,target:u.value,"aria-label":h.value,...t,class:["nav-link",t.class],onFocusout:()=>n("focusout")},C?C():[E?E():a(Ne,{icon:k}),g,e.noExternalLinkIcon?null:a(Yc),w==null?void 0:w()])}}}),Hm=O({name:"NavbarDropdownLink",props:{config:{type:Object,required:!0}},slots:Object,setup(e,{slots:t}){const n=de(),r=Rn(e,"config"),o=_(()=>r.value.ariaLabel||r.value.text),l=Z(!1);fe(()=>n.value.path,()=>{l.value=!1});const s=i=>{i.detail===0&&(l.value=!l.value)};return()=>{var i;return a("div",{class:["dropdown-wrapper",{open:l.value}]},[a("button",{type:"button",class:"dropdown-title","aria-label":o.value,onClick:s},[((i=t.title)==null?void 0:i.call(t))||a("span",{class:"title"},[a(Ne,{icon:r.value.icon}),e.config.text]),a("span",{class:"arrow"}),a("ul",{class:"nav-dropdown"},r.value.children.map((c,u)=>{const f=u===r.value.children.length-1;return a("li",{class:"dropdown-item"},"children"in c?[a("h4",{class:"dropdown-subtitle"},c.link?a(Ue,{config:c,onFocusout:()=>{c.children.length===0&&f&&(l.value=!1)}}):a("span",c.text)),a("ul",{class:"dropdown-subitem-wrapper"},c.children.map((d,p)=>a("li",{class:"dropdown-subitem"},a(Ue,{config:d,onFocusout:()=>{p===c.children.length-1&&f&&(l.value=!1)}}))))]:a(Ue,{config:c,onFocusout:()=>{f&&(l.value=!1)}}))}))])])}}});const du=(e,t="")=>_e(e)?En(tn(t,e)):"children"in e?{...e,...e.link&&!sn(e.link)?En(tn(t,e.link)):{},children:e.children.map(n=>du(n,tn(t,e.prefix)))}:{...e,link:sn(e.link)?e.link:En(tn(t,e.link)).link},pu=()=>{const e=le(),t=()=>(e.value.navbar||[]).map(n=>du(n));return Rc(()=>e.value.navbar,()=>t())},Dm=()=>{const e=le(),t=_(()=>e.value.repo||null),n=_(()=>t.value?k0(t.value):null),r=_(()=>t.value?Wl(t.value):null),o=_(()=>n.value?e.value.repoLabel??(r.value===null?"Source":r.value):null);return _(()=>!n.value||!o.value||e.value.repoDisplay===!1?null:{type:r.value||"Source",label:o.value,link:n.value})};var Nm=O({name:"NavScreenDropdown",props:{config:{type:Object,required:!0}},setup(e){const t=de(),n=Rn(e,"config"),r=_(()=>n.value.ariaLabel||n.value.text),o=Z(!1);fe(()=>t.value.path,()=>{o.value=!1});const l=(s,i)=>i[i.length-1]===s;return()=>[a("button",{type:"button",class:["nav-screen-dropdown-title",{active:o.value}],"aria-label":r.value,onClick:()=>{o.value=!o.value}},[a("span",{class:"title"},[a(Ne,{icon:n.value.icon}),e.config.text]),a("span",{class:["arrow",o.value?"down":"end"]})]),a("ul",{class:["nav-screen-dropdown",{hide:!o.value}]},n.value.children.map(s=>a("li",{class:"dropdown-item"},"children"in s?[a("h4",{class:"dropdown-subtitle"},s.link?a(Ue,{config:s,onFocusout:()=>{l(s,n.value.children)&&s.children.length===0&&(o.value=!1)}}):a("span",s.text)),a("ul",{class:"dropdown-subitem-wrapper"},s.children.map(i=>a("li",{class:"dropdown-subitem"},a(Ue,{config:i,onFocusout:()=>{l(i,s.children)&&l(s,n.value.children)&&(o.value=!1)}}))))]:a(Ue,{config:s,onFocusout:()=>{l(s,n.value.children)&&(o.value=!1)}}))))]}}),Bm=O({name:"NavScreenLinks",setup(){const e=pu();return()=>e.value.length?a("nav",{class:"nav-screen-links"},e.value.map(t=>a("div",{class:"navbar-links-item"},"children"in t?a(Nm,{config:t}):a(Ue,{config:t})))):null}});const hu=()=>a(ue,{name:"dark"},()=>a("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"}));hu.displayName="DarkIcon";const mu=()=>a(ue,{name:"light"},()=>a("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"}));mu.displayName="LightIcon";const vu=()=>a(ue,{name:"auto"},()=>a("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"}));vu.displayName="AutoIcon";const gu=()=>a(ue,{name:"enter-fullscreen"},()=>a("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"}));gu.displayName="EnterFullScreenIcon";const yu=()=>a(ue,{name:"cancel-fullscreen"},()=>a("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"}));yu.displayName="CancelFullScreenIcon";const bu=()=>a(ue,{name:"outlook"},()=>[a("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"})]);bu.displayName="OutlookIcon";var _u=O({name:"AppearanceSwitch",setup(){const{config:e,isDarkmode:t,status:n}=Tr(),r=dn(),o=()=>{e.value==="switch"?n.value={light:"dark",dark:"auto",auto:"light"}[n.value]:n.value=n.value==="light"?"dark":"light"},l=async s=>{if(!(document.startViewTransition&&!window.matchMedia("(prefers-reduced-motion: reduce)").matches&&!r.value)||!s){o();return}const i=s.clientX,c=s.clientY,u=Math.hypot(Math.max(i,innerWidth-i),Math.max(c,innerHeight-c)),f=t.value;await document.startViewTransition(async()=>{o(),await un()}).ready,t.value!==f&&document.documentElement.animate({clipPath:t.value?[`circle(${u}px at ${i}px ${c}px)`,`circle(0px at ${i}px ${c}px)`]:[`circle(0px at ${i}px ${c}px)`,`circle(${u}px at ${i}px ${c}px)`]},{duration:400,pseudoElement:t.value?"::view-transition-old(root)":"::view-transition-new(root)"})};return()=>a("button",{type:"button",id:"appearance-switch",onClick:l},[a(vu,{style:{display:n.value==="auto"?"block":"none"}}),a(hu,{style:{display:n.value==="dark"?"block":"none"}}),a(mu,{style:{display:n.value==="light"?"block":"none"}})])}}),Fm=O({name:"AppearanceMode",setup(){const e=le(),{canToggle:t}=Tr(),n=_(()=>e.value.outlookLocales.darkmode);return()=>t.value?a("div",{class:"appearance-wrapper"},[a("label",{class:"appearance-title",for:"appearance-switch"},n.value),a(_u)]):null}});const jo="VUEPRESS_THEME_COLOR";var zm=O({name:"ThemeColorPicker",props:{themeColor:{type:Object,required:!0}},setup(e){const t=(n="")=>{const r=document.documentElement.classList,o=st(e.themeColor);if(!n){localStorage.removeItem(jo),r.remove(...o);return}r.remove(...o.filter(l=>l!==n)),r.add(n),localStorage.setItem(jo,n)};return ve(()=>{const n=localStorage.getItem(jo);n&&t(n)}),()=>a("ul",{id:"theme-color-picker"},[a("li",a("span",{class:"theme-color",onClick:()=>t()})),Ut(e.themeColor).map(([n,r])=>a("li",a("span",{style:{background:r},onClick:()=>t(n)})))])}});const Sn=rs.enableThemeColor==="true",Vm=Sn?b0(Ut(rs).filter(([e])=>e.startsWith("theme-"))):{};var jm=O({name:"ThemeColor",setup(){const e=le(),t=_(()=>e.value.outlookLocales.themeColor);return()=>Sn?a("div",{class:"theme-color-wrapper"},[a("label",{class:"theme-color-title",for:"theme-color-picker"},t.value),a(zm,{themeColor:Vm})]):null}}),wu=O({name:"ToggleFullScreenButton",setup(){const e=le(),{isSupported:t,isFullscreen:n,toggle:r}=Jl(),o=_(()=>e.value.outlookLocales.fullscreen);return()=>t?a("div",{class:"full-screen-wrapper"},[a("label",{class:"full-screen-title",for:"full-screen-switch"},o.value),a("button",{type:"button",id:"full-screen-switch",class:"full-screen",ariaPressed:n.value,onClick:()=>r()},n.value?a(yu):a(gu))]):null}}),Eu=O({name:"OutlookSettings",setup(){const e=qt(),t=dn(),n=_(()=>!t.value&&e.value.fullscreen);return()=>a(mo,()=>[Sn?a(jm):null,a(Fm),n.value?a(wu):null])}}),Gm=O({name:"NavScreen",props:{show:Boolean},emits:["close"],slots:Object,setup(e,{emit:t,slots:n}){const r=de(),{isMobile:o}=Cr(),l=Be(),s=Dc(l);return ve(()=>{l.value=document.body,fe(o,i=>{!i&&e.show&&(s.value=!1,t("close"))}),fe(()=>r.value.path,()=>{s.value=!1,t("close")})}),Mn(()=>{s.value=!1}),()=>a(Ft,{name:"fade",onEnter:()=>{s.value=!0},onAfterLeave:()=>{s.value=!1}},()=>{var i,c;return e.show?a("div",{id:"nav-screen"},a("div",{class:"vp-nav-screen-container"},[(i=n.before)==null?void 0:i.call(n),a(Bm),a("div",{class:"vp-outlook-wrapper"},a(Eu)),(c=n.after)==null?void 0:c.call(n)])):null})}}),Um=O({name:"NavbarBrand",setup(){const e=kt(),t=yr(),n=le(),r=_(()=>n.value.home||e.value),o=_(()=>t.value.title),l=_(()=>n.value.navTitle??o.value),s=_(()=>n.value.logo?be(n.value.logo):null),i=_(()=>n.value.logoDark?be(n.value.logoDark):null);return()=>a(ke,{to:r.value,class:"vp-brand"},()=>[s.value?a("img",{class:["vp-nav-logo",{light:!!i.value}],src:s.value,alt:""}):null,i.value?a("img",{class:["vp-nav-logo dark"],src:i.value,alt:""}):null,l.value?a("span",{class:["vp-site-name",{"hide-in-pad":s.value&&n.value.hideSiteNameOnMobile!==!1}]},l.value):null])}}),qm=O({name:"NavbarLinks",setup(){const e=pu();return()=>e.value.length?a("nav",{class:"vp-nav-links"},e.value.map(t=>a("div",{class:"nav-item hide-in-mobile"},"children"in t?a(Hm,{config:t}):a(Ue,{config:t})))):null}}),Wm=O({name:"RepoLink",components:{BitbucketIcon:Ul,GiteeIcon:Gl,GitHubIcon:Vl,GitLabIcon:jl,SourceIcon:ql},setup(){const e=Dm();return()=>e.value?a("div",{class:"nav-item vp-repo"},a("a",{class:"vp-repo-link",href:e.value.link,target:"_blank",rel:"noopener noreferrer","aria-label":e.value.label},a(Xe(`${e.value.type}Icon`),{style:{width:"1.25rem",height:"1.25rem",verticalAlign:"middle"}}))):null}});const Su=({active:e=!1},{emit:t})=>a("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")},a("span",[a("span",{class:"vp-top"}),a("span",{class:"vp-middle"}),a("span",{class:"vp-bottom"})]));Su.displayName="ToggleNavbarButton";var Km=Su;const il=(e,{emit:t})=>a("button",{type:"button",class:"vp-toggle-sidebar-button",title:"Toggle Sidebar",onClick:()=>t("toggle")},a("span",{class:"icon"}));il.displayName="ToggleSidebarButton",il.emits=["toggle"];var Ym=il,Jm=O({name:"OutlookButton",setup(){const{isSupported:e}=Jl(),t=qt(),n=dn(),r=de(),{canToggle:o}=Tr(),l=Z(!1),s=_(()=>!n.value&&t.value.fullscreen&&e);return fe(()=>r.value.path,()=>{l.value=!1}),()=>o.value||s.value||Sn?a("div",{class:"nav-item hide-in-mobile"},o.value&&!s.value&&!Sn?a(_u):s.value&&!o.value&&!Sn?a(wu):a("button",{type:"button",class:["outlook-button",{open:l.value}],tabindex:"-1","aria-hidden":!0},[a(bu),a("div",{class:"outlook-dropdown"},a(Eu))])):null}}),Xm=O({name:"NavBar",emits:["toggleSidebar"],slots:Object,setup(e,{emit:t,slots:n}){const r=le(),{isMobile:o}=Cr(),l=Z(!1),s=_(()=>{const{navbarAutoHide:f="mobile"}=r.value;return f!=="none"&&(f==="always"||o.value)}),i=_(()=>r.value.navbarLayout||{start:["Brand"],center:["Links"],end:["Language","Repo","Outlook","Search"]}),c={Brand:Um,Language:Vo,Links:qm,Repo:Wm,Outlook:Jm,Search:Le("Docsearch")?Xe("Docsearch"):Le("SearchBox")?Xe("SearchBox"):Vo},u=f=>c[f]??(Le(f)?Xe(f):Vo);return()=>{var f,d,p,h,y,b;return[a("header",{key:"navbar",id:"navbar",class:["vp-navbar",{"auto-hide":s.value,"hide-icon":r.value.navbarIcon===!1}]},[a("div",{class:"vp-navbar-start"},[a(Ym,{onToggle:()=>{l.value&&(l.value=!1),t("toggleSidebar")}}),(f=n.startBefore)==null?void 0:f.call(n),(i.value.start||[]).map(E=>a(u(E))),(d=n.startAfter)==null?void 0:d.call(n)]),a("div",{class:"vp-navbar-center"},[(p=n.centerBefore)==null?void 0:p.call(n),(i.value.center||[]).map(E=>a(u(E))),(h=n.centerAfter)==null?void 0:h.call(n)]),a("div",{class:"vp-navbar-end"},[(y=n.endBefore)==null?void 0:y.call(n),(i.value.end||[]).map(E=>a(u(E))),(b=n.endAfter)==null?void 0:b.call(n),a(Km,{active:l.value,onToggle:()=>{l.value=!l.value}})])]),a(Gm,{show:l.value,onClose:()=>{l.value=!1}},{before:()=>{var E;return(E=n.screenTop)==null?void 0:E.call(n)},after:()=>{var E;return(E=n.screenBottom)==null?void 0:E.call(n)}})]}}});const cr=(e,t,n=!1)=>"activeMatch"in t?new RegExp(t.activeMatch,"u").test(e.path):kc(e,t.link)?!0:"children"in t&&!n?t.children.some(r=>cr(e,r)):!1,Cu=(e,t)=>t.type==="group"?t.children.some(n=>n.type==="group"?Cu(e,n):n.type==="page"&&cr(e,n,!0))||"prefix"in t&&kc(e,t.prefix):!1;var Qm=O({name:"SidebarChild",props:{config:{type:Object,required:!0}},setup(e){const t=Gt();return()=>_e(e.config.link)?a(Ue,{class:["vp-sidebar-link","vp-sidebar-page",{active:cr(t,e.config,!0)}],exact:!0,config:e.config}):a("p",e,[a(Ne,{icon:e.config.icon}),e.config.text])}}),Zm=O({name:"SidebarGroup",props:{config:{type:Object,required:!0},open:{type:Boolean,required:!0}},emits:["toggle"],setup(e,{emit:t}){const n=Gt(),r=_(()=>cr(n,e.config)),o=_(()=>cr(n,e.config,!0));return()=>{const{collapsible:l,children:s=[],icon:i,prefix:c,link:u,text:f}=e.config;return a("section",{class:"vp-sidebar-group"},[a(l?"button":"p",{class:["vp-sidebar-header",{clickable:l||u,exact:o.value,active:r.value}],...l?{type:"button",onClick:()=>t("toggle"),onKeydown:d=>{d.key==="Enter"&&t("toggle")}}:{}},[a(Ne,{icon:i}),u?a(Ue,{class:"vp-sidebar-title",config:{text:f,link:u},noExternalLinkIcon:!0}):a("span",{class:"vp-sidebar-title"},f),l?a("span",{class:["vp-arrow",e.open?"down":"end"]}):null]),e.open||!l?a(Tu,{key:c,config:s}):null])}}}),Tu=O({name:"SidebarLinks",props:{config:{type:Array,required:!0}},setup(e){const t=Gt(),n=Z(-1),r=o=>{n.value=o===n.value?-1:o};return fe(()=>t.path,()=>{const o=e.config.findIndex(l=>Cu(t,l));n.value=o},{immediate:!0,flush:"post"}),()=>a("ul",{class:"vp-sidebar-links"},e.config.map((o,l)=>a("li",o.type==="group"?a(Zm,{config:o,open:l===n.value,onToggle:()=>r(l)}):a(Qm,{config:o}))))}}),e3=O({name:"SideBar",slots:Object,setup(e,{slots:t}){const n=Gt(),r=le(),o=ls(),l=Be();return ve(()=>{fe(()=>n.hash,s=>{const i=document.querySelector(`.vp-sidebar a.vp-sidebar-link[href="${n.path}${s}"]`);if(!i)return;const{top:c,height:u}=l.value.getBoundingClientRect(),{top:f,height:d}=i.getBoundingClientRect();f<c?i.scrollIntoView(!0):f+d>c+u&&i.scrollIntoView(!1)},{immediate:!0})}),()=>{var s,i,c;return a("aside",{ref:l,id:"sidebar",class:["vp-sidebar",{"hide-icon":r.value.sidebarIcon===!1}],key:"sidebar"},[(s=t.top)==null?void 0:s.call(t),((i=t.default)==null?void 0:i.call(t))||a(Tu,{config:o.value}),(c=t.bottom)==null?void 0:c.call(t)])}}}),ss=O({name:"CommonWrapper",props:{containerClass:{type:String,default:""},noNavbar:Boolean,noSidebar:Boolean,noToc:Boolean},slots:Object,setup(e,{slots:t}){const n=At(),r=de(),o=ge(),l=le(),{isMobile:s,isPC:i}=Cr(),[c,u]=ol(!1),[f,d]=ol(!1),p=ls(),h=Z(!1),y=_(()=>e.noNavbar||o.value.navbar===!1||l.value.navbar===!1?!1:!!(r.value.title||l.value.logo||l.value.repo||l.value.navbar)),b=_(()=>e.noSidebar?!1:o.value.sidebar!==!1&&p.value.length!==0&&!o.value.home),E=_(()=>e.noToc||o.value.home?!1:o.value.toc||l.value.toc!==!1&&o.value.toc!==!1),w={x:0,y:0},C=T=>{w.x=T.changedTouches[0].clientX,w.y=T.changedTouches[0].clientY},g=T=>{const G=T.changedTouches[0].clientX-w.x,X=T.changedTouches[0].clientY-w.y;Math.abs(G)>Math.abs(X)*1.5&&Math.abs(G)>40&&(G>0&&w.x<=80?u(!0):u(!1))},k=()=>window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;let D=0;return Me("scroll",z0(()=>{const T=k();T<=58||T<D?h.value=!1:D+200<T&&!c.value&&(h.value=!0),D=T},300,!0)),fe(s,T=>{T||u(!1)}),ve(()=>{const T=Dc(document.body);fe(c,X=>{T.value=X});const G=n.afterEach(()=>{u(!1)});Mn(()=>{T.value=!1,G()})}),()=>a(Le("GlobalEncrypt")?Xe("GlobalEncrypt"):Tc,()=>a("div",{class:["theme-container",{"no-navbar":!y.value,"no-sidebar":!b.value&&!(t.sidebar||t.sidebarTop||t.sidebarBottom),"has-toc":E.value,"hide-navbar":h.value,"sidebar-collapsed":!s.value&&!i.value&&f.value,"sidebar-open":s.value&&c.value},e.containerClass,o.value.containerClass||""],onTouchStart:C,onTouchEnd:g},[y.value?a(Xm,{onToggleSidebar:()=>u()},{startBefore:()=>{var T;return(T=t.navbarStartBefore)==null?void 0:T.call(t)},startAfter:()=>{var T;return(T=t.navbarStartAfter)==null?void 0:T.call(t)},centerBefore:()=>{var T;return(T=t.navbarCenterBefore)==null?void 0:T.call(t)},centerAfter:()=>{var T;return(T=t.navbarCenterAfter)==null?void 0:T.call(t)},endBefore:()=>{var T;return(T=t.navbarEndBefore)==null?void 0:T.call(t)},endAfter:()=>{var T;return(T=t.navbarEndAfter)==null?void 0:T.call(t)},screenTop:()=>{var T;return(T=t.navScreenTop)==null?void 0:T.call(t)},screenBottom:()=>{var T;return(T=t.navScreenBottom)==null?void 0:T.call(t)}}):null,a(Ft,{name:"fade"},()=>c.value?a("div",{class:"vp-sidebar-mask",onClick:()=>u(!1)}):null),a(Ft,{name:"fade"},()=>s.value?null:a("div",{class:"toggle-sidebar-wrapper",onClick:()=>d()},a("span",{class:["arrow",f.value?"end":"start"]}))),a(e3,{},{...t.sidebar?{default:()=>t.sidebar()}:{},top:()=>{var T;return(T=t.sidebarTop)==null?void 0:T.call(t)},bottom:()=>{var T;return(T=t.sidebarBottom)==null?void 0:T.call(t)}}),t.default(),a($m)]))}}),ce=O({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()=>a(e.type==="single"?Ft:Dp,{name:"drop",appear:e.appear,onAppear:n,onAfterAppear:r,onEnter:n,onAfterEnter:r,onBeforeLeave:n},()=>t.default())}});const cl=({custom:e})=>a(wc,{class:["theme-hope-content",{custom:e}]});cl.displayName="MarkdownContent",cl.props={custom:Boolean};var as=cl;const Au=()=>a(ue,{name:"author"},()=>a("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"}));Au.displayName="AuthorIcon";const ku=()=>a(ue,{name:"calendar"},()=>a("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"}));ku.displayName="CalendarIcon";const xu=()=>a(ue,{name:"category"},()=>a("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"}));xu.displayName="CategoryIcon";const Lu=()=>a(ue,{name:"print"},()=>a("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"}));Lu.displayName="PrintIcon";const Iu=()=>a(ue,{name:"tag"},()=>a("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"}));Iu.displayName="TagIcon";const Pu=()=>a(ue,{name:"timer"},()=>a("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"}));Pu.displayName="TimerIcon";const Ru=()=>a(ue,{name:"word"},()=>[a("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"}),a("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"})]);Ru.displayName="WordIcon";const Wt=()=>{const e=le();return _(()=>e.value.metaLocales)};var t3=O({name:"AuthorInfo",inheritAttrs:!1,props:{author:{type:Array,required:!0},pure:Boolean},setup(e){const t=Wt();return()=>e.author.length?a("span",{class:"page-author-info","aria-label":`${t.value.author}${e.pure?"":"🖊"}`,...e.pure?{}:{"data-balloon-pos":"up"}},[a(Au),a("span",e.author.map(n=>n.url?a("a",{class:"page-author-item",href:n.url,target:"_blank",rel:"noopener noreferrer"},n.name):a("span",{class:"page-author-item"},n.name))),a("span",{property:"author",content:e.author.map(n=>n.name).join(", ")})]):null}}),n3=O({name:"CategoryInfo",inheritAttrs:!1,props:{category:{type:Array,required:!0},pure:Boolean},setup(e){const t=At(),n=de(),r=Wt(),o=(l,s="")=>{s&&n.value.path!==s&&(l.preventDefault(),t.push(s))};return()=>e.category.length?a("span",{class:"page-category-info","aria-label":`${r.value.category}${e.pure?"":"🌈"}`,...e.pure?{}:{"data-balloon-pos":"up"}},[a(xu),e.category.map(({name:l,path:s})=>a("span",{class:["page-category-item",{[`category${vo(l,9)}`]:!e.pure,clickable:s}],role:s?"navigation":"",onClick:i=>o(i,s)},l)),a("meta",{property:"articleSection",content:e.category.map(({name:l})=>l).join(",")})]):null}}),r3=O({name:"DateInfo",inheritAttrs:!1,props:{date:{type:Object,default:null},localizedDate:{type:String,default:""},pure:Boolean},setup(e){const t=ho(),n=Wt();return()=>e.date?a("span",{class:"page-date-info","aria-label":`${n.value.date}${e.pure?"":"📅"}`,...e.pure?{}:{"data-balloon-pos":"up"}},[a(ku),a("span",a(mo,()=>e.localizedDate||e.date.toLocaleDateString(t.value))),a("meta",{property:"datePublished",content:e.date.toISOString()||""})]):null}}),o3=O({name:"OriginalInfo",inheritAttrs:!1,props:{isOriginal:Boolean},setup(e){const t=Wt();return()=>e.isOriginal?a("span",{class:"page-original-info"},t.value.origin):null}}),l3=O({name:"ReadingTimeInfo",inheritAttrs:!1,props:{readingTime:{type:Object,default:()=>null},readingTimeLocale:{type:Object,default:()=>null},pure:Boolean},setup(e){const t=Wt(),n=_(()=>{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?a("span",{class:"page-reading-time-info","aria-label":`${t.value.readingTime}${e.pure?"":"⌛"}`,...e.pure?{}:{"data-balloon-pos":"up"}},[a(Pu),a("span",(o=e.readingTimeLocale)==null?void 0:o.time),a("meta",{property:"timeRequired",content:n.value})]):null}}}),s3=O({name:"TagInfo",inheritAttrs:!1,props:{tag:{type:Array,default:()=>[]},pure:Boolean},setup(e){const t=At(),n=de(),r=Wt(),o=(l,s="")=>{s&&n.value.path!==s&&(l.preventDefault(),t.push(s))};return()=>e.tag.length?a("span",{class:"page-tag-info","aria-label":`${r.value.tag}${e.pure?"":"🏷"}`,...e.pure?{}:{"data-balloon-pos":"up"}},[a(Iu),e.tag.map(({name:l,path:s})=>a("span",{class:["page-tag-item",{[`tag${vo(l,9)}`]:!e.pure,clickable:s}],role:s?"navigation":"",onClick:i=>o(i,s)},l)),a("meta",{property:"keywords",content:e.tag.map(({name:l})=>l).join(",")})]):null}}),a3=O({name:"ReadTimeInfo",inheritAttrs:!1,props:{readingTime:{type:Object,default:()=>null},readingTimeLocale:{type:Object,default:()=>null},pure:Boolean},setup(e){const t=Wt();return()=>{var n,r,o;return(n=e.readingTimeLocale)!=null&&n.words?a("span",{class:"page-word-info","aria-label":`${t.value.words}${e.pure?"":"🔠"}`,...e.pure?{}:{"data-balloon-pos":"up"}},[a(Ru),a("span",(r=e.readingTimeLocale)==null?void 0:r.words),a("meta",{property:"wordCount",content:(o=e.readingTime)==null?void 0:o.words})]):null}}}),Mu=O({name:"PageInfo",components:{AuthorInfo:t3,CategoryInfo:n3,DateInfo:r3,OriginalInfo:o3,PageViewInfo:()=>null,ReadingTimeInfo:l3,TagInfo:s3,WordInfo:a3},props:{items:{type:[Array,Boolean],default:()=>["Author","Original","Date","PageView","ReadingTime","Category","Tag"]},info:{type:Object,required:!0}},setup(e){const t=dn();return()=>e.items?a("div",{class:"page-info"},e.items.map(n=>a(Xe(`${n}Info`),{...e.info,pure:t.value}))):null}}),i3=O({name:"PrintButton",setup(){const e=qt(),t=le();return()=>e.value.print===!1?null:a("button",{type:"button",class:"print-button",title:t.value.metaLocales.print,onClick:()=>{window.print()}},a(Lu))}}),Ou=O({name:"TOC",props:{items:{type:Array,default:()=>[]},headerDepth:{type:Number,default:2}},slots:Object,setup(e,{slots:t}){const n=Gt(),r=de(),o=Wt(),[l,s]=ol(),i=Be(),c=Z("-1.7rem"),u=d=>{var p;(p=i.value)==null||p.scrollTo({top:d,behavior:"smooth"})},f=()=>{if(i.value){const d=document.querySelector(".vp-toc-item.active");d?c.value=`${d.getBoundingClientRect().top-i.value.getBoundingClientRect().top+i.value.scrollTop}px`:c.value="-1.7rem"}else c.value="-1.7rem"};return ve(()=>{fe(()=>n.hash,d=>{if(i.value){const p=document.querySelector(`#toc a.toc-link[href$="${d}"]`);if(!p)return;const{top:h,height:y}=i.value.getBoundingClientRect(),{top:b,height:E}=p.getBoundingClientRect();b<h?u(i.value.scrollTop+b-h):b+E>h+y&&u(i.value.scrollTop+b+E-h-y)}}),fe(()=>n.fullPath,f,{flush:"post",immediate:!0})}),()=>{var y,b;const d=({title:E,level:w,slug:C})=>a(ke,{to:`#${C}`,class:["vp-toc-link",`level${w}`],onClick:()=>{s()}},()=>E),p=(E,w)=>E.length&&w>0?a("ul",{class:"vp-toc-list"},E.map(C=>{const g=p(C.children,w-1);return[a("li",{class:["vp-toc-item",{active:n.hash===`#${C.slug}`}]},d(C)),g?a("li",g):null]})):null,h=e.items.length?p(e.items,e.headerDepth):r.value.headers?p(r.value.headers,e.headerDepth):null;return h?a("div",{class:"vp-toc-placeholder"},[a("aside",{id:"toc"},[(y=t.before)==null?void 0:y.call(t),a("div",{class:"vp-toc-header",onClick:()=>{s()}},[o.value.toc,a(i3),a("div",{class:["arrow",l.value?"down":"end"]})]),a("div",{class:["vp-toc-wrapper",l.value?"open":""],ref:i},[h,a("div",{class:"vp-toc-marker",style:{top:c.value}})]),(b=t.after)==null?void 0:b.call(t)])]):null}}}),is=O({name:"SkipLink",props:{content:{type:String,default:"main-content"}},setup(e){const t=de(),n=le(),r=Be(),o=({target:l})=>{const s=document.querySelector(l.hash);if(s){const i=()=>{s.removeAttribute("tabindex"),s.removeEventListener("blur",i)};s.setAttribute("tabindex","-1"),s.addEventListener("blur",i),s.focus(),window.scrollTo(0,0)}};return ve(()=>{fe(()=>t.value.path,()=>r.value.focus())}),()=>[a("span",{ref:r,tabindex:"-1"}),a("a",{href:`#${e.content}`,class:"vp-skip-link sr-only",onClick:o},n.value.routeLocales.skipToContent)]}});let Go=null,zn=null;const c3={wait:()=>Go,pending:()=>{Go=new Promise(e=>{zn=e})},resolve:()=>{zn==null||zn(),Go=null,zn=null}},$u=()=>c3;var u3=O({name:"FadeSlideY",slots:Object,setup(e,{slots:t}){const{resolve:n,pending:r}=$u();return()=>a(Ft,{name:"fade-slide-y",mode:"out-in",onBeforeEnter:n,onBeforeLeave:r},()=>{var o;return(o=t.default)==null?void 0:o.call(t)})}});const f3=(e,t)=>{const n=e.replace(t,"/").split("/"),r=[];let o=Dl(t);return n.forEach((l,s)=>{s!==n.length-1?(o+=`${l}/`,r.push({link:o,name:l||"Home"})):l!==""&&(o+=l,r.push({link:o,name:l}))}),r},Hu=(e,{slots:t})=>{var d,p;const{bgImage:n,bgImageDark:r,bgImageStyle:o,color:l,description:s,image:i,imageDark:c,header:u,features:f=[]}=e;return a("div",{class:"vp-feature-wrapper"},[n?a("div",{class:["vp-feature-bg",{light:r}],style:[{"background-image":`url(${n})`},o]}):null,r?a("div",{class:"vp-feature-bg dark",style:[{"background-image":`url(${r})`},o]}):null,a("div",{class:"vp-feature",style:l?{color:l}:{}},[((d=t.image)==null?void 0:d.call(t,e))||[i?a("img",{class:["vp-feature-image",{light:c}],src:be(i),alt:""}):null,c?a("img",{class:"vp-feature-image dark",src:be(c),alt:""}):null],((p=t.info)==null?void 0:p.call(t,e))||[u?a("h2",{class:"vp-feature-header"},u):null,s?a("p",{class:"vp-feature-description",innerHTML:s}):null],f.length?a("div",{class:"vp-features"},f.map(({icon:h,title:y,details:b,link:E})=>{const w=[a("h3",{class:"vp-feature-title"},[a(Ne,{icon:h}),a("span",{innerHTML:y})]),a("p",{class:"vp-feature-details",innerHTML:b})];return E?sn(E)?a("a",{class:"vp-feature-item link",href:E,"aria-label":y,target:"_blank"},w):a(ke,{class:"vp-feature-item link",to:E,"aria-label":y},()=>w):a("div",{class:"vp-feature-item"},w)})):null])])};Hu.displayName="FeaturePanel";var Ka=Hu,d3=O({name:"HeroInfo",slots:Object,setup(e,{slots:t}){const n=ge(),r=yr(),o=_(()=>n.value.heroFullScreen??!1),l=_(()=>{const{heroText:u,tagline:f}=n.value;return{text:u??r.value.title??"Hello",tagline:f??r.value.description??"",isFullScreen:o.value}}),s=_(()=>{const{heroText:u,heroImage:f,heroImageDark:d,heroAlt:p,heroImageStyle:h}=n.value;return{image:f?be(f):null,imageDark:d?be(d):null,style:h,alt:p||u||"",isFullScreen:o.value}}),i=_(()=>{const{bgImage:u,bgImageDark:f,bgImageStyle:d}=n.value;return{image:_e(u)?be(u):null,imageDark:_e(f)?be(f):null,bgStyle:d,isFullScreen:o.value}}),c=_(()=>n.value.actions??[]);return()=>{var u,f,d;return a("header",{class:["vp-hero-info-wrapper",{fullscreen:o.value}]},[((u=t.heroBg)==null?void 0:u.call(t,i.value))||[i.value.image?a("div",{class:["vp-hero-mask",{light:i.value.imageDark}],style:[{"background-image":`url(${i.value.image})`},i.value.bgStyle]}):null,i.value.imageDark?a("div",{class:"vp-hero-mask dark",style:[{"background-image":`url(${i.value.imageDark})`},i.value.bgStyle]}):null],a("div",{class:"vp-hero-info"},[((f=t.heroImage)==null?void 0:f.call(t,s.value))||a(ce,{appear:!0,type:"group"},()=>[s.value.image?a("img",{key:"light",class:["vp-hero-image",{light:s.value.imageDark}],style:s.value.style,src:s.value.image,alt:s.value.alt}):null,s.value.imageDark?a("img",{key:"dark",class:"vp-hero-image dark",style:s.value.style,src:s.value.imageDark,alt:s.value.alt}):null]),((d=t.heroInfo)==null?void 0:d.call(t,l.value))??a("div",{class:"vp-hero-infos"},[l.value.text?a(ce,{appear:!0,delay:.04},()=>a("h1",{id:"main-title"},l.value.text)):null,l.value.tagline?a(ce,{appear:!0,delay:.08},()=>a("p",{id:"main-description",innerHTML:l.value.tagline})):null,c.value.length?a(ce,{appear:!0,delay:.12},()=>a("p",{class:"vp-hero-actions"},c.value.map(p=>a(Ue,{class:["vp-hero-action",p.type||"default"],config:p,noExternalLinkIcon:!0},p.icon?{before:()=>a(Ne,{icon:p.icon})}:{})))):null])])])}}});const Du=(e,{slots:t})=>{var p,h,y;const{bgImage:n,bgImageDark:r,bgImageStyle:o,color:l,description:s,image:i,imageDark:c,header:u,highlights:f=[],type:d="un-order"}=e;return a("div",{class:"vp-highlight-wrapper",style:l?{color:l}:{}},[n?a("div",{class:["vp-highlight-bg",{light:r}],style:[{"background-image":`url(${n})`},o]}):null,r?a("div",{class:"vp-highlight-bg dark",style:[{"background-image":`url(${r})`},o]}):null,a("div",{class:"vp-highlight"},[((p=t.image)==null?void 0:p.call(t,e))||[i?a("img",{class:["vp-highlight-image",{light:c}],src:be(i),alt:""}):null,c?a("img",{class:"vp-highlight-image dark",src:be(c),alt:""}):null],((h=t.info)==null?void 0:h.call(t,e))||[a("div",{class:"vp-highlight-info-wrapper"},a("div",{class:"vp-highlight-info"},[u?a("h2",{class:"vp-highlight-header",innerHTML:u}):null,s?a("p",{class:"vp-highlight-description",innerHTML:s}):null,((y=t.highlights)==null?void 0:y.call(t,f))||a(d==="order"?"ol":d==="no-order"?"dl":"ul",{class:"vp-highlights"},f.map(({icon:b,title:E,details:w,link:C})=>{const g=[a(d==="no-order"?"dt":"h3",{class:"vp-highlight-title"},[b?a(Ne,{class:"vp-highlight-icon",icon:b}):null,a("span",{innerHTML:E})]),w?a(d==="no-order"?"dd":"p",{class:"vp-highlight-details",innerHTML:w}):null];return a(d==="no-order"?"div":"li",{class:["vp-highlight-item-wrapper",{link:C}]},C?sn(C)?a("a",{class:"vp-highlight-item link",href:C,"aria-label":E,target:"_blank"},g):a(ke,{class:"vp-highlight-item link",to:C,"aria-label":E},()=>g):a("div",{class:"vp-highlight-item"},g))}))]))]])])};Du.displayName="HighlightPanel";var p3=Du,h3=O({name:"HomePage",slots:Object,setup(e,{slots:t}){const n=dn(),r=ge(),o=_(()=>{const{features:s}=r.value;return ro(s)?s:null}),l=_(()=>{const{highlights:s}=r.value;return ro(s)?s:null});return()=>{var s,i,c,u;return a("main",{id:"main-content",class:["vp-project-home ",{pure:n.value}],"aria-labelledby":r.value.heroText===null?"":"main-title"},[(s=t.top)==null?void 0:s.call(t),a(d3),((i=l.value)==null?void 0:i.map(f=>"features"in f?a(Ka,f):a(p3,f)))||(o.value?a(ce,{appear:!0,delay:.24},()=>a(Ka,{features:o.value})):null),(c=t.center)==null?void 0:c.call(t),a(ce,{appear:!0,delay:.32},()=>a(as)),(u=t.bottom)==null?void 0:u.call(t)])}}}),m3=O({name:"BreadCrumb",setup(){const e=de(),t=kt(),n=ge(),r=le(),o=Be([]),l=_(()=>(n.value.breadcrumb||n.value.breadcrumb!==!1&&r.value.breadcrumb!==!1)&&o.value.length>1),s=_(()=>n.value.breadcrumbIcon||n.value.breadcrumbIcon!==!1&&r.value.breadcrumbIcon!==!1),i=()=>{const c=f3(e.value.path,t.value).map(({link:u,name:f})=>{const{path:d,meta:p,notFound:h}=$n(u);return h?null:{title:p[ye.shortTitle]||p[ye.title]||f,icon:p[ye.icon],path:d}}).filter(u=>u!==null);c.length>1&&(o.value=c)};return ve(()=>{fe(()=>e.value.path,i,{immediate:!0})}),()=>a("nav",{class:["vp-breadcrumb",{disable:!l.value}]},l.value?a("ol",{vocab:"https://schema.org/",typeof:"BreadcrumbList"},o.value.map((c,u)=>a("li",{class:{"is-active":o.value.length-1===u},property:"itemListElement",typeof:"ListItem"},[a(ke,{to:c.path,property:"item",typeof:"WebPage"},()=>[s.value?a(Ne,{icon:c.icon}):null,a("span",{property:"name"},c.title||"Unknown")]),a("meta",{property:"position",content:u+1})]))):[])}});const Ya=e=>e===!1||On(e)?e:_e(e)?En(e,!0):null,ul=(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 l=ul(o.children,t,n);if(l)return l}return null};var v3=O({name:"PageNav",setup(){const e=le(),t=ge(),n=ls(),r=de(),o=Sr(),l=_(()=>{const i=Ya(t.value.prev);return i===!1?null:i||(e.value.prevLink===!1?null:ul(n.value,r.value.path,-1))}),s=_(()=>{const i=Ya(t.value.next);return i===!1?null:i||(e.value.nextLink===!1?null:ul(n.value,r.value.path,1))});return Me("keydown",i=>{i.altKey&&(i.key==="ArrowRight"?s.value&&(o(s.value.link),i.preventDefault()):i.key==="ArrowLeft"&&l.value&&(o(l.value.link),i.preventDefault()))}),()=>l.value||s.value?a("nav",{class:"vp-page-nav"},[l.value?a(Ue,{class:"prev",config:l.value},()=>{var i,c;return[a("div",{class:"hint"},[a("span",{class:"arrow start"}),e.value.metaLocales.prev]),a("div",{class:"link"},[a(Ne,{icon:(i=l.value)==null?void 0:i.icon}),(c=l.value)==null?void 0:c.text])]}):null,s.value?a(Ue,{class:"next",config:s.value},()=>{var i,c;return[a("div",{class:"hint"},[e.value.metaLocales.next,a("span",{class:"arrow end"})]),a("div",{class:"link"},[(i=s.value)==null?void 0:i.text,a(Ne,{icon:(c=s.value)==null?void 0:c.icon})])]}):null]):null}});const g3={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"},y3=({docsRepo:e,docsBranch:t,docsDir:n,filePathRelative:r,editLinkPattern:o})=>{if(!r)return null;const l=Wl(e);let s;return o?s=o:l!==null&&(s=g3[l]),s?s.replace(/:repo/u,gt(e)?e:`https://github.com/${e}`).replace(/:branch/u,t).replace(/:path/u,sc(`${Dl(n)}/${r}`)):null},b3=()=>{const e=le(),t=de(),n=ge();return _(()=>{const{repo:r,docsRepo:o=r,docsBranch:l="main",docsDir:s="",editLink:i,editLinkPattern:c=""}=e.value;if(!(n.value.editLink??i??!0)||!o)return null;const u=y3({docsRepo:o,docsBranch:l,docsDir:s,editLinkPattern:c,filePathRelative:t.value.filePathRelative});return u?{text:e.value.metaLocales.editLink,link:u}:null})},_3=()=>{const e=yr(),t=le(),n=de(),r=ge();return _(()=>{var o,l;return!(r.value.lastUpdated??t.value.lastUpdated??!0)||!((o=n.value.git)!=null&&o.updatedTime)?null:new Date((l=n.value.git)==null?void 0:l.updatedTime).toLocaleString(e.value.lang)})},w3=()=>{const e=le(),t=de(),n=ge();return _(()=>{var r;return n.value.contributors??e.value.contributors??!0?((r=t.value.git)==null?void 0:r.contributors)??null:null})};var E3=O({name:"PageTitle",setup(){const e=de(),t=ge(),n=le(),{info:r,items:o}=km();return()=>a("div",{class:"vp-page-title"},[a("h1",[n.value.titleIcon===!1?null:a(Ne,{icon:t.value.icon}),e.value.title]),a(Mu,{info:r.value,...o.value===null?{}:{items:o.value}}),a("hr")])}});const Nu=()=>a(ue,{name:"edit"},()=>[a("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"}),a("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"})]);Nu.displayName="EditIcon";var S3=O({name:"PageMeta",setup(){const e=le(),t=b3(),n=_3(),r=w3();return()=>{const{metaLocales:o}=e.value;return a("footer",{class:"page-meta"},[t.value?a("div",{class:"meta-item edit-link"},a(Ue,{class:"label",config:t.value},{before:()=>a(Nu)})):null,a("div",{class:"meta-item git-info"},[n.value?a("div",{class:"update-time"},[a("span",{class:"label"},`${o.lastUpdated}: `),a(mo,()=>a("span",{class:"info"},n.value))]):null,r.value&&r.value.length?a("div",{class:"contributors"},[a("span",{class:"label"},`${o.contributors}: `),r.value.map(({email:l,name:s},i)=>[a("span",{class:"contributor",title:`email: ${l}`},s),i!==r.value.length-1?",":""])]):null])])}}}),C3=O({name:"NormalPage",slots:Object,setup(e,{slots:t}){const n=ge(),{isDarkmode:r}=Tr(),o=le(),l=_(()=>n.value.toc||n.value.toc!==!1&&o.value.toc!==!1);return()=>a("main",{id:"main-content",class:"vp-page"},a(Le("LocalEncrypt")?Xe("LocalEncrypt"):Tc,()=>{var s,i,c,u;return[(s=t.top)==null?void 0:s.call(t),n.value.cover?a("div",{class:"page-cover"},a("img",{src:be(n.value.cover),alt:"","no-view":""})):null,a(m3),a(E3),l.value?a(Ou,{headerDepth:n.value.headerDepth??o.value.headerDepth??2},{before:()=>{var f;return(f=t.tocBefore)==null?void 0:f.call(t)},after:()=>{var f;return(f=t.tocAfter)==null?void 0:f.call(t)}}):null,(i=t.contentBefore)==null?void 0:i.call(t),a(as),(c=t.contentAfter)==null?void 0:c.call(t),a(S3),a(v3),Le("CommentService")?a(Xe("CommentService"),{darkmode:r.value}):null,(u=t.bottom)==null?void 0:u.call(t)]}))}}),T3=O({name:"Layout",slots:Object,setup(e,{slots:t}){const n=qt(),r=le(),o=de(),l=ge(),{isMobile:s}=Cr(),i=_(()=>{var c,u;return((c=r.value.blog)==null?void 0:c.sidebarDisplay)||((u=n.value.blog)==null?void 0:u.sidebarDisplay)||"mobile"});return()=>[a(is),a(ss,{},{default:()=>{var c;return((c=t.default)==null?void 0:c.call(t))||(l.value.home?a(h3):a(u3,()=>a(C3,{key:o.value.path},{top:()=>{var u;return(u=t.top)==null?void 0:u.call(t)},bottom:()=>{var u;return(u=t.bottom)==null?void 0:u.call(t)},contentBefore:()=>{var u;return(u=t.contentBefore)==null?void 0:u.call(t)},contentAfter:()=>{var u;return(u=t.contentAfter)==null?void 0:u.call(t)},tocBefore:()=>{var u;return(u=t.tocBefore)==null?void 0:u.call(t)},tocAfter:()=>{var u;return(u=t.tocAfter)==null?void 0:u.call(t)}})))},...i.value==="none"?{}:{navScreenBottom:()=>a(Xe("BloggerInfo"))},...!s.value&&i.value==="always"?{sidebar:()=>a(Xe("BloggerInfo"))}:{}})]}}),A3=O({name:"NotFoundHint",setup(){const e=le(),t=()=>{const n=e.value.routeLocales.notFoundMsg;return n[Math.floor(Math.random()*n.length)]};return()=>a("div",{class:"not-found-hint"},[a("p",{class:"error-code"},"404"),a("h1",{class:"error-title"},e.value.routeLocales.notFoundTitle),a("p",{class:"error-hint"},t())])}}),k3=O({name:"NotFound",slots:Object,setup(e,{slots:t}){const n=At(),r=kt(),o=le();return()=>[a(is),a(ss,{noSidebar:!0},()=>{var l;return a("main",{id:"main-content",class:"vp-page not-found"},((l=t.default)==null?void 0:l.call(t))||[a(A3),a("div",{class:"actions"},[a("button",{type:"button",class:"action-button",onClick:()=>{window.history.go(-1)}},o.value.routeLocales.back),a("button",{type:"button",class:"action-button",onClick:()=>{n.push(o.value.home??r.value)}},o.value.routeLocales.home)])])})]}});const x3={Email:'<svg xmlns="http://www.w3.org/2000/svg" class="icon email-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#1384FF"/><path fill="#fff" d="M270.077 286.233H751.99c32.933 0 59.86 24.855 60.274 55.51l-301.023 157L210.217 341.88c.207-30.723 26.927-55.717 59.86-55.717zm-59.929 115.714-.276 277.756c0 30.931 27.134 56.2 60.205 56.2H751.99c33.14 0 60.274-25.269 60.274-56.2V401.81L518.283 551.492a15.88 15.88 0 0 1-14.43 0L210.148 401.947z"/></svg>',GitHub:'<svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#171515"/><path fill="#fff" d="M509.423 146.442c-200.317 0-362.756 162.42-362.756 362.8 0 160.266 103.936 296.24 248.109 344.217 18.139 3.327 24.76-7.872 24.76-17.486 0-8.613-.313-31.427-.49-61.702-100.912 21.923-122.205-48.63-122.205-48.63-16.495-41.91-40.28-53.067-40.28-53.067-32.937-22.51 2.492-22.053 2.492-22.053 36.407 2.566 55.568 37.386 55.568 37.386 32.362 55.438 84.907 39.43 105.58 30.143 3.296-23.444 12.667-39.43 23.032-48.498-80.557-9.156-165.246-40.28-165.246-179.297 0-39.604 14.135-71.988 37.342-97.348-3.731-9.178-16.18-46.063 3.556-96.009 0 0 30.46-9.754 99.76 37.19 28.937-8.048 59.97-12.071 90.823-12.211 30.807.14 61.843 4.165 90.822 12.21 69.26-46.944 99.663-37.189 99.663-37.189 19.792 49.946 7.34 86.831 3.61 96.01 23.25 25.359 37.29 57.742 37.29 97.347 0 139.366-84.82 170.033-165.637 179.013 13.026 11.2 24.628 33.342 24.628 67.182 0 48.498-.445 87.627-.445 99.521 0 9.702 6.535 20.988 24.945 17.444 144.03-48.067 247.881-183.95 247.881-344.175 0-200.378-162.442-362.798-362.802-362.798z"/></svg>',Twitter:'<svg xmlns="http://www.w3.org/2000/svg" class="icon twitter-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512"/><path fill="#FFF" d="m560 473 186-216h-44L540 445 411 257H262l195 284-195 226h44l171-198 136 198h149zM322 290h68l312 445h-68z"/></svg>'},L3={category:{"/":{path:"/category/",map:{单片机:{path:"/category/单片机/",indexes:[0,1,2,3,4,5,6]},网站:{path:"/category/网站/",indexes:[7]},posts:{path:"/category/posts/",indexes:[8,9,10]},AI:{path:"/category/ai/",indexes:[11]},墨水屏:{path:"/category/墨水屏/",indexes:[12]}}}},tag:{"/":{path:"/tag/",map:{Air32:{path:"/tag/air32/",indexes:[1,2,3,4]},合宙:{path:"/tag/合宙/",indexes:[0,1,2,3,4,5]},MCO:{path:"/tag/mco/",indexes:[2]},HelloWorld:{path:"/tag/helloworld/",indexes:[7]},STC32:{path:"/tag/stc32/",indexes:[6]},STC8:{path:"/tag/stc8/",indexes:[6]},嵌入式:{path:"/tag/嵌入式/",indexes:[6,10]},CoreMark:{path:"/tag/coremark/",indexes:[6]},碎碎念:{path:"/tag/碎碎念/",indexes:[8,9]},郊狼:{path:"/tag/郊狼/",indexes:[8,9]},Clion:{path:"/tag/clion/",indexes:[1]},超频:{path:"/tag/超频/",indexes:[3]},fmtlib:{path:"/tag/fmtlib/",indexes:[10]},ESP8266:{path:"/tag/esp8266/",indexes:[10]},ESP32:{path:"/tag/esp32/",indexes:[10]},Arduino:{path:"/tag/arduino/",indexes:[10]},PlatformIO:{path:"/tag/platformio/",indexes:[10]},"ESP-IDF":{path:"/tag/esp-idf/",indexes:[10]},人工智能:{path:"/tag/人工智能/",indexes:[11]},novelAI:{path:"/tag/novelai/",indexes:[11]},conda:{path:"/tag/conda/",indexes:[11]},墨水屏:{path:"/tag/墨水屏/",indexes:[12]},UC8179:{path:"/tag/uc8179/",indexes:[12]},DEPG0750RWU790F30:{path:"/tag/depg0750rwu790f30/",indexes:[12]},遇到的坑:{path:"/tag/遇到的坑/",indexes:[12]},Air001:{path:"/tag/air001/",indexes:[0,4,5]},"CI/CD":{path:"/tag/cicd/",indexes:[0]},日志:{path:"/tag/日志/",indexes:[5]}}}}},Bu=["/posts/Empedded-CI-CD/","/posts/Air32-Clion/","/posts/Air32-HAL-MCO/","/posts/Air32-HAL-HighFreq/","/posts/MDK6-Dev/","/posts/SEGGER-RTT/","/posts/STC_CoreMark/","/posts/HelloWorld/","/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/","/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/","/posts/embedded_fmtlib/","/posts/conda_novelai/","/posts/EpdTraps1/"],fl=Be(L3);cn(fl);const Fu=e=>{const t=de(),n=ge(),r=kt();return _(()=>{var i;const o=e??((i=n.value.blog)==null?void 0:i.key)??"";if(!o)return console.warn("useBlogCategory: key not found"),{path:"/",map:{}};if(!fl.value[o])throw new Error(`useBlogCategory: key ${o} is invalid`);const l=fl.value[o][r.value],s={path:l.path,map:{}};for(const c in l.map){const u=l.map[c];s.map[c]={path:u.path,items:[]};for(const f of u.indexes){const{path:d,meta:p}=$n(Bu[f]);s.map[c].items.push({path:d,info:p})}t.value.path===u.path&&(s.currentItems=s.map[c].items)}return s})},I3={article:{"/":{path:"/article/",indexes:[8,9,0,1,2,3,4,5,6,10,11,12,7]}},star:{"/":{path:"/star/",indexes:[]}},timeline:{"/":{path:"/timeline/",indexes:[8,9,0,1,2,3,4,5,6,10,11,12,7]}}},dl=Be(I3);cn(dl);const yo=e=>{const t=ge(),n=kt();return _(()=>{var s;const r=e??((s=t.value.blog)==null?void 0:s.key)??"";if(!r)return console.warn("useBlogType: key not found"),{path:"/",items:[]};if(!dl.value[r])throw new Error(`useBlogType: key ${e} is invalid`);const o=dl.value[r][n.value],l={path:o.path,items:[]};for(const i of o.indexes){const{path:c,meta:u}=$n(Bu[i]);l.items.push({path:c,info:u})}return l})},zu=()=>a(ue,{name:"lock"},()=>a("path",{d:"M787.168 952.268H236.832c-30.395 0-55.033-24.638-55.033-55.033V429.45c0-30.395 24.638-55.034 55.033-55.034h82.55V264.35c0-106.38 86.238-192.618 192.618-192.618S704.618 157.97 704.618 264.35v110.066h82.55c30.395 0 55.033 24.639 55.033 55.034v467.785c0 30.395-24.639 55.033-55.033 55.033zM484.483 672.046v115.122h55.034V672.046c31.99-11.373 55.033-41.605 55.033-77.496 0-45.592-36.958-82.55-82.55-82.55s-82.55 36.958-82.55 82.55c0 35.89 23.042 66.123 55.033 77.496zM622.067 264.35c0-60.788-49.28-110.067-110.067-110.067s-110.067 49.28-110.067 110.067v110.066h220.135V264.35z"}));zu.displayName="LockIcon";var P3=[];const Vu=Symbol.for("categoryMap"),Ar=()=>{const e=Ce(Vu);if(!e)throw new Error("useCategoryMap() is called without provider.");return e},R3=()=>{const e=Fu("category");ft(Vu,e)},kr=()=>{const e=qt(),t=le();return _(()=>({...e.value.blog,...t.value.blog}))},ju=Symbol.for("tagMap"),xr=()=>{const e=Ce(ju);if(!e)throw new Error("useTagMap() is called without provider.");return e},M3=()=>{const e=Fu("tag");ft(ju,e)},O3=e=>{const t=le();return _(()=>{const{[ye.author]:n}=e.value;return n?ir(n):n===!1?[]:ir(t.value.author,!1)})},$3=e=>{const t=Ar();return _(()=>Ic(e.value[ye.category]).map(n=>({name:n,path:t.value.map[n].path})))},H3=e=>{const t=xr();return _(()=>Pc(e.value[ye.tag]).map(n=>({name:n,path:t.value.map[n].path})))},D3=e=>_(()=>{const{[ye.date]:t}=e.value;return zl(t)}),N3=e=>{const t=Rn(e,"info"),n=kr(),r=O3(t),o=$3(t),l=H3(t),s=D3(t),i=su(),c=_(()=>({author:r.value,category:o.value,date:s.value,localizedDate:t.value[ye.localizedDate]||"",tag:l.value,isOriginal:t.value[ye.isOriginal]||!1,readingTime:t.value[ye.readingTime]||null,readingTimeLocale:t.value[ye.readingTime]&&i.value?lu(t.value[ye.readingTime],i.value):null,pageview:e.path})),u=_(()=>n.value.articleInfo);return{info:c,items:u}},Gu=Symbol(""),Lr=()=>{const e=Ce(Gu);if(!e)throw new Error("useArticles() is called without provider.");return e},B3=()=>{const e=yo("article");ft(Gu,e)},Uu=Symbol(""),cs=()=>{const e=Ce(Uu);if(!e)throw new Error("useStars() is called without provider.");return e},F3=()=>{const e=yo("star");ft(Uu,e)},qu=Symbol(""),us=()=>{const e=Ce(qu);if(!e)throw new Error("useTimelines() is called without provider.");return e},z3=()=>{const e=yo("timeline"),t=_(()=>{const n=[];return e.value.items.forEach(({info:r,path:o})=>{const l=zl(r[ye.date]);if(l){const s=l.getFullYear(),i=l.getMonth()+1,c=l.getDate();(!n[0]||n[0].year!==s)&&n.unshift({year:s,items:[]}),n[0].items.push({date:`${i}/${c}`,info:r,path:o})}}),{...e.value,config:n.reverse()}});ft(qu,t)},V3=()=>{B3(),R3(),F3(),M3(),z3()};var j3=O({name:"SocialMedia",setup(){const e=kr(),t=dn(),n=_(()=>{const r=e.value.medias;return r?Ut(r).map(([o,l])=>({name:o,icon:x3[o],url:l})):[]});return()=>n.value.length?a("div",{class:"vp-social-medias"},n.value.map(({name:r,icon:o,url:l})=>a("a",{class:"vp-social-media",href:l,rel:"noopener noreferrer",target:"_blank","aria-label":r,...t.value?{}:{"data-balloon-pos":"up"},innerHTML:o}))):null}}),fs=O({name:"BloggerInfo",setup(){const e=kr(),t=yr(),n=le(),r=Lr(),o=Ar(),l=xr(),s=us(),i=Sr(),c=_(()=>{var p;return e.value.name||((p=ir(n.value.author)[0])==null?void 0:p.name)||t.value.title}),u=_(()=>e.value.avatar||n.value.logo),f=_(()=>n.value.blogLocales),d=_(()=>e.value.intro);return()=>{const{article:p,category:h,tag:y,timeline:b}=f.value,E=[[r.value.path,r.value.items.length,p],[o.value.path,st(o.value.map).length,h],[l.value.path,st(l.value.map).length,y],[s.value.path,s.value.items.length,b]];return a("div",{class:"vp-blogger-info",vocab:"https://schema.org/",typeof:"Person"},[a("div",{class:"vp-blogger",...d.value?{style:{cursor:"pointer"},"aria-label":f.value.intro,"data-balloon-pos":"down",role:"link",onClick:()=>i(d.value)}:{}},[u.value?a("img",{class:["vp-blogger-avatar",{round:e.value.roundAvatar}],src:be(u.value),property:"image",alt:"Blogger Avatar",loading:"lazy"}):null,c.value?a("div",{class:"vp-blogger-name",property:"name"},c.value):null,e.value.description?a("div",{class:"vp-blogger-description",innerHTML:e.value.description}):null,d.value?a("meta",{property:"url",content:be(d.value)}):null]),a("div",{class:"vp-blog-counts"},E.map(([w,C,g])=>a(ke,{class:"vp-blog-count",to:w},()=>[a("div",{class:"count"},C),a("div",g)]))),a(j3)])}}});const ds=()=>a(ue,{name:"category"},()=>a("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"}));ds.displayName="CategoryIcon";const ps=()=>a(ue,{name:"tag"},()=>a("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"}));ps.displayName="TagIcon";const hs=()=>a(ue,{name:"timeline"},()=>a("path",{d:"M511.997 70.568c-243.797 0-441.429 197.633-441.429 441.435 0 243.797 197.632 441.429 441.43 441.429S953.431 755.8 953.431 512.002c0-243.796-197.637-441.434-441.435-441.434zm150.158 609.093-15.605 15.61c-8.621 8.615-22.596 8.615-31.215 0L472.197 552.126c-4.95-4.944-4.34-14.888-4.34-24.677V247.14c0-12.19 9.882-22.07 22.07-22.07h22.07c12.19 0 22.07 9.882 22.07 22.07v273.218l128.088 128.088c8.62 8.62 8.62 22.595 0 31.215zm0 0"}));hs.displayName="TimelineIcon";const Wu=()=>a(ue,{name:"slides"},()=>a("path",{d:"M896 170.667v426.666a85.333 85.333 0 0 1-85.333 85.334h-256v61.184l192.597 115.584-43.861 73.13-148.736-89.173v95.275h-85.334v-95.318l-148.736 89.216-43.861-73.13 192.597-115.627v-61.141h-256A85.333 85.333 0 0 1 128 597.333V170.667H85.333V85.333h853.334v85.334H896zm-682.667 0v426.666h597.334V170.667H213.333zM426.667 512h-85.334V341.333h85.334V512zm128 0h-85.334V256h85.334v256zm128 0h-85.334V384h85.334v128z"}));Wu.displayName="SlideIcon";const Ku=()=>a(ue,{name:"sticky"},()=>[a("path",{d:"m381.3 733.8l-161.9 118c-5.9 4.5-13.2 6.6-20.1 6.6-8.7 0-17.7-3.4-24.3-10-12.2-12.2-13.9-31.3-3.5-45.2l144.5-195.5-113.6-112.9c-11.1-11.1-13.2-28.4-5.5-42 5.5-8.7 52.1-76.4 155.5-51 1.8 0.3 3.5 0.3 5.6 0.7 4.2 0.3 9 0.7 14.2 1.7 21.9 3.5 60.8-13.9 94.5-42.7 32.3-27.5 53.1-59.4 53.1-81.6 0-5.2 0-10.8-0.3-16-0.7-20.8-2.1-52.8 21.5-76.4 28.1-28.1 72.9-30.6 103.9-5.2 0.6 0.3 1 1 1.7 1.7 16.7 16.3 187.5 187.2 189.3 188.9 14.5 14.6 22.9 34.4 22.9 55.3 0 20.8-8 40.2-22.9 54.8-23.7 23.6-56 22.6-77.1 21.6-4.9 0-10.5-0.4-15.7-0.4-20.8 0-45.8 14.6-70.5 41.3-34.3 37.5-55.5 85.8-53.8 107.7 0.7 6.9 2.1 19.1 2.4 20.8 25 101.4-42.7 147.6-50.7 152.8-13.9 8.4-31.6 6.3-42.7-4.8l-112.1-112.2z"})]);Ku.displayName="StickyIcon";const bo=()=>a(ue,{name:"article"},()=>a("path",{d:"M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"}));bo.displayName="ArticleIcon";const Yu=()=>a(ue,{name:"book"},()=>a("path",{d:"M256 853.333h426.667A85.333 85.333 0 0 0 768 768V256a85.333 85.333 0 0 0-85.333-85.333H469.333a42.667 42.667 0 0 1 0-85.334h213.334A170.667 170.667 0 0 1 853.333 256v512a170.667 170.667 0 0 1-170.666 170.667H213.333A42.667 42.667 0 0 1 170.667 896V128a42.667 42.667 0 0 1 42.666-42.667h128A42.667 42.667 0 0 1 384 128v304.256l61.653-41.088a42.667 42.667 0 0 1 47.36 0l61.654 41.045V256A42.667 42.667 0 0 1 640 256v256a42.667 42.667 0 0 1-66.347 35.499l-104.32-69.547-104.32 69.547A42.667 42.667 0 0 1 298.667 512V170.667H256v682.666z"}));Yu.displayName="BookIcon";const Ju=()=>a(ue,{name:"link"},()=>a("path",{d:"M460.8 584.533c17.067 17.067 17.067 42.667 0 59.734-17.067 17.066-42.667 17.066-59.733 0-85.334-85.334-85.334-217.6 0-302.934L554.667 192C640 110.933 776.533 110.933 857.6 196.267c81.067 81.066 81.067 213.333 0 294.4l-68.267 64c0-34.134-4.266-68.267-17.066-102.4l21.333-21.334c51.2-46.933 55.467-128 4.267-179.2s-128-55.466-179.2-4.266c-4.267 0-4.267 4.266-4.267 4.266L465.067 401.067c-51.2 51.2-51.2 132.266-4.267 183.466m123.733-183.466C601.6 384 627.2 384 644.267 401.067c85.333 85.333 85.333 217.6 0 302.933l-153.6 149.333C405.333 934.4 268.8 934.4 187.733 849.067c-81.066-81.067-81.066-213.334 0-294.4l68.267-64c0 34.133 4.267 72.533 17.067 102.4L251.733 614.4C204.8 665.6 204.8 746.667 256 793.6c51.2 46.933 123.733 46.933 174.933 0l149.334-149.333c51.2-51.2 51.2-128 0-179.2-12.8-17.067-17.067-46.934 4.266-64z"}));Ju.displayName="LinkIcon";const Xu=()=>a(ue,{name:"project"},()=>a("path",{d:"M987.456 425.152H864V295.296a36.48 36.48 0 0 0-36.544-36.544h-360l-134.08-128.256A9.344 9.344 0 0 0 327.04 128H36.48A36.48 36.48 0 0 0 0 164.544v676.608a36.48 36.48 0 0 0 36.544 36.544h797.76a36.672 36.672 0 0 0 33.92-22.848L1021.44 475.52a36.48 36.48 0 0 0-33.92-50.304zM82.304 210.304h215.424l136.64 130.752h347.328v84.096H198.848A36.672 36.672 0 0 0 164.928 448L82.304 652.8V210.304zM808.32 795.456H108.544l118.08-292.608h699.904L808.32 795.52z"}));Xu.displayName="ProjectIcon";const Qu=()=>a(ue,{name:"friend"},()=>a("path",{d:"M860.16 213.333A268.373 268.373 0 0 0 512 186.027a267.52 267.52 0 0 0-348.16 404.48L428.8 855.893a118.613 118.613 0 0 0 166.4 0l264.96-265.386a267.52 267.52 0 0 0 0-377.174zM800 531.627l-264.96 264.96a32.427 32.427 0 0 1-46.08 0L224 530.347a183.04 183.04 0 0 1 0-256 182.187 182.187 0 0 1 256 0 42.667 42.667 0 0 0 60.587 0 182.187 182.187 0 0 1 256 0 183.04 183.04 0 0 1 3.413 256z"}));Qu.displayName="FriendIcon";const pl=()=>a(ue,{name:"slide-down"},()=>a("path",{d:"M108.775 312.23c13.553 0 27.106 3.734 39.153 11.806l375.205 250.338 363.641-252.808c32.587-21.624 76.499-12.83 98.123 19.757 21.685 32.467 12.95 76.56-19.576 98.184l-402.854 278.89c-23.733 15.901-54.694 15.962-78.547.12L69.501 442.097c-32.647-21.685-41.441-65.777-19.817-98.304 13.734-20.54 36.201-31.563 59.09-31.563Z"}));pl.displayName="SlideDownIcon";const Zu=()=>a("svg",{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",class:"empty-icon",viewBox:"0 0 1024 1024",innerHTML:'<defs><linearGradient id="f" x1="512.342" y1="2266.13" x2="512.342" y2="666.063" gradientUnits="userSpaceOnUse"><stop offset=".919" stop-color="#e6e6e6" stop-opacity="0"/><stop offset="1" stop-color="#e6e6e6"/></linearGradient><linearGradient id="g" x1="528.912" y1="774" x2="388.088" y2="612" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#ccc"/><stop offset="1" stop-color="#e6e6e6" stop-opacity="0"/></linearGradient><linearGradient id="h" x1="213.219" y1="721.704" x2="251.313" y2="683.61" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#d7d7d7"/><stop offset=".485" stop-color="#fafafa"/><stop offset="1" stop-color="#fafafa"/></linearGradient><linearGradient id="i" x1="724.813" y1="821.718" x2="768.656" y2="777.876" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#ccc"/><stop offset="1" stop-color="#fafafa"/></linearGradient><linearGradient id="a" x1="513.493" y1="714.594" x2="471.007" y2="544.188" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#999"/><stop offset="1" stop-color="#ccc"/></linearGradient><linearGradient id="b" x1="440.156" y1="564.031" x2="508.594" y2="495.594" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#ccc"/><stop offset="1" stop-color="#f0f0f0"/></linearGradient><linearGradient id="l" x1="660.988" y1="754.156" x2="608.637" y2="544.188" xlink:href="#a"/><linearGradient id="m" x1="479.188" y1="774.219" x2="649.782" y2="603.625" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#b3b3b3"/><stop offset="1" stop-color="#e6e6e6"/></linearGradient><linearGradient id="n" x1="447.121" y1="774.219" x2="394.661" y2="563.813" xlink:href="#a"/><linearGradient id="o" x1="494" y1="597" x2="628" y2="463" xlink:href="#b"/><linearGradient id="d" x1="610.485" y1="604.938" x2="697.298" y2="518.125" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#ccc"/><stop offset="1" stop-color="#fff"/></linearGradient><linearGradient id="p" x1="457.438" y1="619.25" x2="353.469" y2="619.25" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#e6e6e6" stop-opacity="0"/><stop offset="1" stop-color="#e6e6e6"/></linearGradient><linearGradient id="q" x1="542.734" y1="674.25" x2="615.672" y2="601.313" xlink:href="#b"/><linearGradient id="c" x1="627.933" y1="358.938" x2="685.192" y2="422.531" gradientUnits="userSpaceOnUse"><stop offset=".4" stop-color="#e6e6e6" stop-opacity=".4"/><stop offset=".443" stop-color="#fff"/><stop offset=".6" stop-color="#ccc"/></linearGradient><linearGradient id="r" x1="618.547" y1="422.531" x2="681.547" y2="359.531" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#e6e6e6"/><stop offset=".761" stop-color="#fff"/><stop offset="1" stop-color="#f0f0f0"/></linearGradient><linearGradient id="s" x1="625" y1="441.5" x2="697" y2="369.5" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#ccc"/><stop offset=".761" stop-color="#fff"/><stop offset="1" stop-color="#f0f0f0"/></linearGradient><linearGradient id="t" x1="627.681" y1="361.438" x2="692.257" y2="433.156" xlink:href="#c"/><linearGradient id="u" x1="561.414" y1="735.438" x2="573.149" y2="688.375" xlink:href="#d"/><linearGradient id="v" x1="405" y1="485.875" x2="440" y2="450.875" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#ccc"/><stop offset="1" stop-color="#fff" stop-opacity=".702"/></linearGradient><linearGradient id="w" x1="404.61" y1="486.906" x2="441.86" y2="449.656" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#ccc"/><stop offset=".495" stop-color="#ccc" stop-opacity=".702"/><stop offset=".498" stop-color="#ccc"/><stop offset="1" stop-color="#fff" stop-opacity=".302"/></linearGradient><radialGradient id="e" cx="329.297" cy="647.578" r="8.172" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#fafafa"/><stop offset="1.2" stop-color="#e6e6e6"/></radialGradient><radialGradient id="j" cx="802.297" cy="673.578" r="8.172" xlink:href="#e"/><radialGradient id="k" cx="774.844" cy="642.75" r="5.531" xlink:href="#e"/></defs><path d="M512.33 666.07c441.828 0 800 358.18 800 800.03s-358.172 800.02-800 800.02-800-358.18-800-800.02 358.17-800.03 800-800.03z" style="fill:url(#f);fill-rule:evenodd"/><path d="m272 694 242-82 131 119-188 43z" style="fill:url(#g);fill-rule:evenodd"/><path fill="#b3b3b3" fill-rule="evenodd" d="M232.391 723.534a2.4 2.4 0 0 1 2.4 2.4v17.725a2.4 2.4 0 0 1-4.8 0v-17.725a2.4 2.4 0 0 1 2.4-2.4z"/><path d="M232.255 676.559c10.33 0 17.067 15.408 18.7 28.493 1.619 12.942-2.372 23.694-18.7 23.694-16.878 0-20.213-10.733-18.7-23.694 1.633-14.061 8.37-28.493 18.7-28.493z" style="fill:url(#h);fill-rule:evenodd"/><path fill="#b3b3b3" fill-rule="evenodd" d="M745.853 826h.938a2.4 2.4 0 0 1 2.4 2.4v22.238a2.4 2.4 0 0 1-2.4 2.4h-.938a2.4 2.4 0 0 1-2.4-2.4V828.4a2.4 2.4 0 0 1 2.4-2.4z"/><path d="M746.727 830.3c-19.438 0-23.278-9.326-21.541-20.59a34.467 34.467 0 0 1 3.289-10.369 16.628 16.628 0 0 1 0-9.112c2.889-12.327 12.059-20.911 18.356-20.911 6.56 0 15.468 9.1 18.356 20.911a14.589 14.589 0 0 1-.335 9.217 34.36 34.36 0 0 1 3.419 10.264c1.861 11.243-2.735 20.59-21.544 20.59z" style="fill:url(#i);fill-rule:evenodd"/><path fill="#ccc" fill-rule="evenodd" d="M328.841 654.562a6.571 6.571 0 0 0-5.2-5.027q-4.107-.952-.034-2.045a6.571 6.571 0 0 0 5.027-5.2q.952-4.109 2.045-.035a6.569 6.569 0 0 0 5.2 5.027q4.109.954.035 2.045a6.569 6.569 0 0 0-5.027 5.2q-.955 4.108-2.046.035z"/><path d="M328.383 653.73a6.567 6.567 0 0 0-5.2-5.027q-4.109-.954-.035-2.045a6.568 6.568 0 0 0 5.027-5.2q.954-4.107 2.046-.034a6.568 6.568 0 0 0 5.2 5.027q4.107.952.035 2.045a6.568 6.568 0 0 0-5.027 5.2q-.954 4.104-2.046.034z" style="fill:url(#e);fill-rule:evenodd"/><path fill="#ccc" fill-rule="evenodd" d="M801.841 680.562a6.571 6.571 0 0 0-5.2-5.027q-4.107-.952-.034-2.045a6.571 6.571 0 0 0 5.027-5.2q.952-4.109 2.045-.035a6.569 6.569 0 0 0 5.2 5.027q4.108.954.035 2.045a6.569 6.569 0 0 0-5.027 5.2q-.955 4.108-2.046.035z"/><path d="M801.383 679.73a6.567 6.567 0 0 0-5.2-5.027q-4.108-.954-.035-2.045a6.568 6.568 0 0 0 5.027-5.2q.954-4.107 2.046-.034a6.568 6.568 0 0 0 5.2 5.027q4.107.952.035 2.045a6.568 6.568 0 0 0-5.027 5.2q-.954 4.104-2.046.034z" style="fill:url(#j);fill-rule:evenodd"/><path d="M774.21 646.9a4.446 4.446 0 0 0-3.517-3.4q-2.778-.643-.023-1.383a4.443 4.443 0 0 0 3.4-3.517q.645-2.778 1.383-.023a4.443 4.443 0 0 0 3.517 3.4q2.778.645.023 1.383a4.446 4.446 0 0 0-3.4 3.517q-.645 2.78-1.383.023z" style="fill:url(#k);fill-rule:evenodd"/><path d="m385.6 714.6.158-150.658L598.9 544.174l-.158 150.658z" style="fill:url(#a);fill-rule:evenodd"/><path d="m385.474 564.031 214.763-19.383-36.171-49.067-215.559 17.634z" style="fill:url(#b);fill-rule:evenodd"/><path d="m598.744 694.832.156-150.658 71.975 59.319-.158 150.658z" style="fill:url(#l);fill-rule:evenodd"/><path d="m457.064 774.209.158-150.658 214.691-19.914-.158 150.663z" style="fill:url(#m);fill-rule:evenodd"/><path d="m384.566 714.459.158-150.659 72.5 59.75-.158 150.658z" style="fill:url(#n);fill-rule:evenodd"/><path d="M494 640s75.357-58.4 42-83-38.887 1.663-37 14 53.847 12.465 54-26c.2-49.979 75-125 75-125" style="fill:none;stroke-width:3px;stroke-dasharray:12 6;stroke:url(#o);fill-rule:evenodd"/><path d="m670.275 604.939-72.041-59.9 38.476-26.909 72.86 58.159z" style="fill:url(#d);fill-rule:evenodd"/><path d="m425.5 674.383-72.042-59.9 31.109-50.347 72.86 58.16z" style="fill:url(#p);fill-rule:evenodd"/><path d="m487.918 674.235 214.482-22.57-31.1-50.346-215.309 20.833z" style="fill:url(#q);fill-rule:evenodd"/><path style="fill:#fff;fill-rule:evenodd" d="m697.363 358.927-69.58 62.511-12.035 1.082z"/><path d="m697.363 358.927-69.58 62.511-12.035 1.082z" style="fill:url(#c);fill-rule:evenodd"/><path d="M615.748 422.52 604 413l92.089-53.46" style="fill:url(#r);fill-rule:evenodd"/><path d="m625 432 12 18 60-89" style="fill:url(#s);fill-rule:evenodd"/><path d="m626.98 421.335-2.471 11.828 70.918-71.735" style="fill:#fff;fill-rule:evenodd"/><path d="m626.98 421.335-2.471 11.828 70.918-71.735" style="fill:url(#t);fill-rule:evenodd"/><path d="m494.814 735.44 21.293-2.1v-6.613l-13.4 1.319v-6.965l10.977-1.08v-6.613l-10.977 1.08v-6.084l12.917-1.27v-6.525l-20.808 2.047v32.8zM521 732.863l7.054-.694v-11.241a106.361 106.361 0 0 0-1.014-11.274l.176-.017 2.645 7.586 4.453 11.553 4.32-.425 4.408-12.424 2.733-8.116.177-.018a111.811 111.811 0 0 0-1.014 11.474v11.241l7.185-.707V697l-8.552.841-5.025 14.646c-.618 1.956-1.147 4.08-1.808 6.173l-.22.022c-.617-1.968-1.146-3.987-1.808-5.818l-5.2-13.639-8.508.837v32.8zm37.213-3.661 7.891-.776v-10.889l3.835-.377c6.922-.681 12.961-4.714 12.961-12.517 0-8.111-5.951-10.082-13.181-9.371l-11.504 1.128v32.8zm7.891-17.881v-9.478l3.218-.316c3.792-.373 5.908.565 5.908 3.871 0 3.218-1.852 5.208-5.687 5.585zM594 725.682l7.891-.777v-26.274l8.905-.876v-6.524l-25.657 2.524v6.524l8.861-.871v26.274zm27.991-2.754 7.847-.772v-11.594l9.919-22.18-8.244.811-2.733 7.542c-.925 2.56-1.807 4.939-2.733 7.587l-.176.018c-.926-2.466-1.764-4.676-2.645-7.058l-2.734-7-8.375.824 9.874 20.233v11.594z" style="fill:url(#u);fill-rule:evenodd"/><path fill="#ccc" fill-rule="evenodd" d="M408.938 457.309a17.5 17.5 0 0 0 21.374 26.725 17.5 17.5 0 1 1-16.306-30.955 17.442 17.442 0 0 0-5.068 4.23z"/><circle cx="422.5" cy="468.375" r="17.5" style="fill:url(#v)"/><path fill="#ccc" fill-rule="evenodd" d="M391.76 451.5c-2.358 4.419 9.827 15.52 27.215 24.8 15.131 8.071 29.212 12.1 34.166 10.093-4.191 2.772-18.943-1.24-34.86-9.73-17.388-9.275-29.573-20.376-27.215-24.8a2.96 2.96 0 0 1 1.585-1.3 2.606 2.606 0 0 0-.891.937z"/><path d="M418.975 476.29c-17.388-9.275-29.573-20.376-27.215-24.8s18.363-.484 35.751 8.791 29.572 20.376 27.215 24.8-18.364.483-35.751-8.791zm31.634 5.732c1.824-3.42-8.789-12.642-23.7-20.6s-28.486-11.633-30.31-8.213 8.789 12.642 23.7 20.6 28.486 11.633 30.31 8.213zm-36.645-29.008-2.775 1.452.032 1.751 28.637 14.183.266-4.559z" style="fill:url(#w);fill-rule:evenodd"/><g class="people"><path style="fill:#f8cfad;fill-rule:evenodd" d="m612.131 676.5 1.362 3.532 3.255-2.324-1.361-3.532zM629.131 665.5l1.362 3.532 3.255-2.324-1.361-3.532z"/><path style="fill:#141a33;fill-rule:evenodd" d="m617.764 678.184-3.162-.078a11.028 11.028 0 0 0-1.034 3.454c-.258 2.006-1.177 5-.449 5.367 1.5 2.659 4.118-.215 4.118-.215s2.187-2.848 1.925-5.265c-.106-.973-1.181-1.869-1.398-3.263zM633.781 665.855l3.019.945a11.008 11.008 0 0 1-.137 3.6c-.4 1.981-.179 4.166-.986 4.277-2.283 2.03-3.827-1.533-3.827-1.533s-1.473-2.456-.444-4.659c.412-.88 1.718-1.385 2.375-2.63z"/><path style="fill:#f0c5a8;fill-rule:evenodd" d="M599.935 592.534s10.293 9.761 11.95 7.564 3.536-3.463-6.758-13.65z"/><path style="fill:#f8cfad;fill-rule:evenodd" d="M611.3 596.361c1.674-1.105 11.5 7.048 14.5 11.774s-12.705-4.36-14.632-6.776-1.54-3.893.132-4.998z"/><path style="fill:#f8cfad;fill-rule:evenodd" d="M621.815 607.988s1.809 2.549 2.433 1.756 2.475-1.064 2.449-1.138.1-.819 1.288-2.331-3.8-3.632-5.81-.494a2.556 2.556 0 0 0-.36 2.207z"/><path fill="#232c57" fill-rule="evenodd" d="M598 617s14.968-5.618 17 7a150.235 150.235 0 0 1 2 22s12.666 11.836 16 19c0 0-4.753-1.629-4 2 0 0-18.132-14.647-19-19s-9.148-18.716-12-31z"/><path d="M589 622s14.968-5.618 17 7a150.235 150.235 0 0 1 2 22s4.666 17.836 8 25c0 0-4.753-1.629-4 2 0 0-10.132-20.647-11-25s-9.148-18.716-12-31z" style="fill:#292966;fill-rule:evenodd"/><path style="fill:#f0c5a8;fill-rule:evenodd" d="M585.626 597.7s-10.292 9.761-11.95 7.563-3.536-3.463 6.758-13.65z"/><path style="fill:#f8cfad;fill-rule:evenodd" d="M574.259 601.529c-1.675-1.105-11.5 7.049-14.5 11.774s12.7-4.36 14.631-6.775 1.543-3.894-.131-4.999z"/><path style="fill:#f0c5a8;fill-rule:evenodd" d="M591.715 577.752s-.606 1.681 1.48 3.716-3.615 5.307-4.645 2.85-.48-2.716-.48-2.716z"/><path style="fill:#f8cfad;fill-rule:evenodd" d="M583.527 574.123c-.839 1.043.491 3.873 1.453 5.449s2.749 2.833 3.364 2.428 4.088-2.657 4-4-.228-3.4-.228-3.4 2.562-1.641 2.154-2.916-2.916-.154-2.916-.154a15.853 15.853 0 0 0-.227-2.224c-.189-.929-6.887-1.445-7.827 2.6s.558 1.805.227 2.217z"/><path fill="#232c57" fill-rule="evenodd" d="M584.227 567.758c2.1-.885 7.2-3.684 10.125.318s.842 4.385.989 5.294-1.894 5.69-1.341 6.63-3.865.8-4.657-1.179-2.844-.539-2.227-1.224-1.3-4.456-2.916-2.154a9.252 9.252 0 0 0 .309-1.38c-.115.192.259-3.257-.673-1.32s-2.1 1.037-3.069.762-1.8-1.118-1.071-1.689c.023-.016 2.436-3.172 4.531-4.058z"/><path d="M589 585c-2.584-.47-10.055.362-13 13 0 0 1.9 3.349 5 4s6 21 6 21 24.016 11.06 27-3c-.07-13.826-8-21-8-21s5.829-3.2 5-6-8.016-10.153-11-10-6 0-6 0-2.416 2.47-5 2z" style="fill:#f6bb07;fill-rule:evenodd"/><path style="fill:#f8cfad;fill-rule:evenodd" d="M563.284 612.581s-.986 2.965-1.814 2.389-2.678-.3-2.675-.374-.333-.755-1.912-1.854 2.577-4.583 5.414-2.167a2.551 2.551 0 0 1 .987 2.006z"/></g>'});Zu.displayName="EmptyIcon";var G3=O({name:"ArticleItem",props:{info:{type:Object,required:!0},path:{type:String,required:!0}},slots:Object,setup(e,{slots:t}){const n=Rn(e,"info"),{info:r,items:o}=N3(e);return()=>{var p,h,y;const{[ye.title]:l,[ye.type]:s,[ye.isEncrypted]:i=!1,[ye.cover]:c,[ye.excerpt]:u,[ye.sticky]:f}=n.value,d=r.value;return a("div",{class:"vp-article-wrapper"},a("article",{class:"vp-article-item",vocab:"https://schema.org/",typeof:"Article"},[((p=t.cover)==null?void 0:p.call(t,{cover:c}))||(c?[a("img",{class:"vp-article-cover",src:be(c),loading:"lazy"}),a("meta",{property:"image",content:be(c)})]:[]),f?a(Ku):null,a(ke,{to:e.path},()=>{var b;return((b=t.title)==null?void 0:b.call(t,{title:l,isEncrypted:i,type:s}))||a("header",{class:"vp-article-title"},[i?a(zu):null,s===uu.slide?a(Wu):null,a("span",{property:"headline"},l)])}),((h=t.excerpt)==null?void 0:h.call(t,{excerpt:u}))||(u?a("div",{class:"vp-article-excerpt",innerHTML:u}):null),a("hr",{class:"vp-article-hr"}),((y=t.info)==null?void 0:y.call(t,{info:d}))||a(Mu,{info:d,...o.value?{items:o.value}:{}})]))}}}),U3=O({name:"Pagination",props:{total:{type:Number,default:10},perPage:{type:Number,default:10},current:{type:Number,default:1}},emits:["updateCurrentPage"],setup(e,{emit:t}){let n;const r=le(),o=Z(""),l=_(()=>r.value.paginationLocales),s=_(()=>Math.ceil(e.total/e.perPage)),i=_(()=>!!s.value&&s.value!==1),c=_(()=>s.value<7?!1:e.current>4),u=_(()=>s.value<7?!1:e.current<s.value-3),f=_(()=>{const{current:h}=e;let y=1,b=s.value;const E=[];s.value>=7&&(h<=4&&h<s.value-3?(y=1,b=5):h>4&&h>=s.value-3?(b=s.value,y=s.value-4):s.value>7&&(y=h-2,b=h+2));for(let w=y;w<=b;w++)E.push(w);return E}),d=h=>t("updateCurrentPage",h),p=h=>{const y=parseInt(h,10);y<=s.value&&y>0?d(y):n.pop(`<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path d="M64 512a448 448 0 1 0 896 0 448 448 0 1 0-896 0Z" fill="#FA5151"/><path d="m557.3 512 113.1-113.1c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L512 466.7 398.9 353.6c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L466.7 512 353.6 625.1c-12.5 12.5-12.5 32.8 0 45.3 6.2 6.2 14.4 9.4 22.6 9.4s16.4-3.1 22.6-9.4L512 557.3l113.1 113.1c6.2 6.2 14.4 9.4 22.6 9.4s16.4-3.1 22.6-9.4c12.5-12.5 12.5-32.8 0-45.3L557.3 512z" fill="#FFF"/></svg>${l.value.errorText.replace(/\$page/gu,s.value.toString())}`)};return ve(()=>{n=new C0}),()=>a("div",{class:"vp-pagination"},i.value?a("nav",{class:"vp-pagination-list"},[a("div",{class:"vp-pagination-number "},[e.current>1?a("div",{class:"prev",role:"navigation",unselectable:"on",onClick:()=>d(e.current-1)},l.value.prev):null,c.value?[a("div",{role:"navigation",onClick:()=>d(1)},1),a("div",{class:"ellipsis"},"...")]:null,f.value.map(h=>a("div",{key:h,class:{active:e.current===h},role:"navigation",onClick:()=>d(h)},h)),u.value?[a("div",{class:"ellipsis"},"..."),a("div",{role:"navigation",onClick:()=>d(s.value)},s.value)]:null,e.current<s.value?a("div",{class:"next",role:"navigation",unselectable:"on",onClick:()=>d(e.current+1)},l.value.next):null]),a("div",{class:"vp-pagination-nav"},[a("label",{for:"navigation-text"},`${l.value.navigate}: `),a("input",{id:"navigation-text",value:o.value,onInput:({target:h})=>{o.value=h.value},onKeydown:h=>{h.key==="Enter"&&(h.preventDefault(),p(o.value))}}),a("button",{class:"vp-pagination-button",role:"navigation",title:l.value.action,onClick:()=>p(o.value)},l.value.action)])]):[])}}),ms=O({name:"ArticleList",props:{items:{type:Array,default:()=>[]}},setup(e){const t=Gt(),n=At(),r=kr(),o=Z(1),l=_(()=>r.value.articlePerPage||10),s=_(()=>e.items.slice((o.value-1)*l.value,o.value*l.value)),i=async c=>{o.value=c;const u={...t.query};!(u.page===c.toString()||c===1&&!u.page)&&(c===1?delete u.page:u.page=c.toString(),await n.push({path:t.path,query:u}))};return ve(()=>{const{page:c}=t.query;i(c?Number(c):1),fe(o,()=>{const u=document.querySelector("#article-list").getBoundingClientRect().top+window.scrollY;setTimeout(()=>{window.scrollTo(0,u)},100)})}),()=>a("div",{id:"article-list",class:"vp-article-list",role:"feed"},s.value.length?[...s.value.map(({info:c,path:u},f)=>a(ce,{appear:!0,delay:f*.04},()=>a(G3,{key:u,info:c,path:u}))),a(U3,{current:o.value,perPage:l.value,total:e.items.length,onUpdateCurrentPage:i})]:a(Zu))}}),ef=O({name:"CategoryList",setup(){const e=de(),t=Ar();return()=>a("ul",{class:"vp-category-list"},Ut(t.value.map).sort(([,n],[,r])=>r.items.length-n.items.length).map(([n,{path:r,items:o}])=>a("li",{class:["vp-category",`vp-category${vo(n,9)}`,{active:r===e.value.path}]},a(ke,{to:r},()=>[n,a("span",{class:"count"},o.length)]))))}}),tf=O({name:"TagList",setup(){const e=ge(),t=xr(),n=r=>{var o;return r===((o=e.value.blog)==null?void 0:o.name)};return()=>a("ul",{class:"tag-list-wrapper"},Ut(t.value.map).sort(([,r],[,o])=>o.items.length-r.items.length).map(([r,{path:o,items:l}])=>a("li",{class:["tag",`tag${vo(r,9)}`,{active:n(r)}]},a(ke,{to:o},()=>[r,a("span",{class:"tag-num"},l.length)]))))}}),q3=O({name:"TimelineList",setup(){const e=le(),t=us(),n=Sr(),r=_(()=>e.value.blogLocales.timeline);return()=>a("div",{class:"timeline-list-wrapper"},[a("div",{class:"timeline-list-title",onClick:()=>n(t.value.path)},[a(hs),a("span",{class:"num"},t.value.items.length),r.value]),a("hr"),a("div",{class:"timeline-content"},a("ul",{class:"timeline-list"},t.value.config.map(({year:o,items:l},s)=>a(ce,{appear:!0,delay:.08*(s+1)},()=>a("li",[a("h3",{class:"timeline-year"},o),a("ul",{class:"timeline-year-wrapper"},l.map(({date:i,info:c,path:u})=>a("li",{class:"timeline-item"},[a("span",{class:"timeline-date"},i),a(ke,{class:"timeline-title",to:u},()=>c[ye.title])])))])))))])}});const W3={article:bo,category:ds,tag:ps,timeline:hs};var nf=O({name:"InfoList",setup(){const e=le(),t=Lr(),n=Ar(),r=_(()=>st(n.value.map).length),o=cs(),l=xr(),s=_(()=>st(l.value.map).length),i=Sr(),c=Z("article"),u=_(()=>e.value.blogLocales);return()=>a("div",{class:"vp-blog-infos"},[a("div",{class:"vp-blog-type-switcher"},Ut(W3).map(([f,d])=>a("button",{type:"button",class:"vp-blog-type-button",onClick:()=>{c.value=f}},a("div",{class:["icon-wrapper",{active:c.value===f}],"aria-label":u.value[f],"data-balloon-pos":"up"},a(d))))),a(ce,()=>c.value==="article"?a("div",{class:"vp-star-article-wrapper"},[a("div",{class:"title",onClick:()=>i(t.value.path)},[a(bo),a("span",{class:"num"},t.value.items.length),u.value.article]),a("hr"),o.value.items.length?a("ul",{class:"vp-star-articles"},o.value.items.map(({info:f,path:d},p)=>a(ce,{appear:!0,delay:.08*(p+1)},()=>a("li",{class:"vp-star-article"},a(ke,{to:d},()=>f[ye.title]))))):a("div",{class:"vp-star-article-empty"},u.value.empty.replace("$text",u.value.star))]):c.value==="category"?a("div",{class:"vp-category-wrapper"},[r.value?[a("div",{class:"title",onClick:()=>i(n.value.path)},[a(ds),a("span",{class:"num"},r.value),u.value.category]),a("hr"),a(ce,{delay:.04},()=>a(ef))]:a("div",{class:"vp-category-empty"},u.value.empty.replace("$text",u.value.category))]):c.value==="tag"?a("div",{class:"vp-tag-wrapper"},[s.value?[a("div",{class:"title",onClick:()=>i(l.value.path)},[a(ps),a("span",{class:"num"},s.value),u.value.tag]),a("hr"),a(ce,{delay:.04},()=>a(tf))]:a("div",{class:"vp-tag-empty"},u.value.empty.replace("$text",u.value.tag))]):a(ce,()=>a(q3)))])}}),_o=O({name:"BlogWrapper",slots:Object,setup(e,{slots:t}){const{isMobile:n}=Cr();return()=>[a(is),a(ss,{noSidebar:!0,noToc:!0},{default:()=>t.default(),navScreenBottom:()=>a(fs),...n.value?{sidebar:()=>a(nf)}:{}})]}});const rf=()=>a("aside",{class:"vp-blog-info-wrapper"},[a(ce,()=>a(fs)),a(ce,{delay:.04},()=>a(nf))]);rf.displayName="InfoPanel";var wo=rf,K3=O({name:"BlogPage",setup(){const e=de(),t=ge(),n=Ar(),r=xr();return()=>{const{key:o="",name:l=""}=t.value.blog||{},s=l?o==="category"?n.value.map[l].items:o==="tag"?r.value.map[l].items:[]:[];return a(_o,()=>a("div",{class:"vp-page vp-blog"},a("div",{class:"blog-page-wrapper"},[a("main",{id:"main-content",class:"vp-blog-main"},[a(ce,()=>o==="category"?a(ef):o==="tag"?a(tf):null),l?a(ce,{appear:!0,delay:.24},()=>a(ms,{key:e.value.path,items:s})):null]),a(ce,{delay:.16},()=>a(wo,{key:"blog"}))])))}}});const Y3="//theme-hope-assets.vuejs.press/hero/default.jpg";var J3=O({name:"BlogHero",slots:Object,setup(e,{slots:t}){const n=ge(),r=yr(),o=Be(),l=_(()=>n.value.heroFullScreen??!1),s=_(()=>{const{heroText:c,heroImage:u,heroImageDark:f,heroAlt:d,heroImageStyle:p,tagline:h}=n.value;return{text:c??r.value.title??"Hello",tagline:h??"",image:u?be(u):null,imageDark:f?be(f):null,alt:d||c||"",style:p,isFullScreen:l.value}}),i=_(()=>{const{bgImage:c,bgImageDark:u,bgImageStyle:f}=n.value;return{image:_e(c)?be(c):c===!1?null:Y3,imageDark:_e(u)?be(u):null,bgStyle:f,isFullScreen:l.value}});return()=>{var c,u;return n.value.hero===!1?null:a("div",{ref:o,class:["vp-blog-hero",{fullscreen:l.value,"no-bg":!i.value.image}]},[((c=t.heroBg)==null?void 0:c.call(t,i.value))||[i.value.image?a("div",{class:["vp-blog-mask",{light:i.value.imageDark}],style:[{background:`url(${i.value.image}) center/cover no-repeat`},i.value.bgStyle]}):null,i.value.imageDark?a("div",{class:"vp-blog-mask dark",style:[{background:`url(${i.value.imageDark}) center/cover no-repeat`},i.value.bgStyle]}):null],((u=t.heroInfo)==null?void 0:u.call(t,s.value))||[a(ce,{appear:!0,type:"group",delay:.04},()=>[s.value.image?a("img",{key:"light",class:["vp-blog-hero-image",{light:s.value.imageDark}],style:s.value.style,src:s.value.image,alt:s.value.alt}):null,s.value.imageDark?a("img",{key:"dark",class:"vp-blog-hero-image dark",style:s.value.style,src:s.value.imageDark,alt:s.value.alt}):null]),a(ce,{appear:!0,delay:.08},()=>s.value.text?a("h1",{class:"vp-blog-hero-title"},s.value.text):null),a(ce,{appear:!0,delay:.12},()=>s.value.tagline?a("p",{class:"vp-blog-hero-description",innerHTML:s.value.tagline}):null)],s.value.isFullScreen?a("button",{type:"button",class:"slide-down-button",onClick:()=>{window.scrollTo({top:o.value.clientHeight,behavior:"smooth"})}},[a(pl),a(pl)]):null])}}});const X3=["link","article","book","project","friend"];var Q3=O({name:"ProjectPanel",components:{ArticleIcon:bo,BookIcon:Yu,FriendIcon:Qu,LinkIcon:Ju,ProjectIcon:Xu},props:{items:{type:Array,required:!0}},setup(e){const t=dn(),n=Sr(),r=(o="",l="icon")=>X3.includes(o)?a(Xe(`${o}-icon`)):gt(o)?a("img",{class:"vp-project-image",src:o,alt:l}):br(o)?a("img",{class:"vp-project-image",src:be(o),alt:l}):a(Ne,{icon:o});return()=>a("div",{class:"vp-project-panel"},e.items.map(({icon:o,link:l,name:s,desc:i},c)=>a("div",{class:["vp-project-card",{[`project${c%9}`]:!t.value}],onClick:()=>n(l)},[r(o,s),a("div",{class:"vp-project-name"},s),a("div",{class:"vp-project-desc"},i)])))}}),Z3=O({name:"BlogHome",setup(){const e=Lr(),t=ge(),n=_(()=>t.value.projects??[]);return()=>a("div",{class:"vp-page vp-blog"},[a(J3),a("div",{class:"blog-page-wrapper"},[a("main",{id:"main-content",class:"vp-blog-main"},[n.value.length?a(ce,{appear:!0,delay:.16},()=>a(Q3,{items:n.value})):null,a(ce,{appear:!0,delay:.24},()=>a(ms,{items:e.value.items}))]),a(ce,{appear:!0,delay:.16},()=>a(wo,{key:"blog"}))]),a(ce,{appear:!0,delay:.28},()=>a(as))])}});const of=()=>a(_o,()=>a(Z3));of.displayName="BlogHomeLayout";var ev=of,tv=O({name:"ArticleType",setup(){const e=de(),t=kt(),n=le(),r=Lr(),o=cs(),l=_(()=>{const s=n.value.blogLocales;return[{text:s.all,path:r.value.path},{text:s.star,path:o.value.path},...P3.map(({key:i,path:c})=>({text:s[i],path:c.replace(/^\//,t.value)}))]});return()=>a("ul",{class:"vp-article-type-wrapper"},l.value.map(s=>a("li",{class:["vp-article-type",{active:s.path===e.value.path}]},a(ke,{to:s.path},()=>s.text))))}}),nv=O({name:"BlogPage",setup(){const e=yo(),t=ge(),n=de(),r=Lr(),o=cs(),l=_(()=>{const{key:s="",type:i}=t.value.blog||{};return s==="star"?o.value.items:i==="type"&&s?e.value.items:r.value.items});return()=>a(_o,()=>a("div",{class:"vp-page vp-blog"},a("div",{class:"blog-page-wrapper"},[a("main",{id:"main-content",class:"vp-blog-main"},[a(ce,()=>a(tv)),a(ce,{appear:!0,delay:.24},()=>a(ms,{key:n.value.path,items:l.value}))]),a(ce,{delay:.16},()=>a(wo,{key:"blog"}))])))}}),rv=O({name:"TimelineItems",setup(){const e=kr(),t=le(),n=us(),r=_(()=>e.value.timeline||t.value.blogLocales.timelineTitle),o=_(()=>n.value.config.map(({year:l})=>({title:l.toString(),level:2,slug:l.toString(),children:[]})));return()=>a("div",{class:"timeline-wrapper"},a("ul",{class:"timeline-content"},[a(ce,()=>a("li",{class:"motto"},r.value)),a(Ou,{items:o.value}),n.value.config.map(({year:l,items:s},i)=>a(ce,{appear:!0,delay:.08*(i+1),type:"group"},()=>[a("h3",{key:"title",id:l,class:"timeline-year-title"},a("span",l)),a("li",{key:"content",class:"timeline-year-list"},[a("ul",{class:"timeline-year-wrapper"},s.map(({date:c,info:u,path:f})=>a("li",{class:"timeline-item"},[a("span",{class:"timeline-date"},c),a(ke,{class:"timeline-title",to:f},()=>u[ye.title])])))])]))]))}});const lf=()=>a(_o,()=>a("div",{class:"vp-page vp-blog"},a("div",{class:"blog-page-wrapper"},[a("main",{id:"main-content",class:"vp-blog-main"},[a(ce,{appear:!0,delay:.24},()=>a(rv))]),a(ce,{delay:.16},()=>a(wo,{key:"blog"}))])));lf.displayName="Timeline";var ov=lf;g2(e=>{const t=e.t,n=e.I!==!1,r=e.i;return n?{title:t,content:r?()=>[a(Ne,{icon:r}),t]:null,order:e.O,index:e.I}:null});const lv=at({enhance:({app:e,router:t})=>{const{scrollBehavior:n}=t.options;t.options.scrollBehavior=async(...r)=>(await $u().wait(),n(...r)),Im(e),e.component("HopeIcon",Ne),e.component("BloggerInfo",fs)},setup:()=>{Pm(),Om(),V3()},layouts:{Layout:T3,NotFound:k3,BlogCategory:K3,BlogHome:ev,BlogType:nv,Timeline:ov}}),Ur=[y0,u2,v2,E2,T2,L2,M2,N2,q2,rm,lm,bm,lv],sv=JSON.parse(`{"base":"/","lang":"zh-CN","title":"HalfSweet's Blog","description":"半糖的博客","head":[],"locales":{}}`);var jn=Be(sv),av=H1,iv=()=>{const e=i0({history:av(Dl("/")),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===wt){const r=$n(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},cv=e=>{e.component("ClientOnly",mo),e.component("Content",wc),e.component("RouteLink",ke)},uv=(e,t,n)=>{const r=_(()=>t.currentRoute.value.path),o=xl((E,w)=>({get(){return E(),t.currentRoute.value.meta._pageChunk},set(C){t.currentRoute.value.meta._pageChunk=C,w()}})),l=_(()=>Jt.resolveLayouts(n)),s=_(()=>Jt.resolveRouteLocale(jn.value.locales,r.value)),i=_(()=>Jt.resolveSiteLocaleData(jn.value,s.value)),c=_(()=>o.value.comp),u=_(()=>o.value.data),f=_(()=>u.value.frontmatter),d=_(()=>Jt.resolvePageHeadTitle(u.value,i.value)),p=_(()=>Jt.resolvePageHead(d.value,f.value,i.value)),h=_(()=>Jt.resolvePageLang(u.value,i.value)),y=_(()=>Jt.resolvePageLayout(u.value,l.value)),b={layouts:l,pageData:u,pageComponent:c,pageFrontmatter:f,pageHead:p,pageHeadTitle:d,pageLang:h,pageLayout:y,redirects:bc,routeLocale:s,routePath:r,routes:sr,siteData:jn,siteLocaleData:i};return e.provide(Fl,b),Object.defineProperties(e.config.globalProperties,{$frontmatter:{get:()=>f.value},$head:{get:()=>p.value},$headTitle:{get:()=>d.value},$lang:{get:()=>h.value},$page:{get:()=>u.value},$routeLocale:{get:()=>s.value},$site:{get:()=>jn.value},$siteLocale:{get:()=>i.value},$withBase:{get:()=>be}}),b},fv=()=>{const e=f0(),t=ho();let n=[];const r=()=>{e.value.forEach(s=>{const i=dv(s);i&&n.push(i)})},o=()=>{const s=[];return e.value.forEach(i=>{const c=pv(i);c&&s.push(c)}),s},l=()=>{document.documentElement.lang=t.value;const s=o();n.forEach((i,c)=>{const u=s.findIndex(f=>i.isEqualNode(f));u===-1?(i.remove(),delete n[c]):s.splice(u,1)}),s.forEach(i=>document.head.appendChild(i)),n=[...n.filter(i=>!!i),...s]};ft(h0,l),ve(()=>{r(),fe(e,l,{immediate:!1})})},dv=([e,t,n=""])=>{const r=Object.entries(t).map(([i,c])=>_e(c)?`[${i}=${JSON.stringify(c)}]`:c===!0?`[${i}]`:"").join(""),o=`head > ${e}${r}`;return Array.from(document.querySelectorAll(o)).find(i=>i.innerText===n)||null},pv=([e,t,n])=>{if(!_e(e))return null;const r=document.createElement(e);return On(t)&&Object.entries(t).forEach(([o,l])=>{_e(l)?r.setAttribute(o,l):l===!0&&r.setAttribute(o,"")}),_e(n)&&r.appendChild(document.createTextNode(n)),r},hv=Gp,mv=async()=>{var n;const e=hv({name:"Vuepress",setup(){var l;fv();for(const s of Ur)(l=s.setup)==null||l.call(s);const r=Ur.flatMap(({rootComponents:s=[]})=>s.map(i=>a(i))),o=d0();return()=>[a(o.value),r]}}),t=iv();cv(e),uv(e,t,Ur);for(const r of Ur)await((n=r.enhance)==null?void 0:n.call(r,{app:e,router:t,siteData:jn}));return e.use(t),{app:e,router:t}};mv().then(({app:e,router:t})=>{t.isReady().then(()=>{e.mount("#app")})});export{F as _,Ki as a,Yi as b,gv as c,mv as createVueApp,Ie as d,yv as e,vv as o,Xe as r,ld as w};
diff --git a/assets/artplayer-CHAGXahu.js b/assets/artplayer-CHAGXahu.js
deleted file mode 100644
index 8f3cf92..0000000
--- a/assets/artplayer-CHAGXahu.js
+++ /dev/null
@@ -1,18 +0,0 @@
-import{g as Se,c as de}from"./commonjsHelpers-Cpj98o6Y.js";function Ie(P,ce){for(var r=0;r<ce.length;r++){const h=ce[r];if(typeof h!="string"&&!Array.isArray(h)){for(const a in h)if(a!=="default"&&!(a in P)){const e=Object.getOwnPropertyDescriptor(h,a);e&&Object.defineProperty(P,a,e.get?e:{enumerable:!0,get:()=>h[a]})}}}return Object.freeze(Object.defineProperty(P,Symbol.toStringTag,{value:"Module"}))}function fe(P){throw new Error('Could not dynamically require "'+P+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var le={exports:{}};/*!
- * artplayer.js v5.1.1
- * Github: https://github.com/zhw2590582/ArtPlayer
- * (c) 2017-2024 Harvey Zack
- * Released under the MIT License.
- */le.exports;(function(P,ce){(function(r,h,a,e,t){var i=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof de<"u"?de:{},n=typeof i[e]=="function"&&i[e],o=n.cache||{},u=typeof fe=="function"&&fe.bind(P);function c(p,f){if(!o[p]){if(!r[p]){var v=typeof i[e]=="function"&&i[e];if(!f&&v)return v(p,!0);if(n)return n(p,!0);if(u&&typeof p=="string")return u(p);var d=new Error("Cannot find module '"+p+"'");throw d.code="MODULE_NOT_FOUND",d}$.resolve=function(y){var m=r[p][1][y];return m??y},$.cache={};var x=o[p]=new c.Module(p);r[p][0].call(x.exports,$,x,x.exports,this)}return o[p].exports;function $(y){var m=$.resolve(y);return m===!1?{}:c(m)}}c.isParcelRequire=!0,c.Module=function(p){this.id=p,this.bundle=c,this.exports={}},c.modules=r,c.cache=o,c.parent=n,c.register=function(p,f){r[p]=[function(v,d){d.exports=f},{}]},Object.defineProperty(c,"root",{get:function(){return i[e]}}),i[e]=c;for(var s=0;s<h.length;s++)c(h[s]);if(a){var l=c(a);P.exports=l}})({abjMI:[function(r,h,a){var e=r("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(a);var t=r("bundle-text:./style/index.less"),i=e.interopDefault(t),n=r("option-validator"),o=e.interopDefault(n),u=r("./utils/emitter"),c=e.interopDefault(u),s=r("./utils"),l=r("./scheme"),p=e.interopDefault(l),f=r("./config"),v=e.interopDefault(f),d=r("./template"),x=e.interopDefault(d),$=r("./i18n"),y=e.interopDefault($),m=r("./player"),w=e.interopDefault(m),g=r("./control"),k=e.interopDefault(g),S=r("./contextmenu"),b=e.interopDefault(S),j=r("./info"),I=e.interopDefault(j),M=r("./subtitle"),D=e.interopDefault(M),O=r("./events"),F=e.interopDefault(O),T=r("./hotkey"),H=e.interopDefault(T),B=r("./layer"),A=e.interopDefault(B),R=r("./loading"),V=e.interopDefault(R),W=r("./notice"),U=e.interopDefault(W),Y=r("./mask"),K=e.interopDefault(Y),G=r("./icons"),X=e.interopDefault(G),J=r("./setting"),Q=e.interopDefault(J),ee=r("./storage"),te=e.interopDefault(ee),re=r("./plugins"),ae=e.interopDefault(re);let oe=0;const N=[];class E extends c.default{constructor(z,Z){super(),this.id=++oe;const q=s.mergeDeep(E.option,z);if(q.container=z.container,this.option=(0,o.default)(q,p.default),this.isLock=!1,this.isReady=!1,this.isFocus=!1,this.isInput=!1,this.isRotate=!1,this.isDestroy=!1,this.template=new x.default(this),this.events=new F.default(this),this.storage=new te.default(this),this.icons=new X.default(this),this.i18n=new y.default(this),this.notice=new U.default(this),this.player=new w.default(this),this.layers=new A.default(this),this.controls=new k.default(this),this.contextmenu=new b.default(this),this.subtitle=new D.default(this),this.info=new I.default(this),this.loading=new V.default(this),this.hotkey=new H.default(this),this.mask=new K.default(this),this.setting=new Q.default(this),this.plugins=new ae.default(this),typeof Z=="function"&&this.on("ready",()=>Z.call(this,this)),E.DEBUG){const _=L=>console.log(`[ART.${this.id}] -> ${L}`);_("Version@"+E.version),_("Env@"+E.env),_("Build@"+E.build);for(let L=0;L<v.default.events.length;L++)this.on("video:"+v.default.events[L],ne=>_("Event@"+ne.type))}N.push(this)}static get instances(){return N}static get version(){return"5.1.1"}static get env(){return"production"}static get build(){return"2024-01-11 10:39:44"}static get config(){return v.default}static get utils(){return s}static get scheme(){return p.default}static get Emitter(){return c.default}static get validator(){return o.default}static get kindOf(){return o.default.kindOf}static get html(){return x.default.html}static get option(){return{id:"",container:"#artplayer",url:"",poster:"",type:"",theme:"#f00",volume:.7,isLive:!1,muted:!1,autoplay:!1,autoSize:!1,autoMini:!1,loop:!1,flip:!1,playbackRate:!1,aspectRatio:!1,screenshot:!1,setting:!1,hotkey:!0,pip:!1,mutex:!0,backdrop:!0,fullscreen:!1,fullscreenWeb:!1,subtitleOffset:!1,miniProgressBar:!1,useSSR:!1,playsInline:!0,lock:!1,fastForward:!1,autoPlayback:!1,autoOrientation:!1,airplay:!1,layers:[],contextmenu:[],controls:[],settings:[],quality:[],highlight:[],plugins:[],thumbnails:{url:"",number:60,column:10,width:0,height:0},subtitle:{url:"",type:"",style:{},name:"",escape:!0,encoding:"utf-8",onVttLoad:z=>z},moreVideoAttr:{controls:!1,preload:s.isSafari?"auto":"metadata"},i18n:{},icons:{},cssVar:{},customType:{},lang:navigator.language.toLowerCase()}}get proxy(){return this.events.proxy}get query(){return this.template.query}get video(){return this.template.$video}destroy(z=!0){this.events.destroy(),this.template.destroy(z),N.splice(N.indexOf(this),1),this.isDestroy=!0,this.emit("destroy")}}a.default=E,E.DEBUG=!1,E.CONTEXTMENU=!0,E.NOTICE_TIME=2e3,E.SETTING_WIDTH=250,E.SETTING_ITEM_WIDTH=200,E.SETTING_ITEM_HEIGHT=35,E.RESIZE_TIME=200,E.SCROLL_TIME=200,E.SCROLL_GAP=50,E.AUTO_PLAYBACK_MAX=10,E.AUTO_PLAYBACK_MIN=5,E.AUTO_PLAYBACK_TIMEOUT=3e3,E.RECONNECT_TIME_MAX=5,E.RECONNECT_SLEEP_TIME=1e3,E.CONTROL_HIDE_TIME=3e3,E.DBCLICK_TIME=300,E.DBCLICK_FULLSCREEN=!0,E.MOBILE_DBCLICK_PLAY=!0,E.MOBILE_CLICK_PLAY=!1,E.AUTO_ORIENTATION_TIME=200,E.INFO_LOOP_TIME=1e3,E.FAST_FORWARD_VALUE=3,E.FAST_FORWARD_TIME=1e3,E.TOUCH_MOVE_RATIO=.5,E.VOLUME_STEP=.1,E.SEEK_STEP=5,E.PLAYBACK_RATE=[.5,.75,1,1.25,1.5,2],E.ASPECT_RATIO=["default","4:3","16:9"],E.FLIP=["normal","horizontal","vertical"],E.FULLSCREEN_WEB_IN_BODY=!1,E.LOG_VERSION=!0,E.USE_RAF=!1,s.isBrowser&&(window.Artplayer=E,s.setStyleText("artplayer-style",i.default),setTimeout(()=>{E.LOG_VERSION&&console.log(`%c ArtPlayer %c ${E.version} %c https://artplayer.org`,"color: #fff; background: #5f5f5f","color: #fff; background: #4bc729","")},100))},{"bundle-text:./style/index.less":"kfOe8","option-validator":"bAWi2","./utils/emitter":"2bGVu","./utils":"h3rH9","./scheme":"AdvwB","./config":"9Xmqu","./template":"2gKYH","./i18n":"1AdeF","./player":"556MW","./control":"14IBq","./contextmenu":"7iUum","./info":"hD2Lg","./subtitle":"lum0D","./events":"1Epl5","./hotkey":"eTow4","./layer":"4fDoD","./loading":"fE0Sp","./notice":"9PuGy","./mask":"2etr0","./icons":"6dYSr","./setting":"bRHiA","./storage":"f2Thp","./plugins":"96ThS","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],kfOe8:[function(r,h,a){h.exports='.art-video-player{--art-theme:red;--art-font-color:#fff;--art-background-color:#000;--art-text-shadow-color:#00000080;--art-transition-duration:.2s;--art-padding:10px;--art-border-radius:3px;--art-progress-height:6px;--art-progress-color:#fff3;--art-hover-color:#fff3;--art-loaded-color:#fff3;--art-state-size:80px;--art-state-opacity:.8;--art-bottom-height:100px;--art-bottom-offset:20px;--art-bottom-gap:5px;--art-highlight-width:8px;--art-highlight-color:#ffffff80;--art-control-height:46px;--art-control-opacity:.75;--art-control-icon-size:36px;--art-control-icon-scale:1.1;--art-volume-height:120px;--art-volume-handle-size:14px;--art-lock-size:36px;--art-indicator-scale:0;--art-indicator-size:16px;--art-fullscreen-web-index:9999;--art-settings-icon-size:24px;--art-settings-max-height:300px;--art-selector-max-height:300px;--art-contextmenus-min-width:250px;--art-subtitle-font-size:20px;--art-subtitle-gap:5px;--art-subtitle-bottom:15px;--art-subtitle-border:#000;--art-widget-background:#000000d9;--art-tip-background:#00000080;--art-scrollbar-size:4px;--art-scrollbar-background:#ffffff40;--art-scrollbar-background-hover:#ffffff80;--art-mini-progress-height:2px}.art-bg-cover{background-position:50%;background-repeat:no-repeat;background-size:cover}.art-bottom-gradient{background-image:linear-gradient(#0000,#0006,#000);background-position:bottom;background-repeat:repeat-x}.art-backdrop-filter{-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);background-color:#000000bf!important}.art-truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.art-video-player{width:100%;height:100%;zoom:1;text-align:left;direction:ltr;user-select:none;box-sizing:border-box;color:var(--art-font-color);background-color:var(--art-background-color);text-shadow:0 0 2px var(--art-text-shadow-color);-webkit-tap-highlight-color:#0000;-ms-touch-action:manipulation;touch-action:manipulation;-ms-high-contrast-adjust:none;outline:0;margin:0 auto;padding:0;font-family:PingFang SC,Helvetica Neue,Microsoft YaHei,Roboto,Arial,sans-serif;font-size:14px;line-height:1.3;position:relative}.art-video-player *,.art-video-player :before,.art-video-player :after{box-sizing:border-box}.art-video-player ::-webkit-scrollbar{width:var(--art-scrollbar-size);height:var(--art-scrollbar-size)}.art-video-player ::-webkit-scrollbar-thumb{background-color:var(--art-scrollbar-background)}.art-video-player ::-webkit-scrollbar-thumb:hover{background-color:var(--art-scrollbar-background-hover)}.art-video-player img{max-width:100%;vertical-align:top}.art-video-player svg{fill:var(--art-font-color)}.art-video-player a{color:var(--art-font-color);text-decoration:none}.art-icon{justify-content:center;align-items:center;line-height:1;display:flex}.art-video-player.art-backdrop .art-contextmenus,.art-video-player.art-backdrop .art-info,.art-video-player.art-backdrop .art-settings,.art-video-player.art-backdrop .art-layer-auto-playback,.art-video-player.art-backdrop .art-selector-list,.art-video-player.art-backdrop .art-volume-inner{-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);background-color:#000000bf!important}.art-video{z-index:10;width:100%;height:100%;cursor:pointer;position:absolute;inset:0}.art-poster{z-index:11;width:100%;height:100%;pointer-events:none;background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}.art-video-player .art-subtitle{z-index:20;width:100%;text-align:center;pointer-events:none;justify-content:center;align-items:center;gap:var(--art-subtitle-gap);bottom:var(--art-subtitle-bottom);font-size:var(--art-subtitle-font-size);transition:bottom var(--art-transition-duration)ease;text-shadow:var(--art-subtitle-border)1px 0 1px,var(--art-subtitle-border)0 1px 1px,var(--art-subtitle-border)-1px 0 1px,var(--art-subtitle-border)0 -1px 1px,var(--art-subtitle-border)1px 1px 1px,var(--art-subtitle-border)-1px -1px 1px,var(--art-subtitle-border)1px -1px 1px,var(--art-subtitle-border)-1px 1px 1px;flex-direction:column;padding:0 5%;display:none;position:absolute}.art-video-player.art-subtitle-show .art-subtitle{display:flex}.art-video-player.art-control-show .art-subtitle{bottom:calc(var(--art-control-height) + var(--art-subtitle-bottom))}.art-danmuku{z-index:30;width:100%;height:100%;pointer-events:none;position:absolute;inset:0;overflow:hidden}.art-video-player .art-layers{z-index:40;width:100%;height:100%;pointer-events:none;display:none;position:absolute;inset:0}.art-video-player .art-layers .art-layer{pointer-events:auto}.art-video-player.art-layer-show .art-layers{display:flex}.art-video-player .art-mask{z-index:50;width:100%;height:100%;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.art-video-player .art-mask .art-state{opacity:0;width:var(--art-state-size);height:var(--art-state-size);transition:all var(--art-transition-duration)ease;justify-content:center;align-items:center;display:flex;transform:scale(2)}.art-video-player.art-mask-show .art-state{cursor:pointer;pointer-events:auto;opacity:var(--art-state-opacity);transform:scale(1)}.art-video-player.art-loading-show .art-state{display:none}.art-video-player .art-loading{z-index:70;width:100%;height:100%;pointer-events:none;justify-content:center;align-items:center;display:none;position:absolute;inset:0}.art-video-player.art-loading-show .art-loading{display:flex}.art-video-player .art-bottom{z-index:60;width:100%;height:100%;opacity:0;pointer-events:none;padding:0 var(--art-padding);transition:all var(--art-transition-duration)ease;background-size:100% var(--art-bottom-height);background-image:linear-gradient(#0000,#0006,#000);background-position:bottom;background-repeat:repeat-x;flex-direction:column;justify-content:flex-end;display:flex;position:absolute;inset:0;overflow:hidden}.art-video-player .art-bottom .art-controls,.art-video-player .art-bottom .art-progress{transform:translateY(var(--art-bottom-offset));transition:transform var(--art-transition-duration)ease}.art-video-player.art-control-show .art-bottom,.art-video-player.art-hover .art-bottom{opacity:1}.art-video-player.art-control-show .art-bottom .art-controls,.art-video-player.art-hover .art-bottom .art-controls,.art-video-player.art-control-show .art-bottom .art-progress,.art-video-player.art-hover .art-bottom .art-progress{transform:translateY(0)}.art-bottom .art-progress{z-index:0;pointer-events:auto;padding-bottom:var(--art-bottom-gap);position:relative}.art-bottom .art-progress .art-control-progress{cursor:pointer;height:var(--art-progress-height);justify-content:center;align-items:center;display:flex;position:relative}.art-bottom .art-progress .art-control-progress .art-control-progress-inner{height:50%;width:100%;transition:height var(--art-transition-duration)ease;background-color:var(--art-progress-color);align-items:center;display:flex;position:relative}.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-hover{z-index:0;width:100%;height:100%;width:0%;background-color:var(--art-hover-color);display:none;position:absolute;inset:0}.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-loaded{z-index:10;width:100%;height:100%;width:0%;background-color:var(--art-loaded-color);position:absolute;inset:0}.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-played{z-index:20;width:100%;height:100%;width:0%;background-color:var(--art-theme);position:absolute;inset:0}.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-highlight{z-index:30;width:100%;height:100%;pointer-events:none;position:absolute;inset:0}.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-highlight span{z-index:0;width:100%;height:100%;pointer-events:auto;transform:translateX(calc(var(--art-highlight-width)/-2));background-color:var(--art-highlight-color);position:absolute;inset:0 auto 0 0;width:var(--art-highlight-width)!important}.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-indicator{z-index:40;width:var(--art-indicator-size);height:var(--art-indicator-size);transform:scale(var(--art-indicator-scale));margin-left:calc(var(--art-indicator-size)/-2);transition:transform var(--art-transition-duration)ease;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;left:0}.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-indicator .art-icon{width:100%;height:100%;pointer-events:none}.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-indicator:hover{transform:scale(1.2)!important}.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-indicator:active{transform:scale(1)!important}.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-tip{z-index:50;border-radius:var(--art-border-radius);white-space:nowrap;background-color:var(--art-tip-background);padding:3px 5px;font-size:12px;line-height:1;display:none;position:absolute;top:-25px;left:0}.art-bottom .art-progress .art-control-progress:hover .art-control-progress-inner{height:100%}.art-bottom .art-progress .art-control-thumbnails{bottom:calc(var(--art-bottom-gap) + 10px);border-radius:var(--art-border-radius);pointer-events:none;background-color:var(--art-widget-background);display:none;position:absolute;left:0;box-shadow:0 1px 3px #0003,0 1px 2px -1px #0003}.art-bottom:hover .art-progress .art-control-progress .art-control-progress-inner .art-progress-indicator{transform:scale(1)}.art-controls{z-index:10;pointer-events:auto;height:var(--art-control-height);justify-content:space-between;align-items:center;display:flex;position:relative}.art-controls .art-controls-left,.art-controls .art-controls-right{height:100%;display:flex}.art-controls .art-controls-center{height:100%;flex:1;justify-content:center;align-items:center;padding:0 10px;display:none}.art-controls .art-controls-right{justify-content:flex-end}.art-controls .art-control{cursor:pointer;white-space:nowrap;opacity:var(--art-control-opacity);min-height:var(--art-control-height);min-width:var(--art-control-height);transition:opacity var(--art-transition-duration)ease;flex-shrink:0;justify-content:center;align-items:center;display:flex}.art-controls .art-control .art-icon{height:var(--art-control-icon-size);width:var(--art-control-icon-size);transform:scale(var(--art-control-icon-scale));transition:transform var(--art-transition-duration)ease}.art-controls .art-control .art-icon:active{transform:scale(calc(var(--art-control-icon-scale)*.8))}.art-controls .art-control:hover{opacity:1}.art-control-volume{position:relative}.art-control-volume .art-volume-panel{text-align:center;cursor:default;opacity:0;pointer-events:none;left:0;right:0;bottom:var(--art-control-height);width:var(--art-control-height);height:var(--art-volume-height);transition:all var(--art-transition-duration)ease;justify-content:center;align-items:center;padding:0 5px;font-size:12px;display:flex;position:absolute;transform:translateY(10px)}.art-control-volume .art-volume-panel .art-volume-inner{height:100%;width:100%;border-radius:var(--art-border-radius);background-color:var(--art-widget-background);flex-direction:column;align-items:center;gap:10px;padding:10px 0 12px;display:flex}.art-control-volume .art-volume-panel .art-volume-inner .art-volume-slider{width:100%;cursor:pointer;flex:1;justify-content:center;display:flex;position:relative}.art-control-volume .art-volume-panel .art-volume-inner .art-volume-slider .art-volume-handle{width:2px;border-radius:var(--art-border-radius);background-color:#ffffff40;justify-content:center;display:flex;position:relative;overflow:hidden}.art-control-volume .art-volume-panel .art-volume-inner .art-volume-slider .art-volume-handle .art-volume-loaded{z-index:0;width:100%;height:100%;background-color:var(--art-theme);position:absolute;inset:0}.art-control-volume .art-volume-panel .art-volume-inner .art-volume-slider .art-volume-indicator{width:var(--art-volume-handle-size);height:var(--art-volume-handle-size);margin-top:calc(var(--art-volume-handle-size)/-2);background-color:var(--art-theme);transition:transform var(--art-transition-duration)ease;border-radius:100%;flex-shrink:0;position:absolute;transform:scale(1)}.art-control-volume .art-volume-panel .art-volume-inner .art-volume-slider:active .art-volume-indicator{transform:scale(.9)}.art-control-volume:hover .art-volume-panel{opacity:1;pointer-events:auto;transform:translateY(0)}.art-video-player .art-notice{z-index:80;width:100%;height:100%;height:auto;padding:var(--art-padding);pointer-events:none;display:none;position:absolute;inset:0 0 auto}.art-video-player .art-notice .art-notice-inner{border-radius:var(--art-border-radius);background-color:var(--art-tip-background);padding:5px;line-height:1;display:inline-flex}.art-video-player.art-notice-show .art-notice{display:flex}.art-video-player .art-contextmenus{z-index:120;border-radius:var(--art-border-radius);background-color:var(--art-widget-background);min-width:var(--art-contextmenus-min-width);flex-direction:column;padding:5px 0;font-size:12px;display:none;position:absolute}.art-video-player .art-contextmenus .art-contextmenu{cursor:pointer;border-bottom:1px solid #ffffff1a;padding:10px 15px;display:flex}.art-video-player .art-contextmenus .art-contextmenu span{padding:0 8px}.art-video-player .art-contextmenus .art-contextmenu span:hover,.art-video-player .art-contextmenus .art-contextmenu span.art-current{color:var(--art-theme)}.art-video-player .art-contextmenus .art-contextmenu:hover{background-color:#ffffff1a}.art-video-player .art-contextmenus .art-contextmenu:last-child{border-bottom:none}.art-video-player.art-contextmenu-show .art-contextmenus{display:flex}.art-video-player .art-settings{z-index:90;border-radius:var(--art-border-radius);transform-origin:100% 100%;max-height:var(--art-settings-max-height);left:auto;right:var(--art-padding);bottom:var(--art-control-height);transform:scale(var(--art-settings-scale));transition:all var(--art-transition-duration)ease;background-color:var(--art-widget-background);flex-direction:column;display:none;position:absolute;overflow:hidden auto}.art-video-player .art-settings .art-setting-panel{flex-direction:column;display:none}.art-video-player .art-settings .art-setting-panel.art-current{display:flex}.art-video-player .art-settings .art-setting-panel .art-setting-item{cursor:pointer;transition:background-color var(--art-transition-duration)ease;justify-content:space-between;align-items:center;padding:0 5px;display:flex;overflow:hidden}.art-video-player .art-settings .art-setting-panel .art-setting-item:hover{background-color:#ffffff1a}.art-video-player .art-settings .art-setting-panel .art-setting-item.art-current{color:var(--art-theme)}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-icon-check{visibility:hidden;height:15px}.art-video-player .art-settings .art-setting-panel .art-setting-item.art-current .art-icon-check{visibility:visible}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-left{justify-content:center;align-items:center;gap:5px;display:flex}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-left .art-setting-item-left-icon{height:var(--art-settings-icon-size);width:var(--art-settings-icon-size);justify-content:center;align-items:center;display:flex}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-right{justify-content:center;align-items:center;gap:5px;font-size:12px;display:flex}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-right .art-setting-item-right-tooltip{white-space:nowrap;color:#ffffff80}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-right .art-setting-item-right-icon{min-width:32px;height:24px;justify-content:center;align-items:center;display:flex}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-right .art-setting-range{height:3px;width:80px;appearance:none;background-color:#fff3;outline:none}.art-video-player .art-settings .art-setting-panel .art-setting-item-back{border-bottom:1px solid #ffffff1a}.art-video-player.art-setting-show .art-settings{display:flex}.art-video-player .art-info{left:var(--art-padding);top:var(--art-padding);z-index:100;border-radius:var(--art-border-radius);background-color:var(--art-widget-background);padding:10px;font-size:12px;display:none;position:absolute}.art-video-player .art-info .art-info-panel{flex-direction:column;gap:5px;display:flex}.art-video-player .art-info .art-info-panel .art-info-item{align-items:center;gap:5px;display:flex}.art-video-player .art-info .art-info-panel .art-info-item .art-info-title{width:100px;text-align:right}.art-video-player .art-info .art-info-panel .art-info-item .art-info-content{width:250px;text-overflow:ellipsis;white-space:nowrap;user-select:all;overflow:hidden}.art-video-player .art-info .art-info-close{cursor:pointer;position:absolute;top:5px;right:5px}.art-video-player.art-info-show .art-info{display:flex}.art-hide-cursor *{cursor:none!important}.art-video-player[data-aspect-ratio]{overflow:hidden}.art-video-player[data-aspect-ratio] .art-video{object-fit:fill;box-sizing:content-box}.art-fullscreen{--art-control-height:60px;--art-control-icon-scale:1.3}.art-fullscreen-web{--art-control-height:60px;--art-control-icon-scale:1.3;z-index:var(--art-fullscreen-web-index);width:100%;height:100%;position:fixed;inset:0}.art-mini-popup{z-index:9999;width:320px;height:180px;border-radius:var(--art-border-radius);cursor:move;user-select:none;background:#000;transition:opacity .2s;position:fixed;overflow:hidden;box-shadow:0 0 5px #00000080}.art-mini-popup svg{fill:#fff}.art-mini-popup .art-video{pointer-events:none}.art-mini-popup .art-mini-close{z-index:20;cursor:pointer;opacity:0;transition:opacity .2s;position:absolute;top:10px;right:10px}.art-mini-popup .art-mini-state{z-index:30;width:100%;height:100%;pointer-events:none;opacity:0;background-color:#00000040;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:absolute;inset:0}.art-mini-popup .art-mini-state .art-icon{opacity:.75;cursor:pointer;pointer-events:auto;transition:transform .2s;transform:scale(3)}.art-mini-popup .art-mini-state .art-icon:active{transform:scale(2.5)}.art-mini-popup.art-mini-droging{opacity:.9}.art-mini-popup:hover .art-mini-close,.art-mini-popup:hover .art-mini-state{opacity:1}.art-video-player[data-flip=horizontal] .art-video{transform:scaleX(-1)}.art-video-player[data-flip=vertical] .art-video{transform:scaleY(-1)}.art-video-player .art-layer-lock{height:var(--art-lock-size);width:var(--art-lock-size);top:50%;left:var(--art-padding);background-color:var(--art-tip-background);border-radius:50%;justify-content:center;align-items:center;display:none;position:absolute;transform:translateY(-50%)}.art-video-player .art-layer-auto-playback{border-radius:var(--art-border-radius);left:var(--art-padding);bottom:calc(var(--art-control-height) + var(--art-bottom-gap) + 10px);background-color:var(--art-widget-background);align-items:center;gap:10px;padding:10px;line-height:1;display:none;position:absolute}.art-video-player .art-layer-auto-playback .art-auto-playback-close{cursor:pointer;justify-content:center;align-items:center;display:flex}.art-video-player .art-layer-auto-playback .art-auto-playback-close svg{width:15px;height:15px;fill:var(--art-theme)}.art-video-player .art-layer-auto-playback .art-auto-playback-jump{color:var(--art-theme);cursor:pointer}.art-video-player.art-lock .art-subtitle{bottom:var(--art-subtitle-bottom)!important}.art-video-player.art-mini-progress-bar .art-bottom,.art-video-player.art-lock .art-bottom{opacity:1;background-image:none;padding:0}.art-video-player.art-mini-progress-bar .art-bottom .art-controls,.art-video-player.art-lock .art-bottom .art-controls,.art-video-player.art-mini-progress-bar .art-bottom .art-progress,.art-video-player.art-lock .art-bottom .art-progress{transform:translateY(calc(var(--art-control-height) + var(--art-bottom-gap) + var(--art-progress-height)/4))}.art-video-player.art-mini-progress-bar .art-bottom .art-progress-indicator,.art-video-player.art-lock .art-bottom .art-progress-indicator{display:none!important}.art-video-player.art-control-show .art-layer-lock{display:flex}.art-control-selector{position:relative}.art-control-selector .art-selector-list{text-align:center;border-radius:var(--art-border-radius);opacity:0;pointer-events:none;bottom:var(--art-control-height);max-height:var(--art-selector-max-height);background-color:var(--art-widget-background);transition:all var(--art-transition-duration)ease;flex-direction:column;align-items:center;display:flex;position:absolute;overflow:hidden auto;transform:translateY(10px)}.art-control-selector .art-selector-list .art-selector-item{width:100%;flex-shrink:0;justify-content:center;align-items:center;padding:10px 15px;line-height:1;display:flex}.art-control-selector .art-selector-list .art-selector-item:hover{background-color:#ffffff1a}.art-control-selector .art-selector-list .art-selector-item:hover,.art-control-selector .art-selector-list .art-selector-item.art-current{color:var(--art-theme)}.art-control-selector:hover .art-selector-list{opacity:1;pointer-events:auto;transform:translateY(0)}[class*=hint--]{font-style:normal;display:inline-block;position:relative}[class*=hint--]:before,[class*=hint--]:after{visibility:hidden;opacity:0;z-index:1000000;pointer-events:none;transition:all .3s;position:absolute;transform:translate(0,0)}[class*=hint--]:hover:before,[class*=hint--]:hover:after{visibility:visible;opacity:1;transition-delay:.1s}[class*=hint--]:before{content:"";z-index:1000001;background:0 0;border:6px solid #0000;position:absolute}[class*=hint--]:after{color:#fff;white-space:nowrap;background:#000;padding:8px 10px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:12px;line-height:12px}[class*=hint--][aria-label]:after{content:attr(aria-label)}[class*=hint--][data-hint]:after{content:attr(data-hint)}[aria-label=""]:before,[aria-label=""]:after,[data-hint=""]:before,[data-hint=""]:after{display:none!important}.hint--top-left:before,.hint--top-right:before,.hint--top:before{border-top-color:#000}.hint--bottom-left:before,.hint--bottom-right:before,.hint--bottom:before{border-bottom-color:#000}.hint--left:before{border-left-color:#000}.hint--right:before{border-right-color:#000}.hint--top:before{margin-bottom:-11px}.hint--top:before,.hint--top:after{bottom:100%;left:50%}.hint--top:before{left:calc(50% - 6px)}.hint--top:after{transform:translate(-50%)}.hint--top:hover:before{transform:translateY(-8px)}.hint--top:hover:after{transform:translate(-50%)translateY(-8px)}.hint--bottom:before{margin-top:-11px}.hint--bottom:before,.hint--bottom:after{top:100%;left:50%}.hint--bottom:before{left:calc(50% - 6px)}.hint--bottom:after{transform:translate(-50%)}.hint--bottom:hover:before{transform:translateY(8px)}.hint--bottom:hover:after{transform:translate(-50%)translateY(8px)}.hint--right:before{margin-bottom:-6px;margin-left:-11px}.hint--right:after{margin-bottom:-14px}.hint--right:before,.hint--right:after{bottom:50%;left:100%}.hint--right:hover:before,.hint--right:hover:after{transform:translate(8px)}.hint--left:before{margin-bottom:-6px;margin-right:-11px}.hint--left:after{margin-bottom:-14px}.hint--left:before,.hint--left:after{bottom:50%;right:100%}.hint--left:hover:before,.hint--left:hover:after{transform:translate(-8px)}.hint--top-left:before{margin-bottom:-11px}.hint--top-left:before,.hint--top-left:after{bottom:100%;left:50%}.hint--top-left:before{left:calc(50% - 6px)}.hint--top-left:after{margin-left:12px;transform:translate(-100%)}.hint--top-left:hover:before{transform:translateY(-8px)}.hint--top-left:hover:after{transform:translate(-100%)translateY(-8px)}.hint--top-right:before{margin-bottom:-11px}.hint--top-right:before,.hint--top-right:after{bottom:100%;left:50%}.hint--top-right:before{left:calc(50% - 6px)}.hint--top-right:after{margin-left:-12px;transform:translate(0)}.hint--top-right:hover:before,.hint--top-right:hover:after{transform:translateY(-8px)}.hint--bottom-left:before{margin-top:-11px}.hint--bottom-left:before,.hint--bottom-left:after{top:100%;left:50%}.hint--bottom-left:before{left:calc(50% - 6px)}.hint--bottom-left:after{margin-left:12px;transform:translate(-100%)}.hint--bottom-left:hover:before{transform:translateY(8px)}.hint--bottom-left:hover:after{transform:translate(-100%)translateY(8px)}.hint--bottom-right:before{margin-top:-11px}.hint--bottom-right:before,.hint--bottom-right:after{top:100%;left:50%}.hint--bottom-right:before{left:calc(50% - 6px)}.hint--bottom-right:after{margin-left:-12px;transform:translate(0)}.hint--bottom-right:hover:before,.hint--bottom-right:hover:after{transform:translateY(8px)}.hint--small:after,.hint--medium:after,.hint--large:after{white-space:normal;word-wrap:break-word;line-height:1.4em}.hint--small:after{width:80px}.hint--medium:after{width:150px}.hint--large:after{width:300px}[class*=hint--]:after{text-shadow:0 -1px #000;box-shadow:4px 4px 8px #0000004d}.hint--error:after{text-shadow:0 -1px #592726;background-color:#b34e4d}.hint--error.hint--top-left:before,.hint--error.hint--top-right:before,.hint--error.hint--top:before{border-top-color:#b34e4d}.hint--error.hint--bottom-left:before,.hint--error.hint--bottom-right:before,.hint--error.hint--bottom:before{border-bottom-color:#b34e4d}.hint--error.hint--left:before{border-left-color:#b34e4d}.hint--error.hint--right:before{border-right-color:#b34e4d}.hint--warning:after{text-shadow:0 -1px #6c5328;background-color:#c09854}.hint--warning.hint--top-left:before,.hint--warning.hint--top-right:before,.hint--warning.hint--top:before{border-top-color:#c09854}.hint--warning.hint--bottom-left:before,.hint--warning.hint--bottom-right:before,.hint--warning.hint--bottom:before{border-bottom-color:#c09854}.hint--warning.hint--left:before{border-left-color:#c09854}.hint--warning.hint--right:before{border-right-color:#c09854}.hint--info:after{text-shadow:0 -1px #1a3c4d;background-color:#3986ac}.hint--info.hint--top-left:before,.hint--info.hint--top-right:before,.hint--info.hint--top:before{border-top-color:#3986ac}.hint--info.hint--bottom-left:before,.hint--info.hint--bottom-right:before,.hint--info.hint--bottom:before{border-bottom-color:#3986ac}.hint--info.hint--left:before{border-left-color:#3986ac}.hint--info.hint--right:before{border-right-color:#3986ac}.hint--success:after{text-shadow:0 -1px #1a321a;background-color:#458746}.hint--success.hint--top-left:before,.hint--success.hint--top-right:before,.hint--success.hint--top:before{border-top-color:#458746}.hint--success.hint--bottom-left:before,.hint--success.hint--bottom-right:before,.hint--success.hint--bottom:before{border-bottom-color:#458746}.hint--success.hint--left:before{border-left-color:#458746}.hint--success.hint--right:before{border-right-color:#458746}.hint--always:after,.hint--always:before{opacity:1;visibility:visible}.hint--always.hint--top:before{transform:translateY(-8px)}.hint--always.hint--top:after{transform:translate(-50%)translateY(-8px)}.hint--always.hint--top-left:before{transform:translateY(-8px)}.hint--always.hint--top-left:after{transform:translate(-100%)translateY(-8px)}.hint--always.hint--top-right:before,.hint--always.hint--top-right:after{transform:translateY(-8px)}.hint--always.hint--bottom:before{transform:translateY(8px)}.hint--always.hint--bottom:after{transform:translate(-50%)translateY(8px)}.hint--always.hint--bottom-left:before{transform:translateY(8px)}.hint--always.hint--bottom-left:after{transform:translate(-100%)translateY(8px)}.hint--always.hint--bottom-right:before,.hint--always.hint--bottom-right:after{transform:translateY(8px)}.hint--always.hint--left:before,.hint--always.hint--left:after{transform:translate(-8px)}.hint--always.hint--right:before,.hint--always.hint--right:after{transform:translate(8px)}.hint--rounded:after{border-radius:4px}.hint--no-animate:before,.hint--no-animate:after{transition-duration:0s}.hint--bounce:before,.hint--bounce:after{-webkit-transition:opacity .3s,visibility .3s,-webkit-transform .3s cubic-bezier(.71,1.7,.77,1.24);-moz-transition:opacity .3s,visibility .3s,-moz-transform .3s cubic-bezier(.71,1.7,.77,1.24);transition:opacity .3s,visibility .3s,transform .3s cubic-bezier(.71,1.7,.77,1.24)}.hint--no-shadow:before,.hint--no-shadow:after{text-shadow:initial;box-shadow:initial}.hint--no-arrow:before{display:none}.art-video-player.art-mobile{--art-bottom-gap:10px;--art-control-height:38px;--art-control-icon-scale:1;--art-state-size:60px;--art-settings-max-height:180px;--art-selector-max-height:180px;--art-indicator-scale:1;--art-control-opacity:1}.art-video-player.art-mobile .art-controls-left{margin-left:calc(var(--art-padding)/-1)}.art-video-player.art-mobile .art-controls-right{margin-right:calc(var(--art-padding)/-1)}'},{}],bAWi2:[function(r,h,a){h.exports=function(){function e(s){return(e=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(l){return typeof l}:function(l){return l&&typeof Symbol=="function"&&l.constructor===Symbol&&l!==Symbol.prototype?"symbol":typeof l})(s)}var t=Object.prototype.toString,i=function(s){if(s===void 0)return"undefined";if(s===null)return"null";var l=e(s);if(l==="boolean")return"boolean";if(l==="string")return"string";if(l==="number")return"number";if(l==="symbol")return"symbol";if(l==="function")return function(p){return n(p)==="GeneratorFunction"}(s)?"generatorfunction":"function";if(function(p){return Array.isArray?Array.isArray(p):p instanceof Array}(s))return"array";if(function(p){return!(!p.constructor||typeof p.constructor.isBuffer!="function")&&p.constructor.isBuffer(p)}(s))return"buffer";if(function(p){try{if(typeof p.length=="number"&&typeof p.callee=="function")return!0}catch(f){if(f.message.indexOf("callee")!==-1)return!0}return!1}(s))return"arguments";if(function(p){return p instanceof Date||typeof p.toDateString=="function"&&typeof p.getDate=="function"&&typeof p.setDate=="function"}(s))return"date";if(function(p){return p instanceof Error||typeof p.message=="string"&&p.constructor&&typeof p.constructor.stackTraceLimit=="number"}(s))return"error";if(function(p){return p instanceof RegExp||typeof p.flags=="string"&&typeof p.ignoreCase=="boolean"&&typeof p.multiline=="boolean"&&typeof p.global=="boolean"}(s))return"regexp";switch(n(s)){case"Symbol":return"symbol";case"Promise":return"promise";case"WeakMap":return"weakmap";case"WeakSet":return"weakset";case"Map":return"map";case"Set":return"set";case"Int8Array":return"int8array";case"Uint8Array":return"uint8array";case"Uint8ClampedArray":return"uint8clampedarray";case"Int16Array":return"int16array";case"Uint16Array":return"uint16array";case"Int32Array":return"int32array";case"Uint32Array":return"uint32array";case"Float32Array":return"float32array";case"Float64Array":return"float64array"}if(function(p){return typeof p.throw=="function"&&typeof p.return=="function"&&typeof p.next=="function"}(s))return"generator";switch(l=t.call(s)){case"[object Object]":return"object";case"[object Map Iterator]":return"mapiterator";case"[object Set Iterator]":return"setiterator";case"[object String Iterator]":return"stringiterator";case"[object Array Iterator]":return"arrayiterator"}return l.slice(8,-1).toLowerCase().replace(/\s/g,"")};function n(s){return s.constructor?s.constructor.name:null}function o(s,l){var p=2<arguments.length&&arguments[2]!==void 0?arguments[2]:["option"];return u(s,l,p),c(s,l,p),function(f,v,d){var x=i(v),$=i(f);if(x==="object"){if($!=="object")throw new Error("[Type Error]: '".concat(d.join("."),"' require 'object' type, but got '").concat($,"'"));Object.keys(v).forEach(function(y){var m=f[y],w=v[y],g=d.slice();g.push(y),u(m,w,g),c(m,w,g),o(m,w,g)})}if(x==="array"){if($!=="array")throw new Error("[Type Error]: '".concat(d.join("."),"' require 'array' type, but got '").concat($,"'"));f.forEach(function(y,m){var w=f[m],g=v[m]||v[0],k=d.slice();k.push(m),u(w,g,k),c(w,g,k),o(w,g,k)})}}(s,l,p),s}function u(s,l,p){if(i(l)==="string"){var f=i(s);if(l[0]==="?"&&(l=l.slice(1)+"|undefined"),!(-1<l.indexOf("|")?l.split("|").map(function(v){return v.toLowerCase().trim()}).filter(Boolean).some(function(v){return f===v}):l.toLowerCase().trim()===f))throw new Error("[Type Error]: '".concat(p.join("."),"' require '").concat(l,"' type, but got '").concat(f,"'"))}}function c(s,l,p){if(i(l)==="function"){var f=l(s,i(s),p);if(f!==!0){var v=i(f);throw v==="string"?new Error(f):v==="error"?f:new Error("[Validator Error]: The scheme for '".concat(p.join("."),"' validator require return true, but got '").concat(f,"'"))}}}return o.kindOf=i,o}()},{}],"2bGVu":[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a),a.default=class{on(e,t,i){const n=this.e||(this.e={});return(n[e]||(n[e]=[])).push({fn:t,ctx:i}),this}once(e,t,i){const n=this;function o(...u){n.off(e,o),t.apply(i,u)}return o._=t,this.on(e,o,i)}emit(e,...t){const i=((this.e||(this.e={}))[e]||[]).slice();for(let n=0;n<i.length;n+=1)i[n].fn.apply(i[n].ctx,t);return this}off(e,t){const i=this.e||(this.e={}),n=i[e],o=[];if(n&&t)for(let u=0,c=n.length;u<c;u+=1)n[u].fn!==t&&n[u].fn._!==t&&o.push(n[u]);return o.length?i[e]=o:delete i[e],this}}},{"@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],guZOB:[function(r,h,a){a.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},a.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},a.exportAll=function(e,t){return Object.keys(e).forEach(function(i){i==="default"||i==="__esModule"||t.hasOwnProperty(i)||Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[i]}})}),t},a.export=function(e,t,i){Object.defineProperty(e,t,{enumerable:!0,get:i})}},{}],h3rH9:[function(r,h,a){var e=r("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(a);var t=r("./dom");e.exportAll(t,a);var i=r("./error");e.exportAll(i,a);var n=r("./subtitle");e.exportAll(n,a);var o=r("./file");e.exportAll(o,a);var u=r("./property");e.exportAll(u,a);var c=r("./time");e.exportAll(c,a);var s=r("./format");e.exportAll(s,a);var l=r("./compatibility");e.exportAll(l,a)},{"./dom":"XgAQE","./error":"2nFlF","./subtitle":"yqFoT","./file":"1VRQn","./property":"3weX2","./time":"7kBIx","./format":"13atT","./compatibility":"luXC1","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],XgAQE:[function(r,h,a){var e=r("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(a),e.export(a,"query",()=>i),e.export(a,"queryAll",()=>n),e.export(a,"addClass",()=>o),e.export(a,"removeClass",()=>u),e.export(a,"hasClass",()=>c),e.export(a,"append",()=>s),e.export(a,"remove",()=>l),e.export(a,"setStyle",()=>p),e.export(a,"setStyles",()=>f),e.export(a,"getStyle",()=>v),e.export(a,"sublings",()=>d),e.export(a,"inverseClass",()=>x),e.export(a,"tooltip",()=>$),e.export(a,"isInViewport",()=>y),e.export(a,"includeFromEvent",()=>m),e.export(a,"replaceElement",()=>w),e.export(a,"createElement",()=>g),e.export(a,"getIcon",()=>k),e.export(a,"setStyleText",()=>S);var t=r("./compatibility");function i(b,j=document){return j.querySelector(b)}function n(b,j=document){return Array.from(j.querySelectorAll(b))}function o(b,j){return b.classList.add(j)}function u(b,j){return b.classList.remove(j)}function c(b,j){return b.classList.contains(j)}function s(b,j){return j instanceof Element?b.appendChild(j):b.insertAdjacentHTML("beforeend",String(j)),b.lastElementChild||b.lastChild}function l(b){return b.parentNode.removeChild(b)}function p(b,j,I){return b.style[j]=I,b}function f(b,j){for(const I in j)p(b,I,j[I]);return b}function v(b,j,I=!0){const M=window.getComputedStyle(b,null).getPropertyValue(j);return I?parseFloat(M):M}function d(b){return Array.from(b.parentElement.children).filter(j=>j!==b)}function x(b,j){d(b).forEach(I=>u(I,j)),o(b,j)}function $(b,j,I="top"){t.isMobile||(b.setAttribute("aria-label",j),o(b,"hint--rounded"),o(b,`hint--${I}`))}function y(b,j=0){const I=b.getBoundingClientRect(),M=window.innerHeight||document.documentElement.clientHeight,D=window.innerWidth||document.documentElement.clientWidth,O=I.top-j<=M&&I.top+I.height+j>=0,F=I.left-j<=D+j&&I.left+I.width+j>=0;return O&&F}function m(b,j){return b.composedPath&&b.composedPath().indexOf(j)>-1}function w(b,j){return j.parentNode.replaceChild(b,j),b}function g(b){return document.createElement(b)}function k(b="",j=""){const I=g("i");return o(I,"art-icon"),o(I,`art-icon-${b}`),s(I,j),I}function S(b,j){const I=document.getElementById(b);if(I)I.textContent=j;else{const M=g("style");M.id=b,M.textContent=j,document.head.appendChild(M)}}},{"./compatibility":"luXC1","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],luXC1:[function(r,h,a){var e=r("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(a),e.export(a,"userAgent",()=>t),e.export(a,"isSafari",()=>i),e.export(a,"isWechat",()=>n),e.export(a,"isIE",()=>o),e.export(a,"isAndroid",()=>u),e.export(a,"isIOS",()=>c),e.export(a,"isIOS13",()=>s),e.export(a,"isMobile",()=>l),e.export(a,"isBrowser",()=>p);const t=typeof navigator<"u"?navigator.userAgent:"",i=/^((?!chrome|android).)*safari/i.test(t),n=/MicroMessenger/i.test(t),o=/MSIE|Trident/i.test(t),u=/android/i.test(t),c=/iPad|iPhone|iPod/i.test(t)&&!window.MSStream,s=c||t.includes("Macintosh")&&navigator.maxTouchPoints>=1,l=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(t)||s,p=typeof window<"u"},{"@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"2nFlF":[function(r,h,a){var e=r("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(a),e.export(a,"ArtPlayerError",()=>t),e.export(a,"errorHandle",()=>i);class t extends Error{constructor(o,u){super(o),typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,u||this.constructor),this.name="ArtPlayerError"}}function i(n,o){if(!n)throw new t(o);return n}},{"@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],yqFoT:[function(r,h,a){var e=r("@parcel/transformer-js/src/esmodule-helpers.js");function t(o){return`WEBVTT \r
-\r
-`.concat((u=o,u.replace(/(\d\d:\d\d:\d\d)[,.](\d+)/g,(c,s,l)=>{let p=l.slice(0,3);return l.length===1&&(p=l+"00"),l.length===2&&(p=l+"0"),`${s},${p}`})).replace(/\{\\([ibu])\}/g,"</$1>").replace(/\{\\([ibu])1\}/g,"<$1>").replace(/\{([ibu])\}/g,"<$1>").replace(/\{\/([ibu])\}/g,"</$1>").replace(/(\d\d:\d\d:\d\d),(\d\d\d)/g,"$1.$2").replace(/{[\s\S]*?}/g,"").concat(`\r
-\r
-`));var u}function i(o){return URL.createObjectURL(new Blob([o],{type:"text/vtt"}))}function n(o){const u=new RegExp("Dialogue:\\s\\d,(\\d+:\\d\\d:\\d\\d.\\d\\d),(\\d+:\\d\\d:\\d\\d.\\d\\d),([^,]*),([^,]*),(?:[^,]*,){4}([\\s\\S]*)$","i");function c(s=""){return s.split(/[:.]/).map((l,p,f)=>{if(p===f.length-1){if(l.length===1)return`.${l}00`;if(l.length===2)return`.${l}0`}else if(l.length===1)return(p===0?"0":":0")+l;return p===0?l:p===f.length-1?`.${l}`:`:${l}`}).join("")}return`WEBVTT
-
-${o.split(/\r?\n/).map(s=>{const l=s.match(u);return l?{start:c(l[1].trim()),end:c(l[2].trim()),text:l[5].replace(/{[\s\S]*?}/g,"").replace(/(\\N)/g,`
-`).trim().split(/\r?\n/).map(p=>p.trim()).join(`
-`)}:null}).filter(s=>s).map((s,l)=>s?`${l+1}
-${s.start} --> ${s.end}
-${s.text}`:"").filter(s=>s.trim()).join(`
-
-`)}`}e.defineInteropFlag(a),e.export(a,"srtToVtt",()=>t),e.export(a,"vttToBlob",()=>i),e.export(a,"assToVtt",()=>n)},{"@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"1VRQn":[function(r,h,a){var e=r("@parcel/transformer-js/src/esmodule-helpers.js");function t(n){return n.includes("?")?t(n.split("?")[0]):n.includes("#")?t(n.split("#")[0]):n.trim().toLowerCase().split(".").pop()}function i(n,o){const u=document.createElement("a");u.style.display="none",u.href=n,u.download=o,document.body.appendChild(u),u.click(),document.body.removeChild(u)}e.defineInteropFlag(a),e.export(a,"getExt",()=>t),e.export(a,"download",()=>i)},{"@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"3weX2":[function(r,h,a){var e=r("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(a),e.export(a,"def",()=>t),e.export(a,"has",()=>n),e.export(a,"get",()=>o),e.export(a,"mergeDeep",()=>u);const t=Object.defineProperty,{hasOwnProperty:i}=Object.prototype;function n(c,s){return i.call(c,s)}function o(c,s){return Object.getOwnPropertyDescriptor(c,s)}function u(...c){const s=l=>l&&typeof l=="object"&&!Array.isArray(l);return c.reduce((l,p)=>(Object.keys(p).forEach(f=>{const v=l[f],d=p[f];Array.isArray(v)&&Array.isArray(d)?l[f]=v.concat(...d):s(v)&&s(d)?l[f]=u(v,d):l[f]=d}),l),{})}},{"@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"7kBIx":[function(r,h,a){var e=r("@parcel/transformer-js/src/esmodule-helpers.js");function t(o=0){return new Promise(u=>setTimeout(u,o))}function i(o,u){let c;return function(...s){clearTimeout(c),c=setTimeout(()=>(c=null,o.apply(this,s)),u)}}function n(o,u){let c=!1;return function(...s){c||(o.apply(this,s),c=!0,setTimeout(function(){c=!1},u))}}e.defineInteropFlag(a),e.export(a,"sleep",()=>t),e.export(a,"debounce",()=>i),e.export(a,"throttle",()=>n)},{"@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"13atT":[function(r,h,a){var e=r("@parcel/transformer-js/src/esmodule-helpers.js");function t(s,l,p){return Math.max(Math.min(s,Math.max(l,p)),Math.min(l,p))}function i(s){return s.charAt(0).toUpperCase()+s.slice(1)}function n(s){return["string","number"].includes(typeof s)}function o(s){if(!s)return"00:00";const l=Math.floor(s/3600),p=Math.floor((s-3600*l)/60),f=Math.floor(s-3600*l-60*p);return(l>0?[l,p,f]:[p,f]).map(v=>v<10?`0${v}`:String(v)).join(":")}function u(s){return s.replace(/[&<>'"]/g,l=>({"&":"&amp;","<":"&lt;",">":"&gt;","'":"&#39;",'"':"&quot;"})[l]||l)}function c(s){const l={"&amp;":"&","&lt;":"<","&gt;":">","&#39;":"'","&quot;":'"'},p=new RegExp(`(${Object.keys(l).join("|")})`,"g");return s.replace(p,f=>l[f]||f)}e.defineInteropFlag(a),e.export(a,"clamp",()=>t),e.export(a,"capitalize",()=>i),e.export(a,"isStringOrNumber",()=>n),e.export(a,"secondToTime",()=>o),e.export(a,"escape",()=>u),e.export(a,"unescape",()=>c)},{"@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],AdvwB:[function(r,h,a){var e=r("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(a),e.export(a,"ComponentOption",()=>p);var t=r("../utils");const i="array",n="boolean",o="string",u="number",c="object",s="function";function l(f,v,d){return(0,t.errorHandle)(v===o||v===u||f instanceof Element,`${d.join(".")} require '${o}' or 'Element' type`)}const p={html:l,disable:`?${n}`,name:`?${o}`,index:`?${u}`,style:`?${c}`,click:`?${s}`,mounted:`?${s}`,tooltip:`?${o}|${u}`,width:`?${u}`,selector:`?${i}`,onSelect:`?${s}`,switch:`?${n}`,onSwitch:`?${s}`,range:`?${i}`,onRange:`?${s}`,onChange:`?${s}`};a.default={id:o,container:l,url:o,poster:o,type:o,theme:o,lang:o,volume:u,isLive:n,muted:n,autoplay:n,autoSize:n,autoMini:n,loop:n,flip:n,playbackRate:n,aspectRatio:n,screenshot:n,setting:n,hotkey:n,pip:n,mutex:n,backdrop:n,fullscreen:n,fullscreenWeb:n,subtitleOffset:n,miniProgressBar:n,useSSR:n,playsInline:n,lock:n,fastForward:n,autoPlayback:n,autoOrientation:n,airplay:n,plugins:[s],layers:[p],contextmenu:[p],settings:[p],controls:[{...p,position:(f,v,d)=>{const x=["top","left","right"];return(0,t.errorHandle)(x.includes(f),`${d.join(".")} only accept ${x.toString()} as parameters`)}}],quality:[{default:`?${n}`,html:o,url:o}],highlight:[{time:u,text:o}],thumbnails:{url:o,number:u,column:u,width:u,height:u},subtitle:{url:o,name:o,type:o,style:c,escape:n,encoding:o,onVttLoad:s},moreVideoAttr:c,i18n:c,icons:c,cssVar:c,customType:c}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"9Xmqu":[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a),a.default={propertys:["audioTracks","autoplay","buffered","controller","controls","crossOrigin","currentSrc","currentTime","defaultMuted","defaultPlaybackRate","duration","ended","error","loop","mediaGroup","muted","networkState","paused","playbackRate","played","preload","readyState","seekable","seeking","src","startDate","textTracks","videoTracks","volume"],methods:["addTextTrack","canPlayType","load","play","pause"],events:["abort","canplay","canplaythrough","durationchange","emptied","ended","error","loadeddata","loadedmetadata","loadstart","pause","play","playing","progress","ratechange","seeked","seeking","stalled","suspend","timeupdate","volumechange","waiting"],prototypes:["width","height","videoWidth","videoHeight","poster","webkitDecodedFrameCount","webkitDroppedFrameCount","playsInline","webkitSupportsFullscreen","webkitDisplayingFullscreen","onenterpictureinpicture","onleavepictureinpicture","disablePictureInPicture","cancelVideoFrameCallback","requestVideoFrameCallback","getVideoPlaybackQuality","requestPictureInPicture","webkitEnterFullScreen","webkitEnterFullscreen","webkitExitFullScreen","webkitExitFullscreen"]}},{"@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"2gKYH":[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a);var e=r("./utils");class t{constructor(n){this.art=n;const{option:o,constructor:u}=n;o.container instanceof Element?this.$container=o.container:(this.$container=(0,e.query)(o.container),(0,e.errorHandle)(this.$container,`No container element found by ${o.container}`));const c=this.$container.tagName.toLowerCase();(0,e.errorHandle)(c==="div",`Unsupported container element type, only support 'div' but got '${c}'`),(0,e.errorHandle)(u.instances.every(s=>s.template.$container!==this.$container),"Cannot mount multiple instances on the same dom element"),this.query=this.query.bind(this),this.$container.dataset.artId=n.id,this.init()}static get html(){return'<div class="art-video-player art-subtitle-show art-layer-show art-control-show art-mask-show"><video class="art-video"><track default kind="metadata" src=""></track></video><div class="art-poster"></div><div class="art-subtitle"></div><div class="art-danmuku"></div><div class="art-layers"></div><div class="art-mask"><div class="art-state"></div></div><div class="art-bottom"><div class="art-progress"></div><div class="art-controls"><div class="art-controls-left"></div><div class="art-controls-center"></div><div class="art-controls-right"></div></div></div><div class="art-loading"></div><div class="art-notice"><div class="art-notice-inner"></div></div><div class="art-settings"></div><div class="art-info"><div class="art-info-panel"><div class="art-info-item"><div class="art-info-title">Player version:</div><div class="art-info-content">5.1.1</div></div><div class="art-info-item"><div class="art-info-title">Video url:</div><div class="art-info-content" data-video="src"></div></div><div class="art-info-item"><div class="art-info-title">Video volume:</div><div class="art-info-content" data-video="volume"></div></div><div class="art-info-item"><div class="art-info-title">Video time:</div><div class="art-info-content" data-video="currentTime"></div></div><div class="art-info-item"><div class="art-info-title">Video duration:</div><div class="art-info-content" data-video="duration"></div></div><div class="art-info-item"><div class="art-info-title">Video resolution:</div><div class="art-info-content"><span data-video="videoWidth"></span> x <span data-video="videoHeight"></span></div></div></div><div class="art-info-close">[x]</div></div><div class="art-contextmenus"></div></div>'}query(n){return(0,e.query)(n,this.$container)}init(){const{option:n}=this.art;n.useSSR||(this.$container.innerHTML=t.html),this.$player=this.query(".art-video-player"),this.$video=this.query(".art-video"),this.$track=this.query("track"),this.$poster=this.query(".art-poster"),this.$subtitle=this.query(".art-subtitle"),this.$danmuku=this.query(".art-danmuku"),this.$bottom=this.query(".art-bottom"),this.$progress=this.query(".art-progress"),this.$controls=this.query(".art-controls"),this.$controlsLeft=this.query(".art-controls-left"),this.$controlsCenter=this.query(".art-controls-center"),this.$controlsRight=this.query(".art-controls-right"),this.$layer=this.query(".art-layers"),this.$loading=this.query(".art-loading"),this.$notice=this.query(".art-notice"),this.$noticeInner=this.query(".art-notice-inner"),this.$mask=this.query(".art-mask"),this.$state=this.query(".art-state"),this.$setting=this.query(".art-settings"),this.$info=this.query(".art-info"),this.$infoPanel=this.query(".art-info-panel"),this.$infoClose=this.query(".art-info-close"),this.$contextmenu=this.query(".art-contextmenus"),n.backdrop&&(0,e.addClass)(this.$player,"art-backdrop"),e.isMobile&&(0,e.addClass)(this.$player,"art-mobile")}destroy(n){n?this.$container.innerHTML="":(0,e.addClass)(this.$player,"art-destroy")}}a.default=t},{"./utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"1AdeF":[function(r,h,a){var e=r("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(a);var t=r("../utils"),i=r("./zh-cn"),n=e.interopDefault(i);a.default=class{constructor(o){this.art=o,this.languages={"zh-cn":n.default},this.language={},this.update(o.option.i18n)}init(){const o=this.art.option.lang.toLowerCase();this.language=this.languages[o]||{}}get(o){return this.language[o]||o}update(o){this.languages=(0,t.mergeDeep)(this.languages,o),this.init()}}},{"../utils":"h3rH9","./zh-cn":"3ZSKq","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"3ZSKq":[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a);const e={"Video Info":"统计信息",Close:"关闭","Video Load Failed":"加载失败",Volume:"音量",Play:"播放",Pause:"暂停",Rate:"速度",Mute:"静音","Video Flip":"画面翻转",Horizontal:"水平",Vertical:"垂直",Reconnect:"重新连接","Show Setting":"显示设置","Hide Setting":"隐藏设置",Screenshot:"截图","Play Speed":"播放速度","Aspect Ratio":"画面比例",Default:"默认",Normal:"正常",Open:"打开","Switch Video":"切换","Switch Subtitle":"切换字幕",Fullscreen:"全屏","Exit Fullscreen":"退出全屏","Web Fullscreen":"网页全屏","Exit Web Fullscreen":"退出网页全屏","Mini Player":"迷你播放器","PIP Mode":"开启画中画","Exit PIP Mode":"退出画中画","PIP Not Supported":"不支持画中画","Fullscreen Not Supported":"不支持全屏","Subtitle Offset":"字幕偏移","Last Seen":"上次看到","Jump Play":"跳转播放",AirPlay:"隔空播放","AirPlay Not Available":"隔空播放不可用"};a.default=e,typeof window<"u"&&(window["artplayer-i18n-zh-cn"]=e)},{"@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"556MW":[function(r,h,a){var e=r("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(a);var t=r("./urlMix"),i=e.interopDefault(t),n=r("./attrMix"),o=e.interopDefault(n),u=r("./playMix"),c=e.interopDefault(u),s=r("./pauseMix"),l=e.interopDefault(s),p=r("./toggleMix"),f=e.interopDefault(p),v=r("./seekMix"),d=e.interopDefault(v),x=r("./volumeMix"),$=e.interopDefault(x),y=r("./currentTimeMix"),m=e.interopDefault(y),w=r("./durationMix"),g=e.interopDefault(w),k=r("./switchMix"),S=e.interopDefault(k),b=r("./playbackRateMix"),j=e.interopDefault(b),I=r("./aspectRatioMix"),M=e.interopDefault(I),D=r("./screenshotMix"),O=e.interopDefault(D),F=r("./fullscreenMix"),T=e.interopDefault(F),H=r("./fullscreenWebMix"),B=e.interopDefault(H),A=r("./pipMix"),R=e.interopDefault(A),V=r("./loadedMix"),W=e.interopDefault(V),U=r("./playedMix"),Y=e.interopDefault(U),K=r("./playingMix"),G=e.interopDefault(K),X=r("./autoSizeMix"),J=e.interopDefault(X),Q=r("./rectMix"),ee=e.interopDefault(Q),te=r("./flipMix"),re=e.interopDefault(te),ae=r("./miniMix"),oe=e.interopDefault(ae),N=r("./posterMix"),E=e.interopDefault(N),ue=r("./autoHeightMix"),z=e.interopDefault(ue),Z=r("./cssVarMix"),q=e.interopDefault(Z),_=r("./themeMix"),L=e.interopDefault(_),ne=r("./typeMix"),pe=e.interopDefault(ne),se=r("./stateMix"),ie=e.interopDefault(se),me=r("./subtitleOffsetMix"),ge=e.interopDefault(me),ve=r("./airplayMix"),ye=e.interopDefault(ve),be=r("./qualityMix"),xe=e.interopDefault(be),we=r("./optionInit"),je=e.interopDefault(we),ke=r("./eventInit"),$e=e.interopDefault(ke);a.default=class{constructor(C){(0,i.default)(C),(0,o.default)(C),(0,c.default)(C),(0,l.default)(C),(0,f.default)(C),(0,d.default)(C),(0,$.default)(C),(0,m.default)(C),(0,g.default)(C),(0,S.default)(C),(0,j.default)(C),(0,M.default)(C),(0,O.default)(C),(0,T.default)(C),(0,B.default)(C),(0,R.default)(C),(0,W.default)(C),(0,Y.default)(C),(0,G.default)(C),(0,J.default)(C),(0,ee.default)(C),(0,re.default)(C),(0,oe.default)(C),(0,E.default)(C),(0,z.default)(C),(0,q.default)(C),(0,L.default)(C),(0,pe.default)(C),(0,ie.default)(C),(0,ge.default)(C),(0,ye.default)(C),(0,xe.default)(C),(0,$e.default)(C),(0,je.default)(C)}}},{"./urlMix":"2mRAc","./attrMix":"2EA19","./playMix":"fD2Tc","./pauseMix":"c3LGJ","./toggleMix":"fVsAa","./seekMix":"dmROF","./volumeMix":"9jtfB","./currentTimeMix":"7NCDR","./durationMix":"YS7JL","./switchMix":"dzUqN","./playbackRateMix":"5I2mT","./aspectRatioMix":"7m6R8","./screenshotMix":"2dgtR","./fullscreenMix":"fKDW8","./fullscreenWebMix":"lNvYI","./pipMix":"8j7oC","./loadedMix":"dwVOT","./playedMix":"dDeLx","./playingMix":"ceoBp","./autoSizeMix":"lcWXX","./rectMix":"f7y88","./flipMix":"l4qt5","./miniMix":"9ZPBQ","./posterMix":"5K8hA","./autoHeightMix":"3T5ls","./cssVarMix":"6KfHs","./themeMix":"7lcSc","./typeMix":"8JgTw","./stateMix":"cebt1","./subtitleOffsetMix":"hJvIy","./airplayMix":"4Tp0U","./qualityMix":"3wZgN","./optionInit":"iPdgW","./eventInit":"3mj0J","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"2mRAc":[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a);var e=r("../utils");a.default=function(t){const{option:i,template:{$video:n}}=t;(0,e.def)(t,"url",{get:()=>n.src,async set(o){if(o){const u=t.url,c=i.type||(0,e.getExt)(o),s=i.customType[c];c&&s?(await(0,e.sleep)(),t.loading.show=!0,s.call(t,n,o,t)):(URL.revokeObjectURL(u),n.src=o),u!==t.url&&(t.option.url=o,t.isReady&&u&&t.once("video:canplay",()=>{t.emit("restart",o)}))}else await(0,e.sleep)(),t.loading.show=!0}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"2EA19":[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a);var e=r("../utils");a.default=function(t){const{template:{$video:i}}=t;(0,e.def)(t,"attr",{value(n,o){if(o===void 0)return i[n];i[n]=o}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],fD2Tc:[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a);var e=r("../utils");a.default=function(t){const{i18n:i,notice:n,option:o,constructor:{instances:u},template:{$video:c}}=t;(0,e.def)(t,"play",{value:async function(){const s=await c.play();if(n.show=i.get("Play"),t.emit("play"),o.mutex)for(let l=0;l<u.length;l++){const p=u[l];p!==t&&p.pause()}return s}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],c3LGJ:[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a);var e=r("../utils");a.default=function(t){const{template:{$video:i},i18n:n,notice:o}=t;(0,e.def)(t,"pause",{value(){const u=i.pause();return o.show=n.get("Pause"),t.emit("pause"),u}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],fVsAa:[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a);var e=r("../utils");a.default=function(t){(0,e.def)(t,"toggle",{value:()=>t.playing?t.pause():t.play()})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],dmROF:[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a);var e=r("../utils");a.default=function(t){const{notice:i}=t;(0,e.def)(t,"seek",{set(n){t.currentTime=n,t.emit("seek",t.currentTime),t.duration&&(i.show=`${(0,e.secondToTime)(t.currentTime)} / ${(0,e.secondToTime)(t.duration)}`)}}),(0,e.def)(t,"forward",{set(n){t.seek=t.currentTime+n}}),(0,e.def)(t,"backward",{set(n){t.seek=t.currentTime-n}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"9jtfB":[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a);var e=r("../utils");a.default=function(t){const{template:{$video:i},i18n:n,notice:o,storage:u}=t;(0,e.def)(t,"volume",{get:()=>i.volume||0,set:c=>{i.volume=(0,e.clamp)(c,0,1),o.show=`${n.get("Volume")}: ${parseInt(100*i.volume,10)}`,i.volume!==0&&u.set("volume",i.volume)}}),(0,e.def)(t,"muted",{get:()=>i.muted,set:c=>{i.muted=c,t.emit("muted",c)}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"7NCDR":[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a);var e=r("../utils");a.default=function(t){const{$video:i}=t.template;(0,e.def)(t,"currentTime",{get:()=>i.currentTime||0,set:n=>{n=parseFloat(n),Number.isNaN(n)||(i.currentTime=(0,e.clamp)(n,0,t.duration))}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],YS7JL:[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a);var e=r("../utils");a.default=function(t){(0,e.def)(t,"duration",{get:()=>{const{duration:i}=t.template.$video;return i===1/0?0:i||0}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],dzUqN:[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a);var e=r("../utils");a.default=function(t){function i(n,o){return new Promise((u,c)=>{if(n===t.url)return;const{playing:s,aspectRatio:l,playbackRate:p}=t;t.pause(),t.url=n,t.notice.show="",t.once("video:error",c),t.once("video:canplay",async()=>{t.playbackRate=p,t.aspectRatio=l,t.currentTime=o,s&&await t.play(),t.notice.show="",u()})})}(0,e.def)(t,"switchQuality",{value:n=>i(n,t.currentTime)}),(0,e.def)(t,"switchUrl",{value:n=>i(n,0)}),(0,e.def)(t,"switch",{set:t.switchUrl})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"5I2mT":[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a);var e=r("../utils");a.default=function(t){const{template:{$video:i},i18n:n,notice:o}=t;(0,e.def)(t,"playbackRate",{get:()=>i.playbackRate,set(u){if(u){if(u===i.playbackRate)return;i.playbackRate=u,o.show=`${n.get("Rate")}: ${u===1?n.get("Normal"):`${u}x`}`}else t.playbackRate=1}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"7m6R8":[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a);var e=r("../utils");a.default=function(t){const{i18n:i,notice:n,template:{$video:o,$player:u}}=t;(0,e.def)(t,"aspectRatio",{get:()=>u.dataset.aspectRatio||"default",set(c){if(c||(c="default"),c==="default")(0,e.setStyle)(o,"width",null),(0,e.setStyle)(o,"height",null),(0,e.setStyle)(o,"margin",null),delete u.dataset.aspectRatio;else{const s=c.split(":").map(Number),{clientWidth:l,clientHeight:p}=u,f=l/p,v=s[0]/s[1];f>v?((0,e.setStyle)(o,"width",v*p+"px"),(0,e.setStyle)(o,"height","100%"),(0,e.setStyle)(o,"margin","0 auto")):((0,e.setStyle)(o,"width","100%"),(0,e.setStyle)(o,"height",l/v+"px"),(0,e.setStyle)(o,"margin","auto 0")),u.dataset.aspectRatio=c}n.show=`${i.get("Aspect Ratio")}: ${c==="default"?i.get("Default"):c}`,t.emit("aspectRatio",c)}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"2dgtR":[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a);var e=r("../utils");a.default=function(t){const{notice:i,template:{$video:n}}=t,o=(0,e.createElement)("canvas");(0,e.def)(t,"getDataURL",{value:()=>new Promise((u,c)=>{try{o.width=n.videoWidth,o.height=n.videoHeight,o.getContext("2d").drawImage(n,0,0),u(o.toDataURL("image/png"))}catch(s){i.show=s,c(s)}})}),(0,e.def)(t,"getBlobUrl",{value:()=>new Promise((u,c)=>{try{o.width=n.videoWidth,o.height=n.videoHeight,o.getContext("2d").drawImage(n,0,0),o.toBlob(s=>{u(URL.createObjectURL(s))})}catch(s){i.show=s,c(s)}})}),(0,e.def)(t,"screenshot",{value:async()=>{const u=await t.getDataURL();return(0,e.download)(u,`artplayer_${(0,e.secondToTime)(n.currentTime)}.png`),t.emit("screenshot",u),u}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],fKDW8:[function(r,h,a){var e=r("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(a);var t=r("../libs/screenfull"),i=e.interopDefault(t),n=r("../utils");a.default=function(o){const{i18n:u,notice:c,template:{$video:s,$player:l}}=o;o.once("video:loadedmetadata",()=>{i.default.isEnabled?(p=>{i.default.on("change",()=>{p.emit("fullscreen",i.default.isFullscreen)}),(0,n.def)(p,"fullscreen",{get:()=>i.default.isFullscreen,async set(f){f?(p.state="fullscreen",await i.default.request(l),(0,n.addClass)(l,"art-fullscreen")):(await i.default.exit(),(0,n.removeClass)(l,"art-fullscreen")),p.emit("resize")}})})(o):document.fullscreenEnabled||s.webkitSupportsFullscreen?(p=>{(0,n.def)(p,"fullscreen",{get:()=>s.webkitDisplayingFullscreen,set(f){f?(p.state="fullscreen",s.webkitEnterFullscreen(),p.emit("fullscreen",!0)):(s.webkitExitFullscreen(),p.emit("fullscreen",!1)),p.emit("resize")}})})(o):(0,n.def)(o,"fullscreen",{get:()=>!1,set(){c.show=u.get("Fullscreen Not Supported")}}),(0,n.def)(o,"fullscreen",(0,n.get)(o,"fullscreen"))})}},{"../libs/screenfull":"lUahW","../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],lUahW:[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a);const e=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],t=(()=>{if(typeof document>"u")return!1;const o=e[0],u={};for(const c of e)if(c[1]in document){for(const[s,l]of c.entries())u[o[s]]=l;return u}return!1})(),i={change:t.fullscreenchange,error:t.fullscreenerror};let n={request:(o=document.documentElement,u)=>new Promise((c,s)=>{const l=()=>{n.off("change",l),c()};n.on("change",l);const p=o[t.requestFullscreen](u);p instanceof Promise&&p.then(l).catch(s)}),exit:()=>new Promise((o,u)=>{if(!n.isFullscreen)return void o();const c=()=>{n.off("change",c),o()};n.on("change",c);const s=document[t.exitFullscreen]();s instanceof Promise&&s.then(c).catch(u)}),toggle:(o,u)=>n.isFullscreen?n.exit():n.request(o,u),onchange(o){n.on("change",o)},onerror(o){n.on("error",o)},on(o,u){const c=i[o];c&&document.addEventListener(c,u,!1)},off(o,u){const c=i[o];c&&document.removeEventListener(c,u,!1)},raw:t};Object.defineProperties(n,{isFullscreen:{get:()=>!!document[t.fullscreenElement]},element:{enumerable:!0,get:()=>document[t.fullscreenElement]},isEnabled:{enumerable:!0,get:()=>!!document[t.fullscreenEnabled]}}),t||(n={isEnabled:!1}),a.default=n},{"@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],lNvYI:[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a);var e=r("../utils");a.default=function(t){const{constructor:i,template:{$container:n,$player:o}}=t;let u="";(0,e.def)(t,"fullscreenWeb",{get:()=>(0,e.hasClass)(o,"art-fullscreen-web"),set(c){c?(u=o.style.cssText,i.FULLSCREEN_WEB_IN_BODY&&(0,e.append)(document.body,o),t.state="fullscreenWeb",(0,e.setStyle)(o,"width","100%"),(0,e.setStyle)(o,"height","100%"),(0,e.addClass)(o,"art-fullscreen-web"),t.emit("fullscreenWeb",!0)):(i.FULLSCREEN_WEB_IN_BODY&&(0,e.append)(n,o),u&&(o.style.cssText=u,u=""),(0,e.removeClass)(o,"art-fullscreen-web"),t.emit("fullscreenWeb",!1)),t.emit("resize")}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"8j7oC":[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a);var e=r("../utils");a.default=function(t){const{i18n:i,notice:n,template:{$video:o}}=t;document.pictureInPictureEnabled?function(u){const{template:{$video:c},proxy:s,notice:l}=u;c.disablePictureInPicture=!1,(0,e.def)(u,"pip",{get:()=>document.pictureInPictureElement,set(p){p?(u.state="pip",c.requestPictureInPicture().catch(f=>{throw l.show=f,f})):document.exitPictureInPicture().catch(f=>{throw l.show=f,f})}}),s(c,"enterpictureinpicture",()=>{u.emit("pip",!0)}),s(c,"leavepictureinpicture",()=>{u.emit("pip",!1)})}(t):o.webkitSupportsPresentationMode?function(u){const{$video:c}=u.template;c.webkitSetPresentationMode("inline"),(0,e.def)(u,"pip",{get:()=>c.webkitPresentationMode==="picture-in-picture",set(s){s?(u.state="pip",c.webkitSetPresentationMode("picture-in-picture"),u.emit("pip",!0)):(c.webkitSetPresentationMode("inline"),u.emit("pip",!1))}})}(t):(0,e.def)(t,"pip",{get:()=>!1,set(){n.show=i.get("PIP Not Supported")}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],dwVOT:[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a);var e=r("../utils");a.default=function(t){const{$video:i}=t.template;(0,e.def)(t,"loaded",{get:()=>t.loadedTime/i.duration}),(0,e.def)(t,"loadedTime",{get:()=>i.buffered.length?i.buffered.end(i.buffered.length-1):0})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],dDeLx:[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a);var e=r("../utils");a.default=function(t){(0,e.def)(t,"played",{get:()=>t.currentTime/t.duration})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],ceoBp:[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a);var e=r("../utils");a.default=function(t){const{$video:i}=t.template;(0,e.def)(t,"playing",{get:()=>i.currentTime>0&&!i.paused&&!i.ended&&i.readyState>2})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],lcWXX:[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a);var e=r("../utils");a.default=function(t){const{$container:i,$player:n,$video:o}=t.template;(0,e.def)(t,"autoSize",{value(){const{videoWidth:u,videoHeight:c}=o,{width:s,height:l}=i.getBoundingClientRect(),p=u/c;if(s/l>p){const f=l*p/s*100;(0,e.setStyle)(n,"width",`${f}%`),(0,e.setStyle)(n,"height","100%")}else{const f=s/p/l*100;(0,e.setStyle)(n,"width","100%"),(0,e.setStyle)(n,"height",`${f}%`)}t.emit("autoSize",{width:t.width,height:t.height})}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],f7y88:[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a);var e=r("../utils");a.default=function(t){(0,e.def)(t,"rect",{get:()=>t.template.$player.getBoundingClientRect()});const i=["bottom","height","left","right","top","width"];for(let n=0;n<i.length;n++){const o=i[n];(0,e.def)(t,o,{get:()=>t.rect[o]})}(0,e.def)(t,"x",{get:()=>t.left+window.pageXOffset}),(0,e.def)(t,"y",{get:()=>t.top+window.pageYOffset})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],l4qt5:[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a);var e=r("../utils");a.default=function(t){const{template:{$player:i},i18n:n,notice:o}=t;(0,e.def)(t,"flip",{get:()=>i.dataset.flip||"normal",set(u){u||(u="normal"),u==="normal"?delete i.dataset.flip:i.dataset.flip=u,o.show=`${n.get("Video Flip")}: ${n.get((0,e.capitalize)(u))}`,t.emit("flip",u)}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"9ZPBQ":[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a);var e=r("../utils");a.default=function(t){const{icons:i,proxy:n,storage:o,template:{$player:u,$video:c}}=t;let s=!1,l=0,p=0;function f(){const{$mini:x}=t.template;x&&((0,e.removeClass)(u,"art-mini"),(0,e.setStyle)(x,"display","none"),u.prepend(c),t.emit("mini",!1))}function v(x,$){t.playing?((0,e.setStyle)(x,"display","none"),(0,e.setStyle)($,"display","flex")):((0,e.setStyle)(x,"display","flex"),(0,e.setStyle)($,"display","none"))}function d(){const{$mini:x}=t.template,$=x.getBoundingClientRect(),y=window.innerHeight-$.height-50,m=window.innerWidth-$.width-50;o.set("top",y),o.set("left",m),(0,e.setStyle)(x,"top",`${y}px`),(0,e.setStyle)(x,"left",`${m}px`)}(0,e.def)(t,"mini",{get:()=>(0,e.hasClass)(u,"art-mini"),set(x){if(x){t.state="mini",(0,e.addClass)(u,"art-mini");const $=function(){const{$mini:w}=t.template;if(w)return(0,e.append)(w,c),(0,e.setStyle)(w,"display","flex");{const g=(0,e.createElement)("div");(0,e.addClass)(g,"art-mini-popup"),(0,e.append)(document.body,g),t.template.$mini=g,(0,e.append)(g,c);const k=(0,e.append)(g,'<div class="art-mini-close"></div>');(0,e.append)(k,i.close),n(k,"click",f);const S=(0,e.append)(g,'<div class="art-mini-state"></div>'),b=(0,e.append)(S,i.play),j=(0,e.append)(S,i.pause);return n(b,"click",()=>t.play()),n(j,"click",()=>t.pause()),v(b,j),t.on("video:playing",()=>v(b,j)),t.on("video:pause",()=>v(b,j)),t.on("video:timeupdate",()=>v(b,j)),n(g,"mousedown",I=>{s=I.button===0,l=I.pageX,p=I.pageY}),t.on("document:mousemove",I=>{if(s){(0,e.addClass)(g,"art-mini-droging");const M=I.pageX-l,D=I.pageY-p;(0,e.setStyle)(g,"transform",`translate(${M}px, ${D}px)`)}}),t.on("document:mouseup",()=>{if(s){s=!1,(0,e.removeClass)(g,"art-mini-droging");const I=g.getBoundingClientRect();o.set("left",I.left),o.set("top",I.top),(0,e.setStyle)(g,"left",`${I.left}px`),(0,e.setStyle)(g,"top",`${I.top}px`),(0,e.setStyle)(g,"transform",null)}}),g}}(),y=o.get("top"),m=o.get("left");y&&m?((0,e.setStyle)($,"top",`${y}px`),(0,e.setStyle)($,"left",`${m}px`),(0,e.isInViewport)($)||d()):d(),t.emit("mini",!0)}else f()}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"5K8hA":[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a);var e=r("../utils");a.default=function(t){const{template:{$poster:i}}=t;(0,e.def)(t,"poster",{get:()=>{try{return i.style.backgroundImage.match(/"(.*)"/)[1]}catch{return""}},set(n){(0,e.setStyle)(i,"backgroundImage",`url(${n})`)}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"3T5ls":[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a);var e=r("../utils");a.default=function(t){const{template:{$container:i,$video:n}}=t;(0,e.def)(t,"autoHeight",{value(){const{clientWidth:o}=i,{videoHeight:u,videoWidth:c}=n,s=u*(o/c);(0,e.setStyle)(i,"height",s+"px"),t.emit("autoHeight",s)}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"6KfHs":[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a);var e=r("../utils");a.default=function(t){const{$player:i}=t.template;(0,e.def)(t,"cssVar",{value:(n,o)=>o?i.style.setProperty(n,o):getComputedStyle(i).getPropertyValue(n)})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"7lcSc":[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a);var e=r("../utils");a.default=function(t){(0,e.def)(t,"theme",{get:()=>t.cssVar("--art-theme"),set(i){t.cssVar("--art-theme",i)}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"8JgTw":[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a);var e=r("../utils");a.default=function(t){(0,e.def)(t,"type",{get:()=>t.option.type,set(i){t.option.type=i}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],cebt1:[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a);var e=r("../utils");a.default=function(t){const i=["mini","pip","fullscreen","fullscreenWeb"];(0,e.def)(t,"state",{get:()=>i.find(n=>t[n])||"standard",set(n){for(let o=0;o<i.length;o++){const u=i[o];u!==n&&t[u]&&(t[u]=!1)}}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],hJvIy:[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a);var e=r("../utils");a.default=function(t){const{clamp:i}=t.constructor.utils,{notice:n,template:o,i18n:u}=t;let c=0,s=[];t.on("subtitle:switch",()=>{s=[]}),(0,e.def)(t,"subtitleOffset",{get:()=>c,set(l){if(o.$track&&o.$track.track){const p=Array.from(o.$track.track.cues);c=i(l,-5,5);for(let f=0;f<p.length;f++){const v=p[f];s[f]||(s[f]={startTime:v.startTime,endTime:v.endTime}),v.startTime=i(s[f].startTime+c,0,t.duration),v.endTime=i(s[f].endTime+c,0,t.duration)}t.subtitle.update(),n.show=`${u.get("Subtitle Offset")}: ${l}s`,t.emit("subtitleOffset",l)}else t.emit("subtitleOffset",0)}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"4Tp0U":[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a);var e=r("../utils");a.default=function(t){const{i18n:i,notice:n,proxy:o,template:{$video:u}}=t;let c=!0;window.WebKitPlaybackTargetAvailabilityEvent&&u.webkitShowPlaybackTargetPicker?o(u,"webkitplaybacktargetavailabilitychanged",s=>{switch(s.availability){case"available":c=!0;break;case"not-available":c=!1}}):c=!1,(0,e.def)(t,"airplay",{value(){c?(u.webkitShowPlaybackTargetPicker(),t.emit("airplay")):n.show=i.get("AirPlay Not Available")}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"3wZgN":[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a);var e=r("../utils");a.default=function(t){(0,e.def)(t,"quality",{set(i){const{controls:n,notice:o,i18n:u}=t,c=i.find(s=>s.default)||i[0];n.update({name:"quality",position:"right",index:10,style:{marginRight:"10px"},html:c?c.html:"",selector:i,async onSelect(s){await t.switchQuality(s.url),o.show=`${u.get("Switch Video")}: ${s.html}`}})}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],iPdgW:[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a);var e=r("../utils");a.default=function(t){const{option:i,storage:n,template:{$video:o,$poster:u}}=t;for(const s in i.moreVideoAttr)t.attr(s,i.moreVideoAttr[s]);i.muted&&(t.muted=i.muted),i.volume&&(o.volume=(0,e.clamp)(i.volume,0,1));const c=n.get("volume");typeof c=="number"&&(o.volume=(0,e.clamp)(c,0,1)),i.poster&&(0,e.setStyle)(u,"backgroundImage",`url(${i.poster})`),i.autoplay&&(o.autoplay=i.autoplay),i.playsInline&&(o.playsInline=!0,o["webkit-playsinline"]=!0),i.theme&&(i.cssVar["--art-theme"]=i.theme);for(const s in i.cssVar)t.cssVar(s,i.cssVar[s]);t.url=i.url}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"3mj0J":[function(r,h,a){var e=r("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(a);var t=r("../config"),i=e.interopDefault(t),n=r("../utils");a.default=function(o){const{i18n:u,notice:c,option:s,constructor:l,proxy:p,template:{$player:f,$video:v,$poster:d}}=o;let x=0;for(let $=0;$<i.default.events.length;$++)p(v,i.default.events[$],y=>{o.emit(`video:${y.type}`,y)});o.on("video:canplay",()=>{x=0,o.loading.show=!1}),o.once("video:canplay",()=>{o.loading.show=!1,o.controls.show=!0,o.mask.show=!0,o.isReady=!0,o.emit("ready")}),o.on("video:ended",()=>{s.loop?(o.seek=0,o.play(),o.controls.show=!1,o.mask.show=!1):(o.controls.show=!0,o.mask.show=!0)}),o.on("video:error",async $=>{x<l.RECONNECT_TIME_MAX?(await(0,n.sleep)(l.RECONNECT_SLEEP_TIME),x+=1,o.url=s.url,c.show=`${u.get("Reconnect")}: ${x}`,o.emit("error",$,x)):(o.mask.show=!0,o.loading.show=!1,o.controls.show=!0,(0,n.addClass)(f,"art-error"),await(0,n.sleep)(l.RECONNECT_SLEEP_TIME),c.show=u.get("Video Load Failed"))}),o.on("video:loadedmetadata",()=>{o.emit("resize"),n.isMobile&&(o.loading.show=!1,o.controls.show=!0,o.mask.show=!0)}),o.on("video:loadstart",()=>{o.loading.show=!0,o.mask.show=!1,o.controls.show=!0}),o.on("video:pause",()=>{o.controls.show=!0,o.mask.show=!0}),o.on("video:play",()=>{o.mask.show=!1,(0,n.setStyle)(d,"display","none")}),o.on("video:playing",()=>{o.mask.show=!1}),o.on("video:progress",()=>{o.playing&&(o.loading.show=!1)}),o.on("video:seeked",()=>{o.loading.show=!1,o.mask.show=!0}),o.on("video:seeking",()=>{o.loading.show=!0,o.mask.show=!1}),o.on("video:timeupdate",()=>{o.mask.show=!1}),o.on("video:waiting",()=>{o.loading.show=!0,o.mask.show=!1})}},{"../config":"9Xmqu","../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"14IBq":[function(r,h,a){var e=r("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(a);var t=r("../utils"),i=r("../utils/component"),n=e.interopDefault(i),o=r("./fullscreen"),u=e.interopDefault(o),c=r("./fullscreenWeb"),s=e.interopDefault(c),l=r("./pip"),p=e.interopDefault(l),f=r("./playAndPause"),v=e.interopDefault(f),d=r("./progress"),x=e.interopDefault(d),$=r("./time"),y=e.interopDefault($),m=r("./volume"),w=e.interopDefault(m),g=r("./setting"),k=e.interopDefault(g),S=r("./thumbnails"),b=e.interopDefault(S),j=r("./screenshot"),I=e.interopDefault(j),M=r("./airplay"),D=e.interopDefault(M);class O extends n.default{constructor(T){super(T),this.name="control",this.timer=Date.now();const{constructor:H}=T,{$player:B}=this.art.template;T.on("mousemove",()=>{t.isMobile||(this.show=!0)}),T.on("click",()=>{t.isMobile?this.toggle():this.show=!0}),T.on("video:timeupdate",()=>{!T.isInput&&T.playing&&this.show&&Date.now()-this.timer>=H.CONTROL_HIDE_TIME&&(this.show=!1)}),T.on("control",A=>{A?((0,t.removeClass)(B,"art-hide-cursor"),(0,t.addClass)(B,"art-hover"),this.timer=Date.now()):((0,t.addClass)(B,"art-hide-cursor"),(0,t.removeClass)(B,"art-hover"))}),this.init()}init(){const{option:T}=this.art;T.isLive||this.add((0,x.default)({name:"progress",position:"top",index:10})),!T.thumbnails.url||T.isLive||t.isMobile||this.add((0,b.default)({name:"thumbnails",position:"top",index:20})),this.add((0,v.default)({name:"playAndPause",position:"left",index:10})),this.add((0,w.default)({name:"volume",position:"left",index:20})),T.isLive||this.add((0,y.default)({name:"time",position:"left",index:30})),T.quality.length&&(0,t.sleep)().then(()=>{this.art.quality=T.quality}),T.screenshot&&!t.isMobile&&this.add((0,I.default)({name:"screenshot",position:"right",index:20})),T.setting&&this.add((0,k.default)({name:"setting",position:"right",index:30})),T.pip&&this.add((0,p.default)({name:"pip",position:"right",index:40})),T.airplay&&window.WebKitPlaybackTargetAvailabilityEvent&&this.add((0,D.default)({name:"airplay",position:"right",index:50})),T.fullscreenWeb&&this.add((0,s.default)({name:"fullscreenWeb",position:"right",index:60})),T.fullscreen&&this.add((0,u.default)({name:"fullscreen",position:"right",index:70}));for(let H=0;H<T.controls.length;H++)this.add(T.controls[H])}add(T){const H=typeof T=="function"?T(this.art):T,{$progress:B,$controlsLeft:A,$controlsRight:R}=this.art.template;switch(H.position){case"top":this.$parent=B;break;case"left":this.$parent=A;break;case"right":this.$parent=R;break;default:(0,t.errorHandle)(!1,"Control option.position must one of 'top', 'left', 'right'")}super.add(H)}}a.default=O},{"../utils":"h3rH9","../utils/component":"guki8","./fullscreen":"cxHNK","./fullscreenWeb":"66eEC","./pip":"kCFkA","./playAndPause":"iRhgD","./progress":"aBBSH","./time":"7H0CE","./volume":"lMwFm","./setting":"8BrCu","./thumbnails":"2HiWx","./screenshot":"c1GeG","./airplay":"6GRju","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],guki8:[function(r,h,a){var e=r("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(a);var t=r("./dom"),i=r("./format"),n=r("./error"),o=r("option-validator"),u=e.interopDefault(o),c=r("../scheme");a.default=class{constructor(s){this.id=0,this.art=s,this.cache=new Map,this.add=this.add.bind(this),this.remove=this.remove.bind(this),this.update=this.update.bind(this)}get show(){return(0,t.hasClass)(this.art.template.$player,`art-${this.name}-show`)}set show(s){const{$player:l}=this.art.template,p=`art-${this.name}-show`;s?(0,t.addClass)(l,p):(0,t.removeClass)(l,p),this.art.emit(this.name,s)}toggle(){this.show=!this.show}add(s){const l=typeof s=="function"?s(this.art):s;if(l.html=l.html||"",(0,u.default)(l,c.ComponentOption),!this.$parent||!this.name||l.disable)return;const p=l.name||`${this.name}${this.id}`,f=this.cache.get(p);(0,n.errorHandle)(!f,`Can't add an existing [${p}] to the [${this.name}]`),this.id+=1;const v=(0,t.createElement)("div");(0,t.addClass)(v,`art-${this.name}`),(0,t.addClass)(v,`art-${this.name}-${p}`);const d=Array.from(this.$parent.children);v.dataset.index=l.index||this.id;const x=d.find(y=>Number(y.dataset.index)>=Number(v.dataset.index));x?x.insertAdjacentElement("beforebegin",v):(0,t.append)(this.$parent,v),l.html&&(0,t.append)(v,l.html),l.style&&(0,t.setStyles)(v,l.style),l.tooltip&&(0,t.tooltip)(v,l.tooltip);const $=[];if(l.click){const y=this.art.events.proxy(v,"click",m=>{m.preventDefault(),l.click.call(this.art,this,m)});$.push(y)}return l.selector&&["left","right"].includes(l.position)&&this.addSelector(l,v,$),this[p]=v,this.cache.set(p,{$ref:v,events:$,option:l}),l.mounted&&l.mounted.call(this.art,v),v}addSelector(s,l,p){const{hover:f,proxy:v}=this.art.events;(0,t.addClass)(l,"art-control-selector");const d=(0,t.createElement)("div");(0,t.addClass)(d,"art-selector-value"),(0,t.append)(d,s.html),l.innerText="",(0,t.append)(l,d);const x=s.selector.map((w,g)=>`<div class="art-selector-item ${w.default?"art-current":""}" data-index="${g}">${w.html}</div>`).join(""),$=(0,t.createElement)("div");(0,t.addClass)($,"art-selector-list"),(0,t.append)($,x),(0,t.append)(l,$);const y=()=>{const w=(0,t.getStyle)(l,"width")/2-(0,t.getStyle)($,"width")/2;$.style.left=`${w}px`};f(l,y);const m=v($,"click",async w=>{const g=(w.composedPath()||[]).find(b=>(0,t.hasClass)(b,"art-selector-item"));if(!g)return;(0,t.inverseClass)(g,"art-current");const k=Number(g.dataset.index),S=s.selector[k]||{};if(d.innerText=g.innerText,s.onSelect){const b=await s.onSelect.call(this.art,S,g,w);(0,i.isStringOrNumber)(b)&&(d.innerHTML=b)}y()});p.push(m)}remove(s){const l=this.cache.get(s);(0,n.errorHandle)(l,`Can't find [${s}] from the [${this.name}]`),l.option.beforeUnmount&&l.option.beforeUnmount.call(this.art,l.$ref);for(let p=0;p<l.events.length;p++)this.art.events.remove(l.events[p]);this.cache.delete(s),delete this[s],(0,t.remove)(l.$ref)}update(s){const l=this.cache.get(s.name);return l&&(s=Object.assign(l.option,s),this.remove(s.name)),this.add(s)}}},{"./dom":"XgAQE","./format":"13atT","./error":"2nFlF","option-validator":"bAWi2","../scheme":"AdvwB","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],cxHNK:[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a);var e=r("../utils");a.default=function(t){return i=>({...t,tooltip:i.i18n.get("Fullscreen"),mounted:n=>{const{proxy:o,icons:u,i18n:c}=i,s=(0,e.append)(n,u.fullscreenOn),l=(0,e.append)(n,u.fullscreenOff);(0,e.setStyle)(l,"display","none"),o(n,"click",()=>{i.fullscreen=!i.fullscreen}),i.on("fullscreen",p=>{p?((0,e.tooltip)(n,c.get("Exit Fullscreen")),(0,e.setStyle)(s,"display","none"),(0,e.setStyle)(l,"display","inline-flex")):((0,e.tooltip)(n,c.get("Fullscreen")),(0,e.setStyle)(s,"display","inline-flex"),(0,e.setStyle)(l,"display","none"))})}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"66eEC":[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a);var e=r("../utils");a.default=function(t){return i=>({...t,tooltip:i.i18n.get("Web Fullscreen"),mounted:n=>{const{proxy:o,icons:u,i18n:c}=i,s=(0,e.append)(n,u.fullscreenWebOn),l=(0,e.append)(n,u.fullscreenWebOff);(0,e.setStyle)(l,"display","none"),o(n,"click",()=>{i.fullscreenWeb=!i.fullscreenWeb}),i.on("fullscreenWeb",p=>{p?((0,e.tooltip)(n,c.get("Exit Web Fullscreen")),(0,e.setStyle)(s,"display","none"),(0,e.setStyle)(l,"display","inline-flex")):((0,e.tooltip)(n,c.get("Web Fullscreen")),(0,e.setStyle)(s,"display","inline-flex"),(0,e.setStyle)(l,"display","none"))})}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],kCFkA:[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a);var e=r("../utils");a.default=function(t){return i=>({...t,tooltip:i.i18n.get("PIP Mode"),mounted:n=>{const{proxy:o,icons:u,i18n:c}=i;(0,e.append)(n,u.pip),o(n,"click",()=>{i.pip=!i.pip}),i.on("pip",s=>{(0,e.tooltip)(n,c.get(s?"Exit PIP Mode":"PIP Mode"))})}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],iRhgD:[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a);var e=r("../utils");a.default=function(t){return i=>({...t,mounted:n=>{const{proxy:o,icons:u,i18n:c}=i,s=(0,e.append)(n,u.play),l=(0,e.append)(n,u.pause);function p(){(0,e.setStyle)(s,"display","flex"),(0,e.setStyle)(l,"display","none")}function f(){(0,e.setStyle)(s,"display","none"),(0,e.setStyle)(l,"display","flex")}(0,e.tooltip)(s,c.get("Play")),(0,e.tooltip)(l,c.get("Pause")),o(s,"click",()=>{i.play()}),o(l,"click",()=>{i.pause()}),i.playing?f():p(),i.on("video:playing",()=>{f()}),i.on("video:pause",()=>{p()})}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],aBBSH:[function(r,h,a){var e=r("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(a),e.export(a,"getPosFromEvent",()=>i),e.export(a,"setCurrentTime",()=>n);var t=r("../utils");function i(o,u){const{$progress:c}=o.template,{left:s}=c.getBoundingClientRect(),l=t.isMobile?u.touches[0].clientX:u.clientX,p=(0,t.clamp)(l-s,0,c.clientWidth),f=p/c.clientWidth*o.duration;return{second:f,time:(0,t.secondToTime)(f),width:p,percentage:(0,t.clamp)(p/c.clientWidth,0,1)}}function n(o,u){if(o.isRotate){const c=u.touches[0].clientY/o.height,s=c*o.duration;o.emit("setBar","played",c),o.seek=s}else{const{second:c,percentage:s}=i(o,u);o.emit("setBar","played",s),o.seek=c}}a.default=function(o){return u=>{const{icons:c,option:s,proxy:l}=u;return{...o,html:'<div class="art-control-progress-inner"><div class="art-progress-hover"></div><div class="art-progress-loaded"></div><div class="art-progress-played"></div><div class="art-progress-highlight"></div><div class="art-progress-indicator"></div><div class="art-progress-tip"></div></div>',mounted:p=>{let f=!1;const v=(0,t.query)(".art-progress-hover",p),d=(0,t.query)(".art-progress-loaded",p),x=(0,t.query)(".art-progress-played",p),$=(0,t.query)(".art-progress-highlight",p),y=(0,t.query)(".art-progress-indicator",p),m=(0,t.query)(".art-progress-tip",p);function w(g,k){g==="loaded"&&(0,t.setStyle)(d,"width",100*k+"%"),g==="played"&&((0,t.setStyle)(x,"width",100*k+"%"),(0,t.setStyle)(y,"left",100*k+"%"))}c.indicator?(0,t.append)(y,c.indicator):(0,t.setStyle)(y,"backgroundColor","var(--art-theme)"),u.on("video:loadedmetadata",()=>{for(let g=0;g<s.highlight.length;g++){const k=s.highlight[g],S=(0,t.clamp)(k.time,0,u.duration)/u.duration*100,b=`<span data-text="${k.text}" data-time="${k.time}" style="left: ${S}%"></span>`;(0,t.append)($,b)}}),w("loaded",u.loaded),u.on("setBar",(g,k)=>{w(g,k)}),u.on("video:progress",()=>{w("loaded",u.loaded)}),u.constructor.USE_RAF?u.on("raf",()=>{w("played",u.played)}):u.on("video:timeupdate",()=>{w("played",u.played)}),u.on("video:ended",()=>{w("played",1)}),t.isMobile||(l(p,"click",g=>{g.target!==y&&n(u,g)}),l(p,"mousemove",g=>{(function(k){const{width:S}=i(u,k);(0,t.setStyle)(v,"width",`${S}px`),(0,t.setStyle)(v,"display","flex")})(g),(0,t.setStyle)(m,"display","flex"),(0,t.includeFromEvent)(g,$)?function(k){const{width:S}=i(u,k),{text:b}=k.target.dataset;m.innerHTML=b;const j=m.clientWidth;S<=j/2?(0,t.setStyle)(m,"left",0):S>p.clientWidth-j/2?(0,t.setStyle)(m,"left",p.clientWidth-j+"px"):(0,t.setStyle)(m,"left",S-j/2+"px")}(g):function(k){const{width:S,time:b}=i(u,k);m.innerHTML=b;const j=m.clientWidth;S<=j/2?(0,t.setStyle)(m,"left",0):S>p.clientWidth-j/2?(0,t.setStyle)(m,"left",p.clientWidth-j+"px"):(0,t.setStyle)(m,"left",S-j/2+"px")}(g)}),l(p,"mouseleave",()=>{(0,t.setStyle)(m,"display","none"),(0,t.setStyle)(v,"display","none")}),l(p,"mousedown",g=>{f=g.button===0}),u.on("document:mousemove",g=>{if(f){const{second:k,percentage:S}=i(u,g);w("played",S),u.seek=k}}),u.on("document:mouseup",()=>{f&&(f=!1)}))}}}}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"7H0CE":[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a);var e=r("../utils");a.default=function(t){return i=>({...t,style:e.isMobile?{fontSize:"12px",padding:"0 5px"}:{cursor:"auto",padding:"0 10px"},mounted:n=>{function o(){const c=`${(0,e.secondToTime)(i.currentTime)} / ${(0,e.secondToTime)(i.duration)}`;c!==n.innerText&&(n.innerText=c)}o();const u=["video:loadedmetadata","video:timeupdate","video:progress"];for(let c=0;c<u.length;c++)i.on(u[c],o)}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],lMwFm:[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a);var e=r("../utils");a.default=function(t){return i=>({...t,mounted:n=>{const{proxy:o,icons:u}=i,c=(0,e.append)(n,u.volume),s=(0,e.append)(n,u.volumeClose),l=(0,e.append)(n,'<div class="art-volume-panel"></div>'),p=(0,e.append)(l,'<div class="art-volume-inner"></div>'),f=(0,e.append)(p,'<div class="art-volume-val"></div>'),v=(0,e.append)(p,'<div class="art-volume-slider"></div>'),d=(0,e.append)(v,'<div class="art-volume-handle"></div>'),x=(0,e.append)(d,'<div class="art-volume-loaded"></div>'),$=(0,e.append)(v,'<div class="art-volume-indicator"></div>');function y(w){const{top:g,height:k}=v.getBoundingClientRect();return 1-(w.clientY-g)/k}function m(){if(i.muted||i.volume===0)(0,e.setStyle)(c,"display","none"),(0,e.setStyle)(s,"display","flex"),(0,e.setStyle)($,"top","100%"),(0,e.setStyle)(x,"top","100%"),f.innerText=0;else{const w=100*i.volume;(0,e.setStyle)(c,"display","flex"),(0,e.setStyle)(s,"display","none"),(0,e.setStyle)($,"top",100-w+"%"),(0,e.setStyle)(x,"top",100-w+"%"),f.innerText=Math.floor(w)}}if(m(),i.on("video:volumechange",m),o(c,"click",()=>{i.muted=!0}),o(s,"click",()=>{i.muted=!1}),e.isMobile)(0,e.setStyle)(l,"display","none");else{let w=!1;o(v,"mousedown",g=>{w=g.button===0,i.volume=y(g)}),i.on("document:mousemove",g=>{w&&(i.muted=!1,i.volume=y(g))}),i.on("document:mouseup",()=>{w&&(w=!1)})}}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"8BrCu":[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a);var e=r("../utils");a.default=function(t){return i=>({...t,tooltip:i.i18n.get("Show Setting"),mounted:n=>{const{proxy:o,icons:u,i18n:c}=i;(0,e.append)(n,u.setting),o(n,"click",()=>{i.setting.toggle(),i.setting.updateStyle()}),i.on("setting",s=>{(0,e.tooltip)(n,c.get(s?"Hide Setting":"Show Setting"))})}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"2HiWx":[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a);var e=r("../utils"),t=r("./progress");a.default=function(i){return n=>({...i,mounted:o=>{const{option:u,template:{$progress:c,$video:s},events:{proxy:l,loadImg:p}}=n;let f=null,v=!1,d=!1;l(c,"mousemove",async x=>{v||(v=!0,f=await p(u.thumbnails.url),d=!0),d&&((0,e.setStyle)(o,"display","flex"),function($){const{width:y}=(0,t.getPosFromEvent)(n,$),{url:m,number:w,column:g,width:k,height:S}=u.thumbnails,b=k||f.naturalWidth/g,j=S||b/(s.videoWidth/s.videoHeight),I=c.clientWidth/w,M=Math.floor(y/I),D=Math.ceil(M/g)-1,O=M%g||g-1;(0,e.setStyle)(o,"backgroundImage",`url(${m})`),(0,e.setStyle)(o,"height",`${j}px`),(0,e.setStyle)(o,"width",`${b}px`),(0,e.setStyle)(o,"backgroundPosition",`-${O*b}px -${D*j}px`),y<=b/2?(0,e.setStyle)(o,"left",0):y>c.clientWidth-b/2?(0,e.setStyle)(o,"left",c.clientWidth-b+"px"):(0,e.setStyle)(o,"left",y-b/2+"px")}(x))}),l(c,"mouseleave",()=>{(0,e.setStyle)(o,"display","none")}),n.on("hover",x=>{x||(0,e.setStyle)(o,"display","none")})}})}},{"../utils":"h3rH9","./progress":"aBBSH","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],c1GeG:[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a);var e=r("../utils");a.default=function(t){return i=>({...t,tooltip:i.i18n.get("Screenshot"),mounted:n=>{const{proxy:o,icons:u}=i;(0,e.append)(n,u.screenshot),o(n,"click",()=>{i.screenshot()})}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"6GRju":[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a);var e=r("../utils");a.default=function(t){return i=>({...t,tooltip:i.i18n.get("AirPlay"),mounted:n=>{const{proxy:o,icons:u}=i;(0,e.append)(n,u.airplay),o(n,"click",()=>i.airplay())}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"7iUum":[function(r,h,a){var e=r("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(a);var t=r("../utils"),i=r("../utils/component"),n=e.interopDefault(i),o=r("./playbackRate"),u=e.interopDefault(o),c=r("./aspectRatio"),s=e.interopDefault(c),l=r("./flip"),p=e.interopDefault(l),f=r("./info"),v=e.interopDefault(f),d=r("./version"),x=e.interopDefault(d),$=r("./close"),y=e.interopDefault($);class m extends n.default{constructor(g){super(g),this.name="contextmenu",this.$parent=g.template.$contextmenu,t.isMobile||this.init()}init(){const{option:g,proxy:k,template:{$player:S,$contextmenu:b}}=this.art;g.playbackRate&&this.add((0,u.default)({name:"playbackRate",index:10})),g.aspectRatio&&this.add((0,s.default)({name:"aspectRatio",index:20})),g.flip&&this.add((0,p.default)({name:"flip",index:30})),this.add((0,v.default)({name:"info",index:40})),this.add((0,x.default)({name:"version",index:50})),this.add((0,y.default)({name:"close",index:60}));for(let j=0;j<g.contextmenu.length;j++)this.add(g.contextmenu[j]);k(S,"contextmenu",j=>{if(j.preventDefault(),!this.art.constructor.CONTEXTMENU)return;this.show=!0;const I=j.clientX,M=j.clientY,{height:D,width:O,left:F,top:T}=S.getBoundingClientRect(),{height:H,width:B}=b.getBoundingClientRect();let A=I-F,R=M-T;I+B>F+O&&(A=O-B),M+H>T+D&&(R=D-H),(0,t.setStyles)(b,{top:`${R}px`,left:`${A}px`})}),k(S,"click",j=>{(0,t.includeFromEvent)(j,b)||(this.show=!1)}),this.art.on("blur",()=>{this.show=!1})}}a.default=m},{"../utils":"h3rH9","../utils/component":"guki8","./playbackRate":"f1W36","./aspectRatio":"afxZC","./flip":"9jCuX","./info":"k8wIZ","./version":"bb0TU","./close":"9zTkI","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],f1W36:[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a);var e=r("../utils");a.default=function(t){return i=>{const{i18n:n,constructor:{PLAYBACK_RATE:o}}=i,u=o.map(c=>`<span data-value="${c}">${c===1?n.get("Normal"):c.toFixed(1)}</span>`).join("");return{...t,html:`${n.get("Play Speed")}: ${u}`,click:(c,s)=>{const{value:l}=s.target.dataset;l&&(i.playbackRate=Number(l),c.show=!1)},mounted:c=>{const s=(0,e.query)('[data-value="1"]',c);s&&(0,e.inverseClass)(s,"art-current"),i.on("video:ratechange",()=>{const l=(0,e.queryAll)("span",c).find(p=>Number(p.dataset.value)===i.playbackRate);l&&(0,e.inverseClass)(l,"art-current")})}}}}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],afxZC:[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a);var e=r("../utils");a.default=function(t){return i=>{const{i18n:n,constructor:{ASPECT_RATIO:o}}=i,u=o.map(c=>`<span data-value="${c}">${c==="default"?n.get("Default"):c}</span>`).join("");return{...t,html:`${n.get("Aspect Ratio")}: ${u}`,click:(c,s)=>{const{value:l}=s.target.dataset;l&&(i.aspectRatio=l,c.show=!1)},mounted:c=>{const s=(0,e.query)('[data-value="default"]',c);s&&(0,e.inverseClass)(s,"art-current"),i.on("aspectRatio",l=>{const p=(0,e.queryAll)("span",c).find(f=>f.dataset.value===l);p&&(0,e.inverseClass)(p,"art-current")})}}}}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"9jCuX":[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a);var e=r("../utils");a.default=function(t){return i=>{const{i18n:n,constructor:{FLIP:o}}=i,u=o.map(c=>`<span data-value="${c}">${n.get((0,e.capitalize)(c))}</span>`).join("");return{...t,html:`${n.get("Video Flip")}: ${u}`,click:(c,s)=>{const{value:l}=s.target.dataset;l&&(i.flip=l.toLowerCase(),c.show=!1)},mounted:c=>{const s=(0,e.query)('[data-value="normal"]',c);s&&(0,e.inverseClass)(s,"art-current"),i.on("flip",l=>{const p=(0,e.queryAll)("span",c).find(f=>f.dataset.value===l);p&&(0,e.inverseClass)(p,"art-current")})}}}}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],k8wIZ:[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a),a.default=function(e){return t=>({...e,html:t.i18n.get("Video Info"),click:i=>{t.info.show=!0,i.show=!1}})}},{"@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],bb0TU:[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a),a.default=function(e){return{...e,html:'<a href="https://artplayer.org" target="_blank">ArtPlayer 5.1.1</a>'}}},{"@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"9zTkI":[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a),a.default=function(e){return t=>({...e,html:t.i18n.get("Close"),click:i=>{i.show=!1}})}},{"@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],hD2Lg:[function(r,h,a){var e=r("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(a);var t=r("./utils"),i=r("./utils/component"),n=e.interopDefault(i);class o extends n.default{constructor(c){super(c),this.name="info",t.isMobile||this.init()}init(){const{proxy:c,constructor:s,template:{$infoPanel:l,$infoClose:p,$video:f}}=this.art;c(p,"click",()=>{this.show=!1});let v=null;const d=(0,t.queryAll)("[data-video]",l)||[];this.art.on("destroy",()=>clearTimeout(v)),function x(){for(let $=0;$<d.length;$++){const y=d[$],m=f[y.dataset.video],w=typeof m=="number"?m.toFixed(2):m;y.innerText!==w&&(y.innerText=w)}v=setTimeout(x,s.INFO_LOOP_TIME)}()}}a.default=o},{"./utils":"h3rH9","./utils/component":"guki8","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],lum0D:[function(r,h,a){var e=r("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(a);var t=r("./utils"),i=r("./utils/component"),n=e.interopDefault(i),o=r("option-validator"),u=e.interopDefault(o),c=r("./scheme"),s=e.interopDefault(c);class l extends n.default{constructor(f){super(f),this.name="subtitle",this.eventDestroy=()=>null,this.init(f.option.subtitle);let v=!1;f.on("video:timeupdate",()=>{if(!this.url)return;const d=this.art.template.$video.webkitDisplayingFullscreen;typeof d=="boolean"&&d!==v&&(v=d,this.createTrack(d?"subtitles":"metadata",this.url))})}get url(){return this.art.template.$track.src}set url(f){this.switch(f)}get textTrack(){return this.art.template.$video.textTracks[0]}get activeCue(){return this.textTrack.activeCues[0]}style(f,v){const{$subtitle:d}=this.art.template;return typeof f=="object"?(0,t.setStyles)(d,f):(0,t.setStyle)(d,f,v)}update(){const{$subtitle:f}=this.art.template;f.innerHTML="",this.activeCue&&(this.art.option.subtitle.escape?f.innerHTML=this.activeCue.text.split(/\r?\n/).map(v=>`<div class="art-subtitle-line">${(0,t.escape)(v)}</div>`).join(""):f.innerHTML=this.activeCue.text,this.art.emit("subtitleUpdate",this.activeCue.text))}async switch(f,v={}){const{i18n:d,notice:x,option:$}=this.art,y={...$.subtitle,...v,url:f},m=await this.init(y);return v.name&&(x.show=`${d.get("Switch Subtitle")}: ${v.name}`),m}createTrack(f,v){const{template:d,proxy:x,option:$}=this.art,{$video:y,$track:m}=d,w=(0,t.createElement)("track");w.default=!0,w.kind=f,w.src=v,w.label=$.subtitle.name||"Artplayer",w.track.mode="hidden",this.eventDestroy(),(0,t.remove)(m),(0,t.append)(y,w),d.$track=w,this.eventDestroy=x(this.textTrack,"cuechange",()=>this.update())}async init(f){const{notice:v,template:{$subtitle:d}}=this.art;if((0,u.default)(f,s.default.subtitle),f.url)return this.style(f.style),fetch(f.url).then(x=>x.arrayBuffer()).then(x=>{const $=new TextDecoder(f.encoding).decode(x);switch(this.art.emit("subtitleLoad",f.url),f.type||(0,t.getExt)(f.url)){case"srt":{const y=(0,t.srtToVtt)($),m=f.onVttLoad(y);return(0,t.vttToBlob)(m)}case"ass":{const y=(0,t.assToVtt)($),m=f.onVttLoad(y);return(0,t.vttToBlob)(m)}case"vtt":{const y=f.onVttLoad($);return(0,t.vttToBlob)(y)}default:return f.url}}).then(x=>(d.innerHTML="",this.url===x||(URL.revokeObjectURL(this.url),this.createTrack("metadata",x),this.art.emit("subtitleSwitch",x)),x)).catch(x=>{throw d.innerHTML="",v.show=x,x})}}a.default=l},{"./utils":"h3rH9","./utils/component":"guki8","option-validator":"bAWi2","./scheme":"AdvwB","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"1Epl5":[function(r,h,a){var e=r("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(a);var t=r("../utils/error"),i=r("./clickInit"),n=e.interopDefault(i),o=r("./hoverInit"),u=e.interopDefault(o),c=r("./moveInit"),s=e.interopDefault(c),l=r("./resizeInit"),p=e.interopDefault(l),f=r("./gestureInit"),v=e.interopDefault(f),d=r("./viewInit"),x=e.interopDefault(d),$=r("./documentInit"),y=e.interopDefault($),m=r("./updateInit"),w=e.interopDefault(m);a.default=class{constructor(g){this.destroyEvents=[],this.proxy=this.proxy.bind(this),this.hover=this.hover.bind(this),this.loadImg=this.loadImg.bind(this),(0,n.default)(g,this),(0,u.default)(g,this),(0,s.default)(g,this),(0,p.default)(g,this),(0,v.default)(g,this),(0,x.default)(g,this),(0,y.default)(g,this),(0,w.default)(g,this)}proxy(g,k,S,b={}){if(Array.isArray(k))return k.map(I=>this.proxy(g,I,S,b));g.addEventListener(k,S,b);const j=()=>g.removeEventListener(k,S,b);return this.destroyEvents.push(j),j}hover(g,k,S){k&&this.proxy(g,"mouseenter",k),S&&this.proxy(g,"mouseleave",S)}loadImg(g){return new Promise((k,S)=>{let b;if(g instanceof HTMLImageElement)b=g;else{if(typeof g!="string")return S(new t.ArtPlayerError("Unable to get Image"));b=new Image,b.src=g}if(b.complete)return k(b);this.proxy(b,"load",()=>k(b)),this.proxy(b,"error",()=>S(new t.ArtPlayerError(`Failed to load Image: ${b.src}`)))})}remove(g){const k=this.destroyEvents.indexOf(g);k>-1&&(g(),this.destroyEvents.splice(k,1))}destroy(){for(let g=0;g<this.destroyEvents.length;g++)this.destroyEvents[g]()}}},{"../utils/error":"2nFlF","./clickInit":"gzL6e","./hoverInit":"kpTJf","./moveInit":"ef6qz","./resizeInit":"9TXOX","./gestureInit":"dePMU","./viewInit":"hDyWF","./documentInit":"7RjDP","./updateInit":"8SmBT","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],gzL6e:[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a);var e=r("../utils");a.default=function(t,i){const{constructor:n,template:{$player:o,$video:u}}=t;i.proxy(document,["click","contextmenu"],s=>{(0,e.includeFromEvent)(s,o)?(t.isInput=s.target.tagName==="INPUT",t.isFocus=!0,t.emit("focus",s)):(t.isInput=!1,t.isFocus=!1,t.emit("blur",s))});let c=0;i.proxy(u,"click",s=>{const l=Date.now(),{MOBILE_CLICK_PLAY:p,DBCLICK_TIME:f,MOBILE_DBCLICK_PLAY:v,DBCLICK_FULLSCREEN:d}=n;l-c<=f?(t.emit("dblclick",s),e.isMobile?!t.isLock&&v&&t.toggle():d&&(t.fullscreen=!t.fullscreen)):(t.emit("click",s),e.isMobile?!t.isLock&&p&&t.toggle():t.toggle()),c=l})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],kpTJf:[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a);var e=r("../utils");a.default=function(t,i){const{$player:n}=t.template;i.hover(n,o=>{(0,e.addClass)(n,"art-hover"),t.emit("hover",!0,o)},o=>{(0,e.removeClass)(n,"art-hover"),t.emit("hover",!1,o)})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],ef6qz:[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a),a.default=function(e,t){const{$player:i}=e.template;t.proxy(i,"mousemove",n=>{e.emit("mousemove",n)})}},{"@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"9TXOX":[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a);var e=r("../utils");a.default=function(t,i){const{option:n,constructor:o}=t;t.on("resize",()=>{const{aspectRatio:c,notice:s}=t;t.state==="standard"&&n.autoSize&&t.autoSize(),t.aspectRatio=c,s.show=""});const u=(0,e.debounce)(()=>t.emit("resize"),o.RESIZE_TIME);i.proxy(window,["orientationchange","resize"],()=>u()),screen&&screen.orientation&&screen.orientation.onchange&&i.proxy(screen.orientation,"change",()=>u())}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],dePMU:[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a);var e=r("../utils"),t=r("../control/progress");function i(n,o,u,c){var s=o-c,l=u-n,p=0;if(Math.abs(l)<2&&Math.abs(s)<2)return p;var f=function(v,d){return 180*Math.atan2(d,v)/Math.PI}(l,s);return f>=-45&&f<45?p=4:f>=45&&f<135?p=1:f>=-135&&f<-45?p=2:(f>=135&&f<=180||f>=-180&&f<-135)&&(p=3),p}a.default=function(n,o){if(e.isMobile&&!n.option.isLive){const{$video:u,$progress:c}=n.template;let s=null,l=!1,p=0,f=0,v=0;const d=y=>{if(y.touches.length===1&&!n.isLock){s===c&&(0,t.setCurrentTime)(n,y),l=!0;const{pageX:m,pageY:w}=y.touches[0];p=m,f=w,v=n.currentTime}},x=y=>{if(y.touches.length===1&&l&&n.duration){const{pageX:m,pageY:w}=y.touches[0],g=i(p,f,m,w),k=[3,4].includes(g),S=[1,2].includes(g);if(k&&!n.isRotate||S&&n.isRotate){const b=(0,e.clamp)((m-p)/n.width,-1,1),j=(0,e.clamp)((w-f)/n.height,-1,1),I=n.isRotate?j:b,M=s===u?n.constructor.TOUCH_MOVE_RATIO:1,D=(0,e.clamp)(v+n.duration*I*M,0,n.duration);n.seek=D,n.emit("setBar","played",(0,e.clamp)(D/n.duration,0,1)),n.notice.show=`${(0,e.secondToTime)(D)} / ${(0,e.secondToTime)(n.duration)}`}}},$=()=>{l&&(p=0,f=0,v=0,l=!1,s=null)};o.proxy(c,"touchstart",y=>{s=c,d(y)}),o.proxy(u,"touchstart",y=>{s=u,d(y)}),o.proxy(u,"touchmove",x),o.proxy(c,"touchmove",x),o.proxy(document,"touchend",$)}}},{"../utils":"h3rH9","../control/progress":"aBBSH","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],hDyWF:[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a);var e=r("../utils");a.default=function(t,i){const{option:n,constructor:o,template:{$container:u}}=t,c=(0,e.throttle)(()=>{t.emit("view",(0,e.isInViewport)(u,o.SCROLL_GAP))},o.SCROLL_TIME);i.proxy(window,"scroll",()=>c()),t.on("view",s=>{n.autoMini&&(t.mini=!s)})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"7RjDP":[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a),a.default=function(e,t){t.proxy(document,"mousemove",i=>{e.emit("document:mousemove",i)}),t.proxy(document,"mouseup",i=>{e.emit("document:mouseup",i)})}},{"@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"8SmBT":[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a),a.default=function(e){if(e.constructor.USE_RAF){let t=null;(function i(){e.playing&&e.emit("raf"),e.isDestroy||(t=requestAnimationFrame(i))})(),e.on("destroy",()=>{cancelAnimationFrame(t)})}}},{"@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],eTow4:[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a);var e=r("./utils");a.default=class{constructor(t){this.art=t,this.keys={},t.option.hotkey&&!e.isMobile&&this.init()}init(){const{proxy:t,constructor:i}=this.art;this.add(27,()=>{this.art.fullscreenWeb&&(this.art.fullscreenWeb=!1)}),this.add(32,()=>{this.art.toggle()}),this.add(37,()=>{this.art.backward=i.SEEK_STEP}),this.add(38,()=>{this.art.volume+=i.VOLUME_STEP}),this.add(39,()=>{this.art.forward=i.SEEK_STEP}),this.add(40,()=>{this.art.volume-=i.VOLUME_STEP}),t(window,"keydown",n=>{if(this.art.isFocus){const o=document.activeElement.tagName.toUpperCase(),u=document.activeElement.getAttribute("contenteditable");if(!(o==="INPUT"||o==="TEXTAREA"||u===""||u==="true"||n.altKey||n.ctrlKey||n.metaKey||n.shiftKey)){const c=this.keys[n.keyCode];if(c){n.preventDefault();for(let s=0;s<c.length;s++)c[s].call(this.art,n);this.art.emit("hotkey",n)}}}})}add(t,i){return this.keys[t]?this.keys[t].push(i):this.keys[t]=[i],this}remove(t,i){if(this.keys[t]){const n=this.keys[t].indexOf(i);n!==-1&&this.keys[t].splice(n,1)}return this}}},{"./utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"4fDoD":[function(r,h,a){var e=r("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(a);var t=r("./utils/component"),i=e.interopDefault(t);class n extends i.default{constructor(u){super(u);const{option:c,template:{$layer:s}}=u;this.name="layer",this.$parent=s;for(let l=0;l<c.layers.length;l++)this.add(c.layers[l])}}a.default=n},{"./utils/component":"guki8","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],fE0Sp:[function(r,h,a){var e=r("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(a);var t=r("./utils"),i=r("./utils/component"),n=e.interopDefault(i);class o extends n.default{constructor(c){super(c),this.name="loading",(0,t.append)(c.template.$loading,c.icons.loading)}}a.default=o},{"./utils":"h3rH9","./utils/component":"guki8","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"9PuGy":[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a);var e=r("./utils");a.default=class{constructor(t){this.art=t,this.timer=null}set show(t){const{constructor:i,template:{$player:n,$noticeInner:o}}=this.art;t?(o.innerText=t instanceof Error?t.message.trim():t,(0,e.addClass)(n,"art-notice-show"),clearTimeout(this.timer),this.timer=setTimeout(()=>{o.innerText="",(0,e.removeClass)(n,"art-notice-show")},i.NOTICE_TIME)):(0,e.removeClass)(n,"art-notice-show")}}},{"./utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"2etr0":[function(r,h,a){var e=r("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(a);var t=r("./utils"),i=r("./utils/component"),n=e.interopDefault(i);class o extends n.default{constructor(c){super(c),this.name="mask";const{template:s,icons:l,events:p}=c,f=(0,t.append)(s.$state,l.state),v=(0,t.append)(s.$state,l.error);(0,t.setStyle)(v,"display","none"),c.on("destroy",()=>{(0,t.setStyle)(f,"display","none"),(0,t.setStyle)(v,"display",null)}),p.proxy(s.$state,"click",()=>c.play())}}a.default=o},{"./utils":"h3rH9","./utils/component":"guki8","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"6dYSr":[function(r,h,a){var e=r("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(a);var t=r("../utils"),i=r("bundle-text:./loading.svg"),n=e.interopDefault(i),o=r("bundle-text:./state.svg"),u=e.interopDefault(o),c=r("bundle-text:./check.svg"),s=e.interopDefault(c),l=r("bundle-text:./play.svg"),p=e.interopDefault(l),f=r("bundle-text:./pause.svg"),v=e.interopDefault(f),d=r("bundle-text:./volume.svg"),x=e.interopDefault(d),$=r("bundle-text:./volume-close.svg"),y=e.interopDefault($),m=r("bundle-text:./screenshot.svg"),w=e.interopDefault(m),g=r("bundle-text:./setting.svg"),k=e.interopDefault(g),S=r("bundle-text:./arrow-left.svg"),b=e.interopDefault(S),j=r("bundle-text:./arrow-right.svg"),I=e.interopDefault(j),M=r("bundle-text:./playback-rate.svg"),D=e.interopDefault(M),O=r("bundle-text:./aspect-ratio.svg"),F=e.interopDefault(O),T=r("bundle-text:./config.svg"),H=e.interopDefault(T),B=r("bundle-text:./pip.svg"),A=e.interopDefault(B),R=r("bundle-text:./lock.svg"),V=e.interopDefault(R),W=r("bundle-text:./unlock.svg"),U=e.interopDefault(W),Y=r("bundle-text:./fullscreen-off.svg"),K=e.interopDefault(Y),G=r("bundle-text:./fullscreen-on.svg"),X=e.interopDefault(G),J=r("bundle-text:./fullscreen-web-off.svg"),Q=e.interopDefault(J),ee=r("bundle-text:./fullscreen-web-on.svg"),te=e.interopDefault(ee),re=r("bundle-text:./switch-on.svg"),ae=e.interopDefault(re),oe=r("bundle-text:./switch-off.svg"),N=e.interopDefault(oe),E=r("bundle-text:./flip.svg"),ue=e.interopDefault(E),z=r("bundle-text:./error.svg"),Z=e.interopDefault(z),q=r("bundle-text:./close.svg"),_=e.interopDefault(q),L=r("bundle-text:./airplay.svg"),ne=e.interopDefault(L);a.default=class{constructor(pe){const se={loading:n.default,state:u.default,play:p.default,pause:v.default,check:s.default,volume:x.default,volumeClose:y.default,screenshot:w.default,setting:k.default,pip:A.default,arrowLeft:b.default,arrowRight:I.default,playbackRate:D.default,aspectRatio:F.default,config:H.default,lock:V.default,flip:ue.default,unlock:U.default,fullscreenOff:K.default,fullscreenOn:X.default,fullscreenWebOff:Q.default,fullscreenWebOn:te.default,switchOn:ae.default,switchOff:N.default,error:Z.default,close:_.default,airplay:ne.default,...pe.option.icons};for(const ie in se)(0,t.def)(this,ie,{get:()=>(0,t.getIcon)(ie,se[ie])})}}},{"../utils":"h3rH9","bundle-text:./loading.svg":"fY5Gt","bundle-text:./state.svg":"iNfLt","bundle-text:./check.svg":"jtE9u","bundle-text:./play.svg":"elgfY","bundle-text:./pause.svg":"eKokJ","bundle-text:./volume.svg":"hNB4y","bundle-text:./volume-close.svg":"i9vta","bundle-text:./screenshot.svg":"kB3Mf","bundle-text:./setting.svg":"3MONs","bundle-text:./arrow-left.svg":"iMCpk","bundle-text:./arrow-right.svg":"3oe4L","bundle-text:./playback-rate.svg":"liE22","bundle-text:./aspect-ratio.svg":"8HqYc","bundle-text:./config.svg":"hYAAH","bundle-text:./pip.svg":"jmNrH","bundle-text:./lock.svg":"cIqko","bundle-text:./unlock.svg":"65zy4","bundle-text:./fullscreen-off.svg":"jaJRT","bundle-text:./fullscreen-on.svg":"cRY1X","bundle-text:./fullscreen-web-off.svg":"3aVGL","bundle-text:./fullscreen-web-on.svg":"4DiVn","bundle-text:./switch-on.svg":"kwdKE","bundle-text:./switch-off.svg":"bWfXZ","bundle-text:./flip.svg":"h3zZ9","bundle-text:./error.svg":"7Oyth","bundle-text:./close.svg":"U5Jcy","bundle-text:./airplay.svg":"jK5Fx","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],fY5Gt:[function(r,h,a){h.exports='<svg xmlns="http://www.w3.org/2000/svg" width="50" height="50" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid" class="uil-default"><path fill="none" class="bk" d="M0 0h100v100H0z"/><rect x="47" y="40" width="6" height="20" rx="5" ry="5" fill="#fff" transform="translate(0 -30)"><animate attributeName="opacity" from="1" to="0" dur="1s" begin="-1s" repeatCount="indefinite"/></rect><rect x="47" y="40" width="6" height="20" rx="5" ry="5" fill="#fff" transform="rotate(30 105.98 65)"><animate attributeName="opacity" from="1" to="0" dur="1s" begin="-0.9166666666666666s" repeatCount="indefinite"/></rect><rect x="47" y="40" width="6" height="20" rx="5" ry="5" fill="#fff" transform="rotate(60 75.98 65)"><animate attributeName="opacity" from="1" to="0" dur="1s" begin="-0.8333333333333334s" repeatCount="indefinite"/></rect><rect x="47" y="40" width="6" height="20" rx="5" ry="5" fill="#fff" transform="rotate(90 65 65)"><animate attributeName="opacity" from="1" to="0" dur="1s" begin="-0.75s" repeatCount="indefinite"/></rect><rect x="47" y="40" width="6" height="20" rx="5" ry="5" fill="#fff" transform="rotate(120 58.66 65)"><animate attributeName="opacity" from="1" to="0" dur="1s" begin="-0.6666666666666666s" repeatCount="indefinite"/></rect><rect x="47" y="40" width="6" height="20" rx="5" ry="5" fill="#fff" transform="rotate(150 54.02 65)"><animate attributeName="opacity" from="1" to="0" dur="1s" begin="-0.5833333333333334s" repeatCount="indefinite"/></rect><rect x="47" y="40" width="6" height="20" rx="5" ry="5" fill="#fff" transform="rotate(180 50 65)"><animate attributeName="opacity" from="1" to="0" dur="1s" begin="-0.5s" repeatCount="indefinite"/></rect><rect x="47" y="40" width="6" height="20" rx="5" ry="5" fill="#fff" transform="rotate(-150 45.98 65)"><animate attributeName="opacity" from="1" to="0" dur="1s" begin="-0.4166666666666667s" repeatCount="indefinite"/></rect><rect x="47" y="40" width="6" height="20" rx="5" ry="5" fill="#fff" transform="rotate(-120 41.34 65)"><animate attributeName="opacity" from="1" to="0" dur="1s" begin="-0.3333333333333333s" repeatCount="indefinite"/></rect><rect x="47" y="40" width="6" height="20" rx="5" ry="5" fill="#fff" transform="rotate(-90 35 65)"><animate attributeName="opacity" from="1" to="0" dur="1s" begin="-0.25s" repeatCount="indefinite"/></rect><rect x="47" y="40" width="6" height="20" rx="5" ry="5" fill="#fff" transform="rotate(-60 24.02 65)"><animate attributeName="opacity" from="1" to="0" dur="1s" begin="-0.16666666666666666s" repeatCount="indefinite"/></rect><rect x="47" y="40" width="6" height="20" rx="5" ry="5" fill="#fff" transform="rotate(-30 -5.98 65)"><animate attributeName="opacity" from="1" to="0" dur="1s" begin="-0.08333333333333333s" repeatCount="indefinite"/></rect></svg>'},{}],iNfLt:[function(r,h,a){h.exports='<svg xmlns="http://www.w3.org/2000/svg" width="80" height="80" viewBox="0 0 24 24"><path fill="#fff" d="M9.5 9.325v5.35q0 .575.525.875t1.025-.05l4.15-2.65q.475-.3.475-.85t-.475-.85L11.05 8.5q-.5-.35-1.025-.05t-.525.875ZM12 22q-2.075 0-3.9-.788t-3.175-2.137q-1.35-1.35-2.137-3.175T2 12q0-2.075.788-3.9t2.137-3.175q1.35-1.35 3.175-2.137T12 2q2.075 0 3.9.788t3.175 2.137q1.35 1.35 2.138 3.175T22 12q0 2.075-.788 3.9t-2.137 3.175q-1.35 1.35-3.175 2.138T12 22Z"/></svg>'},{}],jtE9u:[function(r,h,a){h.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" style="width:100%;height:100%"><path d="M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2z" fill="#fff"/></svg>'},{}],elgfY:[function(r,h,a){h.exports='<svg xmlns="http://www.w3.org/2000/svg" height="22" width="22"><path d="M17.982 9.275 8.06 3.27A2.013 2.013 0 0 0 5 4.994v12.011a2.017 2.017 0 0 0 3.06 1.725l9.922-6.005a2.017 2.017 0 0 0 0-3.45z"/></svg>'},{}],eKokJ:[function(r,h,a){h.exports='<svg xmlns="http://www.w3.org/2000/svg" height="22" width="22"><path d="M7 3a2 2 0 0 0-2 2v12a2 2 0 1 0 4 0V5a2 2 0 0 0-2-2zm8 0a2 2 0 0 0-2 2v12a2 2 0 1 0 4 0V5a2 2 0 0 0-2-2z"/></svg>'},{}],hNB4y:[function(r,h,a){h.exports='<svg xmlns="http://www.w3.org/2000/svg" height="22" width="22"><path d="M10.188 4.65 6 8H5a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h1l4.188 3.35a.5.5 0 0 0 .812-.39V5.04a.498.498 0 0 0-.812-.39zm4.258-.872a1 1 0 0 0-.862 1.804 6.002 6.002 0 0 1-.007 10.838 1 1 0 0 0 .86 1.806A8.001 8.001 0 0 0 19 11a8.001 8.001 0 0 0-4.554-7.222z"/><path d="M15 11a3.998 3.998 0 0 0-2-3.465v6.93A3.998 3.998 0 0 0 15 11z"/></svg>'},{}],i9vta:[function(r,h,a){h.exports='<svg xmlns="http://www.w3.org/2000/svg" height="22" width="22"><path d="M15 11a3.998 3.998 0 0 0-2-3.465v2.636l1.865 1.865A4.02 4.02 0 0 0 15 11z"/><path d="M13.583 5.583A5.998 5.998 0 0 1 17 11a6 6 0 0 1-.585 2.587l1.477 1.477a8.001 8.001 0 0 0-3.446-11.286 1 1 0 0 0-.863 1.805zm5.195 13.195-2.121-2.121-1.414-1.414-1.415-1.415L13 13l-2-2-3.889-3.889-3.889-3.889a.999.999 0 1 0-1.414 1.414L5.172 8H5a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h1l4.188 3.35a.5.5 0 0 0 .812-.39v-3.131l2.587 2.587-.01.005a1 1 0 0 0 .86 1.806c.215-.102.424-.214.627-.333l2.3 2.3a1.001 1.001 0 0 0 1.414-1.416zM11 5.04a.5.5 0 0 0-.813-.39L8.682 5.854 11 8.172V5.04z"/></svg>'},{}],kB3Mf:[function(r,h,a){h.exports='<svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewBox="0 0 50 50"><path d="M19.402 6a5 5 0 0 0-4.902 4.012L14.098 12H9a5 5 0 0 0-5 5v21a5 5 0 0 0 5 5h32a5 5 0 0 0 5-5V17a5 5 0 0 0-5-5h-5.098l-.402-1.988A5 5 0 0 0 30.598 6ZM25 17c5.52 0 10 4.48 10 10s-4.48 10-10 10-10-4.48-10-10 4.48-10 10-10Zm0 2c-4.41 0-8 3.59-8 8s3.59 8 8 8 8-3.59 8-8-3.59-8-8-8Z"/></svg>'},{}],"3MONs":[function(r,h,a){h.exports='<svg xmlns="http://www.w3.org/2000/svg" height="22" width="22"><circle cx="11" cy="11" r="2"/><path d="M19.164 8.861 17.6 8.6a6.978 6.978 0 0 0-1.186-2.099l.574-1.533a1 1 0 0 0-.436-1.217l-1.997-1.153a1.001 1.001 0 0 0-1.272.23l-1.008 1.225a7.04 7.04 0 0 0-2.55.001L8.716 2.829a1 1 0 0 0-1.272-.23L5.447 3.751a1 1 0 0 0-.436 1.217l.574 1.533A6.997 6.997 0 0 0 4.4 8.6l-1.564.261A.999.999 0 0 0 2 9.847v2.306c0 .489.353.906.836.986l1.613.269a7 7 0 0 0 1.228 2.075l-.558 1.487a1 1 0 0 0 .436 1.217l1.997 1.153c.423.244.961.147 1.272-.23l1.04-1.263a7.089 7.089 0 0 0 2.272 0l1.04 1.263a1 1 0 0 0 1.272.23l1.997-1.153a1 1 0 0 0 .436-1.217l-.557-1.487c.521-.61.94-1.31 1.228-2.075l1.613-.269a.999.999 0 0 0 .835-.986V9.847a.999.999 0 0 0-.836-.986zM11 15a4 4 0 1 1 0-8 4 4 0 0 1 0 8z"/></svg>'},{}],iMCpk:[function(r,h,a){h.exports='<svg xmlns="http://www.w3.org/2000/svg" height="32" width="32"><path d="m19.41 20.09-4.58-4.59 4.58-4.59L18 9.5l-6 6 6 6z" fill="#fff"/></svg>'},{}],"3oe4L":[function(r,h,a){h.exports='<svg xmlns="http://www.w3.org/2000/svg" height="32" width="32"><path d="m12.59 20.34 4.58-4.59-4.58-4.59L14 9.75l6 6-6 6z" fill="#fff"/></svg>'},{}],liE22:[function(r,h,a){h.exports='<svg height="24" width="24"><path d="M10 8v8l6-4-6-4zM6.3 5l-.6-.8C7.2 3 9 2.2 11 2l.1 1c-1.8.2-3.4.9-4.8 2zM5 6.3l-.8-.6C3 7.2 2.2 9 2 11l1 .1c.2-1.8.9-3.4 2-4.8zm0 11.4c-1.1-1.4-1.8-3.1-2-4.8L2 13c.2 2 1 3.8 2.2 5.4l.8-.7zm6.1 3.3c-1.8-.2-3.4-.9-4.8-2l-.6.8C7.2 21 9 21.8 11 22l.1-1zM22 12c0-5.2-3.9-9.4-9-10l-.1 1c4.6.5 8.1 4.3 8.1 9s-3.5 8.5-8.1 9l.1 1c5.2-.5 9-4.8 9-10z" fill="#fff" style="--darkreader-inline-fill:#a8a6a4"/></svg>'},{}],"8HqYc":[function(r,h,a){h.exports=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 88 88" style="width:100%;height:100%;transform:translate(0,0)"><defs><clipPath id="__lottie_element_216"><path d="M0 0h88v88H0z"/></clipPath></defs><g style="display:block" clip-path="url('#__lottie_element_216')"><path fill="#FFF" d="m12.438-12.702-2.82 2.82c-.79.79-.79 2.05 0 2.83l7.07 7.07-7.07 7.07c-.79.79-.79 2.05 0 2.83l2.82 2.83c.79.78 2.05.78 2.83 0l11.32-11.31c.78-.78.78-2.05 0-2.83l-11.32-11.31c-.78-.79-2.04-.79-2.83 0zm-24.88 0c-.74-.74-1.92-.78-2.7-.12l-.13.12-11.31 11.31a2 2 0 0 0-.12 2.7l.12.13 11.31 11.31a2 2 0 0 0 2.7.12l.13-.12 2.83-2.83c.74-.74.78-1.91.11-2.7l-.11-.13-7.07-7.07 7.07-7.07c.74-.74.78-1.91.11-2.7l-.11-.13-2.83-2.82zM28-28c4.42 0 8 3.58 8 8v40c0 4.42-3.58 8-8 8h-56c-4.42 0-8-3.58-8-8v-40c0-4.42 3.58-8 8-8h56z" style="--darkreader-inline-fill:#a8a6a4" transform="translate(44 44)"/></g></svg>`},{}],hYAAH:[function(r,h,a){h.exports='<svg height="24" width="24"><path d="M15 17h6v1h-6v-1zm-4 0H3v1h8v2h1v-5h-1v2zm3-9h1V3h-1v2H3v1h11v2zm4-3v1h3V5h-3zM6 14h1V9H6v2H3v1h3v2zm4-2h11v-1H10v1z" fill="#fff" style="--darkreader-inline-fill:#a8a6a4"/></svg>'},{}],jmNrH:[function(r,h,a){h.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36" height="32" width="32"><path d="M25 17h-8v6h8v-6Zm4 8V10.98C29 9.88 28.1 9 27 9H9c-1.1 0-2 .88-2 1.98V25c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2Zm-2 .02H9V10.97h18v14.05Z"/></svg>'},{}],cIqko:[function(r,h,a){h.exports='<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="20" height="20"><path d="M298.667 426.667v-85.334a213.333 213.333 0 1 1 426.666 0v85.334H768A85.333 85.333 0 0 1 853.333 512v256A85.333 85.333 0 0 1 768 853.333H256A85.333 85.333 0 0 1 170.667 768V512A85.333 85.333 0 0 1 256 426.667h42.667zM512 213.333a128 128 0 0 0-128 128v85.334h256v-85.334a128 128 0 0 0-128-128z" fill="#fff"/></svg>'},{}],"65zy4":[function(r,h,a){h.exports='<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="20" height="20"><path d="m666.752 194.517-49.365 74.112A128 128 0 0 0 384 341.333l.043 85.334h384A85.333 85.333 0 0 1 853.376 512v256a85.333 85.333 0 0 1-85.333 85.333H256A85.333 85.333 0 0 1 170.667 768V512A85.333 85.333 0 0 1 256 426.667h42.667v-85.334a213.333 213.333 0 0 1 368.085-146.816z" fill="#fff"/></svg>'},{}],jaJRT:[function(r,h,a){h.exports='<svg class="icon" width="22" height="22" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="#fff" d="M768 298.667h170.667V384h-256V128H768v170.667zM341.333 384h-256v-85.333H256V128h85.333v256zM768 725.333V896h-85.333V640h256v85.333H768zM341.333 640v256H256V725.333H85.333V640h256z"/></svg>'},{}],cRY1X:[function(r,h,a){h.exports='<svg class="icon" width="22" height="22" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="#fff" d="M625.778 256H768v142.222h113.778v-256h-256V256zM256 398.222V256h142.222V142.222h-256v256H256zm512 227.556V768H625.778v113.778h256v-256H768zM398.222 768H256V625.778H142.222v256h256V768z"/></svg>'},{}],"3aVGL":[function(r,h,a){h.exports='<svg class="icon" width="18" height="18" viewBox="0 0 1152 1024" xmlns="http://www.w3.org/2000/svg"><path fill="#fff" d="M1075.2 0H76.8A76.8 76.8 0 0 0 0 76.8v870.4a76.8 76.8 0 0 0 76.8 76.8h998.4a76.8 76.8 0 0 0 76.8-76.8V76.8A76.8 76.8 0 0 0 1075.2 0zM1024 128v768H128V128h896zM896 512a64 64 0 0 1 7.488 127.552L896 640H768v128a64 64 0 0 1-56.512 63.552L704 832a64 64 0 0 1-63.552-56.512L640 768V582.592c0-34.496 25.024-66.112 61.632-70.208l8-.384H896zm-640 0a64 64 0 0 1-7.488-127.552L256 384h128V256a64 64 0 0 1 56.512-63.552L448 192a64 64 0 0 1 63.552 56.512L512 256v185.408c0 34.432-25.024 66.112-61.632 70.144l-8 .448H256z"/></svg>'},{}],"4DiVn":[function(r,h,a){h.exports='<svg class="icon" width="18" height="18" viewBox="0 0 1152 1024" xmlns="http://www.w3.org/2000/svg"><path fill="#fff" d="M1075.2 0H76.8A76.8 76.8 0 0 0 0 76.8v870.4a76.8 76.8 0 0 0 76.8 76.8h998.4a76.8 76.8 0 0 0 76.8-76.8V76.8A76.8 76.8 0 0 0 1075.2 0zM1024 128v768H128V128h896zm-576 64a64 64 0 0 1 7.488 127.552L448 320H320v128a64 64 0 0 1-56.512 63.552L256 512a64 64 0 0 1-63.552-56.512L192 448V262.592c0-34.432 25.024-66.112 61.632-70.144l8-.448H448zm256 640a64 64 0 0 1-7.488-127.552L704 704h128V576a64 64 0 0 1 56.512-63.552L896 512a64 64 0 0 1 63.552 56.512L960 576v185.408c0 34.496-25.024 66.112-61.632 70.208l-8 .384H704z"/></svg>'},{}],kwdKE:[function(r,h,a){h.exports='<svg class="icon" width="26" height="26" viewBox="0 0 1664 1024" xmlns="http://www.w3.org/2000/svg"><path fill="#648FFC" d="M1152 0H512a512 512 0 0 0 0 1024h640a512 512 0 0 0 0-1024zm0 960a448 448 0 1 1 448-448 448 448 0 0 1-448 448z"/></svg>'},{}],bWfXZ:[function(r,h,a){h.exports='<svg class="icon" width="26" height="26" viewBox="0 0 1740 1024" xmlns="http://www.w3.org/2000/svg"><path fill="#fff" d="M511.898 1024h670.515c282.419-.41 511.18-229.478 511.18-511.898 0-282.419-228.761-511.488-511.18-511.897H511.898C229.478.615.717 229.683.717 512.102c0 282.42 228.761 511.488 511.18 511.898zm-.564-975.36A464.589 464.589 0 1 1 48.026 513.024 463.872 463.872 0 0 1 511.334 48.435v.205z"/></svg>'},{}],h3zZ9:[function(r,h,a){h.exports='<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="24" height="24"><path d="M554.667 810.667V896h-85.334v-85.333h85.334zm-384-632.662a42.667 42.667 0 0 1 34.986 18.219l203.904 291.328a42.667 42.667 0 0 1 0 48.896L205.611 827.776A42.667 42.667 0 0 1 128 803.328V220.672a42.667 42.667 0 0 1 42.667-42.667zm682.666 0a42.667 42.667 0 0 1 42.368 37.718l.299 4.949v582.656a42.667 42.667 0 0 1-74.24 28.63l-3.413-4.182-203.904-291.328a42.667 42.667 0 0 1-3.03-43.861l3.03-5.035 203.946-291.328a42.667 42.667 0 0 1 34.944-18.219zM554.667 640v85.333h-85.334V640h85.334zm-358.4-320.896V716.8L335.957 512 196.31 319.104zm358.4 150.23v85.333h-85.334v-85.334h85.334zm0-170.667V384h-85.334v-85.333h85.334zm0-170.667v85.333h-85.334V128h85.334z" fill="#fff"/></svg>'},{}],"7Oyth":[function(r,h,a){h.exports='<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="50" height="50"><path d="M593.818 168.55 949.82 763.76c26.153 43.746 10.732 99.738-34.447 125.052-14.397 8.069-30.72 12.308-47.37 12.308H155.976c-52.224 0-94.536-40.96-94.536-91.505 0-16.097 4.383-31.928 12.718-45.875l356.004-595.19c26.173-43.724 84.009-58.654 129.208-33.341a93.082 93.082 0 0 1 34.448 33.341zM512 819.2a61.44 61.44 0 1 0 0-122.88 61.44 61.44 0 0 0 0 122.88zm0-512a72.315 72.315 0 0 0-71.762 81.306l25.723 205.721a46.408 46.408 0 0 0 92.078 0l25.723-205.742A72.315 72.315 0 0 0 512 307.2z"/></svg>'},{}],U5Jcy:[function(r,h,a){h.exports='<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="22" height="22"><path d="m571.733 512 268.8-268.8c17.067-17.067 17.067-42.667 0-59.733-17.066-17.067-42.666-17.067-59.733 0L512 452.267l-268.8-268.8c-17.067-17.067-42.667-17.067-59.733 0-17.067 17.066-17.067 42.666 0 59.733l268.8 268.8-268.8 268.8c-17.067 17.067-17.067 42.667 0 59.733 8.533 8.534 19.2 12.8 29.866 12.8s21.334-4.266 29.867-12.8l268.8-268.8 268.8 268.8c8.533 8.534 19.2 12.8 29.867 12.8s21.333-4.266 29.866-12.8c17.067-17.066 17.067-42.666 0-59.733L571.733 512z"/></svg>'},{}],jK5Fx:[function(r,h,a){h.exports='<svg width="18" height="18" xmlns="http://www.w3.org/2000/svg"><g fill="#fff"><path d="M16 1H2a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h3v-2H3V3h12v8h-2v2h3a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1Z"/><path d="M4 17h10l-5-6z"/></g></svg>'},{}],bRHiA:[function(r,h,a){var e=r("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(a);var t=r("./flip"),i=e.interopDefault(t),n=r("./aspectRatio"),o=e.interopDefault(n),u=r("./playbackRate"),c=e.interopDefault(u),s=r("./subtitleOffset"),l=e.interopDefault(s),p=r("../utils/component"),f=e.interopDefault(p),v=r("../utils/error"),d=r("../utils");class x extends f.default{constructor(y){super(y);const{option:m,controls:w,template:{$setting:g}}=y;this.name="setting",this.$parent=g,this.option=[],this.events=[],this.cache=new Map,m.setting&&(this.init(),y.on("blur",()=>{this.show&&(this.show=!1,this.render(this.option))}),y.on("focus",k=>{const S=(0,d.includeFromEvent)(k,w.setting),b=(0,d.includeFromEvent)(k,this.$parent);!this.show||S||b||(this.show=!1,this.render(this.option))}))}static makeRecursion(y,m,w){for(let g=0;g<y.length;g++){const k=y[g];k.$parentItem=m,k.$parentList=w,x.makeRecursion(k.selector||[],k,y)}return y}get defaultSettings(){const y=[],{option:m}=this.art;return m.playbackRate&&y.push((0,c.default)(this.art)),m.aspectRatio&&y.push((0,o.default)(this.art)),m.flip&&y.push((0,i.default)(this.art)),m.subtitleOffset&&y.push((0,l.default)(this.art)),y}init(){const{option:y}=this.art,m=[...this.defaultSettings,...y.settings];this.option=x.makeRecursion(m),this.destroy(),this.render(this.option)}destroy(){for(let y=0;y<this.events.length;y++)this.art.events.remove(this.events[y]);this.$parent.innerHTML="",this.events=[],this.cache=new Map}find(y="",m=this.option){for(let w=0;w<m.length;w++){const g=m[w];if(g.name===y)return g;{const k=this.find(y,g.selector||[]);if(k)return k}}}remove(y){const m=this.find(y);(0,v.errorHandle)(m,`Can't find [${y}] from the [setting]`);const w=m.$parentItem?m.$parentItem.selector:this.option;return w.splice(w.indexOf(m),1),this.option=x.makeRecursion(this.option),this.destroy(),this.render(this.option),this.option}update(y){const m=this.find(y.name);return m?(Object.assign(m,y),this.option=x.makeRecursion(this.option),this.destroy(),this.render(this.option)):this.add(y),this.option}add(y){return this.option.push(y),this.option=x.makeRecursion(this.option),this.destroy(),this.render(this.option),this.option}creatHeader(y){const{icons:m,proxy:w,constructor:g}=this.art,k=(0,d.createElement)("div");(0,d.setStyle)(k,"height",`${g.SETTING_ITEM_HEIGHT}px`),(0,d.addClass)(k,"art-setting-item"),(0,d.addClass)(k,"art-setting-item-back");const S=(0,d.append)(k,'<div class="art-setting-item-left"></div>'),b=(0,d.createElement)("div");(0,d.addClass)(b,"art-setting-item-left-icon"),(0,d.append)(b,m.arrowLeft),(0,d.append)(S,b),(0,d.append)(S,y.$parentItem.html);const j=w(k,"click",()=>this.render(y.$parentList));return this.events.push(j),k}creatItem(y,m){const{icons:w,proxy:g,constructor:k}=this.art,S=(0,d.createElement)("div");(0,d.addClass)(S,"art-setting-item"),(0,d.setStyle)(S,"height",`${k.SETTING_ITEM_HEIGHT}px`),(0,d.isStringOrNumber)(m.name)&&(S.dataset.name=m.name),(0,d.isStringOrNumber)(m.value)&&(S.dataset.value=m.value);const b=(0,d.append)(S,'<div class="art-setting-item-left"></div>'),j=(0,d.append)(S,'<div class="art-setting-item-right"></div>'),I=(0,d.createElement)("div");switch((0,d.addClass)(I,"art-setting-item-left-icon"),y){case"switch":case"range":(0,d.append)(I,(0,d.isStringOrNumber)(m.icon)||m.icon instanceof Element?m.icon:w.config);break;case"selector":m.selector&&m.selector.length?(0,d.append)(I,(0,d.isStringOrNumber)(m.icon)||m.icon instanceof Element?m.icon:w.config):(0,d.append)(I,w.check)}(0,d.append)(b,I),m.$icon=I,(0,d.def)(m,"icon",{configurable:!0,get:()=>I.innerHTML,set(O){(0,d.isStringOrNumber)(O)&&(I.innerHTML=O)}});const M=(0,d.createElement)("div");(0,d.addClass)(M,"art-setting-item-left-text"),(0,d.append)(M,m.html||""),(0,d.append)(b,M),m.$html=M,(0,d.def)(m,"html",{configurable:!0,get:()=>M.innerHTML,set(O){(0,d.isStringOrNumber)(O)&&(M.innerHTML=O)}});const D=(0,d.createElement)("div");switch((0,d.addClass)(D,"art-setting-item-right-tooltip"),(0,d.append)(D,m.tooltip||""),(0,d.append)(j,D),m.$tooltip=D,(0,d.def)(m,"tooltip",{configurable:!0,get:()=>D.innerHTML,set(O){(0,d.isStringOrNumber)(O)&&(D.innerHTML=O)}}),y){case"switch":{const O=(0,d.createElement)("div");(0,d.addClass)(O,"art-setting-item-right-icon");const F=(0,d.append)(O,w.switchOn),T=(0,d.append)(O,w.switchOff);(0,d.setStyle)(m.switch?T:F,"display","none"),(0,d.append)(j,O),m.$switch=m.switch,(0,d.def)(m,"switch",{configurable:!0,get:()=>m.$switch,set(H){m.$switch=H,H?((0,d.setStyle)(T,"display","none"),(0,d.setStyle)(F,"display",null)):((0,d.setStyle)(T,"display",null),(0,d.setStyle)(F,"display","none"))}});break}case"range":{const O=(0,d.createElement)("div");(0,d.addClass)(O,"art-setting-item-right-icon");const F=(0,d.append)(O,'<input type="range">');F.value=m.range[0]||0,F.min=m.range[1]||0,F.max=m.range[2]||10,F.step=m.range[3]||1,(0,d.addClass)(F,"art-setting-range"),(0,d.append)(j,O),m.$range=F,(0,d.def)(m,"range",{configurable:!0,get:()=>F.valueAsNumber,set(T){F.value=Number(T)}})}break;case"selector":if(m.selector&&m.selector.length){const O=(0,d.createElement)("div");(0,d.addClass)(O,"art-setting-item-right-icon"),(0,d.append)(O,w.arrowRight),(0,d.append)(j,O)}}switch(y){case"switch":if(m.onSwitch){const O=g(S,"click",async F=>{m.switch=await m.onSwitch.call(this.art,m,S,F)});this.events.push(O)}break;case"range":if(m.$range){if(m.onRange){const O=g(m.$range,"change",async F=>{m.tooltip=await m.onRange.call(this.art,m,S,F)});this.events.push(O)}if(m.onChange){const O=g(m.$range,"input",async F=>{m.tooltip=await m.onChange.call(this.art,m,S,F)});this.events.push(O)}}break;case"selector":{const O=g(S,"click",async F=>{if(m.selector&&m.selector.length)this.render(m.selector,m.width);else{(0,d.inverseClass)(S,"art-current");for(let T=0;T<m.$parentItem.selector.length;T++){const H=m.$parentItem.selector[T];H.default=H===m}if(m.$parentList&&this.render(m.$parentList),m.$parentItem&&m.$parentItem.onSelect){const T=await m.$parentItem.onSelect.call(this.art,m,S,F);m.$parentItem.$tooltip&&(0,d.isStringOrNumber)(T)&&(m.$parentItem.$tooltip.innerHTML=T)}}});this.events.push(O),m.default&&(0,d.addClass)(S,"art-current")}}return S}updateStyle(y){const{controls:m,constructor:w,template:{$player:g,$setting:k}}=this.art;if(m.setting&&!d.isMobile){const S=y||w.SETTING_WIDTH,{left:b,width:j}=m.setting.getBoundingClientRect(),{left:I,width:M}=g.getBoundingClientRect(),D=b-I+j/2-S/2;D+S>M?((0,d.setStyle)(k,"left",null),(0,d.setStyle)(k,"right",null)):((0,d.setStyle)(k,"left",`${D}px`),(0,d.setStyle)(k,"right","auto"))}}render(y,m){const{constructor:w}=this.art;if(this.cache.has(y)){const g=this.cache.get(y);(0,d.inverseClass)(g,"art-current"),(0,d.setStyle)(this.$parent,"width",`${g.dataset.width}px`),(0,d.setStyle)(this.$parent,"height",`${g.dataset.height}px`),this.updateStyle(Number(g.dataset.width))}else{const g=(0,d.createElement)("div");(0,d.addClass)(g,"art-setting-panel"),g.dataset.width=m||w.SETTING_WIDTH,g.dataset.height=y.length*w.SETTING_ITEM_HEIGHT,y[0]&&y[0].$parentItem&&((0,d.append)(g,this.creatHeader(y[0])),g.dataset.height=Number(g.dataset.height)+w.SETTING_ITEM_HEIGHT);for(let k=0;k<y.length;k++){const S=y[k];(0,d.has)(S,"switch")?(0,d.append)(g,this.creatItem("switch",S)):(0,d.has)(S,"range")?(0,d.append)(g,this.creatItem("range",S)):(0,d.append)(g,this.creatItem("selector",S))}(0,d.append)(this.$parent,g),this.cache.set(y,g),(0,d.inverseClass)(g,"art-current"),(0,d.setStyle)(this.$parent,"width",`${g.dataset.width}px`),(0,d.setStyle)(this.$parent,"height",`${g.dataset.height}px`),this.updateStyle(Number(g.dataset.width)),y[0]&&y[0].$parentItem&&y[0].$parentItem.mounted&&y[0].$parentItem.mounted.call(this.art,g,y[0].$parentItem)}}}a.default=x},{"./flip":"bNOaj","./aspectRatio":"5lAsp","./playbackRate":"e6hsR","./subtitleOffset":"fFNEr","../utils/component":"guki8","../utils/error":"2nFlF","../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],bNOaj:[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a);var e=r("../utils");a.default=function(t){const{i18n:i,icons:n,constructor:{SETTING_ITEM_WIDTH:o,FLIP:u}}=t;function c(s,l,p){l&&(l.innerText=i.get((0,e.capitalize)(p)));const f=(0,e.queryAll)(".art-setting-item",s).find(v=>v.dataset.value===p);f&&(0,e.inverseClass)(f,"art-current")}return{width:o,name:"flip",html:i.get("Video Flip"),tooltip:i.get((0,e.capitalize)(t.flip)),icon:n.flip,selector:u.map(s=>({value:s,name:`aspect-ratio-${s}`,default:s===t.flip,html:i.get((0,e.capitalize)(s))})),onSelect:s=>(t.flip=s.value,s.html),mounted:(s,l)=>{c(s,l.$tooltip,t.flip),t.on("flip",()=>{c(s,l.$tooltip,t.flip)})}}}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"5lAsp":[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a);var e=r("../utils");a.default=function(t){const{i18n:i,icons:n,constructor:{SETTING_ITEM_WIDTH:o,ASPECT_RATIO:u}}=t;function c(l){return l==="default"?i.get("Default"):l}function s(l,p,f){p&&(p.innerText=c(f));const v=(0,e.queryAll)(".art-setting-item",l).find(d=>d.dataset.value===f);v&&(0,e.inverseClass)(v,"art-current")}return{width:o,name:"aspect-ratio",html:i.get("Aspect Ratio"),icon:n.aspectRatio,tooltip:c(t.aspectRatio),selector:u.map(l=>({value:l,name:`aspect-ratio-${l}`,default:l===t.aspectRatio,html:c(l)})),onSelect:l=>(t.aspectRatio=l.value,l.html),mounted:(l,p)=>{s(l,p.$tooltip,t.aspectRatio),t.on("aspectRatio",()=>{s(l,p.$tooltip,t.aspectRatio)})}}}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],e6hsR:[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a);var e=r("../utils");a.default=function(t){const{i18n:i,icons:n,constructor:{SETTING_ITEM_WIDTH:o,PLAYBACK_RATE:u}}=t;function c(l){return l===1?i.get("Normal"):l.toFixed(1)}function s(l,p,f){p&&(p.innerText=c(f));const v=(0,e.queryAll)(".art-setting-item",l).find(d=>Number(d.dataset.value)===f);v&&(0,e.inverseClass)(v,"art-current")}return{width:o,name:"playback-rate",html:i.get("Play Speed"),tooltip:c(t.playbackRate),icon:n.playbackRate,selector:u.map(l=>({value:l,name:`aspect-ratio-${l}`,default:l===t.playbackRate,html:c(l)})),onSelect:l=>(t.playbackRate=l.value,l.html),mounted:(l,p)=>{s(l,p.$tooltip,t.playbackRate),t.on("video:ratechange",()=>{s(l,p.$tooltip,t.playbackRate)})}}}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],fFNEr:[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a),a.default=function(e){const{i18n:t,icons:i,constructor:n}=e;return{width:n.SETTING_ITEM_WIDTH,name:"subtitle-offset",html:t.get("Subtitle Offset"),icon:i.subtitle,tooltip:"0s",range:[0,-5,5,.1],onChange:o=>(e.subtitleOffset=o.range,o.range+"s")}}},{"@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],f2Thp:[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a),a.default=class{constructor(){this.name="artplayer_settings",this.settings={}}get(e){try{const t=JSON.parse(window.localStorage.getItem(this.name))||{};return e?t[e]:t}catch{return e?this.settings[e]:this.settings}}set(e,t){try{const i=Object.assign({},this.get(),{[e]:t});window.localStorage.setItem(this.name,JSON.stringify(i))}catch{this.settings[e]=t}}del(e){try{const t=this.get();delete t[e],window.localStorage.setItem(this.name,JSON.stringify(t))}catch{delete this.settings[e]}}clear(){try{window.localStorage.removeItem(this.name)}catch{this.settings={}}}}},{"@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"96ThS":[function(r,h,a){var e=r("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(a);var t=r("../utils"),i=r("./miniProgressBar"),n=e.interopDefault(i),o=r("./autoOrientation"),u=e.interopDefault(o),c=r("./autoPlayback"),s=e.interopDefault(c),l=r("./fastForward"),p=e.interopDefault(l),f=r("./lock"),v=e.interopDefault(f);a.default=class{constructor(d){this.art=d,this.id=0;const{option:x}=d;x.miniProgressBar&&!x.isLive&&this.add(n.default),x.lock&&t.isMobile&&this.add(v.default),x.autoPlayback&&!x.isLive&&this.add(s.default),x.autoOrientation&&t.isMobile&&this.add(u.default),x.fastForward&&t.isMobile&&!x.isLive&&this.add(p.default);for(let $=0;$<x.plugins.length;$++)this.add(x.plugins[$])}add(d){this.id+=1;const x=d.call(this.art,this.art);return x instanceof Promise?x.then($=>this.next(d,$)):this.next(d,x)}next(d,x){const $=x&&x.name||d.name||`plugin${this.id}`;return(0,t.errorHandle)(!(0,t.has)(this,$),`Cannot add a plugin that already has the same name: ${$}`),(0,t.def)(this,$,{value:x}),this}}},{"../utils":"h3rH9","./miniProgressBar":"iBx4M","./autoOrientation":"2O9qO","./autoPlayback":"iiOc1","./fastForward":"d9NUE","./lock":"5dnKh","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],iBx4M:[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a);var e=r("../utils");a.default=function(t){return t.on("control",i=>{i?(0,e.removeClass)(t.template.$player,"art-mini-progress-bar"):(0,e.addClass)(t.template.$player,"art-mini-progress-bar")}),{name:"mini-progress-bar"}}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"2O9qO":[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a);var e=r("../utils");a.default=function(t){const{constructor:i,template:{$player:n,$video:o}}=t;return t.on("fullscreenWeb",u=>{if(u){const{videoWidth:c,videoHeight:s}=o,{clientWidth:l,clientHeight:p}=document.documentElement;(c>s&&l<p||c<s&&l>p)&&setTimeout(()=>{(0,e.setStyle)(n,"width",`${p}px`),(0,e.setStyle)(n,"height",`${l}px`),(0,e.setStyle)(n,"transform-origin","0 0"),(0,e.setStyle)(n,"transform",`rotate(90deg) translate(0, -${l}px)`),(0,e.addClass)(n,"art-auto-orientation"),t.isRotate=!0,t.emit("resize")},i.AUTO_ORIENTATION_TIME)}else(0,e.hasClass)(n,"art-auto-orientation")&&((0,e.removeClass)(n,"art-auto-orientation"),t.isRotate=!1,t.emit("resize"))}),t.on("fullscreen",async u=>{const c=screen.orientation.type;if(u){const{videoWidth:s,videoHeight:l}=o,{clientWidth:p,clientHeight:f}=document.documentElement;if(s>l&&p<f||s<l&&p>f){const v=c.startsWith("portrait")?"landscape":"portrait";await screen.orientation.lock(v),(0,e.addClass)(n,"art-auto-orientation-fullscreen")}}else(0,e.hasClass)(n,"art-auto-orientation-fullscreen")&&(await screen.orientation.lock(c),(0,e.removeClass)(n,"art-auto-orientation-fullscreen"))}),{name:"autoOrientation",get state(){return(0,e.hasClass)(n,"art-auto-orientation")}}}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],iiOc1:[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a);var e=r("../utils");a.default=function(t){const{i18n:i,icons:n,storage:o,constructor:u,proxy:c,template:{$poster:s}}=t,l=t.layers.add({name:"auto-playback",html:'<div class="art-auto-playback-close"></div><div class="art-auto-playback-last"></div><div class="art-auto-playback-jump"></div>'}),p=(0,e.query)(".art-auto-playback-last",l),f=(0,e.query)(".art-auto-playback-jump",l),v=(0,e.query)(".art-auto-playback-close",l);return t.on("video:timeupdate",()=>{if(t.playing){const d=o.get("times")||{},x=Object.keys(d);x.length>u.AUTO_PLAYBACK_MAX&&delete d[x[0]],d[t.option.id||t.option.url]=t.currentTime,o.set("times",d)}}),t.on("ready",()=>{const d=(o.get("times")||{})[t.option.id||t.option.url];d&&d>=u.AUTO_PLAYBACK_MIN&&((0,e.append)(v,n.close),(0,e.setStyle)(l,"display","flex"),p.innerText=`${i.get("Last Seen")} ${(0,e.secondToTime)(d)}`,f.innerText=i.get("Jump Play"),c(v,"click",()=>{(0,e.setStyle)(l,"display","none")}),c(f,"click",()=>{t.seek=d,t.play(),(0,e.setStyle)(s,"display","none"),(0,e.setStyle)(l,"display","none")}),t.once("video:timeupdate",()=>{setTimeout(()=>{(0,e.setStyle)(l,"display","none")},u.AUTO_PLAYBACK_TIMEOUT)}))}),{name:"auto-playback",get times(){return o.get("times")||{}},clear:()=>o.del("times"),delete(d){const x=o.get("times")||{};return delete x[d],o.set("times",x),x}}}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],d9NUE:[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a);var e=r("../utils");a.default=function(t){const{constructor:i,proxy:n,template:{$player:o,$video:u}}=t;let c=null,s=!1,l=1;const p=()=>{clearTimeout(c),s&&(s=!1,t.playbackRate=l,(0,e.removeClass)(o,"art-fast-forward"))};return n(u,"touchstart",f=>{f.touches.length===1&&t.playing&&!t.isLock&&(c=setTimeout(()=>{s=!0,l=t.playbackRate,t.playbackRate=i.FAST_FORWARD_VALUE,(0,e.addClass)(o,"art-fast-forward")},i.FAST_FORWARD_TIME))}),n(document,"touchmove",p),n(document,"touchend",p),{name:"fastForward",get state(){return(0,e.hasClass)(o,"art-fast-forward")}}}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"5dnKh":[function(r,h,a){r("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(a);var e=r("../utils");a.default=function(t){const{layers:i,icons:n,template:{$player:o}}=t;return i.add({name:"lock",mounted(u){const c=(0,e.append)(u,n.lock),s=(0,e.append)(u,n.unlock);(0,e.setStyle)(c,"display","none"),t.on("lock",l=>{l?((0,e.setStyle)(c,"display","inline-flex"),(0,e.setStyle)(s,"display","none")):((0,e.setStyle)(c,"display","none"),(0,e.setStyle)(s,"display","inline-flex"))})},click(){(0,e.hasClass)(o,"art-lock")?((0,e.removeClass)(o,"art-lock"),this.isLock=!1,t.emit("lock",!1)):((0,e.addClass)(o,"art-lock"),this.isLock=!0,t.emit("lock",!0))}}),{name:"lock",get state(){return(0,e.hasClass)(o,"art-lock")}}}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}]},["abjMI"],"abjMI","parcelRequireb749")})(le,le.exports);var he=le.exports;const Te=Se(he),Oe=Ie({__proto__:null,default:Te},[he]);export{Oe as a};
diff --git a/assets/artplayer-DnixxQIM.js b/assets/artplayer-DnixxQIM.js
new file mode 100644
index 0000000..e6703ee
--- /dev/null
+++ b/assets/artplayer-DnixxQIM.js
@@ -0,0 +1,18 @@
+import{g as It,c as dt}from"./commonjsHelpers-Cpj98o6Y.js";function St(P,ct){for(var a=0;a<ct.length;a++){const m=ct[a];if(typeof m!="string"&&!Array.isArray(m)){for(const o in m)if(o!=="default"&&!(o in P)){const e=Object.getOwnPropertyDescriptor(m,o);e&&Object.defineProperty(P,o,e.get?e:{enumerable:!0,get:()=>m[o]})}}}return Object.freeze(Object.defineProperty(P,Symbol.toStringTag,{value:"Module"}))}function ft(P){throw new Error('Could not dynamically require "'+P+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var lt={exports:{}};lt.exports;(function(P,ct){/*!
+ * artplayer.js v5.1.6
+ * Github: https://github.com/zhw2590582/ArtPlayer
+ * (c) 2017-2024 Harvey Zack
+ * Released under the MIT License.
+ */(function(a,m,o,e,t){var p=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof dt<"u"?dt:{},r=typeof p[e]=="function"&&p[e],i=r.cache||{},n=typeof ft=="function"&&ft.bind(P);function l(u,f){if(!i[u]){if(!a[u]){var h=typeof p[e]=="function"&&p[e];if(!f&&h)return h(u,!0);if(r)return r(u,!0);if(n&&typeof u=="string")return n(u);var d=Error("Cannot find module '"+u+"'");throw d.code="MODULE_NOT_FOUND",d}j.resolve=function(v){var g=a[u][1][v];return g??v},j.cache={};var b=i[u]=new l.Module(u);a[u][0].call(b.exports,j,b,b.exports,this)}return i[u].exports;function j(v){var g=j.resolve(v);return g===!1?{}:l(g)}}l.isParcelRequire=!0,l.Module=function(u){this.id=u,this.bundle=l,this.exports={}},l.modules=a,l.cache=i,l.parent=r,l.register=function(u,f){a[u]=[function(h,d){d.exports=f},{}]},Object.defineProperty(l,"root",{get:function(){return p[e]}}),p[e]=l;for(var c=0;c<m.length;c++)l(m[c]);{var s=l(o);P.exports=s}})({abjMI:[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o);var t=a("bundle-text:./style/index.less"),p=e.interopDefault(t),r=a("option-validator"),i=e.interopDefault(r),n=a("./utils/emitter"),l=e.interopDefault(n),c=a("./utils"),s=a("./scheme"),u=e.interopDefault(s),f=a("./config"),h=e.interopDefault(f),d=a("./template"),b=e.interopDefault(d),j=a("./i18n"),v=e.interopDefault(j),g=a("./player"),$=e.interopDefault(g),y=a("./control"),k=e.interopDefault(y),x=a("./contextmenu"),T=e.interopDefault(x),O=a("./info"),w=e.interopDefault(O),I=a("./subtitle"),S=e.interopDefault(I),M=a("./events"),C=e.interopDefault(M),E=a("./hotkey"),D=e.interopDefault(E),B=a("./layer"),R=e.interopDefault(B),A=a("./loading"),V=e.interopDefault(A),W=a("./notice"),U=e.interopDefault(W),Y=a("./mask"),K=e.interopDefault(Y),X=a("./icons"),G=e.interopDefault(X),J=a("./setting"),Q=e.interopDefault(J),tt=a("./storage"),et=e.interopDefault(tt),rt=a("./plugins"),at=e.interopDefault(rt);let ot=0,N=[];class F extends l.default{constructor(z,Z){super(),this.id=++ot;let q=c.mergeDeep(F.option,z);if(q.container=z.container,this.option=(0,i.default)(q,u.default),this.isLock=!1,this.isReady=!1,this.isFocus=!1,this.isInput=!1,this.isRotate=!1,this.isDestroy=!1,this.template=new b.default(this),this.events=new C.default(this),this.storage=new et.default(this),this.icons=new G.default(this),this.i18n=new v.default(this),this.notice=new U.default(this),this.player=new $.default(this),this.layers=new R.default(this),this.controls=new k.default(this),this.contextmenu=new T.default(this),this.subtitle=new S.default(this),this.info=new w.default(this),this.loading=new V.default(this),this.hotkey=new D.default(this),this.mask=new K.default(this),this.setting=new Q.default(this),this.plugins=new at.default(this),typeof Z=="function"&&this.on("ready",()=>Z.call(this,this)),F.DEBUG){let _=L=>console.log(`[ART.${this.id}] -> ${L}`);_("Version@"+F.version),_("Env@"+F.env),_("Build@"+F.build);for(let L=0;L<h.default.events.length;L++)this.on("video:"+h.default.events[L],it=>_("Event@"+it.type))}N.push(this)}static get instances(){return N}static get version(){return"5.1.6"}static get env(){return"production"}static get build(){return"2024-06-15 19:54:25"}static get config(){return h.default}static get utils(){return c}static get scheme(){return u.default}static get Emitter(){return l.default}static get validator(){return i.default}static get kindOf(){return i.default.kindOf}static get html(){return b.default.html}static get option(){return{id:"",container:"#artplayer",url:"",poster:"",type:"",theme:"#f00",volume:.7,isLive:!1,muted:!1,autoplay:!1,autoSize:!1,autoMini:!1,loop:!1,flip:!1,playbackRate:!1,aspectRatio:!1,screenshot:!1,setting:!1,hotkey:!0,pip:!1,mutex:!0,backdrop:!0,fullscreen:!1,fullscreenWeb:!1,subtitleOffset:!1,miniProgressBar:!1,useSSR:!1,playsInline:!0,lock:!1,fastForward:!1,autoPlayback:!1,autoOrientation:!1,airplay:!1,layers:[],contextmenu:[],controls:[],settings:[],quality:[],highlight:[],plugins:[],thumbnails:{url:"",number:60,column:10,width:0,height:0},subtitle:{url:"",type:"",style:{},name:"",escape:!0,encoding:"utf-8",onVttLoad:z=>z},moreVideoAttr:{controls:!1,preload:c.isSafari?"auto":"metadata"},i18n:{},icons:{},cssVar:{},customType:{},lang:navigator.language.toLowerCase()}}get proxy(){return this.events.proxy}get query(){return this.template.query}get video(){return this.template.$video}destroy(z=!0){this.events.destroy(),this.template.destroy(z),N.splice(N.indexOf(this),1),this.isDestroy=!0,this.emit("destroy")}}o.default=F,F.DEBUG=!1,F.CONTEXTMENU=!0,F.NOTICE_TIME=2e3,F.SETTING_WIDTH=250,F.SETTING_ITEM_WIDTH=200,F.SETTING_ITEM_HEIGHT=35,F.RESIZE_TIME=200,F.SCROLL_TIME=200,F.SCROLL_GAP=50,F.AUTO_PLAYBACK_MAX=10,F.AUTO_PLAYBACK_MIN=5,F.AUTO_PLAYBACK_TIMEOUT=3e3,F.RECONNECT_TIME_MAX=5,F.RECONNECT_SLEEP_TIME=1e3,F.CONTROL_HIDE_TIME=3e3,F.DBCLICK_TIME=300,F.DBCLICK_FULLSCREEN=!0,F.MOBILE_DBCLICK_PLAY=!0,F.MOBILE_CLICK_PLAY=!1,F.AUTO_ORIENTATION_TIME=200,F.INFO_LOOP_TIME=1e3,F.FAST_FORWARD_VALUE=3,F.FAST_FORWARD_TIME=1e3,F.TOUCH_MOVE_RATIO=.5,F.VOLUME_STEP=.1,F.SEEK_STEP=5,F.PLAYBACK_RATE=[.5,.75,1,1.25,1.5,2],F.ASPECT_RATIO=["default","4:3","16:9"],F.FLIP=["normal","horizontal","vertical"],F.FULLSCREEN_WEB_IN_BODY=!1,F.LOG_VERSION=!0,F.USE_RAF=!1,c.isBrowser&&(window.Artplayer=F,c.setStyleText("artplayer-style",p.default),setTimeout(()=>{F.LOG_VERSION&&console.log(`%c ArtPlayer %c ${F.version} %c https://artplayer.org`,"color: #fff; background: #5f5f5f","color: #fff; background: #4bc729","")},100))},{"bundle-text:./style/index.less":"kfOe8","option-validator":"9I0i9","./utils/emitter":"2bGVu","./utils":"h3rH9","./scheme":"AdvwB","./config":"9Xmqu","./template":"2gKYH","./i18n":"1AdeF","./player":"556MW","./control":"14IBq","./contextmenu":"7iUum","./info":"hD2Lg","./subtitle":"lum0D","./events":"1Epl5","./hotkey":"eTow4","./layer":"4fDoD","./loading":"fE0Sp","./notice":"9PuGy","./mask":"2etr0","./icons":"6dYSr","./setting":"bRHiA","./storage":"f2Thp","./plugins":"96ThS","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],kfOe8:[function(a,m,o){m.exports='.art-video-player{--art-theme:red;--art-font-color:#fff;--art-background-color:#000;--art-text-shadow-color:#00000080;--art-transition-duration:.2s;--art-padding:10px;--art-border-radius:3px;--art-progress-height:6px;--art-progress-color:#ffffff40;--art-hover-color:#ffffff40;--art-loaded-color:#ffffff40;--art-state-size:80px;--art-state-opacity:.8;--art-bottom-height:100px;--art-bottom-offset:20px;--art-bottom-gap:5px;--art-highlight-width:8px;--art-highlight-color:#ffffff80;--art-control-height:46px;--art-control-opacity:.75;--art-control-icon-size:36px;--art-control-icon-scale:1.1;--art-volume-height:120px;--art-volume-handle-size:14px;--art-lock-size:36px;--art-indicator-scale:0;--art-indicator-size:16px;--art-fullscreen-web-index:9999;--art-settings-icon-size:24px;--art-settings-max-height:300px;--art-selector-max-height:300px;--art-contextmenus-min-width:250px;--art-subtitle-font-size:20px;--art-subtitle-gap:5px;--art-subtitle-bottom:15px;--art-subtitle-border:#000;--art-widget-background:#000000d9;--art-tip-background:#000000b3;--art-scrollbar-size:4px;--art-scrollbar-background:#ffffff40;--art-scrollbar-background-hover:#ffffff80;--art-mini-progress-height:2px}.art-bg-cover{background-position:50%;background-repeat:no-repeat;background-size:cover}.art-bottom-gradient{background-image:linear-gradient(#0000,#0006,#000);background-position:bottom;background-repeat:repeat-x}.art-backdrop-filter{backdrop-filter:saturate(180%)blur(20px);background-color:#000000bf!important}.art-truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.art-video-player{zoom:1;text-align:left;user-select:none;box-sizing:border-box;color:var(--art-font-color);background-color:var(--art-background-color);text-shadow:0 0 2px var(--art-text-shadow-color);-webkit-tap-highlight-color:#0000;-ms-touch-action:manipulation;touch-action:manipulation;-ms-high-contrast-adjust:none;direction:ltr;outline:0;width:100%;height:100%;margin:0 auto;padding:0;font-family:PingFang SC,Helvetica Neue,Microsoft YaHei,Roboto,Arial,sans-serif;font-size:14px;line-height:1.3;position:relative}.art-video-player *,.art-video-player :before,.art-video-player :after{box-sizing:border-box}.art-video-player ::-webkit-scrollbar{width:var(--art-scrollbar-size);height:var(--art-scrollbar-size)}.art-video-player ::-webkit-scrollbar-thumb{background-color:var(--art-scrollbar-background)}.art-video-player ::-webkit-scrollbar-thumb:hover{background-color:var(--art-scrollbar-background-hover)}.art-video-player img{vertical-align:top;max-width:100%}.art-video-player svg{fill:var(--art-font-color)}.art-video-player a{color:var(--art-font-color);text-decoration:none}.art-icon{justify-content:center;align-items:center;line-height:1;display:flex}.art-video-player.art-backdrop .art-contextmenus,.art-video-player.art-backdrop .art-info,.art-video-player.art-backdrop .art-settings,.art-video-player.art-backdrop .art-layer-auto-playback,.art-video-player.art-backdrop .art-selector-list,.art-video-player.art-backdrop .art-volume-inner{backdrop-filter:saturate(180%)blur(20px);background-color:#000000bf!important}.art-video{z-index:10;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.art-poster{z-index:11;pointer-events:none;background-position:50%;background-repeat:no-repeat;background-size:cover;width:100%;height:100%;position:absolute;inset:0}.art-video-player .art-subtitle{z-index:20;text-align:center;pointer-events:none;justify-content:center;align-items:center;gap:var(--art-subtitle-gap);bottom:var(--art-subtitle-bottom);font-size:var(--art-subtitle-font-size);transition:bottom var(--art-transition-duration)ease;text-shadow:var(--art-subtitle-border)1px 0 1px,var(--art-subtitle-border)0 1px 1px,var(--art-subtitle-border)-1px 0 1px,var(--art-subtitle-border)0 -1px 1px,var(--art-subtitle-border)1px 1px 1px,var(--art-subtitle-border)-1px -1px 1px,var(--art-subtitle-border)1px -1px 1px,var(--art-subtitle-border)-1px 1px 1px;flex-direction:column;width:100%;padding:0 5%;display:none;position:absolute}.art-video-player.art-subtitle-show .art-subtitle{display:flex}.art-video-player.art-control-show .art-subtitle{bottom:calc(var(--art-control-height) + var(--art-subtitle-bottom))}.art-danmuku{z-index:30;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.art-video-player .art-layers{z-index:40;pointer-events:none;width:100%;height:100%;display:none;position:absolute;inset:0}.art-video-player .art-layers .art-layer{pointer-events:auto}.art-video-player.art-layer-show .art-layers{display:flex}.art-video-player .art-mask{z-index:50;pointer-events:none;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;inset:0}.art-video-player .art-mask .art-state{opacity:0;width:var(--art-state-size);height:var(--art-state-size);transition:all var(--art-transition-duration)ease;justify-content:center;align-items:center;display:flex;transform:scale(2)}.art-video-player.art-mask-show .art-state{cursor:pointer;pointer-events:auto;opacity:var(--art-state-opacity);transform:scale(1)}.art-video-player.art-loading-show .art-state{display:none}.art-video-player .art-loading{z-index:70;pointer-events:none;justify-content:center;align-items:center;width:100%;height:100%;display:none;position:absolute;inset:0}.art-video-player.art-loading-show .art-loading{display:flex}.art-video-player .art-bottom{z-index:60;opacity:0;pointer-events:none;padding:0 var(--art-padding);transition:all var(--art-transition-duration)ease;background-size:100% var(--art-bottom-height);background-image:linear-gradient(#0000,#0006,#000);background-position:bottom;background-repeat:repeat-x;flex-direction:column;justify-content:flex-end;width:100%;height:100%;display:flex;position:absolute;inset:0;overflow:hidden}.art-video-player .art-bottom .art-controls,.art-video-player .art-bottom .art-progress{transform:translateY(var(--art-bottom-offset));transition:transform var(--art-transition-duration)ease}.art-video-player.art-control-show .art-bottom,.art-video-player.art-hover .art-bottom{opacity:1}.art-video-player.art-control-show .art-bottom .art-controls,.art-video-player.art-hover .art-bottom .art-controls,.art-video-player.art-control-show .art-bottom .art-progress,.art-video-player.art-hover .art-bottom .art-progress{transform:translateY(0)}.art-bottom .art-progress{z-index:0;pointer-events:auto;padding-bottom:var(--art-bottom-gap);position:relative}.art-bottom .art-progress .art-control-progress{cursor:pointer;height:var(--art-progress-height);justify-content:center;align-items:center;display:flex;position:relative}.art-bottom .art-progress .art-control-progress .art-control-progress-inner{transition:height var(--art-transition-duration)ease;background-color:var(--art-progress-color);align-items:center;width:100%;height:50%;display:flex;position:relative}.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-hover{z-index:0;background-color:var(--art-hover-color);width:0%;height:100%;position:absolute;inset:0}.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-loaded{z-index:10;background-color:var(--art-loaded-color);width:0%;height:100%;position:absolute;inset:0}.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-played{z-index:20;background-color:var(--art-theme);width:0%;height:100%;position:absolute;inset:0}.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-highlight{z-index:30;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-highlight span{z-index:0;pointer-events:auto;transform:translateX(calc(var(--art-highlight-width)/-2));background-color:var(--art-highlight-color);width:100%;height:100%;position:absolute;inset:0 auto 0 0;width:var(--art-highlight-width)!important}.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-indicator{z-index:40;width:var(--art-indicator-size);height:var(--art-indicator-size);transform:scale(var(--art-indicator-scale));margin-left:calc(var(--art-indicator-size)/-2);transition:transform var(--art-transition-duration)ease;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;left:0}.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-indicator .art-icon{pointer-events:none;width:100%;height:100%}.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-indicator:hover{transform:scale(1.2)!important}.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-indicator:active{transform:scale(1)!important}.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-tip{z-index:50;border-radius:var(--art-border-radius);white-space:nowrap;background-color:var(--art-tip-background);padding:3px 5px;font-size:12px;line-height:1;display:none;position:absolute;top:-25px;left:0}.art-bottom .art-progress .art-control-progress:hover .art-control-progress-inner{height:100%}.art-bottom .art-progress .art-control-thumbnails{bottom:calc(var(--art-bottom-gap) + 10px);border-radius:var(--art-border-radius);pointer-events:none;background-color:var(--art-widget-background);display:none;position:absolute;left:0;box-shadow:0 1px 3px #0003,0 1px 2px -1px #0003}.art-bottom:hover .art-progress .art-control-progress .art-control-progress-inner .art-progress-indicator{transform:scale(1)}.art-controls{z-index:10;pointer-events:auto;height:var(--art-control-height);justify-content:space-between;align-items:center;display:flex;position:relative}.art-controls .art-controls-left,.art-controls .art-controls-right{height:100%;display:flex}.art-controls .art-controls-center{flex:1;justify-content:center;align-items:center;height:100%;padding:0 10px;display:none}.art-controls .art-controls-right{justify-content:flex-end}.art-controls .art-control{cursor:pointer;white-space:nowrap;opacity:var(--art-control-opacity);min-height:var(--art-control-height);min-width:var(--art-control-height);transition:opacity var(--art-transition-duration)ease;flex-shrink:0;justify-content:center;align-items:center;display:flex}.art-controls .art-control .art-icon{height:var(--art-control-icon-size);width:var(--art-control-icon-size);transform:scale(var(--art-control-icon-scale));transition:transform var(--art-transition-duration)ease}.art-controls .art-control .art-icon:active{transform:scale(calc(var(--art-control-icon-scale)*.8))}.art-controls .art-control:hover{opacity:1}.art-control-volume{position:relative}.art-control-volume .art-volume-panel{text-align:center;cursor:default;opacity:0;pointer-events:none;left:0;right:0;bottom:var(--art-control-height);width:var(--art-control-height);height:var(--art-volume-height);transition:all var(--art-transition-duration)ease;justify-content:center;align-items:center;padding:0 5px;font-size:12px;display:flex;position:absolute;transform:translateY(10px)}.art-control-volume .art-volume-panel .art-volume-inner{border-radius:var(--art-border-radius);background-color:var(--art-widget-background);flex-direction:column;align-items:center;gap:10px;width:100%;height:100%;padding:10px 0 12px;display:flex}.art-control-volume .art-volume-panel .art-volume-inner .art-volume-slider{cursor:pointer;flex:1;justify-content:center;width:100%;display:flex;position:relative}.art-control-volume .art-volume-panel .art-volume-inner .art-volume-slider .art-volume-handle{border-radius:var(--art-border-radius);background-color:#ffffff40;justify-content:center;width:2px;display:flex;position:relative;overflow:hidden}.art-control-volume .art-volume-panel .art-volume-inner .art-volume-slider .art-volume-handle .art-volume-loaded{z-index:0;background-color:var(--art-theme);width:100%;height:100%;position:absolute;inset:0}.art-control-volume .art-volume-panel .art-volume-inner .art-volume-slider .art-volume-indicator{width:var(--art-volume-handle-size);height:var(--art-volume-handle-size);margin-top:calc(var(--art-volume-handle-size)/-2);background-color:var(--art-theme);transition:transform var(--art-transition-duration)ease;border-radius:100%;flex-shrink:0;position:absolute;transform:scale(1)}.art-control-volume .art-volume-panel .art-volume-inner .art-volume-slider:active .art-volume-indicator{transform:scale(.9)}.art-control-volume:hover .art-volume-panel{opacity:1;pointer-events:auto;transform:translateY(0)}.art-video-player .art-notice{z-index:80;padding:var(--art-padding);pointer-events:none;width:100%;height:auto;display:none;position:absolute;inset:0 0 auto}.art-video-player .art-notice .art-notice-inner{border-radius:var(--art-border-radius);background-color:var(--art-tip-background);padding:5px;line-height:1;display:inline-flex}.art-video-player.art-notice-show .art-notice{display:flex}.art-video-player .art-contextmenus{z-index:120;border-radius:var(--art-border-radius);background-color:var(--art-widget-background);min-width:var(--art-contextmenus-min-width);flex-direction:column;padding:5px 0;font-size:12px;display:none;position:absolute}.art-video-player .art-contextmenus .art-contextmenu{cursor:pointer;border-bottom:1px solid #ffffff1a;padding:10px 15px;display:flex}.art-video-player .art-contextmenus .art-contextmenu span{padding:0 8px}.art-video-player .art-contextmenus .art-contextmenu span:hover,.art-video-player .art-contextmenus .art-contextmenu span.art-current{color:var(--art-theme)}.art-video-player .art-contextmenus .art-contextmenu:hover{background-color:#ffffff1a}.art-video-player .art-contextmenus .art-contextmenu:last-child{border-bottom:none}.art-video-player.art-contextmenu-show .art-contextmenus{display:flex}.art-video-player .art-settings{z-index:90;border-radius:var(--art-border-radius);transform-origin:100% 100%;max-height:var(--art-settings-max-height);left:auto;right:var(--art-padding);bottom:var(--art-control-height);transform:scale(var(--art-settings-scale));transition:all var(--art-transition-duration)ease;background-color:var(--art-widget-background);flex-direction:column;display:none;position:absolute;overflow:hidden auto}.art-video-player .art-settings .art-setting-panel{flex-direction:column;display:none}.art-video-player .art-settings .art-setting-panel.art-current{display:flex}.art-video-player .art-settings .art-setting-panel .art-setting-item{cursor:pointer;transition:background-color var(--art-transition-duration)ease;justify-content:space-between;align-items:center;padding:0 5px;display:flex;overflow:hidden}.art-video-player .art-settings .art-setting-panel .art-setting-item:hover{background-color:#ffffff1a}.art-video-player .art-settings .art-setting-panel .art-setting-item.art-current{color:var(--art-theme)}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-icon-check{visibility:hidden;height:15px}.art-video-player .art-settings .art-setting-panel .art-setting-item.art-current .art-icon-check{visibility:visible}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-left{justify-content:center;align-items:center;gap:5px;display:flex}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-left .art-setting-item-left-icon{height:var(--art-settings-icon-size);width:var(--art-settings-icon-size);justify-content:center;align-items:center;display:flex}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-right{justify-content:center;align-items:center;gap:5px;font-size:12px;display:flex}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-right .art-setting-item-right-tooltip{white-space:nowrap;color:#ffffff80}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-right .art-setting-item-right-icon{justify-content:center;align-items:center;min-width:32px;height:24px;display:flex}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-right .art-setting-range{appearance:none;background-color:#fff3;outline:none;width:80px;height:3px}.art-video-player .art-settings .art-setting-panel .art-setting-item-back{border-bottom:1px solid #ffffff1a}.art-video-player.art-setting-show .art-settings{display:flex}.art-video-player .art-info{left:var(--art-padding);top:var(--art-padding);z-index:100;border-radius:var(--art-border-radius);background-color:var(--art-widget-background);padding:10px;font-size:12px;display:none;position:absolute}.art-video-player .art-info .art-info-panel{flex-direction:column;gap:5px;display:flex}.art-video-player .art-info .art-info-panel .art-info-item{align-items:center;gap:5px;display:flex}.art-video-player .art-info .art-info-panel .art-info-item .art-info-title{text-align:right;width:100px}.art-video-player .art-info .art-info-panel .art-info-item .art-info-content{text-overflow:ellipsis;white-space:nowrap;user-select:all;width:250px;overflow:hidden}.art-video-player .art-info .art-info-close{cursor:pointer;position:absolute;top:5px;right:5px}.art-video-player.art-info-show .art-info{display:flex}.art-hide-cursor *{cursor:none!important}.art-video-player[data-aspect-ratio]{overflow:hidden}.art-video-player[data-aspect-ratio] .art-video{object-fit:fill;box-sizing:content-box}.art-fullscreen{--art-progress-height:8px;--art-indicator-size:20px;--art-control-height:60px;--art-control-icon-scale:1.3}.art-fullscreen-web{--art-progress-height:8px;--art-indicator-size:20px;--art-control-height:60px;--art-control-icon-scale:1.3;z-index:var(--art-fullscreen-web-index);width:100%;height:100%;position:fixed;inset:0}.art-mini-popup{z-index:9999;border-radius:var(--art-border-radius);cursor:move;user-select:none;background:#000;width:320px;height:180px;transition:opacity .2s;position:fixed;overflow:hidden;box-shadow:0 0 5px #00000080}.art-mini-popup svg{fill:#fff}.art-mini-popup .art-video{pointer-events:none}.art-mini-popup .art-mini-close{z-index:20;cursor:pointer;opacity:0;transition:opacity .2s;position:absolute;top:10px;right:10px}.art-mini-popup .art-mini-state{z-index:30;pointer-events:none;opacity:0;background-color:#00000040;justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .2s;display:flex;position:absolute;inset:0}.art-mini-popup .art-mini-state .art-icon{opacity:.75;cursor:pointer;pointer-events:auto;transition:transform .2s;transform:scale(3)}.art-mini-popup .art-mini-state .art-icon:active{transform:scale(2.5)}.art-mini-popup.art-mini-droging{opacity:.9}.art-mini-popup:hover .art-mini-close,.art-mini-popup:hover .art-mini-state{opacity:1}.art-video-player[data-flip=horizontal] .art-video{transform:scaleX(-1)}.art-video-player[data-flip=vertical] .art-video{transform:scaleY(-1)}.art-video-player .art-layer-lock{height:var(--art-lock-size);width:var(--art-lock-size);top:50%;left:var(--art-padding);background-color:var(--art-tip-background);border-radius:50%;justify-content:center;align-items:center;display:none;position:absolute;transform:translateY(-50%)}.art-video-player .art-layer-auto-playback{border-radius:var(--art-border-radius);left:var(--art-padding);bottom:calc(var(--art-control-height) + var(--art-bottom-gap) + 10px);background-color:var(--art-widget-background);align-items:center;gap:10px;padding:10px;line-height:1;display:none;position:absolute}.art-video-player .art-layer-auto-playback .art-auto-playback-close{cursor:pointer;justify-content:center;align-items:center;display:flex}.art-video-player .art-layer-auto-playback .art-auto-playback-close svg{fill:var(--art-theme);width:15px;height:15px}.art-video-player .art-layer-auto-playback .art-auto-playback-jump{color:var(--art-theme);cursor:pointer}.art-video-player.art-lock .art-subtitle{bottom:var(--art-subtitle-bottom)!important}.art-video-player.art-mini-progress-bar .art-bottom,.art-video-player.art-lock .art-bottom{opacity:1;background-image:none;padding:0}.art-video-player.art-mini-progress-bar .art-bottom .art-controls,.art-video-player.art-lock .art-bottom .art-controls,.art-video-player.art-mini-progress-bar .art-bottom .art-progress,.art-video-player.art-lock .art-bottom .art-progress{transform:translateY(calc(var(--art-control-height) + var(--art-bottom-gap) + var(--art-progress-height)/4))}.art-video-player.art-mini-progress-bar .art-bottom .art-progress-indicator,.art-video-player.art-lock .art-bottom .art-progress-indicator{display:none!important}.art-video-player.art-control-show .art-layer-lock{display:flex}.art-control-selector{position:relative}.art-control-selector .art-selector-list{text-align:center;border-radius:var(--art-border-radius);opacity:0;pointer-events:none;bottom:var(--art-control-height);max-height:var(--art-selector-max-height);background-color:var(--art-widget-background);transition:all var(--art-transition-duration)ease;flex-direction:column;align-items:center;display:flex;position:absolute;overflow:hidden auto;transform:translateY(10px)}.art-control-selector .art-selector-list .art-selector-item{flex-shrink:0;justify-content:center;align-items:center;width:100%;padding:10px 15px;line-height:1;display:flex}.art-control-selector .art-selector-list .art-selector-item:hover{background-color:#ffffff1a}.art-control-selector .art-selector-list .art-selector-item:hover,.art-control-selector .art-selector-list .art-selector-item.art-current{color:var(--art-theme)}.art-control-selector:hover .art-selector-list{opacity:1;pointer-events:auto;transform:translateY(0)}[class*=hint--]{font-style:normal;display:inline-block;position:relative}[class*=hint--]:before,[class*=hint--]:after{visibility:hidden;opacity:0;z-index:1000000;pointer-events:none;transition:all .3s;position:absolute;transform:translate(0,0)}[class*=hint--]:hover:before,[class*=hint--]:hover:after{visibility:visible;opacity:1;transition-delay:.1s}[class*=hint--]:before{content:"";z-index:1000001;background:0 0;border:6px solid #0000;position:absolute}[class*=hint--]:after{color:#fff;white-space:nowrap;background:#000;padding:8px 10px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:12px;line-height:12px}[class*=hint--][aria-label]:after{content:attr(aria-label)}[class*=hint--][data-hint]:after{content:attr(data-hint)}[aria-label=""]:before,[aria-label=""]:after,[data-hint=""]:before,[data-hint=""]:after{display:none!important}.hint--top-left:before,.hint--top-right:before,.hint--top:before{border-top-color:#000}.hint--bottom-left:before,.hint--bottom-right:before,.hint--bottom:before{border-bottom-color:#000}.hint--left:before{border-left-color:#000}.hint--right:before{border-right-color:#000}.hint--top:before{margin-bottom:-11px}.hint--top:before,.hint--top:after{bottom:100%;left:50%}.hint--top:before{left:calc(50% - 6px)}.hint--top:after{transform:translate(-50%)}.hint--top:hover:before{transform:translateY(-8px)}.hint--top:hover:after{transform:translate(-50%)translateY(-8px)}.hint--bottom:before{margin-top:-11px}.hint--bottom:before,.hint--bottom:after{top:100%;left:50%}.hint--bottom:before{left:calc(50% - 6px)}.hint--bottom:after{transform:translate(-50%)}.hint--bottom:hover:before{transform:translateY(8px)}.hint--bottom:hover:after{transform:translate(-50%)translateY(8px)}.hint--right:before{margin-bottom:-6px;margin-left:-11px}.hint--right:after{margin-bottom:-14px}.hint--right:before,.hint--right:after{bottom:50%;left:100%}.hint--right:hover:before,.hint--right:hover:after{transform:translate(8px)}.hint--left:before{margin-bottom:-6px;margin-right:-11px}.hint--left:after{margin-bottom:-14px}.hint--left:before,.hint--left:after{bottom:50%;right:100%}.hint--left:hover:before,.hint--left:hover:after{transform:translate(-8px)}.hint--top-left:before{margin-bottom:-11px}.hint--top-left:before,.hint--top-left:after{bottom:100%;left:50%}.hint--top-left:before{left:calc(50% - 6px)}.hint--top-left:after{margin-left:12px;transform:translate(-100%)}.hint--top-left:hover:before{transform:translateY(-8px)}.hint--top-left:hover:after{transform:translate(-100%)translateY(-8px)}.hint--top-right:before{margin-bottom:-11px}.hint--top-right:before,.hint--top-right:after{bottom:100%;left:50%}.hint--top-right:before{left:calc(50% - 6px)}.hint--top-right:after{margin-left:-12px;transform:translate(0)}.hint--top-right:hover:before,.hint--top-right:hover:after{transform:translateY(-8px)}.hint--bottom-left:before{margin-top:-11px}.hint--bottom-left:before,.hint--bottom-left:after{top:100%;left:50%}.hint--bottom-left:before{left:calc(50% - 6px)}.hint--bottom-left:after{margin-left:12px;transform:translate(-100%)}.hint--bottom-left:hover:before{transform:translateY(8px)}.hint--bottom-left:hover:after{transform:translate(-100%)translateY(8px)}.hint--bottom-right:before{margin-top:-11px}.hint--bottom-right:before,.hint--bottom-right:after{top:100%;left:50%}.hint--bottom-right:before{left:calc(50% - 6px)}.hint--bottom-right:after{margin-left:-12px;transform:translate(0)}.hint--bottom-right:hover:before,.hint--bottom-right:hover:after{transform:translateY(8px)}.hint--small:after,.hint--medium:after,.hint--large:after{white-space:normal;word-wrap:break-word;line-height:1.4em}.hint--small:after{width:80px}.hint--medium:after{width:150px}.hint--large:after{width:300px}[class*=hint--]:after{text-shadow:0 -1px #000;box-shadow:4px 4px 8px #0000004d}.hint--error:after{text-shadow:0 -1px #592726;background-color:#b34e4d}.hint--error.hint--top-left:before,.hint--error.hint--top-right:before,.hint--error.hint--top:before{border-top-color:#b34e4d}.hint--error.hint--bottom-left:before,.hint--error.hint--bottom-right:before,.hint--error.hint--bottom:before{border-bottom-color:#b34e4d}.hint--error.hint--left:before{border-left-color:#b34e4d}.hint--error.hint--right:before{border-right-color:#b34e4d}.hint--warning:after{text-shadow:0 -1px #6c5328;background-color:#c09854}.hint--warning.hint--top-left:before,.hint--warning.hint--top-right:before,.hint--warning.hint--top:before{border-top-color:#c09854}.hint--warning.hint--bottom-left:before,.hint--warning.hint--bottom-right:before,.hint--warning.hint--bottom:before{border-bottom-color:#c09854}.hint--warning.hint--left:before{border-left-color:#c09854}.hint--warning.hint--right:before{border-right-color:#c09854}.hint--info:after{text-shadow:0 -1px #1a3c4d;background-color:#3986ac}.hint--info.hint--top-left:before,.hint--info.hint--top-right:before,.hint--info.hint--top:before{border-top-color:#3986ac}.hint--info.hint--bottom-left:before,.hint--info.hint--bottom-right:before,.hint--info.hint--bottom:before{border-bottom-color:#3986ac}.hint--info.hint--left:before{border-left-color:#3986ac}.hint--info.hint--right:before{border-right-color:#3986ac}.hint--success:after{text-shadow:0 -1px #1a321a;background-color:#458746}.hint--success.hint--top-left:before,.hint--success.hint--top-right:before,.hint--success.hint--top:before{border-top-color:#458746}.hint--success.hint--bottom-left:before,.hint--success.hint--bottom-right:before,.hint--success.hint--bottom:before{border-bottom-color:#458746}.hint--success.hint--left:before{border-left-color:#458746}.hint--success.hint--right:before{border-right-color:#458746}.hint--always:after,.hint--always:before{opacity:1;visibility:visible}.hint--always.hint--top:before{transform:translateY(-8px)}.hint--always.hint--top:after{transform:translate(-50%)translateY(-8px)}.hint--always.hint--top-left:before{transform:translateY(-8px)}.hint--always.hint--top-left:after{transform:translate(-100%)translateY(-8px)}.hint--always.hint--top-right:before,.hint--always.hint--top-right:after{transform:translateY(-8px)}.hint--always.hint--bottom:before{transform:translateY(8px)}.hint--always.hint--bottom:after{transform:translate(-50%)translateY(8px)}.hint--always.hint--bottom-left:before{transform:translateY(8px)}.hint--always.hint--bottom-left:after{transform:translate(-100%)translateY(8px)}.hint--always.hint--bottom-right:before,.hint--always.hint--bottom-right:after{transform:translateY(8px)}.hint--always.hint--left:before,.hint--always.hint--left:after{transform:translate(-8px)}.hint--always.hint--right:before,.hint--always.hint--right:after{transform:translate(8px)}.hint--rounded:after{border-radius:4px}.hint--no-animate:before,.hint--no-animate:after{transition-duration:0s}.hint--bounce:before,.hint--bounce:after{-webkit-transition:opacity .3s,visibility .3s,-webkit-transform .3s cubic-bezier(.71,1.7,.77,1.24);-moz-transition:opacity .3s,visibility .3s,-moz-transform .3s cubic-bezier(.71,1.7,.77,1.24);transition:opacity .3s,visibility .3s,transform .3s cubic-bezier(.71,1.7,.77,1.24)}.hint--no-shadow:before,.hint--no-shadow:after{text-shadow:initial;box-shadow:initial}.hint--no-arrow:before{display:none}.art-video-player.art-mobile{--art-bottom-gap:10px;--art-control-height:38px;--art-control-icon-scale:1;--art-state-size:60px;--art-settings-max-height:180px;--art-selector-max-height:180px;--art-indicator-scale:1;--art-control-opacity:1}.art-video-player.art-mobile .art-controls-left{margin-left:calc(var(--art-padding)/-1)}.art-video-player.art-mobile .art-controls-right{margin-right:calc(var(--art-padding)/-1)}'},{}],"9I0i9":[function(a,m,o){var e;e=function(){function t(s){return(t=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(u){return typeof u}:function(u){return u&&typeof Symbol=="function"&&u.constructor===Symbol&&u!==Symbol.prototype?"symbol":typeof u})(s)}var p=Object.prototype.toString,r=function(s){if(s===void 0)return"undefined";if(s===null)return"null";var u=t(s);if(u==="boolean")return"boolean";if(u==="string")return"string";if(u==="number")return"number";if(u==="symbol")return"symbol";if(u==="function")return i(s)==="GeneratorFunction"?"generatorfunction":"function";if(Array.isArray?Array.isArray(s):s instanceof Array)return"array";if(s.constructor&&typeof s.constructor.isBuffer=="function"&&s.constructor.isBuffer(s))return"buffer";if(function(f){try{if(typeof f.length=="number"&&typeof f.callee=="function")return!0}catch(h){if(h.message.indexOf("callee")!==-1)return!0}return!1}(s))return"arguments";if(s instanceof Date||typeof s.toDateString=="function"&&typeof s.getDate=="function"&&typeof s.setDate=="function")return"date";if(s instanceof Error||typeof s.message=="string"&&s.constructor&&typeof s.constructor.stackTraceLimit=="number")return"error";if(s instanceof RegExp||typeof s.flags=="string"&&typeof s.ignoreCase=="boolean"&&typeof s.multiline=="boolean"&&typeof s.global=="boolean")return"regexp";switch(i(s)){case"Symbol":return"symbol";case"Promise":return"promise";case"WeakMap":return"weakmap";case"WeakSet":return"weakset";case"Map":return"map";case"Set":return"set";case"Int8Array":return"int8array";case"Uint8Array":return"uint8array";case"Uint8ClampedArray":return"uint8clampedarray";case"Int16Array":return"int16array";case"Uint16Array":return"uint16array";case"Int32Array":return"int32array";case"Uint32Array":return"uint32array";case"Float32Array":return"float32array";case"Float64Array":return"float64array"}if(typeof s.throw=="function"&&typeof s.return=="function"&&typeof s.next=="function")return"generator";switch(u=p.call(s)){case"[object Object]":return"object";case"[object Map Iterator]":return"mapiterator";case"[object Set Iterator]":return"setiterator";case"[object String Iterator]":return"stringiterator";case"[object Array Iterator]":return"arrayiterator"}return u.slice(8,-1).toLowerCase().replace(/\s/g,"")};function i(s){return s.constructor?s.constructor.name:null}function n(s,u){var f=2<arguments.length&&arguments[2]!==void 0?arguments[2]:["option"];return l(s,u,f),c(s,u,f),function(h,d,b){var j=r(d),v=r(h);if(j==="object"){if(v!=="object")throw Error("[Type Error]: '".concat(b.join("."),"' require 'object' type, but got '").concat(v,"'"));Object.keys(d).forEach(function(g){var $=h[g],y=d[g],k=b.slice();k.push(g),l($,y,k),c($,y,k),n($,y,k)})}if(j==="array"){if(v!=="array")throw Error("[Type Error]: '".concat(b.join("."),"' require 'array' type, but got '").concat(v,"'"));h.forEach(function(g,$){var y=h[$],k=d[$]||d[0],x=b.slice();x.push($),l(y,k,x),c(y,k,x),n(y,k,x)})}}(s,u,f),s}function l(s,u,f){if(r(u)==="string"){var h=r(s);if(u[0]==="?"&&(u=u.slice(1)+"|undefined"),!(-1<u.indexOf("|")?u.split("|").map(function(d){return d.toLowerCase().trim()}).filter(Boolean).some(function(d){return h===d}):u.toLowerCase().trim()===h))throw Error("[Type Error]: '".concat(f.join("."),"' require '").concat(u,"' type, but got '").concat(h,"'"))}}function c(s,u,f){if(r(u)==="function"){var h=u(s,r(s),f);if(h!==!0){var d=r(h);throw d==="string"?Error(h):d==="error"?h:Error("[Validator Error]: The scheme for '".concat(f.join("."),"' validator require return true, but got '").concat(h,"'"))}}}return n.kindOf=r,n},m.exports=e()},{}],"2bGVu":[function(a,m,o){a("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(o),o.default=class{on(e,t,p){let r=this.e||(this.e={});return(r[e]||(r[e]=[])).push({fn:t,ctx:p}),this}once(e,t,p){let r=this;function i(...n){r.off(e,i),t.apply(p,n)}return i._=t,this.on(e,i,p)}emit(e,...t){let p=((this.e||(this.e={}))[e]||[]).slice();for(let r=0;r<p.length;r+=1)p[r].fn.apply(p[r].ctx,t);return this}off(e,t){let p=this.e||(this.e={}),r=p[e],i=[];if(r&&t)for(let n=0,l=r.length;n<l;n+=1)r[n].fn!==t&&r[n].fn._!==t&&i.push(r[n]);return i.length?p[e]=i:delete p[e],this}}},{"@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],guZOB:[function(a,m,o){o.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},o.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},o.exportAll=function(e,t){return Object.keys(e).forEach(function(p){p==="default"||p==="__esModule"||Object.prototype.hasOwnProperty.call(t,p)||Object.defineProperty(t,p,{enumerable:!0,get:function(){return e[p]}})}),t},o.export=function(e,t,p){Object.defineProperty(e,t,{enumerable:!0,get:p})}},{}],h3rH9:[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o);var t=a("./dom");e.exportAll(t,o);var p=a("./error");e.exportAll(p,o);var r=a("./subtitle");e.exportAll(r,o);var i=a("./file");e.exportAll(i,o);var n=a("./property");e.exportAll(n,o);var l=a("./time");e.exportAll(l,o);var c=a("./format");e.exportAll(c,o);var s=a("./compatibility");e.exportAll(s,o)},{"./dom":"XgAQE","./error":"2nFlF","./subtitle":"yqFoT","./file":"1VRQn","./property":"3weX2","./time":"7kBIx","./format":"13atT","./compatibility":"luXC1","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],XgAQE:[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"query",()=>p),e.export(o,"queryAll",()=>r),e.export(o,"addClass",()=>i),e.export(o,"removeClass",()=>n),e.export(o,"hasClass",()=>l),e.export(o,"append",()=>c),e.export(o,"remove",()=>s),e.export(o,"setStyle",()=>u),e.export(o,"setStyles",()=>f),e.export(o,"getStyle",()=>h),e.export(o,"sublings",()=>d),e.export(o,"inverseClass",()=>b),e.export(o,"tooltip",()=>j),e.export(o,"isInViewport",()=>v),e.export(o,"includeFromEvent",()=>g),e.export(o,"replaceElement",()=>$),e.export(o,"createElement",()=>y),e.export(o,"getIcon",()=>k),e.export(o,"setStyleText",()=>x),e.export(o,"supportsFlex",()=>T),e.export(o,"getRect",()=>O);var t=a("./compatibility");function p(w,I=document){return I.querySelector(w)}function r(w,I=document){return Array.from(I.querySelectorAll(w))}function i(w,I){return w.classList.add(I)}function n(w,I){return w.classList.remove(I)}function l(w,I){return w.classList.contains(I)}function c(w,I){return I instanceof Element?w.appendChild(I):w.insertAdjacentHTML("beforeend",String(I)),w.lastElementChild||w.lastChild}function s(w){return w.parentNode.removeChild(w)}function u(w,I,S){return w.style[I]=S,w}function f(w,I){for(let S in I)u(w,S,I[S]);return w}function h(w,I,S=!0){let M=window.getComputedStyle(w,null).getPropertyValue(I);return S?parseFloat(M):M}function d(w){return Array.from(w.parentElement.children).filter(I=>I!==w)}function b(w,I){d(w).forEach(S=>n(S,I)),i(w,I)}function j(w,I,S="top"){t.isMobile||(w.setAttribute("aria-label",I),i(w,"hint--rounded"),i(w,`hint--${S}`))}function v(w,I=0){let S=w.getBoundingClientRect(),M=window.innerHeight||document.documentElement.clientHeight,C=window.innerWidth||document.documentElement.clientWidth,E=S.top-I<=M&&S.top+S.height+I>=0,D=S.left-I<=C+I&&S.left+S.width+I>=0;return E&&D}function g(w,I){return w.composedPath&&w.composedPath().indexOf(I)>-1}function $(w,I){return I.parentNode.replaceChild(w,I),w}function y(w){return document.createElement(w)}function k(w="",I=""){let S=y("i");return i(S,"art-icon"),i(S,`art-icon-${w}`),c(S,I),S}function x(w,I){let S=document.getElementById(w);if(S)S.textContent=I;else{let M=y("style");M.id=w,M.textContent=I,document.head.appendChild(M)}}function T(){let w=document.createElement("div");return w.style.display="flex",w.style.display==="flex"}function O(w){return w.getBoundingClientRect()}},{"./compatibility":"luXC1","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],luXC1:[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"userAgent",()=>t),e.export(o,"isSafari",()=>p),e.export(o,"isWechat",()=>r),e.export(o,"isIE",()=>i),e.export(o,"isAndroid",()=>n),e.export(o,"isIOS",()=>l),e.export(o,"isIOS13",()=>c),e.export(o,"isMobile",()=>s),e.export(o,"isBrowser",()=>u);let t=typeof navigator<"u"?navigator.userAgent:"",p=/^((?!chrome|android).)*safari/i.test(t),r=/MicroMessenger/i.test(t),i=/MSIE|Trident/i.test(t),n=/android/i.test(t),l=/iPad|iPhone|iPod/i.test(t)&&!window.MSStream,c=l||t.includes("Macintosh")&&navigator.maxTouchPoints>=1,s=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(t)||c,u=typeof window<"u"},{"@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"2nFlF":[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"ArtPlayerError",()=>t),e.export(o,"errorHandle",()=>p);class t extends Error{constructor(i,n){super(i),typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,n||this.constructor),this.name="ArtPlayerError"}}function p(r,i){if(!r)throw new t(i);return r}},{"@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],yqFoT:[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");function t(i){return`WEBVTT \r
+\r
+`.concat(i.replace(/(\d\d:\d\d:\d\d)[,.](\d+)/g,(n,l,c)=>{let s=c.slice(0,3);return c.length===1&&(s=c+"00"),c.length===2&&(s=c+"0"),`${l},${s}`}).replace(/\{\\([ibu])\}/g,"</$1>").replace(/\{\\([ibu])1\}/g,"<$1>").replace(/\{([ibu])\}/g,"<$1>").replace(/\{\/([ibu])\}/g,"</$1>").replace(/(\d\d:\d\d:\d\d),(\d\d\d)/g,"$1.$2").replace(/{[\s\S]*?}/g,"").concat(`\r
+\r
+`))}function p(i){return URL.createObjectURL(new Blob([i],{type:"text/vtt"}))}function r(i){let n=RegExp("Dialogue:\\s\\d,(\\d+:\\d\\d:\\d\\d.\\d\\d),(\\d+:\\d\\d:\\d\\d.\\d\\d),([^,]*),([^,]*),(?:[^,]*,){4}([\\s\\S]*)$","i");function l(c=""){return c.split(/[:.]/).map((s,u,f)=>{if(u===f.length-1){if(s.length===1)return`.${s}00`;if(s.length===2)return`.${s}0`}else if(s.length===1)return(u===0?"0":":0")+s;return u===0?s:u===f.length-1?`.${s}`:`:${s}`}).join("")}return`WEBVTT
+
+`+i.split(/\r?\n/).map(c=>{let s=c.match(n);return s?{start:l(s[1].trim()),end:l(s[2].trim()),text:s[5].replace(/{[\s\S]*?}/g,"").replace(/(\\N)/g,`
+`).trim().split(/\r?\n/).map(u=>u.trim()).join(`
+`)}:null}).filter(c=>c).map((c,s)=>c?s+1+`
+${c.start} --> ${c.end}
+${c.text}`:"").filter(c=>c.trim()).join(`
+
+`)}e.defineInteropFlag(o),e.export(o,"srtToVtt",()=>t),e.export(o,"vttToBlob",()=>p),e.export(o,"assToVtt",()=>r)},{"@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"1VRQn":[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");function t(p,r){let i=document.createElement("a");i.style.display="none",i.href=p,i.download=r,document.body.appendChild(i),i.click(),document.body.removeChild(i)}e.defineInteropFlag(o),e.export(o,"getExt",()=>function p(r){return r.includes("?")?p(r.split("?")[0]):r.includes("#")?p(r.split("#")[0]):r.trim().toLowerCase().split(".").pop()}),e.export(o,"download",()=>t)},{"@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"3weX2":[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"def",()=>t),e.export(o,"has",()=>r),e.export(o,"get",()=>i),e.export(o,"mergeDeep",()=>function n(...l){let c=s=>s&&typeof s=="object"&&!Array.isArray(s);return l.reduce((s,u)=>(Object.keys(u).forEach(f=>{let h=s[f],d=u[f];Array.isArray(h)&&Array.isArray(d)?s[f]=h.concat(...d):c(h)&&c(d)?s[f]=n(h,d):s[f]=d}),s),{})});let t=Object.defineProperty,{hasOwnProperty:p}=Object.prototype;function r(n,l){return p.call(n,l)}function i(n,l){return Object.getOwnPropertyDescriptor(n,l)}},{"@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"7kBIx":[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");function t(i=0){return new Promise(n=>setTimeout(n,i))}function p(i,n){let l;return function(...c){clearTimeout(l),l=setTimeout(()=>(l=null,i.apply(this,c)),n)}}function r(i,n){let l=!1;return function(...c){l||(i.apply(this,c),l=!0,setTimeout(function(){l=!1},n))}}e.defineInteropFlag(o),e.export(o,"sleep",()=>t),e.export(o,"debounce",()=>p),e.export(o,"throttle",()=>r)},{"@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"13atT":[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");function t(c,s,u){return Math.max(Math.min(c,Math.max(s,u)),Math.min(s,u))}function p(c){return c.charAt(0).toUpperCase()+c.slice(1)}function r(c){return["string","number"].includes(typeof c)}function i(c){if(!c)return"00:00";let s=Math.floor(c/3600),u=Math.floor((c-3600*s)/60),f=Math.floor(c-3600*s-60*u);return(s>0?[s,u,f]:[u,f]).map(h=>h<10?`0${h}`:String(h)).join(":")}function n(c){return c.replace(/[&<>'"]/g,s=>({"&":"&amp;","<":"&lt;",">":"&gt;","'":"&#39;",'"':"&quot;"})[s]||s)}function l(c){let s={"&amp;":"&","&lt;":"<","&gt;":">","&#39;":"'","&quot;":'"'},u=RegExp(`(${Object.keys(s).join("|")})`,"g");return c.replace(u,f=>s[f]||f)}e.defineInteropFlag(o),e.export(o,"clamp",()=>t),e.export(o,"capitalize",()=>p),e.export(o,"isStringOrNumber",()=>r),e.export(o,"secondToTime",()=>i),e.export(o,"escape",()=>n),e.export(o,"unescape",()=>l)},{"@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],AdvwB:[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"ComponentOption",()=>u);var t=a("../utils");let p="array",r="boolean",i="string",n="number",l="object",c="function";function s(f,h,d){return(0,t.errorHandle)(h===i||h===n||f instanceof Element,`${d.join(".")} require '${i}' or 'Element' type`)}let u={html:s,disable:`?${r}`,name:`?${i}`,index:`?${n}`,style:`?${l}`,click:`?${c}`,mounted:`?${c}`,tooltip:`?${i}|${n}`,width:`?${n}`,selector:`?${p}`,onSelect:`?${c}`,switch:`?${r}`,onSwitch:`?${c}`,range:`?${p}`,onRange:`?${c}`,onChange:`?${c}`};o.default={id:i,container:s,url:i,poster:i,type:i,theme:i,lang:i,volume:n,isLive:r,muted:r,autoplay:r,autoSize:r,autoMini:r,loop:r,flip:r,playbackRate:r,aspectRatio:r,screenshot:r,setting:r,hotkey:r,pip:r,mutex:r,backdrop:r,fullscreen:r,fullscreenWeb:r,subtitleOffset:r,miniProgressBar:r,useSSR:r,playsInline:r,lock:r,fastForward:r,autoPlayback:r,autoOrientation:r,airplay:r,plugins:[c],layers:[u],contextmenu:[u],settings:[u],controls:[{...u,position:(f,h,d)=>{let b=["top","left","right"];return(0,t.errorHandle)(b.includes(f),`${d.join(".")} only accept ${b.toString()} as parameters`)}}],quality:[{default:`?${r}`,html:i,url:i}],highlight:[{time:n,text:i}],thumbnails:{url:i,number:n,column:n,width:n,height:n},subtitle:{url:i,name:i,type:i,style:l,escape:r,encoding:i,onVttLoad:c},moreVideoAttr:l,i18n:l,icons:l,cssVar:l,customType:l}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"9Xmqu":[function(a,m,o){a("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(o),o.default={propertys:["audioTracks","autoplay","buffered","controller","controls","crossOrigin","currentSrc","currentTime","defaultMuted","defaultPlaybackRate","duration","ended","error","loop","mediaGroup","muted","networkState","paused","playbackRate","played","preload","readyState","seekable","seeking","src","startDate","textTracks","videoTracks","volume"],methods:["addTextTrack","canPlayType","load","play","pause"],events:["abort","canplay","canplaythrough","durationchange","emptied","ended","error","loadeddata","loadedmetadata","loadstart","pause","play","playing","progress","ratechange","seeked","seeking","stalled","suspend","timeupdate","volumechange","waiting"],prototypes:["width","height","videoWidth","videoHeight","poster","webkitDecodedFrameCount","webkitDroppedFrameCount","playsInline","webkitSupportsFullscreen","webkitDisplayingFullscreen","onenterpictureinpicture","onleavepictureinpicture","disablePictureInPicture","cancelVideoFrameCallback","requestVideoFrameCallback","getVideoPlaybackQuality","requestPictureInPicture","webkitEnterFullScreen","webkitEnterFullscreen","webkitExitFullScreen","webkitExitFullscreen"]}},{"@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"2gKYH":[function(a,m,o){a("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(o);var e=a("./utils");class t{constructor(r){this.art=r;let{option:i,constructor:n}=r;i.container instanceof Element?this.$container=i.container:(this.$container=(0,e.query)(i.container),(0,e.errorHandle)(this.$container,`No container element found by ${i.container}`)),(0,e.errorHandle)((0,e.supportsFlex)(),"The current browser does not support flex layout");let l=this.$container.tagName.toLowerCase();(0,e.errorHandle)(l==="div",`Unsupported container element type, only support 'div' but got '${l}'`),(0,e.errorHandle)(n.instances.every(c=>c.template.$container!==this.$container),"Cannot mount multiple instances on the same dom element"),this.query=this.query.bind(this),this.$container.dataset.artId=r.id,this.init()}static get html(){return'<div class="art-video-player art-subtitle-show art-layer-show art-control-show art-mask-show"><video class="art-video"><track default kind="metadata" src=""></track></video><div class="art-poster"></div><div class="art-subtitle"></div><div class="art-danmuku"></div><div class="art-layers"></div><div class="art-mask"><div class="art-state"></div></div><div class="art-bottom"><div class="art-progress"></div><div class="art-controls"><div class="art-controls-left"></div><div class="art-controls-center"></div><div class="art-controls-right"></div></div></div><div class="art-loading"></div><div class="art-notice"><div class="art-notice-inner"></div></div><div class="art-settings"></div><div class="art-info"><div class="art-info-panel"><div class="art-info-item"><div class="art-info-title">Player version:</div><div class="art-info-content">5.1.6</div></div><div class="art-info-item"><div class="art-info-title">Video url:</div><div class="art-info-content" data-video="src"></div></div><div class="art-info-item"><div class="art-info-title">Video volume:</div><div class="art-info-content" data-video="volume"></div></div><div class="art-info-item"><div class="art-info-title">Video time:</div><div class="art-info-content" data-video="currentTime"></div></div><div class="art-info-item"><div class="art-info-title">Video duration:</div><div class="art-info-content" data-video="duration"></div></div><div class="art-info-item"><div class="art-info-title">Video resolution:</div><div class="art-info-content"><span data-video="videoWidth"></span>x<span data-video="videoHeight"></span></div></div></div><div class="art-info-close">[x]</div></div><div class="art-contextmenus"></div></div>'}query(r){return(0,e.query)(r,this.$container)}init(){let{option:r}=this.art;r.useSSR||(this.$container.innerHTML=t.html),this.$player=this.query(".art-video-player"),this.$video=this.query(".art-video"),this.$track=this.query("track"),this.$poster=this.query(".art-poster"),this.$subtitle=this.query(".art-subtitle"),this.$danmuku=this.query(".art-danmuku"),this.$bottom=this.query(".art-bottom"),this.$progress=this.query(".art-progress"),this.$controls=this.query(".art-controls"),this.$controlsLeft=this.query(".art-controls-left"),this.$controlsCenter=this.query(".art-controls-center"),this.$controlsRight=this.query(".art-controls-right"),this.$layer=this.query(".art-layers"),this.$loading=this.query(".art-loading"),this.$notice=this.query(".art-notice"),this.$noticeInner=this.query(".art-notice-inner"),this.$mask=this.query(".art-mask"),this.$state=this.query(".art-state"),this.$setting=this.query(".art-settings"),this.$info=this.query(".art-info"),this.$infoPanel=this.query(".art-info-panel"),this.$infoClose=this.query(".art-info-close"),this.$contextmenu=this.query(".art-contextmenus"),r.backdrop&&(0,e.addClass)(this.$player,"art-backdrop"),e.isMobile&&(0,e.addClass)(this.$player,"art-mobile")}destroy(r){r?this.$container.innerHTML="":(0,e.addClass)(this.$player,"art-destroy")}}o.default=t},{"./utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"1AdeF":[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o);var t=a("../utils"),p=a("./zh-cn"),r=e.interopDefault(p);o.default=class{constructor(i){this.art=i,this.languages={"zh-cn":r.default},this.language={},this.update(i.option.i18n)}init(){let i=this.art.option.lang.toLowerCase();this.language=this.languages[i]||{}}get(i){return this.language[i]||i}update(i){this.languages=(0,t.mergeDeep)(this.languages,i),this.init()}}},{"../utils":"h3rH9","./zh-cn":"3ZSKq","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"3ZSKq":[function(a,m,o){a("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(o);let e={"Video Info":"统计信息",Close:"关闭","Video Load Failed":"加载失败",Volume:"音量",Play:"播放",Pause:"暂停",Rate:"速度",Mute:"静音","Video Flip":"画面翻转",Horizontal:"水平",Vertical:"垂直",Reconnect:"重新连接","Show Setting":"显示设置","Hide Setting":"隐藏设置",Screenshot:"截图","Play Speed":"播放速度","Aspect Ratio":"画面比例",Default:"默认",Normal:"正常",Open:"打开","Switch Video":"切换","Switch Subtitle":"切换字幕",Fullscreen:"全屏","Exit Fullscreen":"退出全屏","Web Fullscreen":"网页全屏","Exit Web Fullscreen":"退出网页全屏","Mini Player":"迷你播放器","PIP Mode":"开启画中画","Exit PIP Mode":"退出画中画","PIP Not Supported":"不支持画中画","Fullscreen Not Supported":"不支持全屏","Subtitle Offset":"字幕偏移","Last Seen":"上次看到","Jump Play":"跳转播放",AirPlay:"隔空播放","AirPlay Not Available":"隔空播放不可用"};o.default=e,typeof window<"u"&&(window["artplayer-i18n-zh-cn"]=e)},{"@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"556MW":[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o);var t=a("./urlMix"),p=e.interopDefault(t),r=a("./attrMix"),i=e.interopDefault(r),n=a("./playMix"),l=e.interopDefault(n),c=a("./pauseMix"),s=e.interopDefault(c),u=a("./toggleMix"),f=e.interopDefault(u),h=a("./seekMix"),d=e.interopDefault(h),b=a("./volumeMix"),j=e.interopDefault(b),v=a("./currentTimeMix"),g=e.interopDefault(v),$=a("./durationMix"),y=e.interopDefault($),k=a("./switchMix"),x=e.interopDefault(k),T=a("./playbackRateMix"),O=e.interopDefault(T),w=a("./aspectRatioMix"),I=e.interopDefault(w),S=a("./screenshotMix"),M=e.interopDefault(S),C=a("./fullscreenMix"),E=e.interopDefault(C),D=a("./fullscreenWebMix"),B=e.interopDefault(D),R=a("./pipMix"),A=e.interopDefault(R),V=a("./loadedMix"),W=e.interopDefault(V),U=a("./playedMix"),Y=e.interopDefault(U),K=a("./playingMix"),X=e.interopDefault(K),G=a("./autoSizeMix"),J=e.interopDefault(G),Q=a("./rectMix"),tt=e.interopDefault(Q),et=a("./flipMix"),rt=e.interopDefault(et),at=a("./miniMix"),ot=e.interopDefault(at),N=a("./posterMix"),F=e.interopDefault(N),ut=a("./autoHeightMix"),z=e.interopDefault(ut),Z=a("./cssVarMix"),q=e.interopDefault(Z),_=a("./themeMix"),L=e.interopDefault(_),it=a("./typeMix"),pt=e.interopDefault(it),st=a("./stateMix"),nt=e.interopDefault(st),mt=a("./subtitleOffsetMix"),gt=e.interopDefault(mt),vt=a("./airplayMix"),yt=e.interopDefault(vt),bt=a("./qualityMix"),xt=e.interopDefault(bt),wt=a("./optionInit"),jt=e.interopDefault(wt),kt=a("./eventInit"),$t=e.interopDefault(kt);o.default=class{constructor(H){(0,p.default)(H),(0,i.default)(H),(0,l.default)(H),(0,s.default)(H),(0,f.default)(H),(0,d.default)(H),(0,j.default)(H),(0,g.default)(H),(0,y.default)(H),(0,x.default)(H),(0,O.default)(H),(0,I.default)(H),(0,M.default)(H),(0,E.default)(H),(0,B.default)(H),(0,A.default)(H),(0,W.default)(H),(0,Y.default)(H),(0,X.default)(H),(0,J.default)(H),(0,tt.default)(H),(0,rt.default)(H),(0,ot.default)(H),(0,F.default)(H),(0,z.default)(H),(0,q.default)(H),(0,L.default)(H),(0,pt.default)(H),(0,nt.default)(H),(0,gt.default)(H),(0,yt.default)(H),(0,xt.default)(H),(0,$t.default)(H),(0,jt.default)(H)}}},{"./urlMix":"2mRAc","./attrMix":"2EA19","./playMix":"fD2Tc","./pauseMix":"c3LGJ","./toggleMix":"fVsAa","./seekMix":"dmROF","./volumeMix":"9jtfB","./currentTimeMix":"7NCDR","./durationMix":"YS7JL","./switchMix":"dzUqN","./playbackRateMix":"5I2mT","./aspectRatioMix":"7m6R8","./screenshotMix":"2dgtR","./fullscreenMix":"fKDW8","./fullscreenWebMix":"lNvYI","./pipMix":"8j7oC","./loadedMix":"dwVOT","./playedMix":"dDeLx","./playingMix":"ceoBp","./autoSizeMix":"lcWXX","./rectMix":"f7y88","./flipMix":"l4qt5","./miniMix":"9ZPBQ","./posterMix":"5K8hA","./autoHeightMix":"3T5ls","./cssVarMix":"6KfHs","./themeMix":"7lcSc","./typeMix":"8JgTw","./stateMix":"cebt1","./subtitleOffsetMix":"hJvIy","./airplayMix":"4Tp0U","./qualityMix":"3wZgN","./optionInit":"iPdgW","./eventInit":"3mj0J","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"2mRAc":[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"default",()=>p);var t=a("../utils");function p(r){let{option:i,template:{$video:n}}=r;(0,t.def)(r,"url",{get:()=>n.src,async set(l){if(l){let c=r.url,s=i.type||(0,t.getExt)(l),u=i.customType[s];s&&u?(await(0,t.sleep)(),r.loading.show=!0,u.call(r,n,l,r)):(URL.revokeObjectURL(c),n.src=l),c!==r.url&&(r.option.url=l,r.isReady&&c&&r.once("video:canplay",()=>{r.emit("restart",l)}))}else await(0,t.sleep)(),r.loading.show=!0}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"2EA19":[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"default",()=>p);var t=a("../utils");function p(r){let{template:{$video:i}}=r;(0,t.def)(r,"attr",{value(n,l){if(l===void 0)return i[n];i[n]=l}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],fD2Tc:[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"default",()=>p);var t=a("../utils");function p(r){let{i18n:i,notice:n,option:l,constructor:{instances:c},template:{$video:s}}=r;(0,t.def)(r,"play",{value:async function(){let u=await s.play();if(n.show=i.get("Play"),r.emit("play"),l.mutex)for(let f=0;f<c.length;f++){let h=c[f];h!==r&&h.pause()}return u}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],c3LGJ:[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"default",()=>p);var t=a("../utils");function p(r){let{template:{$video:i},i18n:n,notice:l}=r;(0,t.def)(r,"pause",{value(){let c=i.pause();return l.show=n.get("Pause"),r.emit("pause"),c}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],fVsAa:[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"default",()=>p);var t=a("../utils");function p(r){(0,t.def)(r,"toggle",{value:()=>r.playing?r.pause():r.play()})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],dmROF:[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"default",()=>p);var t=a("../utils");function p(r){let{notice:i}=r;(0,t.def)(r,"seek",{set(n){r.currentTime=n,r.emit("seek",r.currentTime),r.duration&&(i.show=`${(0,t.secondToTime)(r.currentTime)} / ${(0,t.secondToTime)(r.duration)}`)}}),(0,t.def)(r,"forward",{set(n){r.seek=r.currentTime+n}}),(0,t.def)(r,"backward",{set(n){r.seek=r.currentTime-n}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"9jtfB":[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"default",()=>p);var t=a("../utils");function p(r){let{template:{$video:i},i18n:n,notice:l,storage:c}=r;(0,t.def)(r,"volume",{get:()=>i.volume||0,set:s=>{i.volume=(0,t.clamp)(s,0,1),l.show=`${n.get("Volume")}: ${parseInt(100*i.volume,10)}`,i.volume!==0&&c.set("volume",i.volume)}}),(0,t.def)(r,"muted",{get:()=>i.muted,set:s=>{i.muted=s,r.emit("muted",s)}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"7NCDR":[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"default",()=>p);var t=a("../utils");function p(r){let{$video:i}=r.template;(0,t.def)(r,"currentTime",{get:()=>i.currentTime||0,set:n=>{Number.isNaN(n=parseFloat(n))||(i.currentTime=(0,t.clamp)(n,0,r.duration))}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],YS7JL:[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"default",()=>p);var t=a("../utils");function p(r){(0,t.def)(r,"duration",{get:()=>{let{duration:i}=r.template.$video;return i===1/0?0:i||0}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],dzUqN:[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"default",()=>p);var t=a("../utils");function p(r){function i(n,l){return new Promise((c,s)=>{if(n===r.url)return;let{playing:u,aspectRatio:f,playbackRate:h}=r;r.pause(),r.url=n,r.notice.show="",r.once("video:error",s),r.once("video:loadedmetadata",()=>{r.currentTime=l}),r.once("video:canplay",async()=>{r.playbackRate=h,r.aspectRatio=f,u&&await r.play(),r.notice.show="",c()})})}(0,t.def)(r,"switchQuality",{value:n=>i(n,r.currentTime)}),(0,t.def)(r,"switchUrl",{value:n=>i(n,0)}),(0,t.def)(r,"switch",{set:r.switchUrl})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"5I2mT":[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"default",()=>p);var t=a("../utils");function p(r){let{template:{$video:i},i18n:n,notice:l}=r;(0,t.def)(r,"playbackRate",{get:()=>i.playbackRate,set(c){c?c!==i.playbackRate&&(i.playbackRate=c,l.show=`${n.get("Rate")}: ${c===1?n.get("Normal"):`${c}x`}`):r.playbackRate=1}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"7m6R8":[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"default",()=>p);var t=a("../utils");function p(r){let{i18n:i,notice:n,template:{$video:l,$player:c}}=r;(0,t.def)(r,"aspectRatio",{get:()=>c.dataset.aspectRatio||"default",set(s){if(s||(s="default"),s==="default")(0,t.setStyle)(l,"width",null),(0,t.setStyle)(l,"height",null),(0,t.setStyle)(l,"margin",null),delete c.dataset.aspectRatio;else{let u=s.split(":").map(Number),{clientWidth:f,clientHeight:h}=c,d=u[0]/u[1];f/h>d?((0,t.setStyle)(l,"width",`${d*h}px`),(0,t.setStyle)(l,"height","100%"),(0,t.setStyle)(l,"margin","0 auto")):((0,t.setStyle)(l,"width","100%"),(0,t.setStyle)(l,"height",`${f/d}px`),(0,t.setStyle)(l,"margin","auto 0")),c.dataset.aspectRatio=s}n.show=`${i.get("Aspect Ratio")}: ${s==="default"?i.get("Default"):s}`,r.emit("aspectRatio",s)}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"2dgtR":[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"default",()=>p);var t=a("../utils");function p(r){let{notice:i,template:{$video:n}}=r,l=(0,t.createElement)("canvas");(0,t.def)(r,"getDataURL",{value:()=>new Promise((c,s)=>{try{l.width=n.videoWidth,l.height=n.videoHeight,l.getContext("2d").drawImage(n,0,0),c(l.toDataURL("image/png"))}catch(u){i.show=u,s(u)}})}),(0,t.def)(r,"getBlobUrl",{value:()=>new Promise((c,s)=>{try{l.width=n.videoWidth,l.height=n.videoHeight,l.getContext("2d").drawImage(n,0,0),l.toBlob(u=>{c(URL.createObjectURL(u))})}catch(u){i.show=u,s(u)}})}),(0,t.def)(r,"screenshot",{value:async()=>{let c=await r.getDataURL();return(0,t.download)(c,`artplayer_${(0,t.secondToTime)(n.currentTime)}.png`),r.emit("screenshot",c),c}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],fKDW8:[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"default",()=>i);var t=a("../libs/screenfull"),p=e.interopDefault(t),r=a("../utils");function i(n){let{i18n:l,notice:c,template:{$video:s,$player:u}}=n,f=d=>{p.default.on("change",()=>{d.emit("fullscreen",p.default.isFullscreen)}),p.default.on("error",b=>{d.emit("fullscreenError",b)}),(0,r.def)(d,"fullscreen",{get:()=>p.default.isFullscreen,async set(b){b?(d.state="fullscreen",await p.default.request(u),(0,r.addClass)(u,"art-fullscreen")):(await p.default.exit(),(0,r.removeClass)(u,"art-fullscreen")),d.emit("resize")}})},h=d=>{d.proxy(document,"webkitfullscreenchange",()=>{d.emit("fullscreen",d.fullscreen),d.emit("resize")}),(0,r.def)(d,"fullscreen",{get:()=>document.fullscreenElement===s,set(b){b?(d.state="fullscreen",s.webkitEnterFullscreen()):s.webkitExitFullscreen()}})};n.once("video:loadedmetadata",()=>{p.default.isEnabled?f(n):s.webkitSupportsFullscreen?h(n):(0,r.def)(n,"fullscreen",{get:()=>!1,set(){c.show=l.get("Fullscreen Not Supported")}}),(0,r.def)(n,"fullscreen",(0,r.get)(n,"fullscreen"))})}},{"../libs/screenfull":"lUahW","../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],lUahW:[function(a,m,o){a("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(o);let e=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],t=(()=>{if(typeof document>"u")return!1;let i=e[0],n={};for(let l of e)if(l[1]in document){for(let[c,s]of l.entries())n[i[c]]=s;return n}return!1})(),p={change:t.fullscreenchange,error:t.fullscreenerror},r={request:(i=document.documentElement,n)=>new Promise((l,c)=>{let s=()=>{r.off("change",s),l()};r.on("change",s);let u=i[t.requestFullscreen](n);u instanceof Promise&&u.then(s).catch(c)}),exit:()=>new Promise((i,n)=>{if(!r.isFullscreen){i();return}let l=()=>{r.off("change",l),i()};r.on("change",l);let c=document[t.exitFullscreen]();c instanceof Promise&&c.then(l).catch(n)}),toggle:(i,n)=>r.isFullscreen?r.exit():r.request(i,n),onchange(i){r.on("change",i)},onerror(i){r.on("error",i)},on(i,n){let l=p[i];l&&document.addEventListener(l,n,!1)},off(i,n){let l=p[i];l&&document.removeEventListener(l,n,!1)},raw:t};Object.defineProperties(r,{isFullscreen:{get:()=>!!document[t.fullscreenElement]},element:{enumerable:!0,get:()=>document[t.fullscreenElement]},isEnabled:{enumerable:!0,get:()=>!!document[t.fullscreenEnabled]}}),t||(r={isEnabled:!1}),o.default=r},{"@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],lNvYI:[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"default",()=>p);var t=a("../utils");function p(r){let{constructor:i,template:{$container:n,$player:l}}=r,c="";(0,t.def)(r,"fullscreenWeb",{get:()=>(0,t.hasClass)(l,"art-fullscreen-web"),set(s){s?(c=l.style.cssText,i.FULLSCREEN_WEB_IN_BODY&&(0,t.append)(document.body,l),r.state="fullscreenWeb",(0,t.setStyle)(l,"width","100%"),(0,t.setStyle)(l,"height","100%"),(0,t.addClass)(l,"art-fullscreen-web"),r.emit("fullscreenWeb",!0)):(i.FULLSCREEN_WEB_IN_BODY&&(0,t.append)(n,l),c&&(l.style.cssText=c,c=""),(0,t.removeClass)(l,"art-fullscreen-web"),r.emit("fullscreenWeb",!1)),r.emit("resize")}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"8j7oC":[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"default",()=>p);var t=a("../utils");function p(r){let{i18n:i,notice:n,template:{$video:l}}=r;document.pictureInPictureEnabled?function(c){let{template:{$video:s},proxy:u,notice:f}=c;s.disablePictureInPicture=!1,(0,t.def)(c,"pip",{get:()=>document.pictureInPictureElement,set(h){h?(c.state="pip",s.requestPictureInPicture().catch(d=>{throw f.show=d,d})):document.exitPictureInPicture().catch(d=>{throw f.show=d,d})}}),u(s,"enterpictureinpicture",()=>{c.emit("pip",!0)}),u(s,"leavepictureinpicture",()=>{c.emit("pip",!1)})}(r):l.webkitSupportsPresentationMode?function(c){let{$video:s}=c.template;s.webkitSetPresentationMode("inline"),(0,t.def)(c,"pip",{get:()=>s.webkitPresentationMode==="picture-in-picture",set(u){u?(c.state="pip",s.webkitSetPresentationMode("picture-in-picture"),c.emit("pip",!0)):(s.webkitSetPresentationMode("inline"),c.emit("pip",!1))}})}(r):(0,t.def)(r,"pip",{get:()=>!1,set(){n.show=i.get("PIP Not Supported")}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],dwVOT:[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"default",()=>p);var t=a("../utils");function p(r){let{$video:i}=r.template;(0,t.def)(r,"loaded",{get:()=>r.loadedTime/i.duration}),(0,t.def)(r,"loadedTime",{get:()=>i.buffered.length?i.buffered.end(i.buffered.length-1):0})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],dDeLx:[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"default",()=>p);var t=a("../utils");function p(r){(0,t.def)(r,"played",{get:()=>r.currentTime/r.duration})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],ceoBp:[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"default",()=>p);var t=a("../utils");function p(r){let{$video:i}=r.template;(0,t.def)(r,"playing",{get:()=>i.currentTime>0&&!i.paused&&!i.ended&&i.readyState>2})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],lcWXX:[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"default",()=>p);var t=a("../utils");function p(r){let{$container:i,$player:n,$video:l}=r.template;(0,t.def)(r,"autoSize",{value(){let{videoWidth:c,videoHeight:s}=l,{width:u,height:f}=(0,t.getRect)(i),h=c/s;u/f>h?((0,t.setStyle)(n,"width",`${f*h/u*100}%`),(0,t.setStyle)(n,"height","100%")):((0,t.setStyle)(n,"width","100%"),(0,t.setStyle)(n,"height",`${u/h/f*100}%`)),r.emit("autoSize",{width:r.width,height:r.height})}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],f7y88:[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"default",()=>p);var t=a("../utils");function p(r){(0,t.def)(r,"rect",{get:()=>(0,t.getRect)(r.template.$player)});let i=["bottom","height","left","right","top","width"];for(let n=0;n<i.length;n++){let l=i[n];(0,t.def)(r,l,{get:()=>r.rect[l]})}(0,t.def)(r,"x",{get:()=>r.left+window.pageXOffset}),(0,t.def)(r,"y",{get:()=>r.top+window.pageYOffset})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],l4qt5:[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"default",()=>p);var t=a("../utils");function p(r){let{template:{$player:i},i18n:n,notice:l}=r;(0,t.def)(r,"flip",{get:()=>i.dataset.flip||"normal",set(c){c||(c="normal"),c==="normal"?delete i.dataset.flip:i.dataset.flip=c,l.show=`${n.get("Video Flip")}: ${n.get((0,t.capitalize)(c))}`,r.emit("flip",c)}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"9ZPBQ":[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"default",()=>p);var t=a("../utils");function p(r){let{icons:i,proxy:n,storage:l,template:{$player:c,$video:s}}=r,u=!1,f=0,h=0;function d(){let{$mini:v}=r.template;v&&((0,t.removeClass)(c,"art-mini"),(0,t.setStyle)(v,"display","none"),c.prepend(s),r.emit("mini",!1))}function b(v,g){r.playing?((0,t.setStyle)(v,"display","none"),(0,t.setStyle)(g,"display","flex")):((0,t.setStyle)(v,"display","flex"),(0,t.setStyle)(g,"display","none"))}function j(){let{$mini:v}=r.template,g=(0,t.getRect)(v),$=window.innerHeight-g.height-50,y=window.innerWidth-g.width-50;l.set("top",$),l.set("left",y),(0,t.setStyle)(v,"top",`${$}px`),(0,t.setStyle)(v,"left",`${y}px`)}(0,t.def)(r,"mini",{get:()=>(0,t.hasClass)(c,"art-mini"),set(v){if(v){r.state="mini",(0,t.addClass)(c,"art-mini");let g=function(){let{$mini:k}=r.template;if(k)return(0,t.append)(k,s),(0,t.setStyle)(k,"display","flex");{let x=(0,t.createElement)("div");(0,t.addClass)(x,"art-mini-popup"),(0,t.append)(document.body,x),r.template.$mini=x,(0,t.append)(x,s);let T=(0,t.append)(x,'<div class="art-mini-close"></div>');(0,t.append)(T,i.close),n(T,"click",d);let O=(0,t.append)(x,'<div class="art-mini-state"></div>'),w=(0,t.append)(O,i.play),I=(0,t.append)(O,i.pause);return n(w,"click",()=>r.play()),n(I,"click",()=>r.pause()),b(w,I),r.on("video:playing",()=>b(w,I)),r.on("video:pause",()=>b(w,I)),r.on("video:timeupdate",()=>b(w,I)),n(x,"mousedown",S=>{u=S.button===0,f=S.pageX,h=S.pageY}),r.on("document:mousemove",S=>{if(u){(0,t.addClass)(x,"art-mini-droging");let M=S.pageX-f,C=S.pageY-h;(0,t.setStyle)(x,"transform",`translate(${M}px, ${C}px)`)}}),r.on("document:mouseup",()=>{if(u){u=!1,(0,t.removeClass)(x,"art-mini-droging");let S=(0,t.getRect)(x);l.set("left",S.left),l.set("top",S.top),(0,t.setStyle)(x,"left",`${S.left}px`),(0,t.setStyle)(x,"top",`${S.top}px`),(0,t.setStyle)(x,"transform",null)}}),x}}(),$=l.get("top"),y=l.get("left");$&&y?((0,t.setStyle)(g,"top",`${$}px`),(0,t.setStyle)(g,"left",`${y}px`),(0,t.isInViewport)(g)||j()):j(),r.emit("mini",!0)}else d()}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"5K8hA":[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"default",()=>p);var t=a("../utils");function p(r){let{template:{$poster:i}}=r;(0,t.def)(r,"poster",{get:()=>{try{return i.style.backgroundImage.match(/"(.*)"/)[1]}catch{return""}},set(n){(0,t.setStyle)(i,"backgroundImage",`url(${n})`)}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"3T5ls":[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"default",()=>p);var t=a("../utils");function p(r){let{template:{$container:i,$video:n}}=r;(0,t.def)(r,"autoHeight",{value(){let{clientWidth:l}=i,{videoHeight:c,videoWidth:s}=n,u=l/s*c;(0,t.setStyle)(i,"height",u+"px"),r.emit("autoHeight",u)}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"6KfHs":[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"default",()=>p);var t=a("../utils");function p(r){let{$player:i}=r.template;(0,t.def)(r,"cssVar",{value:(n,l)=>l?i.style.setProperty(n,l):getComputedStyle(i).getPropertyValue(n)})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"7lcSc":[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"default",()=>p);var t=a("../utils");function p(r){(0,t.def)(r,"theme",{get:()=>r.cssVar("--art-theme"),set(i){r.cssVar("--art-theme",i)}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"8JgTw":[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"default",()=>p);var t=a("../utils");function p(r){(0,t.def)(r,"type",{get:()=>r.option.type,set(i){r.option.type=i}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],cebt1:[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"default",()=>p);var t=a("../utils");function p(r){let i=["mini","pip","fullscreen","fullscreenWeb"];(0,t.def)(r,"state",{get:()=>i.find(n=>r[n])||"standard",set(n){for(let l=0;l<i.length;l++){let c=i[l];c!==n&&r[c]&&(r[c]=!1)}}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],hJvIy:[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"default",()=>p);var t=a("../utils");function p(r){let{clamp:i}=r.constructor.utils,{notice:n,template:l,i18n:c}=r,s=0,u=[];r.on("subtitle:switch",()=>{u=[]}),(0,t.def)(r,"subtitleOffset",{get:()=>s,set(f){if(l.$track&&l.$track.track){let h=Array.from(l.$track.track.cues);s=i(f,-5,5);for(let d=0;d<h.length;d++){let b=h[d];u[d]||(u[d]={startTime:b.startTime,endTime:b.endTime}),b.startTime=i(u[d].startTime+s,0,r.duration),b.endTime=i(u[d].endTime+s,0,r.duration)}r.subtitle.update(),n.show=`${c.get("Subtitle Offset")}: ${f}s`,r.emit("subtitleOffset",f)}else r.emit("subtitleOffset",0)}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"4Tp0U":[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"default",()=>p);var t=a("../utils");function p(r){let{i18n:i,notice:n,proxy:l,template:{$video:c}}=r,s=!0;window.WebKitPlaybackTargetAvailabilityEvent&&c.webkitShowPlaybackTargetPicker?l(c,"webkitplaybacktargetavailabilitychanged",u=>{switch(u.availability){case"available":s=!0;break;case"not-available":s=!1}}):s=!1,(0,t.def)(r,"airplay",{value(){s?(c.webkitShowPlaybackTargetPicker(),r.emit("airplay")):n.show=i.get("AirPlay Not Available")}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"3wZgN":[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"default",()=>p);var t=a("../utils");function p(r){(0,t.def)(r,"quality",{set(i){let{controls:n,notice:l,i18n:c}=r,s=i.find(u=>u.default)||i[0];n.update({name:"quality",position:"right",index:10,style:{marginRight:"10px"},html:s?s.html:"",selector:i,async onSelect(u){await r.switchQuality(u.url),l.show=`${c.get("Switch Video")}: ${u.html}`}})}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],iPdgW:[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"default",()=>p);var t=a("../utils");function p(r){let{option:i,storage:n,template:{$video:l,$poster:c}}=r;for(let u in i.moreVideoAttr)r.attr(u,i.moreVideoAttr[u]);i.muted&&(r.muted=i.muted),i.volume&&(l.volume=(0,t.clamp)(i.volume,0,1));let s=n.get("volume");for(let u in typeof s=="number"&&(l.volume=(0,t.clamp)(s,0,1)),i.poster&&(0,t.setStyle)(c,"backgroundImage",`url(${i.poster})`),i.autoplay&&(l.autoplay=i.autoplay),i.playsInline&&(l.playsInline=!0,l["webkit-playsinline"]=!0),i.theme&&(i.cssVar["--art-theme"]=i.theme),i.cssVar)r.cssVar(u,i.cssVar[u]);r.url=i.url}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"3mj0J":[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"default",()=>i);var t=a("../config"),p=e.interopDefault(t),r=a("../utils");function i(n){let{i18n:l,notice:c,option:s,constructor:u,proxy:f,template:{$player:h,$video:d,$poster:b}}=n,j=0;for(let v=0;v<p.default.events.length;v++)f(d,p.default.events[v],g=>{n.emit(`video:${g.type}`,g)});n.on("video:canplay",()=>{j=0,n.loading.show=!1}),n.once("video:canplay",()=>{n.loading.show=!1,n.controls.show=!0,n.mask.show=!0,n.isReady=!0,n.emit("ready")}),n.on("video:ended",()=>{s.loop?(n.seek=0,n.play(),n.controls.show=!1,n.mask.show=!1):(n.controls.show=!0,n.mask.show=!0)}),n.on("video:error",async v=>{j<u.RECONNECT_TIME_MAX?(await(0,r.sleep)(u.RECONNECT_SLEEP_TIME),j+=1,n.url=s.url,c.show=`${l.get("Reconnect")}: ${j}`,n.emit("error",v,j)):(n.mask.show=!0,n.loading.show=!1,n.controls.show=!0,(0,r.addClass)(h,"art-error"),await(0,r.sleep)(u.RECONNECT_SLEEP_TIME),c.show=l.get("Video Load Failed"))}),n.on("video:loadedmetadata",()=>{n.emit("resize"),r.isMobile&&(n.loading.show=!1,n.controls.show=!0,n.mask.show=!0)}),n.on("video:loadstart",()=>{n.loading.show=!0,n.mask.show=!1,n.controls.show=!0}),n.on("video:pause",()=>{n.controls.show=!0,n.mask.show=!0}),n.on("video:play",()=>{n.mask.show=!1,(0,r.setStyle)(b,"display","none")}),n.on("video:playing",()=>{n.mask.show=!1}),n.on("video:progress",()=>{n.playing&&(n.loading.show=!1)}),n.on("video:seeked",()=>{n.loading.show=!1,n.mask.show=!0}),n.on("video:seeking",()=>{n.loading.show=!0,n.mask.show=!1}),n.on("video:timeupdate",()=>{n.mask.show=!1}),n.on("video:waiting",()=>{n.loading.show=!0,n.mask.show=!1})}},{"../config":"9Xmqu","../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"14IBq":[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o);var t=a("../utils"),p=a("../utils/component"),r=e.interopDefault(p),i=a("./fullscreen"),n=e.interopDefault(i),l=a("./fullscreenWeb"),c=e.interopDefault(l),s=a("./pip"),u=e.interopDefault(s),f=a("./playAndPause"),h=e.interopDefault(f),d=a("./progress"),b=e.interopDefault(d),j=a("./time"),v=e.interopDefault(j),g=a("./volume"),$=e.interopDefault(g),y=a("./setting"),k=e.interopDefault(y),x=a("./thumbnails"),T=e.interopDefault(x),O=a("./screenshot"),w=e.interopDefault(O),I=a("./airplay"),S=e.interopDefault(I);class M extends r.default{constructor(E){super(E),this.isHover=!1,this.name="control",this.timer=Date.now();let{constructor:D}=E,{$player:B,$bottom:R}=this.art.template;E.on("mousemove",()=>{t.isMobile||(this.show=!0)}),E.on("click",()=>{t.isMobile?this.toggle():this.show=!0}),E.on("document:mousemove",A=>{this.isHover=(0,t.includeFromEvent)(A,R)}),E.on("video:timeupdate",()=>{!E.setting.show&&!this.isHover&&!E.isInput&&E.playing&&this.show&&Date.now()-this.timer>=D.CONTROL_HIDE_TIME&&(this.show=!1)}),E.on("control",A=>{A?((0,t.removeClass)(B,"art-hide-cursor"),(0,t.addClass)(B,"art-hover"),this.timer=Date.now()):((0,t.addClass)(B,"art-hide-cursor"),(0,t.removeClass)(B,"art-hover"))}),this.init()}init(){let{option:E}=this.art;E.isLive||this.add((0,b.default)({name:"progress",position:"top",index:10})),E.thumbnails.url&&!E.isLive&&this.add((0,T.default)({name:"thumbnails",position:"top",index:20})),this.add((0,h.default)({name:"playAndPause",position:"left",index:10})),this.add((0,$.default)({name:"volume",position:"left",index:20})),E.isLive||this.add((0,v.default)({name:"time",position:"left",index:30})),E.quality.length&&(0,t.sleep)().then(()=>{this.art.quality=E.quality}),E.screenshot&&!t.isMobile&&this.add((0,w.default)({name:"screenshot",position:"right",index:20})),E.setting&&this.add((0,k.default)({name:"setting",position:"right",index:30})),E.pip&&this.add((0,u.default)({name:"pip",position:"right",index:40})),E.airplay&&window.WebKitPlaybackTargetAvailabilityEvent&&this.add((0,S.default)({name:"airplay",position:"right",index:50})),E.fullscreenWeb&&this.add((0,c.default)({name:"fullscreenWeb",position:"right",index:60})),E.fullscreen&&this.add((0,n.default)({name:"fullscreen",position:"right",index:70}));for(let D=0;D<E.controls.length;D++)this.add(E.controls[D])}add(E){let D=typeof E=="function"?E(this.art):E,{$progress:B,$controlsLeft:R,$controlsRight:A}=this.art.template;switch(D.position){case"top":this.$parent=B;break;case"left":this.$parent=R;break;case"right":this.$parent=A;break;default:(0,t.errorHandle)(!1,"Control option.position must one of 'top', 'left', 'right'")}super.add(D)}}o.default=M},{"../utils":"h3rH9","../utils/component":"guki8","./fullscreen":"cxHNK","./fullscreenWeb":"66eEC","./pip":"kCFkA","./playAndPause":"iRhgD","./progress":"aBBSH","./time":"7H0CE","./volume":"lMwFm","./setting":"8BrCu","./thumbnails":"2HiWx","./screenshot":"c1GeG","./airplay":"6GRju","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],guki8:[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o);var t=a("./dom"),p=a("./format"),r=a("./error"),i=a("option-validator"),n=e.interopDefault(i),l=a("../scheme");o.default=class{constructor(c){this.id=0,this.art=c,this.cache=new Map,this.add=this.add.bind(this),this.remove=this.remove.bind(this),this.update=this.update.bind(this)}get show(){return(0,t.hasClass)(this.art.template.$player,`art-${this.name}-show`)}set show(c){let{$player:s}=this.art.template,u=`art-${this.name}-show`;c?(0,t.addClass)(s,u):(0,t.removeClass)(s,u),this.art.emit(this.name,c)}toggle(){this.show=!this.show}add(c){let s=typeof c=="function"?c(this.art):c;if(s.html=s.html||"",(0,n.default)(s,l.ComponentOption),!this.$parent||!this.name||s.disable)return;let u=s.name||`${this.name}${this.id}`,f=this.cache.get(u);(0,r.errorHandle)(!f,`Can't add an existing [${u}] to the [${this.name}]`),this.id+=1;let h=(0,t.createElement)("div");(0,t.addClass)(h,`art-${this.name}`),(0,t.addClass)(h,`art-${this.name}-${u}`);let d=Array.from(this.$parent.children);h.dataset.index=s.index||this.id;let b=d.find(v=>Number(v.dataset.index)>=Number(h.dataset.index));b?b.insertAdjacentElement("beforebegin",h):(0,t.append)(this.$parent,h),s.html&&(0,t.append)(h,s.html),s.style&&(0,t.setStyles)(h,s.style),s.tooltip&&(0,t.tooltip)(h,s.tooltip);let j=[];if(s.click){let v=this.art.events.proxy(h,"click",g=>{g.preventDefault(),s.click.call(this.art,this,g)});j.push(v)}return s.selector&&["left","right"].includes(s.position)&&this.addSelector(s,h,j),this[u]=h,this.cache.set(u,{$ref:h,events:j,option:s}),s.mounted&&s.mounted.call(this.art,h),h}addSelector(c,s,u){let{hover:f,proxy:h}=this.art.events;(0,t.addClass)(s,"art-control-selector");let d=(0,t.createElement)("div");(0,t.addClass)(d,"art-selector-value"),(0,t.append)(d,c.html),s.innerText="",(0,t.append)(s,d);let b=c.selector.map(($,y)=>`<div class="art-selector-item ${$.default?"art-current":""}" data-index="${y}">${$.html}</div>`).join(""),j=(0,t.createElement)("div");(0,t.addClass)(j,"art-selector-list"),(0,t.append)(j,b),(0,t.append)(s,j);let v=()=>{let $=(0,t.getStyle)(s,"width"),y=(0,t.getStyle)(j,"width");j.style.left=`${$/2-y/2}px`};f(s,v);let g=h(j,"click",async $=>{let y=($.composedPath()||[]).find(T=>(0,t.hasClass)(T,"art-selector-item"));if(!y)return;(0,t.inverseClass)(y,"art-current");let k=Number(y.dataset.index),x=c.selector[k]||{};if(d.innerText=y.innerText,c.onSelect){let T=await c.onSelect.call(this.art,x,y,$);(0,p.isStringOrNumber)(T)&&(d.innerHTML=T)}v()});u.push(g)}remove(c){let s=this.cache.get(c);(0,r.errorHandle)(s,`Can't find [${c}] from the [${this.name}]`),s.option.beforeUnmount&&s.option.beforeUnmount.call(this.art,s.$ref);for(let u=0;u<s.events.length;u++)this.art.events.remove(s.events[u]);this.cache.delete(c),delete this[c],(0,t.remove)(s.$ref)}update(c){let s=this.cache.get(c.name);return s&&(c=Object.assign(s.option,c),this.remove(c.name)),this.add(c)}}},{"./dom":"XgAQE","./format":"13atT","./error":"2nFlF","option-validator":"9I0i9","../scheme":"AdvwB","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],cxHNK:[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"default",()=>p);var t=a("../utils");function p(r){return i=>({...r,tooltip:i.i18n.get("Fullscreen"),mounted:n=>{let{proxy:l,icons:c,i18n:s}=i,u=(0,t.append)(n,c.fullscreenOn),f=(0,t.append)(n,c.fullscreenOff);(0,t.setStyle)(f,"display","none"),l(n,"click",()=>{i.fullscreen=!i.fullscreen}),i.on("fullscreen",h=>{h?((0,t.tooltip)(n,s.get("Exit Fullscreen")),(0,t.setStyle)(u,"display","none"),(0,t.setStyle)(f,"display","inline-flex")):((0,t.tooltip)(n,s.get("Fullscreen")),(0,t.setStyle)(u,"display","inline-flex"),(0,t.setStyle)(f,"display","none"))})}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"66eEC":[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"default",()=>p);var t=a("../utils");function p(r){return i=>({...r,tooltip:i.i18n.get("Web Fullscreen"),mounted:n=>{let{proxy:l,icons:c,i18n:s}=i,u=(0,t.append)(n,c.fullscreenWebOn),f=(0,t.append)(n,c.fullscreenWebOff);(0,t.setStyle)(f,"display","none"),l(n,"click",()=>{i.fullscreenWeb=!i.fullscreenWeb}),i.on("fullscreenWeb",h=>{h?((0,t.tooltip)(n,s.get("Exit Web Fullscreen")),(0,t.setStyle)(u,"display","none"),(0,t.setStyle)(f,"display","inline-flex")):((0,t.tooltip)(n,s.get("Web Fullscreen")),(0,t.setStyle)(u,"display","inline-flex"),(0,t.setStyle)(f,"display","none"))})}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],kCFkA:[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"default",()=>p);var t=a("../utils");function p(r){return i=>({...r,tooltip:i.i18n.get("PIP Mode"),mounted:n=>{let{proxy:l,icons:c,i18n:s}=i;(0,t.append)(n,c.pip),l(n,"click",()=>{i.pip=!i.pip}),i.on("pip",u=>{(0,t.tooltip)(n,s.get(u?"Exit PIP Mode":"PIP Mode"))})}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],iRhgD:[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"default",()=>p);var t=a("../utils");function p(r){return i=>({...r,mounted:n=>{let{proxy:l,icons:c,i18n:s}=i,u=(0,t.append)(n,c.play),f=(0,t.append)(n,c.pause);function h(){(0,t.setStyle)(u,"display","flex"),(0,t.setStyle)(f,"display","none")}function d(){(0,t.setStyle)(u,"display","none"),(0,t.setStyle)(f,"display","flex")}(0,t.tooltip)(u,s.get("Play")),(0,t.tooltip)(f,s.get("Pause")),l(u,"click",()=>{i.play()}),l(f,"click",()=>{i.pause()}),i.playing?d():h(),i.on("video:playing",()=>{d()}),i.on("video:pause",()=>{h()})}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],aBBSH:[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"getPosFromEvent",()=>p),e.export(o,"setCurrentTime",()=>r),e.export(o,"default",()=>i);var t=a("../utils");function p(n,l){let{$progress:c}=n.template,{left:s}=(0,t.getRect)(c),u=t.isMobile?l.touches[0].clientX:l.clientX,f=(0,t.clamp)(u-s,0,c.clientWidth),h=f/c.clientWidth*n.duration,d=(0,t.secondToTime)(h),b=(0,t.clamp)(f/c.clientWidth,0,1);return{second:h,time:d,width:f,percentage:b}}function r(n,l){if(n.isRotate){let c=l.touches[0].clientY/n.height,s=c*n.duration;n.emit("setBar","played",c,l),n.seek=s}else{let{second:c,percentage:s}=p(n,l);n.emit("setBar","played",s,l),n.seek=c}}function i(n){return l=>{let{icons:c,option:s,proxy:u}=l;return{...n,html:'<div class="art-control-progress-inner"><div class="art-progress-hover"></div><div class="art-progress-loaded"></div><div class="art-progress-played"></div><div class="art-progress-highlight"></div><div class="art-progress-indicator"></div><div class="art-progress-tip"></div></div>',mounted:f=>{let h=null,d=!1,b=(0,t.query)(".art-progress-hover",f),j=(0,t.query)(".art-progress-loaded",f),v=(0,t.query)(".art-progress-played",f),g=(0,t.query)(".art-progress-highlight",f),$=(0,t.query)(".art-progress-indicator",f),y=(0,t.query)(".art-progress-tip",f);function k(x,T){let{width:O,time:w}=T||p(l,x);y.innerText=w;let I=y.clientWidth;O<=I/2?(0,t.setStyle)(y,"left",0):O>f.clientWidth-I/2?(0,t.setStyle)(y,"left",`${f.clientWidth-I}px`):(0,t.setStyle)(y,"left",`${O-I/2}px`)}c.indicator?(0,t.append)($,c.indicator):(0,t.setStyle)($,"backgroundColor","var(--art-theme)"),l.on("setBar",function(x,T,O){let w=x==="played"&&O&&t.isMobile;x==="loaded"&&(0,t.setStyle)(j,"width",`${100*T}%`),x==="hover"&&(0,t.setStyle)(b,"width",`${100*T}%`),x==="played"&&((0,t.setStyle)(v,"width",`${100*T}%`),(0,t.setStyle)($,"left",`${100*T}%`)),w&&((0,t.setStyle)(y,"display","flex"),k(O,{width:f.clientWidth*T,time:(0,t.secondToTime)(T*l.duration)}),clearTimeout(h),h=setTimeout(()=>{(0,t.setStyle)(y,"display","none")},500))}),l.on("video:loadedmetadata",function(){g.innerText="";for(let x=0;x<s.highlight.length;x++){let T=s.highlight[x],O=(0,t.clamp)(T.time,0,l.duration)/l.duration*100,w=`<span data-text="${T.text}" data-time="${T.time}" style="left: ${O}%"></span>`;(0,t.append)(g,w)}}),l.on("video:progress",()=>{l.emit("setBar","loaded",l.loaded)}),l.constructor.USE_RAF?l.on("raf",()=>{l.emit("setBar","played",l.played)}):l.on("video:timeupdate",()=>{l.emit("setBar","played",l.played)}),l.on("video:ended",()=>{l.emit("setBar","played",1)}),l.emit("setBar","loaded",l.loaded||0),t.isMobile||(u(f,"click",x=>{x.target!==$&&r(l,x)}),u(f,"mousemove",x=>{let{percentage:T}=p(l,x);l.emit("setBar","hover",T,x),(0,t.setStyle)(y,"display","flex"),(0,t.includeFromEvent)(x,g)?function(O){let{width:w}=p(l,O),{text:I}=O.target.dataset;y.innerText=I;let S=y.clientWidth;w<=S/2?(0,t.setStyle)(y,"left",0):w>f.clientWidth-S/2?(0,t.setStyle)(y,"left",`${f.clientWidth-S}px`):(0,t.setStyle)(y,"left",`${w-S/2}px`)}(x):k(x)}),u(f,"mouseleave",x=>{(0,t.setStyle)(y,"display","none"),l.emit("setBar","hover",0,x)}),u(f,"mousedown",x=>{d=x.button===0}),l.on("document:mousemove",x=>{if(d){let{second:T,percentage:O}=p(l,x);l.emit("setBar","played",O,x),l.seek=T}}),l.on("document:mouseup",()=>{d&&(d=!1)}))}}}}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"7H0CE":[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"default",()=>p);var t=a("../utils");function p(r){return i=>({...r,style:t.isMobile?{fontSize:"12px",padding:"0 5px"}:{cursor:"auto",padding:"0 10px"},mounted:n=>{function l(){let s=`${(0,t.secondToTime)(i.currentTime)} / ${(0,t.secondToTime)(i.duration)}`;s!==n.innerText&&(n.innerText=s)}l();let c=["video:loadedmetadata","video:timeupdate","video:progress"];for(let s=0;s<c.length;s++)i.on(c[s],l)}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],lMwFm:[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"default",()=>p);var t=a("../utils");function p(r){return i=>({...r,mounted:n=>{let{proxy:l,icons:c}=i,s=(0,t.append)(n,c.volume),u=(0,t.append)(n,c.volumeClose),f=(0,t.append)(n,'<div class="art-volume-panel"></div>'),h=(0,t.append)(f,'<div class="art-volume-inner"></div>'),d=(0,t.append)(h,'<div class="art-volume-val"></div>'),b=(0,t.append)(h,'<div class="art-volume-slider"></div>'),j=(0,t.append)(b,'<div class="art-volume-handle"></div>'),v=(0,t.append)(j,'<div class="art-volume-loaded"></div>'),g=(0,t.append)(b,'<div class="art-volume-indicator"></div>');function $(k){let{top:x,height:T}=(0,t.getRect)(b);return 1-(k.clientY-x)/T}function y(){if(i.muted||i.volume===0)(0,t.setStyle)(s,"display","none"),(0,t.setStyle)(u,"display","flex"),(0,t.setStyle)(g,"top","100%"),(0,t.setStyle)(v,"top","100%"),d.innerText=0;else{let k=100*i.volume;(0,t.setStyle)(s,"display","flex"),(0,t.setStyle)(u,"display","none"),(0,t.setStyle)(g,"top",`${100-k}%`),(0,t.setStyle)(v,"top",`${100-k}%`),d.innerText=Math.floor(k)}}if(y(),i.on("video:volumechange",y),l(s,"click",()=>{i.muted=!0}),l(u,"click",()=>{i.muted=!1}),t.isMobile)(0,t.setStyle)(f,"display","none");else{let k=!1;l(b,"mousedown",x=>{k=x.button===0,i.volume=$(x)}),i.on("document:mousemove",x=>{k&&(i.muted=!1,i.volume=$(x))}),i.on("document:mouseup",()=>{k&&(k=!1)})}}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"8BrCu":[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"default",()=>p);var t=a("../utils");function p(r){return i=>({...r,tooltip:i.i18n.get("Show Setting"),mounted:n=>{let{proxy:l,icons:c,i18n:s}=i;(0,t.append)(n,c.setting),l(n,"click",()=>{i.setting.toggle(),i.setting.updateStyle()}),i.on("setting",u=>{(0,t.tooltip)(n,s.get(u?"Hide Setting":"Show Setting"))})}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"2HiWx":[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"default",()=>p);var t=a("../utils");function p(r){return i=>({...r,mounted:n=>{let{option:l,events:{loadImg:c},template:{$progress:s,$video:u}}=i,f=null,h=null,d=!1,b=!1;i.on("setBar",async(j,v,g)=>{let $=j==="played"&&g&&t.isMobile;if(j==="hover"||$){if(d||(d=!0,h=await c(l.thumbnails.url),b=!0),!b)return;let y=s.clientWidth*v;(0,t.setStyle)(n,"display","flex"),y>0&&y<s.clientWidth?function(k){let{url:x,number:T,column:O,width:w,height:I}=l.thumbnails,S=w||h.naturalWidth/O,M=I||S/(u.videoWidth/u.videoHeight),C=Math.floor(k/(s.clientWidth/T)),E=Math.ceil(C/O)-1;(0,t.setStyle)(n,"backgroundImage",`url(${x})`),(0,t.setStyle)(n,"height",`${M}px`),(0,t.setStyle)(n,"width",`${S}px`),(0,t.setStyle)(n,"backgroundPosition",`-${(C%O||O-1)*S}px -${E*M}px`),k<=S/2?(0,t.setStyle)(n,"left",0):k>s.clientWidth-S/2?(0,t.setStyle)(n,"left",`${s.clientWidth-S}px`):(0,t.setStyle)(n,"left",`${k-S/2}px`)}(y):t.isMobile||(0,t.setStyle)(n,"display","none"),$&&(clearTimeout(f),f=setTimeout(()=>{(0,t.setStyle)(n,"display","none")},500))}})}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],c1GeG:[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"default",()=>p);var t=a("../utils");function p(r){return i=>({...r,tooltip:i.i18n.get("Screenshot"),mounted:n=>{let{proxy:l,icons:c}=i;(0,t.append)(n,c.screenshot),l(n,"click",()=>{i.screenshot()})}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"6GRju":[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"default",()=>p);var t=a("../utils");function p(r){return i=>({...r,tooltip:i.i18n.get("AirPlay"),mounted:n=>{let{proxy:l,icons:c}=i;(0,t.append)(n,c.airplay),l(n,"click",()=>i.airplay())}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"7iUum":[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o);var t=a("../utils"),p=a("../utils/component"),r=e.interopDefault(p),i=a("./playbackRate"),n=e.interopDefault(i),l=a("./aspectRatio"),c=e.interopDefault(l),s=a("./flip"),u=e.interopDefault(s),f=a("./info"),h=e.interopDefault(f),d=a("./version"),b=e.interopDefault(d),j=a("./close"),v=e.interopDefault(j);class g extends r.default{constructor(y){super(y),this.name="contextmenu",this.$parent=y.template.$contextmenu,t.isMobile||this.init()}init(){let{option:y,proxy:k,template:{$player:x,$contextmenu:T}}=this.art;y.playbackRate&&this.add((0,n.default)({name:"playbackRate",index:10})),y.aspectRatio&&this.add((0,c.default)({name:"aspectRatio",index:20})),y.flip&&this.add((0,u.default)({name:"flip",index:30})),this.add((0,h.default)({name:"info",index:40})),this.add((0,b.default)({name:"version",index:50})),this.add((0,v.default)({name:"close",index:60}));for(let O=0;O<y.contextmenu.length;O++)this.add(y.contextmenu[O]);k(x,"contextmenu",O=>{if(O.preventDefault(),!this.art.constructor.CONTEXTMENU)return;this.show=!0;let w=O.clientX,I=O.clientY,{height:S,width:M,left:C,top:E}=(0,t.getRect)(x),{height:D,width:B}=(0,t.getRect)(T),R=w-C,A=I-E;w+B>C+M&&(R=M-B),I+D>E+S&&(A=S-D),(0,t.setStyles)(T,{top:`${A}px`,left:`${R}px`})}),k(x,"click",O=>{(0,t.includeFromEvent)(O,T)||(this.show=!1)}),this.art.on("blur",()=>{this.show=!1})}}o.default=g},{"../utils":"h3rH9","../utils/component":"guki8","./playbackRate":"f1W36","./aspectRatio":"afxZC","./flip":"9jCuX","./info":"k8wIZ","./version":"bb0TU","./close":"9zTkI","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],f1W36:[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"default",()=>p);var t=a("../utils");function p(r){return i=>{let{i18n:n,constructor:{PLAYBACK_RATE:l}}=i,c=l.map(s=>`<span data-value="${s}">${s===1?n.get("Normal"):s.toFixed(1)}</span>`).join("");return{...r,html:`${n.get("Play Speed")}: ${c}`,click:(s,u)=>{let{value:f}=u.target.dataset;f&&(i.playbackRate=Number(f),s.show=!1)},mounted:s=>{let u=(0,t.query)('[data-value="1"]',s);u&&(0,t.inverseClass)(u,"art-current"),i.on("video:ratechange",()=>{let f=(0,t.queryAll)("span",s).find(h=>Number(h.dataset.value)===i.playbackRate);f&&(0,t.inverseClass)(f,"art-current")})}}}}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],afxZC:[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"default",()=>p);var t=a("../utils");function p(r){return i=>{let{i18n:n,constructor:{ASPECT_RATIO:l}}=i,c=l.map(s=>`<span data-value="${s}">${s==="default"?n.get("Default"):s}</span>`).join("");return{...r,html:`${n.get("Aspect Ratio")}: ${c}`,click:(s,u)=>{let{value:f}=u.target.dataset;f&&(i.aspectRatio=f,s.show=!1)},mounted:s=>{let u=(0,t.query)('[data-value="default"]',s);u&&(0,t.inverseClass)(u,"art-current"),i.on("aspectRatio",f=>{let h=(0,t.queryAll)("span",s).find(d=>d.dataset.value===f);h&&(0,t.inverseClass)(h,"art-current")})}}}}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"9jCuX":[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"default",()=>p);var t=a("../utils");function p(r){return i=>{let{i18n:n,constructor:{FLIP:l}}=i,c=l.map(s=>`<span data-value="${s}">${n.get((0,t.capitalize)(s))}</span>`).join("");return{...r,html:`${n.get("Video Flip")}: ${c}`,click:(s,u)=>{let{value:f}=u.target.dataset;f&&(i.flip=f.toLowerCase(),s.show=!1)},mounted:s=>{let u=(0,t.query)('[data-value="normal"]',s);u&&(0,t.inverseClass)(u,"art-current"),i.on("flip",f=>{let h=(0,t.queryAll)("span",s).find(d=>d.dataset.value===f);h&&(0,t.inverseClass)(h,"art-current")})}}}}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],k8wIZ:[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");function t(p){return r=>({...p,html:r.i18n.get("Video Info"),click:i=>{r.info.show=!0,i.show=!1}})}e.defineInteropFlag(o),e.export(o,"default",()=>t)},{"@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],bb0TU:[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");function t(p){return{...p,html:'<a href="https://artplayer.org" target="_blank">ArtPlayer 5.1.6</a>'}}e.defineInteropFlag(o),e.export(o,"default",()=>t)},{"@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"9zTkI":[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");function t(p){return r=>({...p,html:r.i18n.get("Close"),click:i=>{i.show=!1}})}e.defineInteropFlag(o),e.export(o,"default",()=>t)},{"@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],hD2Lg:[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o);var t=a("./utils"),p=a("./utils/component"),r=e.interopDefault(p);class i extends r.default{constructor(l){super(l),this.name="info",t.isMobile||this.init()}init(){let{proxy:l,constructor:c,template:{$infoPanel:s,$infoClose:u,$video:f}}=this.art;l(u,"click",()=>{this.show=!1});let h=null,d=(0,t.queryAll)("[data-video]",s)||[];this.art.on("destroy",()=>clearTimeout(h)),function b(){for(let j=0;j<d.length;j++){let v=d[j],g=f[v.dataset.video],$=typeof g=="number"?g.toFixed(2):g;v.innerText!==$&&(v.innerText=$)}h=setTimeout(b,c.INFO_LOOP_TIME)}()}}o.default=i},{"./utils":"h3rH9","./utils/component":"guki8","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],lum0D:[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o);var t=a("./utils"),p=a("./utils/component"),r=e.interopDefault(p),i=a("option-validator"),n=e.interopDefault(i),l=a("./scheme"),c=e.interopDefault(l);class s extends r.default{constructor(f){super(f),this.name="subtitle",this.eventDestroy=()=>null,this.init(f.option.subtitle);let h=!1;f.on("video:timeupdate",()=>{if(!this.url)return;let d=this.art.template.$video.webkitDisplayingFullscreen;typeof d=="boolean"&&d!==h&&(h=d,this.createTrack(d?"subtitles":"metadata",this.url))})}get url(){return this.art.template.$track.src}set url(f){this.switch(f)}get textTrack(){return this.art.template.$video.textTracks[0]}get activeCue(){return this.textTrack.activeCues[0]}style(f,h){let{$subtitle:d}=this.art.template;return typeof f=="object"?(0,t.setStyles)(d,f):(0,t.setStyle)(d,f,h)}update(){let{$subtitle:f}=this.art.template;f.innerHTML="",this.activeCue&&(this.art.option.subtitle.escape?f.innerHTML=this.activeCue.text.split(/\r?\n/).map(h=>`<div class="art-subtitle-line">${(0,t.escape)(h)}</div>`).join(""):f.innerHTML=this.activeCue.text,this.art.emit("subtitleUpdate",this.activeCue.text))}async switch(f,h={}){let{i18n:d,notice:b,option:j}=this.art,v={...j.subtitle,...h,url:f},g=await this.init(v);return h.name&&(b.show=`${d.get("Switch Subtitle")}: ${h.name}`),g}createTrack(f,h){let{template:d,proxy:b,option:j}=this.art,{$video:v,$track:g}=d,$=(0,t.createElement)("track");$.default=!0,$.kind=f,$.src=h,$.label=j.subtitle.name||"Artplayer",$.track.mode="hidden",this.eventDestroy(),(0,t.remove)(g),(0,t.append)(v,$),d.$track=$,this.eventDestroy=b(this.textTrack,"cuechange",()=>this.update())}async init(f){let{notice:h,template:{$subtitle:d}}=this.art;if((0,n.default)(f,c.default.subtitle),f.url)return this.style(f.style),fetch(f.url).then(b=>b.arrayBuffer()).then(b=>{let j=new TextDecoder(f.encoding).decode(b);switch(this.art.emit("subtitleLoad",f.url),f.type||(0,t.getExt)(f.url)){case"srt":{let v=(0,t.srtToVtt)(j),g=f.onVttLoad(v);return(0,t.vttToBlob)(g)}case"ass":{let v=(0,t.assToVtt)(j),g=f.onVttLoad(v);return(0,t.vttToBlob)(g)}case"vtt":{let v=f.onVttLoad(j);return(0,t.vttToBlob)(v)}default:return f.url}}).then(b=>(d.innerHTML="",this.url===b||(URL.revokeObjectURL(this.url),this.createTrack("metadata",b),this.art.emit("subtitleSwitch",b)),b)).catch(b=>{throw d.innerHTML="",h.show=b,b})}}o.default=s},{"./utils":"h3rH9","./utils/component":"guki8","option-validator":"9I0i9","./scheme":"AdvwB","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"1Epl5":[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o);var t=a("../utils/error"),p=a("./clickInit"),r=e.interopDefault(p),i=a("./hoverInit"),n=e.interopDefault(i),l=a("./moveInit"),c=e.interopDefault(l),s=a("./resizeInit"),u=e.interopDefault(s),f=a("./gestureInit"),h=e.interopDefault(f),d=a("./viewInit"),b=e.interopDefault(d),j=a("./documentInit"),v=e.interopDefault(j),g=a("./updateInit"),$=e.interopDefault(g);o.default=class{constructor(y){this.destroyEvents=[],this.proxy=this.proxy.bind(this),this.hover=this.hover.bind(this),this.loadImg=this.loadImg.bind(this),(0,r.default)(y,this),(0,n.default)(y,this),(0,c.default)(y,this),(0,u.default)(y,this),(0,h.default)(y,this),(0,b.default)(y,this),(0,v.default)(y,this),(0,$.default)(y,this)}proxy(y,k,x,T={}){if(Array.isArray(k))return k.map(w=>this.proxy(y,w,x,T));y.addEventListener(k,x,T);let O=()=>y.removeEventListener(k,x,T);return this.destroyEvents.push(O),O}hover(y,k,x){k&&this.proxy(y,"mouseenter",k),x&&this.proxy(y,"mouseleave",x)}loadImg(y){return new Promise((k,x)=>{let T;if(y instanceof HTMLImageElement)T=y;else{if(typeof y!="string")return x(new t.ArtPlayerError("Unable to get Image"));(T=new Image).src=y}if(T.complete)return k(T);this.proxy(T,"load",()=>k(T)),this.proxy(T,"error",()=>x(new t.ArtPlayerError(`Failed to load Image: ${T.src}`)))})}remove(y){let k=this.destroyEvents.indexOf(y);k>-1&&(y(),this.destroyEvents.splice(k,1))}destroy(){for(let y=0;y<this.destroyEvents.length;y++)this.destroyEvents[y]()}}},{"../utils/error":"2nFlF","./clickInit":"gzL6e","./hoverInit":"kpTJf","./moveInit":"ef6qz","./resizeInit":"9TXOX","./gestureInit":"dePMU","./viewInit":"hDyWF","./documentInit":"7RjDP","./updateInit":"8SmBT","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],gzL6e:[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"default",()=>p);var t=a("../utils");function p(r,i){let{constructor:n,template:{$player:l,$video:c}}=r;i.proxy(document,["click","contextmenu"],u=>{(0,t.includeFromEvent)(u,l)?(r.isInput=u.target.tagName==="INPUT",r.isFocus=!0,r.emit("focus",u)):(r.isInput=!1,r.isFocus=!1,r.emit("blur",u))});let s=[];i.proxy(c,"click",u=>{let f=Date.now();s.push(f);let{MOBILE_CLICK_PLAY:h,DBCLICK_TIME:d,MOBILE_DBCLICK_PLAY:b,DBCLICK_FULLSCREEN:j}=n,v=s.filter(g=>f-g<=d);switch(v.length){case 1:r.emit("click",u),t.isMobile?!r.isLock&&h&&r.toggle():r.toggle(),s=v;break;case 2:r.emit("dblclick",u),t.isMobile?!r.isLock&&b&&r.toggle():j&&(r.fullscreen=!r.fullscreen),s=[];break;default:s=[]}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],kpTJf:[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"default",()=>p);var t=a("../utils");function p(r,i){let{$player:n}=r.template;i.hover(n,l=>{(0,t.addClass)(n,"art-hover"),r.emit("hover",!0,l)},l=>{(0,t.removeClass)(n,"art-hover"),r.emit("hover",!1,l)})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],ef6qz:[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");function t(p,r){let{$player:i}=p.template;r.proxy(i,"mousemove",n=>{p.emit("mousemove",n)})}e.defineInteropFlag(o),e.export(o,"default",()=>t)},{"@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"9TXOX":[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"default",()=>p);var t=a("../utils");function p(r,i){let{option:n,constructor:l}=r;r.on("resize",()=>{let{aspectRatio:s,notice:u}=r;r.state==="standard"&&n.autoSize&&r.autoSize(),r.aspectRatio=s,u.show=""});let c=(0,t.debounce)(()=>r.emit("resize"),l.RESIZE_TIME);i.proxy(window,["orientationchange","resize"],()=>c()),screen&&screen.orientation&&screen.orientation.onchange&&i.proxy(screen.orientation,"change",()=>c())}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],dePMU:[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"default",()=>r);var t=a("../utils"),p=a("../control/progress");function r(i,n){if(t.isMobile&&!i.option.isLive){let{$video:l,$progress:c}=i.template,s=null,u=!1,f=0,h=0,d=0,b=v=>{if(v.touches.length===1&&!i.isLock){s===c&&(0,p.setCurrentTime)(i,v),u=!0;let{pageX:g,pageY:$}=v.touches[0];f=g,h=$,d=i.currentTime}},j=v=>{if(v.touches.length===1&&u&&i.duration){let{pageX:g,pageY:$}=v.touches[0],y=function(T,O,w,I){var S=O-I,M=w-T,C=0;if(2>Math.abs(M)&&2>Math.abs(S))return C;var E=180*Math.atan2(S,M)/Math.PI;return E>=-45&&E<45?C=4:E>=45&&E<135?C=1:E>=-135&&E<-45?C=2:(E>=135&&E<=180||E>=-180&&E<-135)&&(C=3),C}(f,h,g,$),k=[3,4].includes(y),x=[1,2].includes(y);if(k&&!i.isRotate||x&&i.isRotate){let T=(0,t.clamp)((g-f)/i.width,-1,1),O=(0,t.clamp)(($-h)/i.height,-1,1),w=i.isRotate?O:T,I=s===l?i.constructor.TOUCH_MOVE_RATIO:1,S=(0,t.clamp)(d+i.duration*w*I,0,i.duration);i.seek=S,i.emit("setBar","played",(0,t.clamp)(S/i.duration,0,1),v),i.notice.show=`${(0,t.secondToTime)(S)} / ${(0,t.secondToTime)(i.duration)}`}}};n.proxy(c,"touchstart",v=>{s=c,b(v)}),n.proxy(l,"touchstart",v=>{s=l,b(v)}),n.proxy(l,"touchmove",j),n.proxy(c,"touchmove",j),n.proxy(document,"touchend",()=>{u&&(f=0,h=0,d=0,u=!1,s=null)})}}},{"../utils":"h3rH9","../control/progress":"aBBSH","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],hDyWF:[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"default",()=>p);var t=a("../utils");function p(r,i){let{option:n,constructor:l,template:{$container:c}}=r,s=(0,t.throttle)(()=>{r.emit("view",(0,t.isInViewport)(c,l.SCROLL_GAP))},l.SCROLL_TIME);i.proxy(window,"scroll",()=>s()),r.on("view",u=>{n.autoMini&&(r.mini=!u)})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"7RjDP":[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");function t(p,r){r.proxy(document,"mousemove",i=>{p.emit("document:mousemove",i)}),r.proxy(document,"mouseup",i=>{p.emit("document:mouseup",i)})}e.defineInteropFlag(o),e.export(o,"default",()=>t)},{"@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"8SmBT":[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");function t(p){if(p.constructor.USE_RAF){let r=null;(function i(){p.playing&&p.emit("raf"),p.isDestroy||(r=requestAnimationFrame(i))})(),p.on("destroy",()=>{cancelAnimationFrame(r)})}}e.defineInteropFlag(o),e.export(o,"default",()=>t)},{"@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],eTow4:[function(a,m,o){a("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(o);var e=a("./utils");o.default=class{constructor(t){this.art=t,this.keys={},t.option.hotkey&&!e.isMobile&&this.init()}init(){let{proxy:t,constructor:p}=this.art;this.add(27,()=>{this.art.fullscreenWeb&&(this.art.fullscreenWeb=!1)}),this.add(32,()=>{this.art.toggle()}),this.add(37,()=>{this.art.backward=p.SEEK_STEP}),this.add(38,()=>{this.art.volume+=p.VOLUME_STEP}),this.add(39,()=>{this.art.forward=p.SEEK_STEP}),this.add(40,()=>{this.art.volume-=p.VOLUME_STEP}),t(window,"keydown",r=>{if(this.art.isFocus){let i=document.activeElement.tagName.toUpperCase(),n=document.activeElement.getAttribute("contenteditable");if(i!=="INPUT"&&i!=="TEXTAREA"&&n!==""&&n!=="true"&&!r.altKey&&!r.ctrlKey&&!r.metaKey&&!r.shiftKey){let l=this.keys[r.keyCode];if(l){r.preventDefault();for(let c=0;c<l.length;c++)l[c].call(this.art,r);this.art.emit("hotkey",r)}}}})}add(t,p){return this.keys[t]?this.keys[t].push(p):this.keys[t]=[p],this}remove(t,p){if(this.keys[t]){let r=this.keys[t].indexOf(p);r!==-1&&this.keys[t].splice(r,1)}return this}}},{"./utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"4fDoD":[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o);var t=a("./utils/component"),p=e.interopDefault(t);class r extends p.default{constructor(n){super(n);let{option:l,template:{$layer:c}}=n;this.name="layer",this.$parent=c;for(let s=0;s<l.layers.length;s++)this.add(l.layers[s])}}o.default=r},{"./utils/component":"guki8","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],fE0Sp:[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o);var t=a("./utils"),p=a("./utils/component"),r=e.interopDefault(p);class i extends r.default{constructor(l){super(l),this.name="loading",(0,t.append)(l.template.$loading,l.icons.loading)}}o.default=i},{"./utils":"h3rH9","./utils/component":"guki8","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"9PuGy":[function(a,m,o){a("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(o);var e=a("./utils");o.default=class{constructor(t){this.art=t,this.timer=null}set show(t){let{constructor:p,template:{$player:r,$noticeInner:i}}=this.art;t?(i.innerText=t instanceof Error?t.message.trim():t,(0,e.addClass)(r,"art-notice-show"),clearTimeout(this.timer),this.timer=setTimeout(()=>{i.innerText="",(0,e.removeClass)(r,"art-notice-show")},p.NOTICE_TIME)):(0,e.removeClass)(r,"art-notice-show")}}},{"./utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"2etr0":[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o);var t=a("./utils"),p=a("./utils/component"),r=e.interopDefault(p);class i extends r.default{constructor(l){super(l),this.name="mask";let{template:c,icons:s,events:u}=l,f=(0,t.append)(c.$state,s.state),h=(0,t.append)(c.$state,s.error);(0,t.setStyle)(h,"display","none"),l.on("destroy",()=>{(0,t.setStyle)(f,"display","none"),(0,t.setStyle)(h,"display",null)}),u.proxy(c.$state,"click",()=>l.play())}}o.default=i},{"./utils":"h3rH9","./utils/component":"guki8","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"6dYSr":[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o);var t=a("../utils"),p=a("bundle-text:./loading.svg"),r=e.interopDefault(p),i=a("bundle-text:./state.svg"),n=e.interopDefault(i),l=a("bundle-text:./check.svg"),c=e.interopDefault(l),s=a("bundle-text:./play.svg"),u=e.interopDefault(s),f=a("bundle-text:./pause.svg"),h=e.interopDefault(f),d=a("bundle-text:./volume.svg"),b=e.interopDefault(d),j=a("bundle-text:./volume-close.svg"),v=e.interopDefault(j),g=a("bundle-text:./screenshot.svg"),$=e.interopDefault(g),y=a("bundle-text:./setting.svg"),k=e.interopDefault(y),x=a("bundle-text:./arrow-left.svg"),T=e.interopDefault(x),O=a("bundle-text:./arrow-right.svg"),w=e.interopDefault(O),I=a("bundle-text:./playback-rate.svg"),S=e.interopDefault(I),M=a("bundle-text:./aspect-ratio.svg"),C=e.interopDefault(M),E=a("bundle-text:./config.svg"),D=e.interopDefault(E),B=a("bundle-text:./pip.svg"),R=e.interopDefault(B),A=a("bundle-text:./lock.svg"),V=e.interopDefault(A),W=a("bundle-text:./unlock.svg"),U=e.interopDefault(W),Y=a("bundle-text:./fullscreen-off.svg"),K=e.interopDefault(Y),X=a("bundle-text:./fullscreen-on.svg"),G=e.interopDefault(X),J=a("bundle-text:./fullscreen-web-off.svg"),Q=e.interopDefault(J),tt=a("bundle-text:./fullscreen-web-on.svg"),et=e.interopDefault(tt),rt=a("bundle-text:./switch-on.svg"),at=e.interopDefault(rt),ot=a("bundle-text:./switch-off.svg"),N=e.interopDefault(ot),F=a("bundle-text:./flip.svg"),ut=e.interopDefault(F),z=a("bundle-text:./error.svg"),Z=e.interopDefault(z),q=a("bundle-text:./close.svg"),_=e.interopDefault(q),L=a("bundle-text:./airplay.svg"),it=e.interopDefault(L);o.default=class{constructor(pt){let st={loading:r.default,state:n.default,play:u.default,pause:h.default,check:c.default,volume:b.default,volumeClose:v.default,screenshot:$.default,setting:k.default,pip:R.default,arrowLeft:T.default,arrowRight:w.default,playbackRate:S.default,aspectRatio:C.default,config:D.default,lock:V.default,flip:ut.default,unlock:U.default,fullscreenOff:K.default,fullscreenOn:G.default,fullscreenWebOff:Q.default,fullscreenWebOn:et.default,switchOn:at.default,switchOff:N.default,error:Z.default,close:_.default,airplay:it.default,...pt.option.icons};for(let nt in st)(0,t.def)(this,nt,{get:()=>(0,t.getIcon)(nt,st[nt])})}}},{"../utils":"h3rH9","bundle-text:./loading.svg":"fY5Gt","bundle-text:./state.svg":"iNfLt","bundle-text:./check.svg":"jtE9u","bundle-text:./play.svg":"elgfY","bundle-text:./pause.svg":"eKokJ","bundle-text:./volume.svg":"hNB4y","bundle-text:./volume-close.svg":"i9vta","bundle-text:./screenshot.svg":"kB3Mf","bundle-text:./setting.svg":"3MONs","bundle-text:./arrow-left.svg":"iMCpk","bundle-text:./arrow-right.svg":"3oe4L","bundle-text:./playback-rate.svg":"liE22","bundle-text:./aspect-ratio.svg":"8HqYc","bundle-text:./config.svg":"hYAAH","bundle-text:./pip.svg":"jmNrH","bundle-text:./lock.svg":"cIqko","bundle-text:./unlock.svg":"65zy4","bundle-text:./fullscreen-off.svg":"jaJRT","bundle-text:./fullscreen-on.svg":"cRY1X","bundle-text:./fullscreen-web-off.svg":"3aVGL","bundle-text:./fullscreen-web-on.svg":"4DiVn","bundle-text:./switch-on.svg":"kwdKE","bundle-text:./switch-off.svg":"bWfXZ","bundle-text:./flip.svg":"h3zZ9","bundle-text:./error.svg":"7Oyth","bundle-text:./close.svg":"U5Jcy","bundle-text:./airplay.svg":"jK5Fx","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],fY5Gt:[function(a,m,o){m.exports='<svg xmlns="http://www.w3.org/2000/svg" width="50" height="50" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid" class="uil-default"><path fill="none" class="bk" d="M0 0h100v100H0z"/><rect x="47" y="40" width="6" height="20" rx="5" ry="5" fill="#fff" transform="translate(0 -30)"><animate attributeName="opacity" from="1" to="0" dur="1s" begin="-1s" repeatCount="indefinite"/></rect><rect x="47" y="40" width="6" height="20" rx="5" ry="5" fill="#fff" transform="rotate(30 105.98 65)"><animate attributeName="opacity" from="1" to="0" dur="1s" begin="-0.9166666666666666s" repeatCount="indefinite"/></rect><rect x="47" y="40" width="6" height="20" rx="5" ry="5" fill="#fff" transform="rotate(60 75.98 65)"><animate attributeName="opacity" from="1" to="0" dur="1s" begin="-0.8333333333333334s" repeatCount="indefinite"/></rect><rect x="47" y="40" width="6" height="20" rx="5" ry="5" fill="#fff" transform="rotate(90 65 65)"><animate attributeName="opacity" from="1" to="0" dur="1s" begin="-0.75s" repeatCount="indefinite"/></rect><rect x="47" y="40" width="6" height="20" rx="5" ry="5" fill="#fff" transform="rotate(120 58.66 65)"><animate attributeName="opacity" from="1" to="0" dur="1s" begin="-0.6666666666666666s" repeatCount="indefinite"/></rect><rect x="47" y="40" width="6" height="20" rx="5" ry="5" fill="#fff" transform="rotate(150 54.02 65)"><animate attributeName="opacity" from="1" to="0" dur="1s" begin="-0.5833333333333334s" repeatCount="indefinite"/></rect><rect x="47" y="40" width="6" height="20" rx="5" ry="5" fill="#fff" transform="rotate(180 50 65)"><animate attributeName="opacity" from="1" to="0" dur="1s" begin="-0.5s" repeatCount="indefinite"/></rect><rect x="47" y="40" width="6" height="20" rx="5" ry="5" fill="#fff" transform="rotate(-150 45.98 65)"><animate attributeName="opacity" from="1" to="0" dur="1s" begin="-0.4166666666666667s" repeatCount="indefinite"/></rect><rect x="47" y="40" width="6" height="20" rx="5" ry="5" fill="#fff" transform="rotate(-120 41.34 65)"><animate attributeName="opacity" from="1" to="0" dur="1s" begin="-0.3333333333333333s" repeatCount="indefinite"/></rect><rect x="47" y="40" width="6" height="20" rx="5" ry="5" fill="#fff" transform="rotate(-90 35 65)"><animate attributeName="opacity" from="1" to="0" dur="1s" begin="-0.25s" repeatCount="indefinite"/></rect><rect x="47" y="40" width="6" height="20" rx="5" ry="5" fill="#fff" transform="rotate(-60 24.02 65)"><animate attributeName="opacity" from="1" to="0" dur="1s" begin="-0.16666666666666666s" repeatCount="indefinite"/></rect><rect x="47" y="40" width="6" height="20" rx="5" ry="5" fill="#fff" transform="rotate(-30 -5.98 65)"><animate attributeName="opacity" from="1" to="0" dur="1s" begin="-0.08333333333333333s" repeatCount="indefinite"/></rect></svg>'},{}],iNfLt:[function(a,m,o){m.exports='<svg xmlns="http://www.w3.org/2000/svg" width="80" height="80" viewBox="0 0 24 24"><path fill="#fff" d="M9.5 9.325v5.35q0 .575.525.875t1.025-.05l4.15-2.65q.475-.3.475-.85t-.475-.85L11.05 8.5q-.5-.35-1.025-.05t-.525.875ZM12 22q-2.075 0-3.9-.788t-3.175-2.137q-1.35-1.35-2.137-3.175T2 12q0-2.075.788-3.9t2.137-3.175q1.35-1.35 3.175-2.137T12 2q2.075 0 3.9.788t3.175 2.137q1.35 1.35 2.138 3.175T22 12q0 2.075-.788 3.9t-2.137 3.175q-1.35 1.35-3.175 2.138T12 22Z"/></svg>'},{}],jtE9u:[function(a,m,o){m.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" style="width:100%;height:100%"><path d="M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2z" fill="#fff"/></svg>'},{}],elgfY:[function(a,m,o){m.exports='<svg xmlns="http://www.w3.org/2000/svg" height="22" width="22"><path d="M17.982 9.275 8.06 3.27A2.013 2.013 0 0 0 5 4.994v12.011a2.017 2.017 0 0 0 3.06 1.725l9.922-6.005a2.017 2.017 0 0 0 0-3.45z"/></svg>'},{}],eKokJ:[function(a,m,o){m.exports='<svg xmlns="http://www.w3.org/2000/svg" height="22" width="22"><path d="M7 3a2 2 0 0 0-2 2v12a2 2 0 1 0 4 0V5a2 2 0 0 0-2-2zm8 0a2 2 0 0 0-2 2v12a2 2 0 1 0 4 0V5a2 2 0 0 0-2-2z"/></svg>'},{}],hNB4y:[function(a,m,o){m.exports='<svg xmlns="http://www.w3.org/2000/svg" height="22" width="22"><path d="M10.188 4.65 6 8H5a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h1l4.188 3.35a.5.5 0 0 0 .812-.39V5.04a.498.498 0 0 0-.812-.39zm4.258-.872a1 1 0 0 0-.862 1.804 6.002 6.002 0 0 1-.007 10.838 1 1 0 0 0 .86 1.806A8.001 8.001 0 0 0 19 11a8.001 8.001 0 0 0-4.554-7.222z"/><path d="M15 11a3.998 3.998 0 0 0-2-3.465v6.93A3.998 3.998 0 0 0 15 11z"/></svg>'},{}],i9vta:[function(a,m,o){m.exports='<svg xmlns="http://www.w3.org/2000/svg" height="22" width="22"><path d="M15 11a3.998 3.998 0 0 0-2-3.465v2.636l1.865 1.865A4.02 4.02 0 0 0 15 11z"/><path d="M13.583 5.583A5.998 5.998 0 0 1 17 11a6 6 0 0 1-.585 2.587l1.477 1.477a8.001 8.001 0 0 0-3.446-11.286 1 1 0 0 0-.863 1.805zm5.195 13.195-2.121-2.121-1.414-1.414-1.415-1.415L13 13l-2-2-3.889-3.889-3.889-3.889a.999.999 0 1 0-1.414 1.414L5.172 8H5a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h1l4.188 3.35a.5.5 0 0 0 .812-.39v-3.131l2.587 2.587-.01.005a1 1 0 0 0 .86 1.806c.215-.102.424-.214.627-.333l2.3 2.3a1.001 1.001 0 0 0 1.414-1.416zM11 5.04a.5.5 0 0 0-.813-.39L8.682 5.854 11 8.172V5.04z"/></svg>'},{}],kB3Mf:[function(a,m,o){m.exports='<svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewBox="0 0 50 50"><path d="M19.402 6a5 5 0 0 0-4.902 4.012L14.098 12H9a5 5 0 0 0-5 5v21a5 5 0 0 0 5 5h32a5 5 0 0 0 5-5V17a5 5 0 0 0-5-5h-5.098l-.402-1.988A5 5 0 0 0 30.598 6ZM25 17c5.52 0 10 4.48 10 10s-4.48 10-10 10-10-4.48-10-10 4.48-10 10-10Zm0 2c-4.41 0-8 3.59-8 8s3.59 8 8 8 8-3.59 8-8-3.59-8-8-8Z"/></svg>'},{}],"3MONs":[function(a,m,o){m.exports='<svg xmlns="http://www.w3.org/2000/svg" height="22" width="22"><circle cx="11" cy="11" r="2"/><path d="M19.164 8.861 17.6 8.6a6.978 6.978 0 0 0-1.186-2.099l.574-1.533a1 1 0 0 0-.436-1.217l-1.997-1.153a1.001 1.001 0 0 0-1.272.23l-1.008 1.225a7.04 7.04 0 0 0-2.55.001L8.716 2.829a1 1 0 0 0-1.272-.23L5.447 3.751a1 1 0 0 0-.436 1.217l.574 1.533A6.997 6.997 0 0 0 4.4 8.6l-1.564.261A.999.999 0 0 0 2 9.847v2.306c0 .489.353.906.836.986l1.613.269a7 7 0 0 0 1.228 2.075l-.558 1.487a1 1 0 0 0 .436 1.217l1.997 1.153c.423.244.961.147 1.272-.23l1.04-1.263a7.089 7.089 0 0 0 2.272 0l1.04 1.263a1 1 0 0 0 1.272.23l1.997-1.153a1 1 0 0 0 .436-1.217l-.557-1.487c.521-.61.94-1.31 1.228-2.075l1.613-.269a.999.999 0 0 0 .835-.986V9.847a.999.999 0 0 0-.836-.986zM11 15a4 4 0 1 1 0-8 4 4 0 0 1 0 8z"/></svg>'},{}],iMCpk:[function(a,m,o){m.exports='<svg xmlns="http://www.w3.org/2000/svg" height="32" width="32"><path d="m19.41 20.09-4.58-4.59 4.58-4.59L18 9.5l-6 6 6 6z" fill="#fff"/></svg>'},{}],"3oe4L":[function(a,m,o){m.exports='<svg xmlns="http://www.w3.org/2000/svg" height="32" width="32"><path d="m12.59 20.34 4.58-4.59-4.58-4.59L14 9.75l6 6-6 6z" fill="#fff"/></svg>'},{}],liE22:[function(a,m,o){m.exports='<svg height="24" width="24"><path d="M10 8v8l6-4-6-4zM6.3 5l-.6-.8C7.2 3 9 2.2 11 2l.1 1c-1.8.2-3.4.9-4.8 2zM5 6.3l-.8-.6C3 7.2 2.2 9 2 11l1 .1c.2-1.8.9-3.4 2-4.8zm0 11.4c-1.1-1.4-1.8-3.1-2-4.8L2 13c.2 2 1 3.8 2.2 5.4l.8-.7zm6.1 3.3c-1.8-.2-3.4-.9-4.8-2l-.6.8C7.2 21 9 21.8 11 22l.1-1zM22 12c0-5.2-3.9-9.4-9-10l-.1 1c4.6.5 8.1 4.3 8.1 9s-3.5 8.5-8.1 9l.1 1c5.2-.5 9-4.8 9-10z" fill="#fff" style="--darkreader-inline-fill:#a8a6a4"/></svg>'},{}],"8HqYc":[function(a,m,o){m.exports=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 88 88" style="width:100%;height:100%;transform:translate(0,0)"><defs><clipPath id="__lottie_element_216"><path d="M0 0h88v88H0z"/></clipPath></defs><g style="display:block" clip-path="url('#__lottie_element_216')"><path fill="#FFF" d="m12.438-12.702-2.82 2.82c-.79.79-.79 2.05 0 2.83l7.07 7.07-7.07 7.07c-.79.79-.79 2.05 0 2.83l2.82 2.83c.79.78 2.05.78 2.83 0l11.32-11.31c.78-.78.78-2.05 0-2.83l-11.32-11.31c-.78-.79-2.04-.79-2.83 0zm-24.88 0c-.74-.74-1.92-.78-2.7-.12l-.13.12-11.31 11.31a2 2 0 0 0-.12 2.7l.12.13 11.31 11.31a2 2 0 0 0 2.7.12l.13-.12 2.83-2.83c.74-.74.78-1.91.11-2.7l-.11-.13-7.07-7.07 7.07-7.07c.74-.74.78-1.91.11-2.7l-.11-.13-2.83-2.82zM28-28c4.42 0 8 3.58 8 8v40c0 4.42-3.58 8-8 8h-56c-4.42 0-8-3.58-8-8v-40c0-4.42 3.58-8 8-8h56z" style="--darkreader-inline-fill:#a8a6a4" transform="translate(44 44)"/></g></svg>`},{}],hYAAH:[function(a,m,o){m.exports='<svg height="24" width="24"><path d="M15 17h6v1h-6v-1zm-4 0H3v1h8v2h1v-5h-1v2zm3-9h1V3h-1v2H3v1h11v2zm4-3v1h3V5h-3zM6 14h1V9H6v2H3v1h3v2zm4-2h11v-1H10v1z" fill="#fff" style="--darkreader-inline-fill:#a8a6a4"/></svg>'},{}],jmNrH:[function(a,m,o){m.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36" height="32" width="32"><path d="M25 17h-8v6h8v-6Zm4 8V10.98C29 9.88 28.1 9 27 9H9c-1.1 0-2 .88-2 1.98V25c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2Zm-2 .02H9V10.97h18v14.05Z"/></svg>'},{}],cIqko:[function(a,m,o){m.exports='<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="20" height="20"><path d="M298.667 426.667v-85.334a213.333 213.333 0 1 1 426.666 0v85.334H768A85.333 85.333 0 0 1 853.333 512v256A85.333 85.333 0 0 1 768 853.333H256A85.333 85.333 0 0 1 170.667 768V512A85.333 85.333 0 0 1 256 426.667h42.667zM512 213.333a128 128 0 0 0-128 128v85.334h256v-85.334a128 128 0 0 0-128-128z" fill="#fff"/></svg>'},{}],"65zy4":[function(a,m,o){m.exports='<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="20" height="20"><path d="m666.752 194.517-49.365 74.112A128 128 0 0 0 384 341.333l.043 85.334h384A85.333 85.333 0 0 1 853.376 512v256a85.333 85.333 0 0 1-85.333 85.333H256A85.333 85.333 0 0 1 170.667 768V512A85.333 85.333 0 0 1 256 426.667h42.667v-85.334a213.333 213.333 0 0 1 368.085-146.816z" fill="#fff"/></svg>'},{}],jaJRT:[function(a,m,o){m.exports='<svg class="icon" width="22" height="22" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="#fff" d="M768 298.667h170.667V384h-256V128H768v170.667zM341.333 384h-256v-85.333H256V128h85.333v256zM768 725.333V896h-85.333V640h256v85.333H768zM341.333 640v256H256V725.333H85.333V640h256z"/></svg>'},{}],cRY1X:[function(a,m,o){m.exports='<svg class="icon" width="22" height="22" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="#fff" d="M625.778 256H768v142.222h113.778v-256h-256V256zM256 398.222V256h142.222V142.222h-256v256H256zm512 227.556V768H625.778v113.778h256v-256H768zM398.222 768H256V625.778H142.222v256h256V768z"/></svg>'},{}],"3aVGL":[function(a,m,o){m.exports='<svg class="icon" width="18" height="18" viewBox="0 0 1152 1024" xmlns="http://www.w3.org/2000/svg"><path fill="#fff" d="M1075.2 0H76.8A76.8 76.8 0 0 0 0 76.8v870.4a76.8 76.8 0 0 0 76.8 76.8h998.4a76.8 76.8 0 0 0 76.8-76.8V76.8A76.8 76.8 0 0 0 1075.2 0zM1024 128v768H128V128h896zM896 512a64 64 0 0 1 7.488 127.552L896 640H768v128a64 64 0 0 1-56.512 63.552L704 832a64 64 0 0 1-63.552-56.512L640 768V582.592c0-34.496 25.024-66.112 61.632-70.208l8-.384H896zm-640 0a64 64 0 0 1-7.488-127.552L256 384h128V256a64 64 0 0 1 56.512-63.552L448 192a64 64 0 0 1 63.552 56.512L512 256v185.408c0 34.432-25.024 66.112-61.632 70.144l-8 .448H256z"/></svg>'},{}],"4DiVn":[function(a,m,o){m.exports='<svg class="icon" width="18" height="18" viewBox="0 0 1152 1024" xmlns="http://www.w3.org/2000/svg"><path fill="#fff" d="M1075.2 0H76.8A76.8 76.8 0 0 0 0 76.8v870.4a76.8 76.8 0 0 0 76.8 76.8h998.4a76.8 76.8 0 0 0 76.8-76.8V76.8A76.8 76.8 0 0 0 1075.2 0zM1024 128v768H128V128h896zm-576 64a64 64 0 0 1 7.488 127.552L448 320H320v128a64 64 0 0 1-56.512 63.552L256 512a64 64 0 0 1-63.552-56.512L192 448V262.592c0-34.432 25.024-66.112 61.632-70.144l8-.448H448zm256 640a64 64 0 0 1-7.488-127.552L704 704h128V576a64 64 0 0 1 56.512-63.552L896 512a64 64 0 0 1 63.552 56.512L960 576v185.408c0 34.496-25.024 66.112-61.632 70.208l-8 .384H704z"/></svg>'},{}],kwdKE:[function(a,m,o){m.exports='<svg class="icon" width="26" height="26" viewBox="0 0 1664 1024" xmlns="http://www.w3.org/2000/svg"><path fill="#648FFC" d="M1152 0H512a512 512 0 0 0 0 1024h640a512 512 0 0 0 0-1024zm0 960a448 448 0 1 1 448-448 448 448 0 0 1-448 448z"/></svg>'},{}],bWfXZ:[function(a,m,o){m.exports='<svg class="icon" width="26" height="26" viewBox="0 0 1740 1024" xmlns="http://www.w3.org/2000/svg"><path fill="#fff" d="M511.898 1024h670.515c282.419-.41 511.18-229.478 511.18-511.898 0-282.419-228.761-511.488-511.18-511.897H511.898C229.478.615.717 229.683.717 512.102c0 282.42 228.761 511.488 511.18 511.898zm-.564-975.36A464.589 464.589 0 1 1 48.026 513.024 463.872 463.872 0 0 1 511.334 48.435v.205z"/></svg>'},{}],h3zZ9:[function(a,m,o){m.exports='<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="24" height="24"><path d="M554.667 810.667V896h-85.334v-85.333h85.334zm-384-632.662a42.667 42.667 0 0 1 34.986 18.219l203.904 291.328a42.667 42.667 0 0 1 0 48.896L205.611 827.776A42.667 42.667 0 0 1 128 803.328V220.672a42.667 42.667 0 0 1 42.667-42.667zm682.666 0a42.667 42.667 0 0 1 42.368 37.718l.299 4.949v582.656a42.667 42.667 0 0 1-74.24 28.63l-3.413-4.182-203.904-291.328a42.667 42.667 0 0 1-3.03-43.861l3.03-5.035 203.946-291.328a42.667 42.667 0 0 1 34.944-18.219zM554.667 640v85.333h-85.334V640h85.334zm-358.4-320.896V716.8L335.957 512 196.31 319.104zm358.4 150.23v85.333h-85.334v-85.334h85.334zm0-170.667V384h-85.334v-85.333h85.334zm0-170.667v85.333h-85.334V128h85.334z" fill="#fff"/></svg>'},{}],"7Oyth":[function(a,m,o){m.exports='<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="50" height="50"><path d="M593.818 168.55 949.82 763.76c26.153 43.746 10.732 99.738-34.447 125.052-14.397 8.069-30.72 12.308-47.37 12.308H155.976c-52.224 0-94.536-40.96-94.536-91.505 0-16.097 4.383-31.928 12.718-45.875l356.004-595.19c26.173-43.724 84.009-58.654 129.208-33.341a93.082 93.082 0 0 1 34.448 33.341zM512 819.2a61.44 61.44 0 1 0 0-122.88 61.44 61.44 0 0 0 0 122.88zm0-512a72.315 72.315 0 0 0-71.762 81.306l25.723 205.721a46.408 46.408 0 0 0 92.078 0l25.723-205.742A72.315 72.315 0 0 0 512 307.2z"/></svg>'},{}],U5Jcy:[function(a,m,o){m.exports='<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="22" height="22"><path d="m571.733 512 268.8-268.8c17.067-17.067 17.067-42.667 0-59.733-17.066-17.067-42.666-17.067-59.733 0L512 452.267l-268.8-268.8c-17.067-17.067-42.667-17.067-59.733 0-17.067 17.066-17.067 42.666 0 59.733l268.8 268.8-268.8 268.8c-17.067 17.067-17.067 42.667 0 59.733 8.533 8.534 19.2 12.8 29.866 12.8s21.334-4.266 29.867-12.8l268.8-268.8 268.8 268.8c8.533 8.534 19.2 12.8 29.867 12.8s21.333-4.266 29.866-12.8c17.067-17.066 17.067-42.666 0-59.733L571.733 512z"/></svg>'},{}],jK5Fx:[function(a,m,o){m.exports='<svg width="18" height="18" xmlns="http://www.w3.org/2000/svg"><g fill="#fff"><path d="M16 1H2a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h3v-2H3V3h12v8h-2v2h3a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1Z"/><path d="M4 17h10l-5-6z"/></g></svg>'},{}],bRHiA:[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o);var t=a("./flip"),p=e.interopDefault(t),r=a("./aspectRatio"),i=e.interopDefault(r),n=a("./playbackRate"),l=e.interopDefault(n),c=a("./subtitleOffset"),s=e.interopDefault(c),u=a("../utils/component"),f=e.interopDefault(u),h=a("../utils/error"),d=a("../utils");class b extends f.default{constructor(v){super(v);let{option:g,controls:$,template:{$setting:y}}=v;this.name="setting",this.$parent=y,this.option=[],this.events=[],this.cache=new Map,g.setting&&(this.init(),v.on("blur",()=>{this.show&&(this.show=!1,this.render(this.option))}),v.on("focus",k=>{let x=(0,d.includeFromEvent)(k,$.setting),T=(0,d.includeFromEvent)(k,this.$parent);!this.show||x||T||(this.show=!1,this.render(this.option))}))}static makeRecursion(v,g,$){for(let y=0;y<v.length;y++){let k=v[y];k.$parentItem=g,k.$parentList=$,b.makeRecursion(k.selector||[],k,v)}return v}get defaultSettings(){let v=[],{option:g}=this.art;return g.playbackRate&&v.push((0,l.default)(this.art)),g.aspectRatio&&v.push((0,i.default)(this.art)),g.flip&&v.push((0,p.default)(this.art)),g.subtitleOffset&&v.push((0,s.default)(this.art)),v}init(){let{option:v}=this.art,g=[...this.defaultSettings,...v.settings];this.option=b.makeRecursion(g),this.destroy(),this.render(this.option)}destroy(){for(let v=0;v<this.events.length;v++)this.art.events.remove(this.events[v]);this.$parent.innerHTML="",this.events=[],this.cache=new Map}find(v="",g=this.option){for(let $=0;$<g.length;$++){let y=g[$];if(y.name===v)return y;{let k=this.find(v,y.selector||[]);if(k)return k}}}remove(v){let g=this.find(v);(0,h.errorHandle)(g,`Can't find [${v}] from the [setting]`);let $=g.$parentItem?g.$parentItem.selector:this.option;return $.splice($.indexOf(g),1),this.option=b.makeRecursion(this.option),this.destroy(),this.render(this.option),this.option}update(v){let g=this.find(v.name);return g?(Object.assign(g,v),this.option=b.makeRecursion(this.option),this.destroy(),this.render(this.option)):this.add(v),this.option}add(v){return this.option.push(v),this.option=b.makeRecursion(this.option),this.destroy(),this.render(this.option),this.option}creatHeader(v){let{icons:g,proxy:$,constructor:y}=this.art,k=(0,d.createElement)("div");(0,d.setStyle)(k,"height",`${y.SETTING_ITEM_HEIGHT}px`),(0,d.addClass)(k,"art-setting-item"),(0,d.addClass)(k,"art-setting-item-back");let x=(0,d.append)(k,'<div class="art-setting-item-left"></div>'),T=(0,d.createElement)("div");(0,d.addClass)(T,"art-setting-item-left-icon"),(0,d.append)(T,g.arrowLeft),(0,d.append)(x,T),(0,d.append)(x,v.$parentItem.html);let O=$(k,"click",()=>this.render(v.$parentList));return this.events.push(O),k}creatItem(v,g){let{icons:$,proxy:y,constructor:k}=this.art,x=(0,d.createElement)("div");(0,d.addClass)(x,"art-setting-item"),(0,d.setStyle)(x,"height",`${k.SETTING_ITEM_HEIGHT}px`),(0,d.isStringOrNumber)(g.name)&&(x.dataset.name=g.name),(0,d.isStringOrNumber)(g.value)&&(x.dataset.value=g.value);let T=(0,d.append)(x,'<div class="art-setting-item-left"></div>'),O=(0,d.append)(x,'<div class="art-setting-item-right"></div>'),w=(0,d.createElement)("div");switch((0,d.addClass)(w,"art-setting-item-left-icon"),v){case"switch":case"range":(0,d.append)(w,(0,d.isStringOrNumber)(g.icon)||g.icon instanceof Element?g.icon:$.config);break;case"selector":g.selector&&g.selector.length?(0,d.append)(w,(0,d.isStringOrNumber)(g.icon)||g.icon instanceof Element?g.icon:$.config):(0,d.append)(w,$.check)}(0,d.append)(T,w),g.$icon=w,(0,d.def)(g,"icon",{configurable:!0,get:()=>w.innerHTML,set(M){(0,d.isStringOrNumber)(M)&&(w.innerHTML=M)}});let I=(0,d.createElement)("div");(0,d.addClass)(I,"art-setting-item-left-text"),(0,d.append)(I,g.html||""),(0,d.append)(T,I),g.$html=I,(0,d.def)(g,"html",{configurable:!0,get:()=>I.innerHTML,set(M){(0,d.isStringOrNumber)(M)&&(I.innerHTML=M)}});let S=(0,d.createElement)("div");switch((0,d.addClass)(S,"art-setting-item-right-tooltip"),(0,d.append)(S,g.tooltip||""),(0,d.append)(O,S),g.$tooltip=S,(0,d.def)(g,"tooltip",{configurable:!0,get:()=>S.innerHTML,set(M){(0,d.isStringOrNumber)(M)&&(S.innerHTML=M)}}),v){case"switch":{let M=(0,d.createElement)("div");(0,d.addClass)(M,"art-setting-item-right-icon");let C=(0,d.append)(M,$.switchOn),E=(0,d.append)(M,$.switchOff);(0,d.setStyle)(g.switch?E:C,"display","none"),(0,d.append)(O,M),g.$switch=g.switch,(0,d.def)(g,"switch",{configurable:!0,get:()=>g.$switch,set(D){g.$switch=D,D?((0,d.setStyle)(E,"display","none"),(0,d.setStyle)(C,"display",null)):((0,d.setStyle)(E,"display",null),(0,d.setStyle)(C,"display","none"))}});break}case"range":{let M=(0,d.createElement)("div");(0,d.addClass)(M,"art-setting-item-right-icon");let C=(0,d.append)(M,'<input type="range">');C.value=g.range[0]||0,C.min=g.range[1]||0,C.max=g.range[2]||10,C.step=g.range[3]||1,(0,d.addClass)(C,"art-setting-range"),(0,d.append)(O,M),g.$range=C,(0,d.def)(g,"range",{configurable:!0,get:()=>C.valueAsNumber,set(E){C.value=Number(E)}})}break;case"selector":if(g.selector&&g.selector.length){let M=(0,d.createElement)("div");(0,d.addClass)(M,"art-setting-item-right-icon"),(0,d.append)(M,$.arrowRight),(0,d.append)(O,M)}}switch(v){case"switch":if(g.onSwitch){let M=y(x,"click",async C=>{g.switch=await g.onSwitch.call(this.art,g,x,C)});this.events.push(M)}break;case"range":if(g.$range){if(g.onRange){let M=y(g.$range,"change",async C=>{g.tooltip=await g.onRange.call(this.art,g,x,C)});this.events.push(M)}if(g.onChange){let M=y(g.$range,"input",async C=>{g.tooltip=await g.onChange.call(this.art,g,x,C)});this.events.push(M)}}break;case"selector":{let M=y(x,"click",async C=>{if(g.selector&&g.selector.length)this.render(g.selector,g.width);else{(0,d.inverseClass)(x,"art-current");for(let E=0;E<g.$parentItem.selector.length;E++){let D=g.$parentItem.selector[E];D.default=D===g}if(g.$parentList&&this.render(g.$parentList),g.$parentItem&&g.$parentItem.onSelect){let E=await g.$parentItem.onSelect.call(this.art,g,x,C);g.$parentItem.$tooltip&&(0,d.isStringOrNumber)(E)&&(g.$parentItem.$tooltip.innerHTML=E)}}});this.events.push(M),g.default&&(0,d.addClass)(x,"art-current")}}return x}updateStyle(v){let{controls:g,constructor:$,template:{$player:y,$setting:k}}=this.art;if(g.setting&&!d.isMobile){let x=v||$.SETTING_WIDTH,{left:T,width:O}=(0,d.getRect)(g.setting),{left:w,width:I}=(0,d.getRect)(y),S=T-w+O/2-x/2;S+x>I?((0,d.setStyle)(k,"left",null),(0,d.setStyle)(k,"right",null)):((0,d.setStyle)(k,"left",`${S}px`),(0,d.setStyle)(k,"right","auto"))}}render(v,g){let{constructor:$}=this.art;if(this.cache.has(v)){let y=this.cache.get(v);(0,d.inverseClass)(y,"art-current"),(0,d.setStyle)(this.$parent,"width",`${y.dataset.width}px`),(0,d.setStyle)(this.$parent,"height",`${y.dataset.height}px`),this.updateStyle(Number(y.dataset.width))}else{let y=(0,d.createElement)("div");(0,d.addClass)(y,"art-setting-panel"),y.dataset.width=g||$.SETTING_WIDTH,y.dataset.height=v.length*$.SETTING_ITEM_HEIGHT,v[0]&&v[0].$parentItem&&((0,d.append)(y,this.creatHeader(v[0])),y.dataset.height=Number(y.dataset.height)+$.SETTING_ITEM_HEIGHT);for(let k=0;k<v.length;k++){let x=v[k];(0,d.has)(x,"switch")?(0,d.append)(y,this.creatItem("switch",x)):(0,d.has)(x,"range")?(0,d.append)(y,this.creatItem("range",x)):(0,d.append)(y,this.creatItem("selector",x))}(0,d.append)(this.$parent,y),this.cache.set(v,y),(0,d.inverseClass)(y,"art-current"),(0,d.setStyle)(this.$parent,"width",`${y.dataset.width}px`),(0,d.setStyle)(this.$parent,"height",`${y.dataset.height}px`),this.updateStyle(Number(y.dataset.width)),v[0]&&v[0].$parentItem&&v[0].$parentItem.mounted&&v[0].$parentItem.mounted.call(this.art,y,v[0].$parentItem)}}}o.default=b},{"./flip":"bNOaj","./aspectRatio":"5lAsp","./playbackRate":"e6hsR","./subtitleOffset":"fFNEr","../utils/component":"guki8","../utils/error":"2nFlF","../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],bNOaj:[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"default",()=>p);var t=a("../utils");function p(r){let{i18n:i,icons:n,constructor:{SETTING_ITEM_WIDTH:l,FLIP:c}}=r;function s(u,f,h){f&&(f.innerText=i.get((0,t.capitalize)(h)));let d=(0,t.queryAll)(".art-setting-item",u).find(b=>b.dataset.value===h);d&&(0,t.inverseClass)(d,"art-current")}return{width:l,name:"flip",html:i.get("Video Flip"),tooltip:i.get((0,t.capitalize)(r.flip)),icon:n.flip,selector:c.map(u=>({value:u,name:`aspect-ratio-${u}`,default:u===r.flip,html:i.get((0,t.capitalize)(u))})),onSelect:u=>(r.flip=u.value,u.html),mounted:(u,f)=>{s(u,f.$tooltip,r.flip),r.on("flip",()=>{s(u,f.$tooltip,r.flip)})}}}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"5lAsp":[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"default",()=>p);var t=a("../utils");function p(r){let{i18n:i,icons:n,constructor:{SETTING_ITEM_WIDTH:l,ASPECT_RATIO:c}}=r;function s(f){return f==="default"?i.get("Default"):f}function u(f,h,d){h&&(h.innerText=s(d));let b=(0,t.queryAll)(".art-setting-item",f).find(j=>j.dataset.value===d);b&&(0,t.inverseClass)(b,"art-current")}return{width:l,name:"aspect-ratio",html:i.get("Aspect Ratio"),icon:n.aspectRatio,tooltip:s(r.aspectRatio),selector:c.map(f=>({value:f,name:`aspect-ratio-${f}`,default:f===r.aspectRatio,html:s(f)})),onSelect:f=>(r.aspectRatio=f.value,f.html),mounted:(f,h)=>{u(f,h.$tooltip,r.aspectRatio),r.on("aspectRatio",()=>{u(f,h.$tooltip,r.aspectRatio)})}}}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],e6hsR:[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"default",()=>p);var t=a("../utils");function p(r){let{i18n:i,icons:n,constructor:{SETTING_ITEM_WIDTH:l,PLAYBACK_RATE:c}}=r;function s(f){return f===1?i.get("Normal"):f.toFixed(1)}function u(f,h,d){h&&(h.innerText=s(d));let b=(0,t.queryAll)(".art-setting-item",f).find(j=>Number(j.dataset.value)===d);b&&(0,t.inverseClass)(b,"art-current")}return{width:l,name:"playback-rate",html:i.get("Play Speed"),tooltip:s(r.playbackRate),icon:n.playbackRate,selector:c.map(f=>({value:f,name:`aspect-ratio-${f}`,default:f===r.playbackRate,html:s(f)})),onSelect:f=>(r.playbackRate=f.value,f.html),mounted:(f,h)=>{u(f,h.$tooltip,r.playbackRate),r.on("video:ratechange",()=>{u(f,h.$tooltip,r.playbackRate)})}}}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],fFNEr:[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");function t(p){let{i18n:r,icons:i,constructor:n}=p;return{width:n.SETTING_ITEM_WIDTH,name:"subtitle-offset",html:r.get("Subtitle Offset"),icon:i.subtitle,tooltip:"0s",range:[0,-5,5,.1],onChange:l=>(p.subtitleOffset=l.range,l.range+"s")}}e.defineInteropFlag(o),e.export(o,"default",()=>t)},{"@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],f2Thp:[function(a,m,o){a("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(o),o.default=class{constructor(){this.name="artplayer_settings",this.settings={}}get(e){try{let t=JSON.parse(window.localStorage.getItem(this.name))||{};return e?t[e]:t}catch{return e?this.settings[e]:this.settings}}set(e,t){try{let p=Object.assign({},this.get(),{[e]:t});window.localStorage.setItem(this.name,JSON.stringify(p))}catch{this.settings[e]=t}}del(e){try{let t=this.get();delete t[e],window.localStorage.setItem(this.name,JSON.stringify(t))}catch{delete this.settings[e]}}clear(){try{window.localStorage.removeItem(this.name)}catch{this.settings={}}}}},{"@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"96ThS":[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o);var t=a("../utils"),p=a("./miniProgressBar"),r=e.interopDefault(p),i=a("./autoOrientation"),n=e.interopDefault(i),l=a("./autoPlayback"),c=e.interopDefault(l),s=a("./fastForward"),u=e.interopDefault(s),f=a("./lock"),h=e.interopDefault(f);o.default=class{constructor(d){this.art=d,this.id=0;let{option:b}=d;b.miniProgressBar&&!b.isLive&&this.add(r.default),b.lock&&t.isMobile&&this.add(h.default),b.autoPlayback&&!b.isLive&&this.add(c.default),b.autoOrientation&&t.isMobile&&this.add(n.default),b.fastForward&&t.isMobile&&!b.isLive&&this.add(u.default);for(let j=0;j<b.plugins.length;j++)this.add(b.plugins[j])}add(d){this.id+=1;let b=d.call(this.art,this.art);return b instanceof Promise?b.then(j=>this.next(d,j)):this.next(d,b)}next(d,b){let j=b&&b.name||d.name||`plugin${this.id}`;return(0,t.errorHandle)(!(0,t.has)(this,j),`Cannot add a plugin that already has the same name: ${j}`),(0,t.def)(this,j,{value:b}),this}}},{"../utils":"h3rH9","./miniProgressBar":"iBx4M","./autoOrientation":"2O9qO","./autoPlayback":"iiOc1","./fastForward":"d9NUE","./lock":"5dnKh","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],iBx4M:[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"default",()=>p);var t=a("../utils");function p(r){return r.on("control",i=>{i?(0,t.removeClass)(r.template.$player,"art-mini-progress-bar"):(0,t.addClass)(r.template.$player,"art-mini-progress-bar")}),{name:"mini-progress-bar"}}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"2O9qO":[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"default",()=>p);var t=a("../utils");function p(r){let{constructor:i,template:{$player:n,$video:l}}=r;return r.on("fullscreenWeb",c=>{if(c){let{videoWidth:s,videoHeight:u}=l,{clientWidth:f,clientHeight:h}=document.documentElement;(s>u&&f<h||s<u&&f>h)&&setTimeout(()=>{(0,t.setStyle)(n,"width",`${h}px`),(0,t.setStyle)(n,"height",`${f}px`),(0,t.setStyle)(n,"transform-origin","0 0"),(0,t.setStyle)(n,"transform",`rotate(90deg) translate(0, -${f}px)`),(0,t.addClass)(n,"art-auto-orientation"),r.isRotate=!0,r.emit("resize")},i.AUTO_ORIENTATION_TIME)}else(0,t.hasClass)(n,"art-auto-orientation")&&((0,t.removeClass)(n,"art-auto-orientation"),r.isRotate=!1,r.emit("resize"))}),r.on("fullscreen",async c=>{var u;if(!((u=screen==null?void 0:screen.orientation)!=null&&u.lock))return;let s=screen.orientation.type;if(c){let{videoWidth:f,videoHeight:h}=l,{clientWidth:d,clientHeight:b}=document.documentElement;if(f>h&&d<b||f<h&&d>b){let j=s.startsWith("portrait")?"landscape":"portrait";await screen.orientation.lock(j),(0,t.addClass)(n,"art-auto-orientation-fullscreen")}}else(0,t.hasClass)(n,"art-auto-orientation-fullscreen")&&(await screen.orientation.lock(s),(0,t.removeClass)(n,"art-auto-orientation-fullscreen"))}),{name:"autoOrientation",get state(){return(0,t.hasClass)(n,"art-auto-orientation")}}}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],iiOc1:[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"default",()=>p);var t=a("../utils");function p(r){let{i18n:i,icons:n,storage:l,constructor:c,proxy:s,template:{$poster:u}}=r,f=r.layers.add({name:"auto-playback",html:'<div class="art-auto-playback-close"></div><div class="art-auto-playback-last"></div><div class="art-auto-playback-jump"></div>'}),h=(0,t.query)(".art-auto-playback-last",f),d=(0,t.query)(".art-auto-playback-jump",f),b=(0,t.query)(".art-auto-playback-close",f);return r.on("video:timeupdate",()=>{if(r.playing){let j=l.get("times")||{},v=Object.keys(j);v.length>c.AUTO_PLAYBACK_MAX&&delete j[v[0]],j[r.option.id||r.option.url]=r.currentTime,l.set("times",j)}}),r.on("ready",()=>{let j=(l.get("times")||{})[r.option.id||r.option.url];j&&j>=c.AUTO_PLAYBACK_MIN&&((0,t.append)(b,n.close),(0,t.setStyle)(f,"display","flex"),h.innerText=`${i.get("Last Seen")} ${(0,t.secondToTime)(j)}`,d.innerText=i.get("Jump Play"),s(b,"click",()=>{(0,t.setStyle)(f,"display","none")}),s(d,"click",()=>{r.seek=j,r.play(),(0,t.setStyle)(u,"display","none"),(0,t.setStyle)(f,"display","none")}),r.once("video:timeupdate",()=>{setTimeout(()=>{(0,t.setStyle)(f,"display","none")},c.AUTO_PLAYBACK_TIMEOUT)}))}),{name:"auto-playback",get times(){return l.get("times")||{}},clear:()=>l.del("times"),delete(j){let v=l.get("times")||{};return delete v[j],l.set("times",v),v}}}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],d9NUE:[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"default",()=>p);var t=a("../utils");function p(r){let{constructor:i,proxy:n,template:{$player:l,$video:c}}=r,s=null,u=!1,f=1,h=()=>{clearTimeout(s),u&&(u=!1,r.playbackRate=f,(0,t.removeClass)(l,"art-fast-forward"))};return n(c,"touchstart",d=>{d.touches.length===1&&r.playing&&!r.isLock&&(s=setTimeout(()=>{u=!0,f=r.playbackRate,r.playbackRate=i.FAST_FORWARD_VALUE,(0,t.addClass)(l,"art-fast-forward")},i.FAST_FORWARD_TIME))}),n(document,"touchmove",h),n(document,"touchend",h),{name:"fastForward",get state(){return(0,t.hasClass)(l,"art-fast-forward")}}}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"5dnKh":[function(a,m,o){var e=a("@parcel/transformer-js/src/esmodule-helpers.js");e.defineInteropFlag(o),e.export(o,"default",()=>p);var t=a("../utils");function p(r){let{layers:i,icons:n,template:{$player:l}}=r;function c(){return(0,t.hasClass)(l,"art-lock")}function s(){(0,t.addClass)(l,"art-lock"),r.isLock=!0,r.emit("lock",!0)}function u(){(0,t.removeClass)(l,"art-lock"),r.isLock=!1,r.emit("lock",!1)}return i.add({name:"lock",mounted(f){let h=(0,t.append)(f,n.lock),d=(0,t.append)(f,n.unlock);(0,t.setStyle)(h,"display","none"),r.on("lock",b=>{b?((0,t.setStyle)(h,"display","inline-flex"),(0,t.setStyle)(d,"display","none")):((0,t.setStyle)(h,"display","none"),(0,t.setStyle)(d,"display","inline-flex"))})},click(){c()?u():s()}}),{name:"lock",get state(){return c()},set state(f){f?s():u()}}}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}]},["abjMI"],"abjMI","parcelRequireb749")})(lt,lt.exports);var ht=lt.exports;const Tt=It(ht),Ot=St({__proto__:null,default:Tt},[ht]);export{Ot as a};
diff --git a/assets/dash.all.min-BF52VcER.js b/assets/dash.all.min-S0Hns9UN.js
similarity index 88%
rename from assets/dash.all.min-BF52VcER.js
rename to assets/dash.all.min-S0Hns9UN.js
index acee1c5..91548ec 100644
--- a/assets/dash.all.min-BF52VcER.js
+++ b/assets/dash.all.min-S0Hns9UN.js
@@ -1,26 +1,26 @@
-import{g as fu}from"./commonjsHelpers-Cpj98o6Y.js";function du(Gr,bi){for(var wr=0;wr<bi.length;wr++){const dr=bi[wr];if(typeof dr!="string"&&!Array.isArray(dr)){for(const Fn in dr)if(Fn!=="default"&&!(Fn in Gr)){const Nr=Object.getOwnPropertyDescriptor(dr,Fn);Nr&&Object.defineProperty(Gr,Fn,Nr.get?Nr:{enumerable:!0,get:()=>dr[Fn]})}}}return Object.freeze(Object.defineProperty(Gr,Symbol.toStringTag,{value:"Module"}))}var To={exports:{}};/*! For license information please see dash.all.min.js.LICENSE.txt */(function(Gr,bi){(function(wr,dr){Gr.exports=dr()})(self,function(){return function(){var wr={4593:function(at,we){var P,ae,T,t,e,y=function(_){for(var m=[],n=0;n<_.length;++n){var c=_.charCodeAt(n);c<128?m.push(c):c<2048?(m.push(192|c>>6),m.push(128|63&c)):c<65536?(m.push(224|c>>12),m.push(128|63&c>>6),m.push(128|63&c)):(m.push(240|c>>18),m.push(128|63&c>>12),m.push(128|63&c>>6),m.push(128|63&c))}return m},p=function(_){for(var m=[],n=0;n<_.length;){var c=_[n++];c<128||(c<224?(c=(31&c)<<6,c|=63&_[n++]):c<240?(c=(15&c)<<12,c|=(63&_[n++])<<6,c|=63&_[n++]):(c=(7&c)<<18,c|=(63&_[n++])<<12,c|=(63&_[n++])<<6,c|=63&_[n++])),m.push(String.fromCharCode(c))}return m.join("")},u={};P="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ae=function(_){for(var m=0,n=[],c=0|_.length/3;0<c--;){var d=(_[m]<<16)+(_[m+1]<<8)+_[m+2];m+=3,n.push(P.charAt(63&d>>18)),n.push(P.charAt(63&d>>12)),n.push(P.charAt(63&d>>6)),n.push(P.charAt(63&d))}return _.length-m==2?(d=(_[m]<<16)+(_[m+1]<<8),n.push(P.charAt(63&d>>18)),n.push(P.charAt(63&d>>12)),n.push(P.charAt(63&d>>6)),n.push("=")):_.length-m==1&&(d=_[m]<<16,n.push(P.charAt(63&d>>18)),n.push(P.charAt(63&d>>12)),n.push("==")),n.join("")},T=function(){for(var _=[],m=0;m<P.length;++m)_[P.charCodeAt(m)]=m;return _[61]=0,_}(),t=function(_){for(var m=0,n=[],c=0|_.length/4;0<c--;){var d=(T[_.charCodeAt(m)]<<18)+(T[_.charCodeAt(m+1)]<<12)+(T[_.charCodeAt(m+2)]<<6)+T[_.charCodeAt(m+3)];n.push(255&d>>16),n.push(255&d>>8),n.push(255&d),m+=4}return n&&(_.charAt(m-2)=="="?(n.pop(),n.pop()):_.charAt(m-1)=="="&&n.pop()),n},e={encode:function(_){for(var m=[],n=0;n<_.length;++n)m.push(_.charCodeAt(n));return m},decode:function(_){for(var m=0;m<s.length;++m)a[m]=String.fromCharCode(a[m]);return a.join("")}},u.decodeArray=function(_){var m=t(_);return new Uint8Array(m)},u.encodeASCII=function(_){var m=e.encode(_);return ae(m)},u.decodeASCII=function(_){var m=t(_);return e.decode(m)},u.encode=function(_){var m=y(_);return ae(m)},u.decode=function(_){var m=t(_);return p(m)},we.decode=u.decode,we.decodeArray=u.decodeArray,we.encode=u.encode,we.encodeASCII=u.encodeASCII},452:function(at,we){(function(P){var ae={42:225,92:233,94:237,95:243,96:250,123:231,124:247,125:209,126:241,127:9608,128:174,129:176,130:189,131:191,132:8482,133:162,134:163,135:9834,136:224,137:32,138:232,139:226,140:234,141:238,142:244,143:251,144:193,145:201,146:211,147:218,148:220,149:252,150:8216,151:161,152:42,153:8217,154:9473,155:169,156:8480,157:8226,158:8220,159:8221,160:192,161:194,162:199,163:200,164:202,165:203,166:235,167:206,168:207,169:239,170:212,171:217,172:249,173:219,174:171,175:187,176:195,177:227,178:205,179:204,180:236,181:210,182:242,183:213,184:245,185:123,186:125,187:92,188:94,189:95,190:124,191:8764,192:196,193:228,194:214,195:246,196:223,197:165,198:164,199:9475,200:197,201:229,202:216,203:248,204:9487,205:9491,206:9495,207:9499},T=function(O){var K=O;return ae.hasOwnProperty(O)&&(K=ae[O]),String.fromCharCode(K)},t=15,e=32,y={17:1,18:3,21:5,22:7,23:9,16:11,19:12,20:14},p={17:2,18:4,21:6,22:8,23:10,19:13,20:15},u={25:1,26:3,29:5,30:7,31:9,24:11,27:12,28:14},_={25:2,26:4,29:6,30:8,31:10,27:13,28:15},m=["white","green","blue","cyan","red","yellow","magenta","black","transparent"],n={verboseFilter:{DATA:3,DEBUG:3,INFO:2,WARNING:2,TEXT:1,ERROR:0},time:null,verboseLevel:0,setTime:function(O){this.time=O},log:function(O,K){var re=this.verboseFilter[O];this.verboseLevel>=re&&console.log(this.time+" ["+O+"] "+K)}},c=function(O){for(var K=[],re=0;re<O.length;re++)K.push(O[re].toString(16));return K},d=function(O,K,re,H,ee){this.foreground=O||"white",this.underline=K||!1,this.italics=re||!1,this.background=H||"black",this.flash=ee||!1};d.prototype={reset:function(){this.foreground="white",this.underline=!1,this.italics=!1,this.background="black",this.flash=!1},setStyles:function(O){for(var K=["foreground","underline","italics","background","flash"],re=0;re<K.length;re++){var H=K[re];O.hasOwnProperty(H)&&(this[H]=O[H])}},isDefault:function(){return this.foreground==="white"&&!this.underline&&!this.italics&&this.background==="black"&&!this.flash},equals:function(O){return this.foreground===O.foreground&&this.underline===O.underline&&this.italics===O.italics&&this.background===O.background&&this.flash===O.flash},copy:function(O){this.foreground=O.foreground,this.underline=O.underline,this.italics=O.italics,this.background=O.background,this.flash=O.flash},toString:function(){return"color="+this.foreground+", underline="+this.underline+", italics="+this.italics+", background="+this.background+", flash="+this.flash}};var I=function(O,K,re,H,ee,ue){this.uchar=O||" ",this.penState=new d(K,re,H,ee,ue)};I.prototype={reset:function(){this.uchar=" ",this.penState.reset()},setChar:function(O,K){this.uchar=O,this.penState.copy(K)},setPenState:function(O){this.penState.copy(O)},equals:function(O){return this.uchar===O.uchar&&this.penState.equals(O.penState)},copy:function(O){this.uchar=O.uchar,this.penState.copy(O.penState)},isEmpty:function(){return this.uchar===" "&&this.penState.isDefault()}};var k=function(){this.chars=[];for(var O=0;O<e;O++)this.chars.push(new I);this.pos=0,this.currPenState=new d};k.prototype={equals:function(O){for(var K=!0,re=0;re<e;re++)if(!this.chars[re].equals(O.chars[re])){K=!1;break}return K},copy:function(O){for(var K=0;K<e;K++)this.chars[K].copy(O.chars[K])},isEmpty:function(){for(var O=!0,K=0;K<e;K++)if(!this.chars[K].isEmpty()){O=!1;break}return O},setCursor:function(O){this.pos!==O&&(this.pos=O),this.pos<0?(n.log("ERROR","Negative cursor position "+this.pos),this.pos=0):this.pos>e&&(n.log("ERROR","Too large cursor position "+this.pos),this.pos=e)},moveCursor:function(O){var K=this.pos+O;if(O>1)for(var re=this.pos+1;re<K+1;re++)this.chars[re].setPenState(this.currPenState);this.setCursor(K)},backSpace:function(){this.moveCursor(-1),this.chars[this.pos].setChar(" ",this.currPenState)},insertChar:function(O){O>=144&&this.backSpace();var K=T(O);this.pos>=e?n.log("ERROR","Cannot insert "+O.toString(16)+" ("+K+") at position "+this.pos+". Skipping it!"):(this.chars[this.pos].setChar(K,this.currPenState),this.moveCursor(1))},clearFromPos:function(O){var K;for(K=O;K<e;K++)this.chars[K].reset()},clear:function(){this.clearFromPos(0),this.pos=0,this.currPenState.reset()},clearToEndOfRow:function(){this.clearFromPos(this.pos)},getTextString:function(){for(var O=[],K=!0,re=0;re<e;re++){var H=this.chars[re].uchar;H!==" "&&(K=!1),O.push(H)}return K?"":O.join("")},setPenStyles:function(O){this.currPenState.setStyles(O),this.chars[this.pos].setPenState(this.currPenState)}};var q=function(){this.rows=[];for(var O=0;O<t;O++)this.rows.push(new k);this.currRow=14,this.nrRollUpRows=null,this.reset()};q.prototype={reset:function(){for(var O=0;O<t;O++)this.rows[O].clear();this.currRow=14},equals:function(O){for(var K=!0,re=0;re<t;re++)if(!this.rows[re].equals(O.rows[re])){K=!1;break}return K},copy:function(O){for(var K=0;K<t;K++)this.rows[K].copy(O.rows[K])},isEmpty:function(){for(var O=!0,K=0;K<t;K++)if(!this.rows[K].isEmpty()){O=!1;break}return O},backSpace:function(){this.rows[this.currRow].backSpace()},clearToEndOfRow:function(){this.rows[this.currRow].clearToEndOfRow()},insertChar:function(O){this.rows[this.currRow].insertChar(O)},setPen:function(O){this.rows[this.currRow].setPenStyles(O)},moveCursor:function(O){this.rows[this.currRow].moveCursor(O)},setCursor:function(O){n.log("INFO","setCursor: "+O),this.rows[this.currRow].setCursor(O)},setPAC:function(O){n.log("INFO","pacData = "+JSON.stringify(O));var K=O.row-1;this.nrRollUpRows&&K<this.nrRollUpRows-1&&(K=this.nrRollUpRows-1),this.currRow=K;var re=this.rows[this.currRow];if(O.indent!==null){var H=O.indent,ee=Math.max(H-1,0);re.setCursor(O.indent),O.color=re.chars[ee].penState.foreground}var ue={foreground:O.color,underline:O.underline,italics:O.italics,background:"black",flash:!1};this.setPen(ue)},setBkgData:function(O){n.log("INFO","bkgData = "+JSON.stringify(O)),this.backSpace(),this.setPen(O),this.insertChar(32)},setRollUpRows:function(O){this.nrRollUpRows=O},rollUp:function(){if(this.nrRollUpRows!==null){n.log("TEXT",this.getDisplayText());var O=this.currRow+1-this.nrRollUpRows,K=this.rows.splice(O,1)[0];K.clear(),this.rows.splice(this.currRow,0,K),n.log("INFO","Rolling up")}else n.log("DEBUG","roll_up but nrRollUpRows not set yet")},getDisplayText:function(O){O=O||!1;for(var K=[],re="",H=-1,ee=0;ee<t;ee++){var ue=this.rows[ee].getTextString();ue&&(H=ee+1,O?K.push("Row "+H+': "'+ue+'"'):K.push(ue.trim()))}return K.length>0&&(re=O?"["+K.join(" | ")+"]":K.join(`
-`)),re},getTextAndFormat:function(){return this.rows}};var F=function(O,K){this.chNr=O,this.outputFilter=K,this.mode=null,this.verbose=0,this.displayedMemory=new q,this.nonDisplayedMemory=new q,this.lastOutputScreen=new q,this.currRollUpRow=this.displayedMemory.rows[14],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null};F.prototype={modes:["MODE_ROLL-UP","MODE_POP-ON","MODE_PAINT-ON","MODE_TEXT"],reset:function(){this.mode=null,this.displayedMemory.reset(),this.nonDisplayedMemory.reset(),this.lastOutputScreen.reset(),this.currRollUpRow=this.displayedMemory.rows[14],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null,this.lastCueEndTime=null},getHandler:function(){return this.outputFilter},setHandler:function(O){this.outputFilter=O},setPAC:function(O){this.writeScreen.setPAC(O)},setBkgData:function(O){this.writeScreen.setBkgData(O)},setMode:function(O){O!==this.mode&&(this.mode=O,n.log("INFO","MODE="+O),this.mode=="MODE_POP-ON"?this.writeScreen=this.nonDisplayedMemory:(this.writeScreen=this.displayedMemory,this.writeScreen.reset()),this.mode!=="MODE_ROLL-UP"&&(this.displayedMemory.nrRollUpRows=null,this.nonDisplayedMemory.nrRollUpRows=null),this.mode=O)},insertChars:function(O){for(var K=0;K<O.length;K++)this.writeScreen.insertChar(O[K]);var re=this.writeScreen===this.displayedMemory?"DISP":"NON_DISP";n.log("INFO",re+": "+this.writeScreen.getDisplayText(!0)),this.mode!=="MODE_PAINT-ON"&&this.mode!=="MODE_ROLL-UP"||(n.log("TEXT","DISPLAYED: "+this.displayedMemory.getDisplayText(!0)),this.outputDataUpdate())},cc_RCL:function(){n.log("INFO","RCL - Resume Caption Loading"),this.setMode("MODE_POP-ON")},cc_BS:function(){n.log("INFO","BS - BackSpace"),this.mode!=="MODE_TEXT"&&(this.writeScreen.backSpace(),this.writeScreen===this.displayedMemory&&this.outputDataUpdate())},cc_AOF:function(){},cc_AON:function(){},cc_DER:function(){n.log("INFO","DER- Delete to End of Row"),this.writeScreen.clearToEndOfRow(),this.outputDataUpdate()},cc_RU:function(O){n.log("INFO","RU("+O+") - Roll Up"),this.writeScreen=this.displayedMemory,this.setMode("MODE_ROLL-UP"),this.writeScreen.setRollUpRows(O)},cc_FON:function(){n.log("INFO","FON - Flash On"),this.writeScreen.setPen({flash:!0})},cc_RDC:function(){n.log("INFO","RDC - Resume Direct Captioning"),this.setMode("MODE_PAINT-ON")},cc_TR:function(){n.log("INFO","TR"),this.setMode("MODE_TEXT")},cc_RTD:function(){n.log("INFO","RTD"),this.setMode("MODE_TEXT")},cc_EDM:function(){n.log("INFO","EDM - Erase Displayed Memory"),this.displayedMemory.reset(),this.outputDataUpdate()},cc_CR:function(){n.log("CR - Carriage Return"),this.writeScreen.rollUp(),this.outputDataUpdate()},cc_ENM:function(){n.log("INFO","ENM - Erase Non-displayed Memory"),this.nonDisplayedMemory.reset()},cc_EOC:function(){if(n.log("INFO","EOC - End Of Caption"),this.mode==="MODE_POP-ON"){var O=this.displayedMemory;this.displayedMemory=this.nonDisplayedMemory,this.nonDisplayedMemory=O,this.writeScreen=this.nonDisplayedMemory,n.log("TEXT","DISP: "+this.displayedMemory.getDisplayText())}this.outputDataUpdate()},cc_TO:function(O){n.log("INFO","TO("+O+") - Tab Offset"),this.writeScreen.moveCursor(O)},cc_MIDROW:function(O){var K={flash:!1};if(K.underline=O%2==1,K.italics=O>=46,K.italics)K.foreground="white";else{var re=Math.floor(O/2)-16;K.foreground=["white","green","blue","cyan","red","yellow","magenta"][re]}n.log("INFO","MIDROW: "+JSON.stringify(K)),this.writeScreen.setPen(K)},outputDataUpdate:function(){var O=n.time;O!==null&&this.outputFilter&&(this.outputFilter.updateData&&this.outputFilter.updateData(O,this.displayedMemory),this.cueStartTime!==null||this.displayedMemory.isEmpty()?this.displayedMemory.equals(this.lastOutputScreen)||(this.outputFilter.newCue&&this.outputFilter.newCue(this.cueStartTime,O,this.lastOutputScreen),this.cueStartTime=this.displayedMemory.isEmpty()?null:O):this.cueStartTime=O,this.lastOutputScreen.copy(this.displayedMemory))},cueSplitAtTime:function(O){this.outputFilter&&(this.displayedMemory.isEmpty()||(this.outputFilter.newCue&&this.outputFilter.newCue(this.cueStartTime,O,this.displayedMemory),this.cueStartTime=O))}};var $=function(O,K,re){this.field=O||1,this.outputs=[K,re],this.channels=[new F(1,K),new F(2,re)],this.currChNr=-1,this.lastCmdA=null,this.lastCmdB=null,this.bufferedData=[],this.startTime=null,this.lastTime=null,this.dataCounters={padding:0,char:0,cmd:0,other:0}};$.prototype={getHandler:function(O){return this.channels[O].getHandler()},setHandler:function(O,K){this.channels[O].setHandler(K)},addData:function(O,K){var re,H,ee,ue=!1;this.lastTime=O,n.setTime(O);for(var _e=0;_e<K.length;_e+=2)H=127&K[_e],ee=127&K[_e+1],H>=16&&H<=31&&H===this.lastCmdA&&ee===this.lastCmdB?(this.lastCmdA=null,this.lastCmdB=null,n.log("DEBUG","Repeated command ("+c([H,ee])+") is dropped")):H!==0||ee!==0?(n.log("DATA","["+c([K[_e],K[_e+1]])+"] -> ("+c([H,ee])+")"),(re=this.parseCmd(H,ee))||(re=this.parseMidrow(H,ee)),re||(re=this.parsePAC(H,ee)),re||(re=this.parseBackgroundAttributes(H,ee)),re||(ue=this.parseChars(H,ee))&&(this.currChNr&&this.currChNr>=0?this.channels[this.currChNr-1].insertChars(ue):n.log("WARNING","No channel found yet. TEXT-MODE?")),re?this.dataCounters.cmd+=2:ue?this.dataCounters.char+=2:(this.dataCounters.other+=2,n.log("WARNING","Couldn't parse cleaned data "+c([H,ee])+" orig: "+c([K[_e],K[_e+1]])))):this.dataCounters.padding+=2},parseCmd:function(O,K){var re;if(!((O===20||O===21||O===28||O===29)&&32<=K&&K<=47||(O===23||O===31)&&33<=K&&K<=35))return!1;re=O===20||O===21||O===23?1:2;var H=this.channels[re-1];return O===20||O===21||O===28||O===29?K===32?H.cc_RCL():K===33?H.cc_BS():K===34?H.cc_AOF():K===35?H.cc_AON():K===36?H.cc_DER():K===37?H.cc_RU(2):K===38?H.cc_RU(3):K===39?H.cc_RU(4):K===40?H.cc_FON():K===41?H.cc_RDC():K===42?H.cc_TR():K===43?H.cc_RTD():K===44?H.cc_EDM():K===45?H.cc_CR():K===46?H.cc_ENM():K===47&&H.cc_EOC():H.cc_TO(K-32),this.lastCmdA=O,this.lastCmdB=K,this.currChNr=re,!0},parseMidrow:function(O,K){var re=null;if((O===17||O===25)&&32<=K&&K<=47){if((re=O===17?1:2)!==this.currChNr)return n.log("ERROR","Mismatch channel in midrow parsing"),!1;var H=this.channels[re-1];return H.insertChars([32]),H.cc_MIDROW(K),n.log("DEBUG","MIDROW ("+c([O,K])+")"),this.lastCmdA=O,this.lastCmdB=K,!0}return!1},parsePAC:function(O,K){var re,H;if(!((17<=O&&O<=23||25<=O&&O<=31)&&64<=K&&K<=127||(O===16||O===24)&&64<=K&&K<=95))return!1;re=O<=23?1:2,H=64<=K&&K<=95?re===1?y[O]:u[O]:re===1?p[O]:_[O];var ee=this.interpretPAC(H,K);return this.channels[re-1].setPAC(ee),this.lastCmdA=O,this.lastCmdB=K,this.currChNr=re,!0},interpretPAC:function(O,K){var re,H={color:null,italics:!1,indent:null,underline:!1,row:O};return re=K>95?K-96:K-64,H.underline=(1&re)==1,re<=13?H.color=["white","green","blue","cyan","red","yellow","magenta","white"][Math.floor(re/2)]:re<=15?(H.italics=!0,H.color="white"):H.indent=4*Math.floor((re-16)/2),H},parseChars:function(O,K){var re=null,H=null,ee=null;if(O>=25?(re=2,ee=O-8):(re=1,ee=O),17<=ee&&ee<=19){var ue;ue=ee===17?K+80:ee===18?K+112:K+144,n.log("INFO","Special char '"+T(ue)+"' in channel "+re),H=[ue],this.lastCmdA=O,this.lastCmdB=K}else 32<=O&&O<=127&&(H=K===0?[O]:[O,K],this.lastCmdA=null,this.lastCmdB=null);if(H){var _e=c(H);n.log("DEBUG","Char codes =  "+_e.join(","))}return H},parseBackgroundAttributes:function(O,K){var re,H,ee;return((O===16||O===24)&&32<=K&&K<=47||(O===23||O===31)&&45<=K&&K<=47)&&(re={},O===16||O===24?(H=Math.floor((K-32)/2),re.background=m[H],K%2==1&&(re.background=re.background+"_semi")):K===45?re.background="transparent":(re.foreground="black",K===47&&(re.underline=!0)),ee=O<24?1:2,this.channels[ee-1].setBkgData(re),this.lastCmdA=O,this.lastCmdB=K,!0)},reset:function(){for(var O=0;O<this.channels.length;O++)this.channels[O]&&this.channels[O].reset();this.lastCmdA=null,this.lastCmdB=null},cueSplitAtTime:function(O){for(var K=0;K<this.channels.length;K++)this.channels[K]&&this.channels[K].cueSplitAtTime(O)}},P.logger=n,P.PenState=d,P.CaptionScreen=q,P.Cea608Parser=$,P.findCea608Nalus=function(O,K,re){for(var H=0,ee=K,ue=[],_e=function(ye,Pe,He,tt){if(ye!==4||Pe<8)return null;var ve=He.getUint8(tt),Oe=He.getUint16(tt+1),_t=He.getUint32(tt+3),dt=He.getUint8(tt+7);return ve==181&&Oe==49&&_t==1195456820&&dt==3};ee<K+re;){if(H=O.getUint32(ee),(31&O.getUint8(ee+4))==6)for(var X=ee+5,Ae=-1;X<ee+4+H-1;){Ae=0;for(var Le=255;Le===255;)Ae+=Le=O.getUint8(X),X++;var Ye=0;for(Le=255;Le===255;)Ye+=Le=O.getUint8(X),X++;_e(Ae,Ye,O,X)&&ue.push([X,Ye]),X+=Ye}ee+=H+4}return ue},P.extractCea608DataFromRange=function(O,K){var re=K[0],H=[[],[]];re+=8;var ee=31&O.getUint8(re);re+=2;for(var ue=0;ue<ee;ue++){var _e=O.getUint8(re),X=4&_e,Ae=3&_e;re++;var Le=O.getUint8(re);re++;var Ye=O.getUint8(re);re++,X&&(127&Le)+(127&Ye)!=0&&(Ae===0?(H[0].push(Le),H[0].push(Ye)):Ae===1&&(H[1].push(Le),H[1].push(Ye)))}return H}})(we)},8416:function(at,we,P){var ae=P(1139),T=P(5448),t=P(6398),e=P(2032),y=(P(5530),typeof window<"u"&&window||P.g),p=y.dashjs;p||(p=y.dashjs={}),p.MediaPlayer=ae.Z,p.FactoryMaker=T.Z,p.Debug=t.Z,p.Version=(0,e.e)()},6398:function(at,we,P){var ae=P(5595),T=P(8512),t=P(5448),e=1,y=2,p=3,u=4,_=5;function m(c){c=c||{};var d,I,k,q,F=this.context,$=(0,ae.Z)(F).getInstance(),O=c.settings,K=[];function re(Le){return Le&&Le.bind?Le.bind(window.console):window.console.log.bind(window.console)}function H(){for(var Le=arguments.length,Ye=new Array(Le),ye=0;ye<Le;ye++)Ye[ye]=arguments[ye];Ae.apply(void 0,[e,this].concat(Ye))}function ee(){for(var Le=arguments.length,Ye=new Array(Le),ye=0;ye<Le;ye++)Ye[ye]=arguments[ye];Ae.apply(void 0,[y,this].concat(Ye))}function ue(){for(var Le=arguments.length,Ye=new Array(Le),ye=0;ye<Le;ye++)Ye[ye]=arguments[ye];Ae.apply(void 0,[p,this].concat(Ye))}function _e(){for(var Le=arguments.length,Ye=new Array(Le),ye=0;ye<Le;ye++)Ye[ye]=arguments[ye];Ae.apply(void 0,[u,this].concat(Ye))}function X(){for(var Le=arguments.length,Ye=new Array(Le),ye=0;ye<Le;ye++)Ye[ye]=arguments[ye];Ae.apply(void 0,[_,this].concat(Ye))}function Ae(Le,Ye){var ye="",Pe=null;I&&(Pe=new Date().getTime(),ye+="["+(Pe-q)+"]"),k&&Ye&&Ye.getClassName&&(ye+="["+Ye.getClassName()+"]",Ye.getType&&(ye+="["+Ye.getType()+"]")),ye.length>0&&(ye+=" ");for(var He=arguments.length,tt=new Array(He>2?He-2:0),ve=2;ve<He;ve++)tt[ve-2]=arguments[ve];Array.apply(null,tt).forEach(function(Oe){ye+=Oe+" "}),K[Le]&&O&&O.get().debug.logLevel>=Le&&K[Le](ye),O&&O.get().debug.dispatchEvent&&$.trigger(T.Z.LOG,{message:ye,level:Le})}return d={getLogger:function(Le){return{fatal:H.bind(Le),error:ee.bind(Le),warn:ue.bind(Le),info:_e.bind(Le),debug:X.bind(Le)}},setLogTimestampVisible:function(Le){I=Le},setCalleeNameVisible:function(Le){k=Le}},I=!0,k=!0,q=new Date().getTime(),typeof window<"u"&&window.console&&(K[e]=re(window.console.error),K[y]=re(window.console.error),K[p]=re(window.console.warn),K[u]=re(window.console.info),K[_]=re(window.console.debug)),d}m.__dashjs_factory_name="Debug";var n=t.Z.getSingletonFactory(m);n.LOG_LEVEL_NONE=0,n.LOG_LEVEL_FATAL=e,n.LOG_LEVEL_ERROR=y,n.LOG_LEVEL_WARNING=p,n.LOG_LEVEL_INFO=u,n.LOG_LEVEL_DEBUG=_,t.Z.updateSingletonFactory(m.__dashjs_factory_name,n),we.Z=n},5595:function(at,we,P){var ae=P(5448),T=P(8825);function t(){var y={};function p(_,m,n){var c=-1;return y[_]&&y[_].some(function(d,I){if(d&&d.callback===m&&(!n||n===d.scope))return c=I,!0}),c}var u={on:function(_,m,n){var c=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};if(!_)throw new Error("event type cannot be null or undefined");if(!m||typeof m!="function")throw new Error("listener must be a function: "+m);var d=c.priority||0;if(!(p(_,m,n)>=0)){y[_]=y[_]||[];var I={callback:m,scope:n,priority:d};n&&n.getStreamId&&(I.streamId=n.getStreamId()),n&&n.getType&&(I.mediaType=n.getType()),c&&c.mode&&(I.mode=c.mode);var k=y[_].some(function(q,F){if(q&&d>q.priority)return y[_].splice(F,0,I),!0});k||y[_].push(I)}},off:function(_,m,n){if(_&&m&&y[_]){var c=p(_,m,n);c<0||(y[_][c]=null)}},trigger:function(_){var m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(_&&y[_]){if((m=m||{}).hasOwnProperty("type"))throw new Error("'type' is a reserved word for event dispatching");m.type=_,n.streamId&&(m.streamId=n.streamId),n.mediaType&&(m.mediaType=n.mediaType),y[_].filter(function(c){return!(!c||n.streamId&&c.streamId&&c.streamId!==n.streamId||n.mediaType&&c.mediaType&&c.mediaType!==n.mediaType||n.mode&&c.mode&&c.mode!==n.mode||!c.mode&&n.mode&&n.mode===T.Z.EVENT_MODE_ON_RECEIVE)}).forEach(function(c){return c&&c.callback.call(c.scope,m)})}},reset:function(){y={}}};return u}t.__dashjs_factory_name="EventBus";var e=ae.Z.getSingletonFactory(t);e.EVENT_PRIORITY_LOW=0,e.EVENT_PRIORITY_HIGH=5e3,ae.Z.updateSingletonFactory(t.__dashjs_factory_name,e),we.Z=e},5448:function(at,we){var P=function(){var ae,T=[],t={},e={};function y(m,n){for(var c in T){var d=T[c];if(d.context===m&&d.name===n)return d.instance}return null}function p(m,n){return n[m]}function u(m,n,c){m in c&&(c[m]=n)}function _(m,n,c){var d,I=m.__dashjs_factory_name,k=n[I];if(k){var q=k.instance;if(!k.override)return q.apply({context:n,factory:ae},c);for(var F in d=m.apply({context:n},c),q=q.apply({context:n,factory:ae,parent:d},c))d.hasOwnProperty(F)&&(d[F]=q[F])}else d=m.apply({context:n},c);return d.getClassName=function(){return I},d}return ae={extend:function(m,n,c,d){!d[m]&&n&&(d[m]={instance:n,override:c})},getSingletonInstance:y,setSingletonInstance:function(m,n,c){for(var d in T){var I=T[d];if(I.context===m&&I.name===n)return void(T[d].instance=c)}T.push({name:n,context:m,instance:c})},deleteSingletonInstances:function(m){T=T.filter(function(n){return n.context!==m})},getSingletonFactory:function(m){var n=p(m.__dashjs_factory_name,t);return n||(n=function(c){var d;return c===void 0&&(c={}),{getInstance:function(){return d||(d=y(c,m.__dashjs_factory_name)),d||(d=_(m,c,arguments),T.push({name:m.__dashjs_factory_name,context:c,instance:d})),d}}},t[m.__dashjs_factory_name]=n),n},getSingletonFactoryByName:function(m){return p(m,t)},updateSingletonFactory:function(m,n){u(m,n,t)},getClassFactory:function(m){var n=p(m.__dashjs_factory_name,e);return n||(n=function(c){return c===void 0&&(c={}),{create:function(){return _(m,c,arguments)}}},e[m.__dashjs_factory_name]=n),n},getClassFactoryByName:function(m){return p(m,e)},updateClassFactory:function(m,n){u(m,n,e)}},ae}();we.Z=P},1264:function(at,we,P){var ae=P(5448),T=P(703),t=P(6398),e=P(3393),y=P(7855),p=P(5595),u=P(8512);function _(d){return _=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(I){return typeof I}:function(I){return I&&typeof Symbol=="function"&&I.constructor===Symbol&&I!==Symbol.prototype?"symbol":typeof I},_(d)}function m(d,I,k){return I in d?Object.defineProperty(d,I,{value:k,enumerable:!0,configurable:!0,writable:!0}):d[I]=k,d}function n(){var d,I,k=this.context,q=(0,p.Z)(k).getInstance(),F={"streaming.delay.liveDelay":u.Z.SETTING_UPDATED_LIVE_DELAY,"streaming.delay.liveDelayFragmentCount":u.Z.SETTING_UPDATED_LIVE_DELAY_FRAGMENT_COUNT,"streaming.liveCatchup.enabled":u.Z.SETTING_UPDATED_CATCHUP_ENABLED,"streaming.liveCatchup.playbackRate.min":u.Z.SETTING_UPDATED_PLAYBACK_RATE_MIN,"streaming.liveCatchup.playbackRate.max":u.Z.SETTING_UPDATED_PLAYBACK_RATE_MAX},$={debug:{logLevel:t.Z.LOG_LEVEL_WARNING,dispatchEvent:!1},streaming:{abandonLoadTimeout:1e4,wallclockTimeUpdateInterval:100,manifestUpdateRetryInterval:100,liveUpdateTimeThresholdInMilliseconds:0,cacheInitSegments:!1,applyServiceDescription:!0,applyProducerReferenceTime:!0,applyContentSteering:!0,eventControllerRefreshDelay:100,enableManifestDurationMismatchFix:!0,parseInbandPrft:!1,enableManifestTimescaleMismatchFix:!1,capabilities:{filterUnsupportedEssentialProperties:!0,useMediaCapabilitiesApi:!1},timeShiftBuffer:{calcFromSegmentTimeline:!1,fallbackToSegmentTimeline:!0},metrics:{maxListDepth:100},delay:{liveDelayFragmentCount:NaN,liveDelay:NaN,useSuggestedPresentationDelay:!0},protection:{keepProtectionMediaKeys:!1,ignoreEmeEncryptedEvent:!1,detectPlayreadyMessageFormat:!0},buffer:{enableSeekDecorrelationFix:!1,fastSwitchEnabled:!0,flushBufferAtTrackSwitch:!1,reuseExistingSourceBuffers:!0,bufferPruningInterval:10,bufferToKeep:20,bufferTimeAtTopQuality:30,bufferTimeAtTopQualityLongForm:60,initialBufferLevel:NaN,stableBufferTime:12,longFormContentDurationThreshold:600,stallThreshold:.3,useAppendWindow:!0,setStallState:!0,avoidCurrentTimeRangePruning:!1,useChangeTypeForTrackSwitch:!0,mediaSourceDurationInfinity:!0,resetSourceBuffersForTrackSwitch:!1},gaps:{jumpGaps:!0,jumpLargeGaps:!0,smallGapLimit:1.5,threshold:.3,enableSeekFix:!0,enableStallFix:!1,stallSeek:.1},utcSynchronization:{enabled:!0,useManifestDateHeaderTimeSource:!0,backgroundAttempts:2,timeBetweenSyncAttempts:30,maximumTimeBetweenSyncAttempts:600,minimumTimeBetweenSyncAttempts:2,timeBetweenSyncAttemptsAdjustmentFactor:2,maximumAllowedDrift:100,enableBackgroundSyncAfterSegmentDownloadError:!0,defaultTimingSource:{scheme:"urn:mpeg:dash:utc:http-xsdate:2014",value:"https://time.akamai.com/?iso&ms"}},scheduling:{defaultTimeout:500,lowLatencyTimeout:0,scheduleWhilePaused:!0},text:{defaultEnabled:!0,dispatchForManualRendering:!1,extendSegmentedCues:!0,imsc:{displayForcedOnlyMode:!1,enableRollUp:!0},webvtt:{customRenderingEnabled:!1}},liveCatchup:{maxDrift:NaN,playbackRate:{min:NaN,max:NaN},playbackBufferMin:.5,enabled:null,mode:e.Z.LIVE_CATCHUP_MODE_DEFAULT},lastBitrateCachingInfo:{enabled:!0,ttl:36e4},lastMediaSettingsCachingInfo:{enabled:!0,ttl:36e4},saveLastMediaSettingsForCurrentStreamingSession:!0,cacheLoadThresholds:{video:50,audio:5},trackSwitchMode:{audio:e.Z.TRACK_SWITCH_MODE_ALWAYS_REPLACE,video:e.Z.TRACK_SWITCH_MODE_NEVER_REPLACE},selectionModeForInitialTrack:e.Z.TRACK_SELECTION_MODE_HIGHEST_SELECTION_PRIORITY,fragmentRequestTimeout:2e4,fragmentRequestProgressTimeout:-1,manifestRequestTimeout:1e4,retryIntervals:(d={},m(d,y.w.MPD_TYPE,500),m(d,y.w.XLINK_EXPANSION_TYPE,500),m(d,y.w.MEDIA_SEGMENT_TYPE,1e3),m(d,y.w.INIT_SEGMENT_TYPE,1e3),m(d,y.w.BITSTREAM_SWITCHING_SEGMENT_TYPE,1e3),m(d,y.w.INDEX_SEGMENT_TYPE,1e3),m(d,y.w.MSS_FRAGMENT_INFO_SEGMENT_TYPE,1e3),m(d,y.w.LICENSE,1e3),m(d,y.w.OTHER_TYPE,1e3),m(d,"lowLatencyReductionFactor",10),d),retryAttempts:(I={},m(I,y.w.MPD_TYPE,3),m(I,y.w.XLINK_EXPANSION_TYPE,1),m(I,y.w.MEDIA_SEGMENT_TYPE,3),m(I,y.w.INIT_SEGMENT_TYPE,3),m(I,y.w.BITSTREAM_SWITCHING_SEGMENT_TYPE,3),m(I,y.w.INDEX_SEGMENT_TYPE,3),m(I,y.w.MSS_FRAGMENT_INFO_SEGMENT_TYPE,3),m(I,y.w.LICENSE,3),m(I,y.w.OTHER_TYPE,3),m(I,"lowLatencyMultiplyFactor",5),I),abr:{movingAverageMethod:e.Z.MOVING_AVERAGE_SLIDING_WINDOW,ABRStrategy:e.Z.ABR_STRATEGY_DYNAMIC,additionalAbrRules:{insufficientBufferRule:!0,switchHistoryRule:!0,droppedFramesRule:!0,abandonRequestsRule:!0},abrRulesParameters:{abandonRequestsRule:{graceTimeThreshold:500,abandonMultiplier:1.8,minLengthToAverage:5}},bandwidthSafetyFactor:.9,useDefaultABRRules:!0,useDeadTimeLatency:!0,limitBitrateByPortal:!1,usePixelRatioInLimitBitrateByPortal:!1,maxBitrate:{audio:-1,video:-1},minBitrate:{audio:-1,video:-1},maxRepresentationRatio:{audio:1,video:1},initialBitrate:{audio:-1,video:-1},initialRepresentationRatio:{audio:-1,video:-1},autoSwitchBitrate:{audio:!0,video:!0},fetchThroughputCalculationMode:e.Z.ABR_FETCH_THROUGHPUT_CALCULATION_MOOF_PARSING},cmcd:{enabled:!1,sid:null,cid:null,rtp:null,rtpSafetyFactor:5,mode:e.Z.CMCD_MODE_QUERY,enabledKeys:["br","d","ot","tb","bl","dl","mtp","nor","nrr","su","bs","rtp","cid","pr","sf","sid","st","v"]},cmsd:{enabled:!1,abr:{applyMb:!1,etpWeightRatio:0}}},errors:{recoverAttempts:{mediaErrorDecode:5}}},O=T.Z.clone($);function K(re,H,ee){for(var ue in re)re.hasOwnProperty(ue)&&(H.hasOwnProperty(ue)?_(re[ue])!=="object"||re[ue]instanceof Array||re[ue]===null?(H[ue]=T.Z.clone(re[ue]),F[ee+ue]&&q.trigger(F[ee+ue])):K(re[ue],H[ue],ee.slice()+ue+"."):console.error("Settings parameter "+ee+ue+" is not supported"))}return{get:function(){return O},update:function(re){_(re)==="object"&&K(re,O,"")},reset:function(){O=T.Z.clone($)}}}n.__dashjs_factory_name="Settings";var c=ae.Z.getSingletonFactory(n);we.Z=c},703:function(at,we,P){var ae=P(3875),T=P.n(ae),t=P(1067);function e(u){return e=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(_){return typeof _}:function(_){return _&&typeof Symbol=="function"&&_.constructor===Symbol&&_!==Symbol.prototype?"symbol":typeof _},e(u)}function y(u,_){for(var m=0;m<_.length;m++){var n=_[m];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(u,n.key,n)}}var p=function(){function u(){(function(n,c){if(!(n instanceof c))throw new TypeError("Cannot call a class as a function")})(this,u)}var _,m;return _=u,m=[{key:"mixin",value:function(n,c,d){var I,k={};if(n)for(var q in c)c.hasOwnProperty(q)&&(I=c[q],q in n&&(n[q]===I||q in k&&k[q]===I)||(e(n[q])==="object"&&n[q]!==null?n[q]=u.mixin(n[q],I,d):n[q]=d(I)));return n}},{key:"clone",value:function(n){if(!n||e(n)!=="object")return n;var c;if(n instanceof Array){c=[];for(var d=0,I=n.length;d<I;++d)d in n&&c.push(u.clone(n[d]))}else c={};return u.mixin(c,n,u.clone)}},{key:"addAditionalQueryParameterToUrl",value:function(n,c){try{if(!c||c.length===0)return n;var d=new URL(n);return c.forEach(function(I){I.key&&I.value&&d.searchParams.set(I.key,I.value)}),d.href}catch{return n}}},{key:"parseHttpHeaders",value:function(n){var c={};if(!n)return c;for(var d=n.trim().split(`\r
-`),I=0,k=d.length;I<k;I++){var q=d[I],F=q.indexOf(": ");F>0&&(c[q.substring(0,F)]=q.substring(F+2))}return c}},{key:"generateUuid",value:function(){var n=new Date().getTime();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(c){var d=(n+16*Math.random())%16|0;return n=Math.floor(n/16),(c=="x"?d:3&d|8).toString(16)})}},{key:"generateHashCode",value:function(n){var c=0;if(n.length===0)return c;for(var d=0;d<n.length;d++)c=(c<<5)-c+n.charCodeAt(d),c|=0;return c}},{key:"getRelativeUrl",value:function(n,c){try{var d=new URL(n),I=new URL(c);if(d.protocol=I.protocol,d.origin!==I.origin)return c;var k=T().relative(d.pathname.substr(0,d.pathname.lastIndexOf("/")),I.pathname.substr(0,I.pathname.lastIndexOf("/"))),q=k.length===0?1:0;return k+=I.pathname.substr(I.pathname.lastIndexOf("/")+q,I.pathname.length-1),I.pathname.length<k.length?I.pathname:k}catch{return c}}},{key:"parseUserAgent",value:function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null;try{var c=n===null&&typeof navigator<"u"?navigator.userAgent.toLowerCase():"";return(0,t.UAParser)(c)}catch{return{}}}},{key:"stringHasProtocol",value:function(n){return/(http(s?)):\/\//i.test(n)}}],m&&y(_,m),u}();we.Z=p},2032:function(at,we,P){function ae(){return"4.7.4"}P.d(we,{e:function(){return ae}})},2230:function(at,we){function P(T,t){for(var e=0;e<t.length;e++){var y=t[e];y.enumerable=y.enumerable||!1,y.configurable=!0,"value"in y&&(y.writable=!0),Object.defineProperty(T,y.key,y)}}var ae=function(){function T(){(function(y,p){if(!(y instanceof p))throw new TypeError("Cannot call a class as a function")})(this,T)}var t,e;return t=T,(e=[{key:"extend",value:function(y,p){if(y){var u=!!p&&p.override,_=!!p&&p.publicOnly;for(var m in y)!y.hasOwnProperty(m)||this[m]&&!u||_&&y[m].indexOf("public_")===-1||(this[m]=y[m])}}}])&&P(t.prototype,e),T}();we.Z=ae},4351:function(at,we,P){function ae(p){return ae=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(u){return typeof u}:function(u){return u&&typeof Symbol=="function"&&u.constructor===Symbol&&u!==Symbol.prototype?"symbol":typeof u},ae(p)}function T(p,u){return T=Object.setPrototypeOf||function(_,m){return _.__proto__=m,_},T(p,u)}function t(p,u){return!u||ae(u)!=="object"&&typeof u!="function"?function(_){if(_===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return _}(p):u}function e(p){return e=Object.setPrototypeOf?Object.getPrototypeOf:function(u){return u.__proto__||Object.getPrototypeOf(u)},e(p)}var y=function(p){(function(c,d){if(typeof d!="function"&&d!==null)throw new TypeError("Super expression must either be null or a function");c.prototype=Object.create(d&&d.prototype,{constructor:{value:c,writable:!0,configurable:!0}}),d&&T(c,d)})(n,p);var u,_,m=(u=n,_=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var c,d=e(u);if(_){var I=e(this).constructor;c=Reflect.construct(d,arguments,I)}else c=d.apply(this,arguments);return t(this,c)});function n(){var c;return function(d,I){if(!(d instanceof I))throw new TypeError("Cannot call a class as a function")}(this,n),(c=m.call(this)).ATTEMPT_BACKGROUND_SYNC="attemptBackgroundSync",c.BUFFERING_COMPLETED="bufferingCompleted",c.BUFFER_CLEARED="bufferCleared",c.BYTES_APPENDED_END_FRAGMENT="bytesAppendedEndFragment",c.BUFFER_REPLACEMENT_STARTED="bufferReplacementStarted",c.CHECK_FOR_EXISTENCE_COMPLETED="checkForExistenceCompleted",c.CMSD_STATIC_HEADER="cmsdStaticHeader",c.CURRENT_TRACK_CHANGED="currentTrackChanged",c.DATA_UPDATE_COMPLETED="dataUpdateCompleted",c.INBAND_EVENTS="inbandEvents",c.INITIAL_STREAM_SWITCH="initialStreamSwitch",c.INIT_FRAGMENT_LOADED="initFragmentLoaded",c.INIT_FRAGMENT_NEEDED="initFragmentNeeded",c.INTERNAL_MANIFEST_LOADED="internalManifestLoaded",c.ORIGINAL_MANIFEST_LOADED="originalManifestLoaded",c.LOADING_COMPLETED="loadingCompleted",c.LOADING_PROGRESS="loadingProgress",c.LOADING_DATA_PROGRESS="loadingDataProgress",c.LOADING_ABANDONED="loadingAborted",c.MANIFEST_UPDATED="manifestUpdated",c.MEDIA_FRAGMENT_LOADED="mediaFragmentLoaded",c.MEDIA_FRAGMENT_NEEDED="mediaFragmentNeeded",c.QUOTA_EXCEEDED="quotaExceeded",c.SEGMENT_LOCATION_BLACKLIST_ADD="segmentLocationBlacklistAdd",c.SEGMENT_LOCATION_BLACKLIST_CHANGED="segmentLocationBlacklistChanged",c.SERVICE_LOCATION_BASE_URL_BLACKLIST_ADD="serviceLocationBlacklistAdd",c.SERVICE_LOCATION_BASE_URL_BLACKLIST_CHANGED="serviceLocationBlacklistChanged",c.SERVICE_LOCATION_LOCATION_BLACKLIST_ADD="serviceLocationLocationBlacklistAdd",c.SERVICE_LOCATION_LOCATION_BLACKLIST_CHANGED="serviceLocationLocationBlacklistChanged",c.SET_FRAGMENTED_TEXT_AFTER_DISABLED="setFragmentedTextAfterDisabled",c.SET_NON_FRAGMENTED_TEXT="setNonFragmentedText",c.SOURCE_BUFFER_ERROR="sourceBufferError",c.STREAMS_COMPOSED="streamsComposed",c.STREAM_BUFFERING_COMPLETED="streamBufferingCompleted",c.STREAM_REQUESTING_COMPLETED="streamRequestingCompleted",c.TEXT_TRACKS_QUEUE_INITIALIZED="textTracksQueueInitialized",c.TIME_SYNCHRONIZATION_COMPLETED="timeSynchronizationComplete",c.UPDATE_TIME_SYNC_OFFSET="updateTimeSyncOffset",c.URL_RESOLUTION_FAILED="urlResolutionFailed",c.VIDEO_CHUNK_RECEIVED="videoChunkReceived",c.WALLCLOCK_TIME_UPDATED="wallclockTimeUpdated",c.XLINK_ELEMENT_LOADED="xlinkElementLoaded",c.XLINK_READY="xlinkReady",c.SEEK_TARGET="seekTarget",c.SETTING_UPDATED_LIVE_DELAY="settingUpdatedLiveDelay",c.SETTING_UPDATED_LIVE_DELAY_FRAGMENT_COUNT="settingUpdatedLiveDelayFragmentCount",c.SETTING_UPDATED_CATCHUP_ENABLED="settingUpdatedCatchupEnabled",c.SETTING_UPDATED_PLAYBACK_RATE_MIN="settingUpdatedPlaybackRateMin",c.SETTING_UPDATED_PLAYBACK_RATE_MAX="settingUpdatedPlaybackRateMax",c}return n}(P(8342).Z);we.Z=y},8512:function(at,we,P){function ae(_){return ae=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(m){return typeof m}:function(m){return m&&typeof Symbol=="function"&&m.constructor===Symbol&&m!==Symbol.prototype?"symbol":typeof m},ae(_)}function T(_,m){if(!(_ instanceof m))throw new TypeError("Cannot call a class as a function")}function t(_,m){return t=Object.setPrototypeOf||function(n,c){return n.__proto__=c,n},t(_,m)}function e(_,m){return!m||ae(m)!=="object"&&typeof m!="function"?function(n){if(n===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return n}(_):m}function y(_){return y=Object.setPrototypeOf?Object.getPrototypeOf:function(m){return m.__proto__||Object.getPrototypeOf(m)},y(_)}var p=function(_){(function(I,k){if(typeof k!="function"&&k!==null)throw new TypeError("Super expression must either be null or a function");I.prototype=Object.create(k&&k.prototype,{constructor:{value:I,writable:!0,configurable:!0}}),k&&t(I,k)})(d,_);var m,n,c=(m=d,n=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var I,k=y(m);if(n){var q=y(this).constructor;I=Reflect.construct(k,arguments,q)}else I=k.apply(this,arguments);return e(this,I)});function d(){return T(this,d),c.apply(this,arguments)}return d}(P(4351).Z),u=new p;we.Z=u},8342:function(at,we){function P(T,t){for(var e=0;e<t.length;e++){var y=t[e];y.enumerable=y.enumerable||!1,y.configurable=!0,"value"in y&&(y.writable=!0),Object.defineProperty(T,y.key,y)}}var ae=function(){function T(){(function(y,p){if(!(y instanceof p))throw new TypeError("Cannot call a class as a function")})(this,T)}var t,e;return t=T,(e=[{key:"extend",value:function(y,p){if(y){var u=!!p&&p.override,_=!!p&&p.publicOnly;for(var m in y)!y.hasOwnProperty(m)||this[m]&&!u||_&&y[m].indexOf("public_")===-1||(this[m]=y[m])}}}])&&P(t.prototype,e),T}();we.Z=ae},9326:function(at,we,P){var ae=P(3186),T=P(7855),t=P(5448),e=P(8825),y=P(7387),p=P(1553);function u(_){var m,n,c,d,I,k=(_=_||{}).eventBus,q=_.debug,F=_.urlUtils,$=_.type,O=_.streamInfo,K=_.segmentsController,re=_.timelineConverter,H=_.baseURLController;function ee(){return $}function ue(){c=null}function _e(ye,Pe,He){var tt,ve,Oe=H.resolve(He.path),_t={};return Oe&&Pe!==Oe.url&&F.isRelative(Pe)?(tt=Oe.url,ve=Oe.serviceLocation,_t=Oe.queryParams,Pe&&(tt=F.resolve(Pe,tt))):tt=Pe,!F.isRelative(tt)&&(ye.url=tt,ye.serviceLocation=ve,ye.queryParams=_t,!0)}function X(ye,Pe){if(Pe==null)return null;var He=new ae.Z,tt=Pe.representation,ve=tt.adaptation.period.mpd.manifest.Period_asArray[tt.adaptation.period.index].AdaptationSet_asArray[tt.adaptation.index].Representation_asArray[tt.index].bandwidth,Oe=Pe.media;return Oe=(0,y.vi)(Oe,"Number",Pe.replacementNumber),Oe=(0,y.vi)(Oe,"Time",Pe.replacementTime),Oe=(0,y.vi)(Oe,"Bandwidth",ve),Oe=(0,y.Aj)(Oe,tt.id),Oe=(0,y.eR)(Oe),He.mediaType=ee(),He.type=T.w.MEDIA_SEGMENT_TYPE,He.range=Pe.mediaRange,He.startTime=Pe.presentationStartTime,He.mediaStartTime=Pe.mediaStartTime,He.duration=Pe.duration,He.timescale=tt.timescale,He.availabilityStartTime=Pe.availabilityStartTime,He.availabilityEndTime=Pe.availabilityEndTime,He.availabilityTimeComplete=tt.availabilityTimeComplete,He.wallStartTime=Pe.wallStartTime,He.quality=tt.index,He.index=Pe.index,He.mediaInfo=ye,He.adaptationIndex=tt.adaptation.index,He.representationId=tt.id,_e(He,Oe,tt)?He:void 0}function Ae(ye,Pe,He){var tt=null;if(!Pe||!Pe.segmentInfoType)return tt;var ve=K.getSegmentByTime(Pe,He);return ve&&(c=ve,n.debug("Index for time "+He+" is "+ve.index),tt=X(ye,ve)),tt}function Le(ye,Pe,He){var tt=null,ve=K.getSegmentByIndex(Pe,He,c?c.mediaStartTime:-1);if(ve)tt=X(ye,ve),c=ve;else{if(d&&!I)return n.debug(ee()+" No segment found at index: "+He+". Wait for next loop"),null;I=!0}return tt}function Ye(){n.debug("Dynamic stream complete"),I=!0}return m={getCurrentIndex:function(){return c?c.index:-1},getInitRequest:function(ye,Pe){return Pe?function(He,tt,ve){var Oe=new ae.Z,_t=tt.adaptation.period,dt=_t.start;if(Oe.mediaType=ve,Oe.type=T.w.INIT_SEGMENT_TYPE,Oe.range=tt.range,Oe.availabilityStartTime=re.calcAvailabilityStartTimeFromPresentationTime(dt,tt,d),Oe.availabilityEndTime=re.calcAvailabilityEndTimeFromPresentationTime(dt+_t.duration,tt,d),Oe.quality=tt.index,Oe.mediaInfo=He,Oe.representationId=tt.id,_e(Oe,tt.initialization,tt))return Oe.url=(0,y.vi)(Oe.url,"Bandwidth",tt.bandwidth),Oe}(ye,Pe,ee()):null},getNextSegmentRequest:function(ye,Pe){return Pe&&Pe.segmentInfoType?Le(ye,Pe,c?c.index+1:0):null},getNextSegmentRequestIdempotent:function(ye,Pe){var He=c?c.index+1:0,tt=K.getSegmentByIndex(Pe,He,c?c.mediaStartTime:-1);return tt?X(ye,tt):null},getSegmentRequestForTime:Ae,getStreamId:function(){return O.id},getStreamInfo:function(){return O},getType:ee,getValidTimeAheadOfTargetTime:function(ye,Pe,He,tt){try{if(isNaN(ye)||!Pe||!He)return NaN;if(ye<0&&(ye=0),isNaN(tt)&&(tt=.5),Ae(Pe,He,ye))return ye;if(He.adaptation.period.start+He.adaptation.period.duration<ye)return NaN;for(var ve=isFinite(He.adaptation.period.duration)?He.adaptation.period.start+He.adaptation.period.duration:ye+30,Oe=Math.min(ye+tt,ve),_t=NaN,dt=null;Oe<=ve;){var ke=null;if(Oe<=ve&&(ke=Ae(Pe,He,Oe)),ke){_t=Oe,dt=ke;break}Oe+=tt}if(dt){var Je=dt.startTime+dt.duration;return ye>dt.startTime&&Je-ye>tt?ye:!isNaN(dt.startTime)&&ye<dt.startTime&&_t>dt.startTime?dt.startTime+.001:Math.min(Je-tt,_t)}return _t}catch{return NaN}},initialize:function(ye){d=ye,I=!1,K.initialize(ye)},isLastSegmentRequested:function(ye,Pe){return!ye||!c?!1:I?!0:!isFinite(ye.adaptation.period.duration)||c.presentationStartTime+c.duration>Pe?!1:ye.mediaFinishedInformation&&!isNaN(ye.mediaFinishedInformation.numberOfSegments)&&!isNaN(c.index)&&c.index>=ye.mediaFinishedInformation.numberOfSegments-1&&(!d||ye.segmentInfoType===p.Z.SEGMENT_TEMPLATE||d&&ye.segmentInfoType===p.Z.SEGMENT_LIST&&ye.adaptation.period.nextPeriodId)?!0:!!(d&&ye.adaptation.period.nextPeriodId&&ye.segmentInfoType===p.Z.SEGMENT_TIMELINE&&ye.mediaFinishedInformation&&!isNaN(ye.mediaFinishedInformation.mediaTimeOfLastSignaledSegment)&&c&&!isNaN(c.mediaStartTime)&&!isNaN(c.duration)&&c.mediaStartTime+c.duration>=ye.mediaFinishedInformation.mediaTimeOfLastSignaledSegment-.05)},repeatSegmentRequest:function(ye,Pe){return Pe&&Pe.segmentInfoType?Le(ye,Pe,c?c.index:0):null},reset:function(){ue(),k.off(e.Z.DYNAMIC_TO_STATIC,Ye,m)}},n=q.getLogger(m),ue(),k.on(e.Z.DYNAMIC_TO_STATIC,Ye,m),m}u.__dashjs_factory_name="DashHandler",we.Z=t.Z.getClassFactory(u)},1553:function(at,we){function P(T,t){for(var e=0;e<t.length;e++){var y=t[e];y.enumerable=y.enumerable||!1,y.configurable=!0,"value"in y&&(y.writable=!0),Object.defineProperty(T,y.key,y)}}var ae=new(function(){function T(){(function(y,p){if(!(y instanceof p))throw new TypeError("Cannot call a class as a function")})(this,T),this.init()}var t,e;return t=T,(e=[{key:"init",value:function(){this.BASE_URL="BaseURL",this.SEGMENT_BASE="SegmentBase",this.SEGMENT_TEMPLATE="SegmentTemplate",this.SEGMENT_LIST="SegmentList",this.SEGMENT_URL="SegmentURL",this.SEGMENT_TIMELINE="SegmentTimeline",this.SEGMENT_PROFILES="segmentProfiles",this.ADAPTATION_SET="AdaptationSet",this.REPRESENTATION="Representation",this.REPRESENTATION_INDEX="RepresentationIndex",this.SUB_REPRESENTATION="SubRepresentation",this.INITIALIZATION="Initialization",this.INITIALIZATION_MINUS="initialization",this.MPD="MPD",this.PERIOD="Period",this.ASSET_IDENTIFIER="AssetIdentifier",this.EVENT_STREAM="EventStream",this.ID="id",this.PROFILES="profiles",this.SERVICE_LOCATION="serviceLocation",this.RANGE="range",this.INDEX="index",this.MEDIA="media",this.BYTE_RANGE="byteRange",this.INDEX_RANGE="indexRange",this.MEDIA_RANGE="mediaRange",this.VALUE="value",this.CONTENT_TYPE="contentType",this.MIME_TYPE="mimeType",this.BITSTREAM_SWITCHING="BitstreamSwitching",this.BITSTREAM_SWITCHING_MINUS="bitstreamSwitching",this.CODECS="codecs",this.DEPENDENCY_ID="dependencyId",this.MEDIA_STREAM_STRUCTURE_ID="mediaStreamStructureId",this.METRICS="Metrics",this.METRICS_MINUS="metrics",this.REPORTING="Reporting",this.WIDTH="width",this.HEIGHT="height",this.SAR="sar",this.FRAMERATE="frameRate",this.AUDIO_SAMPLING_RATE="audioSamplingRate",this.MAXIMUM_SAP_PERIOD="maximumSAPPeriod",this.START_WITH_SAP="startWithSAP",this.MAX_PLAYOUT_RATE="maxPlayoutRate",this.CODING_DEPENDENCY="codingDependency",this.SCAN_TYPE="scanType",this.FRAME_PACKING="FramePacking",this.AUDIO_CHANNEL_CONFIGURATION="AudioChannelConfiguration",this.CONTENT_PROTECTION="ContentProtection",this.ESSENTIAL_PROPERTY="EssentialProperty",this.ESSENTIAL_PROPERTY_ASARRAY="EssentialProperty_asArray",this.SUPPLEMENTAL_PROPERTY="SupplementalProperty",this.SUPPLEMENTAL_PROPERTY_ASARRAY="SupplementalProperty_asArray",this.INBAND_EVENT_STREAM="InbandEventStream",this.PRODUCER_REFERENCE_TIME="ProducerReferenceTime",this.INBAND="inband",this.TYPE="type",this.ACCESSIBILITY="Accessibility",this.ROLE="Role",this.RATING="Rating",this.CONTENT_COMPONENT="ContentComponent",this.SUBSET="Subset",this.LANG="lang",this.VIEWPOINT="Viewpoint",this.VIEWPOINT_ASARRAY="Viewpoint_asArray",this.ROLE_ASARRAY="Role_asArray",this.REPRESENTATION_ASARRAY="Representation_asArray",this.PRODUCERREFERENCETIME_ASARRAY="ProducerReferenceTime_asArray",this.ACCESSIBILITY_ASARRAY="Accessibility_asArray",this.AUDIOCHANNELCONFIGURATION_ASARRAY="AudioChannelConfiguration_asArray",this.CONTENTPROTECTION_ASARRAY="ContentProtection_asArray",this.MAIN="main",this.DYNAMIC="dynamic",this.STATIC="static",this.MEDIA_PRESENTATION_DURATION="mediaPresentationDuration",this.MINIMUM_UPDATE_PERIOD="minimumUpdatePeriod",this.CODEC_PRIVATE_DATA="codecPrivateData",this.BANDWITH="bandwidth",this.SOURCE_URL="sourceURL",this.TIMESCALE="timescale",this.DURATION="duration",this.START_NUMBER="startNumber",this.PRESENTATION_TIME_OFFSET="presentationTimeOffset",this.AVAILABILITY_START_TIME="availabilityStartTime",this.AVAILABILITY_END_TIME="availabilityEndTime",this.TIMESHIFT_BUFFER_DEPTH="timeShiftBufferDepth",this.MAX_SEGMENT_DURATION="maxSegmentDuration",this.PRESENTATION_TIME="presentationTime",this.MIN_BUFFER_TIME="minBufferTime",this.MAX_SUBSEGMENT_DURATION="maxSubsegmentDuration",this.START="start",this.AVAILABILITY_TIME_OFFSET="availabilityTimeOffset",this.AVAILABILITY_TIME_COMPLETE="availabilityTimeComplete",this.CENC_DEFAULT_KID="cenc:default_KID",this.DVB_PRIORITY="dvb:priority",this.DVB_WEIGHT="dvb:weight",this.DVB_URL="dvb:url",this.DVB_MIMETYPE="dvb:mimeType",this.DVB_FONTFAMILY="dvb:fontFamily",this.SUGGESTED_PRESENTATION_DELAY="suggestedPresentationDelay",this.SERVICE_DESCRIPTION="ServiceDescription",this.SERVICE_DESCRIPTION_SCOPE="Scope",this.SERVICE_DESCRIPTION_LATENCY="Latency",this.SERVICE_DESCRIPTION_PLAYBACK_RATE="PlaybackRate",this.SERVICE_DESCRIPTION_OPERATING_QUALITY="OperatingQuality",this.SERVICE_DESCRIPTION_OPERATING_BANDWIDTH="OperatingBandwidth",this.PATCH_LOCATION="PatchLocation",this.PATCH_LOCATION_AS_ARRAY="PatchLocation_asArray",this.LOCATION="Location",this.LOCATION_AS_ARRAY="Location_asArray",this.PUBLISH_TIME="publishTime",this.ORIGINAL_PUBLISH_TIME="originalPublishTime",this.ORIGINAL_MPD_ID="mpdId",this.WALL_CLOCK_TIME="wallClockTime",this.PRESENTATION_TIME="presentationTime",this.LABEL="Label",this.GROUP_LABEL="GroupLabel",this.CONTENT_STEERING="ContentSteering",this.CONTENT_STEERING_AS_ARRAY="ContentSteering_asArray",this.DEFAULT_SERVICE_LOCATION="defaultServiceLocation",this.QUERY_BEFORE_START="queryBeforeStart",this.CLIENT_REQUIREMENT="clientRequirement",this.TTL="ttl",this.CONTENT_STEERING_RESPONSE={VERSION:"VERSION",TTL:"TTL",RELOAD_URI:"RELOAD-URI",PATHWAY_PRIORITY:"PATHWAY-PRIORITY",PATHWAY_CLONES:"PATHWAY-CLONES",BASE_ID:"BASE-ID",ID:"ID",URI_REPLACEMENT:"URI-REPLACEMENT",HOST:"HOST",PARAMS:"PARAMS"},this.PRODUCER_REFERENCE_TIME_TYPE={ENCODER:"encoder",CAPTURED:"captured",APPLICATION:"application"},this.SEGMENT_ALIGNMENT="segmentAlignment",this.SUB_SEGMENT_ALIGNMENT="subsegmentAlignment"}}])&&P(t.prototype,e),T}());we.Z=ae},7802:function(at,we,P){var ae=P(5448),T=P(1724),t=P(3636),e=P(1736),y=P(5246);function p(_){_=_||{};var m,n,c=this.context,d=_.dashConstants,I=_.type,k=_.segmentBaseController;function q(F){return F?F.segments?n[d.SEGMENT_BASE]:n[F.segmentInfoType]:null}return m={initialize:function(F){n[d.SEGMENT_TIMELINE]=(0,T.Z)(c).create(_,F),n[d.SEGMENT_TEMPLATE]=(0,t.Z)(c).create(_,F),n[d.SEGMENT_LIST]=(0,e.Z)(c).create(_,F),n[d.SEGMENT_BASE]=(0,y.Z)(c).create(_,F)},updateInitData:function(F,$){return $?Promise.resolve():k.getSegmentBaseInitSegment({representation:F,mediaType:I})},updateSegmentData:function(F,$){return $?Promise.resolve():k.getSegmentList({mimeType:F.mimeType,representation:F,mediaType:I})},getSegmentByIndex:function(F,$,O){var K=q(F);return K?K.getSegmentByIndex(F,$,O):null},getSegmentByTime:function(F,$){var O=q(F);return O?O.getSegmentByTime(F,$):null},getMediaFinishedInformation:function(F){var $=q(F);return $?$.getMediaFinishedInformation(F):{numberOfSegments:0,mediaTimeOfLastSignaledSegment:NaN}}},n={},m}p.__dashjs_factory_name="SegmentsController";var u=ae.Z.getClassFactory(p);we.Z=u},1736:function(at,we,P){var ae=P(5448),T=P(3393),t=P(7387);function e(p,u){var _=(p=p||{}).timelineConverter;function m(){if(!_||!_.hasOwnProperty("calcPeriodRelativeTimeFromMpdRelativeTime"))throw new Error(T.Z.MISSING_CONFIG_ERROR)}function n(c,d){if(m(),!c)return null;var I=c.adaptation.period.mpd.manifest.Period_asArray[c.adaptation.period.index].AdaptationSet_asArray[c.adaptation.index].Representation_asArray[c.index].SegmentList,k=I.SegmentURL_asArray.length,q=c&&!isNaN(c.startNumber)?c.startNumber:1,F=Math.max(q-1,0),$=Math.max(d-F,0),O=null;if($<k){var K=I.SegmentURL_asArray[$];(O=(0,t.NF)(_,u,c,d))&&(O.replacementTime=(q+d-1)*c.segmentDuration,O.media=K.media?K.media:"",O.mediaRange=K.mediaRange,O.indexRange=K.indexRange)}return O}return{getSegmentByIndex:n,getSegmentByTime:function(c,d){if(m(),!c)return null;var I=c.segmentDuration;if(isNaN(I))return null;var k=_.calcPeriodRelativeTimeFromMpdRelativeTime(c,d);return n(c,Math.floor(k/I))},getMediaFinishedInformation:function(c){var d={numberOfSegments:0,mediaTimeOfLastSignaledSegment:NaN};if(!c)return d;var I=c.adaptation.period.mpd.manifest.Period_asArray[c.adaptation.period.index].AdaptationSet_asArray[c.adaptation.index].Representation_asArray[c.index].SegmentList,k=c&&!isNaN(c.startNumber)?c.startNumber:1,q=Math.max(k-1,0);return d.numberOfSegments=q+I.SegmentURL_asArray.length,d}}}e.__dashjs_factory_name="ListSegmentsGetter";var y=ae.Z.getClassFactory(e);we.Z=y},5246:function(at,we,P){var ae=P(5448),T=P(3393);function t(y){var p=(y=y||{}).timelineConverter;function u(){if(!p||!p.hasOwnProperty("calcPeriodRelativeTimeFromMpdRelativeTime"))throw new Error(T.Z.MISSING_CONFIG_ERROR)}function _(m,n){if(u(),!m)return null;var c,d=m.segments?m.segments.length:-1;if(n<d&&(c=m.segments[n])&&c.index===n)return c;for(var I=0;I<d;I++)if((c=m.segments[I])&&c.index===n)return c;return null}return{getSegmentByIndex:_,getSegmentByTime:function(m,n){u();var c=function(d,I){if(!d)return-1;var k,q,F,$,O,K=d.segments,re=K?K.length:null,H=-1;if(K&&re>0){for(O=0;O<re;O++)if(F=(q=K[O]).presentationStartTime,I+(k=($=q.duration)/2)>=F&&I-k<F+$){H=q.index;break}}return H}(m,n);return _(m,c)},getMediaFinishedInformation:function(m){var n={numberOfSegments:0,mediaTimeOfLastSignaledSegment:NaN};return m&&m.segments&&(n.numberOfSegments=m.segments.length),n}}}t.__dashjs_factory_name="SegmentBaseGetter";var e=ae.Z.getClassFactory(t);we.Z=e},7387:function(at,we,P){P.d(we,{Aj:function(){return e},NF:function(){return _},TJ:function(){return m},eR:function(){return t},vi:function(){return y}});var ae=P(2011);function T(n,c){for(;n.length<c;)n="0"+n;return n}function t(n){return n&&n.split("$$").join("$")}function e(n,c){if(!c||!n||n.indexOf("$RepresentationID$")===-1)return n;var d=c.toString();return n.split("$RepresentationID$").join(d)}function y(n,c,d){var I,k,q,F,$,O,K=c.length,re=2;if(!n)return n;for(;;){if((I=n.indexOf("$"+c))<0||(k=n.indexOf("$",I+K))<0)return n;if((q=n.indexOf("%0",I+K))>I&&q<k)switch(F=n.charAt(k-1),$=parseInt(n.substring(q+re,k-1),10),F){case"d":case"i":case"u":O=T(d.toString(),$);break;case"x":O=T(d.toString(16),$);break;case"X":O=T(d.toString(16),$).toUpperCase();break;case"o":O=T(d.toString(8),$);break;default:return n}else O=d;n=n.substring(0,I)+O+n.substring(k+1)}}function p(n,c,d,I,k,q,F,$){var O,K=new ae.Z;return K.representation=n,K.duration=c,K.presentationStartTime=d,K.mediaStartTime=I,K.availabilityStartTime=k.calcAvailabilityStartTimeFromPresentationTime(q,n,F),K.availabilityEndTime=k.calcAvailabilityEndTimeFromPresentationTime(q+c,n,F),K.wallStartTime=k.calcWallTimeForSegment(K,F),K.replacementNumber=(O=$,K.representation.startNumber+O),K.index=$,K}function u(n,c,d,I){var k=c.adaptation.period;if(isFinite(k.duration)&&k.start+k.duration<=d.presentationStartTime)return!1;if(I){if(c.availabilityTimeOffset==="INF")return!0;var q=n.getClientReferenceTime();return d.availabilityStartTime.getTime()<=q&&(!isFinite(d.availabilityEndTime)||d.availabilityEndTime.getTime()>=q)}return!0}function _(n,c,d,I){var k,q,F;k=d.segmentDuration,isNaN(k)&&(k=d.adaptation.period.duration),q=parseFloat((d.adaptation.period.start+I*k).toFixed(5)),F=parseFloat((q+k).toFixed(5));var $=p(d,k,q,n.calcMediaTimeFromPresentationTime(q,d),n,F,c,I);return u(n,d,$,c)?$:null}function m(n,c,d,I,k,q,F,$,O,K){var re,H,ee=I/q,ue=k/q;return re=n.calcPresentationTimeFromMediaTime(ee,d),u(n,d,H=p(d,ue,re,ee,n,re+ue,c,O),c)?(H.replacementTime=K||I,F=y(F,"Number",H.replacementNumber),F=y(F,"Time",H.replacementTime),H.media=F,H.mediaRange=$,H):null}},3636:function(at,we,P){var ae=P(5448),T=P(3393),t=P(7387);function e(p,u){var _=(p=p||{}).timelineConverter;function m(){if(!_||!_.hasOwnProperty("calcPeriodRelativeTimeFromMpdRelativeTime"))throw new Error(T.Z.MISSING_CONFIG_ERROR)}function n(c,d){if(m(),!c)return null;var I=c.adaptation.period.mpd.manifest.Period_asArray[c.adaptation.period.index].AdaptationSet_asArray[c.adaptation.index].Representation_asArray[c.index].SegmentTemplate;d=Math.max(d,0);var k=(0,t.NF)(_,u,c,d);if(k){k.replacementTime=Math.round((d-1)*c.segmentDuration*c.timescale,10);var q=I.media;q=(0,t.vi)(q,"Number",k.replacementNumber),q=(0,t.vi)(q,"Time",k.replacementTime),k.media=q}return k}return{getSegmentByIndex:n,getSegmentByTime:function(c,d){if(m(),!c)return null;var I=c.segmentDuration;if(isNaN(I))return null;var k=_.calcPeriodRelativeTimeFromMpdRelativeTime(c,d);return n(c,Math.floor(k/I))},getMediaFinishedInformation:function(c){var d={numberOfSegments:0,mediaTimeOfLastSignaledSegment:NaN};if(!c)return d;var I=c.segmentDuration;return isNaN(I)?d.numberOfSegments=1:d.numberOfSegments=Math.ceil(c.adaptation.period.duration/I),d}}}e.__dashjs_factory_name="TemplateSegmentsGetter";var y=ae.Z.getClassFactory(e);we.Z=y},1724:function(at,we,P){var ae=P(5448),T=P(3393),t=P(7387);function e(p,u){var _=(p=p||{}).timelineConverter,m=p.dashMetrics;function n(){if(!_)throw new Error(T.Z.MISSING_CONFIG_ERROR)}function c(I,k){var q,F,$,O,K,re,H,ee=I.adaptation.period.mpd.manifest.Period_asArray[I.adaptation.period.index].AdaptationSet_asArray[I.adaptation.index].Representation_asArray[I.index].SegmentTemplate||I.adaptation.period.mpd.manifest.Period_asArray[I.adaptation.period.index].AdaptationSet_asArray[I.adaptation.index].Representation_asArray[I.index].SegmentList,ue=ee.SegmentTimeline,_e=ee.SegmentURL_asArray,X=0,Ae=-1;H=I.timescale;var Le=!1;for($=0,O=(q=ue.S_asArray).length;$<O&&!Le;$++)for(re=0,(F=q[$]).hasOwnProperty("r")&&(re=F.r),F.hasOwnProperty("t")&&(X=F.t),re<0&&(re=d(I,q[$+1],F,H,X/H)),K=0;K<=re&&!Le;K++)(Le=k(X,ee,_e,F,H,++Ae,$))&&(I.segmentDuration=F.d/H),X+=F.d}function d(I,k,q,F,$){var O;if(k&&k.hasOwnProperty("t"))O=k.t/F;else try{var K=0;if(isNaN(I.adaptation.period.start)||isNaN(I.adaptation.period.duration)||!isFinite(I.adaptation.period.duration)){var re=m.getCurrentDVRInfo();K=isNaN(re.end)?0:re.end}else K=I.adaptation.period.start+I.adaptation.period.duration;O=_.calcMediaTimeFromPresentationTime(K,I),I.segmentDuration=q.d/F}catch{O=0}return Math.max(Math.ceil((O-$)/(q.d/F))-1,0)}return{getSegmentByIndex:function(I,k,q){if(n(),!I)return null;var F=null,$=!1;return c(I,function(O,K,re,H,ee,ue,_e){if($||q<0){var X=K.media,Ae=H.mediaRange;return re&&(X=re[_e].media||"",Ae=re[_e].mediaRange),F=(0,t.TJ)(_,u,I,O,H.d,ee,X,Ae,ue,H.tManifest),!0}return O>=q*ee-.5*H.d&&($=!0),!1}),F},getSegmentByTime:function(I,k){if(n(),!I)return null;k===void 0&&(k=null);var q=null,F=_.calcMediaTimeFromPresentationTime(k,I);return c(I,function($,O,K,re,H,ee,ue){var _e=parseFloat((F*H).toPrecision(15));if(_e<$+re.d&&_e>=$){var X=O.media,Ae=re.mediaRange;return K&&(X=K[ue].media||"",Ae=K[ue].mediaRange),q=(0,t.TJ)(_,u,I,$,re.d,H,X,Ae,ee,re.tManifest),!0}return!1}),q},getMediaFinishedInformation:function(I){if(!I)return 0;var k,q,F,$,O,K,re,H=(I.adaptation.period.mpd.manifest.Period_asArray[I.adaptation.period.index].AdaptationSet_asArray[I.adaptation.index].Representation_asArray[I.index].SegmentTemplate||I.adaptation.period.mpd.manifest.Period_asArray[I.adaptation.period.index].AdaptationSet_asArray[I.adaptation.index].Representation_asArray[I.index].SegmentList).SegmentTimeline,ee=0,ue=0,_e=0;for(re=I.timescale,$=(k=H.S_asArray).length,F=0;F<$;F++)for(K=0,(q=k[F]).hasOwnProperty("r")&&(K=q.r),q.hasOwnProperty("t")&&(ue=(ee=q.t)/re),K<0&&(K=d(I,k[F+1],q,re,ue)),O=0;O<=K;O++)_e++,ue=(ee+=q.d)/re;return{numberOfSegments:_e,mediaTimeOfLastSignaledSegment:ue}}}}e.__dashjs_factory_name="TimelineSegmentsGetter";var y=ae.Z.getClassFactory(e);we.Z=y},2011:function(at,we){we.Z=function P(){(function(ae,T){if(!(ae instanceof T))throw new TypeError("Cannot call a class as a function")})(this,P),this.indexRange=null,this.index=null,this.mediaRange=null,this.media=null,this.duration=NaN,this.replacementTime=null,this.replacementNumber=NaN,this.mediaStartTime=NaN,this.presentationStartTime=NaN,this.availabilityStartTime=NaN,this.availabilityEndTime=NaN,this.wallStartTime=NaN,this.representation=null}},2610:function(at,we){we.Z=function P(){(function(ae,T){if(!(ae instanceof T))throw new TypeError("Cannot call a class as a function")})(this,P),this.schemeIdUri="",this.value=""}},1139:function(at,we,P){P.d(we,{Z:function(){return cu}});var ae=P(452),T=P.n(ae),t=P(3393),e=P(1553),y=P(3860),p=P(5595),u=P(8512),_=P(5448),m=P(6398),n=P(8825);function c(){var i,r,l,E,R,A,h,w,L,Y,B,N,U,Z,ce,te,se,de,G,ie,j,le,g,M,C,D=this.context,b=(0,p.Z)(D).getInstance();function ne(){x(),Z=!1,Y=0,B=0,se=0,g=!1,de=!0,G=!1,M=!1,ie=NaN,te=NaN,h&&(b.off(u.Z.DATA_UPDATE_COMPLETED,qe,i),b.off(u.Z.LOADING_PROGRESS,kt,i),b.off(u.Z.MANIFEST_UPDATED,rt,i),b.off(u.Z.STREAMS_COMPOSED,fe,i),b.off(n.Z.PLAYBACK_ENDED,ut,i),b.off(n.Z.STREAM_INITIALIZING,Ge,i),b.off(n.Z.REPRESENTATION_SWITCH,Re,i),b.off(n.Z.BUFFER_LEVEL_STATE_CHANGED,st,i),lt(),h.removeEventListener("canplay",ht),h.removeEventListener("canplaythrough",gt),h.removeEventListener("play",qt),h.removeEventListener("waiting",Gt),h.removeEventListener("playing",an),h.removeEventListener("pause",un),h.removeEventListener("error",Dt),h.removeEventListener("seeking",Be),h.removeEventListener("seeked",ft),h.removeEventListener("timeupdate",$e),h.removeEventListener("progress",vt),h.removeEventListener("ratechange",wt),h.removeEventListener("loadedmetadata",Ht),h.removeEventListener("loadeddata",Yt),h.removeEventListener("stalled",jt),h.removeEventListener("ended",Kt),h.removeEventListener("volumechange",Jt)),L=null,h=null,N=null,U=null}function z(){var pe=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null;return parseFloat((oe(pe)-Te()).toFixed(5))}function oe(pe){var Ve=pe||N;return Ve.start+Ve.duration}function Q(){var pe=arguments.length>0&&arguments[0]!==void 0&&arguments[0];N&&h&&h.getElement()?(pe&&U&&Ne(Te()),h.play()):Z=!0}function x(){N&&h&&h.pause()}function J(pe){var Ve=arguments.length>1&&arguments[1]!==void 0&&arguments[1],St=arguments.length>2&&arguments[2]!==void 0&&arguments[2],Nt=arguments.length>3&&arguments[3]!==void 0&&arguments[3];if(N&&h&&h.getElement()){var ln=isNaN(ie)?h.getTime():ie;pe!==ln&&((j=St===!0)||(ie=pe),r.info("Requesting seek to time: "+pe+(j?" (internal)":"")),U&&Nt&&Ne(pe),h.setCurrentTime(pe,Ve))}}function he(){if(N&&h&&U){var pe=l&&l.hasVideoTrack()?t.Z.VIDEO:t.Z.AUDIO,Ve=R.getCurrentDVRInfo(pe);return Ve&&Ve.range?Ve.range.end:0}}function Ne(pe){var Ve=new Date(w.getClientReferenceTime()),St=A.getRegularPeriods()[0],Nt=w.calcPresentationTimeFromWallTime(Ve,St);Y=Nt-pe}function Te(){return N&&h?h.getTime():null}function Ce(){return N&&h?h.isPaused():null}function Ie(){return N&&h?h.isSeeking():null}function et(){return N&&h?h.isStalled():null}function nt(){return N&&h?h.getPlaybackRate():null}function We(){return N&&h?h.getEnded():null}function Xe(){return U}function Mt(){var pe=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null;if(!Ce()&&U&&h.getReadyState()!==0&&!Ie()&&!g){pe||(pe=l.hasVideoTrack()?t.Z.VIDEO:t.Z.AUDIO);var Ve=Te(),St=Ee(Ve,pe),Nt=!isNaN(St)&&St!==Ve;Nt&&!Ie()&&(et()||le||h.getReadyState()===1)&&(r.debug("UpdateCurrentTime: Seek to actual time: ".concat(St," from currentTime: ").concat(Ve)),J(St,!1,!1))}}function Ee(pe,Ve){var St=R.getCurrentDVRInfo(Ve),Nt=St?St.range:null;return Nt?pe>Nt.end?Math.max(Nt.end-Y,Nt.start):pe>0&&pe+.25<Nt.start&&Math.abs(pe-Nt.start)<31536e4?G?Math.max(Nt.end-Y,Nt.start):Nt.start:pe:NaN}function Fe(){L===null&&(L=setInterval(function(){(function(){if(b.trigger(u.Z.WALLCLOCK_TIME_UPDATED,{isDynamic:U,time:new Date}),Xe()){var pe=Date.now();(isNaN(te)||pe>te+C.get().streaming.liveUpdateTimeThresholdInMilliseconds)&&(l.addDVRMetric(),Ce()?function(){var Ve=Date.now();(!ce||Ve>ce+500)&&(ce=Ve,$e())}():Mt(),te=pe)}})()},C.get().streaming.wallclockTimeUpdateInterval))}function lt(){clearInterval(L),L=null}function qe(pe){var Ve=A.convertRepresentationToRepresentationInfo(pe.currentRepresentation),St=Ve?Ve.mediaInfo.streamInfo:null;St!==null&&N.id===St.id&&(N=St)}function ht(){b.trigger(u.Z.CAN_PLAY)}function gt(){b.trigger(u.Z.CAN_PLAY_THROUGH)}function st(pe){pe.streamId===l.getActiveStreamInfo().id&&(le=pe.state===y.Z.BUFFER_EMPTY,C.get().streaming.buffer.setStallState&&h.setStallState(pe.mediaType,pe.state===y.Z.BUFFER_EMPTY))}function qt(){r.info("Native video element event: play"),Mt(),Fe(),b.trigger(u.Z.PLAYBACK_STARTED,{startTime:Te()})}function Gt(){r.info("Native video element event: waiting"),b.trigger(u.Z.PLAYBACK_WAITING,{playingTime:Te()})}function an(){r.info("Native video element event: playing"),j=!1,b.trigger(u.Z.PLAYBACK_PLAYING,{playingTime:Te()})}function un(){r.info("Native video element event: pause"),b.trigger(u.Z.PLAYBACK_PAUSED,{ended:We()})}function Be(){if(!j){var pe=Te();isNaN(ie)||ie===pe||(pe=ie),ie=NaN,r.info("Seeking to: "+pe),Fe(),b.trigger(u.Z.PLAYBACK_SEEKING,{seekTime:pe,streamId:N.id})}}function ft(){r.info("Native video element event: seeked"),j=!1,b.trigger(u.Z.PLAYBACK_SEEKED)}function $e(){N&&b.trigger(u.Z.PLAYBACK_TIME_UPDATED,{timeToEnd:z(),time:Te(),streamId:N.id})}function vt(){b.trigger(u.Z.PLAYBACK_PROGRESS,{streamId:N.id})}function wt(){var pe=nt();r.info("Native video element event: ratechange: ",pe),b.trigger(u.Z.PLAYBACK_RATE_CHANGED,{playbackRate:pe})}function Ht(){r.info("Native video element event: loadedmetadata"),b.trigger(u.Z.PLAYBACK_METADATA_LOADED),Fe()}function Yt(){r.info("Native video element event: loadeddata"),b.trigger(u.Z.PLAYBACK_LOADED_DATA)}function Kt(){r.info("Native video element event: ended"),x(),lt();var pe=l?l.getActiveStreamInfo():null;pe&&b.trigger(u.Z.PLAYBACK_ENDED,{isLast:pe.isLast})}function Jt(){b.trigger(u.Z.PLAYBACK_VOLUME_CHANGED)}function ut(pe){if(L&&pe.isLast){r.info("onPlaybackEnded -- PLAYBACK_ENDED but native video element didn't fire ended");var Ve=pe.seekTime?pe.seekTime:oe();h.setCurrentTime(Ve),x(),lt()}}function Dt(pe){var Ve=pe.target||pe.srcElement;b.trigger(u.Z.PLAYBACK_ERROR,{error:Ve.error})}function xt(){U=!1}function kt(pe){if(pe.stream===!1&&G&&!isNaN(pe.request.duration)){var Ve=1.2*pe.request.duration;Ve>Y&&(r.warn("Browser does not support fetch API with StreamReader. Increasing live delay to be 20% higher than segment duration:",Ve.toFixed(2)),Y=Ve,B=Ve)}}function jt(pe){b.trigger(u.Z.PLAYBACK_STALLED,{e:pe})}function Ge(pe){var Ve;(Ve=pe.mediaInfo)&&Ve.supplementalProperties&&Ve.supplementalProperties[t.Z.SUPPLEMENTAL_PROPERTY_DVB_LL_SCHEME]&&Ve.supplementalProperties[t.Z.SUPPLEMENTAL_PROPERTY_DVB_LL_SCHEME].value==="true"&&(r.debug("Low Latency critical SupplementalProperty set: Enabling low Latency"),G=!0)}function Re(pe){var Ve=l.getActiveStreamInfo();pe&&Ve&&pe.currentRepresentation&&pe.streamId&&pe.streamId===Ve.id&&pe.mediaType&&(pe.mediaType===t.Z.VIDEO||pe.mediaType===t.Z.AUDIO)&&(de=pe.currentRepresentation.availabilityTimeComplete,(G=!de)&&!M&&(M=!0))}function rt(){g=!0}function fe(){g=!1}return i={initialize:function(pe,Ve){N=pe,Ve!==!0&&(h.addEventListener("canplay",ht),h.addEventListener("canplaythrough",gt),h.addEventListener("play",qt),h.addEventListener("waiting",Gt),h.addEventListener("playing",an),h.addEventListener("pause",un),h.addEventListener("error",Dt),h.addEventListener("seeking",Be),h.addEventListener("seeked",ft),h.addEventListener("timeupdate",$e),h.addEventListener("progress",vt),h.addEventListener("ratechange",wt),h.addEventListener("loadedmetadata",Ht),h.addEventListener("loadeddata",Yt),h.addEventListener("stalled",jt),h.addEventListener("ended",Kt),h.addEventListener("volumechange",Jt),U=N.manifestInfo.isDynamic,le=!1,j=!1,b.on(u.Z.DATA_UPDATE_COMPLETED,qe,i),b.on(u.Z.LOADING_PROGRESS,kt,i),b.on(u.Z.MANIFEST_UPDATED,rt,i),b.on(u.Z.STREAMS_COMPOSED,fe,i),b.on(n.Z.PLAYBACK_ENDED,ut,i,{priority:p.Z.EVENT_PRIORITY_HIGH}),b.on(n.Z.STREAM_INITIALIZING,Ge,i),b.on(n.Z.REPRESENTATION_SWITCH,Re,i),b.on(n.Z.BUFFER_LEVEL_STATE_CHANGED,st,i),b.on(n.Z.DYNAMIC_TO_STATIC,xt,i),Z&&(Z=!1,Q()))},setConfig:function(pe){pe&&(pe.streamController&&(l=pe.streamController),pe.serviceDescriptionController&&(E=pe.serviceDescriptionController),pe.dashMetrics&&(R=pe.dashMetrics),pe.adapter&&(A=pe.adapter),pe.videoModel&&(h=pe.videoModel),pe.timelineConverter&&(w=pe.timelineConverter),pe.settings&&(C=pe.settings))},getTimeToStreamEnd:z,getBufferLevel:function(){var pe=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,Ve=null;return l.getActiveStreamProcessors().forEach(function(St){if(!pe||pe.length===0||pe.indexOf(St.getType())===-1){var Nt=St.getBufferLevel();Ve=Ve===null?Nt:Math.min(Ve,Nt)}}),Ve},getPlaybackStalled:function(){return le},getTime:Te,getLowLatencyModeEnabled:function(){return G},getInitialCatchupModeActivated:function(){return M},getIsManifestUpdateInProgress:function(){return g},getPlaybackRate:nt,getPlayedRanges:function(){return N&&h?h.getPlayedRanges():null},getEnded:We,getIsDynamic:Xe,getStreamController:function(){return l},computeAndSetLiveDelay:function(pe,Ve){var St,Nt,ln,bn=!isNaN(pe)&&isFinite(pe)?pe:NaN,Zn=A.getSuggestedPresentationDelay(),Sn=E.getServiceDescriptionSettings();return St=isNaN(C.get().streaming.delay.liveDelay)?C.get().streaming.delay.liveDelayFragmentCount===null||isNaN(C.get().streaming.delay.liveDelayFragmentCount)||isNaN(bn)?Sn&&!isNaN(Sn.liveDelay)&&Sn.liveDelay>0?Sn.liveDelay:C.get().streaming.delay.useSuggestedPresentationDelay===!0&&Zn!==null&&!isNaN(Zn)&&Zn>0?Zn:isNaN(bn)?Ve&&!isNaN(Ve.minBufferTime)?4*Ve.minBufferTime:4*N.manifestInfo.minBufferTime:4*bn:bn*C.get().streaming.delay.liveDelayFragmentCount:C.get().streaming.delay.liveDelay,(ln=A.getAvailabilityStartTime())!==null&&(se=ln),Nt=Ve&&Ve.dvrWindowSize>0?Math.min(St,Ve.dvrWindowSize):St,Y=Nt,B=Nt,Nt},getLiveDelay:function(){return Y},getOriginalLiveDelay:function(){return B},getCurrentLiveLatency:function(){if(!U||isNaN(se))return NaN;var pe=Te();if(isNaN(pe)||pe===0)return 0;var Ve=new Date().getTime()+1e3*w.getClientTimeOffset();return Math.max(((Ve-se-1e3*pe)/1e3).toFixed(3),0)},play:Q,isPaused:Ce,isStalled:et,pause:x,isSeeking:Ie,getStreamEndTime:oe,seek:J,seekToOriginalLive:function(){var pe=arguments.length>0&&arguments[0]!==void 0&&arguments[0],Ve=arguments.length>1&&arguments[1]!==void 0&&arguments[1],St=arguments.length>2&&arguments[2]!==void 0&&arguments[2],Nt=he();if(Nt!==0){var ln=Nt-(Y=B);J(ln,pe,Ve,St)}},seekToCurrentLive:function(){var pe=arguments.length>0&&arguments[0]!==void 0&&arguments[0],Ve=arguments.length>1&&arguments[1]!==void 0&&arguments[1],St=arguments.length>2&&arguments[2]!==void 0&&arguments[2],Nt=he();if(Nt!==0){var ln=Nt-Y;J(ln,pe,Ve,St)}},reset:ne,updateCurrentTime:Mt,getAvailabilityStartTime:function(){return se}},r=(0,m.Z)(D).getInstance().getLogger(i),ne(),i}c.__dashjs_factory_name="PlaybackController";var d=_.Z.getSingletonFactory(c),I=P(3186),k="loading",q="executed",F="failed";function $(i){var r,l,E,R,A=(i=i||{}).eventBus,h=i.events,w=i.dashMetrics,L=i.fragmentLoader,Y=i.debug,B=i.streamInfo,N=i.type;function U(g){var M;return!!g&&(M=!1,E.some(function(C){if(D=g,b=C,!isNaN(D.index)&&D.startTime===b.startTime&&D.adaptationIndex===b.adaptationIndex&&D.type===b.type||function(ne,z){return isNaN(ne.index)&&isNaN(z.index)&&ne.quality===z.quality}(g,C)||function(ne,z){return ne.action===I.Z.ACTION_COMPLETE&&ne.action===z.action}(g,C))return M=!0;var D,b}),M)}function Z(g){return isNaN(g.duration)?.25:Math.min(g.duration/8,.5)}function ce(g){E=E.filter(function(M){var C=Z(M);return isNaN(M.startTime)||g!==void 0&&M.startTime>=g-C})}function te(g,M){M<=g+.5||(E=E.filter(function(C){var D=Z(C);return isNaN(C.startTime)||C.startTime>=M-D||isNaN(C.duration)||C.startTime+C.duration<=g+D}))}function se(g,M,C){for(var D=g.length-1;D>=0;D--){var b=g[D],ne=b.startTime,z=ne+b.duration;if(C=isNaN(C)?Z(b):C,!isNaN(ne)&&!isNaN(z)&&M+C>=ne&&M-C<z||isNaN(ne)&&isNaN(M))return b}return null}function de(g,M){w.addSchedulingInfo(g,M),w.addRequestsQueue(g.mediaType,R,E)}function G(g){g.sender===L&&(R.splice(R.indexOf(g.request),1),g.response&&!g.error&&E.push(g.request),de(g.request,g.error?F:q),A.trigger(h.FRAGMENT_LOADING_COMPLETED,{request:g.request,response:g.response,error:g.error,sender:this},{streamId:B.id,mediaType:N}))}function ie(g){g.sender===L&&A.trigger(h.FRAGMENT_LOADING_PROGRESS,{request:g.request,response:g.response,error:g.error,sender:this},{streamId:B.id,mediaType:N})}function j(g){g.sender===L&&A.trigger(h.FRAGMENT_LOADING_ABANDONED,{request:g.request},{streamId:B.id,mediaType:N})}function le(){E=[],R=[]}return r={getStreamId:function(){return B.id},getType:function(){return N},getRequests:function(g){var M=g?g.state instanceof Array?g.state:[g.state]:[],C=[];return M.forEach(function(D){var b=function(ne){var z;switch(ne){case k:z=R;break;case q:z=E;break;default:z=[]}return z}(D);C=C.concat(function(ne,z){return z.hasOwnProperty("time")?[se(ne,z.time,z.threshold)]:ne.filter(function(oe){for(var Q in z)if(Q!=="state"&&z.hasOwnProperty(Q)&&oe[Q]!=z[Q])return!1;return!0})}(b,g))}),C},isFragmentLoaded:U,isFragmentLoadedOrPending:function(g){var M,C=!1,D=0;if(!(C=U(g)))for(D=0;D<R.length;D++)M=R[D],g.url===M.url&&g.startTime===M.startTime&&(C=!0);return C},removeExecutedRequestsBeforeTime:ce,removeExecutedRequestsAfterTime:function(g){E=E.filter(function(M){return isNaN(M.startTime)||g!==void 0&&M.startTime<g})},syncExecutedRequestsWithBufferedRange:function(g,M){if(g&&g.length!==0){for(var C=0,D=0,b=g.length;D<b;D++)te(C,g.start(D)),C=g.end(D);M>0&&te(C,M)}else ce()},abortRequests:function(){l.debug("abort requests"),L.abort(),R=[]},executeRequest:function(g){g.action===I.Z.ACTION_DOWNLOAD?(de(g,k),R.push(g),function(M){A.trigger(h.FRAGMENT_LOADING_STARTED,{request:M},{streamId:B.id,mediaType:N}),L.load(M)}(g)):l.warn("Unknown request action.")},reset:function(){A.off(h.LOADING_COMPLETED,G,this),A.off(h.LOADING_DATA_PROGRESS,ie,this),A.off(h.LOADING_ABANDONED,j,this),L&&L.reset(),le()},resetInitialSettings:le,addExecutedRequest:function(g){E.push(g)}},l=Y.getLogger(r),le(),A.on(h.LOADING_COMPLETED,G,r),A.on(h.LOADING_DATA_PROGRESS,ie,r),A.on(h.LOADING_ABANDONED,j,r),r}$.__dashjs_factory_name="FragmentModel";var O=_.Z.getClassFactory($);O.FRAGMENT_MODEL_LOADING=k,O.FRAGMENT_MODEL_EXECUTED=q,O.FRAGMENT_MODEL_CANCELED="canceled",O.FRAGMENT_MODEL_FAILED=F,_.Z.updateClassFactory($.__dashjs_factory_name,O);var K=O,re=P(5459);function H(i){return H=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(r){return typeof r}:function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},H(i)}function ee(i,r){return ee=Object.setPrototypeOf||function(l,E){return l.__proto__=E,l},ee(i,r)}function ue(i,r){return!r||H(r)!=="object"&&typeof r!="function"?function(l){if(l===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return l}(i):r}function _e(i){return _e=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},_e(i)}var X=new(function(i){(function(A,h){if(typeof h!="function"&&h!==null)throw new TypeError("Super expression must either be null or a function");A.prototype=Object.create(h&&h.prototype,{constructor:{value:A,writable:!0,configurable:!0}}),h&&ee(A,h)})(R,i);var r,l,E=(r=R,l=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var A,h=_e(r);if(l){var w=_e(this).constructor;A=Reflect.construct(h,arguments,w)}else A=h.apply(this,arguments);return ue(this,A)});function R(){var A;return function(h,w){if(!(h instanceof w))throw new TypeError("Cannot call a class as a function")}(this,R),(A=E.call(this)).MANIFEST_LOADER_PARSING_FAILURE_ERROR_CODE=10,A.MANIFEST_LOADER_LOADING_FAILURE_ERROR_CODE=11,A.XLINK_LOADER_LOADING_FAILURE_ERROR_CODE=12,A.SEGMENT_BASE_LOADER_ERROR_CODE=15,A.TIME_SYNC_FAILED_ERROR_CODE=16,A.FRAGMENT_LOADER_LOADING_FAILURE_ERROR_CODE=17,A.FRAGMENT_LOADER_NULL_REQUEST_ERROR_CODE=18,A.URL_RESOLUTION_FAILED_GENERIC_ERROR_CODE=19,A.APPEND_ERROR_CODE=20,A.REMOVE_ERROR_CODE=21,A.DATA_UPDATE_FAILED_ERROR_CODE=22,A.CAPABILITY_MEDIASOURCE_ERROR_CODE=23,A.CAPABILITY_MEDIAKEYS_ERROR_CODE=24,A.DOWNLOAD_ERROR_ID_MANIFEST_CODE=25,A.DOWNLOAD_ERROR_ID_SIDX_CODE=26,A.DOWNLOAD_ERROR_ID_CONTENT_CODE=27,A.DOWNLOAD_ERROR_ID_INITIALIZATION_CODE=28,A.DOWNLOAD_ERROR_ID_XLINK_CODE=29,A.MANIFEST_ERROR_ID_PARSE_CODE=31,A.MANIFEST_ERROR_ID_NOSTREAMS_CODE=32,A.TIMED_TEXT_ERROR_ID_PARSE_CODE=33,A.MANIFEST_ERROR_ID_MULTIPLEXED_CODE=34,A.MEDIASOURCE_TYPE_UNSUPPORTED_CODE=35,A.MANIFEST_LOADER_PARSING_FAILURE_ERROR_MESSAGE="parsing failed for ",A.MANIFEST_LOADER_LOADING_FAILURE_ERROR_MESSAGE="Failed loading manifest: ",A.XLINK_LOADER_LOADING_FAILURE_ERROR_MESSAGE="Failed loading Xlink element: ",A.SEGMENTS_UPDATE_FAILED_ERROR_MESSAGE="Segments update failed",A.SEGMENTS_UNAVAILABLE_ERROR_MESSAGE="no segments are available yet",A.SEGMENT_BASE_LOADER_ERROR_MESSAGE="error loading segment ranges from sidx",A.TIME_SYNC_FAILED_ERROR_MESSAGE="Failed to synchronize client and server time",A.FRAGMENT_LOADER_NULL_REQUEST_ERROR_MESSAGE="request is null",A.URL_RESOLUTION_FAILED_GENERIC_ERROR_MESSAGE="Failed to resolve a valid URL",A.APPEND_ERROR_MESSAGE="chunk is not defined",A.REMOVE_ERROR_MESSAGE="Removing data from the SourceBuffer",A.DATA_UPDATE_FAILED_ERROR_MESSAGE="Data update failed",A.CAPABILITY_MEDIASOURCE_ERROR_MESSAGE="mediasource is not supported",A.CAPABILITY_MEDIAKEYS_ERROR_MESSAGE="mediakeys is not supported",A.TIMED_TEXT_ERROR_MESSAGE_PARSE="parsing error :",A.MEDIASOURCE_TYPE_UNSUPPORTED_MESSAGE="Error creating source buffer of type : ",A}return R}(P(2230).Z)),Ae=P(1264),Le=P(7855);function Ye(i){var r,l,E,R,A,h,w=this.context,L=(0,Ae.Z)(w).getInstance(),Y=i.textController,B=i.eventBus,N=[],U=[],Z=!1,ce=i.mediaSource,te=null;function se(b){return new Promise(function(ne){D(function(){R.changeType&&R.changeType(b),ne()})})}function de(b){return R=Y.getTextSourceBuffer(b),Promise.resolve()}function G(){if(typeof R.addEventListener=="function")try{R.addEventListener("updateend",M,!1),R.addEventListener("error",C,!1),R.addEventListener("abort",C,!1)}catch{h=setInterval(M,50)}else h=setInterval(M,50)}function ie(b){return new Promise(function(ne){R&&L.get().streaming.buffer.useAppendWindow?D(function(){try{if(!R)return void ne();var z=ce.duration,oe=0;b&&!isNaN(b.start)&&!isNaN(b.duration)&&isFinite(b.duration)&&(z=b.start+b.duration),b&&!isNaN(b.start)&&(oe=b.start),R.appendWindowEnd===z&&R.appendWindowStart===oe||(R.appendWindowStart=0,R.appendWindowEnd=z+.01,R.appendWindowStart=Math.max(oe-.1,0),E.debug("Updated append window for ".concat(A.type,". Set start to ").concat(R.appendWindowStart," and end to ").concat(R.appendWindowEnd))),ne()}catch{E.warn("Failed to set append window"),ne()}}):ne()})}function j(b){return new Promise(function(ne){R?D(function(){try{R.timestampOffset===b||isNaN(b)||(R.timestampOffset=b,E.debug("Set MSE timestamp offset to ".concat(b))),ne()}catch{ne()}}):ne()})}function le(){if(!Z&&U.length>0){Z=!0;var b=U[0];U.splice(0,1);var ne=function(){Z=!1,U.length>0&&le.call(this),b&&b.data&&b.data.segmentType&&b.data.segmentType!==Le.w.INIT_SEGMENT_TYPE&&delete b.data.bytes,b.promise.resolve({chunk:b.data})};try{te=b.request,b.data.bytes.byteLength===0?ne.call(this):(R.appendBuffer?R.appendBuffer(b.data.bytes):R.append(b.data.bytes,b.data),D(ne.bind(this)))}catch(z){E.fatal('SourceBuffer append failed "'+z+'"'),U.length>0?le():Z=!1,delete b.data.bytes,b.promise.reject({chunk:b.data,error:new re.Z(z.code,z.message)})}}}function g(){N.length>0&&(R.updating||(N.shift()(),g()))}function M(){R.updating||g()}function C(b){var ne,z,oe=b.target||{};ne=u.Z.SOURCE_BUFFER_ERROR,z={error:oe,lastRequestAppended:te},B.trigger(ne,z,{streamId:A.streamInfo.id,mediaType:l})}function D(b){N.push(b),R.updating||g()}return r={getType:function(){return l},getAllBufferRanges:function(){try{return R.buffered}catch(b){return E.error("getAllBufferRanges exception: "+b.message),null}},getBuffer:function(){return R},append:function(b){var ne=this,z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return new Promise(function(oe,Q){b?(U.push({data:b,promise:{resolve:oe,reject:Q},request:z}),D(le.bind(ne))):Q({chunk:b,error:new re.Z(X.APPEND_ERROR_CODE,X.APPEND_ERROR_MESSAGE)})})},remove:function(b){return new Promise(function(ne,z){var oe=b.start,Q=b.end;oe>=0&&Q>oe?D(function(){try{R.remove(oe,Q),D(function(){ne({from:oe,to:Q,unintended:!1}),b.resolve&&b.resolve()})}catch(x){z({from:oe,to:Q,unintended:!1,error:new re.Z(X.REMOVE_ERROR_CODE,X.REMOVE_ERROR_MESSAGE)}),b.reject&&b.reject(x)}}):ne()})},abort:function(){return new Promise(function(b){try{U=[],ce.readyState==="open"?D(function(){try{R&&R.abort(),b()}catch{b()}}):(R&&R.setTextTrack&&ce.readyState==="ended"&&R.abort(),b())}catch{b()}})},reset:function(){if(R){try{N=[],function(){try{typeof R.removeEventListener=="function"&&(R.removeEventListener("updateend",M,!1),R.removeEventListener("error",C,!1),R.removeEventListener("abort",C,!1)),clearInterval(h)}catch(b){E.error(b)}}(),Z=!1,U=[],R.getClassName&&R.getClassName()==="TextSourceBuffer"||(E.debug("Removing sourcebuffer from media source"),ce.removeSourceBuffer(R))}catch{}R=null}te=null},updateTimestampOffset:j,initializeForStreamSwitch:function(b,ne,z){l=(A=b).type;var oe=A.codec;(function(x){R=x.getBuffer()})(z),G();var Q=[];return Q.push(new Promise(function(x){D(function(){var J=R.appendWindowStart,he=R.appendWindowEnd;R&&(R.abort(),R.appendWindowStart=J,R.appendWindowEnd=he),x()})})),Q.push(ie(A.streamInfo)),L.get().streaming.buffer.useChangeTypeForTrackSwitch&&Q.push(se(oe)),ne&&ne.MSETimeOffset!==void 0&&Q.push(j(ne.MSETimeOffset)),Promise.all(Q)},initializeForFirstUse:function(b,ne,z){l=(A=ne).type;var oe=A.codec;try{if(oe.match(/application\/mp4;\s*codecs="(stpp|wvtt).*"/i))return de(b);R=ce.addSourceBuffer(oe),G();var Q=[];return Q.push(ie(A.streamInfo)),z&&z.MSETimeOffset!==void 0&&Q.push(j(z.MSETimeOffset)),Promise.all(Q)}catch(x){return A.type==t.Z.TEXT&&!A.isFragmented||oe.indexOf('codecs="stpp')!==-1||oe.indexOf('codecs="vtt')!==-1||oe.indexOf("text/vtt")!==-1?de(b):Promise.reject(x)}},updateAppendWindow:ie,changeType:se},E=(0,m.Z)(w).getInstance().getLogger(r),r}Ye.__dashjs_factory_name="SourceBufferSink";var ye=_.Z.getClassFactory(Ye);function Pe(i){var r,l,E,R=this.context,A=[],h=i;function w(L,Y){return A=A.filter(function(B){return!((isNaN(Y)||B.start<Y)&&(isNaN(L)||B.end>L))}),Promise.resolve()}return r={getAllBufferRanges:function(){for(var L=[],Y=0;Y<A.length;Y++){var B=A[Y];L.length===0||B.start>L[L.length-1].end?L.push({start:B.start,end:B.end}):L[L.length-1].end=B.end}var N={start:function(U){return L[U].start},end:function(U){return L[U].end}};return Object.defineProperty(N,"length",{get:function(){return L.length}}),N},append:function(L){return L.segmentType!=="InitializationSegment"?(A.push(L),A.sort(function(Y,B){return Y.start-B.start}),E=null):E=L,l.debug("PreBufferSink appended chunk s: "+L.start+"; e: "+L.end),h&&h({chunk:L}),Promise.resolve()},remove:w,abort:function(){return Promise.resolve()},discharge:function(L,Y){var B=function(N,U){return A.filter(function(Z){return(isNaN(U)||Z.start<U)&&(isNaN(N)||Z.end>N)})}(L,Y);return E&&(B.push(E),E=null),w(L,Y),B},reset:function(){A=[],E=null,h=null},updateTimestampOffset:function(){return Promise.resolve()},waitForUpdateEnd:function(L){L()},getBuffer:function(){return this}},l=(0,m.Z)(R).getInstance().getLogger(r),r}Pe.__dashjs_factory_name="PreBufferSink";var He=_.Z.getClassFactory(Pe);function tt(){var i={};return{save:function(r){var l=r.streamId,E=r.representationId;i[l]=i[l]||{},i[l][E]=r},extract:function(r,l){return i&&i[r]&&i[r][l]?i[r][l]:null},reset:function(){i={}}}}tt.__dashjs_factory_name="InitCache";var ve=_.Z.getSingletonFactory(tt),Oe=.01,_t="BufferController";function dt(i){i=i||{};var r,l,E,R,A,h,w,L,Y,B,N,U,Z,ce,te,se,de,G,ie,j,le,g=this.context,M=(0,p.Z)(g).getInstance(),C=i.errHandler,D=i.fragmentModel,b=i.representationController,ne=i.adapter,z=i.textController,oe=i.abrController,Q=i.playbackController,x=i.streamInfo,J=i.type,he=i.settings;function Ne(Re){var rt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return new Promise(function(fe,pe){h=Re,Y&&rt&&typeof Y.discharge=="function"?(B=Y,Ce(rt).then(function(){fe()}).catch(function(Ve){pe(Ve)})):fe()})}function Te(Re){return ne.convertRepresentationToRepresentationInfo(b.getRepresentationForQuality(Re))}function Ce(Re){var rt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return new Promise(function(fe,pe){G&&Re?h?(N=!1,et(Re,rt).then(function(Ve){fe(Ve)}).catch(function(Ve){pe(Ve)})):(N=!0,Ie().then(function(Ve){fe(Ve)}).catch(function(Ve){pe(Ve)})):fe(null)})}function Ie(){var Re=this;return new Promise(function(rt,fe){var pe=oe.getQualityFor(J,x.id);Y=He(g).create(Ee.bind(Re)),Ht(Te(pe)).then(function(){rt(Y)}).catch(function(){fe()})})}function et(Re,rt){return new Promise(function(fe,pe){var Ve=oe.getQualityFor(J,x.id);Y=ye(g).create({mediaSource:h,textController:z,eventBus:M}),function(St,Nt,ln){var bn=Te(ln);return Nt&&Nt[J]&&(J===t.Z.VIDEO||J===t.Z.AUDIO)?Y.initializeForStreamSwitch(St,bn,Nt[J]):Y.initializeForFirstUse(x,St,bn)}(Re,rt,Ve).then(function(){return Ht(Te(Ve))}).then(function(){fe(Y)}).catch(function(St){l.fatal("Caught error on create SourceBuffer: "+St),C.error(new re.Z(X.MEDIASOURCE_TYPE_UNSUPPORTED_CODE,X.MEDIASOURCE_TYPE_UNSUPPORTED_MESSAGE+J)),pe(St)})})}function nt(Re){he.get().streaming.cacheInitSegments&&(l.info("Init fragment finished loading saving to",J+"'s init cache"),G.save(Re.chunk)),l.debug("Append Init fragment",J," with representationId:",Re.chunk.representationId," and quality:",Re.chunk.quality,", data size:",Re.chunk.bytes.byteLength),Xe(Re.chunk)}function We(Re){Xe(Re.chunk,Re.request)}function Xe(Re){var rt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;Y&&(Y.append(Re,rt).then(function(fe){Ee(fe)}).catch(function(fe){Ee(fe)}),Re.mediaInfo.type===t.Z.VIDEO&&jt(u.Z.VIDEO_CHUNK_RECEIVED,{chunk:Re}))}function Mt(Re){if(Re&&Re.length>0)for(var rt=0,fe=Re.length;rt<fe;rt++)l.debug("Buffered range: "+Re.start(rt)+" - "+Re.end(rt)+", currentTime = ",Q.getTime())}function Ee(Re){if(Re.error)return Re.error.code===22&&function(){if(de=!0,A=.8*Dt(),l.warn("Quota exceeded, Critical Buffer: "+A),A>0){var pe=Math.max(.2*A,1),Ve=A-pe,St=Math.min(he.get().streaming.buffer.bufferTimeAtTopQuality,.9*Ve),Nt=Math.min(he.get().streaming.buffer.bufferTimeAtTopQualityLongForm,.9*Ve),ln={streaming:{buffer:{bufferToKeep:parseFloat(pe.toFixed(5)),bufferTimeAtTopQuality:parseFloat(St.toFixed(5)),bufferTimeAtTopQualityLongForm:parseFloat(Nt.toFixed(5))}}};he.update(ln)}}(),void(Re.error.code!==22&&kt()||(l.warn("Clearing playback buffer to overcome quota exceed situation"),jt(u.Z.QUOTA_EXCEEDED,{criticalBufferLevel:A,quotaExceededTime:Re.chunk.start}),$e(ft())));if(Y&&(qt(),de=!1,(ce=Re.chunk)&&ce.endFragment)){ce&&!isNaN(ce.index)&&(w=Math.max(ce.index,w),Gt());var rt=Y.getAllBufferRanges();ce.segmentType===Le.w.MEDIA_SEGMENT_TYPE&&(Mt(rt),qe(),function(){if(!isNaN(le)&&!N)if(J===t.Z.AUDIO||J===t.Z.VIDEO){var pe=Q.getTime(),Ve=st(pe,0),St=st(le,0);if(Ve&&St&&Ve.start===St.start)le=NaN;else{var Nt=b.getCurrentRepresentation().segmentDuration,ln=st(le,Nt);ln&&(he.get().streaming.buffer.enableSeekDecorrelationFix&&Math.abs(pe-le)>Nt?le<=ln.end&&Q.seek(Math.max(le,ln.start),!1,!0):pe<ln.start&&Q.seek(ln.start,!1,!0))}}else le=NaN}());var fe=!1;U&&(U.indexOf(ce)>0&&(fe=!0),U=null),ce&&!fe&&jt(u.Z.BYTES_APPENDED_END_FRAGMENT,{quality:ce.quality,startTime:ce.start,index:ce.index,bufferedRanges:rt,segmentType:ce.segmentType,mediaType:J})}}function Fe(){return new Promise(function(Re,rt){var fe=lt();if(!fe||fe.length===0)return qe(),void Re();$e(fe).then(function(){Re()}).catch(function(pe){rt(pe)})})}function lt(Re){var rt=[],fe=Y.getAllBufferRanges();if(!fe||fe.length===0)return rt;if(!Re&&Re!==0||isNaN(Re))rt.push({start:fe.start(0),end:fe.end(fe.length-1)+.5});else{var pe=function(St,Nt){var ln=he.get().streaming.buffer.bufferToKeep,bn=Nt.start(0);if(St-bn>ln){var Zn=Math.max(0,St-ln),Sn=D.getRequests({state:K.FRAGMENT_MODEL_EXECUTED,time:St,threshold:Oe})[0];if(Sn&&(Zn=Math.min(Sn.startTime,Zn)),Zn>0)return{start:bn,end:Zn}}return null}(Re,fe),Ve=function(St,Nt){var ln=Nt.end(Nt.length-1)+.5,bn=xt(St),Zn=x.manifestInfo.duration>=he.get().streaming.buffer.longFormContentDurationThreshold?he.get().streaming.buffer.bufferTimeAtTopQualityLongForm:he.get().streaming.buffer.bufferTimeAtTopQuality,Sn=isNaN(bn)?St:Math.min(bn,St+Zn);if(Sn>=Nt.end(Nt.length-1))return null;var Jn=D.getRequests({state:K.FRAGMENT_MODEL_EXECUTED,time:St,threshold:Oe})[0];if(Jn&&(Sn=Math.max(Jn.startTime+Jn.duration,Sn)),he.get().streaming.buffer.avoidCurrentTimeRangePruning){for(var Gn=0;Gn<Nt.length;Gn++)if(Nt.start(Gn)<=St&&St<=Nt.end(Gn)&&Nt.start(Gn)<=Sn&&Sn<=Nt.end(Gn)){var Er=Sn;Sn=Gn+1<Nt.length?Nt.start(Gn+1):Nt.end(Gn)+1,l.debug("Buffered range ["+Nt.start(Gn)+", "+Nt.end(Gn)+"] overlaps with targetTime "+St+" and range to be pruned ["+Er+", "+ln+"], using ["+Sn+", "+ln+"] instead"+(Sn<ln?"":" (no actual pruning)"));break}}return Sn<Nt.end(Nt.length-1)?{start:Sn,end:ln}:null}(Re,fe);pe&&rt.push(pe),Ve&&rt.push(Ve)}return rt}function qe(){(!j||J===t.Z.TEXT&&z.isTextEnabled())&&qt()}function ht(){an()}function gt(){an(),le=NaN}function st(Re,rt){if(!Y)return null;var fe,pe,Ve=Y.getAllBufferRanges(),St=0,Nt=0,ln=null,bn=null,Zn=0,Sn=isNaN(rt)?.15:rt;if(Ve!=null){for(pe=0,fe=Ve.length;pe<fe;pe++)if(St=Ve.start(pe),Nt=Ve.end(pe),ln===null)Zn=Math.abs(St-Re),(Re>=St&&Re<Nt||Zn<=Sn)&&(ln=St,bn=Nt);else{if(!((Zn=St-bn)<=Sn))break;bn=Nt}if(ln!==null)return{start:ln,end:bn}}return null}function qt(){if(Q){var Re=Q.getTime()||0;N&&(Re=isNaN(le)?0:le);var rt=he.get().streaming.gaps.jumpGaps&&!isNaN(he.get().streaming.gaps.smallGapLimit)?he.get().streaming.gaps.smallGapLimit:NaN;R=Math.max(function(fe,pe){var Ve;return he.get().streaming.gaps.jumpGaps&&(pe=he.get().streaming.gaps.smallGapLimit),(Ve=st(fe,pe))===null?0:Ve.end-fe}(Re,rt),0),jt(u.Z.BUFFER_LEVEL_UPDATED,{mediaType:J,bufferLevel:R}),an()}}function Gt(){var Re=w>=L-1,rt=Q.getTimeToStreamEnd(x)-R<1e-5;!Re&&!rt||E||(ut(!0),l.debug("checkIfBufferingCompleted trigger BUFFERING_COMPLETED for stream id ".concat(x.id," and type ").concat(J)))}function an(){J!==t.Z.AUDIO&&J!==t.Z.VIDEO||((!Q.getLowLatencyModeEnabled()&&R<he.get().streaming.buffer.stallThreshold||R===0)&&!E?un(y.Z.BUFFER_EMPTY):(E||R>=he.get().streaming.buffer.stallThreshold||Q.getLowLatencyModeEnabled()&&R>0)&&un(y.Z.BUFFER_LOADED))}function un(Re){Z===Re||Re===y.Z.BUFFER_EMPTY&&Q.getTime()===0||J===t.Z.TEXT&&!z.isTextEnabled()||(Z=Re,jt(u.Z.BUFFER_LEVEL_STATE_CHANGED,{state:Re}),jt(Re===y.Z.BUFFER_LOADED?u.Z.BUFFER_LOADED:u.Z.BUFFER_EMPTY),l.debug(Re===y.Z.BUFFER_LOADED?"Got enough buffer to start":"Waiting for more buffer before starting playback"))}function Be(){Y&&J!==t.Z.TEXT&&(E||$e(ft()))}function ft(){var Re=[],rt=Y.getAllBufferRanges();if(!rt||rt.length===0)return Re;var fe=Q.getTime(),pe=Math.max(0,fe-he.get().streaming.buffer.bufferToKeep),Ve=D.getRequests({state:K.FRAGMENT_MODEL_EXECUTED,time:fe,threshold:Oe})[0];if(Ve)pe=Math.min(Ve.startTime,pe);else if(fe===0&&Q.getIsDynamic())return[];if(rt.start(0)<=pe){for(var St={start:0,end:pe},Nt=0;Nt<rt.length&&rt.end(Nt)<=pe;Nt++)St.end=rt.end(Nt);St.start<St.end&&Re.push(St)}return Re}function $e(Re){return new Promise(function(rt,fe){if(Re&&Y&&Re.length!==0){var pe=[];Re.forEach(function(Ve){pe.push(function(St){return new Promise(function(Nt,ln){St.resolve=Nt,St.reject=ln,ie.push(St)})}(Ve))}),se||vt(),Promise.all(pe).then(function(){rt()}).catch(function(Ve){fe(Ve)})}else rt()})}function vt(){try{if(ie.length===0||!Y)return l.debug("Nothing to prune, halt pruning"),ie=[],void(se=!1);var Re=Y.getBuffer();if(!Re||!Re.buffered||Re.buffered.length===0)return l.debug("SourceBuffer is empty (or does not exist), halt pruning"),ie=[],void(se=!1);var rt=ie.shift();l.debug("".concat(J,": Removing buffer from: ").concat(rt.start," to ").concat(rt.end)),se=!0,Q.getTime()<rt.end&&ut(!1),Y.remove(rt).then(function(fe){wt(fe)}).catch(function(fe){wt(fe)})}catch{se=!1}}function wt(Re){l.debug("onRemoved buffer from:",Re.from,"to",Re.to),Y&&(Mt(Y.getAllBufferRanges()),ie.length===0&&(se=!1,qt()),Re.unintended&&(l.warn("Detected unintended removal from:",Re.from,"to",Re.to,"setting streamprocessor time to",Re.from),jt(u.Z.SEEK_TARGET,{time:Re.from})),se?vt():(j?j=!1:qt(),jt(u.Z.BUFFER_CLEARED,{from:Re.from,to:Re.to,unintended:Re.unintended,hasEnoughSpaceToAppend:kt(),quotaExceeded:de})))}function Ht(Re){return new Promise(function(rt){Re&&Re.MSETimeOffset!==void 0&&Y&&Y.updateTimestampOffset?Y.updateTimestampOffset(Re.MSETimeOffset).then(function(){rt()}).catch(function(){rt()}):rt()})}function Yt(){return Y&&!E?Y.updateAppendWindow(x):Promise.resolve()}function Kt(){++te*(he.get().streaming.wallclockTimeUpdateInterval/1e3)>=he.get().streaming.buffer.bufferPruningInterval&&(te=0,Be())}function Jt(){an()}function ut(Re){(E=Re)?jt(u.Z.BUFFERING_COMPLETED):L=Number.POSITIVE_INFINITY}function Dt(){try{var Re,rt,fe=Y.getAllBufferRanges(),pe=0;if(!fe)return pe;for(rt=0,Re=fe.length;rt<Re;rt++)pe+=fe.end(rt)-fe.start(rt);return pe}catch{return 0}}function xt(Re){try{var rt=Re,fe=Y.getAllBufferRanges();if(!fe||fe.length===0)return NaN;for(var pe=0;rt===Re&&pe<fe.length;){var Ve=fe.start(pe),St=fe.end(pe);rt>=Ve&&rt<=St&&(rt=St),pe+=1}return rt===Re?NaN:rt}catch{}}function kt(){var Re=Dt();return isNaN(Re)||Re<A}function jt(Re,rt){var fe=rt||{};M.trigger(Re,fe,{streamId:x.id,mediaType:J})}function Ge(Re,rt){if(A=Number.POSITIVE_INFINITY,Z=void 0,L=Number.POSITIVE_INFINITY,w=0,ce=null,E=!1,se=!1,de=!1,R=0,te=0,ie=[],le=NaN,N=!1,Y){var fe=Y;Y=null,Re||rt||fe.abort().then(function(){fe.reset(rt),fe=null})}j=!1}return r={initialize:function(Re){Ne(Re),M.on(u.Z.INIT_FRAGMENT_LOADED,nt,r),M.on(u.Z.MEDIA_FRAGMENT_LOADED,We,r),M.on(u.Z.WALLCLOCK_TIME_UPDATED,Kt,r),M.on(n.Z.PLAYBACK_PLAYING,gt,r),M.on(n.Z.PLAYBACK_PROGRESS,qe,r),M.on(n.Z.PLAYBACK_TIME_UPDATED,qe,r),M.on(n.Z.PLAYBACK_RATE_CHANGED,Jt,r),M.on(n.Z.PLAYBACK_STALLED,ht,r)},getStreamId:function(){return x.id},getType:function(){return J},getBufferControllerType:function(){return _t},createBufferSink:Ce,dischargePreBuffer:function(){if(Y&&B&&typeof B.discharge=="function"){var Re=B.getAllBufferRanges();if(Re.length>0){for(var rt="Beginning "+J+"PreBuffer discharge, adding buffer for:",fe=0;fe<Re.length;fe++)rt+=" start: "+Re.start(fe)+", end: "+Re.end(fe)+";";l.debug(rt)}else l.debug("PreBuffer discharge requested, but there were no media segments in the PreBuffer.");U=[];for(var pe=B.discharge(),Ve=null,St=0;St<pe.length;St++){var Nt=pe[St];if(Nt.segmentType!==Le.w.INIT_SEGMENT_TYPE){var ln=G.extract(Nt.streamId,Nt.representationId);ln&&Ve!==ln&&(U.push(ln),Y.append(ln),Ve=ln)}U.push(Nt),Y.append(Nt)}B.reset(),B=null}},getBuffer:function(){return Y},getBufferLevel:function(){return R},getRangeAt:st,hasBufferAtTime:function(Re){try{var rt=Y.getAllBufferRanges();if(!rt||rt.length===0)return!1;for(var fe=0;fe<rt.length;){var pe=rt.start(fe),Ve=rt.end(fe);if(Re>=pe&&Re<=Ve)return!0;fe+=1}return!1}catch(St){return l.error(St),!1}},pruneBuffer:Be,setMediaSource:Ne,getMediaSource:function(){return h},appendInitSegmentFromCache:function(Re){var rt=G.extract(x.id,Re);return!!rt&&(l.info("Append Init fragment",J," with representationId:",rt.representationId," and quality:",rt.quality,", data size:",rt.bytes.byteLength),Xe(rt),!0)},getIsBufferingCompleted:function(){return E},setIsBufferingCompleted:ut,getIsPruningInProgress:function(){return se},reset:function(Re,rt){M.off(u.Z.INIT_FRAGMENT_LOADED,nt,this),M.off(u.Z.MEDIA_FRAGMENT_LOADED,We,this),M.off(u.Z.WALLCLOCK_TIME_UPDATED,Kt,this),M.off(n.Z.PLAYBACK_PLAYING,gt,this),M.off(n.Z.PLAYBACK_PROGRESS,qe,this),M.off(n.Z.PLAYBACK_TIME_UPDATED,qe,this),M.off(n.Z.PLAYBACK_RATE_CHANGED,Jt,this),M.off(n.Z.PLAYBACK_STALLED,ht,this),Ge(Re,rt)},prepareForPlaybackSeek:function(){return E&&ut(!1),Y.abort()},prepareForReplacementTrackSwitch:function(Re){return new Promise(function(rt,fe){Y.abort().then(function(){return Yt()}).then(function(){return he.get().streaming.buffer.useChangeTypeForTrackSwitch?Y.changeType(Re):Promise.resolve()}).then(function(){return Fe()}).then(function(){ut(!1),rt()}).catch(function(pe){fe(pe)})})},prepareForNonReplacementTrackSwitch:function(Re){return new Promise(function(rt,fe){Yt().then(function(){return he.get().streaming.buffer.useChangeTypeForTrackSwitch?Y.changeType(Re):Promise.resolve()}).then(function(){rt()}).catch(function(pe){fe(pe)})})},prepareForForceReplacementQualitySwitch:function(Re){return new Promise(function(rt,fe){Y.abort().then(function(){return Yt()}).then(function(){return Fe()}).then(function(){return Ht(Re)}).then(function(){ut(!1),rt()}).catch(function(pe){fe(pe)})})},updateAppendWindow:Yt,getAllRangesWithSafetyFactor:lt,getContinuousBufferTimeForTargetTime:xt,clearBuffers:$e,pruneAllSafely:Fe,updateBufferTimestampOffset:Ht,setSeekTarget:function(Re){le=Re},segmentRequestingCompleted:function(Re){isNaN(Re)||(L=Re,Gt())}},l=(0,m.Z)(g).getInstance().getLogger(r),G=ve(g).getInstance(),Ge(),r}dt.__dashjs_factory_name=_t;var ke=_.Z.getClassFactory(dt),Je="NotFragmentedTextBufferController";function ge(i){i=i||{};var r,l,E,R,A,h,w=this.context,L=(0,p.Z)(w).getInstance(),Y=i.textController,B=i.errHandler,N=i.streamInfo,U=i.type;function Z(se){R=se}function ce(se){var de,G;l!==se&&(l=se)&&(de=u.Z.BUFFERING_COMPLETED,G={},L.trigger(de,G,{streamId:N.id,mediaType:U}))}function te(se){se.chunk.bytes&&!l&&(h.save(se.chunk),A.append(se.chunk),ce(!0))}return r={initialize:function(se){Z(se)},getStreamId:function(){return N.id},getType:function(){return U},getBufferControllerType:function(){return Je},createBufferSink:function(se){return new Promise(function(de,G){try{(A=ye(w).create({mediaSource:R,textController:Y,eventBus:L})).initializeForFirstUse(N,se),E||(A.getBuffer()&&typeof A.getBuffer().initialize=="function"&&A.getBuffer().initialize(),E=!0),de(A)}catch(ie){B.error(new re.Z(X.MEDIASOURCE_TYPE_UNSUPPORTED_CODE,X.MEDIASOURCE_TYPE_UNSUPPORTED_MESSAGE+U)),G(ie)}})},dischargePreBuffer:function(){},getBuffer:function(){return A},getBufferLevel:function(){return 0},getRangeAt:function(){return null},pruneBuffer:function(){},hasBufferAtTime:function(){return!0},getAllRangesWithSafetyFactor:function(){return[]},getContinuousBufferTimeForTargetTime:function(){return Number.POSITIVE_INFINITY},setMediaSource:Z,getMediaSource:function(){return R},appendInitSegmentFromCache:function(se){return h.extract(N.id,se)!==null},getIsBufferingCompleted:function(){return l},setIsBufferingCompleted:ce,getIsPruningInProgress:function(){return!1},reset:function(se){L.off(u.Z.INIT_FRAGMENT_LOADED,te,r),!se&&A&&(A.abort(),A.reset(),A=null)},clearBuffers:function(){return Promise.resolve()},prepareForPlaybackSeek:function(){return Promise.resolve()},prepareForReplacementTrackSwitch:function(){return l=!1,Promise.resolve()},setSeekTarget:function(){},updateAppendWindow:function(){return Promise.resolve()},pruneAllSafely:function(){return Promise.resolve()},updateBufferTimestampOffset:function(){return Promise.resolve()},segmentRequestingCompleted:function(){}},E=!1,R=null,l=!1,h=ve(w).getInstance(),L.on(u.Z.INIT_FRAGMENT_LOADED,te,r),r}ge.__dashjs_factory_name=Je;var me=_.Z.getClassFactory(ge);function Ue(i){i=i||{};var r,l,E,R,A,h,w,L,Y,B,N,U,Z,ce=this.context,te=(0,p.Z)(ce).getInstance(),se=i.dashMetrics,de=i.mediaPlayerModel,G=i.fragmentModel,ie=i.abrController,j=i.playbackController,le=i.textController,g=i.type,M=i.bufferController,C=i.representationController,D=i.settings;function b(){U=!0}function ne(){U=!1}function z(et){if(!M.getIsBufferingCompleted()){oe();var nt=isNaN(et)?0:et;A=setTimeout(Q,nt)}}function oe(){A&&(clearTimeout(A),A=null)}function Q(){try{if(function(){try{return g===t.Z.TEXT&&!le.isTextEnabled()||j.isPaused()&&(!j.getStreamController().getInitialPlayback()||!j.getStreamController().getAutoPlay())&&!D.get().streaming.scheduling.scheduleWhilePaused}catch{return!1}}())return void oe();if(function(){try{return!!U&&C.getCurrentRepresentationInfo()&&(isNaN(Y)||B||(We=l.id,Xe=ie.getMaxAllowedIndexFor(g,We),!(!isNaN(L)&&L==Xe||(E.info("Top quality "+g+" index has changed from "+L+" to "+Xe),L=Xe,0)))||function(){var Mt=C.getCurrentRepresentationInfo();return!g||!Mt||se.getCurrentBufferLevel(g)<x()}())}catch{return!1}var We,Xe}()){var et=!1;Z&&(et=ie.checkPlaybackQuality(g,l.id)),et||(nt=C.getCurrentRepresentationInfo(),N||nt.quality!==Y||B?(B?(E.debug("Switch track for "+g+", representation id = "+nt.id),B=!1):E.debug("Quality has changed, get init request for representationid = "+nt.id),te.trigger(u.Z.INIT_FRAGMENT_NEEDED,{representationId:nt.id,sender:r},{streamId:l.id,mediaType:g}),Z=!1,N=!1):(E.debug("Media segment needed for ".concat(g," and stream id ").concat(l.id)),te.trigger(u.Z.MEDIA_FRAGMENT_NEEDED,{},{streamId:l.id,mediaType:g}),Z=!0))}else z(j.getLowLatencyModeEnabled()?D.get().streaming.scheduling.lowLatencyTimeout:D.get().streaming.scheduling.defaultTimeout)}catch{z(j.getLowLatencyModeEnabled()?D.get().streaming.scheduling.lowLatencyTimeout:D.get().streaming.scheduling.defaultTimeout)}var nt}function x(){var et=NaN,nt=C.getCurrentRepresentationInfo();return g&&nt&&(et=g===t.Z.TEXT?function(){try{if(le.isTextEnabled()){var We=C.getCurrentRepresentationInfo();if(isNaN(We.fragmentDuration)){var Xe=se.getCurrentSchedulingInfo(y.Z.SCHEDULING_INFO);return Xe?Xe.duration:0}return We.fragmentDuration}return 0}catch{return 0}}():g===t.Z.AUDIO&&h?function(){try{var We=se.getCurrentBufferLevel(t.Z.VIDEO),Xe=C.getCurrentRepresentationInfo();return isNaN(Xe.fragmentDuration)?We+1:Math.max(We+1,Xe.fragmentDuration)}catch{return 0}}():function(){try{var We=C.getCurrentRepresentationInfo().mediaInfo.streamInfo;return ie.isPlayingAtTopQuality(We)?We.manifestInfo.duration>=D.get().streaming.buffer.longFormContentDurationThreshold?D.get().streaming.buffer.bufferTimeAtTopQualityLongForm:D.get().streaming.buffer.bufferTimeAtTopQuality:de.getStableBufferTime()}catch{return de.getStableBufferTime()}}()),et}function J(){he(!0)}function he(et){if(j&&G){var nt=G.getRequests({state:K.FRAGMENT_MODEL_EXECUTED,time:j.getTime(),threshold:0})[0];nt&&j.getTime()>=nt.startTime&&((!w.mediaInfo||nt.mediaInfo.type===w.mediaInfo.type&&nt.mediaInfo.index!==w.mediaInfo.index)&&et&&te.trigger(u.Z.TRACK_CHANGE_RENDERED,{mediaType:g,oldMediaInfo:w.mediaInfo,newMediaInfo:nt.mediaInfo,streamId:l.id}),nt.quality===w.quality&&nt.adaptationIndex===w.adaptationIndex||!et||(E.debug("Quality change rendered for streamId ".concat(l.id," and type ").concat(g)),te.trigger(u.Z.QUALITY_CHANGE_RENDERED,{mediaType:g,oldQuality:w.quality,newQuality:nt.quality,streamId:l.id})),w={mediaInfo:nt.mediaInfo,quality:nt.quality,adaptationIndex:nt.adaptationIndex})}}function Ne(){G.abortRequests(),oe()}function Te(){D.get().streaming.scheduling.scheduleWhilePaused||z()}function Ce(et){se.updatePlayListTraceMetrics({playbackspeed:et.playbackRate.toString()})}function Ie(){Z=!0,R=0,Y=NaN,w={mediaInfo:void 0,quality:NaN,adaptationIndex:NaN},L=NaN,B=!1,N=!1,U=!0}return r={initialize:function(et){h=et,te.on(u.Z.URL_RESOLUTION_FAILED,Ne,r),te.on(n.Z.PLAYBACK_STARTED,Te,r),te.on(n.Z.PLAYBACK_RATE_CHANGED,Ce,r),te.on(n.Z.PLAYBACK_TIME_UPDATED,J,r),te.on(n.Z.MANAGED_MEDIA_SOURCE_START_STREAMING,b,r),te.on(n.Z.MANAGED_MEDIA_SOURCE_END_STREAMING,ne,r)},getType:function(){return g},getStreamId:function(){return l.id},setTimeToLoadDelay:function(et){R=et},getTimeToLoadDelay:function(){return R},setSwitchTrack:function(et){B=et},getSwitchTrack:function(){return B},startScheduleTimer:z,clearScheduleTimer:oe,reset:function(){te.off(u.Z.URL_RESOLUTION_FAILED,Ne,r),te.off(n.Z.PLAYBACK_STARTED,Te,r),te.off(n.Z.PLAYBACK_RATE_CHANGED,Ce,r),te.off(n.Z.PLAYBACK_TIME_UPDATED,J,r),te.off(n.Z.MANAGED_MEDIA_SOURCE_START_STREAMING,b,r),te.off(n.Z.MANAGED_MEDIA_SOURCE_END_STREAMING,ne,r),oe(),he(!1),Ie(),l=null},getBufferTarget:x,getPlaybackController:function(){return j},setCheckPlaybackQuality:function(et){Z=et},setInitSegmentRequired:function(et){N=et},setLastInitializedQuality:function(et){Y=et}},E=(0,m.Z)(ce).getInstance().getLogger(r),Ie(),l=i.streamInfo,r}Ue.__dashjs_factory_name="ScheduleController";var f=_.Z.getClassFactory(Ue),o=P(7387);function v(i){var r,l,E,R,A,h,w=(i=i||{}).eventBus,L=i.events,Y=i.abrController,B=i.dashMetrics,N=i.playbackController,U=i.timelineConverter,Z=i.type,ce=i.streamInfo,te=i.dashConstants,se=i.segmentsController,de=i.isDynamic,G=i.adapter;function ie(){return Z}function j(){return E}function le(){return h}function g(){l=null,E=!0,R=[],A=null}function M(oe){return new Promise(function(Q,x){var J=oe.hasInitialization(),he=oe.hasSegments(),Ne=[];Ne.push(se.updateInitData(oe,J)),Ne.push(se.updateSegmentData(oe,he)),Promise.all(Ne).then(function(Te){var Ce;Te[0]&&!Te[0].error&&(oe=function(Ie,et){return et&&!et.error&&et.representation?et.representation:Ie}(oe,Te[0])),Te[1]&&!Te[1].error&&(oe=function(Ie,et){if(et&&!et.error){var nt,We,Xe,Mt,Ee=et.segments,Fe=[],lt=0;for(nt=0,We=Ee?Ee.length:0;nt<We;nt++)Xe=Ee[nt],(Mt=(0,o.TJ)(U,de,Ie,Xe.startTime,Xe.duration,Xe.timescale,Xe.media,Xe.mediaRange,lt))&&(Fe.push(Mt),Mt=null,lt++);return Fe.length>0&&(Ie.segments=Fe),Ie}}(oe,Te[1])),(Ce=oe).mediaFinishedInformation=se.getMediaFinishedInformation(Ce),function(Ie){if(j()){var et,nt,We=B.getCurrentManifestUpdate(),Xe=!1;if(We){for(var Mt=0;Mt<We.representationInfo.length;Mt++)if((et=We.representationInfo[Mt]).index===Ie.index&&et.mediaType===ie()){Xe=!0;break}Xe||B.addManifestUpdateRepresentationInfo(Ie,ie())}if(function(){for(var Fe=0,lt=R.length;Fe<lt;Fe++){var qe=R[Fe].segmentInfoType;if(!R[Fe].hasInitialization()||(qe===te.SEGMENT_BASE||qe===te.BASE_URL)&&!R[Fe].segments)return!1}return!0}()){Y.setPlaybackQuality(Z,ce,(nt=h,R.indexOf(nt)));var Ee=B.getCurrentDVRInfo(Z);Ee&&B.updateManifestUpdateInfo({latency:Ee.range.end-N.getTime()}),B.getCurrentRepresentationSwitch(le().adaptation.type)||C(),b()}}}(oe),Q()}).catch(function(Te){x(Te)})})}function C(){(function(){if(!(Y&&B&&N&&U))throw new Error(t.Z.MISSING_CONFIG_ERROR)})();var oe=new Date,Q=le(),x=1e3*N.getTime();Q&&B.addRepresentationSwitch(Q.adaptation.type,oe,x,Q.id),w.trigger(n.Z.REPRESENTATION_SWITCH,{mediaType:Z,streamId:ce.id,currentRepresentation:Q,numberOfRepresentations:R.length},{streamId:ce.id,mediaType:Z})}function D(oe){return oe==null||oe>=R.length?null:R[oe]}function b(oe){E=!1,w.trigger(L.DATA_UPDATE_COMPLETED,{data:l,currentRepresentation:h,error:oe},{streamId:ce.id,mediaType:Z})}function ne(oe){h=oe,A=G.convertRepresentationToRepresentationInfo(h)}function z(oe){if(oe.newDuration){var Q=le();Q&&Q.adaptation.period&&(Q.adaptation.period.duration=oe.newDuration)}}return r={getStreamId:function(){return ce.id},getType:ie,getData:function(){return l},isUpdating:j,updateData:function(oe,Q,x,J,he){return new Promise(function(Ne,Te){if(E=!0,R=Q,l=oe,ne(D(he)),x!==t.Z.VIDEO&&x!==t.Z.AUDIO&&(x!==t.Z.TEXT||!J))return b(),void Ne();for(var Ce=[],Ie=0,et=R.length;Ie<et;Ie++){var nt=R[Ie];Ce.push(M(nt))}Promise.all(Ce).then(function(){ne(D(he)),Ne()}).catch(function(We){Te(We)})})},getCurrentRepresentation:le,getCurrentRepresentationInfo:function(){return A},getRepresentationForQuality:D,prepareQualityChange:function(oe){ne(D(oe)),C()},reset:function(){w.off(n.Z.MANIFEST_VALIDITY_CHANGED,z,r),g()}},g(),w.on(n.Z.MANIFEST_VALIDITY_CHANGED,z,r),r}v.__dashjs_factory_name="RepresentationController";var S=_.Z.getClassFactory(v),W=P(3106),V=P(9326),Se=P(7473),ze=P(2594);function Me(i,r){if(!(i instanceof r))throw new TypeError("Cannot call a class as a function")}var De=function i(){Me(this,i),this.start=null,this.mstart=null,this.starttype=null,this.trace=[]};De.INITIAL_PLAYOUT_START_REASON="initial_playout",De.SEEK_START_REASON="seek",De.RESUME_FROM_PAUSE_START_REASON="resume",De.METRICS_COLLECTION_START_REASON="metrics_collection_start";var be=function i(){Me(this,i),this.representationid=null,this.subreplevel=null,this.start=null,this.mstart=null,this.duration=null,this.playbackspeed=null,this.stopreason=null};be.REPRESENTATION_SWITCH_STOP_REASON="representation_switch",be.REBUFFERING_REASON="rebuffering",be.USER_REQUEST_STOP_REASON="user_request",be.END_OF_PERIOD_STOP_REASON="end_of_period",be.END_OF_CONTENT_STOP_REASON="end_of_content",be.METRICS_COLLECTION_STOP_REASON="metrics_collection_end",be.FAILURE_STOP_REASON="failure";var xe=P(7802);function Qe(){return{ntpToUTC:function(i){var r=new Date(Date.UTC(1900,0,1,0,0,0));return new Date(r.getTime()+i).getTime()}}}Qe.__dashjs_factory_name="TimeUtils";var mt=_.Z.getSingletonFactory(Qe);function it(i){i=i||{};var r,l,E,R,A,h,w,L,Y,B,N,U,Z,ce,te,se=this.context,de=(0,p.Z)(se).getInstance(),G=i.streamInfo,ie=i.type,j=i.errHandler,le=i.mimeType,g=i.timelineConverter,M=i.adapter,C=i.manifestModel,D=i.mediaPlayerModel,b=i.fragmentModel,ne=i.abrController,z=i.playbackController,oe=i.mediaController,Q=i.textController,x=i.dashMetrics,J=i.settings,he=i.boxParser,Ne=i.segmentBlacklistController;function Te(){return G.id}function Ce(){return ie}function Ie(){return M.getIsTextTrack(L.getData())}function et(){A=[],R=null,ce=0,Y=!1,B=!1,N=!1,te=null}function nt(Ge){return!isNaN(Ge)&&!isNaN(G.duration)&&isFinite(G.duration)&&Ge>=G.start+G.duration}function We(Ge){var Re=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1];if(Ge.sender){if(z.getIsManifestUpdateInProgress())lt();else if((!Ie()||Q.isTextEnabled())&&h&&Ge.representationId&&!h.appendInitSegmentFromCache(Ge.representationId)){var rt=L.getCurrentRepresentation();if(rt.range===0)return void Xe();var fe=U?U.getInitRequest(R,rt):null;fe?b.executeRequest(fe):Re&&(w.setInitSegmentRequired(!0),lt())}}}function Xe(Ge){var Re=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1];if(z.getIsManifestUpdateInProgress()||h.getIsPruningInProgress())lt();else{var rt=Fe();rt?(Y=!1,B=!1,Mt(rt)):Ee(Re)}}function Mt(Ge){isNaN(Ge.startTime+Ge.duration)||(ce=Ge.startTime+Ge.duration),Ge.delayLoadingTime=new Date().getTime()+w.getTimeToLoadDelay(),w.setTimeToLoadDelay(0),function(Re){var rt=Re.url;return Re.range&&(rt=rt.concat("_",Re.range)),Ne.contains(rt)}(Ge)?(l.warn("Fragment request url ".concat(Ge.url," for stream id ").concat(G.id," and media type ").concat(ie," is on the ignore list and will be skipped")),lt()):(l.debug("Next fragment request url for stream id ".concat(G.id," and media type ").concat(ie," is ").concat(Ge.url)),b.executeRequest(Ge))}function Ee(Ge){var Re,rt=L.getCurrentRepresentation();if(!J.get().streaming.gaps.enableSeekFix||!Y&&z.getTime()!==0||(E?E&&rt.segmentInfoType===e.Z.SEGMENT_TIMELINE&&(Re=U.getValidTimeAheadOfTargetTime(ce,R,rt,J.get().streaming.gaps.threshold)):Re=U.getValidTimeAheadOfTargetTime(ce,R,rt,J.get().streaming.gaps.threshold),isNaN(Re)||Re===ce)){if(U.isLastSegmentRequested(rt,ce)){var fe=U.getCurrentIndex();return l.debug("Segment requesting for stream ".concat(G.id," has finished")),de.trigger(u.Z.STREAM_REQUESTING_COMPLETED,{segmentIndex:fe},{streamId:G.id,mediaType:ie}),h.segmentRequestingCompleted(fe),void w.clearScheduleTimer()}Ge&&lt()}else z.isSeeking()||z.getTime()===0?(l.warn("Adjusting playback time ".concat(Re," because of gap in the manifest. Seeking by ").concat(Re-ce)),z.seek(Re,!1,!1)):(l.warn("Adjusting buffering time ".concat(Re," because of gap in the manifest. Adjusting time by ").concat(Re-ce)),jt(Re),Ge&&lt())}function Fe(){var Ge,Re=Yt();if(isNaN(ce)||Ce()===t.Z.TEXT&&!Q.isTextEnabled())return null;if(U){var rt=L&&Re?L.getRepresentationForQuality(Re.quality):null;Ge=Y?U.getSegmentRequestForTime(R,rt,ce):B?U.repeatSegmentRequest(R,rt):U.getNextSegmentRequest(R,rt)}return Ge}function lt(){w.startScheduleTimer(z.getLowLatencyModeEnabled()?J.get().streaming.scheduling.lowLatencyTimeout:J.get().streaming.scheduling.defaultTimeout)}function qe(Ge){Ge.error||h.getIsBufferingCompleted()||h.updateBufferTimestampOffset(Ge.currentRepresentation)}function ht(Ge){x.addBufferState(ie,Ge.state,w.getBufferTarget()),Ge.state!==y.Z.BUFFER_EMPTY||z.isSeeking()||(l.info("Buffer is empty! Stalling!"),x.pushPlayListTraceMetrics(new Date,be.REBUFFERING_REASON))}function gt(Ge){b.syncExecutedRequestsWithBufferedRange(h.getBuffer().getAllBufferRanges(),G.duration),Ge.quotaExceeded&&Ge.from>z.getTime()&&jt(Ge.from),Ge.hasEnoughSpaceToAppend&&Ge.quotaExceeded&&w.startScheduleTimer()}function st(Ge){if(Ge&&Ge.lastRequestAppended&&Ge.lastRequestAppended.url){var Re=Ge.lastRequestAppended.url;Ge.lastRequestAppended.range&&(Re=Re.concat("_",Ge.lastRequestAppended.range)),l.warn("Blacklisting segment with url ".concat(Re)),Ne.add(Re)}}function qt(Ge){if(l.debug("Appended bytes for ".concat(Ge.mediaType," and stream id ").concat(Ge.streamId)),Ge.segmentType===Le.w.INIT_SEGMENT_TYPE){var Re=Ge.quality;w.setLastInitializedQuality(Re),l.info("["+ie+"] lastInitializedRepresentationInfo changed to "+Ge.quality)}te?Gt(te):w.startScheduleTimer(0)}function Gt(Ge){var Re=b.getRequests({state:K.FRAGMENT_MODEL_LOADING});if(Re&&Re.length>0)return l.debug("Preparing for default quality switch: Waiting for ongoing segment request to be finished before applying switch."),void(te=Ge);h.updateBufferTimestampOffset(Ge).then(function(){w.setCheckPlaybackQuality(!1),R.segmentAlignment||R.subSegmentAlignment?w.startScheduleTimer():xt(),te=null,N=!1}).catch(function(){te=null,N=!1})}function an(Ge){l.info("onFragmentLoadingAbandoned request: "+Ge.request.url+" has been aborted"),z.isSeeking()||w.getSwitchTrack()||N||(l.info("onFragmentLoadingAbandoned request: "+Ge.request.url+" has to be downloaded again, origin is not seeking process or switch track call"),Ge.request&&Ge.request.isInitializationRequest()?w.setInitSegmentRequired(!0):jt(Ge.request.startTime+Ge.request.duration/2),w.startScheduleTimer(0))}function un(Ge){l.info("OnFragmentLoadingCompleted for stream id "+G.id+" and media type "+ie+" - Url:",Ge.request?Ge.request.url:"undefined",Ge.request.range?", Range:"+Ge.request.range:""),Ie()&&w.startScheduleTimer(0),Ge.error&&Ge.request.serviceLocation&&function(Re){l.info("Fragment loading completed with an error"),Re&&Re.request&&Re.request.type&&(Re.request.type===Le.w.INIT_SEGMENT_TYPE?We({representationId:Re.request.representationId,sender:{}},!1):Re.request.type===Le.w.MEDIA_SEGMENT_TYPE&&(jt(Re.request.startTime+Re.request.duration/2),Xe({},!1)))}(Ge)}function Be(){jt(z.getTime()),Ht().startScheduleTimer()}function ft(Ge){var Re=Ge.currentTrackInfo;if(Re){var rt=A.find(function(fe){return fe.index===Re.index&&fe.lang===Re.lang});rt&&wt(rt).then(function(){h.setIsBufferingCompleted(!1),jt(z.getTime()),w.setInitSegmentRequired(!0),w.startScheduleTimer()})}}function $e(Ge){jt(Ge.quotaExceededTime),w.clearScheduleTimer()}function vt(){return h?h.getBuffer():null}function wt(Ge){Ge===R||Ge&&R&&Ge.type!==R.type||(R=Ge);var Re=M.getRealAdaptation(G,R),rt=M.getVoRepresentations(R);if(L){var fe,pe=L.getData(),Ve=ne.getMaxAllowedIndexFor(ie,G.id),St=ne.getMinAllowedIndexFor(ie,G.id),Nt=null;return pe!==null&&pe.id===Re.id||ie===t.Z.TEXT?fe=ne.getQualityFor(ie,G.id):(Nt=ne.getThroughputHistory().getAverageThroughput(ie,E)||ne.getInitialBitrateFor(ie,G.id),fe=ne.getQualityForBitrate(R,Nt,G.id)),St!==void 0&&fe<St&&(fe=St),fe>Ve&&(fe=Ve),L.updateData(Re,rt,ie,R.isFragmented,fe)}return Promise.resolve()}function Ht(){return w}function Yt(Ge){var Re;return Ge!==void 0?((0,W.SE)(Ge),Re=L?L.getRepresentationForQuality(Ge):null):Re=L?L.getCurrentRepresentation():null,M.convertRepresentationToRepresentationInfo(Re)}function Kt(){return!!h&&h.getIsBufferingCompleted()}function Jt(Ge){if(J.get().streaming.enableManifestTimescaleMismatchFix){var Re=Ge.chunk,rt=Re.bytes,fe=Yt(Re.quality),pe=L&&fe?L.getRepresentationForQuality(fe.quality):null;fe&&pe&&(pe.timescale=he.getMediaTimescaleFromMoov(rt))}}function ut(Ge){var Re=Ge.chunk,rt=Re.bytes,fe=Re.quality,pe=Yt(fe),Ve=L&&pe?L.getRepresentationForQuality(pe.quality):null;if(pe&&Ve){var St;if(J.get().streaming.parseInbandPrft&&Ge.request.type===Le.w.MEDIA_SEGMENT_TYPE){var Nt=function(Jn,Gn){var Er=Jn.getBoxes("prft"),br=[];return Er.forEach(function(Ar){br.push(function(fr,gr){var $n="unknown";switch(fr.flags){case 0:$n=e.Z.PRODUCER_REFERENCE_TIME_TYPE.ENCODER;break;case 16:$n=e.Z.PRODUCER_REFERENCE_TIME_TYPE.APPLICATION;break;case 24:$n=e.Z.PRODUCER_REFERENCE_TIME_TYPE.CAPTURED}var vr=1e3*fr.ntp_timestamp_sec+fr.ntp_timestamp_frac/Math.pow(2,32)*1e3;return{type:$n,ntpTimestamp:vr=mt(se).getInstance().ntpToUTC(vr),mediaTime:fr.media_time/gr}}(Ar,Gn))}),br}(St=St||he.parse(rt),Ve.timescale);Nt&&Nt.length&&de.trigger(n.Z.INBAND_PRFT,{data:Nt},{streamId:G.id,mediaType:ie})}var ln=M.getEventsFor(pe.mediaInfo,null,G),bn=M.getEventsFor(pe,Ve,G);if(ln&&ln.length>0||bn&&bn.length>0){var Zn=b.getRequests({state:K.FRAGMENT_MODEL_EXECUTED,quality:fe,index:Re.index})[0],Sn=function(Jn,Gn,Er,br){try{for(var Ar={},fr=[],gr=Er.concat(br),$n=0,vr=gr.length;$n<vr;$n++)Ar[gr[$n].schemeIdUri+"/"+gr[$n].value]=gr[$n];var Ir=Jn.getBoxes("emsg");if(!Ir||Ir.length===0)return fr;for(var sr=Jn.getBox("sidx"),Kr=!sr||isNaN(sr.earliest_presentation_time)||isNaN(sr.timescale)?Gn&&!isNaN(Gn.mediaStartTime)?Gn.mediaStartTime:0:sr.earliest_presentation_time/sr.timescale,_i=Math.max(Kr,0),Ti=L.getCurrentRepresentation(),_r=0,Si=Ir.length;_r<Si;_r++){var Rr=M.getEvent(Ir[_r],Ar,_i,Ti);Rr&&fr.push(Rr)}return fr}catch{return[]}}(St=St||he.parse(rt),Zn,ln,bn);de.trigger(u.Z.INBAND_EVENTS,{events:Sn},{streamId:G.id})}}}function Dt(){var Ge=z.getTime();J.get().streaming.buffer.flushBufferAtTrackSwitch&&z.seek(Ge+.001,!1,!0),jt(Ge),h.setSeekTarget(Ge),w.startScheduleTimer()}function xt(){var Ge=z.getTime(),Re=h.getContinuousBufferTimeForTargetTime(Ge);jt(isNaN(Re)?Ge:Re),w.startScheduleTimer()}function kt(Ge){Ge&&!isNaN(Ge.time)&&(jt(Ge.time),h.setSeekTarget(Ge.time))}function jt(Ge){ce=Ge,Y=!0}return r={initialize:function(Ge,Re,rt){Z=(0,xe.Z)(se).create({events:u.Z,eventBus:de,streamInfo:G,timelineConverter:g,dashConstants:e.Z,segmentBaseController:i.segmentBaseController,type:ie}),U=(0,V.Z)(se).create({streamInfo:G,type:ie,timelineConverter:g,dashMetrics:x,mediaPlayerModel:D,baseURLController:i.baseURLController,errHandler:j,segmentsController:Z,settings:J,boxParser:he,events:u.Z,eventBus:de,errors:X,debug:(0,m.Z)(se).getInstance(),requestModifier:(0,Se.Z)(se).getInstance(),dashConstants:e.Z,constants:t.Z,urlUtils:(0,ze.Z)(se).getInstance()}),E=G.manifestInfo.isDynamic,U.initialize(E),ne.registerStreamType(ie,r),L=S(se).create({streamInfo:G,type:ie,abrController:ne,dashMetrics:x,playbackController:z,timelineConverter:g,dashConstants:e.Z,events:u.Z,eventBus:de,errors:X,isDynamic:E,adapter:M,segmentsController:Z}),h=function(fe,pe){return fe?fe!==t.Z.TEXT||pe?ke(se).create({streamInfo:G,type:fe,mediaPlayerModel:D,manifestModel:C,fragmentModel:b,errHandler:j,mediaController:oe,representationController:L,adapter:M,textController:Q,abrController:ne,playbackController:z,settings:J}):me(se).create({streamInfo:G,type:fe,mimeType:le,fragmentModel:b,textController:Q,errHandler:j,settings:J}):(j.error(new re.Z(X.MEDIASOURCE_TYPE_UNSUPPORTED_CODE,X.MEDIASOURCE_TYPE_UNSUPPORTED_MESSAGE+"not properly defined")),null)}(ie,rt),h&&h.initialize(Ge),(w=f(se).create({streamInfo:G,type:ie,mimeType:le,adapter:M,dashMetrics:x,mediaPlayerModel:D,fragmentModel:b,abrController:ne,playbackController:z,textController:Q,mediaController:oe,bufferController:h,representationController:L,settings:J})).initialize(Re),ce=0,Y=!1,B=!1},getStreamId:Te,getType:Ce,isUpdating:function(){return!!L&&L.isUpdating()},getBufferController:function(){return h},dischargePreBuffer:function(){h.dischargePreBuffer()},getFragmentModel:function(){return b},getScheduleController:Ht,getRepresentationController:function(){return L},getRepresentationInfo:Yt,getBufferLevel:function(){return h?h.getBufferLevel():0},isBufferingCompleted:Kt,createBufferSinks:function(Ge){var Re=vt();return Re?Promise.resolve(Re):h?h.createBufferSink(R,Ge):Promise.resolve(null)},updateStreamInfo:function(Ge){return G=Ge,Kt()?Promise.resolve():h.updateAppendWindow()},getStreamInfo:function(){return G},selectMediaInfo:wt,clearMediaInfoArray:function(){A=[]},addMediaInfo:function(Ge){A.indexOf(Ge)===-1&&A.push(Ge)},prepareTrackSwitch:function(){return new Promise(function(Ge){l.debug("Preparing track switch for type ".concat(ie));var Re=ie===t.Z.TEXT||J.get().streaming.trackSwitchMode[ie]===t.Z.TRACK_SWITCH_MODE_ALWAYS_REPLACE&&z.getTimeToStreamEnd(G)>J.get().streaming.buffer.stallThreshold;if(h.getIsBufferingCompleted()&&!Re)return h.prepareForNonReplacementTrackSwitch(R.codec).then(function(){de.trigger(u.Z.BUFFERING_COMPLETED,{},{streamId:G.id,mediaType:ie})}).catch(function(){de.trigger(u.Z.BUFFERING_COMPLETED,{},{streamId:G.id,mediaType:ie})}),void Ge();w.clearScheduleTimer(),w.setSwitchTrack(!0),Re?(de.trigger(u.Z.BUFFER_REPLACEMENT_STARTED,{mediaType:ie,streamId:G.id},{mediaType:ie,streamId:G.id}),b.abortRequests(),h.prepareForReplacementTrackSwitch(R.codec).then(function(){var rt=Yt();return h.updateBufferTimestampOffset(rt)}).then(function(){Dt(),Ge()}).catch(function(){Dt(),Ge()})):h.prepareForNonReplacementTrackSwitch(R.codec).then(function(){xt(),Ge()}).catch(function(){xt(),Ge()})})},prepareQualityChange:function(Ge){te&&l.warn("Canceling queued representation switch to ".concat(te.quality," for ").concat(ie)),l.debug("Preparing quality switch for type ".concat(ie));var Re=Ge.newQuality;N=!0,w.clearScheduleTimer(),L.prepareQualityChange(Re);var rt=Yt(Re);Ge.reason&&Ge.reason.forceReplace?function(fe){b.abortRequests(),de.trigger(u.Z.BUFFER_REPLACEMENT_STARTED,{mediaType:ie,streamId:G.id},{mediaType:ie,streamId:G.id}),w.setCheckPlaybackQuality(!1),h.prepareForForceReplacementQualitySwitch(fe).then(function(){Dt(),te=null,N=!1}).catch(function(){Dt(),te=null,N=!1})}(rt):Ge&&Ge.reason&&Ge.reason.forceAbandon?function(fe){h.updateBufferTimestampOffset(fe).then(function(){b.abortRequests(),B=!0,w.setCheckPlaybackQuality(!1),w.startScheduleTimer(),N=!1,te=null}).catch(function(){te=null,N=!1})}(rt):J.get().streaming.buffer.fastSwitchEnabled?function(fe){var pe=z.getTime(),Ve=1.5*(isNaN(fe.fragmentDuration)?1:fe.fragmentDuration),St=b.getRequests({state:K.FRAGMENT_MODEL_EXECUTED,time:pe+Ve,threshold:0})[0];if(St&&!Ie()){var Nt=h.getBufferLevel(),ln=ne.getAbandonmentStateFor(G.id,ie);St.quality<fe.quality&&Nt>=Ve&&ln!==y.Z.ABANDON_LOAD?h.updateBufferTimestampOffset(fe).then(function(){b.abortRequests(),jt(pe+Ve),w.setCheckPlaybackQuality(!1),w.startScheduleTimer(),N=!1}).catch(function(){N=!1}):Gt(fe)}else Gt(fe)}(rt):Gt(rt),x.pushPlayListTraceMetrics(new Date,be.REPRESENTATION_SWITCH_STOP_REASON),x.createPlaylistTraceMetrics(rt.id,1e3*z.getTime(),z.getPlaybackRate())},getMediaInfo:function(){return R},getMediaSource:function(){return h.getMediaSource()},setMediaSource:function(Ge){return h.setMediaSource(Ge,R)},getBuffer:vt,setExplicitBufferingTime:jt,finalisePlayList:function(Ge,Re){x.pushPlayListTraceMetrics(Ge,Re)},probeNextRequest:function(){var Ge=Yt(),Re=L&&Ge?L.getRepresentationForQuality(Ge.quality):null;return U.getNextSegmentRequestIdempotent(R,Re)},prepareInnerPeriodPlaybackSeeking:function(Ge){return new Promise(function(Re){if(h.hasBufferAtTime(Ge.seekTime))return h.pruneBuffer(),nt(h.getContinuousBufferTimeForTargetTime(Ge.seekTime))&&h.setIsBufferingCompleted(!0),void Re();w.clearScheduleTimer(),b.abortRequests(),h.prepareForPlaybackSeek().then(function(){var rt=h.getAllRangesWithSafetyFactor(Ge.seekTime);return h.clearBuffers(rt)}).then(function(){var rt=h.getContinuousBufferTimeForTargetTime(Ge.seekTime);if(nt(rt))h.setIsBufferingCompleted(!0),Re();else{var fe=isNaN(rt)?Ge.seekTime:rt;jt(fe),h.setSeekTarget(fe);var pe=[];pe.push(h.updateAppendWindow());var Ve=Yt();pe.push(h.updateBufferTimestampOffset(Ve)),Promise.all(pe).then(function(){w.setInitSegmentRequired(!0),w.setCheckPlaybackQuality(!1),w.startScheduleTimer(),Re()})}}).catch(function(rt){l.error(rt)})})},prepareOuterPeriodPlaybackSeeking:function(){return new Promise(function(Ge,Re){try{w.clearScheduleTimer(),b.abortRequests(),h.prepareForPlaybackSeek().then(function(){return h.pruneAllSafely()}).then(function(){Ge()})}catch(rt){Re(rt)}})},reset:function(Ge,Re){U&&U.reset(),h&&(h.reset(Ge,Re),h=null),w&&(w.reset(),w=null),L&&(L.reset(),L=null),Z&&(Z=null),ne&&ne.unRegisterStreamType(Te(),ie),de.off(u.Z.DATA_UPDATE_COMPLETED,qe,r),de.off(u.Z.INIT_FRAGMENT_NEEDED,We,r),de.off(u.Z.MEDIA_FRAGMENT_NEEDED,Xe,r),de.off(u.Z.INIT_FRAGMENT_LOADED,Jt,r),de.off(u.Z.MEDIA_FRAGMENT_LOADED,ut,r),de.off(u.Z.BUFFER_LEVEL_STATE_CHANGED,ht,r),de.off(u.Z.BUFFER_CLEARED,gt,r),de.off(u.Z.SEEK_TARGET,kt,r),de.off(u.Z.FRAGMENT_LOADING_ABANDONED,an,r),de.off(u.Z.FRAGMENT_LOADING_COMPLETED,un,r),de.off(u.Z.SET_FRAGMENTED_TEXT_AFTER_DISABLED,Be,r),de.off(u.Z.SET_NON_FRAGMENTED_TEXT,ft,r),de.off(u.Z.QUOTA_EXCEEDED,$e,r),de.off(u.Z.SOURCE_BUFFER_ERROR,st,r),de.off(u.Z.BYTES_APPENDED_END_FRAGMENT,qt,r),et(),ie=null,G=null}},l=(0,m.Z)(se).getInstance().getLogger(r),et(),de.on(u.Z.DATA_UPDATE_COMPLETED,qe,r,{priority:p.Z.EVENT_PRIORITY_HIGH}),de.on(u.Z.INIT_FRAGMENT_NEEDED,We,r),de.on(u.Z.MEDIA_FRAGMENT_NEEDED,Xe,r),de.on(u.Z.INIT_FRAGMENT_LOADED,Jt,r),de.on(u.Z.MEDIA_FRAGMENT_LOADED,ut,r),de.on(u.Z.BUFFER_LEVEL_STATE_CHANGED,ht,r),de.on(u.Z.BUFFER_CLEARED,gt,r),de.on(u.Z.SEEK_TARGET,kt,r),de.on(u.Z.FRAGMENT_LOADING_ABANDONED,an,r),de.on(u.Z.FRAGMENT_LOADING_COMPLETED,un,r),de.on(u.Z.QUOTA_EXCEEDED,$e,r),de.on(u.Z.SET_FRAGMENTED_TEXT_AFTER_DISABLED,Be,r),de.on(u.Z.SET_NON_FRAGMENTED_TEXT,ft,r),de.on(u.Z.SOURCE_BUFFER_ERROR,st,r),de.on(u.Z.BYTES_APPENDED_END_FRAGMENT,qt,r),r}it.__dashjs_factory_name="StreamProcessor";var Ut=_.Z.getClassFactory(it),It=function i(){(function(r,l){if(!(r instanceof l))throw new TypeError("Cannot call a class as a function")})(this,i),this.streamId=null,this.mediaInfo=null,this.segmentType=null,this.quality=NaN,this.index=NaN,this.bytes=null,this.start=NaN,this.end=NaN,this.duration=NaN,this.representationId=null,this.endFragment=null},Ft=P(9032);function Pt(i,r){if(i){if(typeof i=="string")return tn(i,r);var l=Object.prototype.toString.call(i).slice(8,-1);return l==="Object"&&i.constructor&&(l=i.constructor.name),l==="Map"||l==="Set"?Array.from(i):l==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(l)?tn(i,r):void 0}}function tn(i,r){(r==null||r>i.length)&&(r=i.length);for(var l=0,E=new Array(r);l<r;l++)E[l]=i[l];return E}function dn(i){i=i||{};var r,l,E=this.context,R=i.requestModifier,A=i.lowLatencyThroughputModel,h=i.boxParser,w=(0,Ae.Z)(E).getInstance();function L(N){var U,Z=new Date,ce=N.request,te=new Headers;if(ce.range&&te.append("Range","bytes="+ce.range),N.headers)for(var se in N.headers){var de=N.headers[se];de&&te.append(se,de)}ce.requestStartDate||(ce.requestStartDate=Z),R&&R.modifyRequestHeader&&R.modifyRequestHeader({setRequestHeader:function(g,M){te.append(g,M)}},{url:N.url}),typeof window.AbortController=="function"&&(U=new AbortController,N.abortController=U,U.signal.onabort=N.onabort);var G={method:N.method,headers:te,credentials:N.withCredentials?"include":void 0,signal:U?U.signal:void 0},ie=w.get().streaming.abr.fetchThroughputCalculationMode,j=Date.now(),le=0;new Promise(function(g){if(ie===t.Z.ABR_FETCH_THROUGHPUT_CALCULATION_AAST&&A&&(le=A.getThroughputCapacityDelayMS(ce,1e3*l.getCurrentBufferLevel(ce.mediaType))))return setTimeout(g,le);g()}).then(function(){var g=Date.now();fetch(N.url,G).then(function(M){N.response||(N.response={}),N.response.status=M.status,N.response.statusText=M.statusText,N.response.responseURL=M.url,M.ok||N.onerror();var C,D="",b=function(qe,ht){var gt;if(typeof Symbol>"u"||qe[Symbol.iterator]==null){if(Array.isArray(qe)||(gt=Pt(qe))){gt&&(qe=gt);var st=0,qt=function(){};return{s:qt,n:function(){return st>=qe.length?{done:!0}:{done:!1,value:qe[st++]}},e:function(Be){throw Be},f:qt}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
+import{g as fu}from"./commonjsHelpers-Cpj98o6Y.js";function du(Gr,bi){for(var wr=0;wr<bi.length;wr++){const dr=bi[wr];if(typeof dr!="string"&&!Array.isArray(dr)){for(const Fn in dr)if(Fn!=="default"&&!(Fn in Gr)){const Nr=Object.getOwnPropertyDescriptor(dr,Fn);Nr&&Object.defineProperty(Gr,Fn,Nr.get?Nr:{enumerable:!0,get:()=>dr[Fn]})}}}return Object.freeze(Object.defineProperty(Gr,Symbol.toStringTag,{value:"Module"}))}var To={exports:{}};/*! For license information please see dash.all.min.js.LICENSE.txt */(function(Gr,bi){(function(wr,dr){Gr.exports=dr()})(self,function(){return function(){var wr={4593:function(at,we){var P,ae,T,t,e,y=function(_){for(var m=[],n=0;n<_.length;++n){var c=_.charCodeAt(n);c<128?m.push(c):c<2048?(m.push(192|c>>6),m.push(128|63&c)):c<65536?(m.push(224|c>>12),m.push(128|63&c>>6),m.push(128|63&c)):(m.push(240|c>>18),m.push(128|63&c>>12),m.push(128|63&c>>6),m.push(128|63&c))}return m},p=function(_){for(var m=[],n=0;n<_.length;){var c=_[n++];c<128||(c<224?(c=(31&c)<<6,c|=63&_[n++]):c<240?(c=(15&c)<<12,c|=(63&_[n++])<<6,c|=63&_[n++]):(c=(7&c)<<18,c|=(63&_[n++])<<12,c|=(63&_[n++])<<6,c|=63&_[n++])),m.push(String.fromCharCode(c))}return m.join("")},u={};P="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ae=function(_){for(var m=0,n=[],c=0|_.length/3;0<c--;){var d=(_[m]<<16)+(_[m+1]<<8)+_[m+2];m+=3,n.push(P.charAt(63&d>>18)),n.push(P.charAt(63&d>>12)),n.push(P.charAt(63&d>>6)),n.push(P.charAt(63&d))}return _.length-m==2?(d=(_[m]<<16)+(_[m+1]<<8),n.push(P.charAt(63&d>>18)),n.push(P.charAt(63&d>>12)),n.push(P.charAt(63&d>>6)),n.push("=")):_.length-m==1&&(d=_[m]<<16,n.push(P.charAt(63&d>>18)),n.push(P.charAt(63&d>>12)),n.push("==")),n.join("")},T=function(){for(var _=[],m=0;m<P.length;++m)_[P.charCodeAt(m)]=m;return _[61]=0,_}(),t=function(_){for(var m=0,n=[],c=0|_.length/4;0<c--;){var d=(T[_.charCodeAt(m)]<<18)+(T[_.charCodeAt(m+1)]<<12)+(T[_.charCodeAt(m+2)]<<6)+T[_.charCodeAt(m+3)];n.push(255&d>>16),n.push(255&d>>8),n.push(255&d),m+=4}return n&&(_.charAt(m-2)=="="?(n.pop(),n.pop()):_.charAt(m-1)=="="&&n.pop()),n},e={encode:function(_){for(var m=[],n=0;n<_.length;++n)m.push(_.charCodeAt(n));return m},decode:function(_){for(var m=0;m<s.length;++m)a[m]=String.fromCharCode(a[m]);return a.join("")}},u.decodeArray=function(_){var m=t(_);return new Uint8Array(m)},u.encodeASCII=function(_){var m=e.encode(_);return ae(m)},u.decodeASCII=function(_){var m=t(_);return e.decode(m)},u.encode=function(_){var m=y(_);return ae(m)},u.decode=function(_){var m=t(_);return p(m)},we.decode=u.decode,we.decodeArray=u.decodeArray,we.encode=u.encode,we.encodeASCII=u.encodeASCII},452:function(at,we){(function(P){var ae={42:225,92:233,94:237,95:243,96:250,123:231,124:247,125:209,126:241,127:9608,128:174,129:176,130:189,131:191,132:8482,133:162,134:163,135:9834,136:224,137:32,138:232,139:226,140:234,141:238,142:244,143:251,144:193,145:201,146:211,147:218,148:220,149:252,150:8216,151:161,152:42,153:8217,154:9473,155:169,156:8480,157:8226,158:8220,159:8221,160:192,161:194,162:199,163:200,164:202,165:203,166:235,167:206,168:207,169:239,170:212,171:217,172:249,173:219,174:171,175:187,176:195,177:227,178:205,179:204,180:236,181:210,182:242,183:213,184:245,185:123,186:125,187:92,188:94,189:95,190:124,191:8764,192:196,193:228,194:214,195:246,196:223,197:165,198:164,199:9475,200:197,201:229,202:216,203:248,204:9487,205:9491,206:9495,207:9499},T=function(O){var K=O;return ae.hasOwnProperty(O)&&(K=ae[O]),String.fromCharCode(K)},t=15,e=32,y={17:1,18:3,21:5,22:7,23:9,16:11,19:12,20:14},p={17:2,18:4,21:6,22:8,23:10,19:13,20:15},u={25:1,26:3,29:5,30:7,31:9,24:11,27:12,28:14},_={25:2,26:4,29:6,30:8,31:10,27:13,28:15},m=["white","green","blue","cyan","red","yellow","magenta","black","transparent"],n={verboseFilter:{DATA:3,DEBUG:3,INFO:2,WARNING:2,TEXT:1,ERROR:0},time:null,verboseLevel:0,setTime:function(O){this.time=O},log:function(O,K){var re=this.verboseFilter[O];this.verboseLevel>=re&&console.log(this.time+" ["+O+"] "+K)}},c=function(O){for(var K=[],re=0;re<O.length;re++)K.push(O[re].toString(16));return K},d=function(O,K,re,H,ee){this.foreground=O||"white",this.underline=K||!1,this.italics=re||!1,this.background=H||"black",this.flash=ee||!1};d.prototype={reset:function(){this.foreground="white",this.underline=!1,this.italics=!1,this.background="black",this.flash=!1},setStyles:function(O){for(var K=["foreground","underline","italics","background","flash"],re=0;re<K.length;re++){var H=K[re];O.hasOwnProperty(H)&&(this[H]=O[H])}},isDefault:function(){return this.foreground==="white"&&!this.underline&&!this.italics&&this.background==="black"&&!this.flash},equals:function(O){return this.foreground===O.foreground&&this.underline===O.underline&&this.italics===O.italics&&this.background===O.background&&this.flash===O.flash},copy:function(O){this.foreground=O.foreground,this.underline=O.underline,this.italics=O.italics,this.background=O.background,this.flash=O.flash},toString:function(){return"color="+this.foreground+", underline="+this.underline+", italics="+this.italics+", background="+this.background+", flash="+this.flash}};var I=function(O,K,re,H,ee,se){this.uchar=O||" ",this.penState=new d(K,re,H,ee,se)};I.prototype={reset:function(){this.uchar=" ",this.penState.reset()},setChar:function(O,K){this.uchar=O,this.penState.copy(K)},setPenState:function(O){this.penState.copy(O)},equals:function(O){return this.uchar===O.uchar&&this.penState.equals(O.penState)},copy:function(O){this.uchar=O.uchar,this.penState.copy(O.penState)},isEmpty:function(){return this.uchar===" "&&this.penState.isDefault()}};var k=function(){this.chars=[];for(var O=0;O<e;O++)this.chars.push(new I);this.pos=0,this.currPenState=new d};k.prototype={equals:function(O){for(var K=!0,re=0;re<e;re++)if(!this.chars[re].equals(O.chars[re])){K=!1;break}return K},copy:function(O){for(var K=0;K<e;K++)this.chars[K].copy(O.chars[K])},isEmpty:function(){for(var O=!0,K=0;K<e;K++)if(!this.chars[K].isEmpty()){O=!1;break}return O},setCursor:function(O){this.pos!==O&&(this.pos=O),this.pos<0?(n.log("ERROR","Negative cursor position "+this.pos),this.pos=0):this.pos>e&&(n.log("ERROR","Too large cursor position "+this.pos),this.pos=e)},moveCursor:function(O){var K=this.pos+O;if(O>1)for(var re=this.pos+1;re<K+1;re++)this.chars[re].setPenState(this.currPenState);this.setCursor(K)},backSpace:function(){this.moveCursor(-1),this.chars[this.pos].setChar(" ",this.currPenState)},insertChar:function(O){O>=144&&this.backSpace();var K=T(O);this.pos>=e?n.log("ERROR","Cannot insert "+O.toString(16)+" ("+K+") at position "+this.pos+". Skipping it!"):(this.chars[this.pos].setChar(K,this.currPenState),this.moveCursor(1))},clearFromPos:function(O){var K;for(K=O;K<e;K++)this.chars[K].reset()},clear:function(){this.clearFromPos(0),this.pos=0,this.currPenState.reset()},clearToEndOfRow:function(){this.clearFromPos(this.pos)},getTextString:function(){for(var O=[],K=!0,re=0;re<e;re++){var H=this.chars[re].uchar;H!==" "&&(K=!1),O.push(H)}return K?"":O.join("")},setPenStyles:function(O){this.currPenState.setStyles(O),this.chars[this.pos].setPenState(this.currPenState)}};var q=function(){this.rows=[];for(var O=0;O<t;O++)this.rows.push(new k);this.currRow=14,this.nrRollUpRows=null,this.reset()};q.prototype={reset:function(){for(var O=0;O<t;O++)this.rows[O].clear();this.currRow=14},equals:function(O){for(var K=!0,re=0;re<t;re++)if(!this.rows[re].equals(O.rows[re])){K=!1;break}return K},copy:function(O){for(var K=0;K<t;K++)this.rows[K].copy(O.rows[K])},isEmpty:function(){for(var O=!0,K=0;K<t;K++)if(!this.rows[K].isEmpty()){O=!1;break}return O},backSpace:function(){this.rows[this.currRow].backSpace()},clearToEndOfRow:function(){this.rows[this.currRow].clearToEndOfRow()},insertChar:function(O){this.rows[this.currRow].insertChar(O)},setPen:function(O){this.rows[this.currRow].setPenStyles(O)},moveCursor:function(O){this.rows[this.currRow].moveCursor(O)},setCursor:function(O){n.log("INFO","setCursor: "+O),this.rows[this.currRow].setCursor(O)},setPAC:function(O){n.log("INFO","pacData = "+JSON.stringify(O));var K=O.row-1;this.nrRollUpRows&&K<this.nrRollUpRows-1&&(K=this.nrRollUpRows-1),this.currRow=K;var re=this.rows[this.currRow];if(O.indent!==null){var H=O.indent,ee=Math.max(H-1,0);re.setCursor(O.indent),O.color=re.chars[ee].penState.foreground}var se={foreground:O.color,underline:O.underline,italics:O.italics,background:"black",flash:!1};this.setPen(se)},setBkgData:function(O){n.log("INFO","bkgData = "+JSON.stringify(O)),this.backSpace(),this.setPen(O),this.insertChar(32)},setRollUpRows:function(O){this.nrRollUpRows=O},rollUp:function(){if(this.nrRollUpRows!==null){n.log("TEXT",this.getDisplayText());var O=this.currRow+1-this.nrRollUpRows,K=this.rows.splice(O,1)[0];K.clear(),this.rows.splice(this.currRow,0,K),n.log("INFO","Rolling up")}else n.log("DEBUG","roll_up but nrRollUpRows not set yet")},getDisplayText:function(O){O=O||!1;for(var K=[],re="",H=-1,ee=0;ee<t;ee++){var se=this.rows[ee].getTextString();se&&(H=ee+1,O?K.push("Row "+H+': "'+se+'"'):K.push(se.trim()))}return K.length>0&&(re=O?"["+K.join(" | ")+"]":K.join(`
+`)),re},getTextAndFormat:function(){return this.rows}};var F=function(O,K){this.chNr=O,this.outputFilter=K,this.mode=null,this.verbose=0,this.displayedMemory=new q,this.nonDisplayedMemory=new q,this.lastOutputScreen=new q,this.currRollUpRow=this.displayedMemory.rows[14],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null};F.prototype={modes:["MODE_ROLL-UP","MODE_POP-ON","MODE_PAINT-ON","MODE_TEXT"],reset:function(){this.mode=null,this.displayedMemory.reset(),this.nonDisplayedMemory.reset(),this.lastOutputScreen.reset(),this.currRollUpRow=this.displayedMemory.rows[14],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null,this.lastCueEndTime=null},getHandler:function(){return this.outputFilter},setHandler:function(O){this.outputFilter=O},setPAC:function(O){this.writeScreen.setPAC(O)},setBkgData:function(O){this.writeScreen.setBkgData(O)},setMode:function(O){O!==this.mode&&(this.mode=O,n.log("INFO","MODE="+O),this.mode=="MODE_POP-ON"?this.writeScreen=this.nonDisplayedMemory:(this.writeScreen=this.displayedMemory,this.writeScreen.reset()),this.mode!=="MODE_ROLL-UP"&&(this.displayedMemory.nrRollUpRows=null,this.nonDisplayedMemory.nrRollUpRows=null),this.mode=O)},insertChars:function(O){for(var K=0;K<O.length;K++)this.writeScreen.insertChar(O[K]);var re=this.writeScreen===this.displayedMemory?"DISP":"NON_DISP";n.log("INFO",re+": "+this.writeScreen.getDisplayText(!0)),this.mode!=="MODE_PAINT-ON"&&this.mode!=="MODE_ROLL-UP"||(n.log("TEXT","DISPLAYED: "+this.displayedMemory.getDisplayText(!0)),this.outputDataUpdate())},cc_RCL:function(){n.log("INFO","RCL - Resume Caption Loading"),this.setMode("MODE_POP-ON")},cc_BS:function(){n.log("INFO","BS - BackSpace"),this.mode!=="MODE_TEXT"&&(this.writeScreen.backSpace(),this.writeScreen===this.displayedMemory&&this.outputDataUpdate())},cc_AOF:function(){},cc_AON:function(){},cc_DER:function(){n.log("INFO","DER- Delete to End of Row"),this.writeScreen.clearToEndOfRow(),this.outputDataUpdate()},cc_RU:function(O){n.log("INFO","RU("+O+") - Roll Up"),this.writeScreen=this.displayedMemory,this.setMode("MODE_ROLL-UP"),this.writeScreen.setRollUpRows(O)},cc_FON:function(){n.log("INFO","FON - Flash On"),this.writeScreen.setPen({flash:!0})},cc_RDC:function(){n.log("INFO","RDC - Resume Direct Captioning"),this.setMode("MODE_PAINT-ON")},cc_TR:function(){n.log("INFO","TR"),this.setMode("MODE_TEXT")},cc_RTD:function(){n.log("INFO","RTD"),this.setMode("MODE_TEXT")},cc_EDM:function(){n.log("INFO","EDM - Erase Displayed Memory"),this.displayedMemory.reset(),this.outputDataUpdate()},cc_CR:function(){n.log("CR - Carriage Return"),this.writeScreen.rollUp(),this.outputDataUpdate()},cc_ENM:function(){n.log("INFO","ENM - Erase Non-displayed Memory"),this.nonDisplayedMemory.reset()},cc_EOC:function(){if(n.log("INFO","EOC - End Of Caption"),this.mode==="MODE_POP-ON"){var O=this.displayedMemory;this.displayedMemory=this.nonDisplayedMemory,this.nonDisplayedMemory=O,this.writeScreen=this.nonDisplayedMemory,n.log("TEXT","DISP: "+this.displayedMemory.getDisplayText())}this.outputDataUpdate()},cc_TO:function(O){n.log("INFO","TO("+O+") - Tab Offset"),this.writeScreen.moveCursor(O)},cc_MIDROW:function(O){var K={flash:!1};if(K.underline=O%2==1,K.italics=O>=46,K.italics)K.foreground="white";else{var re=Math.floor(O/2)-16;K.foreground=["white","green","blue","cyan","red","yellow","magenta"][re]}n.log("INFO","MIDROW: "+JSON.stringify(K)),this.writeScreen.setPen(K)},outputDataUpdate:function(){var O=n.time;O!==null&&this.outputFilter&&(this.outputFilter.updateData&&this.outputFilter.updateData(O,this.displayedMemory),this.cueStartTime!==null||this.displayedMemory.isEmpty()?this.displayedMemory.equals(this.lastOutputScreen)||(this.outputFilter.newCue&&this.outputFilter.newCue(this.cueStartTime,O,this.lastOutputScreen),this.cueStartTime=this.displayedMemory.isEmpty()?null:O):this.cueStartTime=O,this.lastOutputScreen.copy(this.displayedMemory))},cueSplitAtTime:function(O){this.outputFilter&&(this.displayedMemory.isEmpty()||(this.outputFilter.newCue&&this.outputFilter.newCue(this.cueStartTime,O,this.displayedMemory),this.cueStartTime=O))}};var $=function(O,K,re){this.field=O||1,this.outputs=[K,re],this.channels=[new F(1,K),new F(2,re)],this.currChNr=-1,this.lastCmdA=null,this.lastCmdB=null,this.bufferedData=[],this.startTime=null,this.lastTime=null,this.dataCounters={padding:0,char:0,cmd:0,other:0}};$.prototype={getHandler:function(O){return this.channels[O].getHandler()},setHandler:function(O,K){this.channels[O].setHandler(K)},addData:function(O,K){var re,H,ee,se=!1;this.lastTime=O,n.setTime(O);for(var _e=0;_e<K.length;_e+=2)H=127&K[_e],ee=127&K[_e+1],H>=16&&H<=31&&H===this.lastCmdA&&ee===this.lastCmdB?(this.lastCmdA=null,this.lastCmdB=null,n.log("DEBUG","Repeated command ("+c([H,ee])+") is dropped")):H!==0||ee!==0?(n.log("DATA","["+c([K[_e],K[_e+1]])+"] -> ("+c([H,ee])+")"),(re=this.parseCmd(H,ee))||(re=this.parseMidrow(H,ee)),re||(re=this.parsePAC(H,ee)),re||(re=this.parseBackgroundAttributes(H,ee)),re||(se=this.parseChars(H,ee))&&(this.currChNr&&this.currChNr>=0?this.channels[this.currChNr-1].insertChars(se):n.log("WARNING","No channel found yet. TEXT-MODE?")),re?this.dataCounters.cmd+=2:se?this.dataCounters.char+=2:(this.dataCounters.other+=2,n.log("WARNING","Couldn't parse cleaned data "+c([H,ee])+" orig: "+c([K[_e],K[_e+1]])))):this.dataCounters.padding+=2},parseCmd:function(O,K){var re;if(!((O===20||O===21||O===28||O===29)&&32<=K&&K<=47||(O===23||O===31)&&33<=K&&K<=35))return!1;re=O===20||O===21||O===23?1:2;var H=this.channels[re-1];return O===20||O===21||O===28||O===29?K===32?H.cc_RCL():K===33?H.cc_BS():K===34?H.cc_AOF():K===35?H.cc_AON():K===36?H.cc_DER():K===37?H.cc_RU(2):K===38?H.cc_RU(3):K===39?H.cc_RU(4):K===40?H.cc_FON():K===41?H.cc_RDC():K===42?H.cc_TR():K===43?H.cc_RTD():K===44?H.cc_EDM():K===45?H.cc_CR():K===46?H.cc_ENM():K===47&&H.cc_EOC():H.cc_TO(K-32),this.lastCmdA=O,this.lastCmdB=K,this.currChNr=re,!0},parseMidrow:function(O,K){var re=null;if((O===17||O===25)&&32<=K&&K<=47){if((re=O===17?1:2)!==this.currChNr)return n.log("ERROR","Mismatch channel in midrow parsing"),!1;var H=this.channels[re-1];return H.insertChars([32]),H.cc_MIDROW(K),n.log("DEBUG","MIDROW ("+c([O,K])+")"),this.lastCmdA=O,this.lastCmdB=K,!0}return!1},parsePAC:function(O,K){var re,H;if(!((17<=O&&O<=23||25<=O&&O<=31)&&64<=K&&K<=127||(O===16||O===24)&&64<=K&&K<=95))return!1;re=O<=23?1:2,H=64<=K&&K<=95?re===1?y[O]:u[O]:re===1?p[O]:_[O];var ee=this.interpretPAC(H,K);return this.channels[re-1].setPAC(ee),this.lastCmdA=O,this.lastCmdB=K,this.currChNr=re,!0},interpretPAC:function(O,K){var re,H={color:null,italics:!1,indent:null,underline:!1,row:O};return re=K>95?K-96:K-64,H.underline=(1&re)==1,re<=13?H.color=["white","green","blue","cyan","red","yellow","magenta","white"][Math.floor(re/2)]:re<=15?(H.italics=!0,H.color="white"):H.indent=4*Math.floor((re-16)/2),H},parseChars:function(O,K){var re=null,H=null,ee=null;if(O>=25?(re=2,ee=O-8):(re=1,ee=O),17<=ee&&ee<=19){var se;se=ee===17?K+80:ee===18?K+112:K+144,n.log("INFO","Special char '"+T(se)+"' in channel "+re),H=[se],this.lastCmdA=O,this.lastCmdB=K}else 32<=O&&O<=127&&(H=K===0?[O]:[O,K],this.lastCmdA=null,this.lastCmdB=null);if(H){var _e=c(H);n.log("DEBUG","Char codes =  "+_e.join(","))}return H},parseBackgroundAttributes:function(O,K){var re,H,ee;return((O===16||O===24)&&32<=K&&K<=47||(O===23||O===31)&&45<=K&&K<=47)&&(re={},O===16||O===24?(H=Math.floor((K-32)/2),re.background=m[H],K%2==1&&(re.background=re.background+"_semi")):K===45?re.background="transparent":(re.foreground="black",K===47&&(re.underline=!0)),ee=O<24?1:2,this.channels[ee-1].setBkgData(re),this.lastCmdA=O,this.lastCmdB=K,!0)},reset:function(){for(var O=0;O<this.channels.length;O++)this.channels[O]&&this.channels[O].reset();this.lastCmdA=null,this.lastCmdB=null},cueSplitAtTime:function(O){for(var K=0;K<this.channels.length;K++)this.channels[K]&&this.channels[K].cueSplitAtTime(O)}},P.logger=n,P.PenState=d,P.CaptionScreen=q,P.Cea608Parser=$,P.findCea608Nalus=function(O,K,re){for(var H=0,ee=K,se=[],_e=function(ye,Pe,He,tt){if(ye!==4||Pe<8)return null;var ve=He.getUint8(tt),Oe=He.getUint16(tt+1),_t=He.getUint32(tt+3),dt=He.getUint8(tt+7);return ve==181&&Oe==49&&_t==1195456820&&dt==3};ee<K+re;){if(H=O.getUint32(ee),(31&O.getUint8(ee+4))==6)for(var X=ee+5,Ae=-1;X<ee+4+H-1;){Ae=0;for(var Le=255;Le===255;)Ae+=Le=O.getUint8(X),X++;var Ye=0;for(Le=255;Le===255;)Ye+=Le=O.getUint8(X),X++;_e(Ae,Ye,O,X)&&se.push([X,Ye]),X+=Ye}ee+=H+4}return se},P.extractCea608DataFromRange=function(O,K){var re=K[0],H=[[],[]];re+=8;var ee=31&O.getUint8(re);re+=2;for(var se=0;se<ee;se++){var _e=O.getUint8(re),X=4&_e,Ae=3&_e;re++;var Le=O.getUint8(re);re++;var Ye=O.getUint8(re);re++,X&&(127&Le)+(127&Ye)!=0&&(Ae===0?(H[0].push(Le),H[0].push(Ye)):Ae===1&&(H[1].push(Le),H[1].push(Ye)))}return H}})(we)},8416:function(at,we,P){var ae=P(1139),T=P(5448),t=P(6398),e=P(2032),y=(P(5530),typeof window<"u"&&window||P.g),p=y.dashjs;p||(p=y.dashjs={}),p.MediaPlayer=ae.Z,p.FactoryMaker=T.Z,p.Debug=t.Z,p.Version=(0,e.e)()},6398:function(at,we,P){var ae=P(5595),T=P(8512),t=P(5448),e=1,y=2,p=3,u=4,_=5;function m(c){c=c||{};var d,I,k,q,F=this.context,$=(0,ae.Z)(F).getInstance(),O=c.settings,K=[];function re(Le){return Le&&Le.bind?Le.bind(window.console):window.console.log.bind(window.console)}function H(){for(var Le=arguments.length,Ye=new Array(Le),ye=0;ye<Le;ye++)Ye[ye]=arguments[ye];Ae.apply(void 0,[e,this].concat(Ye))}function ee(){for(var Le=arguments.length,Ye=new Array(Le),ye=0;ye<Le;ye++)Ye[ye]=arguments[ye];Ae.apply(void 0,[y,this].concat(Ye))}function se(){for(var Le=arguments.length,Ye=new Array(Le),ye=0;ye<Le;ye++)Ye[ye]=arguments[ye];Ae.apply(void 0,[p,this].concat(Ye))}function _e(){for(var Le=arguments.length,Ye=new Array(Le),ye=0;ye<Le;ye++)Ye[ye]=arguments[ye];Ae.apply(void 0,[u,this].concat(Ye))}function X(){for(var Le=arguments.length,Ye=new Array(Le),ye=0;ye<Le;ye++)Ye[ye]=arguments[ye];Ae.apply(void 0,[_,this].concat(Ye))}function Ae(Le,Ye){var ye="",Pe=null;I&&(Pe=new Date().getTime(),ye+="["+(Pe-q)+"]"),k&&Ye&&Ye.getClassName&&(ye+="["+Ye.getClassName()+"]",Ye.getType&&(ye+="["+Ye.getType()+"]")),ye.length>0&&(ye+=" ");for(var He=arguments.length,tt=new Array(He>2?He-2:0),ve=2;ve<He;ve++)tt[ve-2]=arguments[ve];Array.apply(null,tt).forEach(function(Oe){ye+=Oe+" "}),K[Le]&&O&&O.get().debug.logLevel>=Le&&K[Le](ye),O&&O.get().debug.dispatchEvent&&$.trigger(T.Z.LOG,{message:ye,level:Le})}return d={getLogger:function(Le){return{fatal:H.bind(Le),error:ee.bind(Le),warn:se.bind(Le),info:_e.bind(Le),debug:X.bind(Le)}},setLogTimestampVisible:function(Le){I=Le},setCalleeNameVisible:function(Le){k=Le}},I=!0,k=!0,q=new Date().getTime(),typeof window<"u"&&window.console&&(K[e]=re(window.console.error),K[y]=re(window.console.error),K[p]=re(window.console.warn),K[u]=re(window.console.info),K[_]=re(window.console.debug)),d}m.__dashjs_factory_name="Debug";var n=t.Z.getSingletonFactory(m);n.LOG_LEVEL_NONE=0,n.LOG_LEVEL_FATAL=e,n.LOG_LEVEL_ERROR=y,n.LOG_LEVEL_WARNING=p,n.LOG_LEVEL_INFO=u,n.LOG_LEVEL_DEBUG=_,t.Z.updateSingletonFactory(m.__dashjs_factory_name,n),we.Z=n},5595:function(at,we,P){var ae=P(5448),T=P(8825);function t(){var y={};function p(_,m,n){var c=-1;return y[_]&&y[_].some(function(d,I){if(d&&d.callback===m&&(!n||n===d.scope))return c=I,!0}),c}var u={on:function(_,m,n){var c=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};if(!_)throw new Error("event type cannot be null or undefined");if(!m||typeof m!="function")throw new Error("listener must be a function: "+m);var d=c.priority||0;if(!(p(_,m,n)>=0)){y[_]=y[_]||[];var I={callback:m,scope:n,priority:d};n&&n.getStreamId&&(I.streamId=n.getStreamId()),n&&n.getType&&(I.mediaType=n.getType()),c&&c.mode&&(I.mode=c.mode);var k=y[_].some(function(q,F){if(q&&d>q.priority)return y[_].splice(F,0,I),!0});k||y[_].push(I)}},off:function(_,m,n){if(_&&m&&y[_]){var c=p(_,m,n);c<0||(y[_][c]=null)}},trigger:function(_){var m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(_&&y[_]){if((m=m||{}).hasOwnProperty("type"))throw new Error("'type' is a reserved word for event dispatching");m.type=_,n.streamId&&(m.streamId=n.streamId),n.mediaType&&(m.mediaType=n.mediaType),y[_].filter(function(c){return!(!c||n.streamId&&c.streamId&&c.streamId!==n.streamId||n.mediaType&&c.mediaType&&c.mediaType!==n.mediaType||n.mode&&c.mode&&c.mode!==n.mode||!c.mode&&n.mode&&n.mode===T.Z.EVENT_MODE_ON_RECEIVE)}).forEach(function(c){return c&&c.callback.call(c.scope,m)})}},reset:function(){y={}}};return u}t.__dashjs_factory_name="EventBus";var e=ae.Z.getSingletonFactory(t);e.EVENT_PRIORITY_LOW=0,e.EVENT_PRIORITY_HIGH=5e3,ae.Z.updateSingletonFactory(t.__dashjs_factory_name,e),we.Z=e},5448:function(at,we){var P=function(){var ae,T=[],t={},e={};function y(m,n){for(var c in T){var d=T[c];if(d.context===m&&d.name===n)return d.instance}return null}function p(m,n){return n[m]}function u(m,n,c){m in c&&(c[m]=n)}function _(m,n,c){var d,I=m.__dashjs_factory_name,k=n[I];if(k){var q=k.instance;if(!k.override)return q.apply({context:n,factory:ae},c);for(var F in d=m.apply({context:n},c),q=q.apply({context:n,factory:ae,parent:d},c))d.hasOwnProperty(F)&&(d[F]=q[F])}else d=m.apply({context:n},c);return d.getClassName=function(){return I},d}return ae={extend:function(m,n,c,d){!d[m]&&n&&(d[m]={instance:n,override:c})},getSingletonInstance:y,setSingletonInstance:function(m,n,c){for(var d in T){var I=T[d];if(I.context===m&&I.name===n)return void(T[d].instance=c)}T.push({name:n,context:m,instance:c})},deleteSingletonInstances:function(m){T=T.filter(function(n){return n.context!==m})},getSingletonFactory:function(m){var n=p(m.__dashjs_factory_name,t);return n||(n=function(c){var d;return c===void 0&&(c={}),{getInstance:function(){return d||(d=y(c,m.__dashjs_factory_name)),d||(d=_(m,c,arguments),T.push({name:m.__dashjs_factory_name,context:c,instance:d})),d}}},t[m.__dashjs_factory_name]=n),n},getSingletonFactoryByName:function(m){return p(m,t)},updateSingletonFactory:function(m,n){u(m,n,t)},getClassFactory:function(m){var n=p(m.__dashjs_factory_name,e);return n||(n=function(c){return c===void 0&&(c={}),{create:function(){return _(m,c,arguments)}}},e[m.__dashjs_factory_name]=n),n},getClassFactoryByName:function(m){return p(m,e)},updateClassFactory:function(m,n){u(m,n,e)}},ae}();we.Z=P},1264:function(at,we,P){var ae=P(5448),T=P(703),t=P(6398),e=P(3393),y=P(7855),p=P(5595),u=P(8512);function _(d){return _=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(I){return typeof I}:function(I){return I&&typeof Symbol=="function"&&I.constructor===Symbol&&I!==Symbol.prototype?"symbol":typeof I},_(d)}function m(d,I,k){return I in d?Object.defineProperty(d,I,{value:k,enumerable:!0,configurable:!0,writable:!0}):d[I]=k,d}function n(){var d,I,k=this.context,q=(0,p.Z)(k).getInstance(),F={"streaming.delay.liveDelay":u.Z.SETTING_UPDATED_LIVE_DELAY,"streaming.delay.liveDelayFragmentCount":u.Z.SETTING_UPDATED_LIVE_DELAY_FRAGMENT_COUNT,"streaming.liveCatchup.enabled":u.Z.SETTING_UPDATED_CATCHUP_ENABLED,"streaming.liveCatchup.playbackRate.min":u.Z.SETTING_UPDATED_PLAYBACK_RATE_MIN,"streaming.liveCatchup.playbackRate.max":u.Z.SETTING_UPDATED_PLAYBACK_RATE_MAX},$={debug:{logLevel:t.Z.LOG_LEVEL_WARNING,dispatchEvent:!1},streaming:{abandonLoadTimeout:1e4,wallclockTimeUpdateInterval:100,manifestUpdateRetryInterval:100,liveUpdateTimeThresholdInMilliseconds:0,cacheInitSegments:!1,applyServiceDescription:!0,applyProducerReferenceTime:!0,applyContentSteering:!0,eventControllerRefreshDelay:100,enableManifestDurationMismatchFix:!0,parseInbandPrft:!1,enableManifestTimescaleMismatchFix:!1,capabilities:{filterUnsupportedEssentialProperties:!0,useMediaCapabilitiesApi:!1},timeShiftBuffer:{calcFromSegmentTimeline:!1,fallbackToSegmentTimeline:!0},metrics:{maxListDepth:100},delay:{liveDelayFragmentCount:NaN,liveDelay:NaN,useSuggestedPresentationDelay:!0},protection:{keepProtectionMediaKeys:!1,ignoreEmeEncryptedEvent:!1,detectPlayreadyMessageFormat:!0},buffer:{enableSeekDecorrelationFix:!1,fastSwitchEnabled:!0,flushBufferAtTrackSwitch:!1,reuseExistingSourceBuffers:!0,bufferPruningInterval:10,bufferToKeep:20,bufferTimeAtTopQuality:30,bufferTimeAtTopQualityLongForm:60,initialBufferLevel:NaN,stableBufferTime:12,longFormContentDurationThreshold:600,stallThreshold:.3,useAppendWindow:!0,setStallState:!0,avoidCurrentTimeRangePruning:!1,useChangeTypeForTrackSwitch:!0,mediaSourceDurationInfinity:!0,resetSourceBuffersForTrackSwitch:!1},gaps:{jumpGaps:!0,jumpLargeGaps:!0,smallGapLimit:1.5,threshold:.3,enableSeekFix:!0,enableStallFix:!1,stallSeek:.1},utcSynchronization:{enabled:!0,useManifestDateHeaderTimeSource:!0,backgroundAttempts:2,timeBetweenSyncAttempts:30,maximumTimeBetweenSyncAttempts:600,minimumTimeBetweenSyncAttempts:2,timeBetweenSyncAttemptsAdjustmentFactor:2,maximumAllowedDrift:100,enableBackgroundSyncAfterSegmentDownloadError:!0,defaultTimingSource:{scheme:"urn:mpeg:dash:utc:http-xsdate:2014",value:"https://time.akamai.com/?iso&ms"}},scheduling:{defaultTimeout:500,lowLatencyTimeout:0,scheduleWhilePaused:!0},text:{defaultEnabled:!0,dispatchForManualRendering:!1,extendSegmentedCues:!0,imsc:{displayForcedOnlyMode:!1,enableRollUp:!0},webvtt:{customRenderingEnabled:!1}},liveCatchup:{maxDrift:NaN,playbackRate:{min:NaN,max:NaN},playbackBufferMin:.5,enabled:null,mode:e.Z.LIVE_CATCHUP_MODE_DEFAULT},lastBitrateCachingInfo:{enabled:!0,ttl:36e4},lastMediaSettingsCachingInfo:{enabled:!0,ttl:36e4},saveLastMediaSettingsForCurrentStreamingSession:!0,cacheLoadThresholds:{video:50,audio:5},trackSwitchMode:{audio:e.Z.TRACK_SWITCH_MODE_ALWAYS_REPLACE,video:e.Z.TRACK_SWITCH_MODE_NEVER_REPLACE},selectionModeForInitialTrack:e.Z.TRACK_SELECTION_MODE_HIGHEST_SELECTION_PRIORITY,fragmentRequestTimeout:2e4,fragmentRequestProgressTimeout:-1,manifestRequestTimeout:1e4,retryIntervals:(d={},m(d,y.w.MPD_TYPE,500),m(d,y.w.XLINK_EXPANSION_TYPE,500),m(d,y.w.MEDIA_SEGMENT_TYPE,1e3),m(d,y.w.INIT_SEGMENT_TYPE,1e3),m(d,y.w.BITSTREAM_SWITCHING_SEGMENT_TYPE,1e3),m(d,y.w.INDEX_SEGMENT_TYPE,1e3),m(d,y.w.MSS_FRAGMENT_INFO_SEGMENT_TYPE,1e3),m(d,y.w.LICENSE,1e3),m(d,y.w.OTHER_TYPE,1e3),m(d,"lowLatencyReductionFactor",10),d),retryAttempts:(I={},m(I,y.w.MPD_TYPE,3),m(I,y.w.XLINK_EXPANSION_TYPE,1),m(I,y.w.MEDIA_SEGMENT_TYPE,3),m(I,y.w.INIT_SEGMENT_TYPE,3),m(I,y.w.BITSTREAM_SWITCHING_SEGMENT_TYPE,3),m(I,y.w.INDEX_SEGMENT_TYPE,3),m(I,y.w.MSS_FRAGMENT_INFO_SEGMENT_TYPE,3),m(I,y.w.LICENSE,3),m(I,y.w.OTHER_TYPE,3),m(I,"lowLatencyMultiplyFactor",5),I),abr:{movingAverageMethod:e.Z.MOVING_AVERAGE_SLIDING_WINDOW,ABRStrategy:e.Z.ABR_STRATEGY_DYNAMIC,additionalAbrRules:{insufficientBufferRule:!0,switchHistoryRule:!0,droppedFramesRule:!0,abandonRequestsRule:!0},abrRulesParameters:{abandonRequestsRule:{graceTimeThreshold:500,abandonMultiplier:1.8,minLengthToAverage:5}},bandwidthSafetyFactor:.9,useDefaultABRRules:!0,useDeadTimeLatency:!0,limitBitrateByPortal:!1,usePixelRatioInLimitBitrateByPortal:!1,maxBitrate:{audio:-1,video:-1},minBitrate:{audio:-1,video:-1},maxRepresentationRatio:{audio:1,video:1},initialBitrate:{audio:-1,video:-1},initialRepresentationRatio:{audio:-1,video:-1},autoSwitchBitrate:{audio:!0,video:!0},fetchThroughputCalculationMode:e.Z.ABR_FETCH_THROUGHPUT_CALCULATION_MOOF_PARSING},cmcd:{enabled:!1,sid:null,cid:null,rtp:null,rtpSafetyFactor:5,mode:e.Z.CMCD_MODE_QUERY,enabledKeys:["br","d","ot","tb","bl","dl","mtp","nor","nrr","su","bs","rtp","cid","pr","sf","sid","st","v"]},cmsd:{enabled:!1,abr:{applyMb:!1,etpWeightRatio:0}}},errors:{recoverAttempts:{mediaErrorDecode:5}}},O=T.Z.clone($);function K(re,H,ee){for(var se in re)re.hasOwnProperty(se)&&(H.hasOwnProperty(se)?_(re[se])!=="object"||re[se]instanceof Array||re[se]===null?(H[se]=T.Z.clone(re[se]),F[ee+se]&&q.trigger(F[ee+se])):K(re[se],H[se],ee.slice()+se+"."):console.error("Settings parameter "+ee+se+" is not supported"))}return{get:function(){return O},update:function(re){_(re)==="object"&&K(re,O,"")},reset:function(){O=T.Z.clone($)}}}n.__dashjs_factory_name="Settings";var c=ae.Z.getSingletonFactory(n);we.Z=c},703:function(at,we,P){var ae=P(3875),T=P.n(ae),t=P(1067);function e(u){return e=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(_){return typeof _}:function(_){return _&&typeof Symbol=="function"&&_.constructor===Symbol&&_!==Symbol.prototype?"symbol":typeof _},e(u)}function y(u,_){for(var m=0;m<_.length;m++){var n=_[m];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(u,n.key,n)}}var p=function(){function u(){(function(n,c){if(!(n instanceof c))throw new TypeError("Cannot call a class as a function")})(this,u)}var _,m;return _=u,m=[{key:"mixin",value:function(n,c,d){var I,k={};if(n)for(var q in c)c.hasOwnProperty(q)&&(I=c[q],q in n&&(n[q]===I||q in k&&k[q]===I)||(e(n[q])==="object"&&n[q]!==null?n[q]=u.mixin(n[q],I,d):n[q]=d(I)));return n}},{key:"clone",value:function(n){if(!n||e(n)!=="object")return n;var c;if(n instanceof Array){c=[];for(var d=0,I=n.length;d<I;++d)d in n&&c.push(u.clone(n[d]))}else c={};return u.mixin(c,n,u.clone)}},{key:"addAditionalQueryParameterToUrl",value:function(n,c){try{if(!c||c.length===0)return n;var d=new URL(n);return c.forEach(function(I){I.key&&I.value&&d.searchParams.set(I.key,I.value)}),d.href}catch{return n}}},{key:"parseHttpHeaders",value:function(n){var c={};if(!n)return c;for(var d=n.trim().split(`\r
+`),I=0,k=d.length;I<k;I++){var q=d[I],F=q.indexOf(": ");F>0&&(c[q.substring(0,F)]=q.substring(F+2))}return c}},{key:"generateUuid",value:function(){var n=new Date().getTime();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(c){var d=(n+16*Math.random())%16|0;return n=Math.floor(n/16),(c=="x"?d:3&d|8).toString(16)})}},{key:"generateHashCode",value:function(n){var c=0;if(n.length===0)return c;for(var d=0;d<n.length;d++)c=(c<<5)-c+n.charCodeAt(d),c|=0;return c}},{key:"getRelativeUrl",value:function(n,c){try{var d=new URL(n),I=new URL(c);if(d.protocol=I.protocol,d.origin!==I.origin)return c;var k=T().relative(d.pathname.substr(0,d.pathname.lastIndexOf("/")),I.pathname.substr(0,I.pathname.lastIndexOf("/"))),q=k.length===0?1:0;return k+=I.pathname.substr(I.pathname.lastIndexOf("/")+q,I.pathname.length-1),I.pathname.length<k.length?I.pathname:k}catch{return c}}},{key:"parseUserAgent",value:function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null;try{var c=n===null&&typeof navigator<"u"?navigator.userAgent.toLowerCase():"";return(0,t.UAParser)(c)}catch{return{}}}},{key:"stringHasProtocol",value:function(n){return/(http(s?)):\/\//i.test(n)}}],m&&y(_,m),u}();we.Z=p},2032:function(at,we,P){function ae(){return"4.7.4"}P.d(we,{e:function(){return ae}})},2230:function(at,we){function P(T,t){for(var e=0;e<t.length;e++){var y=t[e];y.enumerable=y.enumerable||!1,y.configurable=!0,"value"in y&&(y.writable=!0),Object.defineProperty(T,y.key,y)}}var ae=function(){function T(){(function(y,p){if(!(y instanceof p))throw new TypeError("Cannot call a class as a function")})(this,T)}var t,e;return t=T,(e=[{key:"extend",value:function(y,p){if(y){var u=!!p&&p.override,_=!!p&&p.publicOnly;for(var m in y)!y.hasOwnProperty(m)||this[m]&&!u||_&&y[m].indexOf("public_")===-1||(this[m]=y[m])}}}])&&P(t.prototype,e),T}();we.Z=ae},4351:function(at,we,P){function ae(p){return ae=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(u){return typeof u}:function(u){return u&&typeof Symbol=="function"&&u.constructor===Symbol&&u!==Symbol.prototype?"symbol":typeof u},ae(p)}function T(p,u){return T=Object.setPrototypeOf||function(_,m){return _.__proto__=m,_},T(p,u)}function t(p,u){return!u||ae(u)!=="object"&&typeof u!="function"?function(_){if(_===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return _}(p):u}function e(p){return e=Object.setPrototypeOf?Object.getPrototypeOf:function(u){return u.__proto__||Object.getPrototypeOf(u)},e(p)}var y=function(p){(function(c,d){if(typeof d!="function"&&d!==null)throw new TypeError("Super expression must either be null or a function");c.prototype=Object.create(d&&d.prototype,{constructor:{value:c,writable:!0,configurable:!0}}),d&&T(c,d)})(n,p);var u,_,m=(u=n,_=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var c,d=e(u);if(_){var I=e(this).constructor;c=Reflect.construct(d,arguments,I)}else c=d.apply(this,arguments);return t(this,c)});function n(){var c;return function(d,I){if(!(d instanceof I))throw new TypeError("Cannot call a class as a function")}(this,n),(c=m.call(this)).ATTEMPT_BACKGROUND_SYNC="attemptBackgroundSync",c.BUFFERING_COMPLETED="bufferingCompleted",c.BUFFER_CLEARED="bufferCleared",c.BYTES_APPENDED_END_FRAGMENT="bytesAppendedEndFragment",c.BUFFER_REPLACEMENT_STARTED="bufferReplacementStarted",c.CHECK_FOR_EXISTENCE_COMPLETED="checkForExistenceCompleted",c.CMSD_STATIC_HEADER="cmsdStaticHeader",c.CURRENT_TRACK_CHANGED="currentTrackChanged",c.DATA_UPDATE_COMPLETED="dataUpdateCompleted",c.INBAND_EVENTS="inbandEvents",c.INITIAL_STREAM_SWITCH="initialStreamSwitch",c.INIT_FRAGMENT_LOADED="initFragmentLoaded",c.INIT_FRAGMENT_NEEDED="initFragmentNeeded",c.INTERNAL_MANIFEST_LOADED="internalManifestLoaded",c.ORIGINAL_MANIFEST_LOADED="originalManifestLoaded",c.LOADING_COMPLETED="loadingCompleted",c.LOADING_PROGRESS="loadingProgress",c.LOADING_DATA_PROGRESS="loadingDataProgress",c.LOADING_ABANDONED="loadingAborted",c.MANIFEST_UPDATED="manifestUpdated",c.MEDIA_FRAGMENT_LOADED="mediaFragmentLoaded",c.MEDIA_FRAGMENT_NEEDED="mediaFragmentNeeded",c.QUOTA_EXCEEDED="quotaExceeded",c.SEGMENT_LOCATION_BLACKLIST_ADD="segmentLocationBlacklistAdd",c.SEGMENT_LOCATION_BLACKLIST_CHANGED="segmentLocationBlacklistChanged",c.SERVICE_LOCATION_BASE_URL_BLACKLIST_ADD="serviceLocationBlacklistAdd",c.SERVICE_LOCATION_BASE_URL_BLACKLIST_CHANGED="serviceLocationBlacklistChanged",c.SERVICE_LOCATION_LOCATION_BLACKLIST_ADD="serviceLocationLocationBlacklistAdd",c.SERVICE_LOCATION_LOCATION_BLACKLIST_CHANGED="serviceLocationLocationBlacklistChanged",c.SET_FRAGMENTED_TEXT_AFTER_DISABLED="setFragmentedTextAfterDisabled",c.SET_NON_FRAGMENTED_TEXT="setNonFragmentedText",c.SOURCE_BUFFER_ERROR="sourceBufferError",c.STREAMS_COMPOSED="streamsComposed",c.STREAM_BUFFERING_COMPLETED="streamBufferingCompleted",c.STREAM_REQUESTING_COMPLETED="streamRequestingCompleted",c.TEXT_TRACKS_QUEUE_INITIALIZED="textTracksQueueInitialized",c.TIME_SYNCHRONIZATION_COMPLETED="timeSynchronizationComplete",c.UPDATE_TIME_SYNC_OFFSET="updateTimeSyncOffset",c.URL_RESOLUTION_FAILED="urlResolutionFailed",c.VIDEO_CHUNK_RECEIVED="videoChunkReceived",c.WALLCLOCK_TIME_UPDATED="wallclockTimeUpdated",c.XLINK_ELEMENT_LOADED="xlinkElementLoaded",c.XLINK_READY="xlinkReady",c.SEEK_TARGET="seekTarget",c.SETTING_UPDATED_LIVE_DELAY="settingUpdatedLiveDelay",c.SETTING_UPDATED_LIVE_DELAY_FRAGMENT_COUNT="settingUpdatedLiveDelayFragmentCount",c.SETTING_UPDATED_CATCHUP_ENABLED="settingUpdatedCatchupEnabled",c.SETTING_UPDATED_PLAYBACK_RATE_MIN="settingUpdatedPlaybackRateMin",c.SETTING_UPDATED_PLAYBACK_RATE_MAX="settingUpdatedPlaybackRateMax",c}return n}(P(8342).Z);we.Z=y},8512:function(at,we,P){function ae(_){return ae=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(m){return typeof m}:function(m){return m&&typeof Symbol=="function"&&m.constructor===Symbol&&m!==Symbol.prototype?"symbol":typeof m},ae(_)}function T(_,m){if(!(_ instanceof m))throw new TypeError("Cannot call a class as a function")}function t(_,m){return t=Object.setPrototypeOf||function(n,c){return n.__proto__=c,n},t(_,m)}function e(_,m){return!m||ae(m)!=="object"&&typeof m!="function"?function(n){if(n===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return n}(_):m}function y(_){return y=Object.setPrototypeOf?Object.getPrototypeOf:function(m){return m.__proto__||Object.getPrototypeOf(m)},y(_)}var p=function(_){(function(I,k){if(typeof k!="function"&&k!==null)throw new TypeError("Super expression must either be null or a function");I.prototype=Object.create(k&&k.prototype,{constructor:{value:I,writable:!0,configurable:!0}}),k&&t(I,k)})(d,_);var m,n,c=(m=d,n=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var I,k=y(m);if(n){var q=y(this).constructor;I=Reflect.construct(k,arguments,q)}else I=k.apply(this,arguments);return e(this,I)});function d(){return T(this,d),c.apply(this,arguments)}return d}(P(4351).Z),u=new p;we.Z=u},8342:function(at,we){function P(T,t){for(var e=0;e<t.length;e++){var y=t[e];y.enumerable=y.enumerable||!1,y.configurable=!0,"value"in y&&(y.writable=!0),Object.defineProperty(T,y.key,y)}}var ae=function(){function T(){(function(y,p){if(!(y instanceof p))throw new TypeError("Cannot call a class as a function")})(this,T)}var t,e;return t=T,(e=[{key:"extend",value:function(y,p){if(y){var u=!!p&&p.override,_=!!p&&p.publicOnly;for(var m in y)!y.hasOwnProperty(m)||this[m]&&!u||_&&y[m].indexOf("public_")===-1||(this[m]=y[m])}}}])&&P(t.prototype,e),T}();we.Z=ae},9326:function(at,we,P){var ae=P(3186),T=P(7855),t=P(5448),e=P(8825),y=P(7387),p=P(1553);function u(_){var m,n,c,d,I,k=(_=_||{}).eventBus,q=_.debug,F=_.urlUtils,$=_.type,O=_.streamInfo,K=_.segmentsController,re=_.timelineConverter,H=_.baseURLController;function ee(){return $}function se(){c=null}function _e(ye,Pe,He){var tt,ve,Oe=H.resolve(He.path),_t={};return Oe&&Pe!==Oe.url&&F.isRelative(Pe)?(tt=Oe.url,ve=Oe.serviceLocation,_t=Oe.queryParams,Pe&&(tt=F.resolve(Pe,tt))):tt=Pe,!F.isRelative(tt)&&(ye.url=tt,ye.serviceLocation=ve,ye.queryParams=_t,!0)}function X(ye,Pe){if(Pe==null)return null;var He=new ae.Z,tt=Pe.representation,ve=tt.adaptation.period.mpd.manifest.Period_asArray[tt.adaptation.period.index].AdaptationSet_asArray[tt.adaptation.index].Representation_asArray[tt.index].bandwidth,Oe=Pe.media;return Oe=(0,y.vi)(Oe,"Number",Pe.replacementNumber),Oe=(0,y.vi)(Oe,"Time",Pe.replacementTime),Oe=(0,y.vi)(Oe,"Bandwidth",ve),Oe=(0,y.Aj)(Oe,tt.id),Oe=(0,y.eR)(Oe),He.mediaType=ee(),He.type=T.w.MEDIA_SEGMENT_TYPE,He.range=Pe.mediaRange,He.startTime=Pe.presentationStartTime,He.mediaStartTime=Pe.mediaStartTime,He.duration=Pe.duration,He.timescale=tt.timescale,He.availabilityStartTime=Pe.availabilityStartTime,He.availabilityEndTime=Pe.availabilityEndTime,He.availabilityTimeComplete=tt.availabilityTimeComplete,He.wallStartTime=Pe.wallStartTime,He.quality=tt.index,He.index=Pe.index,He.mediaInfo=ye,He.adaptationIndex=tt.adaptation.index,He.representationId=tt.id,_e(He,Oe,tt)?He:void 0}function Ae(ye,Pe,He){var tt=null;if(!Pe||!Pe.segmentInfoType)return tt;var ve=K.getSegmentByTime(Pe,He);return ve&&(c=ve,n.debug("Index for time "+He+" is "+ve.index),tt=X(ye,ve)),tt}function Le(ye,Pe,He){var tt=null,ve=K.getSegmentByIndex(Pe,He,c?c.mediaStartTime:-1);if(ve)tt=X(ye,ve),c=ve;else{if(d&&!I)return n.debug(ee()+" No segment found at index: "+He+". Wait for next loop"),null;I=!0}return tt}function Ye(){n.debug("Dynamic stream complete"),I=!0}return m={getCurrentIndex:function(){return c?c.index:-1},getInitRequest:function(ye,Pe){return Pe?function(He,tt,ve){var Oe=new ae.Z,_t=tt.adaptation.period,dt=_t.start;if(Oe.mediaType=ve,Oe.type=T.w.INIT_SEGMENT_TYPE,Oe.range=tt.range,Oe.availabilityStartTime=re.calcAvailabilityStartTimeFromPresentationTime(dt,tt,d),Oe.availabilityEndTime=re.calcAvailabilityEndTimeFromPresentationTime(dt+_t.duration,tt,d),Oe.quality=tt.index,Oe.mediaInfo=He,Oe.representationId=tt.id,_e(Oe,tt.initialization,tt))return Oe.url=(0,y.vi)(Oe.url,"Bandwidth",tt.bandwidth),Oe}(ye,Pe,ee()):null},getNextSegmentRequest:function(ye,Pe){return Pe&&Pe.segmentInfoType?Le(ye,Pe,c?c.index+1:0):null},getNextSegmentRequestIdempotent:function(ye,Pe){var He=c?c.index+1:0,tt=K.getSegmentByIndex(Pe,He,c?c.mediaStartTime:-1);return tt?X(ye,tt):null},getSegmentRequestForTime:Ae,getStreamId:function(){return O.id},getStreamInfo:function(){return O},getType:ee,getValidTimeAheadOfTargetTime:function(ye,Pe,He,tt){try{if(isNaN(ye)||!Pe||!He)return NaN;if(ye<0&&(ye=0),isNaN(tt)&&(tt=.5),Ae(Pe,He,ye))return ye;if(He.adaptation.period.start+He.adaptation.period.duration<ye)return NaN;for(var ve=isFinite(He.adaptation.period.duration)?He.adaptation.period.start+He.adaptation.period.duration:ye+30,Oe=Math.min(ye+tt,ve),_t=NaN,dt=null;Oe<=ve;){var ke=null;if(Oe<=ve&&(ke=Ae(Pe,He,Oe)),ke){_t=Oe,dt=ke;break}Oe+=tt}if(dt){var Je=dt.startTime+dt.duration;return ye>dt.startTime&&Je-ye>tt?ye:!isNaN(dt.startTime)&&ye<dt.startTime&&_t>dt.startTime?dt.startTime+.001:Math.min(Je-tt,_t)}return _t}catch{return NaN}},initialize:function(ye){d=ye,I=!1,K.initialize(ye)},isLastSegmentRequested:function(ye,Pe){return!ye||!c?!1:I?!0:!isFinite(ye.adaptation.period.duration)||c.presentationStartTime+c.duration>Pe?!1:ye.mediaFinishedInformation&&!isNaN(ye.mediaFinishedInformation.numberOfSegments)&&!isNaN(c.index)&&c.index>=ye.mediaFinishedInformation.numberOfSegments-1&&(!d||ye.segmentInfoType===p.Z.SEGMENT_TEMPLATE||d&&ye.segmentInfoType===p.Z.SEGMENT_LIST&&ye.adaptation.period.nextPeriodId)?!0:!!(d&&ye.adaptation.period.nextPeriodId&&ye.segmentInfoType===p.Z.SEGMENT_TIMELINE&&ye.mediaFinishedInformation&&!isNaN(ye.mediaFinishedInformation.mediaTimeOfLastSignaledSegment)&&c&&!isNaN(c.mediaStartTime)&&!isNaN(c.duration)&&c.mediaStartTime+c.duration>=ye.mediaFinishedInformation.mediaTimeOfLastSignaledSegment-.05)},repeatSegmentRequest:function(ye,Pe){return Pe&&Pe.segmentInfoType?Le(ye,Pe,c?c.index:0):null},reset:function(){se(),k.off(e.Z.DYNAMIC_TO_STATIC,Ye,m)}},n=q.getLogger(m),se(),k.on(e.Z.DYNAMIC_TO_STATIC,Ye,m),m}u.__dashjs_factory_name="DashHandler",we.Z=t.Z.getClassFactory(u)},1553:function(at,we){function P(T,t){for(var e=0;e<t.length;e++){var y=t[e];y.enumerable=y.enumerable||!1,y.configurable=!0,"value"in y&&(y.writable=!0),Object.defineProperty(T,y.key,y)}}var ae=new(function(){function T(){(function(y,p){if(!(y instanceof p))throw new TypeError("Cannot call a class as a function")})(this,T),this.init()}var t,e;return t=T,(e=[{key:"init",value:function(){this.BASE_URL="BaseURL",this.SEGMENT_BASE="SegmentBase",this.SEGMENT_TEMPLATE="SegmentTemplate",this.SEGMENT_LIST="SegmentList",this.SEGMENT_URL="SegmentURL",this.SEGMENT_TIMELINE="SegmentTimeline",this.SEGMENT_PROFILES="segmentProfiles",this.ADAPTATION_SET="AdaptationSet",this.REPRESENTATION="Representation",this.REPRESENTATION_INDEX="RepresentationIndex",this.SUB_REPRESENTATION="SubRepresentation",this.INITIALIZATION="Initialization",this.INITIALIZATION_MINUS="initialization",this.MPD="MPD",this.PERIOD="Period",this.ASSET_IDENTIFIER="AssetIdentifier",this.EVENT_STREAM="EventStream",this.ID="id",this.PROFILES="profiles",this.SERVICE_LOCATION="serviceLocation",this.RANGE="range",this.INDEX="index",this.MEDIA="media",this.BYTE_RANGE="byteRange",this.INDEX_RANGE="indexRange",this.MEDIA_RANGE="mediaRange",this.VALUE="value",this.CONTENT_TYPE="contentType",this.MIME_TYPE="mimeType",this.BITSTREAM_SWITCHING="BitstreamSwitching",this.BITSTREAM_SWITCHING_MINUS="bitstreamSwitching",this.CODECS="codecs",this.DEPENDENCY_ID="dependencyId",this.MEDIA_STREAM_STRUCTURE_ID="mediaStreamStructureId",this.METRICS="Metrics",this.METRICS_MINUS="metrics",this.REPORTING="Reporting",this.WIDTH="width",this.HEIGHT="height",this.SAR="sar",this.FRAMERATE="frameRate",this.AUDIO_SAMPLING_RATE="audioSamplingRate",this.MAXIMUM_SAP_PERIOD="maximumSAPPeriod",this.START_WITH_SAP="startWithSAP",this.MAX_PLAYOUT_RATE="maxPlayoutRate",this.CODING_DEPENDENCY="codingDependency",this.SCAN_TYPE="scanType",this.FRAME_PACKING="FramePacking",this.AUDIO_CHANNEL_CONFIGURATION="AudioChannelConfiguration",this.CONTENT_PROTECTION="ContentProtection",this.ESSENTIAL_PROPERTY="EssentialProperty",this.ESSENTIAL_PROPERTY_ASARRAY="EssentialProperty_asArray",this.SUPPLEMENTAL_PROPERTY="SupplementalProperty",this.SUPPLEMENTAL_PROPERTY_ASARRAY="SupplementalProperty_asArray",this.INBAND_EVENT_STREAM="InbandEventStream",this.PRODUCER_REFERENCE_TIME="ProducerReferenceTime",this.INBAND="inband",this.TYPE="type",this.ACCESSIBILITY="Accessibility",this.ROLE="Role",this.RATING="Rating",this.CONTENT_COMPONENT="ContentComponent",this.SUBSET="Subset",this.LANG="lang",this.VIEWPOINT="Viewpoint",this.VIEWPOINT_ASARRAY="Viewpoint_asArray",this.ROLE_ASARRAY="Role_asArray",this.REPRESENTATION_ASARRAY="Representation_asArray",this.PRODUCERREFERENCETIME_ASARRAY="ProducerReferenceTime_asArray",this.ACCESSIBILITY_ASARRAY="Accessibility_asArray",this.AUDIOCHANNELCONFIGURATION_ASARRAY="AudioChannelConfiguration_asArray",this.CONTENTPROTECTION_ASARRAY="ContentProtection_asArray",this.MAIN="main",this.DYNAMIC="dynamic",this.STATIC="static",this.MEDIA_PRESENTATION_DURATION="mediaPresentationDuration",this.MINIMUM_UPDATE_PERIOD="minimumUpdatePeriod",this.CODEC_PRIVATE_DATA="codecPrivateData",this.BANDWITH="bandwidth",this.SOURCE_URL="sourceURL",this.TIMESCALE="timescale",this.DURATION="duration",this.START_NUMBER="startNumber",this.PRESENTATION_TIME_OFFSET="presentationTimeOffset",this.AVAILABILITY_START_TIME="availabilityStartTime",this.AVAILABILITY_END_TIME="availabilityEndTime",this.TIMESHIFT_BUFFER_DEPTH="timeShiftBufferDepth",this.MAX_SEGMENT_DURATION="maxSegmentDuration",this.PRESENTATION_TIME="presentationTime",this.MIN_BUFFER_TIME="minBufferTime",this.MAX_SUBSEGMENT_DURATION="maxSubsegmentDuration",this.START="start",this.AVAILABILITY_TIME_OFFSET="availabilityTimeOffset",this.AVAILABILITY_TIME_COMPLETE="availabilityTimeComplete",this.CENC_DEFAULT_KID="cenc:default_KID",this.DVB_PRIORITY="dvb:priority",this.DVB_WEIGHT="dvb:weight",this.DVB_URL="dvb:url",this.DVB_MIMETYPE="dvb:mimeType",this.DVB_FONTFAMILY="dvb:fontFamily",this.SUGGESTED_PRESENTATION_DELAY="suggestedPresentationDelay",this.SERVICE_DESCRIPTION="ServiceDescription",this.SERVICE_DESCRIPTION_SCOPE="Scope",this.SERVICE_DESCRIPTION_LATENCY="Latency",this.SERVICE_DESCRIPTION_PLAYBACK_RATE="PlaybackRate",this.SERVICE_DESCRIPTION_OPERATING_QUALITY="OperatingQuality",this.SERVICE_DESCRIPTION_OPERATING_BANDWIDTH="OperatingBandwidth",this.PATCH_LOCATION="PatchLocation",this.PATCH_LOCATION_AS_ARRAY="PatchLocation_asArray",this.LOCATION="Location",this.LOCATION_AS_ARRAY="Location_asArray",this.PUBLISH_TIME="publishTime",this.ORIGINAL_PUBLISH_TIME="originalPublishTime",this.ORIGINAL_MPD_ID="mpdId",this.WALL_CLOCK_TIME="wallClockTime",this.PRESENTATION_TIME="presentationTime",this.LABEL="Label",this.GROUP_LABEL="GroupLabel",this.CONTENT_STEERING="ContentSteering",this.CONTENT_STEERING_AS_ARRAY="ContentSteering_asArray",this.DEFAULT_SERVICE_LOCATION="defaultServiceLocation",this.QUERY_BEFORE_START="queryBeforeStart",this.CLIENT_REQUIREMENT="clientRequirement",this.TTL="ttl",this.CONTENT_STEERING_RESPONSE={VERSION:"VERSION",TTL:"TTL",RELOAD_URI:"RELOAD-URI",PATHWAY_PRIORITY:"PATHWAY-PRIORITY",PATHWAY_CLONES:"PATHWAY-CLONES",BASE_ID:"BASE-ID",ID:"ID",URI_REPLACEMENT:"URI-REPLACEMENT",HOST:"HOST",PARAMS:"PARAMS"},this.PRODUCER_REFERENCE_TIME_TYPE={ENCODER:"encoder",CAPTURED:"captured",APPLICATION:"application"},this.SEGMENT_ALIGNMENT="segmentAlignment",this.SUB_SEGMENT_ALIGNMENT="subsegmentAlignment"}}])&&P(t.prototype,e),T}());we.Z=ae},7802:function(at,we,P){var ae=P(5448),T=P(1724),t=P(3636),e=P(1736),y=P(5246);function p(_){_=_||{};var m,n,c=this.context,d=_.dashConstants,I=_.type,k=_.segmentBaseController;function q(F){return F?F.segments?n[d.SEGMENT_BASE]:n[F.segmentInfoType]:null}return m={initialize:function(F){n[d.SEGMENT_TIMELINE]=(0,T.Z)(c).create(_,F),n[d.SEGMENT_TEMPLATE]=(0,t.Z)(c).create(_,F),n[d.SEGMENT_LIST]=(0,e.Z)(c).create(_,F),n[d.SEGMENT_BASE]=(0,y.Z)(c).create(_,F)},updateInitData:function(F,$){return $?Promise.resolve():k.getSegmentBaseInitSegment({representation:F,mediaType:I})},updateSegmentData:function(F,$){return $?Promise.resolve():k.getSegmentList({mimeType:F.mimeType,representation:F,mediaType:I})},getSegmentByIndex:function(F,$,O){var K=q(F);return K?K.getSegmentByIndex(F,$,O):null},getSegmentByTime:function(F,$){var O=q(F);return O?O.getSegmentByTime(F,$):null},getMediaFinishedInformation:function(F){var $=q(F);return $?$.getMediaFinishedInformation(F):{numberOfSegments:0,mediaTimeOfLastSignaledSegment:NaN}}},n={},m}p.__dashjs_factory_name="SegmentsController";var u=ae.Z.getClassFactory(p);we.Z=u},1736:function(at,we,P){var ae=P(5448),T=P(3393),t=P(7387);function e(p,u){var _=(p=p||{}).timelineConverter;function m(){if(!_||!_.hasOwnProperty("calcPeriodRelativeTimeFromMpdRelativeTime"))throw new Error(T.Z.MISSING_CONFIG_ERROR)}function n(c,d){if(m(),!c)return null;var I=c.adaptation.period.mpd.manifest.Period_asArray[c.adaptation.period.index].AdaptationSet_asArray[c.adaptation.index].Representation_asArray[c.index].SegmentList,k=I.SegmentURL_asArray.length,q=c&&!isNaN(c.startNumber)?c.startNumber:1,F=Math.max(q-1,0),$=Math.max(d-F,0),O=null;if($<k){var K=I.SegmentURL_asArray[$];(O=(0,t.NF)(_,u,c,d))&&(O.replacementTime=(q+d-1)*c.segmentDuration,O.media=K.media?K.media:"",O.mediaRange=K.mediaRange,O.indexRange=K.indexRange)}return O}return{getSegmentByIndex:n,getSegmentByTime:function(c,d){if(m(),!c)return null;var I=c.segmentDuration;if(isNaN(I))return null;var k=_.calcPeriodRelativeTimeFromMpdRelativeTime(c,d);return n(c,Math.floor(k/I))},getMediaFinishedInformation:function(c){var d={numberOfSegments:0,mediaTimeOfLastSignaledSegment:NaN};if(!c)return d;var I=c.adaptation.period.mpd.manifest.Period_asArray[c.adaptation.period.index].AdaptationSet_asArray[c.adaptation.index].Representation_asArray[c.index].SegmentList,k=c&&!isNaN(c.startNumber)?c.startNumber:1,q=Math.max(k-1,0);return d.numberOfSegments=q+I.SegmentURL_asArray.length,d}}}e.__dashjs_factory_name="ListSegmentsGetter";var y=ae.Z.getClassFactory(e);we.Z=y},5246:function(at,we,P){var ae=P(5448),T=P(3393);function t(y){var p=(y=y||{}).timelineConverter;function u(){if(!p||!p.hasOwnProperty("calcPeriodRelativeTimeFromMpdRelativeTime"))throw new Error(T.Z.MISSING_CONFIG_ERROR)}function _(m,n){if(u(),!m)return null;var c,d=m.segments?m.segments.length:-1;if(n<d&&(c=m.segments[n])&&c.index===n)return c;for(var I=0;I<d;I++)if((c=m.segments[I])&&c.index===n)return c;return null}return{getSegmentByIndex:_,getSegmentByTime:function(m,n){u();var c=function(d,I){if(!d)return-1;var k,q,F,$,O,K=d.segments,re=K?K.length:null,H=-1;if(K&&re>0){for(O=0;O<re;O++)if(F=(q=K[O]).presentationStartTime,I+(k=($=q.duration)/2)>=F&&I-k<F+$){H=q.index;break}}return H}(m,n);return _(m,c)},getMediaFinishedInformation:function(m){var n={numberOfSegments:0,mediaTimeOfLastSignaledSegment:NaN};return m&&m.segments&&(n.numberOfSegments=m.segments.length),n}}}t.__dashjs_factory_name="SegmentBaseGetter";var e=ae.Z.getClassFactory(t);we.Z=e},7387:function(at,we,P){P.d(we,{Aj:function(){return e},NF:function(){return _},TJ:function(){return m},eR:function(){return t},vi:function(){return y}});var ae=P(2011);function T(n,c){for(;n.length<c;)n="0"+n;return n}function t(n){return n&&n.split("$$").join("$")}function e(n,c){if(!c||!n||n.indexOf("$RepresentationID$")===-1)return n;var d=c.toString();return n.split("$RepresentationID$").join(d)}function y(n,c,d){var I,k,q,F,$,O,K=c.length,re=2;if(!n)return n;for(;;){if((I=n.indexOf("$"+c))<0||(k=n.indexOf("$",I+K))<0)return n;if((q=n.indexOf("%0",I+K))>I&&q<k)switch(F=n.charAt(k-1),$=parseInt(n.substring(q+re,k-1),10),F){case"d":case"i":case"u":O=T(d.toString(),$);break;case"x":O=T(d.toString(16),$);break;case"X":O=T(d.toString(16),$).toUpperCase();break;case"o":O=T(d.toString(8),$);break;default:return n}else O=d;n=n.substring(0,I)+O+n.substring(k+1)}}function p(n,c,d,I,k,q,F,$){var O,K=new ae.Z;return K.representation=n,K.duration=c,K.presentationStartTime=d,K.mediaStartTime=I,K.availabilityStartTime=k.calcAvailabilityStartTimeFromPresentationTime(q,n,F),K.availabilityEndTime=k.calcAvailabilityEndTimeFromPresentationTime(q+c,n,F),K.wallStartTime=k.calcWallTimeForSegment(K,F),K.replacementNumber=(O=$,K.representation.startNumber+O),K.index=$,K}function u(n,c,d,I){var k=c.adaptation.period;if(isFinite(k.duration)&&k.start+k.duration<=d.presentationStartTime)return!1;if(I){if(c.availabilityTimeOffset==="INF")return!0;var q=n.getClientReferenceTime();return d.availabilityStartTime.getTime()<=q&&(!isFinite(d.availabilityEndTime)||d.availabilityEndTime.getTime()>=q)}return!0}function _(n,c,d,I){var k,q,F;k=d.segmentDuration,isNaN(k)&&(k=d.adaptation.period.duration),q=parseFloat((d.adaptation.period.start+I*k).toFixed(5)),F=parseFloat((q+k).toFixed(5));var $=p(d,k,q,n.calcMediaTimeFromPresentationTime(q,d),n,F,c,I);return u(n,d,$,c)?$:null}function m(n,c,d,I,k,q,F,$,O,K){var re,H,ee=I/q,se=k/q;return re=n.calcPresentationTimeFromMediaTime(ee,d),u(n,d,H=p(d,se,re,ee,n,re+se,c,O),c)?(H.replacementTime=K||I,F=y(F,"Number",H.replacementNumber),F=y(F,"Time",H.replacementTime),H.media=F,H.mediaRange=$,H):null}},3636:function(at,we,P){var ae=P(5448),T=P(3393),t=P(7387);function e(p,u){var _=(p=p||{}).timelineConverter;function m(){if(!_||!_.hasOwnProperty("calcPeriodRelativeTimeFromMpdRelativeTime"))throw new Error(T.Z.MISSING_CONFIG_ERROR)}function n(c,d){if(m(),!c)return null;var I=c.adaptation.period.mpd.manifest.Period_asArray[c.adaptation.period.index].AdaptationSet_asArray[c.adaptation.index].Representation_asArray[c.index].SegmentTemplate;d=Math.max(d,0);var k=(0,t.NF)(_,u,c,d);if(k){k.replacementTime=Math.round((d-1)*c.segmentDuration*c.timescale,10);var q=I.media;q=(0,t.vi)(q,"Number",k.replacementNumber),q=(0,t.vi)(q,"Time",k.replacementTime),k.media=q}return k}return{getSegmentByIndex:n,getSegmentByTime:function(c,d){if(m(),!c)return null;var I=c.segmentDuration;if(isNaN(I))return null;var k=_.calcPeriodRelativeTimeFromMpdRelativeTime(c,d);return n(c,Math.floor(k/I))},getMediaFinishedInformation:function(c){var d={numberOfSegments:0,mediaTimeOfLastSignaledSegment:NaN};if(!c)return d;var I=c.segmentDuration;return isNaN(I)?d.numberOfSegments=1:d.numberOfSegments=Math.ceil(c.adaptation.period.duration/I),d}}}e.__dashjs_factory_name="TemplateSegmentsGetter";var y=ae.Z.getClassFactory(e);we.Z=y},1724:function(at,we,P){var ae=P(5448),T=P(3393),t=P(7387);function e(p,u){var _=(p=p||{}).timelineConverter,m=p.dashMetrics;function n(){if(!_)throw new Error(T.Z.MISSING_CONFIG_ERROR)}function c(I,k){var q,F,$,O,K,re,H,ee=I.adaptation.period.mpd.manifest.Period_asArray[I.adaptation.period.index].AdaptationSet_asArray[I.adaptation.index].Representation_asArray[I.index].SegmentTemplate||I.adaptation.period.mpd.manifest.Period_asArray[I.adaptation.period.index].AdaptationSet_asArray[I.adaptation.index].Representation_asArray[I.index].SegmentList,se=ee.SegmentTimeline,_e=ee.SegmentURL_asArray,X=0,Ae=-1;H=I.timescale;var Le=!1;for($=0,O=(q=se.S_asArray).length;$<O&&!Le;$++)for(re=0,(F=q[$]).hasOwnProperty("r")&&(re=F.r),F.hasOwnProperty("t")&&(X=F.t),re<0&&(re=d(I,q[$+1],F,H,X/H)),K=0;K<=re&&!Le;K++)(Le=k(X,ee,_e,F,H,++Ae,$))&&(I.segmentDuration=F.d/H),X+=F.d}function d(I,k,q,F,$){var O;if(k&&k.hasOwnProperty("t"))O=k.t/F;else try{var K=0;if(isNaN(I.adaptation.period.start)||isNaN(I.adaptation.period.duration)||!isFinite(I.adaptation.period.duration)){var re=m.getCurrentDVRInfo();K=isNaN(re.end)?0:re.end}else K=I.adaptation.period.start+I.adaptation.period.duration;O=_.calcMediaTimeFromPresentationTime(K,I),I.segmentDuration=q.d/F}catch{O=0}return Math.max(Math.ceil((O-$)/(q.d/F))-1,0)}return{getSegmentByIndex:function(I,k,q){if(n(),!I)return null;var F=null,$=!1;return c(I,function(O,K,re,H,ee,se,_e){if($||q<0){var X=K.media,Ae=H.mediaRange;return re&&(X=re[_e].media||"",Ae=re[_e].mediaRange),F=(0,t.TJ)(_,u,I,O,H.d,ee,X,Ae,se,H.tManifest),!0}return O>=q*ee-.5*H.d&&($=!0),!1}),F},getSegmentByTime:function(I,k){if(n(),!I)return null;k===void 0&&(k=null);var q=null,F=_.calcMediaTimeFromPresentationTime(k,I);return c(I,function($,O,K,re,H,ee,se){var _e=parseFloat((F*H).toPrecision(15));if(_e<$+re.d&&_e>=$){var X=O.media,Ae=re.mediaRange;return K&&(X=K[se].media||"",Ae=K[se].mediaRange),q=(0,t.TJ)(_,u,I,$,re.d,H,X,Ae,ee,re.tManifest),!0}return!1}),q},getMediaFinishedInformation:function(I){if(!I)return 0;var k,q,F,$,O,K,re,H=(I.adaptation.period.mpd.manifest.Period_asArray[I.adaptation.period.index].AdaptationSet_asArray[I.adaptation.index].Representation_asArray[I.index].SegmentTemplate||I.adaptation.period.mpd.manifest.Period_asArray[I.adaptation.period.index].AdaptationSet_asArray[I.adaptation.index].Representation_asArray[I.index].SegmentList).SegmentTimeline,ee=0,se=0,_e=0;for(re=I.timescale,$=(k=H.S_asArray).length,F=0;F<$;F++)for(K=0,(q=k[F]).hasOwnProperty("r")&&(K=q.r),q.hasOwnProperty("t")&&(se=(ee=q.t)/re),K<0&&(K=d(I,k[F+1],q,re,se)),O=0;O<=K;O++)_e++,se=(ee+=q.d)/re;return{numberOfSegments:_e,mediaTimeOfLastSignaledSegment:se}}}}e.__dashjs_factory_name="TimelineSegmentsGetter";var y=ae.Z.getClassFactory(e);we.Z=y},2011:function(at,we){we.Z=function P(){(function(ae,T){if(!(ae instanceof T))throw new TypeError("Cannot call a class as a function")})(this,P),this.indexRange=null,this.index=null,this.mediaRange=null,this.media=null,this.duration=NaN,this.replacementTime=null,this.replacementNumber=NaN,this.mediaStartTime=NaN,this.presentationStartTime=NaN,this.availabilityStartTime=NaN,this.availabilityEndTime=NaN,this.wallStartTime=NaN,this.representation=null}},2610:function(at,we){we.Z=function P(){(function(ae,T){if(!(ae instanceof T))throw new TypeError("Cannot call a class as a function")})(this,P),this.schemeIdUri="",this.value=""}},1139:function(at,we,P){P.d(we,{Z:function(){return cu}});var ae=P(452),T=P.n(ae),t=P(3393),e=P(1553),y=P(3860),p=P(5595),u=P(8512),_=P(5448),m=P(6398),n=P(8825);function c(){var i,r,l,E,R,A,h,w,L,Y,B,N,U,Z,ce,te,ue,de,G,ie,j,le,g,M,C,D=this.context,b=(0,p.Z)(D).getInstance();function ne(){x(),Z=!1,Y=0,B=0,ue=0,g=!1,de=!0,G=!1,M=!1,ie=NaN,te=NaN,h&&(b.off(u.Z.DATA_UPDATE_COMPLETED,qe,i),b.off(u.Z.LOADING_PROGRESS,kt,i),b.off(u.Z.MANIFEST_UPDATED,rt,i),b.off(u.Z.STREAMS_COMPOSED,fe,i),b.off(n.Z.PLAYBACK_ENDED,ut,i),b.off(n.Z.STREAM_INITIALIZING,Ge,i),b.off(n.Z.REPRESENTATION_SWITCH,Re,i),b.off(n.Z.BUFFER_LEVEL_STATE_CHANGED,st,i),lt(),h.removeEventListener("canplay",ht),h.removeEventListener("canplaythrough",gt),h.removeEventListener("play",qt),h.removeEventListener("waiting",Gt),h.removeEventListener("playing",an),h.removeEventListener("pause",un),h.removeEventListener("error",Dt),h.removeEventListener("seeking",Be),h.removeEventListener("seeked",ft),h.removeEventListener("timeupdate",$e),h.removeEventListener("progress",vt),h.removeEventListener("ratechange",wt),h.removeEventListener("loadedmetadata",Ht),h.removeEventListener("loadeddata",Yt),h.removeEventListener("stalled",jt),h.removeEventListener("ended",Kt),h.removeEventListener("volumechange",Jt)),L=null,h=null,N=null,U=null}function z(){var pe=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null;return parseFloat((oe(pe)-Te()).toFixed(5))}function oe(pe){var Ve=pe||N;return Ve.start+Ve.duration}function Q(){var pe=arguments.length>0&&arguments[0]!==void 0&&arguments[0];N&&h&&h.getElement()?(pe&&U&&Ne(Te()),h.play()):Z=!0}function x(){N&&h&&h.pause()}function J(pe){var Ve=arguments.length>1&&arguments[1]!==void 0&&arguments[1],St=arguments.length>2&&arguments[2]!==void 0&&arguments[2],Nt=arguments.length>3&&arguments[3]!==void 0&&arguments[3];if(N&&h&&h.getElement()){var ln=isNaN(ie)?h.getTime():ie;pe!==ln&&((j=St===!0)||(ie=pe),r.info("Requesting seek to time: "+pe+(j?" (internal)":"")),U&&Nt&&Ne(pe),h.setCurrentTime(pe,Ve))}}function he(){if(N&&h&&U){var pe=l&&l.hasVideoTrack()?t.Z.VIDEO:t.Z.AUDIO,Ve=R.getCurrentDVRInfo(pe);return Ve&&Ve.range?Ve.range.end:0}}function Ne(pe){var Ve=new Date(w.getClientReferenceTime()),St=A.getRegularPeriods()[0],Nt=w.calcPresentationTimeFromWallTime(Ve,St);Y=Nt-pe}function Te(){return N&&h?h.getTime():null}function Ce(){return N&&h?h.isPaused():null}function Ie(){return N&&h?h.isSeeking():null}function et(){return N&&h?h.isStalled():null}function nt(){return N&&h?h.getPlaybackRate():null}function We(){return N&&h?h.getEnded():null}function Xe(){return U}function Mt(){var pe=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null;if(!Ce()&&U&&h.getReadyState()!==0&&!Ie()&&!g){pe||(pe=l.hasVideoTrack()?t.Z.VIDEO:t.Z.AUDIO);var Ve=Te(),St=Ee(Ve,pe),Nt=!isNaN(St)&&St!==Ve;Nt&&!Ie()&&(et()||le||h.getReadyState()===1)&&(r.debug("UpdateCurrentTime: Seek to actual time: ".concat(St," from currentTime: ").concat(Ve)),J(St,!1,!1))}}function Ee(pe,Ve){var St=R.getCurrentDVRInfo(Ve),Nt=St?St.range:null;return Nt?pe>Nt.end?Math.max(Nt.end-Y,Nt.start):pe>0&&pe+.25<Nt.start&&Math.abs(pe-Nt.start)<31536e4?G?Math.max(Nt.end-Y,Nt.start):Nt.start:pe:NaN}function Fe(){L===null&&(L=setInterval(function(){(function(){if(b.trigger(u.Z.WALLCLOCK_TIME_UPDATED,{isDynamic:U,time:new Date}),Xe()){var pe=Date.now();(isNaN(te)||pe>te+C.get().streaming.liveUpdateTimeThresholdInMilliseconds)&&(l.addDVRMetric(),Ce()?function(){var Ve=Date.now();(!ce||Ve>ce+500)&&(ce=Ve,$e())}():Mt(),te=pe)}})()},C.get().streaming.wallclockTimeUpdateInterval))}function lt(){clearInterval(L),L=null}function qe(pe){var Ve=A.convertRepresentationToRepresentationInfo(pe.currentRepresentation),St=Ve?Ve.mediaInfo.streamInfo:null;St!==null&&N.id===St.id&&(N=St)}function ht(){b.trigger(u.Z.CAN_PLAY)}function gt(){b.trigger(u.Z.CAN_PLAY_THROUGH)}function st(pe){pe.streamId===l.getActiveStreamInfo().id&&(le=pe.state===y.Z.BUFFER_EMPTY,C.get().streaming.buffer.setStallState&&h.setStallState(pe.mediaType,pe.state===y.Z.BUFFER_EMPTY))}function qt(){r.info("Native video element event: play"),Mt(),Fe(),b.trigger(u.Z.PLAYBACK_STARTED,{startTime:Te()})}function Gt(){r.info("Native video element event: waiting"),b.trigger(u.Z.PLAYBACK_WAITING,{playingTime:Te()})}function an(){r.info("Native video element event: playing"),j=!1,b.trigger(u.Z.PLAYBACK_PLAYING,{playingTime:Te()})}function un(){r.info("Native video element event: pause"),b.trigger(u.Z.PLAYBACK_PAUSED,{ended:We()})}function Be(){if(!j){var pe=Te();isNaN(ie)||ie===pe||(pe=ie),ie=NaN,r.info("Seeking to: "+pe),Fe(),b.trigger(u.Z.PLAYBACK_SEEKING,{seekTime:pe,streamId:N.id})}}function ft(){r.info("Native video element event: seeked"),j=!1,b.trigger(u.Z.PLAYBACK_SEEKED)}function $e(){N&&b.trigger(u.Z.PLAYBACK_TIME_UPDATED,{timeToEnd:z(),time:Te(),streamId:N.id})}function vt(){b.trigger(u.Z.PLAYBACK_PROGRESS,{streamId:N.id})}function wt(){var pe=nt();r.info("Native video element event: ratechange: ",pe),b.trigger(u.Z.PLAYBACK_RATE_CHANGED,{playbackRate:pe})}function Ht(){r.info("Native video element event: loadedmetadata"),b.trigger(u.Z.PLAYBACK_METADATA_LOADED),Fe()}function Yt(){r.info("Native video element event: loadeddata"),b.trigger(u.Z.PLAYBACK_LOADED_DATA)}function Kt(){r.info("Native video element event: ended"),x(),lt();var pe=l?l.getActiveStreamInfo():null;pe&&b.trigger(u.Z.PLAYBACK_ENDED,{isLast:pe.isLast})}function Jt(){b.trigger(u.Z.PLAYBACK_VOLUME_CHANGED)}function ut(pe){if(L&&pe.isLast){r.info("onPlaybackEnded -- PLAYBACK_ENDED but native video element didn't fire ended");var Ve=pe.seekTime?pe.seekTime:oe();h.setCurrentTime(Ve),x(),lt()}}function Dt(pe){var Ve=pe.target||pe.srcElement;b.trigger(u.Z.PLAYBACK_ERROR,{error:Ve.error})}function xt(){U=!1}function kt(pe){if(pe.stream===!1&&G&&!isNaN(pe.request.duration)){var Ve=1.2*pe.request.duration;Ve>Y&&(r.warn("Browser does not support fetch API with StreamReader. Increasing live delay to be 20% higher than segment duration:",Ve.toFixed(2)),Y=Ve,B=Ve)}}function jt(pe){b.trigger(u.Z.PLAYBACK_STALLED,{e:pe})}function Ge(pe){var Ve;(Ve=pe.mediaInfo)&&Ve.supplementalProperties&&Ve.supplementalProperties[t.Z.SUPPLEMENTAL_PROPERTY_DVB_LL_SCHEME]&&Ve.supplementalProperties[t.Z.SUPPLEMENTAL_PROPERTY_DVB_LL_SCHEME].value==="true"&&(r.debug("Low Latency critical SupplementalProperty set: Enabling low Latency"),G=!0)}function Re(pe){var Ve=l.getActiveStreamInfo();pe&&Ve&&pe.currentRepresentation&&pe.streamId&&pe.streamId===Ve.id&&pe.mediaType&&(pe.mediaType===t.Z.VIDEO||pe.mediaType===t.Z.AUDIO)&&(de=pe.currentRepresentation.availabilityTimeComplete,(G=!de)&&!M&&(M=!0))}function rt(){g=!0}function fe(){g=!1}return i={initialize:function(pe,Ve){N=pe,Ve!==!0&&(h.addEventListener("canplay",ht),h.addEventListener("canplaythrough",gt),h.addEventListener("play",qt),h.addEventListener("waiting",Gt),h.addEventListener("playing",an),h.addEventListener("pause",un),h.addEventListener("error",Dt),h.addEventListener("seeking",Be),h.addEventListener("seeked",ft),h.addEventListener("timeupdate",$e),h.addEventListener("progress",vt),h.addEventListener("ratechange",wt),h.addEventListener("loadedmetadata",Ht),h.addEventListener("loadeddata",Yt),h.addEventListener("stalled",jt),h.addEventListener("ended",Kt),h.addEventListener("volumechange",Jt),U=N.manifestInfo.isDynamic,le=!1,j=!1,b.on(u.Z.DATA_UPDATE_COMPLETED,qe,i),b.on(u.Z.LOADING_PROGRESS,kt,i),b.on(u.Z.MANIFEST_UPDATED,rt,i),b.on(u.Z.STREAMS_COMPOSED,fe,i),b.on(n.Z.PLAYBACK_ENDED,ut,i,{priority:p.Z.EVENT_PRIORITY_HIGH}),b.on(n.Z.STREAM_INITIALIZING,Ge,i),b.on(n.Z.REPRESENTATION_SWITCH,Re,i),b.on(n.Z.BUFFER_LEVEL_STATE_CHANGED,st,i),b.on(n.Z.DYNAMIC_TO_STATIC,xt,i),Z&&(Z=!1,Q()))},setConfig:function(pe){pe&&(pe.streamController&&(l=pe.streamController),pe.serviceDescriptionController&&(E=pe.serviceDescriptionController),pe.dashMetrics&&(R=pe.dashMetrics),pe.adapter&&(A=pe.adapter),pe.videoModel&&(h=pe.videoModel),pe.timelineConverter&&(w=pe.timelineConverter),pe.settings&&(C=pe.settings))},getTimeToStreamEnd:z,getBufferLevel:function(){var pe=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,Ve=null;return l.getActiveStreamProcessors().forEach(function(St){if(!pe||pe.length===0||pe.indexOf(St.getType())===-1){var Nt=St.getBufferLevel();Ve=Ve===null?Nt:Math.min(Ve,Nt)}}),Ve},getPlaybackStalled:function(){return le},getTime:Te,getLowLatencyModeEnabled:function(){return G},getInitialCatchupModeActivated:function(){return M},getIsManifestUpdateInProgress:function(){return g},getPlaybackRate:nt,getPlayedRanges:function(){return N&&h?h.getPlayedRanges():null},getEnded:We,getIsDynamic:Xe,getStreamController:function(){return l},computeAndSetLiveDelay:function(pe,Ve){var St,Nt,ln,bn=!isNaN(pe)&&isFinite(pe)?pe:NaN,Zn=A.getSuggestedPresentationDelay(),Sn=E.getServiceDescriptionSettings();return St=isNaN(C.get().streaming.delay.liveDelay)?C.get().streaming.delay.liveDelayFragmentCount===null||isNaN(C.get().streaming.delay.liveDelayFragmentCount)||isNaN(bn)?Sn&&!isNaN(Sn.liveDelay)&&Sn.liveDelay>0?Sn.liveDelay:C.get().streaming.delay.useSuggestedPresentationDelay===!0&&Zn!==null&&!isNaN(Zn)&&Zn>0?Zn:isNaN(bn)?Ve&&!isNaN(Ve.minBufferTime)?4*Ve.minBufferTime:4*N.manifestInfo.minBufferTime:4*bn:bn*C.get().streaming.delay.liveDelayFragmentCount:C.get().streaming.delay.liveDelay,(ln=A.getAvailabilityStartTime())!==null&&(ue=ln),Nt=Ve&&Ve.dvrWindowSize>0?Math.min(St,Ve.dvrWindowSize):St,Y=Nt,B=Nt,Nt},getLiveDelay:function(){return Y},getOriginalLiveDelay:function(){return B},getCurrentLiveLatency:function(){if(!U||isNaN(ue))return NaN;var pe=Te();if(isNaN(pe)||pe===0)return 0;var Ve=new Date().getTime()+1e3*w.getClientTimeOffset();return Math.max(((Ve-ue-1e3*pe)/1e3).toFixed(3),0)},play:Q,isPaused:Ce,isStalled:et,pause:x,isSeeking:Ie,getStreamEndTime:oe,seek:J,seekToOriginalLive:function(){var pe=arguments.length>0&&arguments[0]!==void 0&&arguments[0],Ve=arguments.length>1&&arguments[1]!==void 0&&arguments[1],St=arguments.length>2&&arguments[2]!==void 0&&arguments[2],Nt=he();if(Nt!==0){var ln=Nt-(Y=B);J(ln,pe,Ve,St)}},seekToCurrentLive:function(){var pe=arguments.length>0&&arguments[0]!==void 0&&arguments[0],Ve=arguments.length>1&&arguments[1]!==void 0&&arguments[1],St=arguments.length>2&&arguments[2]!==void 0&&arguments[2],Nt=he();if(Nt!==0){var ln=Nt-Y;J(ln,pe,Ve,St)}},reset:ne,updateCurrentTime:Mt,getAvailabilityStartTime:function(){return ue}},r=(0,m.Z)(D).getInstance().getLogger(i),ne(),i}c.__dashjs_factory_name="PlaybackController";var d=_.Z.getSingletonFactory(c),I=P(3186),k="loading",q="executed",F="failed";function $(i){var r,l,E,R,A=(i=i||{}).eventBus,h=i.events,w=i.dashMetrics,L=i.fragmentLoader,Y=i.debug,B=i.streamInfo,N=i.type;function U(g){var M;return!!g&&(M=!1,E.some(function(C){if(D=g,b=C,!isNaN(D.index)&&D.startTime===b.startTime&&D.adaptationIndex===b.adaptationIndex&&D.type===b.type||function(ne,z){return isNaN(ne.index)&&isNaN(z.index)&&ne.quality===z.quality}(g,C)||function(ne,z){return ne.action===I.Z.ACTION_COMPLETE&&ne.action===z.action}(g,C))return M=!0;var D,b}),M)}function Z(g){return isNaN(g.duration)?.25:Math.min(g.duration/8,.5)}function ce(g){E=E.filter(function(M){var C=Z(M);return isNaN(M.startTime)||g!==void 0&&M.startTime>=g-C})}function te(g,M){M<=g+.5||(E=E.filter(function(C){var D=Z(C);return isNaN(C.startTime)||C.startTime>=M-D||isNaN(C.duration)||C.startTime+C.duration<=g+D}))}function ue(g,M,C){for(var D=g.length-1;D>=0;D--){var b=g[D],ne=b.startTime,z=ne+b.duration;if(C=isNaN(C)?Z(b):C,!isNaN(ne)&&!isNaN(z)&&M+C>=ne&&M-C<z||isNaN(ne)&&isNaN(M))return b}return null}function de(g,M){w.addSchedulingInfo(g,M),w.addRequestsQueue(g.mediaType,R,E)}function G(g){g.sender===L&&(R.splice(R.indexOf(g.request),1),g.response&&!g.error&&E.push(g.request),de(g.request,g.error?F:q),A.trigger(h.FRAGMENT_LOADING_COMPLETED,{request:g.request,response:g.response,error:g.error,sender:this},{streamId:B.id,mediaType:N}))}function ie(g){g.sender===L&&A.trigger(h.FRAGMENT_LOADING_PROGRESS,{request:g.request,response:g.response,error:g.error,sender:this},{streamId:B.id,mediaType:N})}function j(g){g.sender===L&&A.trigger(h.FRAGMENT_LOADING_ABANDONED,{request:g.request},{streamId:B.id,mediaType:N})}function le(){E=[],R=[]}return r={getStreamId:function(){return B.id},getType:function(){return N},getRequests:function(g){var M=g?g.state instanceof Array?g.state:[g.state]:[],C=[];return M.forEach(function(D){var b=function(ne){var z;switch(ne){case k:z=R;break;case q:z=E;break;default:z=[]}return z}(D);C=C.concat(function(ne,z){return z.hasOwnProperty("time")?[ue(ne,z.time,z.threshold)]:ne.filter(function(oe){for(var Q in z)if(Q!=="state"&&z.hasOwnProperty(Q)&&oe[Q]!=z[Q])return!1;return!0})}(b,g))}),C},isFragmentLoaded:U,isFragmentLoadedOrPending:function(g){var M,C=!1,D=0;if(!(C=U(g)))for(D=0;D<R.length;D++)M=R[D],g.url===M.url&&g.startTime===M.startTime&&(C=!0);return C},removeExecutedRequestsBeforeTime:ce,removeExecutedRequestsAfterTime:function(g){E=E.filter(function(M){return isNaN(M.startTime)||g!==void 0&&M.startTime<g})},syncExecutedRequestsWithBufferedRange:function(g,M){if(g&&g.length!==0){for(var C=0,D=0,b=g.length;D<b;D++)te(C,g.start(D)),C=g.end(D);M>0&&te(C,M)}else ce()},abortRequests:function(){l.debug("abort requests"),L.abort(),R=[]},executeRequest:function(g){g.action===I.Z.ACTION_DOWNLOAD?(de(g,k),R.push(g),function(M){A.trigger(h.FRAGMENT_LOADING_STARTED,{request:M},{streamId:B.id,mediaType:N}),L.load(M)}(g)):l.warn("Unknown request action.")},reset:function(){A.off(h.LOADING_COMPLETED,G,this),A.off(h.LOADING_DATA_PROGRESS,ie,this),A.off(h.LOADING_ABANDONED,j,this),L&&L.reset(),le()},resetInitialSettings:le,addExecutedRequest:function(g){E.push(g)}},l=Y.getLogger(r),le(),A.on(h.LOADING_COMPLETED,G,r),A.on(h.LOADING_DATA_PROGRESS,ie,r),A.on(h.LOADING_ABANDONED,j,r),r}$.__dashjs_factory_name="FragmentModel";var O=_.Z.getClassFactory($);O.FRAGMENT_MODEL_LOADING=k,O.FRAGMENT_MODEL_EXECUTED=q,O.FRAGMENT_MODEL_CANCELED="canceled",O.FRAGMENT_MODEL_FAILED=F,_.Z.updateClassFactory($.__dashjs_factory_name,O);var K=O,re=P(5459);function H(i){return H=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(r){return typeof r}:function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},H(i)}function ee(i,r){return ee=Object.setPrototypeOf||function(l,E){return l.__proto__=E,l},ee(i,r)}function se(i,r){return!r||H(r)!=="object"&&typeof r!="function"?function(l){if(l===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return l}(i):r}function _e(i){return _e=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},_e(i)}var X=new(function(i){(function(A,h){if(typeof h!="function"&&h!==null)throw new TypeError("Super expression must either be null or a function");A.prototype=Object.create(h&&h.prototype,{constructor:{value:A,writable:!0,configurable:!0}}),h&&ee(A,h)})(R,i);var r,l,E=(r=R,l=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var A,h=_e(r);if(l){var w=_e(this).constructor;A=Reflect.construct(h,arguments,w)}else A=h.apply(this,arguments);return se(this,A)});function R(){var A;return function(h,w){if(!(h instanceof w))throw new TypeError("Cannot call a class as a function")}(this,R),(A=E.call(this)).MANIFEST_LOADER_PARSING_FAILURE_ERROR_CODE=10,A.MANIFEST_LOADER_LOADING_FAILURE_ERROR_CODE=11,A.XLINK_LOADER_LOADING_FAILURE_ERROR_CODE=12,A.SEGMENT_BASE_LOADER_ERROR_CODE=15,A.TIME_SYNC_FAILED_ERROR_CODE=16,A.FRAGMENT_LOADER_LOADING_FAILURE_ERROR_CODE=17,A.FRAGMENT_LOADER_NULL_REQUEST_ERROR_CODE=18,A.URL_RESOLUTION_FAILED_GENERIC_ERROR_CODE=19,A.APPEND_ERROR_CODE=20,A.REMOVE_ERROR_CODE=21,A.DATA_UPDATE_FAILED_ERROR_CODE=22,A.CAPABILITY_MEDIASOURCE_ERROR_CODE=23,A.CAPABILITY_MEDIAKEYS_ERROR_CODE=24,A.DOWNLOAD_ERROR_ID_MANIFEST_CODE=25,A.DOWNLOAD_ERROR_ID_SIDX_CODE=26,A.DOWNLOAD_ERROR_ID_CONTENT_CODE=27,A.DOWNLOAD_ERROR_ID_INITIALIZATION_CODE=28,A.DOWNLOAD_ERROR_ID_XLINK_CODE=29,A.MANIFEST_ERROR_ID_PARSE_CODE=31,A.MANIFEST_ERROR_ID_NOSTREAMS_CODE=32,A.TIMED_TEXT_ERROR_ID_PARSE_CODE=33,A.MANIFEST_ERROR_ID_MULTIPLEXED_CODE=34,A.MEDIASOURCE_TYPE_UNSUPPORTED_CODE=35,A.MANIFEST_LOADER_PARSING_FAILURE_ERROR_MESSAGE="parsing failed for ",A.MANIFEST_LOADER_LOADING_FAILURE_ERROR_MESSAGE="Failed loading manifest: ",A.XLINK_LOADER_LOADING_FAILURE_ERROR_MESSAGE="Failed loading Xlink element: ",A.SEGMENTS_UPDATE_FAILED_ERROR_MESSAGE="Segments update failed",A.SEGMENTS_UNAVAILABLE_ERROR_MESSAGE="no segments are available yet",A.SEGMENT_BASE_LOADER_ERROR_MESSAGE="error loading segment ranges from sidx",A.TIME_SYNC_FAILED_ERROR_MESSAGE="Failed to synchronize client and server time",A.FRAGMENT_LOADER_NULL_REQUEST_ERROR_MESSAGE="request is null",A.URL_RESOLUTION_FAILED_GENERIC_ERROR_MESSAGE="Failed to resolve a valid URL",A.APPEND_ERROR_MESSAGE="chunk is not defined",A.REMOVE_ERROR_MESSAGE="Removing data from the SourceBuffer",A.DATA_UPDATE_FAILED_ERROR_MESSAGE="Data update failed",A.CAPABILITY_MEDIASOURCE_ERROR_MESSAGE="mediasource is not supported",A.CAPABILITY_MEDIAKEYS_ERROR_MESSAGE="mediakeys is not supported",A.TIMED_TEXT_ERROR_MESSAGE_PARSE="parsing error :",A.MEDIASOURCE_TYPE_UNSUPPORTED_MESSAGE="Error creating source buffer of type : ",A}return R}(P(2230).Z)),Ae=P(1264),Le=P(7855);function Ye(i){var r,l,E,R,A,h,w=this.context,L=(0,Ae.Z)(w).getInstance(),Y=i.textController,B=i.eventBus,N=[],U=[],Z=!1,ce=i.mediaSource,te=null;function ue(b){return new Promise(function(ne){D(function(){R.changeType&&R.changeType(b),ne()})})}function de(b){return R=Y.getTextSourceBuffer(b),Promise.resolve()}function G(){if(typeof R.addEventListener=="function")try{R.addEventListener("updateend",M,!1),R.addEventListener("error",C,!1),R.addEventListener("abort",C,!1)}catch{h=setInterval(M,50)}else h=setInterval(M,50)}function ie(b){return new Promise(function(ne){R&&L.get().streaming.buffer.useAppendWindow?D(function(){try{if(!R)return void ne();var z=ce.duration,oe=0;b&&!isNaN(b.start)&&!isNaN(b.duration)&&isFinite(b.duration)&&(z=b.start+b.duration),b&&!isNaN(b.start)&&(oe=b.start),R.appendWindowEnd===z&&R.appendWindowStart===oe||(R.appendWindowStart=0,R.appendWindowEnd=z+.01,R.appendWindowStart=Math.max(oe-.1,0),E.debug("Updated append window for ".concat(A.type,". Set start to ").concat(R.appendWindowStart," and end to ").concat(R.appendWindowEnd))),ne()}catch{E.warn("Failed to set append window"),ne()}}):ne()})}function j(b){return new Promise(function(ne){R?D(function(){try{R.timestampOffset===b||isNaN(b)||(R.timestampOffset=b,E.debug("Set MSE timestamp offset to ".concat(b))),ne()}catch{ne()}}):ne()})}function le(){if(!Z&&U.length>0){Z=!0;var b=U[0];U.splice(0,1);var ne=function(){Z=!1,U.length>0&&le.call(this),b&&b.data&&b.data.segmentType&&b.data.segmentType!==Le.w.INIT_SEGMENT_TYPE&&delete b.data.bytes,b.promise.resolve({chunk:b.data})};try{te=b.request,b.data.bytes.byteLength===0?ne.call(this):(R.appendBuffer?R.appendBuffer(b.data.bytes):R.append(b.data.bytes,b.data),D(ne.bind(this)))}catch(z){E.fatal('SourceBuffer append failed "'+z+'"'),U.length>0?le():Z=!1,delete b.data.bytes,b.promise.reject({chunk:b.data,error:new re.Z(z.code,z.message)})}}}function g(){N.length>0&&(R.updating||(N.shift()(),g()))}function M(){R.updating||g()}function C(b){var ne,z,oe=b.target||{};ne=u.Z.SOURCE_BUFFER_ERROR,z={error:oe,lastRequestAppended:te},B.trigger(ne,z,{streamId:A.streamInfo.id,mediaType:l})}function D(b){N.push(b),R.updating||g()}return r={getType:function(){return l},getAllBufferRanges:function(){try{return R.buffered}catch(b){return E.error("getAllBufferRanges exception: "+b.message),null}},getBuffer:function(){return R},append:function(b){var ne=this,z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return new Promise(function(oe,Q){b?(U.push({data:b,promise:{resolve:oe,reject:Q},request:z}),D(le.bind(ne))):Q({chunk:b,error:new re.Z(X.APPEND_ERROR_CODE,X.APPEND_ERROR_MESSAGE)})})},remove:function(b){return new Promise(function(ne,z){var oe=b.start,Q=b.end;oe>=0&&Q>oe?D(function(){try{R.remove(oe,Q),D(function(){ne({from:oe,to:Q,unintended:!1}),b.resolve&&b.resolve()})}catch(x){z({from:oe,to:Q,unintended:!1,error:new re.Z(X.REMOVE_ERROR_CODE,X.REMOVE_ERROR_MESSAGE)}),b.reject&&b.reject(x)}}):ne()})},abort:function(){return new Promise(function(b){try{U=[],ce.readyState==="open"?D(function(){try{R&&R.abort(),b()}catch{b()}}):(R&&R.setTextTrack&&ce.readyState==="ended"&&R.abort(),b())}catch{b()}})},reset:function(){if(R){try{N=[],function(){try{typeof R.removeEventListener=="function"&&(R.removeEventListener("updateend",M,!1),R.removeEventListener("error",C,!1),R.removeEventListener("abort",C,!1)),clearInterval(h)}catch(b){E.error(b)}}(),Z=!1,U=[],R.getClassName&&R.getClassName()==="TextSourceBuffer"||(E.debug("Removing sourcebuffer from media source"),ce.removeSourceBuffer(R))}catch{}R=null}te=null},updateTimestampOffset:j,initializeForStreamSwitch:function(b,ne,z){l=(A=b).type;var oe=A.codec;(function(x){R=x.getBuffer()})(z),G();var Q=[];return Q.push(new Promise(function(x){D(function(){var J=R.appendWindowStart,he=R.appendWindowEnd;R&&(R.abort(),R.appendWindowStart=J,R.appendWindowEnd=he),x()})})),Q.push(ie(A.streamInfo)),L.get().streaming.buffer.useChangeTypeForTrackSwitch&&Q.push(ue(oe)),ne&&ne.MSETimeOffset!==void 0&&Q.push(j(ne.MSETimeOffset)),Promise.all(Q)},initializeForFirstUse:function(b,ne,z){l=(A=ne).type;var oe=A.codec;try{if(oe.match(/application\/mp4;\s*codecs="(stpp|wvtt).*"/i))return de(b);R=ce.addSourceBuffer(oe),G();var Q=[];return Q.push(ie(A.streamInfo)),z&&z.MSETimeOffset!==void 0&&Q.push(j(z.MSETimeOffset)),Promise.all(Q)}catch(x){return A.type==t.Z.TEXT&&!A.isFragmented||oe.indexOf('codecs="stpp')!==-1||oe.indexOf('codecs="vtt')!==-1||oe.indexOf("text/vtt")!==-1?de(b):Promise.reject(x)}},updateAppendWindow:ie,changeType:ue},E=(0,m.Z)(w).getInstance().getLogger(r),r}Ye.__dashjs_factory_name="SourceBufferSink";var ye=_.Z.getClassFactory(Ye);function Pe(i){var r,l,E,R=this.context,A=[],h=i;function w(L,Y){return A=A.filter(function(B){return!((isNaN(Y)||B.start<Y)&&(isNaN(L)||B.end>L))}),Promise.resolve()}return r={getAllBufferRanges:function(){for(var L=[],Y=0;Y<A.length;Y++){var B=A[Y];L.length===0||B.start>L[L.length-1].end?L.push({start:B.start,end:B.end}):L[L.length-1].end=B.end}var N={start:function(U){return L[U].start},end:function(U){return L[U].end}};return Object.defineProperty(N,"length",{get:function(){return L.length}}),N},append:function(L){return L.segmentType!=="InitializationSegment"?(A.push(L),A.sort(function(Y,B){return Y.start-B.start}),E=null):E=L,l.debug("PreBufferSink appended chunk s: "+L.start+"; e: "+L.end),h&&h({chunk:L}),Promise.resolve()},remove:w,abort:function(){return Promise.resolve()},discharge:function(L,Y){var B=function(N,U){return A.filter(function(Z){return(isNaN(U)||Z.start<U)&&(isNaN(N)||Z.end>N)})}(L,Y);return E&&(B.push(E),E=null),w(L,Y),B},reset:function(){A=[],E=null,h=null},updateTimestampOffset:function(){return Promise.resolve()},waitForUpdateEnd:function(L){L()},getBuffer:function(){return this}},l=(0,m.Z)(R).getInstance().getLogger(r),r}Pe.__dashjs_factory_name="PreBufferSink";var He=_.Z.getClassFactory(Pe);function tt(){var i={};return{save:function(r){var l=r.streamId,E=r.representationId;i[l]=i[l]||{},i[l][E]=r},extract:function(r,l){return i&&i[r]&&i[r][l]?i[r][l]:null},reset:function(){i={}}}}tt.__dashjs_factory_name="InitCache";var ve=_.Z.getSingletonFactory(tt),Oe=.01,_t="BufferController";function dt(i){i=i||{};var r,l,E,R,A,h,w,L,Y,B,N,U,Z,ce,te,ue,de,G,ie,j,le,g=this.context,M=(0,p.Z)(g).getInstance(),C=i.errHandler,D=i.fragmentModel,b=i.representationController,ne=i.adapter,z=i.textController,oe=i.abrController,Q=i.playbackController,x=i.streamInfo,J=i.type,he=i.settings;function Ne(Re){var rt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return new Promise(function(fe,pe){h=Re,Y&&rt&&typeof Y.discharge=="function"?(B=Y,Ce(rt).then(function(){fe()}).catch(function(Ve){pe(Ve)})):fe()})}function Te(Re){return ne.convertRepresentationToRepresentationInfo(b.getRepresentationForQuality(Re))}function Ce(Re){var rt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return new Promise(function(fe,pe){G&&Re?h?(N=!1,et(Re,rt).then(function(Ve){fe(Ve)}).catch(function(Ve){pe(Ve)})):(N=!0,Ie().then(function(Ve){fe(Ve)}).catch(function(Ve){pe(Ve)})):fe(null)})}function Ie(){var Re=this;return new Promise(function(rt,fe){var pe=oe.getQualityFor(J,x.id);Y=He(g).create(Ee.bind(Re)),Ht(Te(pe)).then(function(){rt(Y)}).catch(function(){fe()})})}function et(Re,rt){return new Promise(function(fe,pe){var Ve=oe.getQualityFor(J,x.id);Y=ye(g).create({mediaSource:h,textController:z,eventBus:M}),function(St,Nt,ln){var bn=Te(ln);return Nt&&Nt[J]&&(J===t.Z.VIDEO||J===t.Z.AUDIO)?Y.initializeForStreamSwitch(St,bn,Nt[J]):Y.initializeForFirstUse(x,St,bn)}(Re,rt,Ve).then(function(){return Ht(Te(Ve))}).then(function(){fe(Y)}).catch(function(St){l.fatal("Caught error on create SourceBuffer: "+St),C.error(new re.Z(X.MEDIASOURCE_TYPE_UNSUPPORTED_CODE,X.MEDIASOURCE_TYPE_UNSUPPORTED_MESSAGE+J)),pe(St)})})}function nt(Re){he.get().streaming.cacheInitSegments&&(l.info("Init fragment finished loading saving to",J+"'s init cache"),G.save(Re.chunk)),l.debug("Append Init fragment",J," with representationId:",Re.chunk.representationId," and quality:",Re.chunk.quality,", data size:",Re.chunk.bytes.byteLength),Xe(Re.chunk)}function We(Re){Xe(Re.chunk,Re.request)}function Xe(Re){var rt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;Y&&(Y.append(Re,rt).then(function(fe){Ee(fe)}).catch(function(fe){Ee(fe)}),Re.mediaInfo.type===t.Z.VIDEO&&jt(u.Z.VIDEO_CHUNK_RECEIVED,{chunk:Re}))}function Mt(Re){if(Re&&Re.length>0)for(var rt=0,fe=Re.length;rt<fe;rt++)l.debug("Buffered range: "+Re.start(rt)+" - "+Re.end(rt)+", currentTime = ",Q.getTime())}function Ee(Re){if(Re.error)return Re.error.code===22&&function(){if(de=!0,A=.8*Dt(),l.warn("Quota exceeded, Critical Buffer: "+A),A>0){var pe=Math.max(.2*A,1),Ve=A-pe,St=Math.min(he.get().streaming.buffer.bufferTimeAtTopQuality,.9*Ve),Nt=Math.min(he.get().streaming.buffer.bufferTimeAtTopQualityLongForm,.9*Ve),ln={streaming:{buffer:{bufferToKeep:parseFloat(pe.toFixed(5)),bufferTimeAtTopQuality:parseFloat(St.toFixed(5)),bufferTimeAtTopQualityLongForm:parseFloat(Nt.toFixed(5))}}};he.update(ln)}}(),void(Re.error.code!==22&&kt()||(l.warn("Clearing playback buffer to overcome quota exceed situation"),jt(u.Z.QUOTA_EXCEEDED,{criticalBufferLevel:A,quotaExceededTime:Re.chunk.start}),$e(ft())));if(Y&&(qt(),de=!1,(ce=Re.chunk)&&ce.endFragment)){ce&&!isNaN(ce.index)&&(w=Math.max(ce.index,w),Gt());var rt=Y.getAllBufferRanges();ce.segmentType===Le.w.MEDIA_SEGMENT_TYPE&&(Mt(rt),qe(),function(){if(!isNaN(le)&&!N)if(J===t.Z.AUDIO||J===t.Z.VIDEO){var pe=Q.getTime(),Ve=st(pe,0),St=st(le,0);if(Ve&&St&&Ve.start===St.start)le=NaN;else{var Nt=b.getCurrentRepresentation().segmentDuration,ln=st(le,Nt);ln&&(he.get().streaming.buffer.enableSeekDecorrelationFix&&Math.abs(pe-le)>Nt?le<=ln.end&&Q.seek(Math.max(le,ln.start),!1,!0):pe<ln.start&&Q.seek(ln.start,!1,!0))}}else le=NaN}());var fe=!1;U&&(U.indexOf(ce)>0&&(fe=!0),U=null),ce&&!fe&&jt(u.Z.BYTES_APPENDED_END_FRAGMENT,{quality:ce.quality,startTime:ce.start,index:ce.index,bufferedRanges:rt,segmentType:ce.segmentType,mediaType:J})}}function Fe(){return new Promise(function(Re,rt){var fe=lt();if(!fe||fe.length===0)return qe(),void Re();$e(fe).then(function(){Re()}).catch(function(pe){rt(pe)})})}function lt(Re){var rt=[],fe=Y.getAllBufferRanges();if(!fe||fe.length===0)return rt;if(!Re&&Re!==0||isNaN(Re))rt.push({start:fe.start(0),end:fe.end(fe.length-1)+.5});else{var pe=function(St,Nt){var ln=he.get().streaming.buffer.bufferToKeep,bn=Nt.start(0);if(St-bn>ln){var Zn=Math.max(0,St-ln),Sn=D.getRequests({state:K.FRAGMENT_MODEL_EXECUTED,time:St,threshold:Oe})[0];if(Sn&&(Zn=Math.min(Sn.startTime,Zn)),Zn>0)return{start:bn,end:Zn}}return null}(Re,fe),Ve=function(St,Nt){var ln=Nt.end(Nt.length-1)+.5,bn=xt(St),Zn=x.manifestInfo.duration>=he.get().streaming.buffer.longFormContentDurationThreshold?he.get().streaming.buffer.bufferTimeAtTopQualityLongForm:he.get().streaming.buffer.bufferTimeAtTopQuality,Sn=isNaN(bn)?St:Math.min(bn,St+Zn);if(Sn>=Nt.end(Nt.length-1))return null;var Jn=D.getRequests({state:K.FRAGMENT_MODEL_EXECUTED,time:St,threshold:Oe})[0];if(Jn&&(Sn=Math.max(Jn.startTime+Jn.duration,Sn)),he.get().streaming.buffer.avoidCurrentTimeRangePruning){for(var Gn=0;Gn<Nt.length;Gn++)if(Nt.start(Gn)<=St&&St<=Nt.end(Gn)&&Nt.start(Gn)<=Sn&&Sn<=Nt.end(Gn)){var Er=Sn;Sn=Gn+1<Nt.length?Nt.start(Gn+1):Nt.end(Gn)+1,l.debug("Buffered range ["+Nt.start(Gn)+", "+Nt.end(Gn)+"] overlaps with targetTime "+St+" and range to be pruned ["+Er+", "+ln+"], using ["+Sn+", "+ln+"] instead"+(Sn<ln?"":" (no actual pruning)"));break}}return Sn<Nt.end(Nt.length-1)?{start:Sn,end:ln}:null}(Re,fe);pe&&rt.push(pe),Ve&&rt.push(Ve)}return rt}function qe(){(!j||J===t.Z.TEXT&&z.isTextEnabled())&&qt()}function ht(){an()}function gt(){an(),le=NaN}function st(Re,rt){if(!Y)return null;var fe,pe,Ve=Y.getAllBufferRanges(),St=0,Nt=0,ln=null,bn=null,Zn=0,Sn=isNaN(rt)?.15:rt;if(Ve!=null){for(pe=0,fe=Ve.length;pe<fe;pe++)if(St=Ve.start(pe),Nt=Ve.end(pe),ln===null)Zn=Math.abs(St-Re),(Re>=St&&Re<Nt||Zn<=Sn)&&(ln=St,bn=Nt);else{if(!((Zn=St-bn)<=Sn))break;bn=Nt}if(ln!==null)return{start:ln,end:bn}}return null}function qt(){if(Q){var Re=Q.getTime()||0;N&&(Re=isNaN(le)?0:le);var rt=he.get().streaming.gaps.jumpGaps&&!isNaN(he.get().streaming.gaps.smallGapLimit)?he.get().streaming.gaps.smallGapLimit:NaN;R=Math.max(function(fe,pe){var Ve;return he.get().streaming.gaps.jumpGaps&&(pe=he.get().streaming.gaps.smallGapLimit),(Ve=st(fe,pe))===null?0:Ve.end-fe}(Re,rt),0),jt(u.Z.BUFFER_LEVEL_UPDATED,{mediaType:J,bufferLevel:R}),an()}}function Gt(){var Re=w>=L-1,rt=Q.getTimeToStreamEnd(x)-R<1e-5;!Re&&!rt||E||(ut(!0),l.debug("checkIfBufferingCompleted trigger BUFFERING_COMPLETED for stream id ".concat(x.id," and type ").concat(J)))}function an(){J!==t.Z.AUDIO&&J!==t.Z.VIDEO||((!Q.getLowLatencyModeEnabled()&&R<he.get().streaming.buffer.stallThreshold||R===0)&&!E?un(y.Z.BUFFER_EMPTY):(E||R>=he.get().streaming.buffer.stallThreshold||Q.getLowLatencyModeEnabled()&&R>0)&&un(y.Z.BUFFER_LOADED))}function un(Re){Z===Re||Re===y.Z.BUFFER_EMPTY&&Q.getTime()===0||J===t.Z.TEXT&&!z.isTextEnabled()||(Z=Re,jt(u.Z.BUFFER_LEVEL_STATE_CHANGED,{state:Re}),jt(Re===y.Z.BUFFER_LOADED?u.Z.BUFFER_LOADED:u.Z.BUFFER_EMPTY),l.debug(Re===y.Z.BUFFER_LOADED?"Got enough buffer to start":"Waiting for more buffer before starting playback"))}function Be(){Y&&J!==t.Z.TEXT&&(E||$e(ft()))}function ft(){var Re=[],rt=Y.getAllBufferRanges();if(!rt||rt.length===0)return Re;var fe=Q.getTime(),pe=Math.max(0,fe-he.get().streaming.buffer.bufferToKeep),Ve=D.getRequests({state:K.FRAGMENT_MODEL_EXECUTED,time:fe,threshold:Oe})[0];if(Ve)pe=Math.min(Ve.startTime,pe);else if(fe===0&&Q.getIsDynamic())return[];if(rt.start(0)<=pe){for(var St={start:0,end:pe},Nt=0;Nt<rt.length&&rt.end(Nt)<=pe;Nt++)St.end=rt.end(Nt);St.start<St.end&&Re.push(St)}return Re}function $e(Re){return new Promise(function(rt,fe){if(Re&&Y&&Re.length!==0){var pe=[];Re.forEach(function(Ve){pe.push(function(St){return new Promise(function(Nt,ln){St.resolve=Nt,St.reject=ln,ie.push(St)})}(Ve))}),ue||vt(),Promise.all(pe).then(function(){rt()}).catch(function(Ve){fe(Ve)})}else rt()})}function vt(){try{if(ie.length===0||!Y)return l.debug("Nothing to prune, halt pruning"),ie=[],void(ue=!1);var Re=Y.getBuffer();if(!Re||!Re.buffered||Re.buffered.length===0)return l.debug("SourceBuffer is empty (or does not exist), halt pruning"),ie=[],void(ue=!1);var rt=ie.shift();l.debug("".concat(J,": Removing buffer from: ").concat(rt.start," to ").concat(rt.end)),ue=!0,Q.getTime()<rt.end&&ut(!1),Y.remove(rt).then(function(fe){wt(fe)}).catch(function(fe){wt(fe)})}catch{ue=!1}}function wt(Re){l.debug("onRemoved buffer from:",Re.from,"to",Re.to),Y&&(Mt(Y.getAllBufferRanges()),ie.length===0&&(ue=!1,qt()),Re.unintended&&(l.warn("Detected unintended removal from:",Re.from,"to",Re.to,"setting streamprocessor time to",Re.from),jt(u.Z.SEEK_TARGET,{time:Re.from})),ue?vt():(j?j=!1:qt(),jt(u.Z.BUFFER_CLEARED,{from:Re.from,to:Re.to,unintended:Re.unintended,hasEnoughSpaceToAppend:kt(),quotaExceeded:de})))}function Ht(Re){return new Promise(function(rt){Re&&Re.MSETimeOffset!==void 0&&Y&&Y.updateTimestampOffset?Y.updateTimestampOffset(Re.MSETimeOffset).then(function(){rt()}).catch(function(){rt()}):rt()})}function Yt(){return Y&&!E?Y.updateAppendWindow(x):Promise.resolve()}function Kt(){++te*(he.get().streaming.wallclockTimeUpdateInterval/1e3)>=he.get().streaming.buffer.bufferPruningInterval&&(te=0,Be())}function Jt(){an()}function ut(Re){(E=Re)?jt(u.Z.BUFFERING_COMPLETED):L=Number.POSITIVE_INFINITY}function Dt(){try{var Re,rt,fe=Y.getAllBufferRanges(),pe=0;if(!fe)return pe;for(rt=0,Re=fe.length;rt<Re;rt++)pe+=fe.end(rt)-fe.start(rt);return pe}catch{return 0}}function xt(Re){try{var rt=Re,fe=Y.getAllBufferRanges();if(!fe||fe.length===0)return NaN;for(var pe=0;rt===Re&&pe<fe.length;){var Ve=fe.start(pe),St=fe.end(pe);rt>=Ve&&rt<=St&&(rt=St),pe+=1}return rt===Re?NaN:rt}catch{}}function kt(){var Re=Dt();return isNaN(Re)||Re<A}function jt(Re,rt){var fe=rt||{};M.trigger(Re,fe,{streamId:x.id,mediaType:J})}function Ge(Re,rt){if(A=Number.POSITIVE_INFINITY,Z=void 0,L=Number.POSITIVE_INFINITY,w=0,ce=null,E=!1,ue=!1,de=!1,R=0,te=0,ie=[],le=NaN,N=!1,Y){var fe=Y;Y=null,Re||rt||fe.abort().then(function(){fe.reset(rt),fe=null})}j=!1}return r={initialize:function(Re){Ne(Re),M.on(u.Z.INIT_FRAGMENT_LOADED,nt,r),M.on(u.Z.MEDIA_FRAGMENT_LOADED,We,r),M.on(u.Z.WALLCLOCK_TIME_UPDATED,Kt,r),M.on(n.Z.PLAYBACK_PLAYING,gt,r),M.on(n.Z.PLAYBACK_PROGRESS,qe,r),M.on(n.Z.PLAYBACK_TIME_UPDATED,qe,r),M.on(n.Z.PLAYBACK_RATE_CHANGED,Jt,r),M.on(n.Z.PLAYBACK_STALLED,ht,r)},getStreamId:function(){return x.id},getType:function(){return J},getBufferControllerType:function(){return _t},createBufferSink:Ce,dischargePreBuffer:function(){if(Y&&B&&typeof B.discharge=="function"){var Re=B.getAllBufferRanges();if(Re.length>0){for(var rt="Beginning "+J+"PreBuffer discharge, adding buffer for:",fe=0;fe<Re.length;fe++)rt+=" start: "+Re.start(fe)+", end: "+Re.end(fe)+";";l.debug(rt)}else l.debug("PreBuffer discharge requested, but there were no media segments in the PreBuffer.");U=[];for(var pe=B.discharge(),Ve=null,St=0;St<pe.length;St++){var Nt=pe[St];if(Nt.segmentType!==Le.w.INIT_SEGMENT_TYPE){var ln=G.extract(Nt.streamId,Nt.representationId);ln&&Ve!==ln&&(U.push(ln),Y.append(ln),Ve=ln)}U.push(Nt),Y.append(Nt)}B.reset(),B=null}},getBuffer:function(){return Y},getBufferLevel:function(){return R},getRangeAt:st,hasBufferAtTime:function(Re){try{var rt=Y.getAllBufferRanges();if(!rt||rt.length===0)return!1;for(var fe=0;fe<rt.length;){var pe=rt.start(fe),Ve=rt.end(fe);if(Re>=pe&&Re<=Ve)return!0;fe+=1}return!1}catch(St){return l.error(St),!1}},pruneBuffer:Be,setMediaSource:Ne,getMediaSource:function(){return h},appendInitSegmentFromCache:function(Re){var rt=G.extract(x.id,Re);return!!rt&&(l.info("Append Init fragment",J," with representationId:",rt.representationId," and quality:",rt.quality,", data size:",rt.bytes.byteLength),Xe(rt),!0)},getIsBufferingCompleted:function(){return E},setIsBufferingCompleted:ut,getIsPruningInProgress:function(){return ue},reset:function(Re,rt){M.off(u.Z.INIT_FRAGMENT_LOADED,nt,this),M.off(u.Z.MEDIA_FRAGMENT_LOADED,We,this),M.off(u.Z.WALLCLOCK_TIME_UPDATED,Kt,this),M.off(n.Z.PLAYBACK_PLAYING,gt,this),M.off(n.Z.PLAYBACK_PROGRESS,qe,this),M.off(n.Z.PLAYBACK_TIME_UPDATED,qe,this),M.off(n.Z.PLAYBACK_RATE_CHANGED,Jt,this),M.off(n.Z.PLAYBACK_STALLED,ht,this),Ge(Re,rt)},prepareForPlaybackSeek:function(){return E&&ut(!1),Y.abort()},prepareForReplacementTrackSwitch:function(Re){return new Promise(function(rt,fe){Y.abort().then(function(){return Yt()}).then(function(){return he.get().streaming.buffer.useChangeTypeForTrackSwitch?Y.changeType(Re):Promise.resolve()}).then(function(){return Fe()}).then(function(){ut(!1),rt()}).catch(function(pe){fe(pe)})})},prepareForNonReplacementTrackSwitch:function(Re){return new Promise(function(rt,fe){Yt().then(function(){return he.get().streaming.buffer.useChangeTypeForTrackSwitch?Y.changeType(Re):Promise.resolve()}).then(function(){rt()}).catch(function(pe){fe(pe)})})},prepareForForceReplacementQualitySwitch:function(Re){return new Promise(function(rt,fe){Y.abort().then(function(){return Yt()}).then(function(){return Fe()}).then(function(){return Ht(Re)}).then(function(){ut(!1),rt()}).catch(function(pe){fe(pe)})})},updateAppendWindow:Yt,getAllRangesWithSafetyFactor:lt,getContinuousBufferTimeForTargetTime:xt,clearBuffers:$e,pruneAllSafely:Fe,updateBufferTimestampOffset:Ht,setSeekTarget:function(Re){le=Re},segmentRequestingCompleted:function(Re){isNaN(Re)||(L=Re,Gt())}},l=(0,m.Z)(g).getInstance().getLogger(r),G=ve(g).getInstance(),Ge(),r}dt.__dashjs_factory_name=_t;var ke=_.Z.getClassFactory(dt),Je="NotFragmentedTextBufferController";function ge(i){i=i||{};var r,l,E,R,A,h,w=this.context,L=(0,p.Z)(w).getInstance(),Y=i.textController,B=i.errHandler,N=i.streamInfo,U=i.type;function Z(ue){R=ue}function ce(ue){var de,G;l!==ue&&(l=ue)&&(de=u.Z.BUFFERING_COMPLETED,G={},L.trigger(de,G,{streamId:N.id,mediaType:U}))}function te(ue){ue.chunk.bytes&&!l&&(h.save(ue.chunk),A.append(ue.chunk),ce(!0))}return r={initialize:function(ue){Z(ue)},getStreamId:function(){return N.id},getType:function(){return U},getBufferControllerType:function(){return Je},createBufferSink:function(ue){return new Promise(function(de,G){try{(A=ye(w).create({mediaSource:R,textController:Y,eventBus:L})).initializeForFirstUse(N,ue),E||(A.getBuffer()&&typeof A.getBuffer().initialize=="function"&&A.getBuffer().initialize(),E=!0),de(A)}catch(ie){B.error(new re.Z(X.MEDIASOURCE_TYPE_UNSUPPORTED_CODE,X.MEDIASOURCE_TYPE_UNSUPPORTED_MESSAGE+U)),G(ie)}})},dischargePreBuffer:function(){},getBuffer:function(){return A},getBufferLevel:function(){return 0},getRangeAt:function(){return null},pruneBuffer:function(){},hasBufferAtTime:function(){return!0},getAllRangesWithSafetyFactor:function(){return[]},getContinuousBufferTimeForTargetTime:function(){return Number.POSITIVE_INFINITY},setMediaSource:Z,getMediaSource:function(){return R},appendInitSegmentFromCache:function(ue){return h.extract(N.id,ue)!==null},getIsBufferingCompleted:function(){return l},setIsBufferingCompleted:ce,getIsPruningInProgress:function(){return!1},reset:function(ue){L.off(u.Z.INIT_FRAGMENT_LOADED,te,r),!ue&&A&&(A.abort(),A.reset(),A=null)},clearBuffers:function(){return Promise.resolve()},prepareForPlaybackSeek:function(){return Promise.resolve()},prepareForReplacementTrackSwitch:function(){return l=!1,Promise.resolve()},setSeekTarget:function(){},updateAppendWindow:function(){return Promise.resolve()},pruneAllSafely:function(){return Promise.resolve()},updateBufferTimestampOffset:function(){return Promise.resolve()},segmentRequestingCompleted:function(){}},E=!1,R=null,l=!1,h=ve(w).getInstance(),L.on(u.Z.INIT_FRAGMENT_LOADED,te,r),r}ge.__dashjs_factory_name=Je;var me=_.Z.getClassFactory(ge);function Ue(i){i=i||{};var r,l,E,R,A,h,w,L,Y,B,N,U,Z,ce=this.context,te=(0,p.Z)(ce).getInstance(),ue=i.dashMetrics,de=i.mediaPlayerModel,G=i.fragmentModel,ie=i.abrController,j=i.playbackController,le=i.textController,g=i.type,M=i.bufferController,C=i.representationController,D=i.settings;function b(){U=!0}function ne(){U=!1}function z(et){if(!M.getIsBufferingCompleted()){oe();var nt=isNaN(et)?0:et;A=setTimeout(Q,nt)}}function oe(){A&&(clearTimeout(A),A=null)}function Q(){try{if(function(){try{return g===t.Z.TEXT&&!le.isTextEnabled()||j.isPaused()&&(!j.getStreamController().getInitialPlayback()||!j.getStreamController().getAutoPlay())&&!D.get().streaming.scheduling.scheduleWhilePaused}catch{return!1}}())return void oe();if(function(){try{return!!U&&C.getCurrentRepresentationInfo()&&(isNaN(Y)||B||(We=l.id,Xe=ie.getMaxAllowedIndexFor(g,We),!(!isNaN(L)&&L==Xe||(E.info("Top quality "+g+" index has changed from "+L+" to "+Xe),L=Xe,0)))||function(){var Mt=C.getCurrentRepresentationInfo();return!g||!Mt||ue.getCurrentBufferLevel(g)<x()}())}catch{return!1}var We,Xe}()){var et=!1;Z&&(et=ie.checkPlaybackQuality(g,l.id)),et||(nt=C.getCurrentRepresentationInfo(),N||nt.quality!==Y||B?(B?(E.debug("Switch track for "+g+", representation id = "+nt.id),B=!1):E.debug("Quality has changed, get init request for representationid = "+nt.id),te.trigger(u.Z.INIT_FRAGMENT_NEEDED,{representationId:nt.id,sender:r},{streamId:l.id,mediaType:g}),Z=!1,N=!1):(E.debug("Media segment needed for ".concat(g," and stream id ").concat(l.id)),te.trigger(u.Z.MEDIA_FRAGMENT_NEEDED,{},{streamId:l.id,mediaType:g}),Z=!0))}else z(j.getLowLatencyModeEnabled()?D.get().streaming.scheduling.lowLatencyTimeout:D.get().streaming.scheduling.defaultTimeout)}catch{z(j.getLowLatencyModeEnabled()?D.get().streaming.scheduling.lowLatencyTimeout:D.get().streaming.scheduling.defaultTimeout)}var nt}function x(){var et=NaN,nt=C.getCurrentRepresentationInfo();return g&&nt&&(et=g===t.Z.TEXT?function(){try{if(le.isTextEnabled()){var We=C.getCurrentRepresentationInfo();if(isNaN(We.fragmentDuration)){var Xe=ue.getCurrentSchedulingInfo(y.Z.SCHEDULING_INFO);return Xe?Xe.duration:0}return We.fragmentDuration}return 0}catch{return 0}}():g===t.Z.AUDIO&&h?function(){try{var We=ue.getCurrentBufferLevel(t.Z.VIDEO),Xe=C.getCurrentRepresentationInfo();return isNaN(Xe.fragmentDuration)?We+1:Math.max(We+1,Xe.fragmentDuration)}catch{return 0}}():function(){try{var We=C.getCurrentRepresentationInfo().mediaInfo.streamInfo;return ie.isPlayingAtTopQuality(We)?We.manifestInfo.duration>=D.get().streaming.buffer.longFormContentDurationThreshold?D.get().streaming.buffer.bufferTimeAtTopQualityLongForm:D.get().streaming.buffer.bufferTimeAtTopQuality:de.getStableBufferTime()}catch{return de.getStableBufferTime()}}()),et}function J(){he(!0)}function he(et){if(j&&G){var nt=G.getRequests({state:K.FRAGMENT_MODEL_EXECUTED,time:j.getTime(),threshold:0})[0];nt&&j.getTime()>=nt.startTime&&((!w.mediaInfo||nt.mediaInfo.type===w.mediaInfo.type&&nt.mediaInfo.index!==w.mediaInfo.index)&&et&&te.trigger(u.Z.TRACK_CHANGE_RENDERED,{mediaType:g,oldMediaInfo:w.mediaInfo,newMediaInfo:nt.mediaInfo,streamId:l.id}),nt.quality===w.quality&&nt.adaptationIndex===w.adaptationIndex||!et||(E.debug("Quality change rendered for streamId ".concat(l.id," and type ").concat(g)),te.trigger(u.Z.QUALITY_CHANGE_RENDERED,{mediaType:g,oldQuality:w.quality,newQuality:nt.quality,streamId:l.id})),w={mediaInfo:nt.mediaInfo,quality:nt.quality,adaptationIndex:nt.adaptationIndex})}}function Ne(){G.abortRequests(),oe()}function Te(){D.get().streaming.scheduling.scheduleWhilePaused||z()}function Ce(et){ue.updatePlayListTraceMetrics({playbackspeed:et.playbackRate.toString()})}function Ie(){Z=!0,R=0,Y=NaN,w={mediaInfo:void 0,quality:NaN,adaptationIndex:NaN},L=NaN,B=!1,N=!1,U=!0}return r={initialize:function(et){h=et,te.on(u.Z.URL_RESOLUTION_FAILED,Ne,r),te.on(n.Z.PLAYBACK_STARTED,Te,r),te.on(n.Z.PLAYBACK_RATE_CHANGED,Ce,r),te.on(n.Z.PLAYBACK_TIME_UPDATED,J,r),te.on(n.Z.MANAGED_MEDIA_SOURCE_START_STREAMING,b,r),te.on(n.Z.MANAGED_MEDIA_SOURCE_END_STREAMING,ne,r)},getType:function(){return g},getStreamId:function(){return l.id},setTimeToLoadDelay:function(et){R=et},getTimeToLoadDelay:function(){return R},setSwitchTrack:function(et){B=et},getSwitchTrack:function(){return B},startScheduleTimer:z,clearScheduleTimer:oe,reset:function(){te.off(u.Z.URL_RESOLUTION_FAILED,Ne,r),te.off(n.Z.PLAYBACK_STARTED,Te,r),te.off(n.Z.PLAYBACK_RATE_CHANGED,Ce,r),te.off(n.Z.PLAYBACK_TIME_UPDATED,J,r),te.off(n.Z.MANAGED_MEDIA_SOURCE_START_STREAMING,b,r),te.off(n.Z.MANAGED_MEDIA_SOURCE_END_STREAMING,ne,r),oe(),he(!1),Ie(),l=null},getBufferTarget:x,getPlaybackController:function(){return j},setCheckPlaybackQuality:function(et){Z=et},setInitSegmentRequired:function(et){N=et},setLastInitializedQuality:function(et){Y=et}},E=(0,m.Z)(ce).getInstance().getLogger(r),Ie(),l=i.streamInfo,r}Ue.__dashjs_factory_name="ScheduleController";var f=_.Z.getClassFactory(Ue),o=P(7387);function v(i){var r,l,E,R,A,h,w=(i=i||{}).eventBus,L=i.events,Y=i.abrController,B=i.dashMetrics,N=i.playbackController,U=i.timelineConverter,Z=i.type,ce=i.streamInfo,te=i.dashConstants,ue=i.segmentsController,de=i.isDynamic,G=i.adapter;function ie(){return Z}function j(){return E}function le(){return h}function g(){l=null,E=!0,R=[],A=null}function M(oe){return new Promise(function(Q,x){var J=oe.hasInitialization(),he=oe.hasSegments(),Ne=[];Ne.push(ue.updateInitData(oe,J)),Ne.push(ue.updateSegmentData(oe,he)),Promise.all(Ne).then(function(Te){var Ce;Te[0]&&!Te[0].error&&(oe=function(Ie,et){return et&&!et.error&&et.representation?et.representation:Ie}(oe,Te[0])),Te[1]&&!Te[1].error&&(oe=function(Ie,et){if(et&&!et.error){var nt,We,Xe,Mt,Ee=et.segments,Fe=[],lt=0;for(nt=0,We=Ee?Ee.length:0;nt<We;nt++)Xe=Ee[nt],(Mt=(0,o.TJ)(U,de,Ie,Xe.startTime,Xe.duration,Xe.timescale,Xe.media,Xe.mediaRange,lt))&&(Fe.push(Mt),Mt=null,lt++);return Fe.length>0&&(Ie.segments=Fe),Ie}}(oe,Te[1])),(Ce=oe).mediaFinishedInformation=ue.getMediaFinishedInformation(Ce),function(Ie){if(j()){var et,nt,We=B.getCurrentManifestUpdate(),Xe=!1;if(We){for(var Mt=0;Mt<We.representationInfo.length;Mt++)if((et=We.representationInfo[Mt]).index===Ie.index&&et.mediaType===ie()){Xe=!0;break}Xe||B.addManifestUpdateRepresentationInfo(Ie,ie())}if(function(){for(var Fe=0,lt=R.length;Fe<lt;Fe++){var qe=R[Fe].segmentInfoType;if(!R[Fe].hasInitialization()||(qe===te.SEGMENT_BASE||qe===te.BASE_URL)&&!R[Fe].segments)return!1}return!0}()){Y.setPlaybackQuality(Z,ce,(nt=h,R.indexOf(nt)));var Ee=B.getCurrentDVRInfo(Z);Ee&&B.updateManifestUpdateInfo({latency:Ee.range.end-N.getTime()}),B.getCurrentRepresentationSwitch(le().adaptation.type)||C(),b()}}}(oe),Q()}).catch(function(Te){x(Te)})})}function C(){(function(){if(!(Y&&B&&N&&U))throw new Error(t.Z.MISSING_CONFIG_ERROR)})();var oe=new Date,Q=le(),x=1e3*N.getTime();Q&&B.addRepresentationSwitch(Q.adaptation.type,oe,x,Q.id),w.trigger(n.Z.REPRESENTATION_SWITCH,{mediaType:Z,streamId:ce.id,currentRepresentation:Q,numberOfRepresentations:R.length},{streamId:ce.id,mediaType:Z})}function D(oe){return oe==null||oe>=R.length?null:R[oe]}function b(oe){E=!1,w.trigger(L.DATA_UPDATE_COMPLETED,{data:l,currentRepresentation:h,error:oe},{streamId:ce.id,mediaType:Z})}function ne(oe){h=oe,A=G.convertRepresentationToRepresentationInfo(h)}function z(oe){if(oe.newDuration){var Q=le();Q&&Q.adaptation.period&&(Q.adaptation.period.duration=oe.newDuration)}}return r={getStreamId:function(){return ce.id},getType:ie,getData:function(){return l},isUpdating:j,updateData:function(oe,Q,x,J,he){return new Promise(function(Ne,Te){if(E=!0,R=Q,l=oe,ne(D(he)),x!==t.Z.VIDEO&&x!==t.Z.AUDIO&&(x!==t.Z.TEXT||!J))return b(),void Ne();for(var Ce=[],Ie=0,et=R.length;Ie<et;Ie++){var nt=R[Ie];Ce.push(M(nt))}Promise.all(Ce).then(function(){ne(D(he)),Ne()}).catch(function(We){Te(We)})})},getCurrentRepresentation:le,getCurrentRepresentationInfo:function(){return A},getRepresentationForQuality:D,prepareQualityChange:function(oe){ne(D(oe)),C()},reset:function(){w.off(n.Z.MANIFEST_VALIDITY_CHANGED,z,r),g()}},g(),w.on(n.Z.MANIFEST_VALIDITY_CHANGED,z,r),r}v.__dashjs_factory_name="RepresentationController";var S=_.Z.getClassFactory(v),W=P(3106),V=P(9326),Se=P(7473),ze=P(2594);function Me(i,r){if(!(i instanceof r))throw new TypeError("Cannot call a class as a function")}var De=function i(){Me(this,i),this.start=null,this.mstart=null,this.starttype=null,this.trace=[]};De.INITIAL_PLAYOUT_START_REASON="initial_playout",De.SEEK_START_REASON="seek",De.RESUME_FROM_PAUSE_START_REASON="resume",De.METRICS_COLLECTION_START_REASON="metrics_collection_start";var be=function i(){Me(this,i),this.representationid=null,this.subreplevel=null,this.start=null,this.mstart=null,this.duration=null,this.playbackspeed=null,this.stopreason=null};be.REPRESENTATION_SWITCH_STOP_REASON="representation_switch",be.REBUFFERING_REASON="rebuffering",be.USER_REQUEST_STOP_REASON="user_request",be.END_OF_PERIOD_STOP_REASON="end_of_period",be.END_OF_CONTENT_STOP_REASON="end_of_content",be.METRICS_COLLECTION_STOP_REASON="metrics_collection_end",be.FAILURE_STOP_REASON="failure";var xe=P(7802);function Qe(){return{ntpToUTC:function(i){var r=new Date(Date.UTC(1900,0,1,0,0,0));return new Date(r.getTime()+i).getTime()}}}Qe.__dashjs_factory_name="TimeUtils";var mt=_.Z.getSingletonFactory(Qe);function it(i){i=i||{};var r,l,E,R,A,h,w,L,Y,B,N,U,Z,ce,te,ue=this.context,de=(0,p.Z)(ue).getInstance(),G=i.streamInfo,ie=i.type,j=i.errHandler,le=i.mimeType,g=i.timelineConverter,M=i.adapter,C=i.manifestModel,D=i.mediaPlayerModel,b=i.fragmentModel,ne=i.abrController,z=i.playbackController,oe=i.mediaController,Q=i.textController,x=i.dashMetrics,J=i.settings,he=i.boxParser,Ne=i.segmentBlacklistController;function Te(){return G.id}function Ce(){return ie}function Ie(){return M.getIsTextTrack(L.getData())}function et(){A=[],R=null,ce=0,Y=!1,B=!1,N=!1,te=null}function nt(Ge){return!isNaN(Ge)&&!isNaN(G.duration)&&isFinite(G.duration)&&Ge>=G.start+G.duration}function We(Ge){var Re=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1];if(Ge.sender){if(z.getIsManifestUpdateInProgress())lt();else if((!Ie()||Q.isTextEnabled())&&h&&Ge.representationId&&!h.appendInitSegmentFromCache(Ge.representationId)){var rt=L.getCurrentRepresentation();if(rt.range===0)return void Xe();var fe=U?U.getInitRequest(R,rt):null;fe?b.executeRequest(fe):Re&&(w.setInitSegmentRequired(!0),lt())}}}function Xe(Ge){var Re=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1];if(z.getIsManifestUpdateInProgress()||h.getIsPruningInProgress())lt();else{var rt=Fe();rt?(Y=!1,B=!1,Mt(rt)):Ee(Re)}}function Mt(Ge){isNaN(Ge.startTime+Ge.duration)||(ce=Ge.startTime+Ge.duration),Ge.delayLoadingTime=new Date().getTime()+w.getTimeToLoadDelay(),w.setTimeToLoadDelay(0),function(Re){var rt=Re.url;return Re.range&&(rt=rt.concat("_",Re.range)),Ne.contains(rt)}(Ge)?(l.warn("Fragment request url ".concat(Ge.url," for stream id ").concat(G.id," and media type ").concat(ie," is on the ignore list and will be skipped")),lt()):(l.debug("Next fragment request url for stream id ".concat(G.id," and media type ").concat(ie," is ").concat(Ge.url)),b.executeRequest(Ge))}function Ee(Ge){var Re,rt=L.getCurrentRepresentation();if(!J.get().streaming.gaps.enableSeekFix||!Y&&z.getTime()!==0||(E?E&&rt.segmentInfoType===e.Z.SEGMENT_TIMELINE&&(Re=U.getValidTimeAheadOfTargetTime(ce,R,rt,J.get().streaming.gaps.threshold)):Re=U.getValidTimeAheadOfTargetTime(ce,R,rt,J.get().streaming.gaps.threshold),isNaN(Re)||Re===ce)){if(U.isLastSegmentRequested(rt,ce)){var fe=U.getCurrentIndex();return l.debug("Segment requesting for stream ".concat(G.id," has finished")),de.trigger(u.Z.STREAM_REQUESTING_COMPLETED,{segmentIndex:fe},{streamId:G.id,mediaType:ie}),h.segmentRequestingCompleted(fe),void w.clearScheduleTimer()}Ge&&lt()}else z.isSeeking()||z.getTime()===0?(l.warn("Adjusting playback time ".concat(Re," because of gap in the manifest. Seeking by ").concat(Re-ce)),z.seek(Re,!1,!1)):(l.warn("Adjusting buffering time ".concat(Re," because of gap in the manifest. Adjusting time by ").concat(Re-ce)),jt(Re),Ge&&lt())}function Fe(){var Ge,Re=Yt();if(isNaN(ce)||Ce()===t.Z.TEXT&&!Q.isTextEnabled())return null;if(U){var rt=L&&Re?L.getRepresentationForQuality(Re.quality):null;Ge=Y?U.getSegmentRequestForTime(R,rt,ce):B?U.repeatSegmentRequest(R,rt):U.getNextSegmentRequest(R,rt)}return Ge}function lt(){w.startScheduleTimer(z.getLowLatencyModeEnabled()?J.get().streaming.scheduling.lowLatencyTimeout:J.get().streaming.scheduling.defaultTimeout)}function qe(Ge){Ge.error||h.getIsBufferingCompleted()||h.updateBufferTimestampOffset(Ge.currentRepresentation)}function ht(Ge){x.addBufferState(ie,Ge.state,w.getBufferTarget()),Ge.state!==y.Z.BUFFER_EMPTY||z.isSeeking()||(l.info("Buffer is empty! Stalling!"),x.pushPlayListTraceMetrics(new Date,be.REBUFFERING_REASON))}function gt(Ge){b.syncExecutedRequestsWithBufferedRange(h.getBuffer().getAllBufferRanges(),G.duration),Ge.quotaExceeded&&Ge.from>z.getTime()&&jt(Ge.from),Ge.hasEnoughSpaceToAppend&&Ge.quotaExceeded&&w.startScheduleTimer()}function st(Ge){if(Ge&&Ge.lastRequestAppended&&Ge.lastRequestAppended.url){var Re=Ge.lastRequestAppended.url;Ge.lastRequestAppended.range&&(Re=Re.concat("_",Ge.lastRequestAppended.range)),l.warn("Blacklisting segment with url ".concat(Re)),Ne.add(Re)}}function qt(Ge){if(l.debug("Appended bytes for ".concat(Ge.mediaType," and stream id ").concat(Ge.streamId)),Ge.segmentType===Le.w.INIT_SEGMENT_TYPE){var Re=Ge.quality;w.setLastInitializedQuality(Re),l.info("["+ie+"] lastInitializedRepresentationInfo changed to "+Ge.quality)}te?Gt(te):w.startScheduleTimer(0)}function Gt(Ge){var Re=b.getRequests({state:K.FRAGMENT_MODEL_LOADING});if(Re&&Re.length>0)return l.debug("Preparing for default quality switch: Waiting for ongoing segment request to be finished before applying switch."),void(te=Ge);h.updateBufferTimestampOffset(Ge).then(function(){w.setCheckPlaybackQuality(!1),R.segmentAlignment||R.subSegmentAlignment?w.startScheduleTimer():xt(),te=null,N=!1}).catch(function(){te=null,N=!1})}function an(Ge){l.info("onFragmentLoadingAbandoned request: "+Ge.request.url+" has been aborted"),z.isSeeking()||w.getSwitchTrack()||N||(l.info("onFragmentLoadingAbandoned request: "+Ge.request.url+" has to be downloaded again, origin is not seeking process or switch track call"),Ge.request&&Ge.request.isInitializationRequest()?w.setInitSegmentRequired(!0):jt(Ge.request.startTime+Ge.request.duration/2),w.startScheduleTimer(0))}function un(Ge){l.info("OnFragmentLoadingCompleted for stream id "+G.id+" and media type "+ie+" - Url:",Ge.request?Ge.request.url:"undefined",Ge.request.range?", Range:"+Ge.request.range:""),Ie()&&w.startScheduleTimer(0),Ge.error&&Ge.request.serviceLocation&&function(Re){l.info("Fragment loading completed with an error"),Re&&Re.request&&Re.request.type&&(Re.request.type===Le.w.INIT_SEGMENT_TYPE?We({representationId:Re.request.representationId,sender:{}},!1):Re.request.type===Le.w.MEDIA_SEGMENT_TYPE&&(jt(Re.request.startTime+Re.request.duration/2),Xe({},!1)))}(Ge)}function Be(){jt(z.getTime()),Ht().startScheduleTimer()}function ft(Ge){var Re=Ge.currentTrackInfo;if(Re){var rt=A.find(function(fe){return fe.index===Re.index&&fe.lang===Re.lang});rt&&wt(rt).then(function(){h.setIsBufferingCompleted(!1),jt(z.getTime()),w.setInitSegmentRequired(!0),w.startScheduleTimer()})}}function $e(Ge){jt(Ge.quotaExceededTime),w.clearScheduleTimer()}function vt(){return h?h.getBuffer():null}function wt(Ge){Ge===R||Ge&&R&&Ge.type!==R.type||(R=Ge);var Re=M.getRealAdaptation(G,R),rt=M.getVoRepresentations(R);if(L){var fe,pe=L.getData(),Ve=ne.getMaxAllowedIndexFor(ie,G.id),St=ne.getMinAllowedIndexFor(ie,G.id),Nt=null;return pe!==null&&pe.id===Re.id||ie===t.Z.TEXT?fe=ne.getQualityFor(ie,G.id):(Nt=ne.getThroughputHistory().getAverageThroughput(ie,E)||ne.getInitialBitrateFor(ie,G.id),fe=ne.getQualityForBitrate(R,Nt,G.id)),St!==void 0&&fe<St&&(fe=St),fe>Ve&&(fe=Ve),L.updateData(Re,rt,ie,R.isFragmented,fe)}return Promise.resolve()}function Ht(){return w}function Yt(Ge){var Re;return Ge!==void 0?((0,W.SE)(Ge),Re=L?L.getRepresentationForQuality(Ge):null):Re=L?L.getCurrentRepresentation():null,M.convertRepresentationToRepresentationInfo(Re)}function Kt(){return!!h&&h.getIsBufferingCompleted()}function Jt(Ge){if(J.get().streaming.enableManifestTimescaleMismatchFix){var Re=Ge.chunk,rt=Re.bytes,fe=Yt(Re.quality),pe=L&&fe?L.getRepresentationForQuality(fe.quality):null;fe&&pe&&(pe.timescale=he.getMediaTimescaleFromMoov(rt))}}function ut(Ge){var Re=Ge.chunk,rt=Re.bytes,fe=Re.quality,pe=Yt(fe),Ve=L&&pe?L.getRepresentationForQuality(pe.quality):null;if(pe&&Ve){var St;if(J.get().streaming.parseInbandPrft&&Ge.request.type===Le.w.MEDIA_SEGMENT_TYPE){var Nt=function(Jn,Gn){var Er=Jn.getBoxes("prft"),br=[];return Er.forEach(function(Ar){br.push(function(fr,gr){var $n="unknown";switch(fr.flags){case 0:$n=e.Z.PRODUCER_REFERENCE_TIME_TYPE.ENCODER;break;case 16:$n=e.Z.PRODUCER_REFERENCE_TIME_TYPE.APPLICATION;break;case 24:$n=e.Z.PRODUCER_REFERENCE_TIME_TYPE.CAPTURED}var vr=1e3*fr.ntp_timestamp_sec+fr.ntp_timestamp_frac/Math.pow(2,32)*1e3;return{type:$n,ntpTimestamp:vr=mt(ue).getInstance().ntpToUTC(vr),mediaTime:fr.media_time/gr}}(Ar,Gn))}),br}(St=St||he.parse(rt),Ve.timescale);Nt&&Nt.length&&de.trigger(n.Z.INBAND_PRFT,{data:Nt},{streamId:G.id,mediaType:ie})}var ln=M.getEventsFor(pe.mediaInfo,null,G),bn=M.getEventsFor(pe,Ve,G);if(ln&&ln.length>0||bn&&bn.length>0){var Zn=b.getRequests({state:K.FRAGMENT_MODEL_EXECUTED,quality:fe,index:Re.index})[0],Sn=function(Jn,Gn,Er,br){try{for(var Ar={},fr=[],gr=Er.concat(br),$n=0,vr=gr.length;$n<vr;$n++)Ar[gr[$n].schemeIdUri+"/"+gr[$n].value]=gr[$n];var Ir=Jn.getBoxes("emsg");if(!Ir||Ir.length===0)return fr;for(var sr=Jn.getBox("sidx"),Kr=!sr||isNaN(sr.earliest_presentation_time)||isNaN(sr.timescale)?Gn&&!isNaN(Gn.mediaStartTime)?Gn.mediaStartTime:0:sr.earliest_presentation_time/sr.timescale,_i=Math.max(Kr,0),Ti=L.getCurrentRepresentation(),_r=0,Si=Ir.length;_r<Si;_r++){var Rr=M.getEvent(Ir[_r],Ar,_i,Ti);Rr&&fr.push(Rr)}return fr}catch{return[]}}(St=St||he.parse(rt),Zn,ln,bn);de.trigger(u.Z.INBAND_EVENTS,{events:Sn},{streamId:G.id})}}}function Dt(){var Ge=z.getTime();J.get().streaming.buffer.flushBufferAtTrackSwitch&&z.seek(Ge+.001,!1,!0),jt(Ge),h.setSeekTarget(Ge),w.startScheduleTimer()}function xt(){var Ge=z.getTime(),Re=h.getContinuousBufferTimeForTargetTime(Ge);jt(isNaN(Re)?Ge:Re),w.startScheduleTimer()}function kt(Ge){Ge&&!isNaN(Ge.time)&&(jt(Ge.time),h.setSeekTarget(Ge.time))}function jt(Ge){ce=Ge,Y=!0}return r={initialize:function(Ge,Re,rt){Z=(0,xe.Z)(ue).create({events:u.Z,eventBus:de,streamInfo:G,timelineConverter:g,dashConstants:e.Z,segmentBaseController:i.segmentBaseController,type:ie}),U=(0,V.Z)(ue).create({streamInfo:G,type:ie,timelineConverter:g,dashMetrics:x,mediaPlayerModel:D,baseURLController:i.baseURLController,errHandler:j,segmentsController:Z,settings:J,boxParser:he,events:u.Z,eventBus:de,errors:X,debug:(0,m.Z)(ue).getInstance(),requestModifier:(0,Se.Z)(ue).getInstance(),dashConstants:e.Z,constants:t.Z,urlUtils:(0,ze.Z)(ue).getInstance()}),E=G.manifestInfo.isDynamic,U.initialize(E),ne.registerStreamType(ie,r),L=S(ue).create({streamInfo:G,type:ie,abrController:ne,dashMetrics:x,playbackController:z,timelineConverter:g,dashConstants:e.Z,events:u.Z,eventBus:de,errors:X,isDynamic:E,adapter:M,segmentsController:Z}),h=function(fe,pe){return fe?fe!==t.Z.TEXT||pe?ke(ue).create({streamInfo:G,type:fe,mediaPlayerModel:D,manifestModel:C,fragmentModel:b,errHandler:j,mediaController:oe,representationController:L,adapter:M,textController:Q,abrController:ne,playbackController:z,settings:J}):me(ue).create({streamInfo:G,type:fe,mimeType:le,fragmentModel:b,textController:Q,errHandler:j,settings:J}):(j.error(new re.Z(X.MEDIASOURCE_TYPE_UNSUPPORTED_CODE,X.MEDIASOURCE_TYPE_UNSUPPORTED_MESSAGE+"not properly defined")),null)}(ie,rt),h&&h.initialize(Ge),(w=f(ue).create({streamInfo:G,type:ie,mimeType:le,adapter:M,dashMetrics:x,mediaPlayerModel:D,fragmentModel:b,abrController:ne,playbackController:z,textController:Q,mediaController:oe,bufferController:h,representationController:L,settings:J})).initialize(Re),ce=0,Y=!1,B=!1},getStreamId:Te,getType:Ce,isUpdating:function(){return!!L&&L.isUpdating()},getBufferController:function(){return h},dischargePreBuffer:function(){h.dischargePreBuffer()},getFragmentModel:function(){return b},getScheduleController:Ht,getRepresentationController:function(){return L},getRepresentationInfo:Yt,getBufferLevel:function(){return h?h.getBufferLevel():0},isBufferingCompleted:Kt,createBufferSinks:function(Ge){var Re=vt();return Re?Promise.resolve(Re):h?h.createBufferSink(R,Ge):Promise.resolve(null)},updateStreamInfo:function(Ge){return G=Ge,Kt()?Promise.resolve():h.updateAppendWindow()},getStreamInfo:function(){return G},selectMediaInfo:wt,clearMediaInfoArray:function(){A=[]},addMediaInfo:function(Ge){A.indexOf(Ge)===-1&&A.push(Ge)},prepareTrackSwitch:function(){return new Promise(function(Ge){l.debug("Preparing track switch for type ".concat(ie));var Re=ie===t.Z.TEXT||J.get().streaming.trackSwitchMode[ie]===t.Z.TRACK_SWITCH_MODE_ALWAYS_REPLACE&&z.getTimeToStreamEnd(G)>J.get().streaming.buffer.stallThreshold;if(h.getIsBufferingCompleted()&&!Re)return h.prepareForNonReplacementTrackSwitch(R.codec).then(function(){de.trigger(u.Z.BUFFERING_COMPLETED,{},{streamId:G.id,mediaType:ie})}).catch(function(){de.trigger(u.Z.BUFFERING_COMPLETED,{},{streamId:G.id,mediaType:ie})}),void Ge();w.clearScheduleTimer(),w.setSwitchTrack(!0),Re?(de.trigger(u.Z.BUFFER_REPLACEMENT_STARTED,{mediaType:ie,streamId:G.id},{mediaType:ie,streamId:G.id}),b.abortRequests(),h.prepareForReplacementTrackSwitch(R.codec).then(function(){var rt=Yt();return h.updateBufferTimestampOffset(rt)}).then(function(){Dt(),Ge()}).catch(function(){Dt(),Ge()})):h.prepareForNonReplacementTrackSwitch(R.codec).then(function(){xt(),Ge()}).catch(function(){xt(),Ge()})})},prepareQualityChange:function(Ge){te&&l.warn("Canceling queued representation switch to ".concat(te.quality," for ").concat(ie)),l.debug("Preparing quality switch for type ".concat(ie));var Re=Ge.newQuality;N=!0,w.clearScheduleTimer(),L.prepareQualityChange(Re);var rt=Yt(Re);Ge.reason&&Ge.reason.forceReplace?function(fe){b.abortRequests(),de.trigger(u.Z.BUFFER_REPLACEMENT_STARTED,{mediaType:ie,streamId:G.id},{mediaType:ie,streamId:G.id}),w.setCheckPlaybackQuality(!1),h.prepareForForceReplacementQualitySwitch(fe).then(function(){Dt(),te=null,N=!1}).catch(function(){Dt(),te=null,N=!1})}(rt):Ge&&Ge.reason&&Ge.reason.forceAbandon?function(fe){h.updateBufferTimestampOffset(fe).then(function(){b.abortRequests(),B=!0,w.setCheckPlaybackQuality(!1),w.startScheduleTimer(),N=!1,te=null}).catch(function(){te=null,N=!1})}(rt):J.get().streaming.buffer.fastSwitchEnabled?function(fe){var pe=z.getTime(),Ve=1.5*(isNaN(fe.fragmentDuration)?1:fe.fragmentDuration),St=b.getRequests({state:K.FRAGMENT_MODEL_EXECUTED,time:pe+Ve,threshold:0})[0];if(St&&!Ie()){var Nt=h.getBufferLevel(),ln=ne.getAbandonmentStateFor(G.id,ie);St.quality<fe.quality&&Nt>=Ve&&ln!==y.Z.ABANDON_LOAD?h.updateBufferTimestampOffset(fe).then(function(){b.abortRequests(),jt(pe+Ve),w.setCheckPlaybackQuality(!1),w.startScheduleTimer(),N=!1}).catch(function(){N=!1}):Gt(fe)}else Gt(fe)}(rt):Gt(rt),x.pushPlayListTraceMetrics(new Date,be.REPRESENTATION_SWITCH_STOP_REASON),x.createPlaylistTraceMetrics(rt.id,1e3*z.getTime(),z.getPlaybackRate())},getMediaInfo:function(){return R},getMediaSource:function(){return h.getMediaSource()},setMediaSource:function(Ge){return h.setMediaSource(Ge,R)},getBuffer:vt,setExplicitBufferingTime:jt,finalisePlayList:function(Ge,Re){x.pushPlayListTraceMetrics(Ge,Re)},probeNextRequest:function(){var Ge=Yt(),Re=L&&Ge?L.getRepresentationForQuality(Ge.quality):null;return U.getNextSegmentRequestIdempotent(R,Re)},prepareInnerPeriodPlaybackSeeking:function(Ge){return new Promise(function(Re){if(h.hasBufferAtTime(Ge.seekTime))return h.pruneBuffer(),nt(h.getContinuousBufferTimeForTargetTime(Ge.seekTime))&&h.setIsBufferingCompleted(!0),void Re();w.clearScheduleTimer(),b.abortRequests(),h.prepareForPlaybackSeek().then(function(){var rt=h.getAllRangesWithSafetyFactor(Ge.seekTime);return h.clearBuffers(rt)}).then(function(){var rt=h.getContinuousBufferTimeForTargetTime(Ge.seekTime);if(nt(rt))h.setIsBufferingCompleted(!0),Re();else{var fe=isNaN(rt)?Ge.seekTime:rt;jt(fe),h.setSeekTarget(fe);var pe=[];pe.push(h.updateAppendWindow());var Ve=Yt();pe.push(h.updateBufferTimestampOffset(Ve)),Promise.all(pe).then(function(){w.setInitSegmentRequired(!0),w.setCheckPlaybackQuality(!1),w.startScheduleTimer(),Re()})}}).catch(function(rt){l.error(rt)})})},prepareOuterPeriodPlaybackSeeking:function(){return new Promise(function(Ge,Re){try{w.clearScheduleTimer(),b.abortRequests(),h.prepareForPlaybackSeek().then(function(){return h.pruneAllSafely()}).then(function(){Ge()})}catch(rt){Re(rt)}})},reset:function(Ge,Re){U&&U.reset(),h&&(h.reset(Ge,Re),h=null),w&&(w.reset(),w=null),L&&(L.reset(),L=null),Z&&(Z=null),ne&&ne.unRegisterStreamType(Te(),ie),de.off(u.Z.DATA_UPDATE_COMPLETED,qe,r),de.off(u.Z.INIT_FRAGMENT_NEEDED,We,r),de.off(u.Z.MEDIA_FRAGMENT_NEEDED,Xe,r),de.off(u.Z.INIT_FRAGMENT_LOADED,Jt,r),de.off(u.Z.MEDIA_FRAGMENT_LOADED,ut,r),de.off(u.Z.BUFFER_LEVEL_STATE_CHANGED,ht,r),de.off(u.Z.BUFFER_CLEARED,gt,r),de.off(u.Z.SEEK_TARGET,kt,r),de.off(u.Z.FRAGMENT_LOADING_ABANDONED,an,r),de.off(u.Z.FRAGMENT_LOADING_COMPLETED,un,r),de.off(u.Z.SET_FRAGMENTED_TEXT_AFTER_DISABLED,Be,r),de.off(u.Z.SET_NON_FRAGMENTED_TEXT,ft,r),de.off(u.Z.QUOTA_EXCEEDED,$e,r),de.off(u.Z.SOURCE_BUFFER_ERROR,st,r),de.off(u.Z.BYTES_APPENDED_END_FRAGMENT,qt,r),et(),ie=null,G=null}},l=(0,m.Z)(ue).getInstance().getLogger(r),et(),de.on(u.Z.DATA_UPDATE_COMPLETED,qe,r,{priority:p.Z.EVENT_PRIORITY_HIGH}),de.on(u.Z.INIT_FRAGMENT_NEEDED,We,r),de.on(u.Z.MEDIA_FRAGMENT_NEEDED,Xe,r),de.on(u.Z.INIT_FRAGMENT_LOADED,Jt,r),de.on(u.Z.MEDIA_FRAGMENT_LOADED,ut,r),de.on(u.Z.BUFFER_LEVEL_STATE_CHANGED,ht,r),de.on(u.Z.BUFFER_CLEARED,gt,r),de.on(u.Z.SEEK_TARGET,kt,r),de.on(u.Z.FRAGMENT_LOADING_ABANDONED,an,r),de.on(u.Z.FRAGMENT_LOADING_COMPLETED,un,r),de.on(u.Z.QUOTA_EXCEEDED,$e,r),de.on(u.Z.SET_FRAGMENTED_TEXT_AFTER_DISABLED,Be,r),de.on(u.Z.SET_NON_FRAGMENTED_TEXT,ft,r),de.on(u.Z.SOURCE_BUFFER_ERROR,st,r),de.on(u.Z.BYTES_APPENDED_END_FRAGMENT,qt,r),r}it.__dashjs_factory_name="StreamProcessor";var Ut=_.Z.getClassFactory(it),It=function i(){(function(r,l){if(!(r instanceof l))throw new TypeError("Cannot call a class as a function")})(this,i),this.streamId=null,this.mediaInfo=null,this.segmentType=null,this.quality=NaN,this.index=NaN,this.bytes=null,this.start=NaN,this.end=NaN,this.duration=NaN,this.representationId=null,this.endFragment=null},Ft=P(9032);function Pt(i,r){if(i){if(typeof i=="string")return tn(i,r);var l=Object.prototype.toString.call(i).slice(8,-1);return l==="Object"&&i.constructor&&(l=i.constructor.name),l==="Map"||l==="Set"?Array.from(i):l==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(l)?tn(i,r):void 0}}function tn(i,r){(r==null||r>i.length)&&(r=i.length);for(var l=0,E=new Array(r);l<r;l++)E[l]=i[l];return E}function dn(i){i=i||{};var r,l,E=this.context,R=i.requestModifier,A=i.lowLatencyThroughputModel,h=i.boxParser,w=(0,Ae.Z)(E).getInstance();function L(N){var U,Z=new Date,ce=N.request,te=new Headers;if(ce.range&&te.append("Range","bytes="+ce.range),N.headers)for(var ue in N.headers){var de=N.headers[ue];de&&te.append(ue,de)}ce.requestStartDate||(ce.requestStartDate=Z),R&&R.modifyRequestHeader&&R.modifyRequestHeader({setRequestHeader:function(g,M){te.append(g,M)}},{url:N.url}),typeof window.AbortController=="function"&&(U=new AbortController,N.abortController=U,U.signal.onabort=N.onabort);var G={method:N.method,headers:te,credentials:N.withCredentials?"include":void 0,signal:U?U.signal:void 0},ie=w.get().streaming.abr.fetchThroughputCalculationMode,j=Date.now(),le=0;new Promise(function(g){if(ie===t.Z.ABR_FETCH_THROUGHPUT_CALCULATION_AAST&&A&&(le=A.getThroughputCapacityDelayMS(ce,1e3*l.getCurrentBufferLevel(ce.mediaType))))return setTimeout(g,le);g()}).then(function(){var g=Date.now();fetch(N.url,G).then(function(M){N.response||(N.response={}),N.response.status=M.status,N.response.statusText=M.statusText,N.response.responseURL=M.url,M.ok||N.onerror();var C,D="",b=function(qe,ht){var gt;if(typeof Symbol>"u"||qe[Symbol.iterator]==null){if(Array.isArray(qe)||(gt=Pt(qe))){gt&&(qe=gt);var st=0,qt=function(){};return{s:qt,n:function(){return st>=qe.length?{done:!0}:{done:!1,value:qe[st++]}},e:function(Be){throw Be},f:qt}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
 In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var Gt,an=!0,un=!1;return{s:function(){gt=qe[Symbol.iterator]()},n:function(){var Be=gt.next();return an=Be.done,Be},e:function(Be){un=!0,Gt=Be},f:function(){try{an||gt.return==null||gt.return()}finally{if(un)throw Gt}}}}(M.headers.keys());try{for(b.s();!(C=b.n()).done;){var ne=C.value;D+=ne+": "+M.headers.get(ne)+`\r
 `}}catch(qe){b.e(qe)}finally{b.f()}if(N.response.responseHeaders=D,!M.body)return M.arrayBuffer().then(function(qe){N.response.response=qe;var ht={loaded:qe.byteLength,total:qe.byteLength,stream:!1};N.progress(ht),N.onload(),N.onend()});var z,oe,Q,x,J=parseInt(M.headers.get("Content-Length"),10),he=0,Ne=!1,Te=new Uint8Array,Ce=0;if(ie===t.Z.ABR_FETCH_THROUGHPUT_CALCULATION_AAST&&A){var Ie=g,et=0,nt=(Q=M.body.tee(),x=2,function(qe){if(Array.isArray(qe))return qe}(Q)||function(qe,ht){if(typeof Symbol<"u"&&Symbol.iterator in Object(qe)){var gt=[],st=!0,qt=!1,Gt=void 0;try{for(var an,un=qe[Symbol.iterator]();!(st=(an=un.next()).done)&&(gt.push(an.value),!ht||gt.length!==ht);st=!0);}catch(Be){qt=!0,Gt=Be}finally{try{st||un.return==null||un.return()}finally{if(qt)throw Gt}}return gt}}(Q,x)||Pt(Q,x)||function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()),We=nt[0],Xe=nt[1];z=We.getReader(),oe=[],z.read().then(function qe(ht){var gt=ht.value,st=ht.done;if(et=Date.now(),gt&&gt.length){var qt=et-Ie,Gt=gt.length;oe.push({chunkDownloadTimeRelativeMS:et-g,chunkDownloadDurationMS:qt,chunkBytes:Gt,kbps:Math.round(8*Gt/(qt/1e3)),bufferLevel:l.getCurrentBufferLevel(ce.mediaType)})}if(st){var an=et-g,un=oe.reduce(function(Be,ft){return Be+ft.chunkBytes},0);return A.addMeasurement(ce,an,oe,j,le,D),void N.progress({loaded:un,total:un,lengthComputable:!0,time:A.getEstimatedDownloadDurationMS(ce),stream:!0})}return Ie=Date.now(),z.read().then(qe)}),N.reader=Xe.getReader()}else N.reader=M.body.getReader();var Mt=[],Ee=[],Fe=[],lt=!0;Y(N,function qe(ht){var gt=ht.value;if(ht.done){if(Te){if(ie!==t.Z.ABR_FETCH_THROUGHPUT_CALCULATION_AAST){var st=null,qt=null;ie===t.Z.ABR_FETCH_THROUGHPUT_CALCULATION_MOOF_PARSING?(st=function(Be,ft){try{var $e,vt;$e=Be.filter(function(Dt,xt){return xt<Be.length-1}),vt=ft.filter(function(Dt,xt){return xt<ft.length-1});var wt=[];if($e.length>1){for(var Ht=0,Yt=0,Kt=0;Kt<$e.length;Kt++)if($e[Kt]&&vt[Kt]){var Jt=vt[Kt].ts-$e[Kt].ts;if(Jt>1)wt.push(8*vt[Kt].bytes/Jt),Yt=0;else{Yt===0&&(Yt=$e[Kt].ts,Ht=0);var ut=vt[Kt].ts-Yt;ut>1?(Ht+=vt[Kt].bytes,wt.push(8*Ht/ut),Yt=0):Ht+=vt[Kt].bytes}}if(wt.length>0)return wt.reduce(function(Dt,xt){return Dt+xt},0)/wt.length}return null}catch{return null}}(Ee,Fe),st&&(qt=8*he/st)):ie===t.Z.ABR_FETCH_THROUGHPUT_CALCULATION_DOWNLOADED_DATA&&(qt=B(Mt,he)),N.progress({loaded:he,total:isNaN(J)?he:J,lengthComputable:!0,time:qt,stream:!0})}N.response.response=Te.buffer}return N.onload(),void N.onend()}if(gt&&gt.length>0){Te=function(Be,ft){if(Be.length===0)return ft;var $e=new Uint8Array(Be.length+ft.length);return $e.set(Be),$e.set(ft,Be.length),$e}(Te,gt),he+=gt.length,Mt.push({ts:Date.now(),bytes:gt.length}),ie===t.Z.ABR_FETCH_THROUGHPUT_CALCULATION_MOOF_PARSING&&lt&&h.findLastTopIsoBoxCompleted(["moof"],Te,Ce).found&&(lt=!1,Ee.push({ts:performance.now(),bytes:gt.length}));var Gt=h.findLastTopIsoBoxCompleted(["moov","mdat"],Te,Ce);if(Gt.found){var an,un=Gt.lastCompletedOffset+Gt.size;ie!==t.Z.ABR_FETCH_THROUGHPUT_CALCULATION_MOOF_PARSING||lt||(lt=!0,Fe.push({ts:performance.now(),bytes:Te.length})),un===Te.length?(an=Te,Te=new Uint8Array):(an=new Uint8Array(Te.subarray(0,un)),Te=Te.subarray(un)),N.progress({data:an.buffer,lengthComputable:!1,noTrace:!0}),Ce=0}else Ce=Gt.lastCompletedOffset,Ne||(N.progress({lengthComputable:!1,noTrace:!0}),Ne=!0)}Y(N,qe)})}).catch(function(M){N.onerror&&N.onerror(M)})})}function Y(N,U){N.reader.read().then(U).catch(function(Z){N.onerror&&N.response.status===200&&N.onerror(Z)})}function B(N,U){try{if((N=N.filter(function(te){return te.bytes>U/4/N.length})).length>1){var Z=0,ce=(N[N.length-1].ts-N[0].ts)/N.length;return N.forEach(function(te,se){var de=N[se+1];if(de){var G=de.ts-te.ts;Z+=G<ce?G:0}}),Z}return null}catch{return null}}return r={load:function(N){R&&R.modifyRequest?(0,Se.k)(N,R).then(function(){return L(N)}):L(N)},abort:function(N){if(N.abortController)N.abortController.abort();else if(N.reader)try{N.reader.cancel(),N.onabort()}catch{}},calculateDownloadedTime:B,setup:function(N){l=N.dashMetrics}},r}dn.__dashjs_factory_name="FetchLoader";var An=_.Z.getClassFactory(dn),_n=P(1180);function Rn(i,r){for(var l=0;l<r.length;l++){var E=r[l];E.enumerable=E.enumerable||!1,E.configurable=!0,"value"in E&&(E.writable=!0),Object.defineProperty(i,E.key,E)}}var qn=function(){function i(){(function(E,R){if(!(E instanceof R))throw new TypeError("Cannot call a class as a function")})(this,i),this.id=null,this.index=-1,this.adaptation=null,this.segmentInfoType=null,this.initialization=null,this.codecs=null,this.mimeType=null,this.codecPrivateData=null,this.segmentDuration=NaN,this.timescale=1,this.startNumber=1,this.indexRange=null,this.range=null,this.presentationTimeOffset=0,this.MSETimeOffset=NaN,this.mediaFinishedInformation={numberOfSegments:0,mediaTimeOfLastSignaledSegment:NaN},this.bandwidth=NaN,this.width=NaN,this.height=NaN,this.scanType=null,this.maxPlayoutRate=NaN,this.availabilityTimeOffset=0,this.availabilityTimeComplete=!0,this.frameRate=null}var r,l;return r=i,(l=[{key:"hasInitialization",value:function(){return this.initialization!==null||this.range!==null}},{key:"hasSegments",value:function(){return this.segmentInfoType!==e.Z.BASE_URL&&this.segmentInfoType!==e.Z.SEGMENT_BASE&&!this.indexRange}}])&&Rn(r.prototype,l),i}(),yn=function i(){(function(r,l){if(!(r instanceof l))throw new TypeError("Cannot call a class as a function")})(this,i),this.period=null,this.index=-1,this.type=null},Qn=function i(){(function(r,l){if(!(r instanceof l))throw new TypeError("Cannot call a class as a function")})(this,i),this.id=null,this.index=-1,this.duration=NaN,this.start=NaN,this.mpd=null,this.nextPeriodId=null};Qn.DEFAULT_ID="defaultId";var xn=Qn,Vn=function i(){(function(r,l){if(!(r instanceof l))throw new TypeError("Cannot call a class as a function")})(this,i),this.manifest=null,this.suggestedPresentationDelay=0,this.availabilityStartTime=null,this.availabilityEndTime=Number.POSITIVE_INFINITY,this.timeShiftBufferDepth=Number.POSITIVE_INFINITY,this.maxSegmentDuration=Number.POSITIVE_INFINITY,this.publishTime=null,this.minimumUpdatePeriod=NaN,this.mediaPresentationDuration=NaN},er=P(2610),Kn=function i(){(function(r,l){if(!(r instanceof l))throw new TypeError("Cannot call a class as a function")})(this,i),this.type="",this.duration=NaN,this.presentationTime=NaN,this.id=NaN,this.messageData="",this.eventStream=null,this.presentationTimeDelta=NaN},nr=function i(r,l,E,R){(function(A,h){if(!(A instanceof h))throw new TypeError("Cannot call a class as a function")})(this,i),this.url=r||"",this.serviceLocation=l||r||"",this.dvbPriority=E||1,this.dvbWeight=R||1,this.availabilityTimeOffset=0,this.availabilityTimeComplete=!0,this.queryParams={}};nr.DEFAULT_DVB_PRIORITY=1,nr.DEFAULT_DVB_WEIGHT=1;var rr=nr,Cr=function i(){(function(r,l){if(!(r instanceof l))throw new TypeError("Cannot call a class as a function")})(this,i),this.adaptionSet=null,this.representation=null,this.period=null,this.timescale=1,this.value="",this.schemeIdUri="",this.presentationTimeOffset=0},bt=function i(){(function(r,l){if(!(r instanceof l))throw new TypeError("Cannot call a class as a function")})(this,i),this.id=null,this.inband=!1,this.type="encoder",this.applicationScheme=null,this.wallClockTime=null,this.presentationTime=NaN,this.UTCTiming=null},Et=function i(){(function(r,l){if(!(r instanceof l))throw new TypeError("Cannot call a class as a function")})(this,i),this.defaultServiceLocation=null,this.defaultServiceLocationArray=[],this.queryBeforeStart=!1,this.serverUrl=null,this.clientRequirement=!0};function Tt(i,r){for(var l=0;l<r.length;l++){var E=r[l];E.enumerable=E.enumerable||!1,E.configurable=!0,"value"in E&&(E.writable=!0),Object.defineProperty(i,E.key,E)}}var Ze=function(){function i(){(function(E,R){if(!(E instanceof R))throw new TypeError("Cannot call a class as a function")})(this,i),this.schemeIdUri=null,this.value=null,this.id=null}var r,l;return r=i,(l=[{key:"init",value:function(E){return E&&(this.schemeIdUri=E.schemeIdUri?E.schemeIdUri:null,this.value=E.value?E.value:null,this.id=E.id?E.id:null,E[e.Z.DVB_URL]&&(this.dvbUrl=E[e.Z.DVB_URL]),E[e.Z.DVB_MIMETYPE]&&(this.dvbMimeType=E[e.Z.DVB_MIMETYPE]),E[e.Z.DVB_FONTFAMILY]&&(this.dvbFontFamily=E[e.Z.DVB_FONTFAMILY])),this}}])&&Tt(r.prototype,l),i}(),ct=P(3101),je=P.n(ct);function ot(){return{areEqual:function(i,r){return je()(i,r)}}}ot.__dashjs_factory_name="ObjectUtils";var Ot=_.Z.getSingletonFactory(ot),Lt=P(7803),Wt=function i(r,l){(function(E,R){if(!(E instanceof R))throw new TypeError("Cannot call a class as a function")})(this,i),this.url=r||"",this.serviceLocation=l||null,this.queryParams={}},Xt=function i(r,l,E){(function(R,A){if(!(R instanceof A))throw new TypeError("Cannot call a class as a function")})(this,i),this.url=r||"",this.serviceLocation=l||null,this.ttl=E||NaN,this.queryParams={}};function Bt(i,r){var l=Object.keys(i);if(Object.getOwnPropertySymbols){var E=Object.getOwnPropertySymbols(i);r&&(E=E.filter(function(R){return Object.getOwnPropertyDescriptor(i,R).enumerable})),l.push.apply(l,E)}return l}function yt(i){for(var r=1;r<arguments.length;r++){var l=arguments[r]!=null?arguments[r]:{};r%2?Bt(Object(l),!0).forEach(function(E){zt(i,E,l[E])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(l)):Bt(Object(l)).forEach(function(E){Object.defineProperty(i,E,Object.getOwnPropertyDescriptor(l,E))})}return i}function zt(i,r,l){return r in i?Object.defineProperty(i,r,{value:l,enumerable:!0,configurable:!0,writable:!0}):i[r]=l,i}function Vt(i,r){var l;if(typeof Symbol>"u"||i[Symbol.iterator]==null){if(Array.isArray(i)||(l=rn(i))||r&&i&&typeof i.length=="number"){l&&(i=l);var E=0,R=function(){};return{s:R,n:function(){return E>=i.length?{done:!0}:{done:!1,value:i[E++]}},e:function(L){throw L},f:R}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var A,h=!0,w=!1;return{s:function(){l=i[Symbol.iterator]()},n:function(){var L=l.next();return h=L.done,L},e:function(L){w=!0,A=L},f:function(){try{h||l.return==null||l.return()}finally{if(w)throw A}}}}function rn(i,r){if(i){if(typeof i=="string")return gn(i,r);var l=Object.prototype.toString.call(i).slice(8,-1);return l==="Object"&&i.constructor&&(l=i.constructor.name),l==="Map"||l==="Set"?Array.from(i):l==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(l)?gn(i,r):void 0}}function gn(i,r){(r==null||r>i.length)&&(r=i.length);for(var l=0,E=new Array(r);l<r;l++)E[l]=i[l];return E}function vn(){var i,r,l,E,R=this.context,A=(0,ze.Z)(R).getInstance(),h=Number.isInteger||function(g){return typeof g=="number"&&isFinite(g)&&Math.floor(g)===g};function w(g,M){if(!g)throw new Error("adaptation is not defined");if(!M)throw new Error("type is not defined");if(g.Representation_asArray&&g.Representation_asArray.length){var C=se(g.Representation_asArray[0]);if(C&&C.length>0&&Lt.Y.indexOf(C[0].schemeIdUri)>=0)return M===t.Z.IMAGE}if(g.ContentComponent_asArray&&g.ContentComponent_asArray.length>0){if(g.ContentComponent_asArray.length>1)return M===t.Z.MUXED;if(g.ContentComponent_asArray[0].contentType===M)return!0}var D=M===t.Z.TEXT?new RegExp("(ttml|vtt|wvtt|stpp)"):new RegExp(M);if(g.Representation_asArray&&g.Representation_asArray.length){var b=g.Representation_asArray[0].codecs;if(D.test(b))return!0}if(g.hasOwnProperty(e.Z.MIME_TYPE))return D.test(g.mimeType);if(g.Representation_asArray){for(var ne,z=0;z<g.Representation_asArray.length;z++)if((ne=g.Representation_asArray[z]).hasOwnProperty(e.Z.MIME_TYPE))return D.test(ne.mimeType)}return!1}function L(g){if(!g)throw new Error("adaptation is not defined");if(g.hasOwnProperty(e.Z.SEGMENT_TEMPLATE)||g.hasOwnProperty(e.Z.SEGMENT_TIMELINE)||g.hasOwnProperty(e.Z.SEGMENT_LIST)||g.hasOwnProperty(e.Z.SEGMENT_BASE))return!0;if(g.Representation_asArray&&g.Representation_asArray.length>0){var M=g.Representation_asArray[0];if(M.hasOwnProperty(e.Z.SEGMENT_TEMPLATE)||M.hasOwnProperty(e.Z.SEGMENT_TIMELINE)||M.hasOwnProperty(e.Z.SEGMENT_LIST)||M.hasOwnProperty(e.Z.SEGMENT_BASE))return!0}return!1}function Y(g){return w(g,t.Z.VIDEO)}function B(g){return w(g,t.Z.TEXT)}function N(g){return w(g,t.Z.IMAGE)}function U(g){return g&&Array.isArray(g.Representation_asArray)&&g.Representation_asArray.sort(function(M,C){return M.bandwidth-C.bandwidth}),g}function Z(g,M){return g&&g.Period_asArray&&h(M)&&g.Period_asArray[M]?g.Period_asArray[M].AdaptationSet_asArray:[]}function ce(g){return g&&g.Period_asArray?g.Period_asArray:[]}function te(g){var M=!1;return g&&g.hasOwnProperty("type")&&(M=g.type===e.Z.DYNAMIC),M}function se(g){return g&&g.EssentialProperty_asArray&&g.EssentialProperty_asArray.length?g.EssentialProperty_asArray.map(function(M){return{schemeIdUri:M.schemeIdUri,value:M.value}}):null}function de(g){if(!g||!g.S_asArray)return NaN;var M=g.S_asArray[0],C=g.S_asArray[1];return M.hasOwnProperty("d")?M.d:C.t-M.t}function G(g,M){if(!g)throw new Error("Period cannot be null or undefined");var C=xn.DEFAULT_ID+"_"+M;return g.hasOwnProperty(e.Z.ID)&&g.id.length>0&&g.id!=="__proto__"&&(C=g.id),C}function ie(g,M,C){var D,b=[];if(!g)return b;for(D=0;D<g.length;D++){var ne=new Cr;if(ne.timescale=1,ne.representation=M,!g[D].hasOwnProperty(t.Z.SCHEME_ID_URI))throw new Error("Invalid EventStream. SchemeIdUri has to be set");ne.schemeIdUri=g[D].schemeIdUri,g[D].hasOwnProperty(e.Z.TIMESCALE)&&(ne.timescale=g[D].timescale),g[D].hasOwnProperty(e.Z.VALUE)&&(ne.value=g[D].value),b.push(ne),ne.period=C}return b}function j(g){var M=[],C=g.BaseURL_asArray||[g.baseUri],D=!1;return C.some(function(b){if(b){var ne=new rr,z=b.__text||b;return A.isRelative(z)&&(D=!0,g.baseUri&&(z=A.resolve(z,g.baseUri))),ne.url=z,b.hasOwnProperty(e.Z.SERVICE_LOCATION)&&b.serviceLocation.length?ne.serviceLocation=b.serviceLocation:ne.serviceLocation=z,b.hasOwnProperty(e.Z.DVB_PRIORITY)&&(ne.dvbPriority=b[e.Z.DVB_PRIORITY]),b.hasOwnProperty(e.Z.DVB_WEIGHT)&&(ne.dvbWeight=b[e.Z.DVB_WEIGHT]),b.hasOwnProperty(e.Z.AVAILABILITY_TIME_OFFSET)&&(ne.availabilityTimeOffset=b[e.Z.AVAILABILITY_TIME_OFFSET]),b.hasOwnProperty(e.Z.AVAILABILITY_TIME_COMPLETE)&&(ne.availabilityTimeComplete=b[e.Z.AVAILABILITY_TIME_COMPLETE]!=="false"),M.push(ne),D}}),M}function le(g){var M=new Et;return M.serverUrl=g.__text,g.hasOwnProperty(e.Z.DEFAULT_SERVICE_LOCATION)&&(M.defaultServiceLocation=g[e.Z.DEFAULT_SERVICE_LOCATION],M.defaultServiceLocationArray=M.defaultServiceLocation.split(" ")),g.hasOwnProperty(e.Z.QUERY_BEFORE_START)&&(M.queryBeforeStart=g[e.Z.QUERY_BEFORE_START].toLowerCase()==="true"),g.hasOwnProperty(e.Z.CLIENT_REQUIREMENT)&&(M.clientRequirement=g[e.Z.CLIENT_REQUIREMENT].toLowerCase()!=="false"),M}return i={getIsTypeOf:w,getIsText:B,getIsFragmented:L,getProducerReferenceTimesForAdaptation:function(g){var M=g&&g.hasOwnProperty(e.Z.PRODUCERREFERENCETIME_ASARRAY)?g[e.Z.PRODUCERREFERENCETIME_ASARRAY]:[];(g&&g.hasOwnProperty(e.Z.REPRESENTATION_ASARRAY)?g[e.Z.REPRESENTATION_ASARRAY]:[]).forEach(function(D){var b;D.hasOwnProperty(e.Z.PRODUCERREFERENCETIME_ASARRAY)&&M.push.apply(M,function(ne){if(Array.isArray(ne))return gn(ne)}(b=D[e.Z.PRODUCERREFERENCETIME_ASARRAY])||function(ne){if(typeof Symbol<"u"&&Symbol.iterator in Object(ne))return Array.from(ne)}(b)||rn(b)||function(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}())});var C=[];return M.forEach(function(D){var b=new bt;D.hasOwnProperty(e.Z.ID)&&(b[e.Z.ID]=D[e.Z.ID],D.hasOwnProperty(e.Z.WALL_CLOCK_TIME)&&(b[e.Z.WALL_CLOCK_TIME]=D[e.Z.WALL_CLOCK_TIME],D.hasOwnProperty(e.Z.PRESENTATION_TIME)&&(b[e.Z.PRESENTATION_TIME]=D[e.Z.PRESENTATION_TIME],D.hasOwnProperty(e.Z.INBAND)&&(b[e.Z.INBAND]=D[e.Z.INBAND]!=="false"),D.hasOwnProperty(e.Z.TYPE)&&(b[e.Z.TYPE]=D[e.Z.TYPE]),C.push(b))))}),C},getLanguageForAdaptation:function(g){var M="";return g&&g.hasOwnProperty(e.Z.LANG)&&(M=g.lang),M},getViewpointForAdaptation:function(g){return g&&g.hasOwnProperty(e.Z.VIEWPOINT_ASARRAY)&&g[e.Z.VIEWPOINT_ASARRAY].length?g[e.Z.VIEWPOINT_ASARRAY].map(function(M){return new Ze().init(M)}):[]},getRolesForAdaptation:function(g){return g&&g.hasOwnProperty(e.Z.ROLE_ASARRAY)&&g[e.Z.ROLE_ASARRAY].length?g[e.Z.ROLE_ASARRAY].map(function(M){return new Ze().init(M)}):[]},getAccessibilityForAdaptation:function(g){return g&&g.hasOwnProperty(e.Z.ACCESSIBILITY_ASARRAY)&&g[e.Z.ACCESSIBILITY_ASARRAY].length?g[e.Z.ACCESSIBILITY_ASARRAY].map(function(M){return new Ze().init(M)}):[]},getAudioChannelConfigurationForAdaptation:function(g){return g&&g.hasOwnProperty(e.Z.AUDIOCHANNELCONFIGURATION_ASARRAY)&&g[e.Z.AUDIOCHANNELCONFIGURATION_ASARRAY].length?g[e.Z.AUDIOCHANNELCONFIGURATION_ASARRAY].map(function(M){return new Ze().init(M)}):[]},getAudioChannelConfigurationForRepresentation:function(g){return g&&g.hasOwnProperty(e.Z.AUDIOCHANNELCONFIGURATION_ASARRAY)&&g[e.Z.AUDIOCHANNELCONFIGURATION_ASARRAY].length?g[e.Z.AUDIOCHANNELCONFIGURATION_ASARRAY].map(function(M){return new Ze().init(M)}):[]},getAdaptationForIndex:function(g,M,C){var D=Z(M,C);return D.length>0&&h(g)?D[g]:null},getIndexForAdaptation:function(g,M,C){if(!g)return-1;for(var D=Z(M,C),b=0;b<D.length;b++)if(Ot(R).getInstance().areEqual(D[b],g))return b;return-1},getAdaptationForId:function(g,M,C){var D,b,ne=Z(M,C);for(D=0,b=ne.length;D<b;D++)if(ne[D].hasOwnProperty(e.Z.ID)&&ne[D].id===g)return ne[D];return null},getAdaptationsForType:function(g,M,C){var D,b,ne=Z(g,M),z=[];for(D=0,b=ne.length;D<b;D++)w(ne[D],C)&&z.push(U(ne[D]));return z},getRealPeriods:ce,getRealPeriodForIndex:function(g,M){var C=ce(M);return C.length>0&&h(g)?C[g]:null},getCodec:function(g,M,C){var D=null;if(g&&g.Representation_asArray&&g.Representation_asArray.length>0){var b=h(M)&&M>=0&&M<g.Representation_asArray.length?g.Representation_asArray[M]:g.Representation_asArray[0];b&&(D=b.mimeType+';codecs="'+b.codecs+'"',C&&b.width!==void 0&&(D+=';width="'+b.width+'";height="'+b.height+'"'))}return D&&(D=D.replace(/\sprofiles=[^;]*/g,"")),D},getSelectionPriority:function(g){try{var M=g&&g.selectionPriority!==void 0?parseInt(g.selectionPriority):1;return isNaN(M)?1:M}catch{return 1}},getMimeType:function(g){return g&&g.Representation_asArray&&g.Representation_asArray.length>0?g.Representation_asArray[0].mimeType:null},getKID:function(g){return g&&g.hasOwnProperty(e.Z.CENC_DEFAULT_KID)?g[e.Z.CENC_DEFAULT_KID]:null},getLabelsForAdaptation:function(g){if(!g||!Array.isArray(g.Label_asArray))return[];for(var M=[],C=0;C<g.Label_asArray.length;C++)M.push({lang:g.Label_asArray[C].lang,text:g.Label_asArray[C].__text||g.Label_asArray[C]});return M},getContentProtectionData:function(g){return g&&g.hasOwnProperty(e.Z.CONTENTPROTECTION_ASARRAY)&&g.ContentProtection_asArray.length!==0?g.ContentProtection_asArray:null},getIsDynamic:te,getId:function(g){return g&&g[e.Z.ID]||null},hasProfile:function(g,M){var C=!1;return g&&g.profiles&&g.profiles.length>0&&(C=g.profiles.indexOf(M)!==-1),C},getDuration:function(g){return g&&g.hasOwnProperty(e.Z.MEDIA_PRESENTATION_DURATION)?g.mediaPresentationDuration:g&&g.type=="dynamic"?Number.POSITIVE_INFINITY:Number.MAX_SAFE_INTEGER||Number.MAX_VALUE},getBandwidth:function(g){return g&&g.bandwidth?g.bandwidth:NaN},getManifestUpdatePeriod:function(g){var M=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,C=NaN;return g&&g.hasOwnProperty(e.Z.MINIMUM_UPDATE_PERIOD)&&(C=g.minimumUpdatePeriod),isNaN(C)?C:Math.max(C-M,1)},getPublishTime:function(g){return g&&g.hasOwnProperty(e.Z.PUBLISH_TIME)?new Date(g[e.Z.PUBLISH_TIME]):null},getRepresentationCount:function(g){return g&&Array.isArray(g.Representation_asArray)?g.Representation_asArray.length:0},getBitrateListForAdaptation:function(g){var M=U(g);return(M&&Array.isArray(M.Representation_asArray)?M.Representation_asArray:[]).map(function(C){return{bandwidth:C.bandwidth,width:C.width||0,height:C.height||0,scanType:C.scanType||null,id:C.id||null}})},getRepresentationFor:function(g,M){return M&&M.Representation_asArray&&M.Representation_asArray.length>0&&h(g)?M.Representation_asArray[g]:null},getRepresentationsForAdaptation:function(g){var M,C,D,b,ne=[],z=function(Te){if(Te&&Te.period&&h(Te.period.index)){var Ce=Te.period.mpd.manifest.Period_asArray[Te.period.index];if(Ce&&Ce.AdaptationSet_asArray&&h(Te.index))return U(Ce.AdaptationSet_asArray[Te.index])}}(g);if(z&&z.Representation_asArray){if(g&&g.period&&h(g.period.index)){var oe=j(g.period.mpd.manifest);oe&&(C=oe[0])}for(var Q=0,x=z.Representation_asArray.length;Q<x;++Q){var J=z.Representation_asArray[Q],he=new qn;if(he.index=Q,he.adaptation=g,J.hasOwnProperty(e.Z.ID)&&(he.id=J.id),J.hasOwnProperty(e.Z.CODECS)&&(he.codecs=J.codecs),J.hasOwnProperty(e.Z.MIME_TYPE)&&(he.mimeType=J[e.Z.MIME_TYPE]),J.hasOwnProperty(e.Z.CODEC_PRIVATE_DATA)&&(he.codecPrivateData=J.codecPrivateData),J.hasOwnProperty(e.Z.BANDWITH)&&(he.bandwidth=J.bandwidth),J.hasOwnProperty(e.Z.WIDTH)&&(he.width=J.width),J.hasOwnProperty(e.Z.HEIGHT)&&(he.height=J.height),J.hasOwnProperty(e.Z.SCAN_TYPE)&&(he.scanType=J.scanType),J.hasOwnProperty(e.Z.MAX_PLAYOUT_RATE)&&(he.maxPlayoutRate=J.maxPlayoutRate),J.hasOwnProperty(e.Z.SEGMENT_BASE)?(M=J.SegmentBase,he.segmentInfoType=e.Z.SEGMENT_BASE):J.hasOwnProperty(e.Z.SEGMENT_LIST)?(M=J.SegmentList).hasOwnProperty(e.Z.SEGMENT_TIMELINE)?he.segmentInfoType=e.Z.SEGMENT_TIMELINE:he.segmentInfoType=e.Z.SEGMENT_LIST:J.hasOwnProperty(e.Z.SEGMENT_TEMPLATE)?((M=J.SegmentTemplate).hasOwnProperty(e.Z.SEGMENT_TIMELINE)?he.segmentInfoType=e.Z.SEGMENT_TIMELINE:he.segmentInfoType=e.Z.SEGMENT_TEMPLATE,M.hasOwnProperty(e.Z.INITIALIZATION_MINUS)&&(he.initialization=M.initialization.split("$Bandwidth$").join(J.bandwidth).split("$RepresentationID$").join(J.id))):he.segmentInfoType=e.Z.BASE_URL,he.essentialProperties=se(J),M){if(M.hasOwnProperty(e.Z.INITIALIZATION)){var Ne=M.Initialization;Ne.hasOwnProperty(e.Z.SOURCE_URL)&&(he.initialization=Ne.sourceURL),Ne.hasOwnProperty(e.Z.RANGE)&&(he.range=Ne.range)}else B(z)&&L(z)&&z.mimeType&&z.mimeType.indexOf("application/mp4")===-1&&(he.range=0);M.hasOwnProperty(e.Z.TIMESCALE)&&(he.timescale=M.timescale),M.hasOwnProperty(e.Z.DURATION)?he.segmentDuration=M.duration/he.timescale:J.hasOwnProperty(e.Z.SEGMENT_TEMPLATE)&&(M=J.SegmentTemplate).hasOwnProperty(e.Z.SEGMENT_TIMELINE)&&(he.segmentDuration=de(M.SegmentTimeline)/he.timescale),M.hasOwnProperty(e.Z.MEDIA)&&(he.media=M.media),M.hasOwnProperty(e.Z.START_NUMBER)&&(he.startNumber=M.startNumber),M.hasOwnProperty(e.Z.INDEX_RANGE)&&(he.indexRange=M.indexRange),M.hasOwnProperty(e.Z.PRESENTATION_TIME_OFFSET)&&(he.presentationTimeOffset=M.presentationTimeOffset/he.timescale),M.hasOwnProperty(e.Z.AVAILABILITY_TIME_OFFSET)?he.availabilityTimeOffset=M.availabilityTimeOffset:C&&C.availabilityTimeOffset!==void 0&&(he.availabilityTimeOffset=C.availabilityTimeOffset),M.hasOwnProperty(e.Z.AVAILABILITY_TIME_COMPLETE)?he.availabilityTimeComplete=M.availabilityTimeComplete!=="false":C&&C.availabilityTimeComplete!==void 0&&(he.availabilityTimeComplete=C.availabilityTimeComplete)}he.MSETimeOffset=(b=(D=he).presentationTimeOffset,D.adaptation.period.start-b),he.path=[g.period.index,g.index,Q],ne.push(he)}}return ne},getAdaptationsForPeriod:function(g){var M,C,D,b=g&&h(g.index)?g.mpd.manifest.Period_asArray[g.index]:null,ne=[];if(b&&b.AdaptationSet_asArray)for(D=0;D<b.AdaptationSet_asArray.length;D++)C=b.AdaptationSet_asArray[D],M=new yn,C.hasOwnProperty(e.Z.ID)&&(M.id=C.id),M.index=D,M.period=g,w(C,t.Z.MUXED)?M.type=t.Z.MUXED:w(C,t.Z.AUDIO)?M.type=t.Z.AUDIO:Y(C)?M.type=t.Z.VIDEO:B(C)?M.type=t.Z.TEXT:N(C)?M.type=t.Z.IMAGE:r.warn("Unknown Adaptation stream type"),ne.push(M);return ne},getRegularPeriods:function(g){var M,C,D=!!g&&te(g.manifest),b=[],ne=null,z=null,oe=null,Q=null;for(C=0,M=g&&g.manifest&&g.manifest.Period_asArray?g.manifest.Period_asArray.length:0;C<M;C++)(z=g.manifest.Period_asArray[C]).hasOwnProperty(e.Z.START)?(Q=new xn).start=z.start:ne!==null&&ne.hasOwnProperty(e.Z.DURATION)&&oe!==null?(Q=new xn).start=parseFloat((oe.start+oe.duration).toFixed(5)):C!==0||D||((Q=new xn).start=0),oe!==null&&isNaN(oe.duration)&&(Q!==null?oe.duration=parseFloat((Q.start-oe.start).toFixed(5)):r.warn("First period duration could not be calculated because lack of start and duration period properties. This will cause timing issues during playback")),Q!==null&&(Q.id=G(z,C),Q.index=C,Q.mpd=g,z.hasOwnProperty(e.Z.DURATION)&&(Q.duration=z.duration),oe&&(oe.nextPeriodId=Q.id),b.push(Q),ne=z,oe=Q),z=null,Q=null;return b.length===0||oe!==null&&isNaN(oe.duration)&&(oe.duration=parseFloat((function(x){(function(){if(!l||!l.hasOwnProperty("error"))throw new Error(t.Z.MISSING_CONFIG_ERROR)})();var J,he=te(x.mpd.manifest);return x.mpd.manifest.mediaPresentationDuration?J=x.mpd.manifest.mediaPresentationDuration:x.duration?J=x.duration:he?J=Number.POSITIVE_INFINITY:l.error(new re.Z(X.MANIFEST_ERROR_ID_PARSE_CODE,"Must have @mediaPresentationDuration on MPD or an explicit @duration on the last period.",x)),J}(oe)-oe.start).toFixed(5))),b},getMpd:function(g){var M=new Vn;return g&&(M.manifest=g,g.hasOwnProperty(e.Z.AVAILABILITY_START_TIME)?M.availabilityStartTime=new Date(g.availabilityStartTime.getTime()):g.loadedTime&&(M.availabilityStartTime=new Date(g.loadedTime.getTime())),g.hasOwnProperty(e.Z.AVAILABILITY_END_TIME)&&(M.availabilityEndTime=new Date(g.availabilityEndTime.getTime())),g.hasOwnProperty(e.Z.MINIMUM_UPDATE_PERIOD)&&(M.minimumUpdatePeriod=g.minimumUpdatePeriod),g.hasOwnProperty(e.Z.MEDIA_PRESENTATION_DURATION)&&(M.mediaPresentationDuration=g.mediaPresentationDuration),g.hasOwnProperty(e.Z.SUGGESTED_PRESENTATION_DELAY)&&(M.suggestedPresentationDelay=g.suggestedPresentationDelay),g.hasOwnProperty(e.Z.TIMESHIFT_BUFFER_DEPTH)&&(M.timeShiftBufferDepth=g.timeShiftBufferDepth),g.hasOwnProperty(e.Z.MAX_SEGMENT_DURATION)&&(M.maxSegmentDuration=g.maxSegmentDuration),g.hasOwnProperty(e.Z.PUBLISH_TIME)&&(M.publishTime=new Date(g.publishTime))),M},getEventsForPeriod:function(g){var M,C,D=g&&g.mpd&&g.mpd.manifest?g.mpd.manifest:null,b=D?D.Period_asArray:null,ne=b&&g&&h(g.index)?b[g.index].EventStream_asArray:null,z=[];if(ne)for(M=0;M<ne.length;M++){var oe=new Cr;if(oe.period=g,oe.timescale=1,!ne[M].hasOwnProperty(t.Z.SCHEME_ID_URI))throw new Error("Invalid EventStream. SchemeIdUri has to be set");for(oe.schemeIdUri=ne[M][t.Z.SCHEME_ID_URI],ne[M].hasOwnProperty(e.Z.TIMESCALE)&&(oe.timescale=ne[M][e.Z.TIMESCALE]),ne[M].hasOwnProperty(e.Z.VALUE)&&(oe.value=ne[M][e.Z.VALUE]),ne[M].hasOwnProperty(e.Z.PRESENTATION_TIME_OFFSET)&&(oe.presentationTimeOffset=ne[M][e.Z.PRESENTATION_TIME_OFFSET]),C=0;ne[M].Event_asArray&&C<ne[M].Event_asArray.length;C++){var Q=ne[M].Event_asArray[C],x=new Kn;x.presentationTime=0,x.eventStream=oe,Q.hasOwnProperty(e.Z.PRESENTATION_TIME)&&(x.presentationTime=Q.presentationTime);var J=oe.presentationTimeOffset?oe.presentationTimeOffset/oe.timescale:0;x.calculatedPresentationTime=x.presentationTime/oe.timescale+g.start-J,Q.hasOwnProperty(e.Z.DURATION)&&(x.duration=Q.duration/oe.timescale),Q.hasOwnProperty(e.Z.ID)?x.id=Q.id:x.id=null,Q.Signal&&Q.Signal.Binary?x.messageData=E.decodeArray(Q.Signal.Binary.toString()):x.messageData=Q.messageData||Q.__cdata||Q.__text,z.push(x)}}return z},getEssentialPropertiesForAdaptation:function(g){var M={};if(g&&g.hasOwnProperty(e.Z.ESSENTIAL_PROPERTY_ASARRAY)){var C,D=Vt(g.EssentialProperty_asArray);try{for(D.s();!(C=D.n()).done;){var b=C.value;b.hasOwnProperty(t.Z.SCHEME_ID_URI)&&(M[b[t.Z.SCHEME_ID_URI]]=yt({},b))}}catch(ne){D.e(ne)}finally{D.f()}}return M},getEssentialPropertiesAsArrayForAdaptation:function(g){return g&&g.hasOwnProperty(e.Z.ESSENTIAL_PROPERTY_ASARRAY)&&g.EssentialProperty_asArray.length?g.EssentialProperty_asArray.map(function(M){return new Ze().init(M)}):[]},getEssentialPropertiesForRepresentation:se,getEventStreamForAdaptationSet:function(g,M,C){var D,b,ne;return g&&g.Period_asArray&&M&&M.period&&h(M.period.index)&&(b=g.Period_asArray[M.period.index])&&b.AdaptationSet_asArray&&h(M.index)&&(ne=b.AdaptationSet_asArray[M.index])&&(D=ne.InbandEventStream_asArray),ie(D,null,C)},getEventStreamForRepresentation:function(g,M,C){var D,b,ne,z;return g&&g.Period_asArray&&M&&M.adaptation&&M.adaptation.period&&h(M.adaptation.period.index)&&(b=g.Period_asArray[M.adaptation.period.index])&&b.AdaptationSet_asArray&&h(M.adaptation.index)&&(ne=b.AdaptationSet_asArray[M.adaptation.index])&&ne.Representation_asArray&&h(M.index)&&(z=ne.Representation_asArray[M.index])&&(D=z.InbandEventStream_asArray),ie(D,M,C)},getUTCTimingSources:function(g){var M=te(g),C=!!g&&g.hasOwnProperty(e.Z.AVAILABILITY_START_TIME),D=g?g.UTCTiming_asArray:null,b=[];return(M||C)&&D&&D.forEach(function(ne){var z=new er.Z;ne.hasOwnProperty(t.Z.SCHEME_ID_URI)&&(z.schemeIdUri=ne.schemeIdUri,ne.hasOwnProperty(e.Z.VALUE)&&(z.value=ne.value.toString(),b.push(z)))}),b},getBaseURLsFromElement:j,getRepresentationSortFunction:function(){return function(g,M){return g.bandwidth-M.bandwidth}},getContentSteering:function(g){if(g&&g.hasOwnProperty(e.Z.CONTENT_STEERING_AS_ARRAY))return le(g[e.Z.CONTENT_STEERING_AS_ARRAY][0])},getLocation:function(g){return g&&g.hasOwnProperty(e.Z.LOCATION_AS_ARRAY)?g[e.Z.LOCATION_AS_ARRAY].map(function(M){var C=M.__text||M,D=M.hasOwnProperty(e.Z.SERVICE_LOCATION)?M[e.Z.SERVICE_LOCATION]:null;return new Wt(C,D)}):[]},getPatchLocation:function(g){return g&&g.hasOwnProperty(e.Z.PATCH_LOCATION_AS_ARRAY)?g[e.Z.PATCH_LOCATION_AS_ARRAY].map(function(M){var C=M.__text||M,D=M.hasOwnProperty(e.Z.SERVICE_LOCATION)?M[e.Z.SERVICE_LOCATION]:null,b=M.hasOwnProperty(e.Z.TTL)?1e3*parseFloat(M[e.Z.TTL]):NaN;return new Xt(C,D,b)}):[]},getSuggestedPresentationDelay:function(g){return g&&g.hasOwnProperty(e.Z.SUGGESTED_PRESENTATION_DELAY)?g.suggestedPresentationDelay:null},getAvailabilityStartTime:function(g){return g&&g.hasOwnProperty(e.Z.AVAILABILITY_START_TIME)&&g.availabilityStartTime!==null?g.availabilityStartTime.getTime():null},getServiceDescriptions:function(g){var M=[];if(g&&g.hasOwnProperty(e.Z.SERVICE_DESCRIPTION)){var C,D=Vt(g.ServiceDescription_asArray);try{for(D.s();!(C=D.n()).done;){var b=C.value,ne=null,z=null,oe=null,Q=null,x=null,J=null,he=null;for(var Ne in b)b.hasOwnProperty(Ne)&&(Ne===e.Z.ID?ne=b[Ne]:Ne===e.Z.SERVICE_DESCRIPTION_SCOPE?z=b[Ne].schemeIdUri:Ne===e.Z.SERVICE_DESCRIPTION_LATENCY?oe={target:parseInt(b[Ne].target),max:parseInt(b[Ne].max),min:parseInt(b[Ne].min),referenceId:parseInt(b[Ne].referenceId)}:Ne===e.Z.SERVICE_DESCRIPTION_PLAYBACK_RATE?Q={max:parseFloat(b[Ne].max),min:parseFloat(b[Ne].min)}:Ne===e.Z.SERVICE_DESCRIPTION_OPERATING_QUALITY?x={mediaType:b[Ne].mediaType,max:parseInt(b[Ne].max),min:parseInt(b[Ne].min),target:parseInt(b[Ne].target),type:b[Ne].type,maxQualityDifference:parseInt(b[Ne].maxQualityDifference)}:Ne===e.Z.SERVICE_DESCRIPTION_OPERATING_BANDWIDTH?J={mediaType:b[Ne].mediaType,max:parseInt(b[Ne].max),min:parseInt(b[Ne].min),target:parseInt(b[Ne].target)}:Ne===e.Z.CONTENT_STEERING&&(he=le(b[Ne])));M.push({id:ne,schemeIdUri:z,latency:oe,playbackRate:Q,operatingQuality:x,operatingBandwidth:J,contentSteering:he})}}catch(Te){D.e(Te)}finally{D.f()}}return M},getSegmentAlignment:function(g){return!(!g||!g.hasOwnProperty(e.Z.SEGMENT_ALIGNMENT))&&g[e.Z.SEGMENT_ALIGNMENT]==="true"},getSubSegmentAlignment:function(g){return!(!g||!g.hasOwnProperty(e.Z.SUB_SEGMENT_ALIGNMENT))&&g[e.Z.SUB_SEGMENT_ALIGNMENT]==="true"},getSupplementalPropertiesForAdaptation:function(g){var M={};if(g&&g.hasOwnProperty(e.Z.SUPPLEMENTAL_PROPERTY_ASARRAY)){var C,D=Vt(g.SupplementalProperty_asArray);try{for(D.s();!(C=D.n()).done;){var b=C.value;b.hasOwnProperty(t.Z.SCHEME_ID_URI)&&(M[b[t.Z.SCHEME_ID_URI]]=yt({},b))}}catch(ne){D.e(ne)}finally{D.f()}}return M},getSupplementalPropertiesAsArrayForAdaptation:function(g){return g&&g.hasOwnProperty(e.Z.SUPPLEMENTAL_PROPERTY_ASARRAY)&&g.SupplementalProperty_asArray.length?g.SupplementalProperty_asArray.map(function(M){return new Ze().init(M)}):[]},getSupplementalPropertiesForRepresentation:function(g){var M={};if(g&&g.hasOwnProperty(e.Z.SUPPLEMENTAL_PROPERTY_ASARRAY)){var C,D=Vt(g.SupplementalProperty_asArray);try{for(D.s();!(C=D.n()).done;){var b=C.value;b.hasOwnProperty(t.Z.SCHEME_ID_URI)&&(M[b[t.Z.SCHEME_ID_URI]]=yt({},b))}}catch(ne){D.e(ne)}finally{D.f()}}return M},getSupplementalPropertiesAsArrayForRepresentation:function(g){return g&&g.hasOwnProperty(e.Z.SUPPLEMENTAL_PROPERTY_ASARRAY)&&g.SupplementalProperty_asArray.length?g.SupplementalProperty_asArray.map(function(M){return new Ze().init(M)}):[]},setConfig:function(g){g&&(g.errHandler&&(l=g.errHandler),g.BASE64&&(E=g.BASE64))}},r=(0,m.Z)(R).getInstance().getLogger(i),i}vn.__dashjs_factory_name="DashManifestModel";var $t=_.Z.getSingletonFactory(vn),pt=P(703);function At(i,r){var l;if(typeof Symbol>"u"||i[Symbol.iterator]==null){if(Array.isArray(i)||(l=function(L,Y){if(L){if(typeof L=="string")return Zt(L,Y);var B=Object.prototype.toString.call(L).slice(8,-1);return B==="Object"&&L.constructor&&(B=L.constructor.name),B==="Map"||B==="Set"?Array.from(L):B==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(B)?Zt(L,Y):void 0}}(i))||r&&i&&typeof i.length=="number"){l&&(i=l);var E=0,R=function(){};return{s:R,n:function(){return E>=i.length?{done:!0}:{done:!1,value:i[E++]}},e:function(L){throw L},f:R}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var A,h=!0,w=!1;return{s:function(){l=i[Symbol.iterator]()},n:function(){var L=l.next();return h=L.done,L},e:function(L){w=!0,A=L},f:function(){try{h||l.return==null||l.return()}finally{if(w)throw A}}}}function Zt(i,r){(r==null||r>i.length)&&(r=i.length);for(var l=0,E=new Array(r);l<r;l++)E[l]=i[l];return E}function nn(){var i,r,l,E,R,A,h,w,L,Y,B=this.context,N=(0,p.Z)(B).getInstance(),U=(0,Ae.Z)(B).getInstance();function Z(){l={pr:1,nor:null,st:null,sf:null,sid:"".concat(pt.Z.generateUuid()),cid:null},L={},w={},Y={},te()}function ce(){te()}function te(){if(A){var b=A.getStreamController();if(b&&typeof b.getActiveStream=="function"){var ne=b.getActiveStream();ne&&(h=ne.getProcessors())}}}function se(b,ne){var z,oe={},Q=At(ne);try{for(Q.s();!(z=Q.n()).done;){var x=z.value;b[x]&&(oe[x]=b[x])}}catch(J){Q.e(J)}finally{Q.f()}return oe}function de(b){var ne=U.get().streaming.cmcd.enabledKeys;return b.filter(function(z){return ne.includes(z)})}function G(b){try{return b.type===Le.w.MPD_TYPE?((z=ie()).ot="m",z):b.type===Le.w.MEDIA_SEGMENT_TYPE?(ne=b.mediaType,Y.hasOwnProperty(ne)||(Y[ne]=!1),w.hasOwnProperty(ne)||(w[ne]=!1),L.hasOwnProperty(ne)||(L[ne]=!1),function(oe){var Q,x=ie(),J=function(Xe){try{var Mt=Xe.quality,Ee=Xe.mediaInfo.bitrateList;return parseInt(Ee[Mt].bandwidth/1e3)}catch{return null}}(oe),he=function(Xe){try{return isNaN(Xe.duration)?NaN:Math.round(1e3*Xe.duration)}catch{return null}}(oe),Ne=function(Xe){try{return 100*parseInt(E.getThroughputHistory().getSafeAverageThroughput(Xe)/100)}catch{return null}}(oe.mediaType),Te=function(Xe){try{var Mt=l.pr,Ee=R.getCurrentBufferLevel(Xe);return isNaN(Mt)||isNaN(Ee)?null:100*parseInt(Ee/Mt*10)}catch{return null}}(oe.mediaType),Ce=j(oe.mediaType),Ie=function(Xe){try{var Mt=E.getTopBitrateInfoFor(Xe);return Math.round(Mt.bitrate/1e3)}catch{return null}}(oe.mediaType),et=l.pr,nt=function(Xe){if(h&&h.length!==0){var Mt,Ee=At(h);try{for(Ee.s();!(Mt=Ee.n()).done;){var Fe=Mt.value;if(Fe.getType()===Xe)return Fe.probeNextRequest()}}catch(lt){Ee.e(lt)}finally{Ee.f()}}}(oe.mediaType);oe.mediaType===t.Z.VIDEO&&(Q="v"),oe.mediaType===t.Z.AUDIO&&(Q="a"),oe.mediaType===t.Z.TEXT&&(Q=oe.mediaInfo.mimeType==="application/mp4"?"tt":"c");var We=U.get().streaming.cmcd.rtp;return We||(We=function(Xe){try{var Mt=A.getPlaybackRate();Mt||(Mt=1);var Ee=Xe.quality,Fe=Xe.mediaType,lt=Xe.mediaInfo,qe=Xe.duration;if(!lt)return NaN;var ht=j(Fe);ht===0&&(ht=500);var gt=lt.bitrateList[Ee].bandwidth*qe/1e3/(ht/Mt/1e3),st=U.get().streaming.cmcd.rtpSafetyFactor&&!isNaN(U.get().streaming.cmcd.rtpSafetyFactor)?U.get().streaming.cmcd.rtpSafetyFactor:5;return 100*(parseInt(gt*st/100)+1)}catch{return NaN}}(oe)),isNaN(We)||(x.rtp=We),nt&&(oe.url!==nt.url?x.nor=encodeURIComponent(pt.Z.getRelativeUrl(oe.url,nt.url)):nt.range&&(x.nrr=nt.range)),J&&(x.br=J),Q&&(x.ot=Q),isNaN(he)||(x.d=he),isNaN(Ne)||(x.mtp=Ne),isNaN(Te)||(x.dl=Te),isNaN(Ce)||(x.bl=Ce),isNaN(Ie)||(x.tb=Ie),isNaN(et)||et===1||(x.pr=et),L[oe.mediaType]&&(x.bs=!0,L[oe.mediaType]=!1),!w[oe.mediaType]&&Y[oe.mediaType]||(x.su=!0,w[oe.mediaType]=!1,Y[oe.mediaType]=!0),x}(b)):b.type===Le.w.INIT_SEGMENT_TYPE?function(){var oe=ie();return oe.ot="i",oe.su=!0,oe}():b.type===Le.w.OTHER_TYPE||b.type===Le.w.XLINK_EXPANSION_TYPE?function(){var oe=ie();return oe.ot="o",oe}():b.type===Le.w.LICENSE?function(oe){var Q=ie();return Q.ot="k",Q}():null}catch{return null}var ne,z}function ie(){var b={},ne=U.get().streaming.cmcd.cid?U.get().streaming.cmcd.cid:l.cid;return b.v=1,b.sid=U.get().streaming.cmcd.sid?U.get().streaming.cmcd.sid:l.sid,b.sid="".concat(b.sid),ne&&(b.cid="".concat(ne)),isNaN(l.pr)||l.pr===1||l.pr===null||(b.pr=l.pr),l.st&&(b.st=l.st),l.sf&&(b.sf=l.sf),b}function j(b){try{var ne=R.getCurrentBufferLevel(b);return isNaN(ne)?null:100*parseInt(10*ne)}catch{return null}}function le(b){try{l.pr=b.playbackRate}catch{}}function g(b){try{var ne=i.getIsDynamic(b.data)?"l":"v",z=b.protocol&&b.protocol==="MSS"?"s":"d";l.st="".concat(ne),l.sf="".concat(z)}catch{}}function M(b){try{b.state&&b.mediaType&&b.state===n.Z.BUFFER_EMPTY&&(L[b.mediaType]||(L[b.mediaType]=!0),w[b.mediaType]||(w[b.mediaType]=!0))}catch{}}function C(){for(var b in L)L.hasOwnProperty(b)&&(L[b]=!0);for(var ne in w)w.hasOwnProperty(ne)&&(w[ne]=!0)}function D(b){try{if(!b)return null;var ne=Object.keys(b).sort(function(Q,x){return Q.localeCompare(x)}),z=ne.length,oe=ne.reduce(function(Q,x,J){return x==="v"&&b[x]===1||(typeof b[x]=="string"&&x!=="ot"&&x!=="sf"&&x!=="st"?Q+="".concat(x,"=").concat(JSON.stringify(b[x])):Q+="".concat(x,"=").concat(b[x]),J<z-1&&(Q+=",")),Q},"");return(oe=oe.replace(/=true/g,"")).replace(/,\s*$/,"")}catch{return null}}return r={getQueryParameter:function(b){try{if(U.get().streaming.cmcd&&U.get().streaming.cmcd.enabled){var ne=G(b),z=function(Q){try{var x=U.get().streaming.cmcd.enabledKeys;return Object.keys(Q).filter(function(J){return x.includes(J)}).reduce(function(J,he){return J[he]=Q[he],J},{})}catch{return Q}}(ne),oe=D(z);return N.trigger(_n.Z.CMCD_DATA_GENERATED,{url:b.url,mediaType:b.mediaType,cmcdData:ne,cmcdString:oe}),{key:"CMCD",value:oe}}return null}catch{return null}},getHeaderParameters:function(b){try{if(U.get().streaming.cmcd&&U.get().streaming.cmcd.enabled){var ne=G(b),z=se(ne,de(["br","d","ot","tb"])),oe=se(ne,de(["bl","dl","mtp","nor","nrr","su"])),Q=se(ne,de(["bs","rtp"])),x=se(ne,de(["cid","pr","sf","sid","st","v"])),J={"CMCD-Object":D(z),"CMCD-Request":D(oe),"CMCD-Status":D(Q),"CMCD-Session":D(x)};return N.trigger(_n.Z.CMCD_DATA_GENERATED,{url:b.url,mediaType:b.mediaType,cmcdData:ne,headers:J}),J}return null}catch{return null}},setConfig:function(b){b&&(b.abrController&&(E=b.abrController),b.dashMetrics&&(R=b.dashMetrics),b.playbackController&&(A=b.playbackController))},reset:function(){N.off(n.Z.PLAYBACK_RATE_CHANGED,le,this),N.off(n.Z.MANIFEST_LOADED,g,this),N.off(n.Z.BUFFER_LEVEL_STATE_CHANGED,M,r),N.off(n.Z.PLAYBACK_SEEKED,C,r),Z()},initialize:function(){N.on(n.Z.PLAYBACK_RATE_CHANGED,le,r),N.on(n.Z.MANIFEST_LOADED,g,r),N.on(n.Z.BUFFER_LEVEL_STATE_CHANGED,M,r),N.on(n.Z.PLAYBACK_SEEKED,C,r),N.on(n.Z.PERIOD_SWITCH_COMPLETED,ce,r)}},i=$t(B).getInstance(),Z(),r}nn.__dashjs_factory_name="CmcdModel";var sn=_.Z.getSingletonFactory(nn);function pn(i){return pn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(r){return typeof r}:function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},pn(i)}function En(i,r){En=function(w,L){return new A(w,void 0,L)};var l=jn(RegExp),E=RegExp.prototype,R=new WeakMap;function A(w,L,Y){var B=l.call(this,w,L);return R.set(B,Y||R.get(w)),B}function h(w,L){var Y=R.get(L);return Object.keys(Y).reduce(function(B,N){return B[N]=w[Y[N]],B},Object.create(null))}return Yn(A,l),A.prototype.exec=function(w){var L=E.exec.call(this,w);return L&&(L.groups=h(L,this)),L},A.prototype[Symbol.replace]=function(w,L){if(typeof L=="string"){var Y=R.get(this);return E[Symbol.replace].call(this,w,L.replace(/\$<([^>]+)>/g,function(N,U){return"$"+Y[U]}))}if(typeof L=="function"){var B=this;return E[Symbol.replace].call(this,w,function(){var N=[];return N.push.apply(N,arguments),pn(N[N.length-1])!=="object"&&N.push(h(N,B)),L.apply(this,N)})}return E[Symbol.replace].call(this,w,L)},En.apply(this,arguments)}function Yn(i,r){if(typeof r!="function"&&r!==null)throw new TypeError("Super expression must either be null or a function");i.prototype=Object.create(r&&r.prototype,{constructor:{value:i,writable:!0,configurable:!0}}),r&&Pn(i,r)}function jn(i){var r=typeof Map=="function"?new Map:void 0;return jn=function(l){if(l===null||(E=l,Function.toString.call(E).indexOf("[native code]")===-1))return l;var E;if(typeof l!="function")throw new TypeError("Super expression must either be null or a function");if(r!==void 0){if(r.has(l))return r.get(l);r.set(l,R)}function R(){return Cn(l,arguments,Hn(this).constructor)}return R.prototype=Object.create(l.prototype,{constructor:{value:R,enumerable:!1,writable:!0,configurable:!0}}),Pn(R,l)},jn(i)}function Cn(i,r,l){return Cn=Un()?Reflect.construct:function(E,R,A){var h=[null];h.push.apply(h,R);var w=new(Function.bind.apply(E,h));return A&&Pn(w,A.prototype),w},Cn.apply(null,arguments)}function Un(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Pn(i,r){return Pn=Object.setPrototypeOf||function(l,E){return l.__proto__=E,l},Pn(i,r)}function Hn(i){return Hn=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},Hn(i)}var mr="static",ir="dynamic",ur="cmsd-",zn=ur+mr,zr=ur+ir,Dr="stream",Wr=["mb","st","sf","v"],Xr={video:"v",audio:"a",text:"tt",stream:Dr},Qr=/^[-0-9]/;function Or(){var i,r,l,E,R=this.context,A=(0,p.Z)(R).getInstance();function h(){l={},E={}}function w(Z){Z&&Object.keys(Z).forEach(function(ce){Wr.includes(ce)||delete Z[ce]})}function L(Z){return!Z||Z.toLowerCase()!=="false"&&(Qr.test(Z)?parseInt(Z,10):Z.replace(/["]+/g,""))}function Y(Z){try{for(var ce={},te=Z.split(","),se=0;se<te.length;se++){var de=te[se].split("="),G=de[0],ie=L(de[1]);ce[G]=ie}return ce}catch(j){r.error("Failed to parse CMSD-Static response header value:",j)}}function B(Z){try{for(var ce={},te=Z.split(","),se=te[te.length-1].split(";"),de=1;de<se.length;de++){var G=se[de].split("="),ie=G[0],j=L(G[1]);ce[ie]=j}return ce}catch(le){return r.error("Failed to parse CMSD-Dynamic response header value:",le),[]}}function N(Z){return Xr[Z]||"o"}function U(Z,ce,te){var se=Z===mr?l:E,de=se[ce]||{},G=se[Dr]||{};return de[te]||G[te]}return i={setConfig:function(){},initialize:function(){},reset:function(){h()},parseResponseHeaders:function(Z,ce){for(var te=null,se=null,de=Z.split(`\r
-`),G=de.length-1;G>=0;G--){var ie=de[G].match(En(/^((?:(?!:)[\s\S])*):[\t-\r \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*(.*)$/,{key:1,value:2}));if(ie&&ie.groups){var j=ie.groups.key.toLowerCase(),le=ie.groups.value;switch(j){case zn:te=Y(le),A.trigger(u.Z.CMSD_STATIC_HEADER,te);break;case zr:se||(se=B(le))}}}var g=Dr;return te&&te.ot?g=te.ot:ce&&(g=N(ce)),w(l[g]),w(E[g]),te&&(l[g]=Object.assign(l[g]||{},te)),se&&(E[g]=Object.assign(E[g]||{},se)),{static:te,dynamic:se}},getMaxBitrate:function(Z){var ce=N(Z);return U(ir,ce,"mb")||-1},getEstimatedThroughput:function(Z){var ce=N(Z);return U(ir,ce,"etp")||null},getResponseDelay:function(Z){var ce=N(Z);return U(ir,ce,"rd")||null},getRoundTripTime:function(Z){var ce=N(Z);return U(ir,ce,"rtt")||null}},r=(0,m.Z)(R).getInstance().getLogger(i),h(),i}Or.__dashjs_factory_name="CmsdModel";var Ct=_.Z.getSingletonFactory(Or);function en(){var i,r,l=this.context,E={};function R(){r=(0,m.Z)(l).getInstance().getLogger(i)}function A(w){for(var L={},Y=0,B=0,N=0,U=0,Z=w.length,ce=0;ce<Z;++ce)Y+=w[ce].chunkDownloadTimeRelativeMS,B+=w[ce].bufferLevel,N+=w[ce].chunkDownloadTimeRelativeMS*w[ce].bufferLevel,U+=w[ce].chunkDownloadTimeRelativeMS*w[ce].chunkDownloadTimeRelativeMS;return L.m=(N-Y*B/Z)/(U-Y*Y/Z),L.b=B/Z-L.m*Y/Z,function(te){return L.m*te+L.b}}function h(w){var L,Y=!0,B=w.reduce(function(N,U){return N+U.bufferLevelAtSegmentEnd},0)/w.length;return w.forEach(function(N){Math.abs(N.bufferLevelAtSegmentEnd/N.bufferLevelAtSegmentStart)<.95&&(Y=!1),N.bufferLevelAtSegmentEnd/B<.8&&(Y=!1),L?L>N.bitrate&&(Y=!1):L=N.bitrate}),Y}return i={setup:R,addMeasurement:function(w,L,Y,B,N){w&&w.mediaType&&!E[w.mediaType]&&(E[w.mediaType]=[]);var U=w.mediaInfo.bitrateList.find(function(Z){return Z.id===w.representationId});E[w.mediaType].push({index:w.index,repId:w.representationId,mediaType:w.mediaType,requestTimeMS:B,adjustedAvailabilityStartTimeMS:w.availabilityStartTime.getTime(),segDurationMS:1e3*w.duration,chunksDurationMS:Y.reduce(function(Z,ce){return Z+ce.chunkDownloadDurationMS},0),segmentBytes:Y.reduce(function(Z,ce){return Z+ce.chunkBytes},0),bitrate:U&&U.bandwidth,bitrateList:w.mediaInfo.bitrateList,chunkMeasurements:Y,fetchDownloadDurationMS:L,throughputCapacityDelayMS:N,getEstimatedBufferLevel:A(Y.slice(1))}),E[w.mediaType].length>10&&E[w.mediaType].shift()},getThroughputCapacityDelayMS:function(w,L){var Y=E[w.mediaType]&&E[w.mediaType].slice(-3);return!Y||Y.length<3?0:h(Y)?L/4>250?250:L/4:0},getEstimatedDownloadDurationMS:function(w){var L=E[w.mediaType].slice(-1).pop(),Y=E[w.mediaType].slice(-3),B=L.chunkMeasurements.slice(-1).pop().chunkDownloadTimeRelativeMS;L.bufferLevelAtSegmentStart=L.getEstimatedBufferLevel(B/2),L.bufferLevelAtSegmentEnd=L.getEstimatedBufferLevel(B);var N=h(Y),U=N?.6:.8;if(L.isBufferStable&&1.05*L.segDurationMS<L.fetchDownloadDurationMS)return L.fetchDownloadDurationMS;if(!N||L.segDurationMS<L.fetchDownloadDurationMS||L.adjustedAvailabilityStartTimeMS<=L.requestTimeMS+L.throughputCapacityDelayMS-L.segDurationMS)return .8*L.fetchDownloadDurationMS;for(var Z=L.requestTimeMS+L.throughputCapacityDelayMS-L.adjustedAvailabilityStartTimeMS,ce=0,te=0,se=0,de=0;de<L.chunkMeasurements.length;de++){var G=L.chunkMeasurements[de];if(Z<te+G.chunkDownloadDurationMS)break;te+=G.chunkDownloadDurationMS,ce+=G.chunkBytes,se++}if(Z<0&&r.warn("request time was before adjusted availibitly start time"),ce&&te&&se>.2*L.chunkMeasurements.length){var ie=ce/te,j=L.segmentBytes/ie;return L.fetchDownloadDurationMS<j?L.fetchDownloadDurationMS*U:j*U}var le=L.bitrate;return L.bitrateList.some(function(g){if(g.bandwidth>L.bitrate)return le=g.bandwidth,!0}),le===L.bitrate?L.fetchDownloadDurationMS*U:U*L.segmentBytes*8*1e3/le}},R(),i}en.__dashjs_factory_name="LowLatencyThroughputModel";var fn=_.Z.getSingletonFactory(en),Ln=P(5717);function Tn(i,r,l){return r in i?Object.defineProperty(i,r,{value:l,enumerable:!0,configurable:!0,writable:!0}):i[r]=l,i}function Bn(i){i=i||{};var r,l,E,R,A,h,w,L,Y,B,N,U=this.context,Z=i.errHandler,ce=i.dashMetrics,te=i.mediaPlayerModel,se=i.requestModifier,de=i.boxParser,G=i.errors,ie=i.requestTimeout||0,j=(0,p.Z)(U).getInstance(),le=(0,Ae.Z)(U).getInstance();function g(M,C){var D,b=M.request,ne=[],z=!0,oe=!0,Q=new Date,x=Q,J=0,he=null,Ne=null;if(!se||!ce||!Z)throw new Error("config object is not correct or missing");var Te,Ce=function(ht){b.requestStartDate=Q,b.requestEndDate=new Date,b.firstByteDate=b.firstByteDate||Q,b.fileLoaderType=Ne;var gt=D.response?D.response.responseURL:null,st=D.response?D.response.status:null,qt=D.response&&D.response.getAllResponseHeaders?D.response.getAllResponseHeaders():D.response?D.response.responseHeaders:null,Gt=qt&&le.get().streaming.cmsd&&le.get().streaming.cmsd.enabled?w.parseResponseHeaders(qt,b.mediaType):null;ce.addHttpRequest(b,gt,st,qt,ht?ne:null,Gt)},Ie=function(ht){oe=!1,Ce(ht),b.type===Le.w.MPD_TYPE&&(ce.addManifestUpdate(b),j.trigger(u.Z.MANIFEST_LOADING_FINISHED,{request:b}))},et=function(){if(he&&(clearTimeout(he),he=null),l.indexOf(D)!==-1&&(l.splice(l.indexOf(D),1),oe))if(Ie(!1),C>0){try{le.get().streaming.utcSynchronization.enableBackgroundSyncAfterSegmentDownloadError&&b.type===Le.w.MEDIA_SEGMENT_TYPE&&te.getRetryAttemptsForType(Le.w.MEDIA_SEGMENT_TYPE)===C&&j.trigger(u.Z.ATTEMPT_BACKGROUND_SYNC)}catch{}C--;var ht={config:M};R.push(ht),ht.timeout=setTimeout(function(){R.indexOf(ht)!==-1&&(R.splice(R.indexOf(ht),1),g(M,C))},te.getRetryIntervalsForType(b.type))}else{if(b.type===Le.w.MSS_FRAGMENT_INFO_SEGMENT_TYPE)return;Z.error(new re.Z(A[b.type],b.url+" is not available",{request:b,response:D.response})),M.error&&M.error(b,"error",D.response.statusText,D.response),M.complete&&M.complete(b,D.response.statusText)}};b.hasOwnProperty("availabilityTimeComplete")&&b.availabilityTimeComplete===!1&&window.fetch&&b.responseType==="arraybuffer"&&b.type===Le.w.MEDIA_SEGMENT_TYPE?((Te=An(U).create({requestModifier:se,lowLatencyThroughputModel:Y,boxParser:de})).setup({dashMetrics:ce}),Ne=t.Z.FILE_LOADER_TYPES.FETCH):(Te=(0,Ft.Z)(U).create({requestModifier:se}),Ne=t.Z.FILE_LOADER_TYPES.XHR);var nt=null,We=se.modifyRequestURL?se.modifyRequestURL(b.url):b.url;if(le.get().streaming.cmcd&&le.get().streaming.cmcd.enabled){var Xe=le.get().streaming.cmcd.mode;if(Xe===t.Z.CMCD_MODE_QUERY){var Mt=function(ht){try{var gt=[],st=h.getQueryParameter(ht);return st&&gt.push(st),gt}catch{return[]}}(b);We=pt.Z.addAditionalQueryParameterToUrl(We,Mt)}else Xe===t.Z.CMCD_MODE_HEADER&&(nt=h.getHeaderParameters(b))}var Ee=L.getXHRWithCredentialsForType(b.type);if(b.queryParams){var Fe=Object.keys(b.queryParams).map(function(ht){return{key:ht,value:b.queryParams[ht]}});We=pt.Z.addAditionalQueryParameterToUrl(We,Fe)}b.url=We,D={url:We,method:Le.w.GET,withCredentials:Ee,request:b,onload:function(){D.response.status>=200&&D.response.status<=299&&(Ie(!0),M.success&&M.success(D.response.response,D.response.statusText,D.response.responseURL),M.complete&&M.complete(b,D.response.statusText))},onend:et,onerror:et,progress:function(ht){var gt=new Date;z&&(z=!1,(!ht.lengthComputable||ht.lengthComputable&&ht.total!==ht.loaded)&&(b.firstByteDate=gt)),ht.lengthComputable&&(b.bytesLoaded=ht.loaded,b.bytesTotal=ht.total),ht.noTrace||(ne.push({s:x,d:ht.time?ht.time:gt.getTime()-x.getTime(),b:[ht.loaded?ht.loaded-J:0]}),x=gt,J=ht.loaded),he&&(clearTimeout(he),he=null),le.get().streaming.fragmentRequestProgressTimeout>0&&(he=setTimeout(function(){B.warn("Abort request "+D.url+" due to progress timeout"),D.response.onabort=null,D.loader.abort(D),et()},le.get().streaming.fragmentRequestProgressTimeout)),M.progress&&ht&&M.progress(ht)},onabort:function(){Ce(!0),he&&(clearTimeout(he),he=null),M.abort&&M.abort(b)},ontimeout:function(ht){var gt;if(ht.lengthComputable){var st=ht.loaded/ht.total*100;gt="Request timeout: loaded: "+ht.loaded+", out of: "+ht.total+" : "+st.toFixed(3)+"% Completed"}else gt="Request timeout: non-computable download size";B.warn(gt)},loader:Te,timeout:ie,headers:nt};var lt=new Date().getTime();if(isNaN(b.delayLoadingTime)||lt>=b.delayLoadingTime)l.push(D),Te.load(D);else{var qe={httpRequest:D};E.push(qe),qe.delayTimeout=setTimeout(function(){if(E.indexOf(qe)!==-1){E.splice(E.indexOf(qe),1);try{Q=new Date,x=Q,l.push(qe.httpRequest),Te.load(qe.httpRequest)}catch{qe.httpRequest.onerror()}}},b.delayLoadingTime-lt)}}return r={load:function(M){M.request?g(M,te.getRetryAttemptsForType(M.request.type)):M.error&&M.error(M.request,"error")},abort:function(){R.forEach(function(M){clearTimeout(M.timeout),M.config.request&&M.config.abort&&M.config.abort(M.config.request)}),R=[],E.forEach(function(M){return clearTimeout(M.delayTimeout)}),E=[],l.forEach(function(M){M.request.type!==Le.w.MSS_FRAGMENT_INFO_SEGMENT_TYPE&&(M.onloadend=M.onerror=M.onprogress=void 0,M.loader.abort(M))}),l=[]}},B=(0,m.Z)(U).getInstance().getLogger(r),l=[],E=[],R=[],h=sn(U).getInstance(),w=Ct(U).getInstance(),Y=fn(U).getInstance(),L=(0,Ln.Z)(U).getInstance(),Tn(N={},Le.w.MPD_TYPE,G.DOWNLOAD_ERROR_ID_MANIFEST_CODE),Tn(N,Le.w.XLINK_EXPANSION_TYPE,G.DOWNLOAD_ERROR_ID_XLINK_CODE),Tn(N,Le.w.INIT_SEGMENT_TYPE,G.DOWNLOAD_ERROR_ID_INITIALIZATION_CODE),Tn(N,Le.w.MEDIA_SEGMENT_TYPE,G.DOWNLOAD_ERROR_ID_CONTENT_CODE),Tn(N,Le.w.INDEX_SEGMENT_TYPE,G.DOWNLOAD_ERROR_ID_CONTENT_CODE),Tn(N,Le.w.BITSTREAM_SWITCHING_SEGMENT_TYPE,G.DOWNLOAD_ERROR_ID_CONTENT_CODE),Tn(N,Le.w.OTHER_TYPE,G.DOWNLOAD_ERROR_ID_CONTENT_CODE),A=N,r}Bn.__dashjs_factory_name="HTTPLoader";var wn=_.Z.getClassFactory(Bn);function tr(){var i;function r(){i={}}function l(){r()}return l(),{getLoader:function(E){for(var R in i)if(i.hasOwnProperty(R)&&E.startsWith(R))return i[R];return wn},registerLoader:function(E,R){i[E]=R},unregisterLoader:function(E){i[E]&&delete i[E]},unregisterAllLoader:r,reset:l}}tr.__dashjs_factory_name="SchemeLoaderFactory";var kn=_.Z.getSingletonFactory(tr);function Dn(i){i=i||{};var r,l,E=this.context;return r=kn(E).getInstance(),{load:function(R){if(!l){var A=r.getLoader(R&&R.request?R.request.url:null);l=A(E).create({errHandler:i.errHandler,mediaPlayerModel:i.mediaPlayerModel,requestModifier:i.requestModifier,dashMetrics:i.dashMetrics,boxParser:i.boxParser?i.boxParser:null,constants:i.constants?i.constants:null,dashConstants:i.dashConstants?i.dashConstants:null,urlUtils:i.urlUtils?i.urlUtils:null,requestTimeout:isNaN(i.requestTimeout)?0:i.requestTimeout,errors:i.errors})}l.load(R)},abort:function(){l&&l.abort()}}}Dn.__dashjs_factory_name="URLLoader";var Wn=_.Z.getClassFactory(Dn);function Xn(i){return Xn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(r){return typeof r}:function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},Xn(i)}function lr(i,r){return lr=Object.setPrototypeOf||function(l,E){return l.__proto__=E,l},lr(i,r)}function ar(i,r){return!r||Xn(r)!=="object"&&typeof r!="function"?function(l){if(l===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return l}(i):r}function cr(i){return cr=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},cr(i)}var pr=function(i){(function(A,h){if(typeof h!="function"&&h!==null)throw new TypeError("Super expression must either be null or a function");A.prototype=Object.create(h&&h.prototype,{constructor:{value:A,writable:!0,configurable:!0}}),h&&lr(A,h)})(R,i);var r,l,E=(r=R,l=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var A,h=cr(r);if(l){var w=cr(this).constructor;A=Reflect.construct(h,arguments,w)}else A=h.apply(this,arguments);return ar(this,A)});function R(A){var h;return function(w,L){if(!(w instanceof L))throw new TypeError("Cannot call a class as a function")}(this,R),(h=E.call(this,A)).checkForExistenceOnly=!0,h}return R}(I.Z);function qr(i){i=i||{};var r,l,E=this.context,R=i.eventBus,A=i.events,h=i.urlUtils,w=i.errors,L=i.streamId;return r={checkForExistence:function(Y){var B=function(U){R.trigger(A.CHECK_FOR_EXISTENCE_COMPLETED,{request:Y,exists:U})};if(Y){var N=new pr(Y.url);l.load({request:N,success:function(){B(!0)},error:function(){B(!1)}})}else B(!1)},load:function(Y){var B=function(N,U){R.trigger(A.LOADING_COMPLETED,{request:Y,response:N||null,error:U||null,sender:r})};Y?l.load({request:Y,progress:function(N){R.trigger(A.LOADING_PROGRESS,{request:Y,stream:N.stream,streamId:L}),N.data&&R.trigger(A.LOADING_DATA_PROGRESS,{request:Y,response:N.data||null,error:null,sender:r})},success:function(N){B(N)},error:function(N,U,Z){B(void 0,new re.Z(w.FRAGMENT_LOADER_LOADING_FAILURE_ERROR_CODE,Z,U))},abort:function(N){N&&R.trigger(A.LOADING_ABANDONED,{mediaType:N.mediaType,request:N,sender:r})}}):B(void 0,new re.Z(w.FRAGMENT_LOADER_NULL_REQUEST_ERROR_CODE,w.FRAGMENT_LOADER_NULL_REQUEST_ERROR_MESSAGE))},abort:function(){l&&l.abort()},reset:function(){l&&(l.abort(),l=null)}},l=Wn(E).create({errHandler:i.errHandler,errors:w,dashMetrics:i.dashMetrics,mediaPlayerModel:i.mediaPlayerModel,requestModifier:i.requestModifier,urlUtils:h,constants:t.Z,boxParser:i.boxParser,dashConstants:i.dashConstants,requestTimeout:i.settings.get().streaming.fragmentRequestTimeout}),r}qr.__dashjs_factory_name="FragmentLoader";var Mr=_.Z.getClassFactory(qr);function Pr(){return{modifyResponseAsync:function(i){return Promise.resolve(i)}}}Pr.__dashjs_factory_name="SegmentResponseModifier";var Jr=_.Z.getSingletonFactory(Pr);function $r(i){i=i||{};var r,l,E,R=this.context,A=(0,p.Z)(R).getInstance(),h=i.errHandler,w=i.mediaPlayerModel,L=i.dashMetrics,Y=(0,m.Z)(R).getInstance(),B=Jr(R).getInstance(),N=i.streamInfo;function U(){return N.id}function Z(){for(var te in E)E[te].reset();E={}}function ce(te){if(te.sender){var se=te.request,de=te.response,G=se.isInitializationRequest(),ie=se.mediaInfo.streamInfo;if(te.error&&(se.mediaType===t.Z.AUDIO||se.mediaType===t.Z.VIDEO||se.mediaType===t.Z.TEXT&&se.mediaInfo.isFragmented)&&A.trigger(u.Z.SERVICE_LOCATION_BASE_URL_BLACKLIST_ADD,{entry:te.request.serviceLocation}),de&&ie){var j=function(le,g,M,C){var D=new It;return D.streamId=M,D.mediaInfo=g.mediaInfo,D.segmentType=g.type,D.start=g.startTime,D.duration=g.duration,D.end=D.start+D.duration,D.bytes=le,D.index=g.index,D.quality=g.quality,D.representationId=g.representationId,D.endFragment=C,D}(de,se,N.id,te.type!==u.Z.FRAGMENT_LOADING_PROGRESS);B.modifyResponseAsync(j).then(function(le){A.trigger(G?u.Z.INIT_FRAGMENT_LOADED:u.Z.MEDIA_FRAGMENT_LOADED,{chunk:le,request:se},{streamId:ie.id,mediaType:se.mediaType})}).catch(function(le){l.error(le),A.trigger(G?u.Z.INIT_FRAGMENT_LOADED:u.Z.MEDIA_FRAGMENT_LOADED,{chunk:j,request:se},{streamId:ie.id,mediaType:se.mediaType})})}else l.warn("No "+se.mediaType+" bytes to push or stream is inactive.")}}return r={getStreamId:U,getModel:function(te){var se=E[te];return se||(se=K(R).create({streamInfo:N,type:te,dashMetrics:L,fragmentLoader:Mr(R).create({dashMetrics:L,mediaPlayerModel:w,errHandler:h,requestModifier:(0,Se.Z)(R).getInstance(),settings:i.settings,boxParser:i.boxParser,eventBus:A,events:u.Z,errors:X,dashConstants:i.dashConstants,urlUtils:i.urlUtils,streamId:U()}),debug:Y,eventBus:A,events:u.Z}),E[te]=se),se},reset:function(){A.off(n.Z.FRAGMENT_LOADING_COMPLETED,ce,this),A.off(n.Z.FRAGMENT_LOADING_PROGRESS,ce,this),Z()}},l=Y.getLogger(r),Z(),A.on(n.Z.FRAGMENT_LOADING_COMPLETED,ce,r),A.on(n.Z.FRAGMENT_LOADING_PROGRESS,ce,r),r}$r.__dashjs_factory_name="FragmentController";var Ai=_.Z.getClassFactory($r),Ii=function i(){(function(r,l){if(!(r instanceof l))throw new TypeError("Cannot call a class as a function")})(this,i),this.url=null,this.width=null,this.height=null,this.x=null,this.y=null},ei=function i(){(function(r,l){if(!(r instanceof l))throw new TypeError("Cannot call a class as a function")})(this,i),this.mediaType=null,this.bitrate=null,this.width=null,this.height=null,this.scanType=null,this.qualityIndex=NaN};function ti(i){var r,l,E=this.context,R=i.streamInfo;function A(w){l.setTrackByIndex(w)}function h(){l&&l.reset()}return r={getStreamId:function(){return R.id},initialize:function(){l.addTracks();var w=l.getTracks();w&&w.length>0&&A(0)},provide:function(w,L){if(typeof L=="function"){var Y,B,N=l.getCurrentTrack();if(!N||N.segmentDuration<=0||w==null)L(null);else{(B=l.getThumbnailRequestForTime(w))&&(N.segmentDuration=B.duration),Y=w%N.segmentDuration;var U=Math.floor(Y*N.tilesHor*N.tilesVert/N.segmentDuration),Z=new Ii;if(Z.width=Math.floor(N.widthPerTile),Z.height=Math.floor(N.heightPerTile),Z.x=Math.floor(U%N.tilesHor)*N.widthPerTile,Z.y=Math.floor(U/N.tilesHor)*N.heightPerTile,"readThumbnail"in N)return N.readThumbnail(w,function(te){Z.url=te,L(Z)});if(B)Z.url=B.url,N.segmentDuration=NaN;else{var ce=Math.floor(w/N.segmentDuration);Z.url=function(te,se){var de=se+te.startNumber,G=(0,o.vi)(te.templateUrl,"Number",de);return G=(0,o.vi)(G,"Time",(de-1)*te.segmentDuration*te.timescale),G=(0,o.vi)(G,"Bandwidth",te.bandwidth),(0,o.eR)(G)}(N,ce)}L(Z)}}},setTrackByIndex:A,getCurrentTrackIndex:function(){return l.getCurrentTrackIndex()},getBitrateList:function(){var w=l.getTracks(),L=0;return w.map(function(Y){var B=new ei;return B.mediaType=t.Z.IMAGE,B.qualityIndex=L++,B.bitrate=Y.bitrate,B.width=Y.width,B.height=Y.height,B})},reset:h},h(),l=(0,Lt.Z)(E).create({streamInfo:R,adapter:i.adapter,baseURLController:i.baseURLController,timelineConverter:i.timelineConverter,debug:i.debug,eventBus:i.eventBus,events:i.events,dashConstants:i.dashConstants,dashMetrics:i.dashMetrics,segmentBaseController:i.segmentBaseController}),r}ti.__dashjs_factory_name="ThumbnailController";var Ri=_.Z.getClassFactory(ti),Yr=P(7417);function ni(i){var r;i=i||{};var l=[],E=(0,p.Z)(this.context).getInstance(),R=i.updateEventName,A=i.addBlacklistEventName;function h(w){l.indexOf(w)===-1&&(l.push(w),E.trigger(R,{entry:w}))}return r={add:h,contains:function(w){return!!(l.length&&w&&w.length)&&l.indexOf(w)!==-1},reset:function(){l=[]}},A&&E.on(A,function(w){h(w.entry)},r),r}ni.__dashjs_factory_name="BlackListController";var Lr=_.Z.getClassFactory(ni),wi=[t.Z.VIDEO,t.Z.AUDIO,t.Z.TEXT,t.Z.MUXED,t.Z.IMAGE];function Nn(i){i=i||{};var r,l,E,R,A,h,w,L,Y,B,N,U,Z,ce,te,se,de,G,ie=this.context,j=(0,p.Z)(ie).getInstance(),le=(0,ze.Z)(ie).getInstance(),g=i.manifestModel,M=i.mediaPlayerModel,C=i.dashMetrics,D=i.manifestUpdater,b=i.adapter,ne=i.timelineConverter,z=i.capabilities,oe=i.errHandler,Q=i.abrController,x=i.playbackController,J=i.eventController,he=i.mediaController,Ne=i.protectionController,Te=i.textController,Ce=i.videoModel,Ie=i.streamInfo,et=i.settings;function nt(ut,Dt){return new Promise(function(xt,kt){gt(),B=!0,qt();var jt=Ce.getElement(),Ge=[];wi.forEach(function(Re){(Re!==t.Z.TEXT||ut)&&(Re!==t.Z.VIDEO||!jt||jt&&/^VIDEO$/i.test(jt.nodeName))&&Ge.push(We(Re,ut))}),Promise.all(Ge).then(function(){return Re=Dt,new Promise(function(rt){var fe={},pe=E.map(function(Ve){return Ve.createBufferSinks(Re)});Promise.all(pe).then(function(Ve){Ve.forEach(function(St){St&&(fe[St.getType()]=St)}),rt(fe)}).catch(function(){rt(fe)})});var Re}).then(function(Re){if(B=!1,E.length===0){var rt="No streams to play.";oe.error(new re.Z(X.MANIFEST_ERROR_ID_NOSTREAMS_CODE,rt,g.getValue())),l.fatal(rt)}else Gt();ut&&Te.createTracks(Ie),xt(Re)}).catch(function(Re){kt(Re)})})}function We(ut,Dt){var xt,kt=b.getAllMediaInfoForType(Ie,ut),jt=[],Ge=null;if(!kt||kt.length===0)return l.info("No "+ut+" data."),Promise.resolve();ut===t.Z.VIDEO&&(w=!0),ut===t.Z.AUDIO&&(L=!0);for(var Re=0,rt=kt.length;Re<rt;Re++)Ge=kt[Re],ut===t.Z.TEXT&&Ge.isEmbedded&&(Te.addEmbeddedTrack(Ie,Ge),jt.push(Ge)),Xe(Ge)&&he.addTrack(Ge);if(jt.length>0&&(he.setInitialMediaSettingsForType(ut,Ie),Te.addMediaInfosToBuffer(Ie,ut,jt)),kt=kt.filter(function(pe){return!pe.isEmbedded}),kt.length===0)return Promise.resolve();if(ut===t.Z.IMAGE)return(U=Ri(ie).create({streamInfo:Ie,adapter:b,baseURLController:i.baseURLController,timelineConverter:i.timelineConverter,debug:se,eventBus:j,events:u.Z,dashConstants:e.Z,dashMetrics:i.dashMetrics,segmentBaseController:i.segmentBaseController})).initialize(),Promise.resolve();j.trigger(u.Z.STREAM_INITIALIZING,{streamInfo:Ie,mediaInfo:Ge}),he.setInitialMediaSettingsForType(ut,Ie);var fe=function(pe,Ve){var St=pe&&pe.length>0?pe[0]:null,Nt=N.getModel(St?St.type:null),ln=St?St.type:null,bn=St?St.mimeType:null,Zn=St?St.isFragmented:null,Sn=Ut(ie).create({streamInfo:Ie,type:ln,mimeType:bn,timelineConverter:ne,adapter:b,manifestModel:g,mediaPlayerModel:M,fragmentModel:Nt,dashMetrics:i.dashMetrics,baseURLController:i.baseURLController,segmentBaseController:i.segmentBaseController,abrController:Q,playbackController:x,mediaController:he,textController:Te,errHandler:oe,settings:et,boxParser:te,segmentBlacklistController:Z});Sn.initialize(Ve,w,Zn),E.push(Sn);for(var Jn=0;Jn<pe.length;Jn++)Sn.addMediaInfo(pe[Jn]);return ln===t.Z.TEXT&&Te.addMediaInfosToBuffer(Ie,ln,pe,Nt),Sn}(kt,Dt);return(xt=he.getCurrentTrackFor(ut,Ie.id))?(Q.updateTopQualityIndex(xt),fe.selectMediaInfo(ut===t.Z.TEXT&&xt.isEmbedded?kt[0]:xt)):Promise.resolve()}function Xe(ut){var Dt,xt=ut?ut.type:null;return xt===t.Z.MUXED?(Dt="Multiplexed representations are intentionally not supported, as they are not compliant with the DASH-AVC/264 guidelines",l.fatal(Dt),oe.error(new re.Z(X.MANIFEST_ERROR_ID_MULTIPLEXED_CODE,Dt,g.getValue())),!1):!(xt!==t.Z.TEXT&&xt!==t.Z.IMAGE&&ut.contentProtection&&!z.supportsEncryptedMedia()&&(oe.error(new re.Z(X.CAPABILITY_MEDIAKEYS_ERROR_CODE,X.CAPABILITY_MEDIAKEYS_ERROR_MESSAGE)),1))}function Mt(ut){for(var Dt=E?E.length:0,xt=0;xt<Dt;xt++){var kt=E[xt].getFragmentModel();kt.abortRequests(),kt.resetInitialSettings(),E[xt].reset(!1,ut)}Te&&Te.deactivateStream(Ie),E=[],A=!1,h=!1,Kt(!1),Fe(!1),j.trigger(u.Z.STREAM_DEACTIVATED,{streamInfo:Ie})}function Ee(ut){Mt(ut),R=!1,w=!1,L=!1,Y={},B=!1,de=!1,G=[]}function Fe(ut){de=ut}function lt(){return Ie?Ie.start:NaN}function qe(){return Ie?Ie.id:null}function ht(){return Ie}function gt(){if(!Ce||!Q)throw new Error(t.Z.MISSING_CONFIG_ERROR)}function st(ut){ut.error&&(oe.error(ut.error),l.fatal(ut.error.message))}function qt(){if(J){var ut=b.getEventsFor(Ie);ut&&ut.length>0&&J.addInlineEvents(ut,Ie.id)}}function Gt(){for(var ut=E.length,Dt=Y.audio||Y.video?new re.Z(X.DATA_UPDATE_FAILED_ERROR_CODE,X.DATA_UPDATE_FAILED_ERROR_MESSAGE):null,xt=0;xt<ut;xt++)if(E[xt].isUpdating()||B)return;if(Ne){Ne.clearMediaInfoArray();for(var kt=0;kt<ut&&E[kt];kt++){var jt=E[kt].getType(),Ge=E[kt].getMediaInfo();if(jt===t.Z.AUDIO||jt===t.Z.VIDEO||jt===t.Z.TEXT&&Ge.isFragmented){var Re=E[kt].getMediaInfo();Re&&Ne.initializeForMedia(Re)}}Ne.handleKeySystemFromManifest()}Dt?oe.error(Dt):R||(R=!0,Ce.waitForReadyState(t.Z.VIDEO_ELEMENT_READY_STATES.HAVE_METADATA,function(){j.trigger(u.Z.STREAM_INITIALIZED,{streamInfo:Ie})}))}function an(){var ut=vt(),Dt=ut.length;if(Dt!==0){for(var xt=0;xt<Dt;xt++)if(!ut[xt].isBufferingCompleted()&&(ut[xt].getType()===t.Z.AUDIO||ut[xt].getType()===t.Z.VIDEO))return void l.debug("onBufferingCompleted - One streamProcessor has finished but",ut[xt].getType(),"one is not buffering completed");l.debug("onBufferingCompleted - trigger STREAM_BUFFERING_COMPLETED"),h=!0,j.trigger(u.Z.STREAM_BUFFERING_COMPLETED,{streamInfo:Ie},{streamInfo:Ie})}else l.warn("onBufferingCompleted - can't trigger STREAM_BUFFERING_COMPLETED because no streamProcessor is defined")}function un(ut){Y[ut.mediaType]=ut.error,Gt()}function Be(ut){J&&J.addInbandEvents(ut.events,Ie.id)}function ft(ut){return ut&&ut.type?$e(ut.type):null}function $e(ut){return ut?vt().filter(function(Dt){return Dt.getType()===ut})[0]:null}function vt(){for(var ut,Dt,xt=[],kt=0;kt<E.length;kt++)(ut=(Dt=E[kt]).getType())!==t.Z.AUDIO&&ut!==t.Z.VIDEO&&ut!==t.Z.TEXT||xt.push(Dt);return xt}function wt(ut,Dt){var xt=ht(),kt=Dt.getStreamInfo();if(!kt||!xt)return!0;var jt=b.getAdaptationForType(kt.index,ut,kt),Ge=b.getAdaptationForType(xt.index,ut,xt);return jt&&Ge?!(!Ht(Ge)&&Ht(jt)):!jt&&!Ge}function Ht(ut){return!!ut&&!!(ut.ContentProtection||ut.Representation_asArray&&ut.Representation_asArray.length>0&&ut.Representation_asArray[0].ContentProtection)}function Yt(ut,Dt){var xt=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null;if(!ut||!ut.hasOwnProperty("getStreamInfo"))return!1;var kt=ut.getStreamInfo(),jt=xt?xt.getStreamInfo():ht();if(!kt||!jt)return!1;var Ge=b.getAdaptationForType(kt.index,Dt,kt),Re=b.getAdaptationForType(jt.index,Dt,jt);if(!Ge||!Re)return!Ge&&!Re;var rt=Ge&&Re&&Ge.mimeType===Re.mimeType,fe=Re.Representation_asArray.map(function(Nt){return Nt.codecs}),pe=Ge.Representation_asArray.map(function(Nt){return Nt.codecs}),Ve=pe.some(function(Nt){return fe.indexOf(Nt)>-1}),St=pe.some(function(Nt){return fe.some(function(ln){return z.codecRootCompatibleWithCodec(ln,Nt)})});return Ve||St&&rt}function Kt(ut){ce=ut}function Jt(){return ce}return r={initialize:function(){j.on(u.Z.BUFFERING_COMPLETED,an,r),j.on(u.Z.DATA_UPDATE_COMPLETED,un,r),j.on(u.Z.INBAND_EVENTS,Be,r),Ne&&(j.on(u.Z.KEY_ERROR,st,r),j.on(u.Z.SERVER_CERTIFICATE_UPDATED,st,r),j.on(u.Z.LICENSE_REQUEST_COMPLETE,st,r),j.on(u.Z.KEY_SYSTEM_SELECTED,st,r),j.on(u.Z.KEY_SESSION_CREATED,st,r),j.on(u.Z.KEY_STATUSES_CHANGED,st,r)),Te.initializeForStream(Ie),j.trigger(u.Z.STREAM_UPDATED,{streamInfo:Ie})},getStreamId:function(){return Ie?Ie.id:null},activate:function(ut,Dt){return new Promise(function(xt,kt){if(!A)return Jt()?(A=!0,j.trigger(u.Z.STREAM_ACTIVATED,{streamInfo:Ie}),void xt(Dt)):void function(jt,Ge){return nt(jt,Ge)}(ut,Dt).then(function(jt){A=!0,j.trigger(u.Z.STREAM_ACTIVATED,{streamInfo:Ie}),xt(jt)}).catch(function(jt){kt(jt)});xt(Dt)})},deactivate:Mt,getIsActive:function(){return A},getDuration:function(){return Ie?Ie.duration:NaN},getStartTime:lt,getId:qe,getStreamInfo:ht,getHasAudioTrack:function(){return L},getHasVideoTrack:function(){return w},startPreloading:function(ut,Dt){return new Promise(function(xt,kt){Jt()?kt():(l.info("[startPreloading] Preloading next stream with id ".concat(qe())),Kt(!0),nt(ut,Dt).then(function(){for(var jt=0;jt<E.length&&E[jt];jt++)E[jt].setExplicitBufferingTime(lt()),E[jt].getScheduleController().startScheduleTimer();xt()}).catch(function(){Kt(!1),kt()}))})},initializeForTextWithMediaSource:function(ut){return new Promise(function(Dt,xt){We(t.Z.TEXT,ut).then(function(){return(kt=$e(t.Z.TEXT))?kt.createBufferSinks():Promise.resolve();var kt}).then(function(){Te.createTracks(Ie),Dt()}).catch(function(kt){xt(kt)})})},getThumbnailController:function(){return U},getBitrateListFor:function(ut){if(gt(),ut===t.Z.IMAGE)return U?U.getBitrateList():[];var Dt=function(xt){for(var kt=null,jt=0;jt<E.length;jt++)if((kt=E[jt]).getType()===xt)return kt.getMediaInfo();return null}(ut);return Q.getBitrateList(Dt)},updateData:function(ut){return new Promise(function(Dt){B=!0,Ie=ut,J&&qt();for(var xt=[],kt=0,jt=E.length;kt<jt;kt++){var Ge=E[kt],Re=Ge.getMediaInfo();xt.push(Ge.updateStreamInfo(Ie));var rt=b.getAllMediaInfoForType(Ie,Ge.getType());if(rt=rt.filter(function(Ve){return!Ve.isEmbedded})){Ge.clearMediaInfoArray();for(var fe=0;fe<rt.length;fe++){var pe=rt[fe];Ge.addMediaInfo(rt[fe]),b.areMediaInfosEqual(Re,pe)&&(Q.updateTopQualityIndex(pe),xt.push(Ge.selectMediaInfo(pe)))}}}Promise.all(xt).then(function(){for(xt=[];G.length>0;){var Ve=G.pop(),St=Ve.newMediaInfo,Nt=ft(Ve.oldMediaInfo);if(!Nt)return;xt.push(Nt.prepareTrackSwitch()),xt.push(Nt.selectMediaInfo(St))}return Promise.all(xt)}).then(function(){B=!1,Gt(),j.trigger(u.Z.STREAM_UPDATED,{streamInfo:Ie}),Dt()})})},reset:function(ut){N&&(N.reset(),N=null),Q&&Ie&&Q.clearDataForStream(Ie.id),Z&&(Z.reset(),Z=null),Ee(ut),Ie=null,j.off(u.Z.DATA_UPDATE_COMPLETED,un,r),j.off(u.Z.BUFFERING_COMPLETED,an,r),j.off(u.Z.INBAND_EVENTS,Be,r),Ne&&(j.off(u.Z.KEY_ERROR,st,r),j.off(u.Z.SERVER_CERTIFICATE_UPDATED,st,r),j.off(u.Z.LICENSE_REQUEST_COMPLETE,st,r),j.off(u.Z.KEY_SYSTEM_SELECTED,st,r),j.off(u.Z.KEY_SESSION_CREATED,st,r),j.off(u.Z.KEY_STATUSES_CHANGED,st,r))},getProcessors:vt,setMediaSource:function(ut){return new Promise(function(Dt,xt){for(var kt=[],jt=0;jt<E.length;)Xe(E[jt].getMediaInfo())?(kt.push(E[jt].setMediaSource(ut)),jt++):(E[jt].reset(),E.splice(jt,1));Promise.all(kt).then(function(){for(var Ge=0;Ge<E.length;Ge++)E[Ge].dischargePreBuffer();if(E.length===0){var Re="No streams to play.";oe.error(new re.Z(X.MANIFEST_ERROR_ID_NOSTREAMS_CODE,Re+"nostreams",g.getValue())),l.fatal(Re)}Dt()}).catch(function(Ge){l.error(Ge),xt(Ge)})})},isMediaCodecCompatible:function(ut){var Dt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return Yt(ut,t.Z.VIDEO,Dt)&&Yt(ut,t.Z.AUDIO,Dt)},isProtectionCompatible:function(ut){return!ut||wt(t.Z.VIDEO,ut)&&wt(t.Z.AUDIO,ut)},getPreloaded:Jt,getIsEndedEventSignaled:function(){return de},setIsEndedEventSignaled:Fe,getAdapter:function(){return b},getHasFinishedBuffering:function(){return h},setPreloaded:Kt,startScheduleControllers:function(){for(var ut=E.length,Dt=0;Dt<ut&&E[Dt];Dt++)E[Dt].getScheduleController().startScheduleTimer()},prepareTrackChange:function(ut){if(A&&Ie){h=!1;var Dt=ut.newMediaInfo,xt=g.getValue();b.setCurrentMediaInfo(Ie.id,Dt.type,Dt);var kt=ft(Dt);if(kt){var jt=x.getTime();l.info("Stream -  Process track changed at current time "+jt),xt.refreshManifestOnSwitchTrack?(G.push(ut),D.getIsUpdating()||(l.debug("Stream -  Refreshing manifest for switch track"),D.refreshManifest())):kt.selectMediaInfo(Dt).then(function(){Dt.type!==t.Z.VIDEO&&Dt.type!==t.Z.AUDIO||Q.updateTopQualityIndex(Dt),kt.prepareTrackSwitch()})}}},prepareQualityChange:function(ut){var Dt=$e(ut.mediaType);Dt&&Dt.prepareQualityChange(ut)}},function(){try{se=(0,m.Z)(ie).getInstance(),l=se.getLogger(r),Ee(),te=(0,Yr.Z)(ie).getInstance(),Z=Lr(ie).create({updateEventName:u.Z.SEGMENT_LOCATION_BLACKLIST_CHANGED,addBlacklistEventName:u.Z.SEGMENT_LOCATION_BLACKLIST_ADD}),N=Ai(ie).create({streamInfo:Ie,mediaPlayerModel:M,dashMetrics:C,errHandler:oe,settings:et,boxParser:te,dashConstants:e.Z,urlUtils:le})}catch(ut){throw ut}}(),r}Nn.__dashjs_factory_name="Stream";var Tr=_.Z.getClassFactory(Nn),Fr=function i(r){(function(l,E){if(!(l instanceof E))throw new TypeError("Cannot call a class as a function")})(this,i),this.url=r||null,this.type=Le.w.CONTENT_STEERING_TYPE,this.responseType="json"},Sr=function i(){(function(r,l){if(!(r instanceof l))throw new TypeError("Cannot call a class as a function")})(this,i),this.version=null,this.ttl=300,this.reloadUri=null,this.pathwayPriority=[],this.pathwayClones=[]};function ri(){var i,r,l,E,R,A,h,w,L,Y,B,N,U,Z,ce,te=this.context,se=(0,ze.Z)(te).getInstance();function de(Q){g(Q,"baseUrl")}function G(Q){g(Q,"location")}function ie(Q){if(Q&&Q.request&&Q.request.serviceLocation&&Q.request.requestStartDate&&Q.request.requestEndDate&&!isNaN(Q.request.bytesTotal)){var x=Q.request.serviceLocation,J=Q.request.requestEndDate.getTime()-Q.request.requestStartDate.getTime();le(x,parseInt(8*Q.request.bytesTotal/J*1e3))}}function j(Q){Q&&Q.httpRequest&&Q.httpRequest._serviceLocation&&!isNaN(Q.throughput)&&le(Q.httpRequest._serviceLocation,1e3*Q.throughput)}function le(Q,x){R[Q]||(R[Q]=[]),R[Q].push(x),R[Q].length>4&&R[Q].shift()}function g(Q,x){if(Q&&Q.request&&Q.request.serviceLocation){var J=Q.request.serviceLocation;E[x].all.indexOf(J)===-1&&E[x].all.push(J),E[x].current=J}}function M(){var Q=B.getValue(),x=ce.getContentSteering(Q);return x||(x=U.getServiceDescriptionSettings().contentSteering),x}function C(){return new Promise(function(Q){try{var x=M();if(!x||!x.serverUrl)return void Q();var J=function(Ne){var Te=Ne.serverUrl;l&&l.reloadUri&&(Te=se.isRelative(l.reloadUri)?se.resolve(l.reloadUri,Ne.serverUrl):l.reloadUri);var Ce=[],Ie=E.baseUrl.all.concat(E.location.all);if(Ie.length>0){var et=Ie.map(function(Xe){var Mt=function(Ee){if(!Ee||!R[Ee]||R[Ee].length===0)return-1;var Fe=R[Ee].reduce(function(lt,qe){return lt+qe})/R[Ee].length;return parseInt(Fe)}(Xe);return{serviceLocation:Xe,throughput:Mt}});et.sort(function(Xe,Mt){return Mt.throughput-Xe.throughput});var nt="",We="";et.forEach(function(Xe,Mt){Mt!==0&&(nt="".concat(nt,","),Xe.throughput>-1&&(We="".concat(We,","))),nt="".concat(nt).concat(Xe.serviceLocation),Xe.throughput>-1&&(We="".concat(We).concat(Xe.throughput))}),Ce.push({key:"_DASH_pathway",value:'"'.concat(nt,'"')}),Ce.push({key:"_DASH_throughput",value:We})}return Te=pt.Z.addAditionalQueryParameterToUrl(Te,Ce)}(x),he=new Fr(J);h.load({request:he,success:function(Ne){(function(Te){Te&&Te[e.Z.CONTENT_STEERING_RESPONSE.VERSION]&&parseInt(Te[e.Z.CONTENT_STEERING_RESPONSE.VERSION])===1&&((l=new Sr).version=Te[e.Z.CONTENT_STEERING_RESPONSE.VERSION],Te[e.Z.CONTENT_STEERING_RESPONSE.TTL]&&!isNaN(Te[e.Z.CONTENT_STEERING_RESPONSE.TTL])&&(l.ttl=Te[e.Z.CONTENT_STEERING_RESPONSE.TTL]),Te[e.Z.CONTENT_STEERING_RESPONSE.RELOAD_URI]&&(l.reloadUri=Te[e.Z.CONTENT_STEERING_RESPONSE.RELOAD_URI]),Te[e.Z.CONTENT_STEERING_RESPONSE.PATHWAY_PRIORITY]&&(l.pathwayPriority=Te[e.Z.CONTENT_STEERING_RESPONSE.PATHWAY_PRIORITY]),Te[e.Z.CONTENT_STEERING_RESPONSE.PATHWAY_CLONES]&&(l.pathwayClones=Te[e.Z.CONTENT_STEERING_RESPONSE.PATHWAY_CLONES],l.pathwayClones=l.pathwayClones.filter(function(Ce){return function(Ie){return Ie[e.Z.CONTENT_STEERING_RESPONSE.BASE_ID]&&Ie[e.Z.CONTENT_STEERING_RESPONSE.ID]&&Ie[e.Z.CONTENT_STEERING_RESPONSE.URI_REPLACEMENT]&&Ie[e.Z.CONTENT_STEERING_RESPONSE.URI_REPLACEMENT][e.Z.CONTENT_STEERING_RESPONSE.HOST]}(Ce)})),ne())})(Ne),Z.trigger(n.Z.CONTENT_STEERING_REQUEST_COMPLETED,{currentSteeringResponseData:l,url:J}),Q()},error:function(Ne,Te,Ce,Ie){(function(et,nt){try{switch(r.warn("Error fetching data from content steering server",et),nt.status){case 410:break;case 429:var We=nt&&nt.getResponseHeader?nt.getResponseHeader("retry-after"):null;We!==null&&(l||(l={}),l.ttl=parseInt(We)),ne();break;default:ne()}}catch(Xe){r.error(Xe)}})(Ne,Ie),Q(Ne)},complete:function(){E.baseUrl.all=D(E.baseUrl),E.location.all=D(E.location)}})}catch(Ne){Q(Ne)}})}function D(Q){return Q.all&&Q.all.length!==0&&Q.current?Q.all.filter(function(x){return x===Q.current}):[]}function b(Q){try{var x=[];return Q&&Q.length!==0&&l&&l.pathwayClones&&l.pathwayClones.length!==0&&l.pathwayClones.forEach(function(J){var he=Q.filter(function(et){return J[e.Z.CONTENT_STEERING_RESPONSE.BASE_ID]===et.serviceLocation}),Ne=null;if(he&&he.length>0&&(Ne=he[0]),Ne){var Te=new URL(Ne.url),Ce=J[e.Z.CONTENT_STEERING_RESPONSE.URI_REPLACEMENT][e.Z.CONTENT_STEERING_RESPONSE.HOST];Ce=pt.Z.stringHasProtocol(Ce)?Ce:"".concat(Te.protocol,"//").concat(Ce);var Ie={synthesizedUrl:"".concat(Ce).concat(Te.pathname),serviceLocation:J[e.Z.CONTENT_STEERING_RESPONSE.ID],queryParams:J[e.Z.CONTENT_STEERING_RESPONSE.URI_REPLACEMENT][e.Z.CONTENT_STEERING_RESPONSE.PARAMS],reference:Ne};x.push(Ie)}}),x}catch(J){return r.error(J),[]}}function ne(){l&&l.ttl&&!isNaN(l.ttl)&&(A&&clearTimeout(A),A=setTimeout(function(){C()},1e3*l.ttl))}function z(){A&&clearTimeout(A),A=null}function oe(){l=null,R={},E={baseUrl:{current:null,all:[]},location:{current:null,all:[]}},z()}return i={reset:function(){oe(),Z.off(n.Z.FRAGMENT_LOADING_STARTED,de,i),Z.off(n.Z.MANIFEST_LOADING_STARTED,G,i),Z.off(n.Z.MANIFEST_LOADING_FINISHED,ie,i),Z.off(n.Z.THROUGHPUT_MEASUREMENT_STORED,j,i)},setConfig:function(Q){Q&&(Q.adapter&&(ce=Q.adapter),Q.errHandler&&(w=Q.errHandler),Q.dashMetrics&&(L=Q.dashMetrics),Q.mediaPlayerModel&&(Y=Q.mediaPlayerModel),Q.requestModifier&&(N=Q.requestModifier),Q.manifestModel&&(B=Q.manifestModel),Q.serviceDescriptionController&&(U=Q.serviceDescriptionController),Q.eventBus&&(Z=Q.eventBus))},loadSteeringData:C,getCurrentSteeringResponseData:function(){return l},shouldQueryBeforeStart:function(){var Q=M();return!!Q&&Q.queryBeforeStart},getSteeringDataFromManifest:M,stopSteeringRequestTimer:z,getSynthesizedBaseUrlElements:function(Q){try{return b(Q).map(function(x){var J=new rr(x.synthesizedUrl,x.serviceLocation);return J.queryParams=x.queryParams,J.dvbPriority=x.reference.dvbPriority,J.dvbWeight=x.reference.dvbWeight,J.availabilityTimeOffset=x.reference.availabilityTimeOffset,J.availabilityTimeComplete=x.reference.availabilityTimeComplete,J})}catch(x){return r.error(x),[]}},getSynthesizedLocationElements:function(Q){try{return b(Q).map(function(x){var J=new Wt(x.synthesizedUrl,x.serviceLocation);return J.queryParams=x.queryParams,J})}catch(x){return r.error(x),[]}},initialize:function(){h=Wn(te).create({errHandler:w,dashMetrics:L,mediaPlayerModel:Y,requestModifier:N,errors:X}),Z.on(n.Z.FRAGMENT_LOADING_STARTED,de,i),Z.on(n.Z.MANIFEST_LOADING_STARTED,G,i),Z.on(n.Z.MANIFEST_LOADING_FINISHED,ie,i),Z.on(n.Z.THROUGHPUT_MEASUREMENT_STORED,j,i)}},r=(0,m.Z)(te).getInstance().getLogger(i),oe(),i}ri.__dashjs_factory_name="ContentSteeringController";var or=_.Z.getSingletonFactory(ri);function ii(){var i,r,l,E=this.context,R=(0,Ae.Z)(E).getInstance();return i={select:function(A){if(!A||A.length===0)return null;var h=null;return R.get().streaming.applyContentSteering&&(h=function(w){var L=l.getCurrentSteeringResponseData();return L&&L.pathwayPriority&&L.pathwayPriority.length>0?function(){for(var Y=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],B=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],N=0,U=null,Z=function(){var ce=Y[N],te=B.findIndex(function(se){return se.serviceLocation&&se.serviceLocation===ce});if(te!==-1&&!r.contains(B[te].serviceLocation))return U=B[te],"break";N+=1};N<Y.length&&Z()!=="break";);return U}(L.pathwayPriority,w):null}(A)),h||(h=function(w){return w[0]}(A)),h},setConfig:function(A){A.blacklistController&&(r=A.blacklistController),A.contentSteeringController&&(l=A.contentSteeringController)},reset:function(){r.reset()}},r=Lr(E).create({updateEventName:u.Z.SERVICE_LOCATION_LOCATION_BLACKLIST_CHANGED,addBlacklistEventName:u.Z.SERVICE_LOCATION_LOCATION_BLACKLIST_ADD}),l=or(E).getInstance(),i}ii.__dashjs_factory_name="LocationSelector";var yr=_.Z.getClassFactory(ii);function ai(){var i,r,l,E,R,A,h,w,L,Y,B,N,U,Z,ce=this.context,te=(0,p.Z)(ce).getInstance(),se=(0,ze.Z)(ce).getInstance();function de(){l=NaN,h=!1,R=!0,A=!1,G()}function G(){E!==null&&(clearTimeout(E),E=null)}function ie(z){G(),A||(isNaN(z)&&!isNaN(l)&&(z=1e3*l),isNaN(z)||(r.debug("Refresh manifest in "+z+" milliseconds."),E=setTimeout(M,z)))}function j(){var z=arguments.length>0&&arguments[0]!==void 0&&arguments[0];h=!0;var oe=L.getValue(),Q=oe.url,x=null,J=B.getPatchLocation(oe),he=Y.select(J),Ne=null;if(he&&!z)Q=he.url,x=he.serviceLocation,Ne=he.queryParams;else{var Te=le(oe),Ce=Y.select(Te);Ce&&(Q=Ce.url,x=Ce.serviceLocation,Ne=Ce.queryParams)}se.isRelative(Q)&&(Q=se.resolve(Q,oe.url)),w.load(Q,x,Ne)}function le(z){var oe=B.getLocation(z),Q=U.getSynthesizedLocationElements(oe);return oe.concat(Q)}function g(z){if(z){if(B.getIsPatch(z)){var oe=z;z=L.getValue();var Q=B.isPatchValid(z,oe),x=Q;if(Q){var J=B.getPublishTime(z);x=B.applyPatchToManifest(z,oe);var he=B.getPublishTime(z);x=J.getTime()!=he.getTime()}if(!x)return r.debug("Patch provided is invalid, performing full manifest refresh"),void j(!0);z.loadedTime=new Date}}else(z=L.getValue()).loadedTime=new Date;if(L.getValue()&&L.getValue().type===e.Z.DYNAMIC&&z.type===e.Z.STATIC)return te.trigger(u.Z.DYNAMIC_TO_STATIC),h=!1,void(A=!0);L.setValue(z);var Ne=new Date,Te=(Ne.getTime()-z.loadedTime.getTime())/1e3;1e3*(l=B.getManifestUpdatePeriod(z,Te))>2147483647&&(l=2147483647e-3),te.trigger(u.Z.MANIFEST_UPDATED,{manifest:z}),r.info("Manifest has been refreshed at "+Ne+"["+Ne.getTime()/1e3+"] "),R||ie()}function M(){R||(h?ie(Z.get().streaming.manifestUpdateRetryInterval):j())}function C(z){z.error?z.error.code===X.MANIFEST_LOADER_PARSING_FAILURE_ERROR_CODE&&N.error(z.error):g(z.manifest)}function D(){R=!1,ie()}function b(){(R=!Z.get().streaming.scheduling.scheduleWhilePaused)&&G()}function ne(){h=!1}return i={initialize:function(){de(),te.on(u.Z.STREAMS_COMPOSED,ne,this),te.on(n.Z.PLAYBACK_STARTED,D,this),te.on(n.Z.PLAYBACK_PAUSED,b,this),te.on(u.Z.INTERNAL_MANIFEST_LOADED,C,this)},setManifest:function(z){g(z)},refreshManifest:j,getIsUpdating:function(){return h},setConfig:function(z){z&&(z.manifestModel&&(L=z.manifestModel),z.adapter&&(B=z.adapter),z.manifestLoader&&(w=z.manifestLoader),z.errHandler&&(N=z.errHandler),z.locationSelector&&(Y=z.locationSelector),z.settings&&(Z=z.settings),z.contentSteeringController&&(U=z.contentSteeringController))},reset:function(){te.off(n.Z.PLAYBACK_STARTED,D,this),te.off(n.Z.PLAYBACK_PAUSED,b,this),te.off(u.Z.STREAMS_COMPOSED,ne,this),te.off(u.Z.INTERNAL_MANIFEST_LOADED,C,this),de()}},r=(0,m.Z)(ce).getInstance().getLogger(i),Y=yr(ce).create(),i}ai.__dashjs_factory_name="ManifestUpdater";var ia=_.Z.getClassFactory(ai);function Ni(){var i,r,l,E,R,A,h,w,L,Y,B,N,U,Z,ce,te,se=this.context,de=(0,p.Z)(se).getInstance(),G=(0,ze.Z)(se).getInstance();function ie(){w=[],L=[],Y=null,B=null,U=null,N=NaN,l=!1,E=!1,Z=R.get().streaming.utcSynchronization.timeBetweenSyncAttempts}function j(){R.get().streaming.utcSynchronization.enabled&&!l&&!E&&U&&U.value&&U.schemeIdUri&&!isNaN(N)&&!isNaN(R.get().streaming.utcSynchronization.backgroundAttempts)&&(B&&(Date.now()-B)/1e3<30||(w=[],E=!0,le(isNaN(R.get().streaming.utcSynchronization.backgroundAttempts)?2:R.get().streaming.utcSynchronization.backgroundAttempts)))}function le(Ce){try{if(Ce<=0)return void Ne();var Ie=Date.now();A[U.schemeIdUri](U.value,function(et){var nt=Date.now(),We=M(Ie,nt,et);w.push(We),le(Ce-1)},function(){Ne()})}catch{Ne()}}function g(){var Ce=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,Ie=Ce||0;if(!L||L.length===0||Ie>=L.length)C();else{var et=L[Ie];if(et)if(A.hasOwnProperty(et.schemeIdUri)){var nt=new Date().getTime();A[et.schemeIdUri](et.value,function(We){var Xe=new Date().getTime(),Mt=M(nt,Xe,We);U=et,C(Mt)},function(){g(Ie+1)})}else g(Ie+1);else C()}}function M(Ce,Ie,et){return et-(Ie-(Ie-Ce)/2)}function C(){var Ce=arguments.length>0&&arguments[0]!==void 0?arguments[0]:NaN,Ie=isNaN(Ce);Ie&&R.get().streaming.utcSynchronization.useManifestDateHeaderTimeSource?J():he(Ie,Ce)}function D(Ce){var Ie=Date.parse(Ce);return isNaN(Ie)&&(Ie=function(et){var nt,We,Xe=/^([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2})(?::([0-9]*)(\.[0-9]*)?)?(?:([+\-])([0-9]{2})([0-9]{2}))?/.exec(et);return nt=Date.UTC(parseInt(Xe[1],10),parseInt(Xe[2],10)-1,parseInt(Xe[3],10),parseInt(Xe[4],10),parseInt(Xe[5],10),Xe[6]&&(parseInt(Xe[6],10)||0),Xe[7]&&1e3*parseFloat(Xe[7])||0),Xe[9]&&Xe[10]&&(We=60*parseInt(Xe[9],10)+parseInt(Xe[10],10),nt+=(Xe[8]==="+"?-1:1)*We*60*1e3),new Date(nt).getTime()}(Ce)),Ie}function b(Ce){return Date.parse(Ce)}function ne(Ce){return Date.parse(Ce)}function z(Ce,Ie,et){et()}function oe(Ce,Ie,et){var nt=D(Ce);isNaN(nt)?et():Ie(nt)}function Q(Ce,Ie,et,nt,We){var Xe,Mt,Ee=!1,Fe=new XMLHttpRequest,lt=We?Le.w.HEAD:Le.w.GET,qe=Ie.match(/\S+/g);if(Ie=qe.shift(),Xe=function(){Ee||(Ee=!0,qe.length?Q(Ce,qe.join(" "),et,nt,We):nt())},Mt=function(){var gt,st;Fe.status===200&&(gt=We?Fe.getResponseHeader("Date"):Fe.response,st=Ce(gt),isNaN(st)||(et(st),Ee=!0))},G.isRelative(Ie)){var ht=te.resolve();ht&&(Ie=G.resolve(Ie,ht.url))}Fe.open(lt,Ie),Fe.timeout=5e3,Fe.onload=Mt,Fe.onloadend=Xe,Fe.send()}function x(Ce,Ie,et){Q(ne,Ce,Ie,et,!0)}function J(){var Ce=h.getLatestMPDRequestHeaderValueByID("Date"),Ie=Ce!==null?new Date(Ce).getTime():Number.NaN;isNaN(Ie)?he(!0):he(!1,Ie-Date.now())}function he(Ce,Ie){if(isNaN(N)||isNaN(Ie)||Ce||function(nt){try{var We,Xe=Te(nt),Mt=isNaN(Z)?30:Z,Ee=isNaN(R.get().streaming.utcSynchronization.timeBetweenSyncAttemptsAdjustmentFactor)?2:R.get().streaming.utcSynchronization.timeBetweenSyncAttemptsAdjustmentFactor,Fe=isNaN(R.get().streaming.utcSynchronization.maximumTimeBetweenSyncAttempts)?600:R.get().streaming.utcSynchronization.maximumTimeBetweenSyncAttempts,lt=isNaN(R.get().streaming.utcSynchronization.minimumTimeBetweenSyncAttempts)?2:R.get().streaming.utcSynchronization.minimumTimeBetweenSyncAttempts;Xe?(We=Math.min(Mt*Ee,Fe),r.debug("Increasing timeBetweenSyncAttempts to ".concat(We))):(We=Math.max(Mt/Ee,lt),r.debug("Decreasing timeBetweenSyncAttempts to ".concat(We))),Z=We}catch{}}(Ie),!Ce&&!isNaN(Ie)){Y=Date.now(),l=!1;var et=isNaN(N);N=Ie,et&&j(),r.debug("Completed UTC sync. Setting client - server offset to ".concat(Ie))}Ce&&(U=null,l=!1,ce.error(new re.Z(X.TIME_SYNC_FAILED_ERROR_CODE,X.TIME_SYNC_FAILED_ERROR_MESSAGE))),de.trigger(u.Z.UPDATE_TIME_SYNC_OFFSET,{offset:Ie}),de.trigger(u.Z.TIME_SYNCHRONIZATION_COMPLETED)}function Ne(){if(w&&w.length!==0){var Ce=w.reduce(function(Ie,et){return Ie+et},0)/w.length;Te(Ce)?r.debug("Completed background UTC sync. Offset is within allowed threshold and is not adjusted."):(r.debug("Completed background UTC sync. Setting client - server offset to ".concat(Ce)),N=Ce,de.trigger(u.Z.UPDATE_TIME_SYNC_OFFSET,{offset:N})),E=!1,B=Date.now()}}function Te(Ce){try{if(isNaN(N))return!0;var Ie=R.get().streaming.utcSynchronization.maximumAllowedDrift&&!isNaN(R.get().streaming.utcSynchronization.maximumAllowedDrift)?R.get().streaming.utcSynchronization.maximumAllowedDrift:100;return Ce>=N-Ie&&Ce<=N+Ie}catch{return!0}}return i={initialize:function(){ie(),A={"urn:mpeg:dash:utc:http-head:2014":x,"urn:mpeg:dash:utc:http-xsdate:2014":Q.bind(null,D),"urn:mpeg:dash:utc:http-iso:2014":Q.bind(null,b),"urn:mpeg:dash:utc:direct:2014":oe,"urn:mpeg:dash:utc:http-head:2012":x,"urn:mpeg:dash:utc:http-xsdate:2012":Q.bind(null,D),"urn:mpeg:dash:utc:http-iso:2012":Q.bind(null,b),"urn:mpeg:dash:utc:direct:2012":oe,"urn:mpeg:dash:utc:http-ntp:2014":z,"urn:mpeg:dash:utc:ntp:2014":z,"urn:mpeg:dash:utc:sntp:2014":z}},attemptSync:function(Ce,Ie){L=Ce,l||(function(et){try{if(!et||!R.get().streaming.utcSynchronization.enabled)return!1;var nt=isNaN(Z)?30:Z;return!(Y&&nt&&!isNaN(nt))||(Date.now()-Y)/1e3>=nt}catch{return!0}}(Ie)?(l=!0,g()):de.trigger(u.Z.TIME_SYNCHRONIZATION_COMPLETED))},setConfig:function(Ce){Ce&&(Ce.dashMetrics&&(h=Ce.dashMetrics),Ce.baseURLController&&(te=Ce.baseURLController),Ce.errHandler&&(ce=Ce.errHandler),Ce.settings&&(R=Ce.settings))},reset:function(){ie(),de.off(u.Z.ATTEMPT_BACKGROUND_SYNC,j,i)}},r=(0,m.Z)(se).getInstance().getLogger(i),de.on(u.Z.ATTEMPT_BACKGROUND_SYNC,j,i),i}Ni.__dashjs_factory_name="TimeSyncController";var Ci=_.Z.getSingletonFactory(Ni);Ci.HTTP_TIMEOUT_MS=5e3,_.Z.updateSingletonFactory(Ni.__dashjs_factory_name,Ci);var bo=Ci;function aa(){var i,r,l,E,R,A=this.context,h=(0,p.Z)(A).getInstance();return i={attachMediaSource:function(w){var L=window.URL.createObjectURL(r);return w.setSource(L),E==="managedMediaSource"&&(w.setDisableRemotePlayback(!0),r.addEventListener("startstreaming",function(){h.trigger(n.Z.MANAGED_MEDIA_SOURCE_START_STREAMING)}),r.addEventListener("endstreaming",function(){h.trigger(n.Z.MANAGED_MEDIA_SOURCE_END_STREAMING)})),L},createMediaSource:function(){var w="WebKitMediaSource"in window,L="MediaSource"in window;return"ManagedMediaSource"in window?(r=new ManagedMediaSource,E="managedMediaSource",R.info("Created ManagedMediaSource")):L?(r=new MediaSource,E="mediaSource",R.info("Created MediaSource")):w&&(r=new WebKitMediaSource,R.info("Created WebkitMediaSource")),r},detachMediaSource:function(w){w.setSource(null)},setConfig:function(w){w&&w.settings&&(l=w.settings)},setDuration:function w(L){r&&r.readyState==="open"&&(L===null&&isNaN(L)||r.duration!==L&&(L!==1/0||l.get().streaming.buffer.mediaSourceDurationInfinity||(L=Math.pow(2,32)),function(Y){for(var B=Y.sourceBuffers,N=0;N<B.length;N++)if(B[N].updating)return!0;return!1}(r)?setTimeout(w.bind(null,L),50):(R.info("Set MediaSource duration:"+L),r.duration=L)))},setSeekable:function(w,L){r&&typeof r.setLiveSeekableRange=="function"&&typeof r.clearLiveSeekableRange=="function"&&r.readyState==="open"&&w>=0&&w<L&&(r.clearLiveSeekableRange(),r.setLiveSeekableRange(w,L))},signalEndOfStream:function(w){if(w&&w.readyState==="open"){for(var L=w.sourceBuffers,Y=0;Y<L.length;Y++)if(L[Y].updating||L[Y].buffered.length===0)return;R.info("call to mediaSource endOfStream"),w.endOfStream()}}},R=(0,m.Z)(A).getInstance().getLogger(i),i}aa.__dashjs_factory_name="MediaSourceController";var Ao=_.Z.getSingletonFactory(aa);function oa(){var i,r,l,E,R,A,h,w,L,Y,B,N="urn:mpeg:dash:event:2012",U="discarded",Z="updated",ce="added",te=this.context,se=(0,p.Z)(te).getInstance();function de(){if(!h||!w)throw new Error("setConfig function has to be called previously")}function G(){B=!1,l={},E={},R=null,Y=!1,A=Date.now()/1e3}function ie(){try{if(!Y){Y=!0;var z=w.getTime(),oe=z-A;oe=A>0?Math.max(0,oe):0,j(E,oe,z),j(l,oe,z),le(E),le(l),A=z,Y=!1}}catch(Q){Y=!1,r.error(Q)}}function j(z,oe,Q){try{D(z,function(x){if(x!==void 0){var J=isNaN(x.duration)?0:x.duration;x.calculatedPresentationTime<=Q&&x.calculatedPresentationTime+oe+J>=Q?ne(x,n.Z.EVENT_MODE_ON_START):(b(Q,J+oe,x.calculatedPresentationTime)||function(he){try{var Ne=he.eventStream.period.start+he.eventStream.period.duration;return he.calculatedPresentationTime>Ne}catch(Te){return r.error(Te),!1}}(x))&&(r.debug("Removing event ".concat(x.id," from period ").concat(x.eventStream.period.id," as it is expired or invalid")),function(he,Ne){try{var Te=Ne.eventStream.schemeIdUri,Ce=Ne.eventStream.period.id,Ie=Ne.eventStream.value,et=Ne.id;he[Ce][Te]=he[Ce][Te].filter(function(nt){return Ie&&nt.eventStream.value&&nt.eventStream.value!==Ie||nt.id!==et}),he[Ce][Te].length===0&&delete he[Ce][Te]}catch(nt){r.error(nt)}}(z,x))}})}catch(x){r.error(x)}}function le(z){try{for(var oe in z)z.hasOwnProperty(oe)&&Object.keys(z[oe]).length===0&&delete z[oe]}catch(Q){r.error(Q)}}function g(z,oe){var Q=arguments.length>2&&arguments[2]!==void 0&&arguments[2],x=z.eventStream.schemeIdUri,J=z.eventStream.value,he=z.id,Ne=U;oe[x]||(oe[x]=[]);var Te=oe[x].findIndex(function(Ie){return(!J||Ie.eventStream.value&&Ie.eventStream.value===J)&&Ie.id===he});if(Te===-1)oe[x].push(z),z.triggeredReceivedEvent=!1,z.triggeredStartEvent=!1,Ne=ce;else if(Q){var Ce=oe[x][Te];z.triggeredReceivedEvent=Ce.triggeredReceivedEvent,z.triggeredStartEvent=Ce.triggeredStartEvent,oe[x][Te]=z,Ne=Z}return Ne}function M(z){try{if(z.eventStream.value==1){var oe,Q=z.calculatedPresentationTime;oe=z.calculatedPresentationTime==4294967295?NaN:z.calculatedPresentationTime+z.duration,se.trigger(n.Z.MANIFEST_VALIDITY_CHANGED,{id:z.id,validUntil:Q,newDuration:oe,newManifestValidAfter:NaN},{mode:n.Z.EVENT_MODE_ON_START})}}catch(x){r.error(x)}}function C(z){try{var oe=w.getTime();D(z,function(Q){var x=Q.eventStream&&Q.eventStream.period&&!isNaN(Q.eventStream.period.duration)?Q.eventStream.period.duration:NaN,J=Q.eventStream&&Q.eventStream.period&&!isNaN(Q.eventStream.period.start)?Q.eventStream.period.start:NaN;if(!isNaN(x)&&!isNaN(J)){var he=Q.calculatedPresentationTime;Math.abs(he-oe)<300&&ne(Q,n.Z.EVENT_MODE_ON_START)}})}catch(Q){r.error(Q)}}function D(z,oe){try{if(z)for(var Q=Object.keys(z),x=0;x<Q.length;x++)for(var J=z[Q[x]],he=Object.keys(J),Ne=0;Ne<he.length;Ne++)J[he[Ne]].forEach(function(Te){Te!==void 0&&oe(Te)})}catch(Te){r.error(Te)}}function b(z,oe,Q){try{return z-oe>Q}catch(x){return r.error(x),!1}}function ne(z,oe){try{var Q=w.getTime(),x=z.id;if(oe===n.Z.EVENT_MODE_ON_RECEIVE&&!z.triggeredReceivedEvent)return r.debug("Received event ".concat(x)),z.triggeredReceivedEvent=!0,void se.trigger(z.eventStream.schemeIdUri,{event:z},{mode:oe});z.triggeredStartEvent||(z.eventStream.schemeIdUri===N&&z.eventStream.value==1?z.duration===0&&z.presentationTimeDelta===0||(r.debug("Starting manifest refresh event ".concat(x," at ").concat(Q)),function(){try{de(),h.refreshManifest()}catch(J){r.error(J)}}()):z.eventStream.schemeIdUri==="urn:mpeg:dash:event:callback:2015"&&z.eventStream.value==1?(r.debug("Starting callback event ".concat(x," at ").concat(Q)),function(J){try{(0,Ft.Z)(te).create({}).load({method:"get",url:J,request:{responseType:"arraybuffer"}})}catch(he){r.error(he)}}(z.messageData)):(r.debug("Starting event ".concat(x," from period ").concat(z.eventStream.period.id," at ").concat(Q)),se.trigger(z.eventStream.schemeIdUri,{event:z},{mode:oe})),z.triggeredStartEvent=!0)}catch(J){r.error(J)}}return i={addInlineEvents:function(z,oe){try{if(de(),l[oe]||(l[oe]={}),z)for(var Q=0;Q<z.length;Q++){var x=z[Q];if(!b(w.getTime(),isNaN(x.duration)?0:x.duration,x.calculatedPresentationTime)){var J=g(x,l[oe],!0);J===ce?(r.debug("Added inline event with id ".concat(x.id," from period ").concat(oe)),ne(x,n.Z.EVENT_MODE_ON_RECEIVE)):J===Z&&r.debug("Updated inline event with id ".concat(x.id," from period ").concat(oe))}}}catch(he){throw he}},addInbandEvents:function(z,oe){try{de(),E[oe]||(E[oe]={});for(var Q=0;Q<z.length;Q++){var x=z[Q];b(w.getTime(),isNaN(x.duration)?0:x.duration,x.calculatedPresentationTime)||(g(x,E[oe],!1)===ce?(x.eventStream.schemeIdUri===N&&M(x),r.debug("Added inband event with id ".concat(x.id," from period ").concat(oe)),ne(x,n.Z.EVENT_MODE_ON_RECEIVE)):r.debug("Inband event with scheme_id_uri ".concat(x.eventStream.schemeIdUri,", value ").concat(x.eventStream.value,", period id ").concat(oe," and event id ").concat(x.id," was ignored because it has been added before.")))}ie()}catch(J){throw J}},getInbandEvents:function(){return E},getInlineEvents:function(){return l},start:function(){try{de(),r.debug("Start Event Controller");var z=L.get().streaming.eventControllerRefreshDelay;B||isNaN(z)||(B=!0,R=setInterval(ie,z))}catch(oe){throw oe}},setConfig:function(z){try{if(!z)return;z.manifestUpdater&&(h=z.manifestUpdater),z.playbackController&&(w=z.playbackController),z.settings&&(L=z.settings)}catch(oe){throw oe}},reset:function(){(function(){try{R!==null&&B&&(clearInterval(R),R=null,B=!1,function(){try{C(E),C(l)}catch(z){r.error(z)}}())}catch(z){throw z}})(),G()}},r=(0,m.Z)(te).getInstance().getLogger(i),G(),i}oa.__dashjs_factory_name="EventController";var Io=_.Z.getSingletonFactory(oa),xr={LEVELS:{SUGGESTION:"Suggestion",WARNING:"Warning",ERROR:"Error"},EVENTS:{NO_UTC_TIMING_ELEMENT:{key:"NO_UTC_TIMING_ELEMENT",message:"No UTCTiming element is present in the manifest. You may experience playback failures. For a detailed validation use https://conformance.dashif.org/"},NON_COMPLIANT_SMPTE_IMAGE_ATTRIBUTE:{key:"NON_COMPLIANT_SMPTE_IMAGE_ATTRIBUTE",message:'SMPTE 2052-1:2013 defines the attribute name as "imageType" and does not define "imagetype"'},INVALID_DVR_WINDOW:{key:"INVALID_DVR_WINDOW",message:"No valid segment found when applying a specification compliant DVR window calculation. Using SegmentTimeline entries as a fallback."}}};function Di(i,r){(r==null||r>i.length)&&(r=i.length);for(var l=0,E=new Array(r);l<r;l++)E[l]=i[l];return E}function sa(){var i,r,l,E,R,A,h,w,L,Y,B,N,U,Z,ce,te,se,de,G,ie,j,le,g,M,C,D,b,ne,z,oe,Q,x,J,he,Ne,Te,Ce,Ie,et,nt,We,Xe,Mt,Ee,Fe,lt,qe,ht,gt=this.context,st=(0,p.Z)(gt).getInstance();function qt(){if(!(A&&A.hasOwnProperty("load")&&j&&j.hasOwnProperty("initialize")&&j.hasOwnProperty("reset")&&j.hasOwnProperty("getClientTimeOffset")&&h&&ie&&L&&J))throw new Error(t.Z.MISSING_CONFIG_ERROR)}function Gt(){if(!R||!R.hasOwnProperty("setManifest"))throw new Error("initialize function has to be called previously")}function an(){(function(){try{var Ke=w.getStreamsInfo();if(!g&&Ke.length===0)throw new Error("There are no periods in the MPD");g&&Ke.length>0&&L.updateManifestUpdateInfo({currentTime:J.getTime(),buffered:x.getBufferRange(),presentationStartTime:Ke[0].start,clientTimeOffset:j.getClientTimeOffset()}),le.length>0&&function(mn){mn.length!==0?le=le.filter(function(cn){var Mn=mn.filter(function(In){return In.id===cn.getId()}).length>0||cn.getId()===g.getId();return Mn||(r.debug("Removing stream ".concat(cn.getId())),cn.reset(!0)),Mn}):r.warn("No periods included in the current manifest. Skipping the filtering of outdated stream objects.")}(Ke);for(var Rt=[],Qt=0,on=Ke.length;Qt<on;Qt++){var hn=Ke[Qt];Rt.push(Be(hn)),L.addManifestUpdateStreamInfo(hn)}Promise.all(Rt).then(function(){return new Promise(function(mn,cn){g?mn():ft(Ke,mn,cn)})}).then(function(){st.trigger(u.Z.STREAMS_COMPOSED),Nt()}).catch(function(mn){throw mn})}catch(mn){ie.error(new re.Z(X.MANIFEST_ERROR_ID_NOSTREAMS_CODE,mn.message+" nostreamscomposed",h.getValue())),oe=!0,_r()}})()}function un(){Fe=!0}function Be(Ke){var Rt=Kr(Ke.id);return Rt?Rt.updateData(Ke):(Rt=Tr(gt).create({manifestModel:h,mediaPlayerModel:Ne,dashMetrics:L,manifestUpdater:R,adapter:w,timelineConverter:j,capabilities:l,capabilitiesFilter:E,errHandler:ie,baseURLController:U,segmentBaseController:Z,textController:C,abrController:te,playbackController:J,eventController:de,mediaController:se,protectionController:M,videoModel:x,streamInfo:Ke,settings:Ee}),le.push(Rt),Rt.initialize(),Promise.resolve())}function ft(Ke,Rt,Qt){try{jt();var on=L.getCurrentDVRInfo().range;if(on.end<on.start){lt&&clearTimeout(lt);var hn=Math.min(1e3*(-1*(on.end-on.start)+2),2147483647);return r.debug("Waiting for ".concat(hn," ms before playback can start")),st.trigger(u.Z.AST_IN_FUTURE,{delay:hn}),void(lt=setTimeout(function(){ft(Ke,Rt,Qt)},hn))}Ee.get().streaming.applyProducerReferenceTime&&he.calculateProducerReferenceTimeOffsets(Ke);var mn=Ke[0].manifestInfo;if(Ee.get().streaming.applyServiceDescription&&he.applyServiceDescription(mn),w.getIsDynamic()){var cn=br(Ke,mn);J.computeAndSetLiveDelay(cn,mn)}(Ee.get().streaming.applyContentSteering&&N.shouldQueryBeforeStart()?N.loadSteeringData():Promise.resolve()).then(function(){var Mn=h.getValue();Mn&&U.update(Mn),$e(),Rt()}).catch(function(Mn){r.error(Mn),$e(),Rt()})}catch(Mn){Qt(Mn)}}function $e(){var Ke=function(){var on;if(w.getIsDynamic()){var hn=L.getCurrentDVRInfo();on=(hn&&hn.range?hn.range.end:0)-J.getOriginalLiveDelay();var mn=hn?hn.range:null;if(mn){if(isNaN(qe)&&qe.toString().indexOf("posix:")===-1){var cn=Jn(!0);isNaN(cn)||(r.info("Start time from URI parameters: ".concat(cn)),on=Math.min(on,cn))}else{r.info("Start time provided by the app: ".concat(qe));var Mn=Gn(!0,qe);isNaN(Mn)||(on=Math.min(on,Mn))}var In=Ee.get().streaming.timeShiftBuffer.calcFromSegmentTimeline?.1:0;on=Math.max(on,mn.start+In)}}else if(on=Rr()[0].getStreamInfo().start,isNaN(qe)){var hr=Jn(!1);isNaN(hr)||(r.info("Start time from URI parameters: ".concat(hr)),on=Math.max(on,hr))}else{r.info("Start time provided by the app: ".concat(qe));var Br=Gn(!1,qe);isNaN(Br)||(on=Math.max(on,Br))}return on}(),Rt=kt(Ke),Qt=Rt!==null?Rt:le[0];st.trigger(u.Z.INITIAL_STREAM_SWITCH,{startTime:Ke}),vt(Qt,null,Ke),nt||(nt=setInterval(function(){!ne&&J.getTimeToStreamEnd()<=0&&!J.isSeeking()&&st.trigger(u.Z.PLAYBACK_ENDED,{isLast:sr().isLast})},200))}function vt(Ke,Rt,Qt){try{if(ne||!Ke||Rt===Ke&&Ke.getIsActive())return;ne=!0,st.trigger(u.Z.PERIOD_SWITCH_STARTED,{fromStreamInfo:Rt?Rt.getStreamInfo():null,toStreamInfo:Ke.getStreamInfo()});var on=!1;g=Ke,Rt&&(on=Dt(Ke,Rt),Rt.deactivate(on)),Qt=isNaN(Qt)?!on&&Rt?Ke.getStreamInfo().start:NaN:Qt,r.info("Switch to stream ".concat(Ke.getId(),". Seektime is ").concat(Qt,", current playback time is ").concat(J.getTime(),". Seamless period switch is set to ").concat(on)),Xe=Xe.filter(function(hn){return hn.getId()!==g.getId()}),J.initialize(sr(),!!Rt),x.getElement()?wt(Qt,on,!1):Ht(Qt,on)}catch{ne=!1}}function wt(Ke,Rt){var Qt,on=arguments.length>2&&arguments[2]!==void 0&&arguments[2];function hn(){if(Q&&Q.readyState==="open"){r.debug("MediaSource is open!"),window.URL.revokeObjectURL(Qt),Q.removeEventListener("sourceopen",hn),Q.removeEventListener("webkitsourceopen",hn),Sn();var cn=L.getCurrentDVRInfo();Y.setSeekable(cn.range.start,cn.range.end),on?(isNaN(Ke)||J.seek(Ke,!0,!0),g.setMediaSource(Q).then(function(){g.initializeForTextWithMediaSource(Q)})):Ht(Ke,Rt)}}function mn(){Q.addEventListener("sourceopen",hn,!1),Q.addEventListener("webkitsourceopen",hn,!1),Qt=Y.attachMediaSource(x),r.debug("MediaSource attached to element.  Waiting on open...")}Q?Rt?Ht(Ke,Rt):(Y.detachMediaSource(x),mn()):(Q=Y.createMediaSource(),mn())}function Ht(Ke,Rt){g.activate(Q,Rt?We:void 0,Ke).then(function(Qt){if(Qt){var on=Object.keys(Qt);on.length>0&&Qt[on[0]].getBuffer().changeType&&(Mt=!0),We=Qt}isNaN(Ke)||(st.trigger(u.Z.SEEK_TARGET,{time:Ke},{streamId:g.getId()}),J.seek(Ke,!1,!0),g.startScheduleControllers()),ne=!1,st.trigger(u.Z.PERIOD_SWITCH_COMPLETED,{toStreamInfo:sr()})})}function Yt(Ke){var Rt=kt(Ke.seekTime);Rt&&Rt!==g?Rt&&Rt!==g&&(Kt(),function(Qt,on){var hn=Qt&&!isNaN(Qt.seekTime)?Qt.seekTime:NaN,mn=g.getProcessors().map(function(cn){return cn.prepareOuterPeriodPlaybackSeeking(Qt)});Promise.all(mn).then(function(){vt(on,g,hn)}).catch(function(cn){ie.error(cn)})}(Ke,Rt)):(Kt(),function(Qt){g.getProcessors().forEach(function(on){return on.prepareInnerPeriodPlaybackSeeking(Qt)}),$n(be.USER_REQUEST_STOP_REASON)}(Ke)),vr(De.SEEK_START_REASON)}function Kt(){Jt()}function Jt(){Xe&&Xe.length>0&&(Xe.forEach(function(Ke){Ke.deactivate(!0)}),Xe=[])}function ut(Ke){if(Ke.newMediaInfo.streamInfo.id===g.getId()){if(Jt(),Ee.get().streaming.buffer.resetSourceBuffersForTrackSwitch&&Ke.oldMediaInfo&&Ke.oldMediaInfo.codec!==Ke.newMediaInfo.codec){var Rt=J.getTime();return g.deactivate(!1),void wt(Rt,!1,!1)}g.prepareTrackChange(Ke)}}function Dt(Ke,Rt){try{return Ee.get().streaming.buffer.reuseExistingSourceBuffers&&(Rt.isProtectionCompatible(Ke)||Fe)&&(Mt&&Ee.get().streaming.buffer.useChangeTypeForTrackSwitch||Rt.isMediaCodecCompatible(Ke,Rt))}catch{return!1}}function xt(Ke){var Rt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;if(Q&&!Ke.getPreloaded()){var Qt=Dt(Ke,Rt);Qt&&Ke.startPreloading(Q,We).then(function(){Xe.push(Ke)})}}function kt(Ke){if(isNaN(Ke))return null;for(var Rt=le.length,Qt=0;Qt<Rt;Qt++){var on=le[Qt];if(Ke<parseFloat((on.getStartTime()+on.getDuration()).toFixed(5)))return on}return null}function jt(){try{var Ke=w.getIsDynamic(),Rt=w.getStreamsInfo()[0].manifestInfo,Qt=J.getTime(),on=j.calcTimeShiftBufferWindow(le,Ke),hn=bn();if(on.start===void 0||on.end===void 0)return;hn&&hn.length!==0?hn.forEach(function(mn){L.addDVRInfo(mn.getType(),Qt,Rt,on)}):L.addDVRInfo(t.Z.VIDEO,Qt,Rt,on)}catch{}}function Ge(Ke){if(Ie&&b){var Rt=Ne.getInitialBufferLevel(),Qt=[t.Z.TEXT];(isNaN(Rt)||Rt<=J.getBufferLevel(Qt)||w.getIsDynamic()&&Rt>J.getLiveDelay())&&(Ie=!1,vr(De.INITIAL_PLAYOUT_START_REASON),J.play())}Ke&&Ke.mediaType&&L.addBufferLevel(Ke.mediaType,new Date,1e3*Ke.bufferLevel)}function Re(Ke){Ke.streamInfo.id===g.getId()&&Ke.reason&&Ke.reason.forceReplace&&Jt(),Kr(Ke.streamInfo.id).prepareQualityChange(Ke)}function rt(){if(w.getIsDynamic()&&J.getOriginalLiveDelay()!==0&&g){var Ke=w.getStreamsInfo();if(Ke.length>0){var Rt=Ke[0].manifestInfo,Qt=br(Ke,Rt);J.computeAndSetLiveDelay(Qt,Rt)}}}function fe(){if(fr()){var Ke=x.getPlaybackQuality();Ke&&L.addDroppedFrames(Ke)}}function pe(){r.debug("[onPlaybackStarted]"),!Ie&&Ce&&vr(De.RESUME_FROM_PAUSE_START_REASON),Ie&&(Ie=!1),et&&(et=!1,Ee.get().streaming.applyContentSteering&&!N.shouldQueryBeforeStart()&&N.loadSteeringData()),Ce=!1}function Ve(Ke){r.debug("[onPlaybackPaused]"),Ke.ended||(Ce=!0,$n(be.USER_REQUEST_STOP_REASON))}function St(Ke){r.debug("Stream with id ".concat(Ke.streamInfo.id," finished buffering"));var Rt=Ke.streamInfo.isLast;Q&&Rt?(r.info("[onStreamBufferingCompleted] calls signalEndOfStream of mediaSourceController."),Y.signalEndOfStream(Q)):Nt()}function Nt(){if(g&&g.getHasFinishedBuffering())for(var Ke=function(){var hn=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null;try{var mn=hn||g||null;if(mn){var cn=mn.getStreamInfo();return le.filter(function(Mn){var In=Mn.getStreamInfo();return In.start>cn.start&&cn.id!==In.id})}}catch{return[]}}(g),Rt=0;Rt<Ke.length;){var Qt=Ke[Rt],on=Rt===0?g:Ke[Rt-1];!Qt.getPreloaded()&&on.getHasFinishedBuffering()&&Q&&xt(Qt,on),Rt+=1}}function ln(){nt&&(clearInterval(nt),nt=null)}function bn(){return g?g.getProcessors():[]}function Zn(Ke){if(g&&!g.getIsEndedEventSignaled()){g.setIsEndedEventSignaled(!0);var Rt=function(){var Qt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,on=Qt||g||null;if(!on)return null;for(var hn=on.getStreamInfo(),mn=hn.start,cn=0,Mn=-1,In=NaN;cn<le.length;){var hr=le[cn].getStreamInfo(),Br=hr.start-mn;Br>0&&(isNaN(In)||Br<In)&&hn.id!==hr.id&&(In=Br,Mn=cn),cn+=1}return Mn>=0?le[Mn]:null}();Rt?(r.debug("StreamController onEnded, found next stream with id ".concat(Rt.getStreamInfo().id,". Switching from ").concat(g.getStreamInfo().id," to ").concat(Rt.getStreamInfo().id)),vt(Rt,g,NaN)):(r.debug("StreamController no next stream found"),g.setIsEndedEventSignaled(!1)),$n(Rt?be.END_OF_PERIOD_STOP_REASON:be.END_OF_CONTENT_STOP_REASON)}Ke&&Ke.isLast&&(ln(),N.stopSteeringRequestTimer())}function Sn(Ke){var Rt=Ke||sr().manifestInfo.duration;Y.setDuration(Rt)}function Jn(Ke){var Rt=ce.getURIFragmentData();if(!Rt||!Rt.t)return NaN;var Qt=Rr()[0].getStreamInfo().start;return Rt.t=Rt.t.split(",")[0],Er(Ke,Rt.t,Qt)}function Gn(Ke,Rt){var Qt=0;return Ke||(Qt=Rr()[0].getStreamInfo().start),Er(Ke,Rt,Qt)}function Er(Ke,Rt,Qt){var on=w.getRegularPeriods()[0],hn=Rt.toString(),mn=hn.indexOf("posix:")!==-1?hn.substring(6)==="now"?Date.now()/1e3:parseFloat(hn.substring(6)):NaN;return Ke&&!isNaN(mn)?j.calcPresentationTimeFromWallTime(new Date(1e3*mn),on):parseFloat(hn)+Qt}function br(Ke,Rt){try{var Qt=NaN;if(Rt&&!isNaN(Rt.maxFragmentDuration)&&isFinite(Rt.maxFragmentDuration))return Rt.maxFragmentDuration;if(Ke&&Ke.length===1){var on=Ke[0],hn=[t.Z.VIDEO,t.Z.AUDIO,t.Z.TEXT].reduce(function(cn,Mn){var In=w.getMediaInfoForType(on,Mn);return In&&In.isFragmented!==!1&&cn.push(In),cn},[]).reduce(function(cn,Mn){var In=w.getVoRepresentations(Mn);return In&&In.length>0&&In.forEach(function(hr){hr&&cn.push(hr)}),cn},[]).reduce(function(cn,Mn){var In=w.convertRepresentationToRepresentationInfo(Mn);return In&&In.fragmentDuration&&!isNaN(In.fragmentDuration)&&cn.push(In.fragmentDuration),cn},[]);Qt=Math.max.apply(Math,function(cn){if(Array.isArray(cn))return Di(cn)}(mn=hn)||function(cn){if(typeof Symbol<"u"&&Symbol.iterator in Object(cn))return Array.from(cn)}(mn)||function(cn,Mn){if(cn){if(typeof cn=="string")return Di(cn,Mn);var In=Object.prototype.toString.call(cn).slice(8,-1);return In==="Object"&&cn.constructor&&(In=cn.constructor.name),In==="Map"||In==="Set"?Array.from(cn):In==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(In)?Di(cn,Mn):void 0}}(mn)||function(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}())}return isFinite(Qt)?Qt:NaN}catch{return NaN}var mn}function Ar(Ke){if(Ke.error)oe=!0,_r();else{r.info("Manifest updated... updating data system wide.");var Rt=Ke.manifest;w.updatePeriods(Rt);var Qt=w.getUTCTimingSources();!w.getIsDynamic()||Qt&&Qt.length!==0||st.trigger(n.Z.CONFORMANCE_VIOLATION,{level:xr.LEVELS.WARNING,event:xr.EVENTS.NO_UTC_TIMING_ELEMENT});var on=w.getIsDynamic()?Qt.concat(Te.getUTCTimingSources()):Qt;E.filterUnsupportedFeatures(Rt).then(function(){U.initialize(Rt),B.attemptSync(on,w.getIsDynamic())})}}function fr(){return!!g&&g.getHasVideoTrack()}function gr(){return!!g&&g.getHasAudioTrack()}function $n(Ke,Rt){Rt=Rt||new Date,bn().forEach(function(Qt){Qt.finalisePlayList(Rt,Ke)}),L.addPlayList()}function vr(Ke){L.createPlaylistMetrics(1e3*J.getTime(),Ke)}function Ir(Ke){if(Ke.error){var Rt="";switch(Ke.error.code){case 1:Rt="MEDIA_ERR_ABORTED";break;case 2:Rt="MEDIA_ERR_NETWORK";break;case 3:Rt="MEDIA_ERR_DECODE",ht.counts.mediaErrorDecode+=1;break;case 4:Rt="MEDIA_ERR_SRC_NOT_SUPPORTED";break;case 5:Rt="MEDIA_ERR_ENCRYPTED";break;default:Rt="UNKNOWN"}Rt==="MEDIA_ERR_DECODE"&&Ee.get().errors.recoverAttempts.mediaErrorDecode>=ht.counts.mediaErrorDecode?function(){r.warn("A MEDIA_ERR_DECODE occured: Resetting the MediaSource");var Qt=J.getTime();g.deactivate(!1),r.warn("MediaSource has been resetted. Resuming playback from time ".concat(Qt)),wt(Qt,!1,!1)}():(z=!0,Ke.error.message&&(Rt+=" ("+Ke.error.message+")"),Ke.error.msExtendedCode&&(Rt+=" (0x"+(Ke.error.msExtendedCode>>>0).toString(16).toUpperCase()+")"),r.fatal("Video Element Error: "+Rt),Ke.error&&r.fatal(Ke.error),ie.error(new re.Z(Ke.error.code,Rt)),_r())}}function sr(){return g?g.getStreamInfo():null}function Kr(Ke){for(var Rt=0,Qt=le.length;Rt<Qt;Rt++)if(le[Rt].getId()===Ke)return le[Rt];return null}function _i(Ke){isNaN(Ke.newDuration)||Sn(Ke.newDuration)}function Ti(){le=[],qe=NaN,M=null,ne=!1,g=null,z=!1,oe=!1,Ie=!0,et=!0,Ce=!1,b=!0,nt=null,Fe=!1,Mt=!1,Xe=[],lt=null,ht={counts:{mediaErrorDecode:0}}}function _r(){qt(),B.reset(),$n(z||oe?be.FAILURE_STOP_REASON:be.USER_REQUEST_STOP_REASON);for(var Ke=0,Rt=le?le.length:0;Ke<Rt;Ke++)le[Ke].reset(z);st.off(n.Z.PLAYBACK_TIME_UPDATED,fe,i),st.off(n.Z.PLAYBACK_SEEKING,Yt,i),st.off(n.Z.PLAYBACK_ERROR,Ir,i),st.off(n.Z.PLAYBACK_STARTED,pe,i),st.off(n.Z.PLAYBACK_PAUSED,Ve,i),st.off(n.Z.PLAYBACK_ENDED,Zn,i),st.off(n.Z.METRIC_ADDED,Si,i),st.off(n.Z.MANIFEST_VALIDITY_CHANGED,_i,i),st.off(n.Z.BUFFER_LEVEL_UPDATED,Ge,i),st.off(n.Z.QUALITY_CHANGE_REQUESTED,Re,i),u.Z.KEY_SESSION_UPDATED&&st.off(u.Z.KEY_SESSION_UPDATED,un,i),st.off(u.Z.MANIFEST_UPDATED,Ar,i),st.off(u.Z.STREAM_BUFFERING_COMPLETED,St,i),st.off(u.Z.TIME_SYNCHRONIZATION_COMPLETED,an,i),st.off(u.Z.CURRENT_TRACK_CHANGED,ut,i),st.off(u.Z.SETTING_UPDATED_LIVE_DELAY,rt,i),st.off(u.Z.SETTING_UPDATED_LIVE_DELAY_FRAGMENT_COUNT,rt,i),U.reset(),R.reset(),de.reset(),L.clearAllCurrentMetrics(),h.setValue(null),A.reset(),j.reset(),G.reset(),Q&&(Y.detachMediaSource(x),Q=null),x=null,M&&(M=null,D=null,h.getValue()&&st.trigger(u.Z.PROTECTION_DESTROYED,{data:h.getValue().url})),ln(),st.trigger(u.Z.STREAM_TEARDOWN_COMPLETE),Ti()}function Si(Ke){if(Ke.metric===y.Z.DVR_INFO){var Rt=gr()?t.Z.AUDIO:t.Z.VIDEO;Ke.mediaType===Rt&&Y.setSeekable(Ke.value.range.start,Ke.value.range.end)}}function Rr(){return le}return i={initialize:function(Ke,Rt){qt(),b=Ke,D=Rt,j.initialize(),(R=ia(gt).create()).setConfig({manifestModel:h,adapter:w,manifestLoader:A,errHandler:ie,settings:Ee,contentSteeringController:N}),R.initialize(),(de=Io(gt).getInstance()).setConfig({manifestUpdater:R,playbackController:J,settings:Ee}),de.start(),B.setConfig({dashMetrics:L,baseURLController:U,errHandler:ie,settings:Ee}),B.initialize(),Y.setConfig({settings:Ee}),M&&(st.trigger(u.Z.PROTECTION_CREATED,{controller:M}),M.setMediaElement(x.getElement()),D&&M.setProtectionData(D)),st.on(n.Z.PLAYBACK_TIME_UPDATED,fe,i),st.on(n.Z.PLAYBACK_SEEKING,Yt,i),st.on(n.Z.PLAYBACK_ERROR,Ir,i),st.on(n.Z.PLAYBACK_STARTED,pe,i),st.on(n.Z.PLAYBACK_PAUSED,Ve,i),st.on(n.Z.PLAYBACK_ENDED,Zn,i),st.on(n.Z.METRIC_ADDED,Si,i),st.on(n.Z.MANIFEST_VALIDITY_CHANGED,_i,i),st.on(n.Z.BUFFER_LEVEL_UPDATED,Ge,i),st.on(n.Z.QUALITY_CHANGE_REQUESTED,Re,i),u.Z.KEY_SESSION_UPDATED&&st.on(u.Z.KEY_SESSION_UPDATED,un,i),st.on(u.Z.MANIFEST_UPDATED,Ar,i),st.on(u.Z.STREAM_BUFFERING_COMPLETED,St,i),st.on(u.Z.TIME_SYNCHRONIZATION_COMPLETED,an,i),st.on(u.Z.CURRENT_TRACK_CHANGED,ut,i),st.on(u.Z.SETTING_UPDATED_LIVE_DELAY,rt,i),st.on(u.Z.SETTING_UPDATED_LIVE_DELAY_FRAGMENT_COUNT,rt,i)},getActiveStreamInfo:sr,addDVRMetric:jt,hasVideoTrack:fr,hasAudioTrack:gr,getStreamById:Kr,getStreamForTime:kt,getTimeRelativeToStreamId:function(Ke,Rt){for(var Qt=null,on=0,hn=0,mn=null,cn=0;cn<le.length;cn++){if(hn=(Qt=le[cn]).getStartTime(),mn=Qt.getDuration(),Number.isFinite(hn)&&(on=hn),Qt.getId()===Rt)return Ke-on;Number.isFinite(mn)&&(on+=mn)}return null},load:function(Ke){var Rt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:NaN;qt(),qe=Rt,A.load(Ke)},loadWithManifest:function(Ke){var Rt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:NaN;Gt(),qe=Rt,R.setManifest(Ke)},getActiveStreamProcessors:bn,setConfig:function(Ke){Ke&&(Ke.capabilities&&(l=Ke.capabilities),Ke.capabilitiesFilter&&(E=Ke.capabilitiesFilter),Ke.manifestLoader&&(A=Ke.manifestLoader),Ke.manifestModel&&(h=Ke.manifestModel),Ke.mediaPlayerModel&&(Ne=Ke.mediaPlayerModel),Ke.customParametersModel&&(Te=Ke.customParametersModel),Ke.protectionController&&(M=Ke.protectionController),Ke.adapter&&(w=Ke.adapter),Ke.dashMetrics&&(L=Ke.dashMetrics),Ke.errHandler&&(ie=Ke.errHandler),Ke.timelineConverter&&(j=Ke.timelineConverter),Ke.videoModel&&(x=Ke.videoModel),Ke.playbackController&&(J=Ke.playbackController),Ke.serviceDescriptionController&&(he=Ke.serviceDescriptionController),Ke.contentSteeringController&&(N=Ke.contentSteeringController),Ke.textController&&(C=Ke.textController),Ke.abrController&&(te=Ke.abrController),Ke.mediaController&&(se=Ke.mediaController),Ke.settings&&(Ee=Ke.settings),Ke.baseURLController&&(U=Ke.baseURLController),Ke.uriFragmentModel&&(ce=Ke.uriFragmentModel),Ke.segmentBaseController&&(Z=Ke.segmentBaseController),Ke.manifestUpdater&&(R=Ke.manifestUpdater))},setProtectionData:function(Ke){D=Ke,M&&M.setProtectionData(D)},getIsStreamSwitchInProgress:function(){return ne},switchToVideoElement:function(Ke){g&&(J.initialize(sr()),wt(Ke,!1,!0))},getHasMediaOrInitialisationError:function(){return z||oe},getStreams:Rr,getActiveStream:function(){return g},getInitialPlayback:function(){return Ie},getAutoPlay:function(){return b},refreshManifest:function(){R.getIsUpdating()||R.refreshManifest()},reset:_r},r=(0,m.Z)(gt).getInstance().getLogger(i),B=bo(gt).getInstance(),Y=Ao(gt).getInstance(),G=ve(gt).getInstance(),Ti(),i}sa.__dashjs_factory_name="StreamController";var ua=_.Z.getSingletonFactory(sa);function la(){var i,r,l,E,R,A,h,w,L,Y,B,N,U=this.context,Z=(0,p.Z)(U).getInstance();function ce(){N.debug("Stopping the gap controller"),R&&(clearInterval(R),R=null),function(){Z.off(u.Z.WALLCLOCK_TIME_UPDATED,ie,this),Z.off(u.Z.INITIAL_STREAM_SWITCH,G,this),Z.off(u.Z.PLAYBACK_SEEKING,te,this),Z.off(u.Z.BUFFER_REPLACEMENT_STARTED,se,i),Z.off(u.Z.TRACK_CHANGE_RENDERED,de,i)}(),R=null,A=NaN,E=0,Y=null,B={}}function te(){Y&&(clearTimeout(Y),Y=null)}function se(D){try{if(D.streamId!==w.getActiveStreamInfo().id||D.mediaType!==t.Z.VIDEO&&D.mediaType!==t.Z.AUDIO)return;D.streamId===w.getActiveStreamInfo().id&&(B[D.mediaType]=!0)}catch(b){N.error(b)}}function de(D){D&&D.mediaType&&(B[D.mediaType]=!1)}function G(){R||function(){try{R||(N.debug("Starting the gap controller"),R=setInterval(function(){j()&&C(h.getTime())},100))}catch{}}()}function ie(){if(j(l.get().streaming.gaps.enableSeekFix)&&++E>=10){var D=h.getTime();r===D?C(D,!0):(r=D,A=NaN),E=0}}function j(){var D=arguments.length>0&&arguments[0]!==void 0&&arguments[0];if(!w.getActiveStream())return!1;var b=Object.keys(B).some(function(z){return B[z]}),ne=!!D&&le();return!b&&l.get().streaming.gaps.jumpGaps&&w.getActiveStreamProcessors().length>0&&(!h.isSeeking()||ne)&&!h.isPaused()&&!w.getIsStreamSwitchInProgress()&&!w.getHasMediaOrInitialisationError()}function le(){var D=w.getActiveStream(),b=parseFloat((D.getStartTime()+D.getDuration()).toFixed(5));return h.getTime()+l.get().streaming.gaps.threshold>=b}function g(D,b){try{if(!D||D.length<=1&&b>0)return NaN;for(var ne=NaN,z=0;isNaN(ne)&&z<D.length;){var oe=z>0?D.end(z-1):0;b<D.start(z)&&oe-b<l.get().streaming.gaps.threshold&&(ne=z),z+=1}return ne}catch{return null}}function M(D,b){for(var ne=0,z=D.length;ne<z;ne++)if(b>=D.start(ne)&&b<=D.end(ne))return!0;return!1}function C(D){var b,ne=arguments.length>1&&arguments[1]!==void 0&&arguments[1],z=l.get().streaming.gaps.enableStallFix,oe=l.get().streaming.gaps.stallSeek,Q=l.get().streaming.gaps.smallGapLimit,x=l.get().streaming.gaps.jumpLargeGaps,J=L.getBufferRange(),he=NaN,Ne=!1;if(b=g(J,D),!isNaN(b)){var Te=J.start(b),Ce=Te-D;Ce>0&&(Ce<=Q||x)&&(he=Te)}var Ie=h.getTimeToStreamEnd();if(isNaN(he)&&ne&&isFinite(Ie)&&!isNaN(Ie)&&Ie<Q&&(he=parseFloat(h.getStreamEndTime().toFixed(5)),Ne=!0),z&&isNaN(he)&&ne&&isNaN(b)&&M(J,D)&&(oe===0?(N.warn("Toggle play pause to break stall"),L.pause(),L.play()):(N.warn("Jumping ".concat(oe,"s to break stall")),he=D+oe)),he>0&&A!==he&&he>D&&!Y){var et=he-D;if(Ne){var nt=w.getStreamForTime(he),We=nt&&!!nt.getPreloaded();N.warn("Jumping to end of stream because of gap from ".concat(D," to ").concat(he,". Gap duration: ").concat(et)),h.seek(he,!0,We)}else{var Xe=h.getIsDynamic(),Mt=b>0?J.end(b-1):D,Ee=Xe?1e3*Math.max(0,et-.1):0;Y=window.setTimeout(function(){h.seek(he,!0,!0),N.warn("Jumping gap occuring in period ".concat(w.getActiveStream().getStreamId()," starting at ").concat(Mt," and ending at ").concat(he,". Jumping by: ").concat(he-Mt)),Y=null},Ee)}A=he}}return i={reset:ce,setConfig:function(D){D&&(D.settings&&(l=D.settings),D.playbackController&&(h=D.playbackController),D.streamController&&(w=D.streamController),D.videoModel&&(L=D.videoModel))},initialize:function(){(function(){Z.on(u.Z.WALLCLOCK_TIME_UPDATED,ie,this),Z.on(u.Z.INITIAL_STREAM_SWITCH,G,this),Z.on(u.Z.PLAYBACK_SEEKING,te,this),Z.on(u.Z.BUFFER_REPLACEMENT_STARTED,se,i),Z.on(u.Z.TRACK_CHANGE_RENDERED,de,i)})()}},N=(0,m.Z)(U).getInstance().getLogger(i),ce(),i}la.__dashjs_factory_name="GapController";var Ro=_.Z.getSingletonFactory(la);function ca(){var i,r,l,E,R,A,h,w,L,Y,B=this.context,N=(0,p.Z)(B).getInstance();function U(){r=!1;var le=pt.Z.parseUserAgent();l=le&&le.browser&&le.browser.name&&le.browser.name.toLowerCase()==="safari"}function Z(){r=!1}function ce(le){if(le.streamId===A.getActiveStreamInfo().id&&L){var g=h.getLiveDelay();h.getBufferLevel()>g/2&&(L=!1)}}function te(le){le.streamId===A.getActiveStreamInfo().id&&(L=le.state===y.Z.BUFFER_EMPTY)}function se(){w.getCatchupModeEnabled()||E.setPlaybackRate(1)}function de(){h.getIsDynamic()&&w.getCatchupModeEnabled()&&(w.getCatchupPlaybackRates().max>0||w.getCatchupPlaybackRates().min<0)&&!h.isPaused()&&!h.isSeeking()&&function(){try{return!(!h.getTime()>0||r)&&(ie()===t.Z.LIVE_CATCHUP_MODE_LOLP?function(le,g){try{return Math.abs(G())>0||le<g}catch{return!1}}(h.getBufferLevel(),R.get().streaming.liveCatchup.playbackBufferMin):function(){try{return Math.abs(G())>0}catch{return!1}}())}catch{return!1}}()&&function(){if(!r&&E){var le,g=E.getPlaybackRate(),M=w.getCatchupPlaybackRates(),C=h.getBufferLevel(),D=G(),b=w.getCatchupMaxDrift();if(!isNaN(b)&&b>0&&D>b)Y.info("[CatchupController]: Low Latency catchup mechanism. Latency too high, doing a seek to live point"),r=!0,h.seekToCurrentLive(!0,!1);else{var ne=h.getCurrentLiveLatency(),z=h.getLiveDelay();le=ie()===t.Z.LIVE_CATCHUP_MODE_LOLP?function(Q,x,J,he,Ne){var Te;if(Ne<he){var Ce=Math.abs(Q.min),Ie=5*(Ne-he);Te=1-Ce+2*Ce/(1+Math.pow(Math.E,-Ie)),Y.debug("[LoL+ playback control_buffer-based] bufferLevel: "+Ne+", newRate: "+Te)}else{if(Math.abs(x-J)<=.02*J)Te=1;else{var et=x-J,nt=et<0?Math.abs(Q.min):Q.max,We=5*et;Te=1-nt+2*nt/(1+Math.pow(Math.E,-We))}Y.debug("[LoL+ playback control_latency-based] latency: "+x+", newRate: "+Te)}return Te}(M,ne,z,R.get().streaming.liveCatchup.playbackBufferMin,C):function(Q,x,J,he){if(L)return 1;var Ne=x-J,Te=Ne<0?Math.abs(Q.min):Q.max,Ce=5*Ne,Ie=1-Te+2*Te/(1+Math.pow(Math.E,-Ce));return h.getPlaybackStalled()&&he<=J/2&&Ne>0&&(Ie=1),Ie}(M,ne,z,C);var oe=l?.25:.02/(.5/M.max);le&&Math.abs(g-le)>=oe&&(Y.debug("[CatchupController]: Setting playback rate to ".concat(le)),E.setPlaybackRate(le))}}}()}function G(){return h.getCurrentLiveLatency()-h.getLiveDelay()}function ie(){var le=R.get().streaming.liveCatchup.playbackBufferMin;return R.get().streaming.liveCatchup.mode!==t.Z.LIVE_CATCHUP_MODE_LOLP||le===null||isNaN(le)?t.Z.LIVE_CATCHUP_MODE_DEFAULT:t.Z.LIVE_CATCHUP_MODE_LOLP}function j(){w.getCatchupPlaybackRates(!0)}return i={reset:function(){N.off(n.Z.BUFFER_LEVEL_UPDATED,ce,i),N.off(n.Z.BUFFER_LEVEL_STATE_CHANGED,te,i),N.off(n.Z.PLAYBACK_PROGRESS,de,i),N.off(n.Z.PLAYBACK_TIME_UPDATED,de,i),N.off(n.Z.PLAYBACK_SEEKED,Z,i),N.off(u.Z.SETTING_UPDATED_CATCHUP_ENABLED,se,i),N.off(u.Z.SETTING_UPDATED_PLAYBACK_RATE_MIN,j,i),N.off(u.Z.SETTING_UPDATED_PLAYBACK_RATE_MAX,j,i),N.off(n.Z.STREAM_INITIALIZED,j,i),U(),E.setPlaybackRate(1,!0)},setConfig:function(le){le&&(le.settings&&(R=le.settings),le.videoModel&&(E=le.videoModel),le.streamController&&(A=le.streamController),le.playbackController&&(h=le.playbackController),le.mediaPlayerModel&&(w=le.mediaPlayerModel))},initialize:function(){N.on(n.Z.BUFFER_LEVEL_UPDATED,ce,i),N.on(n.Z.BUFFER_LEVEL_STATE_CHANGED,te,i),N.on(n.Z.PLAYBACK_PROGRESS,de,i),N.on(n.Z.PLAYBACK_TIME_UPDATED,de,i),N.on(n.Z.PLAYBACK_SEEKED,Z,i),N.on(u.Z.SETTING_UPDATED_CATCHUP_ENABLED,se,i),N.on(u.Z.SETTING_UPDATED_PLAYBACK_RATE_MIN,j,i),N.on(u.Z.SETTING_UPDATED_PLAYBACK_RATE_MAX,j,i),N.on(n.Z.STREAM_INITIALIZED,j,i),j()}},Y=(0,m.Z)(B).getInstance().getLogger(i),U(),i}ca.__dashjs_factory_name="CatchupController";var wo=_.Z.getSingletonFactory(ca),No=[t.Z.SERVICE_DESCRIPTION_DVB_LL_SCHEME],fa="video",da="audio";function ga(){var i,r,l,E,R,A=this.context;function h(){r={liveDelay:NaN,liveCatchup:{maxDrift:NaN,playbackRate:{min:NaN,max:NaN}},minBitrate:{},maxBitrate:{},initialBitrate:{},contentSteering:null},l=[]}function w(L,Y,B){try{r[L][Y]=B/1e3}catch(N){E.error(N)}}return i={getServiceDescriptionSettings:function(){return r},getProducerReferenceTimeOffsets:function(){return l},calculateProducerReferenceTimeOffsets:function(L){try{var Y=[];if(L&&L.length>0){var B=[t.Z.VIDEO,t.Z.AUDIO,t.Z.TEXT],N=R.getAvailabilityStartTime()/1e3;L.forEach(function(U){var Z=B.reduce(function(ce,te){return ce.concat(R.getAllMediaInfoForType(U,te))},[]).reduce(function(ce,te){return R.getProducerReferenceTimes(U,te).forEach(function(se){var de=R.getVoRepresentations(te);if(de&&de.length>0&&de[0].adaptation&&de[0].segmentInfoType===e.Z.SEGMENT_TEMPLATE){var G=de[0],ie=new Date(se[e.Z.WALL_CLOCK_TIME]).getTime()/1e3-(se[e.Z.PRESENTATION_TIME]/G[e.Z.TIMESCALE]-G[e.Z.PRESENTATION_TIME_OFFSET]+U.start),j=N-ie;ce.push({id:se[e.Z.ID],to:j})}}),ce},[]);Y=Y.concat(Z)})}l=Y}catch(U){E.error(U),l=[]}},applyServiceDescription:function(L){if(L&&L.serviceDescriptions){var Y=L.serviceDescriptions.filter(function(U){return No.includes(U.schemeIdUri)}),B=L.serviceDescriptions.filter(function(U){return U.schemeIdUri==null}),N=Y.length>0?Y[Y.length-1]:B[B.length-1];N&&(N.latency&&N.latency.target>0&&function(U){var Z;if(U.schemeIdUri,t.Z.SERVICE_DESCRIPTION_DVB_LL_SCHEME,Z=function(de){return{liveDelay:de.latency.target/1e3,maxDrift:!isNaN(de.latency.max)&&de.latency.max>de.latency.target?(de.latency.max-de.latency.target+500)/1e3:NaN,referenceId:de.latency.referenceId||NaN}}(U),l.length>0){var ce=function(de){var G,ie=0,j=l.filter(function(le){return le.id===de.referenceId});return j.length===0?(ie=l.length>0?l[0].to:0,G=l[0].id||NaN):(ie=j[0].to||0,G=j[0].id||NaN),{to:ie,id:G}}(Z),te=ce.to,se=ce.id;r.liveDelay=Z.liveDelay-te,r.liveCatchup.maxDrift=Z.maxDrift,E.debug(`
-                Found latency properties coming from service description. Applied time offset of `.concat(te," from ProducerReferenceTime element with id ").concat(se,`.
+In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()),We=nt[0],Xe=nt[1];z=We.getReader(),oe=[],z.read().then(function qe(ht){var gt=ht.value,st=ht.done;if(et=Date.now(),gt&&gt.length){var qt=et-Ie,Gt=gt.length;oe.push({chunkDownloadTimeRelativeMS:et-g,chunkDownloadDurationMS:qt,chunkBytes:Gt,kbps:Math.round(8*Gt/(qt/1e3)),bufferLevel:l.getCurrentBufferLevel(ce.mediaType)})}if(st){var an=et-g,un=oe.reduce(function(Be,ft){return Be+ft.chunkBytes},0);return A.addMeasurement(ce,an,oe,j,le,D),void N.progress({loaded:un,total:un,lengthComputable:!0,time:A.getEstimatedDownloadDurationMS(ce),stream:!0})}return Ie=Date.now(),z.read().then(qe)}),N.reader=Xe.getReader()}else N.reader=M.body.getReader();var Mt=[],Ee=[],Fe=[],lt=!0;Y(N,function qe(ht){var gt=ht.value;if(ht.done){if(Te){if(ie!==t.Z.ABR_FETCH_THROUGHPUT_CALCULATION_AAST){var st=null,qt=null;ie===t.Z.ABR_FETCH_THROUGHPUT_CALCULATION_MOOF_PARSING?(st=function(Be,ft){try{var $e,vt;$e=Be.filter(function(Dt,xt){return xt<Be.length-1}),vt=ft.filter(function(Dt,xt){return xt<ft.length-1});var wt=[];if($e.length>1){for(var Ht=0,Yt=0,Kt=0;Kt<$e.length;Kt++)if($e[Kt]&&vt[Kt]){var Jt=vt[Kt].ts-$e[Kt].ts;if(Jt>1)wt.push(8*vt[Kt].bytes/Jt),Yt=0;else{Yt===0&&(Yt=$e[Kt].ts,Ht=0);var ut=vt[Kt].ts-Yt;ut>1?(Ht+=vt[Kt].bytes,wt.push(8*Ht/ut),Yt=0):Ht+=vt[Kt].bytes}}if(wt.length>0)return wt.reduce(function(Dt,xt){return Dt+xt},0)/wt.length}return null}catch{return null}}(Ee,Fe),st&&(qt=8*he/st)):ie===t.Z.ABR_FETCH_THROUGHPUT_CALCULATION_DOWNLOADED_DATA&&(qt=B(Mt,he)),N.progress({loaded:he,total:isNaN(J)?he:J,lengthComputable:!0,time:qt,stream:!0})}N.response.response=Te.buffer}return N.onload(),void N.onend()}if(gt&&gt.length>0){Te=function(Be,ft){if(Be.length===0)return ft;var $e=new Uint8Array(Be.length+ft.length);return $e.set(Be),$e.set(ft,Be.length),$e}(Te,gt),he+=gt.length,Mt.push({ts:Date.now(),bytes:gt.length}),ie===t.Z.ABR_FETCH_THROUGHPUT_CALCULATION_MOOF_PARSING&&lt&&h.findLastTopIsoBoxCompleted(["moof"],Te,Ce).found&&(lt=!1,Ee.push({ts:performance.now(),bytes:gt.length}));var Gt=h.findLastTopIsoBoxCompleted(["moov","mdat"],Te,Ce);if(Gt.found){var an,un=Gt.lastCompletedOffset+Gt.size;ie!==t.Z.ABR_FETCH_THROUGHPUT_CALCULATION_MOOF_PARSING||lt||(lt=!0,Fe.push({ts:performance.now(),bytes:Te.length})),un===Te.length?(an=Te,Te=new Uint8Array):(an=new Uint8Array(Te.subarray(0,un)),Te=Te.subarray(un)),N.progress({data:an.buffer,lengthComputable:!1,noTrace:!0}),Ce=0}else Ce=Gt.lastCompletedOffset,Ne||(N.progress({lengthComputable:!1,noTrace:!0}),Ne=!0)}Y(N,qe)})}).catch(function(M){N.onerror&&N.onerror(M)})})}function Y(N,U){N.reader.read().then(U).catch(function(Z){N.onerror&&N.response.status===200&&N.onerror(Z)})}function B(N,U){try{if((N=N.filter(function(te){return te.bytes>U/4/N.length})).length>1){var Z=0,ce=(N[N.length-1].ts-N[0].ts)/N.length;return N.forEach(function(te,ue){var de=N[ue+1];if(de){var G=de.ts-te.ts;Z+=G<ce?G:0}}),Z}return null}catch{return null}}return r={load:function(N){R&&R.modifyRequest?(0,Se.k)(N,R).then(function(){return L(N)}):L(N)},abort:function(N){if(N.abortController)N.abortController.abort();else if(N.reader)try{N.reader.cancel(),N.onabort()}catch{}},calculateDownloadedTime:B,setup:function(N){l=N.dashMetrics}},r}dn.__dashjs_factory_name="FetchLoader";var An=_.Z.getClassFactory(dn),_n=P(1180);function Rn(i,r){for(var l=0;l<r.length;l++){var E=r[l];E.enumerable=E.enumerable||!1,E.configurable=!0,"value"in E&&(E.writable=!0),Object.defineProperty(i,E.key,E)}}var qn=function(){function i(){(function(E,R){if(!(E instanceof R))throw new TypeError("Cannot call a class as a function")})(this,i),this.id=null,this.index=-1,this.adaptation=null,this.segmentInfoType=null,this.initialization=null,this.codecs=null,this.mimeType=null,this.codecPrivateData=null,this.segmentDuration=NaN,this.timescale=1,this.startNumber=1,this.indexRange=null,this.range=null,this.presentationTimeOffset=0,this.MSETimeOffset=NaN,this.mediaFinishedInformation={numberOfSegments:0,mediaTimeOfLastSignaledSegment:NaN},this.bandwidth=NaN,this.width=NaN,this.height=NaN,this.scanType=null,this.maxPlayoutRate=NaN,this.availabilityTimeOffset=0,this.availabilityTimeComplete=!0,this.frameRate=null}var r,l;return r=i,(l=[{key:"hasInitialization",value:function(){return this.initialization!==null||this.range!==null}},{key:"hasSegments",value:function(){return this.segmentInfoType!==e.Z.BASE_URL&&this.segmentInfoType!==e.Z.SEGMENT_BASE&&!this.indexRange}}])&&Rn(r.prototype,l),i}(),yn=function i(){(function(r,l){if(!(r instanceof l))throw new TypeError("Cannot call a class as a function")})(this,i),this.period=null,this.index=-1,this.type=null},Qn=function i(){(function(r,l){if(!(r instanceof l))throw new TypeError("Cannot call a class as a function")})(this,i),this.id=null,this.index=-1,this.duration=NaN,this.start=NaN,this.mpd=null,this.nextPeriodId=null};Qn.DEFAULT_ID="defaultId";var xn=Qn,Vn=function i(){(function(r,l){if(!(r instanceof l))throw new TypeError("Cannot call a class as a function")})(this,i),this.manifest=null,this.suggestedPresentationDelay=0,this.availabilityStartTime=null,this.availabilityEndTime=Number.POSITIVE_INFINITY,this.timeShiftBufferDepth=Number.POSITIVE_INFINITY,this.maxSegmentDuration=Number.POSITIVE_INFINITY,this.publishTime=null,this.minimumUpdatePeriod=NaN,this.mediaPresentationDuration=NaN},er=P(2610),Kn=function i(){(function(r,l){if(!(r instanceof l))throw new TypeError("Cannot call a class as a function")})(this,i),this.type="",this.duration=NaN,this.presentationTime=NaN,this.id=NaN,this.messageData="",this.eventStream=null,this.presentationTimeDelta=NaN},nr=function i(r,l,E,R){(function(A,h){if(!(A instanceof h))throw new TypeError("Cannot call a class as a function")})(this,i),this.url=r||"",this.serviceLocation=l||r||"",this.dvbPriority=E||1,this.dvbWeight=R||1,this.availabilityTimeOffset=0,this.availabilityTimeComplete=!0,this.queryParams={}};nr.DEFAULT_DVB_PRIORITY=1,nr.DEFAULT_DVB_WEIGHT=1;var rr=nr,Cr=function i(){(function(r,l){if(!(r instanceof l))throw new TypeError("Cannot call a class as a function")})(this,i),this.adaptionSet=null,this.representation=null,this.period=null,this.timescale=1,this.value="",this.schemeIdUri="",this.presentationTimeOffset=0},bt=function i(){(function(r,l){if(!(r instanceof l))throw new TypeError("Cannot call a class as a function")})(this,i),this.id=null,this.inband=!1,this.type="encoder",this.applicationScheme=null,this.wallClockTime=null,this.presentationTime=NaN,this.UTCTiming=null},Et=function i(){(function(r,l){if(!(r instanceof l))throw new TypeError("Cannot call a class as a function")})(this,i),this.defaultServiceLocation=null,this.defaultServiceLocationArray=[],this.queryBeforeStart=!1,this.serverUrl=null,this.clientRequirement=!0};function Tt(i,r){for(var l=0;l<r.length;l++){var E=r[l];E.enumerable=E.enumerable||!1,E.configurable=!0,"value"in E&&(E.writable=!0),Object.defineProperty(i,E.key,E)}}var Ze=function(){function i(){(function(E,R){if(!(E instanceof R))throw new TypeError("Cannot call a class as a function")})(this,i),this.schemeIdUri=null,this.value=null,this.id=null}var r,l;return r=i,(l=[{key:"init",value:function(E){return E&&(this.schemeIdUri=E.schemeIdUri?E.schemeIdUri:null,this.value=E.value?E.value:null,this.id=E.id?E.id:null,E[e.Z.DVB_URL]&&(this.dvbUrl=E[e.Z.DVB_URL]),E[e.Z.DVB_MIMETYPE]&&(this.dvbMimeType=E[e.Z.DVB_MIMETYPE]),E[e.Z.DVB_FONTFAMILY]&&(this.dvbFontFamily=E[e.Z.DVB_FONTFAMILY])),this}}])&&Tt(r.prototype,l),i}(),ct=P(3101),je=P.n(ct);function ot(){return{areEqual:function(i,r){return je()(i,r)}}}ot.__dashjs_factory_name="ObjectUtils";var Ot=_.Z.getSingletonFactory(ot),Lt=P(7803),Wt=function i(r,l){(function(E,R){if(!(E instanceof R))throw new TypeError("Cannot call a class as a function")})(this,i),this.url=r||"",this.serviceLocation=l||null,this.queryParams={}},Xt=function i(r,l,E){(function(R,A){if(!(R instanceof A))throw new TypeError("Cannot call a class as a function")})(this,i),this.url=r||"",this.serviceLocation=l||null,this.ttl=E||NaN,this.queryParams={}};function Bt(i,r){var l=Object.keys(i);if(Object.getOwnPropertySymbols){var E=Object.getOwnPropertySymbols(i);r&&(E=E.filter(function(R){return Object.getOwnPropertyDescriptor(i,R).enumerable})),l.push.apply(l,E)}return l}function yt(i){for(var r=1;r<arguments.length;r++){var l=arguments[r]!=null?arguments[r]:{};r%2?Bt(Object(l),!0).forEach(function(E){zt(i,E,l[E])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(l)):Bt(Object(l)).forEach(function(E){Object.defineProperty(i,E,Object.getOwnPropertyDescriptor(l,E))})}return i}function zt(i,r,l){return r in i?Object.defineProperty(i,r,{value:l,enumerable:!0,configurable:!0,writable:!0}):i[r]=l,i}function Vt(i,r){var l;if(typeof Symbol>"u"||i[Symbol.iterator]==null){if(Array.isArray(i)||(l=rn(i))||r){l&&(i=l);var E=0,R=function(){};return{s:R,n:function(){return E>=i.length?{done:!0}:{done:!1,value:i[E++]}},e:function(L){throw L},f:R}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
+In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var A,h=!0,w=!1;return{s:function(){l=i[Symbol.iterator]()},n:function(){var L=l.next();return h=L.done,L},e:function(L){w=!0,A=L},f:function(){try{h||l.return==null||l.return()}finally{if(w)throw A}}}}function rn(i,r){if(i){if(typeof i=="string")return gn(i,r);var l=Object.prototype.toString.call(i).slice(8,-1);return l==="Object"&&i.constructor&&(l=i.constructor.name),l==="Map"||l==="Set"?Array.from(i):l==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(l)?gn(i,r):void 0}}function gn(i,r){(r==null||r>i.length)&&(r=i.length);for(var l=0,E=new Array(r);l<r;l++)E[l]=i[l];return E}function vn(){var i,r,l,E,R=this.context,A=(0,ze.Z)(R).getInstance(),h=Number.isInteger||function(g){return typeof g=="number"&&isFinite(g)&&Math.floor(g)===g};function w(g,M){if(!g)throw new Error("adaptation is not defined");if(!M)throw new Error("type is not defined");if(g.Representation_asArray&&g.Representation_asArray.length){var C=ue(g.Representation_asArray[0]);if(C&&C.length>0&&Lt.Y.indexOf(C[0].schemeIdUri)>=0)return M===t.Z.IMAGE}if(g.ContentComponent_asArray&&g.ContentComponent_asArray.length>0){if(g.ContentComponent_asArray.length>1)return M===t.Z.MUXED;if(g.ContentComponent_asArray[0].contentType===M)return!0}var D=M===t.Z.TEXT?new RegExp("(ttml|vtt|wvtt|stpp)"):new RegExp(M);if(g.Representation_asArray&&g.Representation_asArray.length){var b=g.Representation_asArray[0].codecs;if(D.test(b))return!0}if(g.hasOwnProperty(e.Z.MIME_TYPE))return D.test(g.mimeType);if(g.Representation_asArray){for(var ne,z=0;z<g.Representation_asArray.length;z++)if((ne=g.Representation_asArray[z]).hasOwnProperty(e.Z.MIME_TYPE))return D.test(ne.mimeType)}return!1}function L(g){if(!g)throw new Error("adaptation is not defined");if(g.hasOwnProperty(e.Z.SEGMENT_TEMPLATE)||g.hasOwnProperty(e.Z.SEGMENT_TIMELINE)||g.hasOwnProperty(e.Z.SEGMENT_LIST)||g.hasOwnProperty(e.Z.SEGMENT_BASE))return!0;if(g.Representation_asArray&&g.Representation_asArray.length>0){var M=g.Representation_asArray[0];if(M.hasOwnProperty(e.Z.SEGMENT_TEMPLATE)||M.hasOwnProperty(e.Z.SEGMENT_TIMELINE)||M.hasOwnProperty(e.Z.SEGMENT_LIST)||M.hasOwnProperty(e.Z.SEGMENT_BASE))return!0}return!1}function Y(g){return w(g,t.Z.VIDEO)}function B(g){return w(g,t.Z.TEXT)}function N(g){return w(g,t.Z.IMAGE)}function U(g){return g&&Array.isArray(g.Representation_asArray)&&g.Representation_asArray.sort(function(M,C){return M.bandwidth-C.bandwidth}),g}function Z(g,M){return g&&g.Period_asArray&&h(M)&&g.Period_asArray[M]?g.Period_asArray[M].AdaptationSet_asArray:[]}function ce(g){return g&&g.Period_asArray?g.Period_asArray:[]}function te(g){var M=!1;return g&&g.hasOwnProperty("type")&&(M=g.type===e.Z.DYNAMIC),M}function ue(g){return g&&g.EssentialProperty_asArray&&g.EssentialProperty_asArray.length?g.EssentialProperty_asArray.map(function(M){return{schemeIdUri:M.schemeIdUri,value:M.value}}):null}function de(g){if(!g||!g.S_asArray)return NaN;var M=g.S_asArray[0],C=g.S_asArray[1];return M.hasOwnProperty("d")?M.d:C.t-M.t}function G(g,M){if(!g)throw new Error("Period cannot be null or undefined");var C=xn.DEFAULT_ID+"_"+M;return g.hasOwnProperty(e.Z.ID)&&g.id.length>0&&g.id!=="__proto__"&&(C=g.id),C}function ie(g,M,C){var D,b=[];if(!g)return b;for(D=0;D<g.length;D++){var ne=new Cr;if(ne.timescale=1,ne.representation=M,!g[D].hasOwnProperty(t.Z.SCHEME_ID_URI))throw new Error("Invalid EventStream. SchemeIdUri has to be set");ne.schemeIdUri=g[D].schemeIdUri,g[D].hasOwnProperty(e.Z.TIMESCALE)&&(ne.timescale=g[D].timescale),g[D].hasOwnProperty(e.Z.VALUE)&&(ne.value=g[D].value),b.push(ne),ne.period=C}return b}function j(g){var M=[],C=g.BaseURL_asArray||[g.baseUri],D=!1;return C.some(function(b){if(b){var ne=new rr,z=b.__text||b;return A.isRelative(z)&&(D=!0,g.baseUri&&(z=A.resolve(z,g.baseUri))),ne.url=z,b.hasOwnProperty(e.Z.SERVICE_LOCATION)&&b.serviceLocation.length?ne.serviceLocation=b.serviceLocation:ne.serviceLocation=z,b.hasOwnProperty(e.Z.DVB_PRIORITY)&&(ne.dvbPriority=b[e.Z.DVB_PRIORITY]),b.hasOwnProperty(e.Z.DVB_WEIGHT)&&(ne.dvbWeight=b[e.Z.DVB_WEIGHT]),b.hasOwnProperty(e.Z.AVAILABILITY_TIME_OFFSET)&&(ne.availabilityTimeOffset=b[e.Z.AVAILABILITY_TIME_OFFSET]),b.hasOwnProperty(e.Z.AVAILABILITY_TIME_COMPLETE)&&(ne.availabilityTimeComplete=b[e.Z.AVAILABILITY_TIME_COMPLETE]!=="false"),M.push(ne),D}}),M}function le(g){var M=new Et;return M.serverUrl=g.__text,g.hasOwnProperty(e.Z.DEFAULT_SERVICE_LOCATION)&&(M.defaultServiceLocation=g[e.Z.DEFAULT_SERVICE_LOCATION],M.defaultServiceLocationArray=M.defaultServiceLocation.split(" ")),g.hasOwnProperty(e.Z.QUERY_BEFORE_START)&&(M.queryBeforeStart=g[e.Z.QUERY_BEFORE_START].toLowerCase()==="true"),g.hasOwnProperty(e.Z.CLIENT_REQUIREMENT)&&(M.clientRequirement=g[e.Z.CLIENT_REQUIREMENT].toLowerCase()!=="false"),M}return i={getIsTypeOf:w,getIsText:B,getIsFragmented:L,getProducerReferenceTimesForAdaptation:function(g){var M=g&&g.hasOwnProperty(e.Z.PRODUCERREFERENCETIME_ASARRAY)?g[e.Z.PRODUCERREFERENCETIME_ASARRAY]:[];(g&&g.hasOwnProperty(e.Z.REPRESENTATION_ASARRAY)?g[e.Z.REPRESENTATION_ASARRAY]:[]).forEach(function(D){var b;D.hasOwnProperty(e.Z.PRODUCERREFERENCETIME_ASARRAY)&&M.push.apply(M,function(ne){if(Array.isArray(ne))return gn(ne)}(b=D[e.Z.PRODUCERREFERENCETIME_ASARRAY])||function(ne){if(typeof Symbol<"u"&&Symbol.iterator in Object(ne))return Array.from(ne)}(b)||rn(b)||function(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
+In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}())});var C=[];return M.forEach(function(D){var b=new bt;D.hasOwnProperty(e.Z.ID)&&(b[e.Z.ID]=D[e.Z.ID],D.hasOwnProperty(e.Z.WALL_CLOCK_TIME)&&(b[e.Z.WALL_CLOCK_TIME]=D[e.Z.WALL_CLOCK_TIME],D.hasOwnProperty(e.Z.PRESENTATION_TIME)&&(b[e.Z.PRESENTATION_TIME]=D[e.Z.PRESENTATION_TIME],D.hasOwnProperty(e.Z.INBAND)&&(b[e.Z.INBAND]=D[e.Z.INBAND]!=="false"),D.hasOwnProperty(e.Z.TYPE)&&(b[e.Z.TYPE]=D[e.Z.TYPE]),C.push(b))))}),C},getLanguageForAdaptation:function(g){var M="";return g&&g.hasOwnProperty(e.Z.LANG)&&(M=g.lang),M},getViewpointForAdaptation:function(g){return g&&g.hasOwnProperty(e.Z.VIEWPOINT_ASARRAY)&&g[e.Z.VIEWPOINT_ASARRAY].length?g[e.Z.VIEWPOINT_ASARRAY].map(function(M){return new Ze().init(M)}):[]},getRolesForAdaptation:function(g){return g&&g.hasOwnProperty(e.Z.ROLE_ASARRAY)&&g[e.Z.ROLE_ASARRAY].length?g[e.Z.ROLE_ASARRAY].map(function(M){return new Ze().init(M)}):[]},getAccessibilityForAdaptation:function(g){return g&&g.hasOwnProperty(e.Z.ACCESSIBILITY_ASARRAY)&&g[e.Z.ACCESSIBILITY_ASARRAY].length?g[e.Z.ACCESSIBILITY_ASARRAY].map(function(M){return new Ze().init(M)}):[]},getAudioChannelConfigurationForAdaptation:function(g){return g&&g.hasOwnProperty(e.Z.AUDIOCHANNELCONFIGURATION_ASARRAY)&&g[e.Z.AUDIOCHANNELCONFIGURATION_ASARRAY].length?g[e.Z.AUDIOCHANNELCONFIGURATION_ASARRAY].map(function(M){return new Ze().init(M)}):[]},getAudioChannelConfigurationForRepresentation:function(g){return g&&g.hasOwnProperty(e.Z.AUDIOCHANNELCONFIGURATION_ASARRAY)&&g[e.Z.AUDIOCHANNELCONFIGURATION_ASARRAY].length?g[e.Z.AUDIOCHANNELCONFIGURATION_ASARRAY].map(function(M){return new Ze().init(M)}):[]},getAdaptationForIndex:function(g,M,C){var D=Z(M,C);return D.length>0&&h(g)?D[g]:null},getIndexForAdaptation:function(g,M,C){if(!g)return-1;for(var D=Z(M,C),b=0;b<D.length;b++)if(Ot(R).getInstance().areEqual(D[b],g))return b;return-1},getAdaptationForId:function(g,M,C){var D,b,ne=Z(M,C);for(D=0,b=ne.length;D<b;D++)if(ne[D].hasOwnProperty(e.Z.ID)&&ne[D].id===g)return ne[D];return null},getAdaptationsForType:function(g,M,C){var D,b,ne=Z(g,M),z=[];for(D=0,b=ne.length;D<b;D++)w(ne[D],C)&&z.push(U(ne[D]));return z},getRealPeriods:ce,getRealPeriodForIndex:function(g,M){var C=ce(M);return C.length>0&&h(g)?C[g]:null},getCodec:function(g,M,C){var D=null;if(g&&g.Representation_asArray&&g.Representation_asArray.length>0){var b=h(M)&&M>=0&&M<g.Representation_asArray.length?g.Representation_asArray[M]:g.Representation_asArray[0];b&&(D=b.mimeType+';codecs="'+b.codecs+'"',C&&b.width!==void 0&&(D+=';width="'+b.width+'";height="'+b.height+'"'))}return D&&(D=D.replace(/\sprofiles=[^;]*/g,"")),D},getSelectionPriority:function(g){try{var M=g&&g.selectionPriority!==void 0?parseInt(g.selectionPriority):1;return isNaN(M)?1:M}catch{return 1}},getMimeType:function(g){return g&&g.Representation_asArray&&g.Representation_asArray.length>0?g.Representation_asArray[0].mimeType:null},getKID:function(g){return g&&g.hasOwnProperty(e.Z.CENC_DEFAULT_KID)?g[e.Z.CENC_DEFAULT_KID]:null},getLabelsForAdaptation:function(g){if(!g||!Array.isArray(g.Label_asArray))return[];for(var M=[],C=0;C<g.Label_asArray.length;C++)M.push({lang:g.Label_asArray[C].lang,text:g.Label_asArray[C].__text||g.Label_asArray[C]});return M},getContentProtectionData:function(g){return g&&g.hasOwnProperty(e.Z.CONTENTPROTECTION_ASARRAY)&&g.ContentProtection_asArray.length!==0?g.ContentProtection_asArray:null},getIsDynamic:te,getId:function(g){return g&&g[e.Z.ID]||null},hasProfile:function(g,M){var C=!1;return g&&g.profiles&&g.profiles.length>0&&(C=g.profiles.indexOf(M)!==-1),C},getDuration:function(g){return g&&g.hasOwnProperty(e.Z.MEDIA_PRESENTATION_DURATION)?g.mediaPresentationDuration:g&&g.type=="dynamic"?Number.POSITIVE_INFINITY:Number.MAX_SAFE_INTEGER||Number.MAX_VALUE},getBandwidth:function(g){return g&&g.bandwidth?g.bandwidth:NaN},getManifestUpdatePeriod:function(g){var M=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,C=NaN;return g&&g.hasOwnProperty(e.Z.MINIMUM_UPDATE_PERIOD)&&(C=g.minimumUpdatePeriod),isNaN(C)?C:Math.max(C-M,1)},getPublishTime:function(g){return g&&g.hasOwnProperty(e.Z.PUBLISH_TIME)?new Date(g[e.Z.PUBLISH_TIME]):null},getRepresentationCount:function(g){return g&&Array.isArray(g.Representation_asArray)?g.Representation_asArray.length:0},getBitrateListForAdaptation:function(g){var M=U(g);return(M&&Array.isArray(M.Representation_asArray)?M.Representation_asArray:[]).map(function(C){return{bandwidth:C.bandwidth,width:C.width||0,height:C.height||0,scanType:C.scanType||null,id:C.id||null}})},getRepresentationFor:function(g,M){return M&&M.Representation_asArray&&M.Representation_asArray.length>0&&h(g)?M.Representation_asArray[g]:null},getRepresentationsForAdaptation:function(g){var M,C,D,b,ne=[],z=function(Te){if(Te&&Te.period&&h(Te.period.index)){var Ce=Te.period.mpd.manifest.Period_asArray[Te.period.index];if(Ce&&Ce.AdaptationSet_asArray&&h(Te.index))return U(Ce.AdaptationSet_asArray[Te.index])}}(g);if(z&&z.Representation_asArray){if(g&&g.period&&h(g.period.index)){var oe=j(g.period.mpd.manifest);oe&&(C=oe[0])}for(var Q=0,x=z.Representation_asArray.length;Q<x;++Q){var J=z.Representation_asArray[Q],he=new qn;if(he.index=Q,he.adaptation=g,J.hasOwnProperty(e.Z.ID)&&(he.id=J.id),J.hasOwnProperty(e.Z.CODECS)&&(he.codecs=J.codecs),J.hasOwnProperty(e.Z.MIME_TYPE)&&(he.mimeType=J[e.Z.MIME_TYPE]),J.hasOwnProperty(e.Z.CODEC_PRIVATE_DATA)&&(he.codecPrivateData=J.codecPrivateData),J.hasOwnProperty(e.Z.BANDWITH)&&(he.bandwidth=J.bandwidth),J.hasOwnProperty(e.Z.WIDTH)&&(he.width=J.width),J.hasOwnProperty(e.Z.HEIGHT)&&(he.height=J.height),J.hasOwnProperty(e.Z.SCAN_TYPE)&&(he.scanType=J.scanType),J.hasOwnProperty(e.Z.MAX_PLAYOUT_RATE)&&(he.maxPlayoutRate=J.maxPlayoutRate),J.hasOwnProperty(e.Z.SEGMENT_BASE)?(M=J.SegmentBase,he.segmentInfoType=e.Z.SEGMENT_BASE):J.hasOwnProperty(e.Z.SEGMENT_LIST)?(M=J.SegmentList).hasOwnProperty(e.Z.SEGMENT_TIMELINE)?he.segmentInfoType=e.Z.SEGMENT_TIMELINE:he.segmentInfoType=e.Z.SEGMENT_LIST:J.hasOwnProperty(e.Z.SEGMENT_TEMPLATE)?((M=J.SegmentTemplate).hasOwnProperty(e.Z.SEGMENT_TIMELINE)?he.segmentInfoType=e.Z.SEGMENT_TIMELINE:he.segmentInfoType=e.Z.SEGMENT_TEMPLATE,M.hasOwnProperty(e.Z.INITIALIZATION_MINUS)&&(he.initialization=M.initialization.split("$Bandwidth$").join(J.bandwidth).split("$RepresentationID$").join(J.id))):he.segmentInfoType=e.Z.BASE_URL,he.essentialProperties=ue(J),M){if(M.hasOwnProperty(e.Z.INITIALIZATION)){var Ne=M.Initialization;Ne.hasOwnProperty(e.Z.SOURCE_URL)&&(he.initialization=Ne.sourceURL),Ne.hasOwnProperty(e.Z.RANGE)&&(he.range=Ne.range)}else B(z)&&L(z)&&z.mimeType&&z.mimeType.indexOf("application/mp4")===-1&&(he.range=0);M.hasOwnProperty(e.Z.TIMESCALE)&&(he.timescale=M.timescale),M.hasOwnProperty(e.Z.DURATION)?he.segmentDuration=M.duration/he.timescale:J.hasOwnProperty(e.Z.SEGMENT_TEMPLATE)&&(M=J.SegmentTemplate).hasOwnProperty(e.Z.SEGMENT_TIMELINE)&&(he.segmentDuration=de(M.SegmentTimeline)/he.timescale),M.hasOwnProperty(e.Z.MEDIA)&&(he.media=M.media),M.hasOwnProperty(e.Z.START_NUMBER)&&(he.startNumber=M.startNumber),M.hasOwnProperty(e.Z.INDEX_RANGE)&&(he.indexRange=M.indexRange),M.hasOwnProperty(e.Z.PRESENTATION_TIME_OFFSET)&&(he.presentationTimeOffset=M.presentationTimeOffset/he.timescale),M.hasOwnProperty(e.Z.AVAILABILITY_TIME_OFFSET)?he.availabilityTimeOffset=M.availabilityTimeOffset:C&&C.availabilityTimeOffset!==void 0&&(he.availabilityTimeOffset=C.availabilityTimeOffset),M.hasOwnProperty(e.Z.AVAILABILITY_TIME_COMPLETE)?he.availabilityTimeComplete=M.availabilityTimeComplete!=="false":C&&C.availabilityTimeComplete!==void 0&&(he.availabilityTimeComplete=C.availabilityTimeComplete)}he.MSETimeOffset=(b=(D=he).presentationTimeOffset,D.adaptation.period.start-b),he.path=[g.period.index,g.index,Q],ne.push(he)}}return ne},getAdaptationsForPeriod:function(g){var M,C,D,b=g&&h(g.index)?g.mpd.manifest.Period_asArray[g.index]:null,ne=[];if(b&&b.AdaptationSet_asArray)for(D=0;D<b.AdaptationSet_asArray.length;D++)C=b.AdaptationSet_asArray[D],M=new yn,C.hasOwnProperty(e.Z.ID)&&(M.id=C.id),M.index=D,M.period=g,w(C,t.Z.MUXED)?M.type=t.Z.MUXED:w(C,t.Z.AUDIO)?M.type=t.Z.AUDIO:Y(C)?M.type=t.Z.VIDEO:B(C)?M.type=t.Z.TEXT:N(C)?M.type=t.Z.IMAGE:r.warn("Unknown Adaptation stream type"),ne.push(M);return ne},getRegularPeriods:function(g){var M,C,D=!!g&&te(g.manifest),b=[],ne=null,z=null,oe=null,Q=null;for(C=0,M=g&&g.manifest&&g.manifest.Period_asArray?g.manifest.Period_asArray.length:0;C<M;C++)(z=g.manifest.Period_asArray[C]).hasOwnProperty(e.Z.START)?(Q=new xn).start=z.start:ne!==null&&ne.hasOwnProperty(e.Z.DURATION)&&oe!==null?(Q=new xn).start=parseFloat((oe.start+oe.duration).toFixed(5)):C!==0||D||((Q=new xn).start=0),oe!==null&&isNaN(oe.duration)&&(Q!==null?oe.duration=parseFloat((Q.start-oe.start).toFixed(5)):r.warn("First period duration could not be calculated because lack of start and duration period properties. This will cause timing issues during playback")),Q!==null&&(Q.id=G(z,C),Q.index=C,Q.mpd=g,z.hasOwnProperty(e.Z.DURATION)&&(Q.duration=z.duration),oe&&(oe.nextPeriodId=Q.id),b.push(Q),ne=z,oe=Q),z=null,Q=null;return b.length===0||oe!==null&&isNaN(oe.duration)&&(oe.duration=parseFloat((function(x){(function(){if(!l||!l.hasOwnProperty("error"))throw new Error(t.Z.MISSING_CONFIG_ERROR)})();var J,he=te(x.mpd.manifest);return x.mpd.manifest.mediaPresentationDuration?J=x.mpd.manifest.mediaPresentationDuration:x.duration?J=x.duration:he?J=Number.POSITIVE_INFINITY:l.error(new re.Z(X.MANIFEST_ERROR_ID_PARSE_CODE,"Must have @mediaPresentationDuration on MPD or an explicit @duration on the last period.",x)),J}(oe)-oe.start).toFixed(5))),b},getMpd:function(g){var M=new Vn;return g&&(M.manifest=g,g.hasOwnProperty(e.Z.AVAILABILITY_START_TIME)?M.availabilityStartTime=new Date(g.availabilityStartTime.getTime()):g.loadedTime&&(M.availabilityStartTime=new Date(g.loadedTime.getTime())),g.hasOwnProperty(e.Z.AVAILABILITY_END_TIME)&&(M.availabilityEndTime=new Date(g.availabilityEndTime.getTime())),g.hasOwnProperty(e.Z.MINIMUM_UPDATE_PERIOD)&&(M.minimumUpdatePeriod=g.minimumUpdatePeriod),g.hasOwnProperty(e.Z.MEDIA_PRESENTATION_DURATION)&&(M.mediaPresentationDuration=g.mediaPresentationDuration),g.hasOwnProperty(e.Z.SUGGESTED_PRESENTATION_DELAY)&&(M.suggestedPresentationDelay=g.suggestedPresentationDelay),g.hasOwnProperty(e.Z.TIMESHIFT_BUFFER_DEPTH)&&(M.timeShiftBufferDepth=g.timeShiftBufferDepth),g.hasOwnProperty(e.Z.MAX_SEGMENT_DURATION)&&(M.maxSegmentDuration=g.maxSegmentDuration),g.hasOwnProperty(e.Z.PUBLISH_TIME)&&(M.publishTime=new Date(g.publishTime))),M},getEventsForPeriod:function(g){var M,C,D=g&&g.mpd&&g.mpd.manifest?g.mpd.manifest:null,b=D?D.Period_asArray:null,ne=b&&g&&h(g.index)?b[g.index].EventStream_asArray:null,z=[];if(ne)for(M=0;M<ne.length;M++){var oe=new Cr;if(oe.period=g,oe.timescale=1,!ne[M].hasOwnProperty(t.Z.SCHEME_ID_URI))throw new Error("Invalid EventStream. SchemeIdUri has to be set");for(oe.schemeIdUri=ne[M][t.Z.SCHEME_ID_URI],ne[M].hasOwnProperty(e.Z.TIMESCALE)&&(oe.timescale=ne[M][e.Z.TIMESCALE]),ne[M].hasOwnProperty(e.Z.VALUE)&&(oe.value=ne[M][e.Z.VALUE]),ne[M].hasOwnProperty(e.Z.PRESENTATION_TIME_OFFSET)&&(oe.presentationTimeOffset=ne[M][e.Z.PRESENTATION_TIME_OFFSET]),C=0;ne[M].Event_asArray&&C<ne[M].Event_asArray.length;C++){var Q=ne[M].Event_asArray[C],x=new Kn;x.presentationTime=0,x.eventStream=oe,Q.hasOwnProperty(e.Z.PRESENTATION_TIME)&&(x.presentationTime=Q.presentationTime);var J=oe.presentationTimeOffset?oe.presentationTimeOffset/oe.timescale:0;x.calculatedPresentationTime=x.presentationTime/oe.timescale+g.start-J,Q.hasOwnProperty(e.Z.DURATION)&&(x.duration=Q.duration/oe.timescale),Q.hasOwnProperty(e.Z.ID)?x.id=Q.id:x.id=null,Q.Signal&&Q.Signal.Binary?x.messageData=E.decodeArray(Q.Signal.Binary.toString()):x.messageData=Q.messageData||Q.__cdata||Q.__text,z.push(x)}}return z},getEssentialPropertiesForAdaptation:function(g){var M={};if(g&&g.hasOwnProperty(e.Z.ESSENTIAL_PROPERTY_ASARRAY)){var C,D=Vt(g.EssentialProperty_asArray);try{for(D.s();!(C=D.n()).done;){var b=C.value;b.hasOwnProperty(t.Z.SCHEME_ID_URI)&&(M[b[t.Z.SCHEME_ID_URI]]=yt({},b))}}catch(ne){D.e(ne)}finally{D.f()}}return M},getEssentialPropertiesAsArrayForAdaptation:function(g){return g&&g.hasOwnProperty(e.Z.ESSENTIAL_PROPERTY_ASARRAY)&&g.EssentialProperty_asArray.length?g.EssentialProperty_asArray.map(function(M){return new Ze().init(M)}):[]},getEssentialPropertiesForRepresentation:ue,getEventStreamForAdaptationSet:function(g,M,C){var D,b,ne;return g&&g.Period_asArray&&M&&M.period&&h(M.period.index)&&(b=g.Period_asArray[M.period.index])&&b.AdaptationSet_asArray&&h(M.index)&&(ne=b.AdaptationSet_asArray[M.index])&&(D=ne.InbandEventStream_asArray),ie(D,null,C)},getEventStreamForRepresentation:function(g,M,C){var D,b,ne,z;return g&&g.Period_asArray&&M&&M.adaptation&&M.adaptation.period&&h(M.adaptation.period.index)&&(b=g.Period_asArray[M.adaptation.period.index])&&b.AdaptationSet_asArray&&h(M.adaptation.index)&&(ne=b.AdaptationSet_asArray[M.adaptation.index])&&ne.Representation_asArray&&h(M.index)&&(z=ne.Representation_asArray[M.index])&&(D=z.InbandEventStream_asArray),ie(D,M,C)},getUTCTimingSources:function(g){var M=te(g),C=!!g&&g.hasOwnProperty(e.Z.AVAILABILITY_START_TIME),D=g?g.UTCTiming_asArray:null,b=[];return(M||C)&&D&&D.forEach(function(ne){var z=new er.Z;ne.hasOwnProperty(t.Z.SCHEME_ID_URI)&&(z.schemeIdUri=ne.schemeIdUri,ne.hasOwnProperty(e.Z.VALUE)&&(z.value=ne.value.toString(),b.push(z)))}),b},getBaseURLsFromElement:j,getRepresentationSortFunction:function(){return function(g,M){return g.bandwidth-M.bandwidth}},getContentSteering:function(g){if(g&&g.hasOwnProperty(e.Z.CONTENT_STEERING_AS_ARRAY))return le(g[e.Z.CONTENT_STEERING_AS_ARRAY][0])},getLocation:function(g){return g&&g.hasOwnProperty(e.Z.LOCATION_AS_ARRAY)?g[e.Z.LOCATION_AS_ARRAY].map(function(M){var C=M.__text||M,D=M.hasOwnProperty(e.Z.SERVICE_LOCATION)?M[e.Z.SERVICE_LOCATION]:null;return new Wt(C,D)}):[]},getPatchLocation:function(g){return g&&g.hasOwnProperty(e.Z.PATCH_LOCATION_AS_ARRAY)?g[e.Z.PATCH_LOCATION_AS_ARRAY].map(function(M){var C=M.__text||M,D=M.hasOwnProperty(e.Z.SERVICE_LOCATION)?M[e.Z.SERVICE_LOCATION]:null,b=M.hasOwnProperty(e.Z.TTL)?1e3*parseFloat(M[e.Z.TTL]):NaN;return new Xt(C,D,b)}):[]},getSuggestedPresentationDelay:function(g){return g&&g.hasOwnProperty(e.Z.SUGGESTED_PRESENTATION_DELAY)?g.suggestedPresentationDelay:null},getAvailabilityStartTime:function(g){return g&&g.hasOwnProperty(e.Z.AVAILABILITY_START_TIME)&&g.availabilityStartTime!==null?g.availabilityStartTime.getTime():null},getServiceDescriptions:function(g){var M=[];if(g&&g.hasOwnProperty(e.Z.SERVICE_DESCRIPTION)){var C,D=Vt(g.ServiceDescription_asArray);try{for(D.s();!(C=D.n()).done;){var b=C.value,ne=null,z=null,oe=null,Q=null,x=null,J=null,he=null;for(var Ne in b)b.hasOwnProperty(Ne)&&(Ne===e.Z.ID?ne=b[Ne]:Ne===e.Z.SERVICE_DESCRIPTION_SCOPE?z=b[Ne].schemeIdUri:Ne===e.Z.SERVICE_DESCRIPTION_LATENCY?oe={target:parseInt(b[Ne].target),max:parseInt(b[Ne].max),min:parseInt(b[Ne].min),referenceId:parseInt(b[Ne].referenceId)}:Ne===e.Z.SERVICE_DESCRIPTION_PLAYBACK_RATE?Q={max:parseFloat(b[Ne].max),min:parseFloat(b[Ne].min)}:Ne===e.Z.SERVICE_DESCRIPTION_OPERATING_QUALITY?x={mediaType:b[Ne].mediaType,max:parseInt(b[Ne].max),min:parseInt(b[Ne].min),target:parseInt(b[Ne].target),type:b[Ne].type,maxQualityDifference:parseInt(b[Ne].maxQualityDifference)}:Ne===e.Z.SERVICE_DESCRIPTION_OPERATING_BANDWIDTH?J={mediaType:b[Ne].mediaType,max:parseInt(b[Ne].max),min:parseInt(b[Ne].min),target:parseInt(b[Ne].target)}:Ne===e.Z.CONTENT_STEERING&&(he=le(b[Ne])));M.push({id:ne,schemeIdUri:z,latency:oe,playbackRate:Q,operatingQuality:x,operatingBandwidth:J,contentSteering:he})}}catch(Te){D.e(Te)}finally{D.f()}}return M},getSegmentAlignment:function(g){return!(!g||!g.hasOwnProperty(e.Z.SEGMENT_ALIGNMENT))&&g[e.Z.SEGMENT_ALIGNMENT]==="true"},getSubSegmentAlignment:function(g){return!(!g||!g.hasOwnProperty(e.Z.SUB_SEGMENT_ALIGNMENT))&&g[e.Z.SUB_SEGMENT_ALIGNMENT]==="true"},getSupplementalPropertiesForAdaptation:function(g){var M={};if(g&&g.hasOwnProperty(e.Z.SUPPLEMENTAL_PROPERTY_ASARRAY)){var C,D=Vt(g.SupplementalProperty_asArray);try{for(D.s();!(C=D.n()).done;){var b=C.value;b.hasOwnProperty(t.Z.SCHEME_ID_URI)&&(M[b[t.Z.SCHEME_ID_URI]]=yt({},b))}}catch(ne){D.e(ne)}finally{D.f()}}return M},getSupplementalPropertiesAsArrayForAdaptation:function(g){return g&&g.hasOwnProperty(e.Z.SUPPLEMENTAL_PROPERTY_ASARRAY)&&g.SupplementalProperty_asArray.length?g.SupplementalProperty_asArray.map(function(M){return new Ze().init(M)}):[]},getSupplementalPropertiesForRepresentation:function(g){var M={};if(g&&g.hasOwnProperty(e.Z.SUPPLEMENTAL_PROPERTY_ASARRAY)){var C,D=Vt(g.SupplementalProperty_asArray);try{for(D.s();!(C=D.n()).done;){var b=C.value;b.hasOwnProperty(t.Z.SCHEME_ID_URI)&&(M[b[t.Z.SCHEME_ID_URI]]=yt({},b))}}catch(ne){D.e(ne)}finally{D.f()}}return M},getSupplementalPropertiesAsArrayForRepresentation:function(g){return g&&g.hasOwnProperty(e.Z.SUPPLEMENTAL_PROPERTY_ASARRAY)&&g.SupplementalProperty_asArray.length?g.SupplementalProperty_asArray.map(function(M){return new Ze().init(M)}):[]},setConfig:function(g){g&&(g.errHandler&&(l=g.errHandler),g.BASE64&&(E=g.BASE64))}},r=(0,m.Z)(R).getInstance().getLogger(i),i}vn.__dashjs_factory_name="DashManifestModel";var $t=_.Z.getSingletonFactory(vn),pt=P(703);function At(i,r){var l;if(typeof Symbol>"u"||i[Symbol.iterator]==null){if(Array.isArray(i)||(l=function(L,Y){if(L){if(typeof L=="string")return Zt(L,Y);var B=Object.prototype.toString.call(L).slice(8,-1);return B==="Object"&&L.constructor&&(B=L.constructor.name),B==="Map"||B==="Set"?Array.from(L):B==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(B)?Zt(L,Y):void 0}}(i))||r){l&&(i=l);var E=0,R=function(){};return{s:R,n:function(){return E>=i.length?{done:!0}:{done:!1,value:i[E++]}},e:function(L){throw L},f:R}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
+In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var A,h=!0,w=!1;return{s:function(){l=i[Symbol.iterator]()},n:function(){var L=l.next();return h=L.done,L},e:function(L){w=!0,A=L},f:function(){try{h||l.return==null||l.return()}finally{if(w)throw A}}}}function Zt(i,r){(r==null||r>i.length)&&(r=i.length);for(var l=0,E=new Array(r);l<r;l++)E[l]=i[l];return E}function nn(){var i,r,l,E,R,A,h,w,L,Y,B=this.context,N=(0,p.Z)(B).getInstance(),U=(0,Ae.Z)(B).getInstance();function Z(){l={pr:1,nor:null,st:null,sf:null,sid:"".concat(pt.Z.generateUuid()),cid:null},L={},w={},Y={},te()}function ce(){te()}function te(){if(A){var b=A.getStreamController();if(b&&typeof b.getActiveStream=="function"){var ne=b.getActiveStream();ne&&(h=ne.getProcessors())}}}function ue(b,ne){var z,oe={},Q=At(ne);try{for(Q.s();!(z=Q.n()).done;){var x=z.value;b[x]&&(oe[x]=b[x])}}catch(J){Q.e(J)}finally{Q.f()}return oe}function de(b){var ne=U.get().streaming.cmcd.enabledKeys;return b.filter(function(z){return ne.includes(z)})}function G(b){try{return b.type===Le.w.MPD_TYPE?((z=ie()).ot="m",z):b.type===Le.w.MEDIA_SEGMENT_TYPE?(ne=b.mediaType,Y.hasOwnProperty(ne)||(Y[ne]=!1),w.hasOwnProperty(ne)||(w[ne]=!1),L.hasOwnProperty(ne)||(L[ne]=!1),function(oe){var Q,x=ie(),J=function(Xe){try{var Mt=Xe.quality,Ee=Xe.mediaInfo.bitrateList;return parseInt(Ee[Mt].bandwidth/1e3)}catch{return null}}(oe),he=function(Xe){try{return isNaN(Xe.duration)?NaN:Math.round(1e3*Xe.duration)}catch{return null}}(oe),Ne=function(Xe){try{return 100*parseInt(E.getThroughputHistory().getSafeAverageThroughput(Xe)/100)}catch{return null}}(oe.mediaType),Te=function(Xe){try{var Mt=l.pr,Ee=R.getCurrentBufferLevel(Xe);return isNaN(Mt)||isNaN(Ee)?null:100*parseInt(Ee/Mt*10)}catch{return null}}(oe.mediaType),Ce=j(oe.mediaType),Ie=function(Xe){try{var Mt=E.getTopBitrateInfoFor(Xe);return Math.round(Mt.bitrate/1e3)}catch{return null}}(oe.mediaType),et=l.pr,nt=function(Xe){if(h&&h.length!==0){var Mt,Ee=At(h);try{for(Ee.s();!(Mt=Ee.n()).done;){var Fe=Mt.value;if(Fe.getType()===Xe)return Fe.probeNextRequest()}}catch(lt){Ee.e(lt)}finally{Ee.f()}}}(oe.mediaType);oe.mediaType===t.Z.VIDEO&&(Q="v"),oe.mediaType===t.Z.AUDIO&&(Q="a"),oe.mediaType===t.Z.TEXT&&(Q=oe.mediaInfo.mimeType==="application/mp4"?"tt":"c");var We=U.get().streaming.cmcd.rtp;return We||(We=function(Xe){try{var Mt=A.getPlaybackRate();Mt||(Mt=1);var Ee=Xe.quality,Fe=Xe.mediaType,lt=Xe.mediaInfo,qe=Xe.duration;if(!lt)return NaN;var ht=j(Fe);ht===0&&(ht=500);var gt=lt.bitrateList[Ee].bandwidth*qe/1e3/(ht/Mt/1e3),st=U.get().streaming.cmcd.rtpSafetyFactor&&!isNaN(U.get().streaming.cmcd.rtpSafetyFactor)?U.get().streaming.cmcd.rtpSafetyFactor:5;return 100*(parseInt(gt*st/100)+1)}catch{return NaN}}(oe)),isNaN(We)||(x.rtp=We),nt&&(oe.url!==nt.url?x.nor=encodeURIComponent(pt.Z.getRelativeUrl(oe.url,nt.url)):nt.range&&(x.nrr=nt.range)),J&&(x.br=J),Q&&(x.ot=Q),isNaN(he)||(x.d=he),isNaN(Ne)||(x.mtp=Ne),isNaN(Te)||(x.dl=Te),isNaN(Ce)||(x.bl=Ce),isNaN(Ie)||(x.tb=Ie),isNaN(et)||et===1||(x.pr=et),L[oe.mediaType]&&(x.bs=!0,L[oe.mediaType]=!1),!w[oe.mediaType]&&Y[oe.mediaType]||(x.su=!0,w[oe.mediaType]=!1,Y[oe.mediaType]=!0),x}(b)):b.type===Le.w.INIT_SEGMENT_TYPE?function(){var oe=ie();return oe.ot="i",oe.su=!0,oe}():b.type===Le.w.OTHER_TYPE||b.type===Le.w.XLINK_EXPANSION_TYPE?function(){var oe=ie();return oe.ot="o",oe}():b.type===Le.w.LICENSE?function(oe){var Q=ie();return Q.ot="k",Q}():null}catch{return null}var ne,z}function ie(){var b={},ne=U.get().streaming.cmcd.cid?U.get().streaming.cmcd.cid:l.cid;return b.v=1,b.sid=U.get().streaming.cmcd.sid?U.get().streaming.cmcd.sid:l.sid,b.sid="".concat(b.sid),ne&&(b.cid="".concat(ne)),isNaN(l.pr)||l.pr===1||l.pr===null||(b.pr=l.pr),l.st&&(b.st=l.st),l.sf&&(b.sf=l.sf),b}function j(b){try{var ne=R.getCurrentBufferLevel(b);return isNaN(ne)?null:100*parseInt(10*ne)}catch{return null}}function le(b){try{l.pr=b.playbackRate}catch{}}function g(b){try{var ne=i.getIsDynamic(b.data)?"l":"v",z=b.protocol&&b.protocol==="MSS"?"s":"d";l.st="".concat(ne),l.sf="".concat(z)}catch{}}function M(b){try{b.state&&b.mediaType&&b.state===n.Z.BUFFER_EMPTY&&(L[b.mediaType]||(L[b.mediaType]=!0),w[b.mediaType]||(w[b.mediaType]=!0))}catch{}}function C(){for(var b in L)L.hasOwnProperty(b)&&(L[b]=!0);for(var ne in w)w.hasOwnProperty(ne)&&(w[ne]=!0)}function D(b){try{if(!b)return null;var ne=Object.keys(b).sort(function(Q,x){return Q.localeCompare(x)}),z=ne.length,oe=ne.reduce(function(Q,x,J){return x==="v"&&b[x]===1||(typeof b[x]=="string"&&x!=="ot"&&x!=="sf"&&x!=="st"?Q+="".concat(x,"=").concat(JSON.stringify(b[x])):Q+="".concat(x,"=").concat(b[x]),J<z-1&&(Q+=",")),Q},"");return(oe=oe.replace(/=true/g,"")).replace(/,\s*$/,"")}catch{return null}}return r={getQueryParameter:function(b){try{if(U.get().streaming.cmcd&&U.get().streaming.cmcd.enabled){var ne=G(b),z=function(Q){try{var x=U.get().streaming.cmcd.enabledKeys;return Object.keys(Q).filter(function(J){return x.includes(J)}).reduce(function(J,he){return J[he]=Q[he],J},{})}catch{return Q}}(ne),oe=D(z);return N.trigger(_n.Z.CMCD_DATA_GENERATED,{url:b.url,mediaType:b.mediaType,cmcdData:ne,cmcdString:oe}),{key:"CMCD",value:oe}}return null}catch{return null}},getHeaderParameters:function(b){try{if(U.get().streaming.cmcd&&U.get().streaming.cmcd.enabled){var ne=G(b),z=ue(ne,de(["br","d","ot","tb"])),oe=ue(ne,de(["bl","dl","mtp","nor","nrr","su"])),Q=ue(ne,de(["bs","rtp"])),x=ue(ne,de(["cid","pr","sf","sid","st","v"])),J={"CMCD-Object":D(z),"CMCD-Request":D(oe),"CMCD-Status":D(Q),"CMCD-Session":D(x)};return N.trigger(_n.Z.CMCD_DATA_GENERATED,{url:b.url,mediaType:b.mediaType,cmcdData:ne,headers:J}),J}return null}catch{return null}},setConfig:function(b){b&&(b.abrController&&(E=b.abrController),b.dashMetrics&&(R=b.dashMetrics),b.playbackController&&(A=b.playbackController))},reset:function(){N.off(n.Z.PLAYBACK_RATE_CHANGED,le,this),N.off(n.Z.MANIFEST_LOADED,g,this),N.off(n.Z.BUFFER_LEVEL_STATE_CHANGED,M,r),N.off(n.Z.PLAYBACK_SEEKED,C,r),Z()},initialize:function(){N.on(n.Z.PLAYBACK_RATE_CHANGED,le,r),N.on(n.Z.MANIFEST_LOADED,g,r),N.on(n.Z.BUFFER_LEVEL_STATE_CHANGED,M,r),N.on(n.Z.PLAYBACK_SEEKED,C,r),N.on(n.Z.PERIOD_SWITCH_COMPLETED,ce,r)}},i=$t(B).getInstance(),Z(),r}nn.__dashjs_factory_name="CmcdModel";var sn=_.Z.getSingletonFactory(nn);function pn(i){return pn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(r){return typeof r}:function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},pn(i)}function En(i,r){En=function(w,L){return new A(w,void 0,L)};var l=jn(RegExp),E=RegExp.prototype,R=new WeakMap;function A(w,L,Y){var B=l.call(this,w,L);return R.set(B,Y||R.get(w)),B}function h(w,L){var Y=R.get(L);return Object.keys(Y).reduce(function(B,N){return B[N]=w[Y[N]],B},Object.create(null))}return Yn(A,l),A.prototype.exec=function(w){var L=E.exec.call(this,w);return L&&(L.groups=h(L,this)),L},A.prototype[Symbol.replace]=function(w,L){if(typeof L=="string"){var Y=R.get(this);return E[Symbol.replace].call(this,w,L.replace(/\$<([^>]+)>/g,function(N,U){return"$"+Y[U]}))}if(typeof L=="function"){var B=this;return E[Symbol.replace].call(this,w,function(){var N=[];return N.push.apply(N,arguments),pn(N[N.length-1])!=="object"&&N.push(h(N,B)),L.apply(this,N)})}return E[Symbol.replace].call(this,w,L)},En.apply(this,arguments)}function Yn(i,r){if(typeof r!="function"&&r!==null)throw new TypeError("Super expression must either be null or a function");i.prototype=Object.create(r&&r.prototype,{constructor:{value:i,writable:!0,configurable:!0}}),r&&Pn(i,r)}function jn(i){var r=typeof Map=="function"?new Map:void 0;return jn=function(l){if(l===null||(E=l,Function.toString.call(E).indexOf("[native code]")===-1))return l;var E;if(typeof l!="function")throw new TypeError("Super expression must either be null or a function");if(r!==void 0){if(r.has(l))return r.get(l);r.set(l,R)}function R(){return Cn(l,arguments,Hn(this).constructor)}return R.prototype=Object.create(l.prototype,{constructor:{value:R,enumerable:!1,writable:!0,configurable:!0}}),Pn(R,l)},jn(i)}function Cn(i,r,l){return Cn=Un()?Reflect.construct:function(E,R,A){var h=[null];h.push.apply(h,R);var w=new(Function.bind.apply(E,h));return A&&Pn(w,A.prototype),w},Cn.apply(null,arguments)}function Un(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Pn(i,r){return Pn=Object.setPrototypeOf||function(l,E){return l.__proto__=E,l},Pn(i,r)}function Hn(i){return Hn=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},Hn(i)}var mr="static",ir="dynamic",ur="cmsd-",zn=ur+mr,zr=ur+ir,Dr="stream",Wr=["mb","st","sf","v"],Xr={video:"v",audio:"a",text:"tt",stream:Dr},Qr=/^[-0-9]/;function Or(){var i,r,l,E,R=this.context,A=(0,p.Z)(R).getInstance();function h(){l={},E={}}function w(Z){Z&&Object.keys(Z).forEach(function(ce){Wr.includes(ce)||delete Z[ce]})}function L(Z){return!Z||Z.toLowerCase()!=="false"&&(Qr.test(Z)?parseInt(Z,10):Z.replace(/["]+/g,""))}function Y(Z){try{for(var ce={},te=Z.split(","),ue=0;ue<te.length;ue++){var de=te[ue].split("="),G=de[0],ie=L(de[1]);ce[G]=ie}return ce}catch(j){r.error("Failed to parse CMSD-Static response header value:",j)}}function B(Z){try{for(var ce={},te=Z.split(","),ue=te[te.length-1].split(";"),de=1;de<ue.length;de++){var G=ue[de].split("="),ie=G[0],j=L(G[1]);ce[ie]=j}return ce}catch(le){return r.error("Failed to parse CMSD-Dynamic response header value:",le),[]}}function N(Z){return Xr[Z]||"o"}function U(Z,ce,te){var ue=Z===mr?l:E,de=ue[ce]||{},G=ue[Dr]||{};return de[te]||G[te]}return i={setConfig:function(){},initialize:function(){},reset:function(){h()},parseResponseHeaders:function(Z,ce){for(var te=null,ue=null,de=Z.split(`\r
+`),G=de.length-1;G>=0;G--){var ie=de[G].match(En(/^((?:(?!:)[\s\S])*):[\t-\r \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*(.*)$/,{key:1,value:2}));if(ie&&ie.groups){var j=ie.groups.key.toLowerCase(),le=ie.groups.value;switch(j){case zn:te=Y(le),A.trigger(u.Z.CMSD_STATIC_HEADER,te);break;case zr:ue||(ue=B(le))}}}var g=Dr;return te&&te.ot?g=te.ot:ce&&(g=N(ce)),w(l[g]),w(E[g]),te&&(l[g]=Object.assign(l[g]||{},te)),ue&&(E[g]=Object.assign(E[g]||{},ue)),{static:te,dynamic:ue}},getMaxBitrate:function(Z){var ce=N(Z);return U(ir,ce,"mb")||-1},getEstimatedThroughput:function(Z){var ce=N(Z);return U(ir,ce,"etp")||null},getResponseDelay:function(Z){var ce=N(Z);return U(ir,ce,"rd")||null},getRoundTripTime:function(Z){var ce=N(Z);return U(ir,ce,"rtt")||null}},r=(0,m.Z)(R).getInstance().getLogger(i),h(),i}Or.__dashjs_factory_name="CmsdModel";var Ct=_.Z.getSingletonFactory(Or);function en(){var i,r,l=this.context,E={};function R(){r=(0,m.Z)(l).getInstance().getLogger(i)}function A(w){for(var L={},Y=0,B=0,N=0,U=0,Z=w.length,ce=0;ce<Z;++ce)Y+=w[ce].chunkDownloadTimeRelativeMS,B+=w[ce].bufferLevel,N+=w[ce].chunkDownloadTimeRelativeMS*w[ce].bufferLevel,U+=w[ce].chunkDownloadTimeRelativeMS*w[ce].chunkDownloadTimeRelativeMS;return L.m=(N-Y*B/Z)/(U-Y*Y/Z),L.b=B/Z-L.m*Y/Z,function(te){return L.m*te+L.b}}function h(w){var L,Y=!0,B=w.reduce(function(N,U){return N+U.bufferLevelAtSegmentEnd},0)/w.length;return w.forEach(function(N){Math.abs(N.bufferLevelAtSegmentEnd/N.bufferLevelAtSegmentStart)<.95&&(Y=!1),N.bufferLevelAtSegmentEnd/B<.8&&(Y=!1),L?L>N.bitrate&&(Y=!1):L=N.bitrate}),Y}return i={setup:R,addMeasurement:function(w,L,Y,B,N){w&&w.mediaType&&!E[w.mediaType]&&(E[w.mediaType]=[]);var U=w.mediaInfo.bitrateList.find(function(Z){return Z.id===w.representationId});E[w.mediaType].push({index:w.index,repId:w.representationId,mediaType:w.mediaType,requestTimeMS:B,adjustedAvailabilityStartTimeMS:w.availabilityStartTime.getTime(),segDurationMS:1e3*w.duration,chunksDurationMS:Y.reduce(function(Z,ce){return Z+ce.chunkDownloadDurationMS},0),segmentBytes:Y.reduce(function(Z,ce){return Z+ce.chunkBytes},0),bitrate:U&&U.bandwidth,bitrateList:w.mediaInfo.bitrateList,chunkMeasurements:Y,fetchDownloadDurationMS:L,throughputCapacityDelayMS:N,getEstimatedBufferLevel:A(Y.slice(1))}),E[w.mediaType].length>10&&E[w.mediaType].shift()},getThroughputCapacityDelayMS:function(w,L){var Y=E[w.mediaType]&&E[w.mediaType].slice(-3);return!Y||Y.length<3?0:h(Y)?L/4>250?250:L/4:0},getEstimatedDownloadDurationMS:function(w){var L=E[w.mediaType].slice(-1).pop(),Y=E[w.mediaType].slice(-3),B=L.chunkMeasurements.slice(-1).pop().chunkDownloadTimeRelativeMS;L.bufferLevelAtSegmentStart=L.getEstimatedBufferLevel(B/2),L.bufferLevelAtSegmentEnd=L.getEstimatedBufferLevel(B);var N=h(Y),U=N?.6:.8;if(L.isBufferStable&&1.05*L.segDurationMS<L.fetchDownloadDurationMS)return L.fetchDownloadDurationMS;if(!N||L.segDurationMS<L.fetchDownloadDurationMS||L.adjustedAvailabilityStartTimeMS<=L.requestTimeMS+L.throughputCapacityDelayMS-L.segDurationMS)return .8*L.fetchDownloadDurationMS;for(var Z=L.requestTimeMS+L.throughputCapacityDelayMS-L.adjustedAvailabilityStartTimeMS,ce=0,te=0,ue=0,de=0;de<L.chunkMeasurements.length;de++){var G=L.chunkMeasurements[de];if(Z<te+G.chunkDownloadDurationMS)break;te+=G.chunkDownloadDurationMS,ce+=G.chunkBytes,ue++}if(Z<0&&r.warn("request time was before adjusted availibitly start time"),ce&&te&&ue>.2*L.chunkMeasurements.length){var ie=ce/te,j=L.segmentBytes/ie;return L.fetchDownloadDurationMS<j?L.fetchDownloadDurationMS*U:j*U}var le=L.bitrate;return L.bitrateList.some(function(g){if(g.bandwidth>L.bitrate)return le=g.bandwidth,!0}),le===L.bitrate?L.fetchDownloadDurationMS*U:U*L.segmentBytes*8*1e3/le}},R(),i}en.__dashjs_factory_name="LowLatencyThroughputModel";var fn=_.Z.getSingletonFactory(en),Ln=P(5717);function Tn(i,r,l){return r in i?Object.defineProperty(i,r,{value:l,enumerable:!0,configurable:!0,writable:!0}):i[r]=l,i}function Bn(i){i=i||{};var r,l,E,R,A,h,w,L,Y,B,N,U=this.context,Z=i.errHandler,ce=i.dashMetrics,te=i.mediaPlayerModel,ue=i.requestModifier,de=i.boxParser,G=i.errors,ie=i.requestTimeout||0,j=(0,p.Z)(U).getInstance(),le=(0,Ae.Z)(U).getInstance();function g(M,C){var D,b=M.request,ne=[],z=!0,oe=!0,Q=new Date,x=Q,J=0,he=null,Ne=null;if(!ue||!ce||!Z)throw new Error("config object is not correct or missing");var Te,Ce=function(ht){b.requestStartDate=Q,b.requestEndDate=new Date,b.firstByteDate=b.firstByteDate||Q,b.fileLoaderType=Ne;var gt=D.response?D.response.responseURL:null,st=D.response?D.response.status:null,qt=D.response&&D.response.getAllResponseHeaders?D.response.getAllResponseHeaders():D.response?D.response.responseHeaders:null,Gt=qt&&le.get().streaming.cmsd&&le.get().streaming.cmsd.enabled?w.parseResponseHeaders(qt,b.mediaType):null;ce.addHttpRequest(b,gt,st,qt,ht?ne:null,Gt)},Ie=function(ht){oe=!1,Ce(ht),b.type===Le.w.MPD_TYPE&&(ce.addManifestUpdate(b),j.trigger(u.Z.MANIFEST_LOADING_FINISHED,{request:b}))},et=function(){if(he&&(clearTimeout(he),he=null),l.indexOf(D)!==-1&&(l.splice(l.indexOf(D),1),oe))if(Ie(!1),C>0){try{le.get().streaming.utcSynchronization.enableBackgroundSyncAfterSegmentDownloadError&&b.type===Le.w.MEDIA_SEGMENT_TYPE&&te.getRetryAttemptsForType(Le.w.MEDIA_SEGMENT_TYPE)===C&&j.trigger(u.Z.ATTEMPT_BACKGROUND_SYNC)}catch{}C--;var ht={config:M};R.push(ht),ht.timeout=setTimeout(function(){R.indexOf(ht)!==-1&&(R.splice(R.indexOf(ht),1),g(M,C))},te.getRetryIntervalsForType(b.type))}else{if(b.type===Le.w.MSS_FRAGMENT_INFO_SEGMENT_TYPE)return;Z.error(new re.Z(A[b.type],b.url+" is not available",{request:b,response:D.response})),M.error&&M.error(b,"error",D.response.statusText,D.response),M.complete&&M.complete(b,D.response.statusText)}};b.hasOwnProperty("availabilityTimeComplete")&&b.availabilityTimeComplete===!1&&window.fetch&&b.responseType==="arraybuffer"&&b.type===Le.w.MEDIA_SEGMENT_TYPE?((Te=An(U).create({requestModifier:ue,lowLatencyThroughputModel:Y,boxParser:de})).setup({dashMetrics:ce}),Ne=t.Z.FILE_LOADER_TYPES.FETCH):(Te=(0,Ft.Z)(U).create({requestModifier:ue}),Ne=t.Z.FILE_LOADER_TYPES.XHR);var nt=null,We=ue.modifyRequestURL?ue.modifyRequestURL(b.url):b.url;if(le.get().streaming.cmcd&&le.get().streaming.cmcd.enabled){var Xe=le.get().streaming.cmcd.mode;if(Xe===t.Z.CMCD_MODE_QUERY){var Mt=function(ht){try{var gt=[],st=h.getQueryParameter(ht);return st&&gt.push(st),gt}catch{return[]}}(b);We=pt.Z.addAditionalQueryParameterToUrl(We,Mt)}else Xe===t.Z.CMCD_MODE_HEADER&&(nt=h.getHeaderParameters(b))}var Ee=L.getXHRWithCredentialsForType(b.type);if(b.queryParams){var Fe=Object.keys(b.queryParams).map(function(ht){return{key:ht,value:b.queryParams[ht]}});We=pt.Z.addAditionalQueryParameterToUrl(We,Fe)}b.url=We,D={url:We,method:Le.w.GET,withCredentials:Ee,request:b,onload:function(){D.response.status>=200&&D.response.status<=299&&(Ie(!0),M.success&&M.success(D.response.response,D.response.statusText,D.response.responseURL),M.complete&&M.complete(b,D.response.statusText))},onend:et,onerror:et,progress:function(ht){var gt=new Date;z&&(z=!1,(!ht.lengthComputable||ht.lengthComputable&&ht.total!==ht.loaded)&&(b.firstByteDate=gt)),ht.lengthComputable&&(b.bytesLoaded=ht.loaded,b.bytesTotal=ht.total),ht.noTrace||(ne.push({s:x,d:ht.time?ht.time:gt.getTime()-x.getTime(),b:[ht.loaded?ht.loaded-J:0]}),x=gt,J=ht.loaded),he&&(clearTimeout(he),he=null),le.get().streaming.fragmentRequestProgressTimeout>0&&(he=setTimeout(function(){B.warn("Abort request "+D.url+" due to progress timeout"),D.response.onabort=null,D.loader.abort(D),et()},le.get().streaming.fragmentRequestProgressTimeout)),M.progress&&ht&&M.progress(ht)},onabort:function(){Ce(!0),he&&(clearTimeout(he),he=null),M.abort&&M.abort(b)},ontimeout:function(ht){var gt;if(ht.lengthComputable){var st=ht.loaded/ht.total*100;gt="Request timeout: loaded: "+ht.loaded+", out of: "+ht.total+" : "+st.toFixed(3)+"% Completed"}else gt="Request timeout: non-computable download size";B.warn(gt)},loader:Te,timeout:ie,headers:nt};var lt=new Date().getTime();if(isNaN(b.delayLoadingTime)||lt>=b.delayLoadingTime)l.push(D),Te.load(D);else{var qe={httpRequest:D};E.push(qe),qe.delayTimeout=setTimeout(function(){if(E.indexOf(qe)!==-1){E.splice(E.indexOf(qe),1);try{Q=new Date,x=Q,l.push(qe.httpRequest),Te.load(qe.httpRequest)}catch{qe.httpRequest.onerror()}}},b.delayLoadingTime-lt)}}return r={load:function(M){M.request?g(M,te.getRetryAttemptsForType(M.request.type)):M.error&&M.error(M.request,"error")},abort:function(){R.forEach(function(M){clearTimeout(M.timeout),M.config.request&&M.config.abort&&M.config.abort(M.config.request)}),R=[],E.forEach(function(M){return clearTimeout(M.delayTimeout)}),E=[],l.forEach(function(M){M.request.type!==Le.w.MSS_FRAGMENT_INFO_SEGMENT_TYPE&&(M.onloadend=M.onerror=M.onprogress=void 0,M.loader.abort(M))}),l=[]}},B=(0,m.Z)(U).getInstance().getLogger(r),l=[],E=[],R=[],h=sn(U).getInstance(),w=Ct(U).getInstance(),Y=fn(U).getInstance(),L=(0,Ln.Z)(U).getInstance(),Tn(N={},Le.w.MPD_TYPE,G.DOWNLOAD_ERROR_ID_MANIFEST_CODE),Tn(N,Le.w.XLINK_EXPANSION_TYPE,G.DOWNLOAD_ERROR_ID_XLINK_CODE),Tn(N,Le.w.INIT_SEGMENT_TYPE,G.DOWNLOAD_ERROR_ID_INITIALIZATION_CODE),Tn(N,Le.w.MEDIA_SEGMENT_TYPE,G.DOWNLOAD_ERROR_ID_CONTENT_CODE),Tn(N,Le.w.INDEX_SEGMENT_TYPE,G.DOWNLOAD_ERROR_ID_CONTENT_CODE),Tn(N,Le.w.BITSTREAM_SWITCHING_SEGMENT_TYPE,G.DOWNLOAD_ERROR_ID_CONTENT_CODE),Tn(N,Le.w.OTHER_TYPE,G.DOWNLOAD_ERROR_ID_CONTENT_CODE),A=N,r}Bn.__dashjs_factory_name="HTTPLoader";var wn=_.Z.getClassFactory(Bn);function tr(){var i;function r(){i={}}function l(){r()}return l(),{getLoader:function(E){for(var R in i)if(i.hasOwnProperty(R)&&E.startsWith(R))return i[R];return wn},registerLoader:function(E,R){i[E]=R},unregisterLoader:function(E){i[E]&&delete i[E]},unregisterAllLoader:r,reset:l}}tr.__dashjs_factory_name="SchemeLoaderFactory";var kn=_.Z.getSingletonFactory(tr);function Dn(i){i=i||{};var r,l,E=this.context;return r=kn(E).getInstance(),{load:function(R){if(!l){var A=r.getLoader(R&&R.request?R.request.url:null);l=A(E).create({errHandler:i.errHandler,mediaPlayerModel:i.mediaPlayerModel,requestModifier:i.requestModifier,dashMetrics:i.dashMetrics,boxParser:i.boxParser?i.boxParser:null,constants:i.constants?i.constants:null,dashConstants:i.dashConstants?i.dashConstants:null,urlUtils:i.urlUtils?i.urlUtils:null,requestTimeout:isNaN(i.requestTimeout)?0:i.requestTimeout,errors:i.errors})}l.load(R)},abort:function(){l&&l.abort()}}}Dn.__dashjs_factory_name="URLLoader";var Wn=_.Z.getClassFactory(Dn);function Xn(i){return Xn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(r){return typeof r}:function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},Xn(i)}function lr(i,r){return lr=Object.setPrototypeOf||function(l,E){return l.__proto__=E,l},lr(i,r)}function ar(i,r){return!r||Xn(r)!=="object"&&typeof r!="function"?function(l){if(l===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return l}(i):r}function cr(i){return cr=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},cr(i)}var pr=function(i){(function(A,h){if(typeof h!="function"&&h!==null)throw new TypeError("Super expression must either be null or a function");A.prototype=Object.create(h&&h.prototype,{constructor:{value:A,writable:!0,configurable:!0}}),h&&lr(A,h)})(R,i);var r,l,E=(r=R,l=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var A,h=cr(r);if(l){var w=cr(this).constructor;A=Reflect.construct(h,arguments,w)}else A=h.apply(this,arguments);return ar(this,A)});function R(A){var h;return function(w,L){if(!(w instanceof L))throw new TypeError("Cannot call a class as a function")}(this,R),(h=E.call(this,A)).checkForExistenceOnly=!0,h}return R}(I.Z);function qr(i){i=i||{};var r,l,E=this.context,R=i.eventBus,A=i.events,h=i.urlUtils,w=i.errors,L=i.streamId;return r={checkForExistence:function(Y){var B=function(U){R.trigger(A.CHECK_FOR_EXISTENCE_COMPLETED,{request:Y,exists:U})};if(Y){var N=new pr(Y.url);l.load({request:N,success:function(){B(!0)},error:function(){B(!1)}})}else B(!1)},load:function(Y){var B=function(N,U){R.trigger(A.LOADING_COMPLETED,{request:Y,response:N||null,error:U||null,sender:r})};Y?l.load({request:Y,progress:function(N){R.trigger(A.LOADING_PROGRESS,{request:Y,stream:N.stream,streamId:L}),N.data&&R.trigger(A.LOADING_DATA_PROGRESS,{request:Y,response:N.data||null,error:null,sender:r})},success:function(N){B(N)},error:function(N,U,Z){B(void 0,new re.Z(w.FRAGMENT_LOADER_LOADING_FAILURE_ERROR_CODE,Z,U))},abort:function(N){N&&R.trigger(A.LOADING_ABANDONED,{mediaType:N.mediaType,request:N,sender:r})}}):B(void 0,new re.Z(w.FRAGMENT_LOADER_NULL_REQUEST_ERROR_CODE,w.FRAGMENT_LOADER_NULL_REQUEST_ERROR_MESSAGE))},abort:function(){l&&l.abort()},reset:function(){l&&(l.abort(),l=null)}},l=Wn(E).create({errHandler:i.errHandler,errors:w,dashMetrics:i.dashMetrics,mediaPlayerModel:i.mediaPlayerModel,requestModifier:i.requestModifier,urlUtils:h,constants:t.Z,boxParser:i.boxParser,dashConstants:i.dashConstants,requestTimeout:i.settings.get().streaming.fragmentRequestTimeout}),r}qr.__dashjs_factory_name="FragmentLoader";var Mr=_.Z.getClassFactory(qr);function Pr(){return{modifyResponseAsync:function(i){return Promise.resolve(i)}}}Pr.__dashjs_factory_name="SegmentResponseModifier";var Jr=_.Z.getSingletonFactory(Pr);function $r(i){i=i||{};var r,l,E,R=this.context,A=(0,p.Z)(R).getInstance(),h=i.errHandler,w=i.mediaPlayerModel,L=i.dashMetrics,Y=(0,m.Z)(R).getInstance(),B=Jr(R).getInstance(),N=i.streamInfo;function U(){return N.id}function Z(){for(var te in E)E[te].reset();E={}}function ce(te){if(te.sender){var ue=te.request,de=te.response,G=ue.isInitializationRequest(),ie=ue.mediaInfo.streamInfo;if(te.error&&(ue.mediaType===t.Z.AUDIO||ue.mediaType===t.Z.VIDEO||ue.mediaType===t.Z.TEXT&&ue.mediaInfo.isFragmented)&&A.trigger(u.Z.SERVICE_LOCATION_BASE_URL_BLACKLIST_ADD,{entry:te.request.serviceLocation}),de&&ie){var j=function(le,g,M,C){var D=new It;return D.streamId=M,D.mediaInfo=g.mediaInfo,D.segmentType=g.type,D.start=g.startTime,D.duration=g.duration,D.end=D.start+D.duration,D.bytes=le,D.index=g.index,D.quality=g.quality,D.representationId=g.representationId,D.endFragment=C,D}(de,ue,N.id,te.type!==u.Z.FRAGMENT_LOADING_PROGRESS);B.modifyResponseAsync(j).then(function(le){A.trigger(G?u.Z.INIT_FRAGMENT_LOADED:u.Z.MEDIA_FRAGMENT_LOADED,{chunk:le,request:ue},{streamId:ie.id,mediaType:ue.mediaType})}).catch(function(le){l.error(le),A.trigger(G?u.Z.INIT_FRAGMENT_LOADED:u.Z.MEDIA_FRAGMENT_LOADED,{chunk:j,request:ue},{streamId:ie.id,mediaType:ue.mediaType})})}else l.warn("No "+ue.mediaType+" bytes to push or stream is inactive.")}}return r={getStreamId:U,getModel:function(te){var ue=E[te];return ue||(ue=K(R).create({streamInfo:N,type:te,dashMetrics:L,fragmentLoader:Mr(R).create({dashMetrics:L,mediaPlayerModel:w,errHandler:h,requestModifier:(0,Se.Z)(R).getInstance(),settings:i.settings,boxParser:i.boxParser,eventBus:A,events:u.Z,errors:X,dashConstants:i.dashConstants,urlUtils:i.urlUtils,streamId:U()}),debug:Y,eventBus:A,events:u.Z}),E[te]=ue),ue},reset:function(){A.off(n.Z.FRAGMENT_LOADING_COMPLETED,ce,this),A.off(n.Z.FRAGMENT_LOADING_PROGRESS,ce,this),Z()}},l=Y.getLogger(r),Z(),A.on(n.Z.FRAGMENT_LOADING_COMPLETED,ce,r),A.on(n.Z.FRAGMENT_LOADING_PROGRESS,ce,r),r}$r.__dashjs_factory_name="FragmentController";var Ai=_.Z.getClassFactory($r),Ii=function i(){(function(r,l){if(!(r instanceof l))throw new TypeError("Cannot call a class as a function")})(this,i),this.url=null,this.width=null,this.height=null,this.x=null,this.y=null},ei=function i(){(function(r,l){if(!(r instanceof l))throw new TypeError("Cannot call a class as a function")})(this,i),this.mediaType=null,this.bitrate=null,this.width=null,this.height=null,this.scanType=null,this.qualityIndex=NaN};function ti(i){var r,l,E=this.context,R=i.streamInfo;function A(w){l.setTrackByIndex(w)}function h(){l&&l.reset()}return r={getStreamId:function(){return R.id},initialize:function(){l.addTracks();var w=l.getTracks();w&&w.length>0&&A(0)},provide:function(w,L){if(typeof L=="function"){var Y,B,N=l.getCurrentTrack();if(!N||N.segmentDuration<=0||w==null)L(null);else{(B=l.getThumbnailRequestForTime(w))&&(N.segmentDuration=B.duration),Y=w%N.segmentDuration;var U=Math.floor(Y*N.tilesHor*N.tilesVert/N.segmentDuration),Z=new Ii;if(Z.width=Math.floor(N.widthPerTile),Z.height=Math.floor(N.heightPerTile),Z.x=Math.floor(U%N.tilesHor)*N.widthPerTile,Z.y=Math.floor(U/N.tilesHor)*N.heightPerTile,"readThumbnail"in N)return N.readThumbnail(w,function(te){Z.url=te,L(Z)});if(B)Z.url=B.url,N.segmentDuration=NaN;else{var ce=Math.floor(w/N.segmentDuration);Z.url=function(te,ue){var de=ue+te.startNumber,G=(0,o.vi)(te.templateUrl,"Number",de);return G=(0,o.vi)(G,"Time",(de-1)*te.segmentDuration*te.timescale),G=(0,o.vi)(G,"Bandwidth",te.bandwidth),(0,o.eR)(G)}(N,ce)}L(Z)}}},setTrackByIndex:A,getCurrentTrackIndex:function(){return l.getCurrentTrackIndex()},getBitrateList:function(){var w=l.getTracks(),L=0;return w.map(function(Y){var B=new ei;return B.mediaType=t.Z.IMAGE,B.qualityIndex=L++,B.bitrate=Y.bitrate,B.width=Y.width,B.height=Y.height,B})},reset:h},h(),l=(0,Lt.Z)(E).create({streamInfo:R,adapter:i.adapter,baseURLController:i.baseURLController,timelineConverter:i.timelineConverter,debug:i.debug,eventBus:i.eventBus,events:i.events,dashConstants:i.dashConstants,dashMetrics:i.dashMetrics,segmentBaseController:i.segmentBaseController}),r}ti.__dashjs_factory_name="ThumbnailController";var Ri=_.Z.getClassFactory(ti),Yr=P(7417);function ni(i){var r;i=i||{};var l=[],E=(0,p.Z)(this.context).getInstance(),R=i.updateEventName,A=i.addBlacklistEventName;function h(w){l.indexOf(w)===-1&&(l.push(w),E.trigger(R,{entry:w}))}return r={add:h,contains:function(w){return!!(l.length&&w&&w.length)&&l.indexOf(w)!==-1},reset:function(){l=[]}},A&&E.on(A,function(w){h(w.entry)},r),r}ni.__dashjs_factory_name="BlackListController";var Lr=_.Z.getClassFactory(ni),wi=[t.Z.VIDEO,t.Z.AUDIO,t.Z.TEXT,t.Z.MUXED,t.Z.IMAGE];function Nn(i){i=i||{};var r,l,E,R,A,h,w,L,Y,B,N,U,Z,ce,te,ue,de,G,ie=this.context,j=(0,p.Z)(ie).getInstance(),le=(0,ze.Z)(ie).getInstance(),g=i.manifestModel,M=i.mediaPlayerModel,C=i.dashMetrics,D=i.manifestUpdater,b=i.adapter,ne=i.timelineConverter,z=i.capabilities,oe=i.errHandler,Q=i.abrController,x=i.playbackController,J=i.eventController,he=i.mediaController,Ne=i.protectionController,Te=i.textController,Ce=i.videoModel,Ie=i.streamInfo,et=i.settings;function nt(ut,Dt){return new Promise(function(xt,kt){gt(),B=!0,qt();var jt=Ce.getElement(),Ge=[];wi.forEach(function(Re){(Re!==t.Z.TEXT||ut)&&(Re!==t.Z.VIDEO||!jt||jt&&/^VIDEO$/i.test(jt.nodeName))&&Ge.push(We(Re,ut))}),Promise.all(Ge).then(function(){return Re=Dt,new Promise(function(rt){var fe={},pe=E.map(function(Ve){return Ve.createBufferSinks(Re)});Promise.all(pe).then(function(Ve){Ve.forEach(function(St){St&&(fe[St.getType()]=St)}),rt(fe)}).catch(function(){rt(fe)})});var Re}).then(function(Re){if(B=!1,E.length===0){var rt="No streams to play.";oe.error(new re.Z(X.MANIFEST_ERROR_ID_NOSTREAMS_CODE,rt,g.getValue())),l.fatal(rt)}else Gt();ut&&Te.createTracks(Ie),xt(Re)}).catch(function(Re){kt(Re)})})}function We(ut,Dt){var xt,kt=b.getAllMediaInfoForType(Ie,ut),jt=[],Ge=null;if(!kt||kt.length===0)return l.info("No "+ut+" data."),Promise.resolve();ut===t.Z.VIDEO&&(w=!0),ut===t.Z.AUDIO&&(L=!0);for(var Re=0,rt=kt.length;Re<rt;Re++)Ge=kt[Re],ut===t.Z.TEXT&&Ge.isEmbedded&&(Te.addEmbeddedTrack(Ie,Ge),jt.push(Ge)),Xe(Ge)&&he.addTrack(Ge);if(jt.length>0&&(he.setInitialMediaSettingsForType(ut,Ie),Te.addMediaInfosToBuffer(Ie,ut,jt)),kt=kt.filter(function(pe){return!pe.isEmbedded}),kt.length===0)return Promise.resolve();if(ut===t.Z.IMAGE)return(U=Ri(ie).create({streamInfo:Ie,adapter:b,baseURLController:i.baseURLController,timelineConverter:i.timelineConverter,debug:ue,eventBus:j,events:u.Z,dashConstants:e.Z,dashMetrics:i.dashMetrics,segmentBaseController:i.segmentBaseController})).initialize(),Promise.resolve();j.trigger(u.Z.STREAM_INITIALIZING,{streamInfo:Ie,mediaInfo:Ge}),he.setInitialMediaSettingsForType(ut,Ie);var fe=function(pe,Ve){var St=pe&&pe.length>0?pe[0]:null,Nt=N.getModel(St?St.type:null),ln=St?St.type:null,bn=St?St.mimeType:null,Zn=St?St.isFragmented:null,Sn=Ut(ie).create({streamInfo:Ie,type:ln,mimeType:bn,timelineConverter:ne,adapter:b,manifestModel:g,mediaPlayerModel:M,fragmentModel:Nt,dashMetrics:i.dashMetrics,baseURLController:i.baseURLController,segmentBaseController:i.segmentBaseController,abrController:Q,playbackController:x,mediaController:he,textController:Te,errHandler:oe,settings:et,boxParser:te,segmentBlacklistController:Z});Sn.initialize(Ve,w,Zn),E.push(Sn);for(var Jn=0;Jn<pe.length;Jn++)Sn.addMediaInfo(pe[Jn]);return ln===t.Z.TEXT&&Te.addMediaInfosToBuffer(Ie,ln,pe,Nt),Sn}(kt,Dt);return(xt=he.getCurrentTrackFor(ut,Ie.id))?(Q.updateTopQualityIndex(xt),fe.selectMediaInfo(ut===t.Z.TEXT&&xt.isEmbedded?kt[0]:xt)):Promise.resolve()}function Xe(ut){var Dt,xt=ut?ut.type:null;return xt===t.Z.MUXED?(Dt="Multiplexed representations are intentionally not supported, as they are not compliant with the DASH-AVC/264 guidelines",l.fatal(Dt),oe.error(new re.Z(X.MANIFEST_ERROR_ID_MULTIPLEXED_CODE,Dt,g.getValue())),!1):!(xt!==t.Z.TEXT&&xt!==t.Z.IMAGE&&ut.contentProtection&&!z.supportsEncryptedMedia()&&(oe.error(new re.Z(X.CAPABILITY_MEDIAKEYS_ERROR_CODE,X.CAPABILITY_MEDIAKEYS_ERROR_MESSAGE)),1))}function Mt(ut){for(var Dt=E?E.length:0,xt=0;xt<Dt;xt++){var kt=E[xt].getFragmentModel();kt.abortRequests(),kt.resetInitialSettings(),E[xt].reset(!1,ut)}Te&&Te.deactivateStream(Ie),E=[],A=!1,h=!1,Kt(!1),Fe(!1),j.trigger(u.Z.STREAM_DEACTIVATED,{streamInfo:Ie})}function Ee(ut){Mt(ut),R=!1,w=!1,L=!1,Y={},B=!1,de=!1,G=[]}function Fe(ut){de=ut}function lt(){return Ie?Ie.start:NaN}function qe(){return Ie?Ie.id:null}function ht(){return Ie}function gt(){if(!Ce||!Q)throw new Error(t.Z.MISSING_CONFIG_ERROR)}function st(ut){ut.error&&(oe.error(ut.error),l.fatal(ut.error.message))}function qt(){if(J){var ut=b.getEventsFor(Ie);ut&&ut.length>0&&J.addInlineEvents(ut,Ie.id)}}function Gt(){for(var ut=E.length,Dt=Y.audio||Y.video?new re.Z(X.DATA_UPDATE_FAILED_ERROR_CODE,X.DATA_UPDATE_FAILED_ERROR_MESSAGE):null,xt=0;xt<ut;xt++)if(E[xt].isUpdating()||B)return;if(Ne){Ne.clearMediaInfoArray();for(var kt=0;kt<ut&&E[kt];kt++){var jt=E[kt].getType(),Ge=E[kt].getMediaInfo();if(jt===t.Z.AUDIO||jt===t.Z.VIDEO||jt===t.Z.TEXT&&Ge.isFragmented){var Re=E[kt].getMediaInfo();Re&&Ne.initializeForMedia(Re)}}Ne.handleKeySystemFromManifest()}Dt?oe.error(Dt):R||(R=!0,Ce.waitForReadyState(t.Z.VIDEO_ELEMENT_READY_STATES.HAVE_METADATA,function(){j.trigger(u.Z.STREAM_INITIALIZED,{streamInfo:Ie})}))}function an(){var ut=vt(),Dt=ut.length;if(Dt!==0){for(var xt=0;xt<Dt;xt++)if(!ut[xt].isBufferingCompleted()&&(ut[xt].getType()===t.Z.AUDIO||ut[xt].getType()===t.Z.VIDEO))return void l.debug("onBufferingCompleted - One streamProcessor has finished but",ut[xt].getType(),"one is not buffering completed");l.debug("onBufferingCompleted - trigger STREAM_BUFFERING_COMPLETED"),h=!0,j.trigger(u.Z.STREAM_BUFFERING_COMPLETED,{streamInfo:Ie},{streamInfo:Ie})}else l.warn("onBufferingCompleted - can't trigger STREAM_BUFFERING_COMPLETED because no streamProcessor is defined")}function un(ut){Y[ut.mediaType]=ut.error,Gt()}function Be(ut){J&&J.addInbandEvents(ut.events,Ie.id)}function ft(ut){return ut&&ut.type?$e(ut.type):null}function $e(ut){return ut?vt().filter(function(Dt){return Dt.getType()===ut})[0]:null}function vt(){for(var ut,Dt,xt=[],kt=0;kt<E.length;kt++)(ut=(Dt=E[kt]).getType())!==t.Z.AUDIO&&ut!==t.Z.VIDEO&&ut!==t.Z.TEXT||xt.push(Dt);return xt}function wt(ut,Dt){var xt=ht(),kt=Dt.getStreamInfo();if(!kt||!xt)return!0;var jt=b.getAdaptationForType(kt.index,ut,kt),Ge=b.getAdaptationForType(xt.index,ut,xt);return jt&&Ge?!(!Ht(Ge)&&Ht(jt)):!jt&&!Ge}function Ht(ut){return!!ut&&!!(ut.ContentProtection||ut.Representation_asArray&&ut.Representation_asArray.length>0&&ut.Representation_asArray[0].ContentProtection)}function Yt(ut,Dt){var xt=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null;if(!ut||!ut.hasOwnProperty("getStreamInfo"))return!1;var kt=ut.getStreamInfo(),jt=xt?xt.getStreamInfo():ht();if(!kt||!jt)return!1;var Ge=b.getAdaptationForType(kt.index,Dt,kt),Re=b.getAdaptationForType(jt.index,Dt,jt);if(!Ge||!Re)return!Ge&&!Re;var rt=Ge&&Re&&Ge.mimeType===Re.mimeType,fe=Re.Representation_asArray.map(function(Nt){return Nt.codecs}),pe=Ge.Representation_asArray.map(function(Nt){return Nt.codecs}),Ve=pe.some(function(Nt){return fe.indexOf(Nt)>-1}),St=pe.some(function(Nt){return fe.some(function(ln){return z.codecRootCompatibleWithCodec(ln,Nt)})});return Ve||St&&rt}function Kt(ut){ce=ut}function Jt(){return ce}return r={initialize:function(){j.on(u.Z.BUFFERING_COMPLETED,an,r),j.on(u.Z.DATA_UPDATE_COMPLETED,un,r),j.on(u.Z.INBAND_EVENTS,Be,r),Ne&&(j.on(u.Z.KEY_ERROR,st,r),j.on(u.Z.SERVER_CERTIFICATE_UPDATED,st,r),j.on(u.Z.LICENSE_REQUEST_COMPLETE,st,r),j.on(u.Z.KEY_SYSTEM_SELECTED,st,r),j.on(u.Z.KEY_SESSION_CREATED,st,r),j.on(u.Z.KEY_STATUSES_CHANGED,st,r)),Te.initializeForStream(Ie),j.trigger(u.Z.STREAM_UPDATED,{streamInfo:Ie})},getStreamId:function(){return Ie?Ie.id:null},activate:function(ut,Dt){return new Promise(function(xt,kt){if(!A)return Jt()?(A=!0,j.trigger(u.Z.STREAM_ACTIVATED,{streamInfo:Ie}),void xt(Dt)):void function(jt,Ge){return nt(jt,Ge)}(ut,Dt).then(function(jt){A=!0,j.trigger(u.Z.STREAM_ACTIVATED,{streamInfo:Ie}),xt(jt)}).catch(function(jt){kt(jt)});xt(Dt)})},deactivate:Mt,getIsActive:function(){return A},getDuration:function(){return Ie?Ie.duration:NaN},getStartTime:lt,getId:qe,getStreamInfo:ht,getHasAudioTrack:function(){return L},getHasVideoTrack:function(){return w},startPreloading:function(ut,Dt){return new Promise(function(xt,kt){Jt()?kt():(l.info("[startPreloading] Preloading next stream with id ".concat(qe())),Kt(!0),nt(ut,Dt).then(function(){for(var jt=0;jt<E.length&&E[jt];jt++)E[jt].setExplicitBufferingTime(lt()),E[jt].getScheduleController().startScheduleTimer();xt()}).catch(function(){Kt(!1),kt()}))})},initializeForTextWithMediaSource:function(ut){return new Promise(function(Dt,xt){We(t.Z.TEXT,ut).then(function(){return(kt=$e(t.Z.TEXT))?kt.createBufferSinks():Promise.resolve();var kt}).then(function(){Te.createTracks(Ie),Dt()}).catch(function(kt){xt(kt)})})},getThumbnailController:function(){return U},getBitrateListFor:function(ut){if(gt(),ut===t.Z.IMAGE)return U?U.getBitrateList():[];var Dt=function(xt){for(var kt=null,jt=0;jt<E.length;jt++)if((kt=E[jt]).getType()===xt)return kt.getMediaInfo();return null}(ut);return Q.getBitrateList(Dt)},updateData:function(ut){return new Promise(function(Dt){B=!0,Ie=ut,J&&qt();for(var xt=[],kt=0,jt=E.length;kt<jt;kt++){var Ge=E[kt],Re=Ge.getMediaInfo();xt.push(Ge.updateStreamInfo(Ie));var rt=b.getAllMediaInfoForType(Ie,Ge.getType());if(rt=rt.filter(function(Ve){return!Ve.isEmbedded})){Ge.clearMediaInfoArray();for(var fe=0;fe<rt.length;fe++){var pe=rt[fe];Ge.addMediaInfo(rt[fe]),b.areMediaInfosEqual(Re,pe)&&(Q.updateTopQualityIndex(pe),xt.push(Ge.selectMediaInfo(pe)))}}}Promise.all(xt).then(function(){for(xt=[];G.length>0;){var Ve=G.pop(),St=Ve.newMediaInfo,Nt=ft(Ve.oldMediaInfo);if(!Nt)return;xt.push(Nt.prepareTrackSwitch()),xt.push(Nt.selectMediaInfo(St))}return Promise.all(xt)}).then(function(){B=!1,Gt(),j.trigger(u.Z.STREAM_UPDATED,{streamInfo:Ie}),Dt()})})},reset:function(ut){N&&(N.reset(),N=null),Q&&Ie&&Q.clearDataForStream(Ie.id),Z&&(Z.reset(),Z=null),Ee(ut),Ie=null,j.off(u.Z.DATA_UPDATE_COMPLETED,un,r),j.off(u.Z.BUFFERING_COMPLETED,an,r),j.off(u.Z.INBAND_EVENTS,Be,r),Ne&&(j.off(u.Z.KEY_ERROR,st,r),j.off(u.Z.SERVER_CERTIFICATE_UPDATED,st,r),j.off(u.Z.LICENSE_REQUEST_COMPLETE,st,r),j.off(u.Z.KEY_SYSTEM_SELECTED,st,r),j.off(u.Z.KEY_SESSION_CREATED,st,r),j.off(u.Z.KEY_STATUSES_CHANGED,st,r))},getProcessors:vt,setMediaSource:function(ut){return new Promise(function(Dt,xt){for(var kt=[],jt=0;jt<E.length;)Xe(E[jt].getMediaInfo())?(kt.push(E[jt].setMediaSource(ut)),jt++):(E[jt].reset(),E.splice(jt,1));Promise.all(kt).then(function(){for(var Ge=0;Ge<E.length;Ge++)E[Ge].dischargePreBuffer();if(E.length===0){var Re="No streams to play.";oe.error(new re.Z(X.MANIFEST_ERROR_ID_NOSTREAMS_CODE,Re+"nostreams",g.getValue())),l.fatal(Re)}Dt()}).catch(function(Ge){l.error(Ge),xt(Ge)})})},isMediaCodecCompatible:function(ut){var Dt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return Yt(ut,t.Z.VIDEO,Dt)&&Yt(ut,t.Z.AUDIO,Dt)},isProtectionCompatible:function(ut){return!ut||wt(t.Z.VIDEO,ut)&&wt(t.Z.AUDIO,ut)},getPreloaded:Jt,getIsEndedEventSignaled:function(){return de},setIsEndedEventSignaled:Fe,getAdapter:function(){return b},getHasFinishedBuffering:function(){return h},setPreloaded:Kt,startScheduleControllers:function(){for(var ut=E.length,Dt=0;Dt<ut&&E[Dt];Dt++)E[Dt].getScheduleController().startScheduleTimer()},prepareTrackChange:function(ut){if(A&&Ie){h=!1;var Dt=ut.newMediaInfo,xt=g.getValue();b.setCurrentMediaInfo(Ie.id,Dt.type,Dt);var kt=ft(Dt);if(kt){var jt=x.getTime();l.info("Stream -  Process track changed at current time "+jt),xt.refreshManifestOnSwitchTrack?(G.push(ut),D.getIsUpdating()||(l.debug("Stream -  Refreshing manifest for switch track"),D.refreshManifest())):kt.selectMediaInfo(Dt).then(function(){Dt.type!==t.Z.VIDEO&&Dt.type!==t.Z.AUDIO||Q.updateTopQualityIndex(Dt),kt.prepareTrackSwitch()})}}},prepareQualityChange:function(ut){var Dt=$e(ut.mediaType);Dt&&Dt.prepareQualityChange(ut)}},function(){try{ue=(0,m.Z)(ie).getInstance(),l=ue.getLogger(r),Ee(),te=(0,Yr.Z)(ie).getInstance(),Z=Lr(ie).create({updateEventName:u.Z.SEGMENT_LOCATION_BLACKLIST_CHANGED,addBlacklistEventName:u.Z.SEGMENT_LOCATION_BLACKLIST_ADD}),N=Ai(ie).create({streamInfo:Ie,mediaPlayerModel:M,dashMetrics:C,errHandler:oe,settings:et,boxParser:te,dashConstants:e.Z,urlUtils:le})}catch(ut){throw ut}}(),r}Nn.__dashjs_factory_name="Stream";var Tr=_.Z.getClassFactory(Nn),Fr=function i(r){(function(l,E){if(!(l instanceof E))throw new TypeError("Cannot call a class as a function")})(this,i),this.url=r||null,this.type=Le.w.CONTENT_STEERING_TYPE,this.responseType="json"},Sr=function i(){(function(r,l){if(!(r instanceof l))throw new TypeError("Cannot call a class as a function")})(this,i),this.version=null,this.ttl=300,this.reloadUri=null,this.pathwayPriority=[],this.pathwayClones=[]};function ri(){var i,r,l,E,R,A,h,w,L,Y,B,N,U,Z,ce,te=this.context,ue=(0,ze.Z)(te).getInstance();function de(Q){g(Q,"baseUrl")}function G(Q){g(Q,"location")}function ie(Q){if(Q&&Q.request&&Q.request.serviceLocation&&Q.request.requestStartDate&&Q.request.requestEndDate&&!isNaN(Q.request.bytesTotal)){var x=Q.request.serviceLocation,J=Q.request.requestEndDate.getTime()-Q.request.requestStartDate.getTime();le(x,parseInt(8*Q.request.bytesTotal/J*1e3))}}function j(Q){Q&&Q.httpRequest&&Q.httpRequest._serviceLocation&&!isNaN(Q.throughput)&&le(Q.httpRequest._serviceLocation,1e3*Q.throughput)}function le(Q,x){R[Q]||(R[Q]=[]),R[Q].push(x),R[Q].length>4&&R[Q].shift()}function g(Q,x){if(Q&&Q.request&&Q.request.serviceLocation){var J=Q.request.serviceLocation;E[x].all.indexOf(J)===-1&&E[x].all.push(J),E[x].current=J}}function M(){var Q=B.getValue(),x=ce.getContentSteering(Q);return x||(x=U.getServiceDescriptionSettings().contentSteering),x}function C(){return new Promise(function(Q){try{var x=M();if(!x||!x.serverUrl)return void Q();var J=function(Ne){var Te=Ne.serverUrl;l&&l.reloadUri&&(Te=ue.isRelative(l.reloadUri)?ue.resolve(l.reloadUri,Ne.serverUrl):l.reloadUri);var Ce=[],Ie=E.baseUrl.all.concat(E.location.all);if(Ie.length>0){var et=Ie.map(function(Xe){var Mt=function(Ee){if(!Ee||!R[Ee]||R[Ee].length===0)return-1;var Fe=R[Ee].reduce(function(lt,qe){return lt+qe})/R[Ee].length;return parseInt(Fe)}(Xe);return{serviceLocation:Xe,throughput:Mt}});et.sort(function(Xe,Mt){return Mt.throughput-Xe.throughput});var nt="",We="";et.forEach(function(Xe,Mt){Mt!==0&&(nt="".concat(nt,","),Xe.throughput>-1&&(We="".concat(We,","))),nt="".concat(nt).concat(Xe.serviceLocation),Xe.throughput>-1&&(We="".concat(We).concat(Xe.throughput))}),Ce.push({key:"_DASH_pathway",value:'"'.concat(nt,'"')}),Ce.push({key:"_DASH_throughput",value:We})}return Te=pt.Z.addAditionalQueryParameterToUrl(Te,Ce)}(x),he=new Fr(J);h.load({request:he,success:function(Ne){(function(Te){Te&&Te[e.Z.CONTENT_STEERING_RESPONSE.VERSION]&&parseInt(Te[e.Z.CONTENT_STEERING_RESPONSE.VERSION])===1&&((l=new Sr).version=Te[e.Z.CONTENT_STEERING_RESPONSE.VERSION],Te[e.Z.CONTENT_STEERING_RESPONSE.TTL]&&!isNaN(Te[e.Z.CONTENT_STEERING_RESPONSE.TTL])&&(l.ttl=Te[e.Z.CONTENT_STEERING_RESPONSE.TTL]),Te[e.Z.CONTENT_STEERING_RESPONSE.RELOAD_URI]&&(l.reloadUri=Te[e.Z.CONTENT_STEERING_RESPONSE.RELOAD_URI]),Te[e.Z.CONTENT_STEERING_RESPONSE.PATHWAY_PRIORITY]&&(l.pathwayPriority=Te[e.Z.CONTENT_STEERING_RESPONSE.PATHWAY_PRIORITY]),Te[e.Z.CONTENT_STEERING_RESPONSE.PATHWAY_CLONES]&&(l.pathwayClones=Te[e.Z.CONTENT_STEERING_RESPONSE.PATHWAY_CLONES],l.pathwayClones=l.pathwayClones.filter(function(Ce){return function(Ie){return Ie[e.Z.CONTENT_STEERING_RESPONSE.BASE_ID]&&Ie[e.Z.CONTENT_STEERING_RESPONSE.ID]&&Ie[e.Z.CONTENT_STEERING_RESPONSE.URI_REPLACEMENT]&&Ie[e.Z.CONTENT_STEERING_RESPONSE.URI_REPLACEMENT][e.Z.CONTENT_STEERING_RESPONSE.HOST]}(Ce)})),ne())})(Ne),Z.trigger(n.Z.CONTENT_STEERING_REQUEST_COMPLETED,{currentSteeringResponseData:l,url:J}),Q()},error:function(Ne,Te,Ce,Ie){(function(et,nt){try{switch(r.warn("Error fetching data from content steering server",et),nt.status){case 410:break;case 429:var We=nt&&nt.getResponseHeader?nt.getResponseHeader("retry-after"):null;We!==null&&(l||(l={}),l.ttl=parseInt(We)),ne();break;default:ne()}}catch(Xe){r.error(Xe)}})(Ne,Ie),Q(Ne)},complete:function(){E.baseUrl.all=D(E.baseUrl),E.location.all=D(E.location)}})}catch(Ne){Q(Ne)}})}function D(Q){return Q.all&&Q.all.length!==0&&Q.current?Q.all.filter(function(x){return x===Q.current}):[]}function b(Q){try{var x=[];return Q&&Q.length!==0&&l&&l.pathwayClones&&l.pathwayClones.length!==0&&l.pathwayClones.forEach(function(J){var he=Q.filter(function(et){return J[e.Z.CONTENT_STEERING_RESPONSE.BASE_ID]===et.serviceLocation}),Ne=null;if(he&&he.length>0&&(Ne=he[0]),Ne){var Te=new URL(Ne.url),Ce=J[e.Z.CONTENT_STEERING_RESPONSE.URI_REPLACEMENT][e.Z.CONTENT_STEERING_RESPONSE.HOST];Ce=pt.Z.stringHasProtocol(Ce)?Ce:"".concat(Te.protocol,"//").concat(Ce);var Ie={synthesizedUrl:"".concat(Ce).concat(Te.pathname),serviceLocation:J[e.Z.CONTENT_STEERING_RESPONSE.ID],queryParams:J[e.Z.CONTENT_STEERING_RESPONSE.URI_REPLACEMENT][e.Z.CONTENT_STEERING_RESPONSE.PARAMS],reference:Ne};x.push(Ie)}}),x}catch(J){return r.error(J),[]}}function ne(){l&&l.ttl&&!isNaN(l.ttl)&&(A&&clearTimeout(A),A=setTimeout(function(){C()},1e3*l.ttl))}function z(){A&&clearTimeout(A),A=null}function oe(){l=null,R={},E={baseUrl:{current:null,all:[]},location:{current:null,all:[]}},z()}return i={reset:function(){oe(),Z.off(n.Z.FRAGMENT_LOADING_STARTED,de,i),Z.off(n.Z.MANIFEST_LOADING_STARTED,G,i),Z.off(n.Z.MANIFEST_LOADING_FINISHED,ie,i),Z.off(n.Z.THROUGHPUT_MEASUREMENT_STORED,j,i)},setConfig:function(Q){Q&&(Q.adapter&&(ce=Q.adapter),Q.errHandler&&(w=Q.errHandler),Q.dashMetrics&&(L=Q.dashMetrics),Q.mediaPlayerModel&&(Y=Q.mediaPlayerModel),Q.requestModifier&&(N=Q.requestModifier),Q.manifestModel&&(B=Q.manifestModel),Q.serviceDescriptionController&&(U=Q.serviceDescriptionController),Q.eventBus&&(Z=Q.eventBus))},loadSteeringData:C,getCurrentSteeringResponseData:function(){return l},shouldQueryBeforeStart:function(){var Q=M();return!!Q&&Q.queryBeforeStart},getSteeringDataFromManifest:M,stopSteeringRequestTimer:z,getSynthesizedBaseUrlElements:function(Q){try{return b(Q).map(function(x){var J=new rr(x.synthesizedUrl,x.serviceLocation);return J.queryParams=x.queryParams,J.dvbPriority=x.reference.dvbPriority,J.dvbWeight=x.reference.dvbWeight,J.availabilityTimeOffset=x.reference.availabilityTimeOffset,J.availabilityTimeComplete=x.reference.availabilityTimeComplete,J})}catch(x){return r.error(x),[]}},getSynthesizedLocationElements:function(Q){try{return b(Q).map(function(x){var J=new Wt(x.synthesizedUrl,x.serviceLocation);return J.queryParams=x.queryParams,J})}catch(x){return r.error(x),[]}},initialize:function(){h=Wn(te).create({errHandler:w,dashMetrics:L,mediaPlayerModel:Y,requestModifier:N,errors:X}),Z.on(n.Z.FRAGMENT_LOADING_STARTED,de,i),Z.on(n.Z.MANIFEST_LOADING_STARTED,G,i),Z.on(n.Z.MANIFEST_LOADING_FINISHED,ie,i),Z.on(n.Z.THROUGHPUT_MEASUREMENT_STORED,j,i)}},r=(0,m.Z)(te).getInstance().getLogger(i),oe(),i}ri.__dashjs_factory_name="ContentSteeringController";var or=_.Z.getSingletonFactory(ri);function ii(){var i,r,l,E=this.context,R=(0,Ae.Z)(E).getInstance();return i={select:function(A){if(!A||A.length===0)return null;var h=null;return R.get().streaming.applyContentSteering&&(h=function(w){var L=l.getCurrentSteeringResponseData();return L&&L.pathwayPriority&&L.pathwayPriority.length>0?function(){for(var Y=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],B=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],N=0,U=null,Z=function(){var ce=Y[N],te=B.findIndex(function(ue){return ue.serviceLocation&&ue.serviceLocation===ce});if(te!==-1&&!r.contains(B[te].serviceLocation))return U=B[te],"break";N+=1};N<Y.length&&Z()!=="break";);return U}(L.pathwayPriority,w):null}(A)),h||(h=function(w){return w[0]}(A)),h},setConfig:function(A){A.blacklistController&&(r=A.blacklistController),A.contentSteeringController&&(l=A.contentSteeringController)},reset:function(){r.reset()}},r=Lr(E).create({updateEventName:u.Z.SERVICE_LOCATION_LOCATION_BLACKLIST_CHANGED,addBlacklistEventName:u.Z.SERVICE_LOCATION_LOCATION_BLACKLIST_ADD}),l=or(E).getInstance(),i}ii.__dashjs_factory_name="LocationSelector";var yr=_.Z.getClassFactory(ii);function ai(){var i,r,l,E,R,A,h,w,L,Y,B,N,U,Z,ce=this.context,te=(0,p.Z)(ce).getInstance(),ue=(0,ze.Z)(ce).getInstance();function de(){l=NaN,h=!1,R=!0,A=!1,G()}function G(){E!==null&&(clearTimeout(E),E=null)}function ie(z){G(),A||(isNaN(z)&&!isNaN(l)&&(z=1e3*l),isNaN(z)||(r.debug("Refresh manifest in "+z+" milliseconds."),E=setTimeout(M,z)))}function j(){var z=arguments.length>0&&arguments[0]!==void 0&&arguments[0];h=!0;var oe=L.getValue(),Q=oe.url,x=null,J=B.getPatchLocation(oe),he=Y.select(J),Ne=null;if(he&&!z)Q=he.url,x=he.serviceLocation,Ne=he.queryParams;else{var Te=le(oe),Ce=Y.select(Te);Ce&&(Q=Ce.url,x=Ce.serviceLocation,Ne=Ce.queryParams)}ue.isRelative(Q)&&(Q=ue.resolve(Q,oe.url)),w.load(Q,x,Ne)}function le(z){var oe=B.getLocation(z),Q=U.getSynthesizedLocationElements(oe);return oe.concat(Q)}function g(z){if(z){if(B.getIsPatch(z)){var oe=z;z=L.getValue();var Q=B.isPatchValid(z,oe),x=Q;if(Q){var J=B.getPublishTime(z);x=B.applyPatchToManifest(z,oe);var he=B.getPublishTime(z);x=J.getTime()!=he.getTime()}if(!x)return r.debug("Patch provided is invalid, performing full manifest refresh"),void j(!0);z.loadedTime=new Date}}else(z=L.getValue()).loadedTime=new Date;if(L.getValue()&&L.getValue().type===e.Z.DYNAMIC&&z.type===e.Z.STATIC)return te.trigger(u.Z.DYNAMIC_TO_STATIC),h=!1,void(A=!0);L.setValue(z);var Ne=new Date,Te=(Ne.getTime()-z.loadedTime.getTime())/1e3;1e3*(l=B.getManifestUpdatePeriod(z,Te))>2147483647&&(l=2147483647e-3),te.trigger(u.Z.MANIFEST_UPDATED,{manifest:z}),r.info("Manifest has been refreshed at "+Ne+"["+Ne.getTime()/1e3+"] "),R||ie()}function M(){R||(h?ie(Z.get().streaming.manifestUpdateRetryInterval):j())}function C(z){z.error?z.error.code===X.MANIFEST_LOADER_PARSING_FAILURE_ERROR_CODE&&N.error(z.error):g(z.manifest)}function D(){R=!1,ie()}function b(){(R=!Z.get().streaming.scheduling.scheduleWhilePaused)&&G()}function ne(){h=!1}return i={initialize:function(){de(),te.on(u.Z.STREAMS_COMPOSED,ne,this),te.on(n.Z.PLAYBACK_STARTED,D,this),te.on(n.Z.PLAYBACK_PAUSED,b,this),te.on(u.Z.INTERNAL_MANIFEST_LOADED,C,this)},setManifest:function(z){g(z)},refreshManifest:j,getIsUpdating:function(){return h},setConfig:function(z){z&&(z.manifestModel&&(L=z.manifestModel),z.adapter&&(B=z.adapter),z.manifestLoader&&(w=z.manifestLoader),z.errHandler&&(N=z.errHandler),z.locationSelector&&(Y=z.locationSelector),z.settings&&(Z=z.settings),z.contentSteeringController&&(U=z.contentSteeringController))},reset:function(){te.off(n.Z.PLAYBACK_STARTED,D,this),te.off(n.Z.PLAYBACK_PAUSED,b,this),te.off(u.Z.STREAMS_COMPOSED,ne,this),te.off(u.Z.INTERNAL_MANIFEST_LOADED,C,this),de()}},r=(0,m.Z)(ce).getInstance().getLogger(i),Y=yr(ce).create(),i}ai.__dashjs_factory_name="ManifestUpdater";var ia=_.Z.getClassFactory(ai);function Ni(){var i,r,l,E,R,A,h,w,L,Y,B,N,U,Z,ce,te,ue=this.context,de=(0,p.Z)(ue).getInstance(),G=(0,ze.Z)(ue).getInstance();function ie(){w=[],L=[],Y=null,B=null,U=null,N=NaN,l=!1,E=!1,Z=R.get().streaming.utcSynchronization.timeBetweenSyncAttempts}function j(){R.get().streaming.utcSynchronization.enabled&&!l&&!E&&U&&U.value&&U.schemeIdUri&&!isNaN(N)&&!isNaN(R.get().streaming.utcSynchronization.backgroundAttempts)&&(B&&(Date.now()-B)/1e3<30||(w=[],E=!0,le(isNaN(R.get().streaming.utcSynchronization.backgroundAttempts)?2:R.get().streaming.utcSynchronization.backgroundAttempts)))}function le(Ce){try{if(Ce<=0)return void Ne();var Ie=Date.now();A[U.schemeIdUri](U.value,function(et){var nt=Date.now(),We=M(Ie,nt,et);w.push(We),le(Ce-1)},function(){Ne()})}catch{Ne()}}function g(){var Ce=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,Ie=Ce||0;if(!L||L.length===0||Ie>=L.length)C();else{var et=L[Ie];if(et)if(A.hasOwnProperty(et.schemeIdUri)){var nt=new Date().getTime();A[et.schemeIdUri](et.value,function(We){var Xe=new Date().getTime(),Mt=M(nt,Xe,We);U=et,C(Mt)},function(){g(Ie+1)})}else g(Ie+1);else C()}}function M(Ce,Ie,et){return et-(Ie-(Ie-Ce)/2)}function C(){var Ce=arguments.length>0&&arguments[0]!==void 0?arguments[0]:NaN,Ie=isNaN(Ce);Ie&&R.get().streaming.utcSynchronization.useManifestDateHeaderTimeSource?J():he(Ie,Ce)}function D(Ce){var Ie=Date.parse(Ce);return isNaN(Ie)&&(Ie=function(et){var nt,We,Xe=/^([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2})(?::([0-9]*)(\.[0-9]*)?)?(?:([+\-])([0-9]{2})([0-9]{2}))?/.exec(et);return nt=Date.UTC(parseInt(Xe[1],10),parseInt(Xe[2],10)-1,parseInt(Xe[3],10),parseInt(Xe[4],10),parseInt(Xe[5],10),Xe[6]&&(parseInt(Xe[6],10)||0),Xe[7]&&1e3*parseFloat(Xe[7])||0),Xe[9]&&Xe[10]&&(We=60*parseInt(Xe[9],10)+parseInt(Xe[10],10),nt+=(Xe[8]==="+"?-1:1)*We*60*1e3),new Date(nt).getTime()}(Ce)),Ie}function b(Ce){return Date.parse(Ce)}function ne(Ce){return Date.parse(Ce)}function z(Ce,Ie,et){et()}function oe(Ce,Ie,et){var nt=D(Ce);isNaN(nt)?et():Ie(nt)}function Q(Ce,Ie,et,nt,We){var Xe,Mt,Ee=!1,Fe=new XMLHttpRequest,lt=We?Le.w.HEAD:Le.w.GET,qe=Ie.match(/\S+/g);if(Ie=qe.shift(),Xe=function(){Ee||(Ee=!0,qe.length?Q(Ce,qe.join(" "),et,nt,We):nt())},Mt=function(){var gt,st;Fe.status===200&&(gt=We?Fe.getResponseHeader("Date"):Fe.response,st=Ce(gt),isNaN(st)||(et(st),Ee=!0))},G.isRelative(Ie)){var ht=te.resolve();ht&&(Ie=G.resolve(Ie,ht.url))}Fe.open(lt,Ie),Fe.timeout=5e3,Fe.onload=Mt,Fe.onloadend=Xe,Fe.send()}function x(Ce,Ie,et){Q(ne,Ce,Ie,et,!0)}function J(){var Ce=h.getLatestMPDRequestHeaderValueByID("Date"),Ie=Ce!==null?new Date(Ce).getTime():Number.NaN;isNaN(Ie)?he(!0):he(!1,Ie-Date.now())}function he(Ce,Ie){if(isNaN(N)||isNaN(Ie)||Ce||function(nt){try{var We,Xe=Te(nt),Mt=isNaN(Z)?30:Z,Ee=isNaN(R.get().streaming.utcSynchronization.timeBetweenSyncAttemptsAdjustmentFactor)?2:R.get().streaming.utcSynchronization.timeBetweenSyncAttemptsAdjustmentFactor,Fe=isNaN(R.get().streaming.utcSynchronization.maximumTimeBetweenSyncAttempts)?600:R.get().streaming.utcSynchronization.maximumTimeBetweenSyncAttempts,lt=isNaN(R.get().streaming.utcSynchronization.minimumTimeBetweenSyncAttempts)?2:R.get().streaming.utcSynchronization.minimumTimeBetweenSyncAttempts;Xe?(We=Math.min(Mt*Ee,Fe),r.debug("Increasing timeBetweenSyncAttempts to ".concat(We))):(We=Math.max(Mt/Ee,lt),r.debug("Decreasing timeBetweenSyncAttempts to ".concat(We))),Z=We}catch{}}(Ie),!Ce&&!isNaN(Ie)){Y=Date.now(),l=!1;var et=isNaN(N);N=Ie,et&&j(),r.debug("Completed UTC sync. Setting client - server offset to ".concat(Ie))}Ce&&(U=null,l=!1,ce.error(new re.Z(X.TIME_SYNC_FAILED_ERROR_CODE,X.TIME_SYNC_FAILED_ERROR_MESSAGE))),de.trigger(u.Z.UPDATE_TIME_SYNC_OFFSET,{offset:Ie}),de.trigger(u.Z.TIME_SYNCHRONIZATION_COMPLETED)}function Ne(){if(w&&w.length!==0){var Ce=w.reduce(function(Ie,et){return Ie+et},0)/w.length;Te(Ce)?r.debug("Completed background UTC sync. Offset is within allowed threshold and is not adjusted."):(r.debug("Completed background UTC sync. Setting client - server offset to ".concat(Ce)),N=Ce,de.trigger(u.Z.UPDATE_TIME_SYNC_OFFSET,{offset:N})),E=!1,B=Date.now()}}function Te(Ce){try{if(isNaN(N))return!0;var Ie=R.get().streaming.utcSynchronization.maximumAllowedDrift&&!isNaN(R.get().streaming.utcSynchronization.maximumAllowedDrift)?R.get().streaming.utcSynchronization.maximumAllowedDrift:100;return Ce>=N-Ie&&Ce<=N+Ie}catch{return!0}}return i={initialize:function(){ie(),A={"urn:mpeg:dash:utc:http-head:2014":x,"urn:mpeg:dash:utc:http-xsdate:2014":Q.bind(null,D),"urn:mpeg:dash:utc:http-iso:2014":Q.bind(null,b),"urn:mpeg:dash:utc:direct:2014":oe,"urn:mpeg:dash:utc:http-head:2012":x,"urn:mpeg:dash:utc:http-xsdate:2012":Q.bind(null,D),"urn:mpeg:dash:utc:http-iso:2012":Q.bind(null,b),"urn:mpeg:dash:utc:direct:2012":oe,"urn:mpeg:dash:utc:http-ntp:2014":z,"urn:mpeg:dash:utc:ntp:2014":z,"urn:mpeg:dash:utc:sntp:2014":z}},attemptSync:function(Ce,Ie){L=Ce,l||(function(et){try{if(!et||!R.get().streaming.utcSynchronization.enabled)return!1;var nt=isNaN(Z)?30:Z;return!(Y&&nt&&!isNaN(nt))||(Date.now()-Y)/1e3>=nt}catch{return!0}}(Ie)?(l=!0,g()):de.trigger(u.Z.TIME_SYNCHRONIZATION_COMPLETED))},setConfig:function(Ce){Ce&&(Ce.dashMetrics&&(h=Ce.dashMetrics),Ce.baseURLController&&(te=Ce.baseURLController),Ce.errHandler&&(ce=Ce.errHandler),Ce.settings&&(R=Ce.settings))},reset:function(){ie(),de.off(u.Z.ATTEMPT_BACKGROUND_SYNC,j,i)}},r=(0,m.Z)(ue).getInstance().getLogger(i),de.on(u.Z.ATTEMPT_BACKGROUND_SYNC,j,i),i}Ni.__dashjs_factory_name="TimeSyncController";var Ci=_.Z.getSingletonFactory(Ni);Ci.HTTP_TIMEOUT_MS=5e3,_.Z.updateSingletonFactory(Ni.__dashjs_factory_name,Ci);var bo=Ci;function aa(){var i,r,l,E,R,A=this.context,h=(0,p.Z)(A).getInstance();return i={attachMediaSource:function(w){var L=window.URL.createObjectURL(r);return w.setSource(L),E==="managedMediaSource"&&(w.setDisableRemotePlayback(!0),r.addEventListener("startstreaming",function(){h.trigger(n.Z.MANAGED_MEDIA_SOURCE_START_STREAMING)}),r.addEventListener("endstreaming",function(){h.trigger(n.Z.MANAGED_MEDIA_SOURCE_END_STREAMING)})),L},createMediaSource:function(){var w="WebKitMediaSource"in window,L="MediaSource"in window;return"ManagedMediaSource"in window?(r=new ManagedMediaSource,E="managedMediaSource",R.info("Created ManagedMediaSource")):L?(r=new MediaSource,E="mediaSource",R.info("Created MediaSource")):w&&(r=new WebKitMediaSource,R.info("Created WebkitMediaSource")),r},detachMediaSource:function(w){w.setSource(null)},setConfig:function(w){w&&w.settings&&(l=w.settings)},setDuration:function w(L){r&&r.readyState==="open"&&(L===null&&isNaN(L)||r.duration!==L&&(L!==1/0||l.get().streaming.buffer.mediaSourceDurationInfinity||(L=Math.pow(2,32)),function(Y){for(var B=Y.sourceBuffers,N=0;N<B.length;N++)if(B[N].updating)return!0;return!1}(r)?setTimeout(w.bind(null,L),50):(R.info("Set MediaSource duration:"+L),r.duration=L)))},setSeekable:function(w,L){r&&typeof r.setLiveSeekableRange=="function"&&typeof r.clearLiveSeekableRange=="function"&&r.readyState==="open"&&w>=0&&w<L&&(r.clearLiveSeekableRange(),r.setLiveSeekableRange(w,L))},signalEndOfStream:function(w){if(w&&w.readyState==="open"){for(var L=w.sourceBuffers,Y=0;Y<L.length;Y++)if(L[Y].updating||L[Y].buffered.length===0)return;R.info("call to mediaSource endOfStream"),w.endOfStream()}}},R=(0,m.Z)(A).getInstance().getLogger(i),i}aa.__dashjs_factory_name="MediaSourceController";var Ao=_.Z.getSingletonFactory(aa);function oa(){var i,r,l,E,R,A,h,w,L,Y,B,N="urn:mpeg:dash:event:2012",U="discarded",Z="updated",ce="added",te=this.context,ue=(0,p.Z)(te).getInstance();function de(){if(!h||!w)throw new Error("setConfig function has to be called previously")}function G(){B=!1,l={},E={},R=null,Y=!1,A=Date.now()/1e3}function ie(){try{if(!Y){Y=!0;var z=w.getTime(),oe=z-A;oe=A>0?Math.max(0,oe):0,j(E,oe,z),j(l,oe,z),le(E),le(l),A=z,Y=!1}}catch(Q){Y=!1,r.error(Q)}}function j(z,oe,Q){try{D(z,function(x){if(x!==void 0){var J=isNaN(x.duration)?0:x.duration;x.calculatedPresentationTime<=Q&&x.calculatedPresentationTime+oe+J>=Q?ne(x,n.Z.EVENT_MODE_ON_START):(b(Q,J+oe,x.calculatedPresentationTime)||function(he){try{var Ne=he.eventStream.period.start+he.eventStream.period.duration;return he.calculatedPresentationTime>Ne}catch(Te){return r.error(Te),!1}}(x))&&(r.debug("Removing event ".concat(x.id," from period ").concat(x.eventStream.period.id," as it is expired or invalid")),function(he,Ne){try{var Te=Ne.eventStream.schemeIdUri,Ce=Ne.eventStream.period.id,Ie=Ne.eventStream.value,et=Ne.id;he[Ce][Te]=he[Ce][Te].filter(function(nt){return Ie&&nt.eventStream.value&&nt.eventStream.value!==Ie||nt.id!==et}),he[Ce][Te].length===0&&delete he[Ce][Te]}catch(nt){r.error(nt)}}(z,x))}})}catch(x){r.error(x)}}function le(z){try{for(var oe in z)z.hasOwnProperty(oe)&&Object.keys(z[oe]).length===0&&delete z[oe]}catch(Q){r.error(Q)}}function g(z,oe){var Q=arguments.length>2&&arguments[2]!==void 0&&arguments[2],x=z.eventStream.schemeIdUri,J=z.eventStream.value,he=z.id,Ne=U;oe[x]||(oe[x]=[]);var Te=oe[x].findIndex(function(Ie){return(!J||Ie.eventStream.value&&Ie.eventStream.value===J)&&Ie.id===he});if(Te===-1)oe[x].push(z),z.triggeredReceivedEvent=!1,z.triggeredStartEvent=!1,Ne=ce;else if(Q){var Ce=oe[x][Te];z.triggeredReceivedEvent=Ce.triggeredReceivedEvent,z.triggeredStartEvent=Ce.triggeredStartEvent,oe[x][Te]=z,Ne=Z}return Ne}function M(z){try{if(z.eventStream.value==1){var oe,Q=z.calculatedPresentationTime;oe=z.calculatedPresentationTime==4294967295?NaN:z.calculatedPresentationTime+z.duration,ue.trigger(n.Z.MANIFEST_VALIDITY_CHANGED,{id:z.id,validUntil:Q,newDuration:oe,newManifestValidAfter:NaN},{mode:n.Z.EVENT_MODE_ON_START})}}catch(x){r.error(x)}}function C(z){try{var oe=w.getTime();D(z,function(Q){var x=Q.eventStream&&Q.eventStream.period&&!isNaN(Q.eventStream.period.duration)?Q.eventStream.period.duration:NaN,J=Q.eventStream&&Q.eventStream.period&&!isNaN(Q.eventStream.period.start)?Q.eventStream.period.start:NaN;if(!isNaN(x)&&!isNaN(J)){var he=Q.calculatedPresentationTime;Math.abs(he-oe)<300&&ne(Q,n.Z.EVENT_MODE_ON_START)}})}catch(Q){r.error(Q)}}function D(z,oe){try{if(z)for(var Q=Object.keys(z),x=0;x<Q.length;x++)for(var J=z[Q[x]],he=Object.keys(J),Ne=0;Ne<he.length;Ne++)J[he[Ne]].forEach(function(Te){Te!==void 0&&oe(Te)})}catch(Te){r.error(Te)}}function b(z,oe,Q){try{return z-oe>Q}catch(x){return r.error(x),!1}}function ne(z,oe){try{var Q=w.getTime(),x=z.id;if(oe===n.Z.EVENT_MODE_ON_RECEIVE&&!z.triggeredReceivedEvent)return r.debug("Received event ".concat(x)),z.triggeredReceivedEvent=!0,void ue.trigger(z.eventStream.schemeIdUri,{event:z},{mode:oe});z.triggeredStartEvent||(z.eventStream.schemeIdUri===N&&z.eventStream.value==1?z.duration===0&&z.presentationTimeDelta===0||(r.debug("Starting manifest refresh event ".concat(x," at ").concat(Q)),function(){try{de(),h.refreshManifest()}catch(J){r.error(J)}}()):z.eventStream.schemeIdUri==="urn:mpeg:dash:event:callback:2015"&&z.eventStream.value==1?(r.debug("Starting callback event ".concat(x," at ").concat(Q)),function(J){try{(0,Ft.Z)(te).create({}).load({method:"get",url:J,request:{responseType:"arraybuffer"}})}catch(he){r.error(he)}}(z.messageData)):(r.debug("Starting event ".concat(x," from period ").concat(z.eventStream.period.id," at ").concat(Q)),ue.trigger(z.eventStream.schemeIdUri,{event:z},{mode:oe})),z.triggeredStartEvent=!0)}catch(J){r.error(J)}}return i={addInlineEvents:function(z,oe){try{if(de(),l[oe]||(l[oe]={}),z)for(var Q=0;Q<z.length;Q++){var x=z[Q];if(!b(w.getTime(),isNaN(x.duration)?0:x.duration,x.calculatedPresentationTime)){var J=g(x,l[oe],!0);J===ce?(r.debug("Added inline event with id ".concat(x.id," from period ").concat(oe)),ne(x,n.Z.EVENT_MODE_ON_RECEIVE)):J===Z&&r.debug("Updated inline event with id ".concat(x.id," from period ").concat(oe))}}}catch(he){throw he}},addInbandEvents:function(z,oe){try{de(),E[oe]||(E[oe]={});for(var Q=0;Q<z.length;Q++){var x=z[Q];b(w.getTime(),isNaN(x.duration)?0:x.duration,x.calculatedPresentationTime)||(g(x,E[oe],!1)===ce?(x.eventStream.schemeIdUri===N&&M(x),r.debug("Added inband event with id ".concat(x.id," from period ").concat(oe)),ne(x,n.Z.EVENT_MODE_ON_RECEIVE)):r.debug("Inband event with scheme_id_uri ".concat(x.eventStream.schemeIdUri,", value ").concat(x.eventStream.value,", period id ").concat(oe," and event id ").concat(x.id," was ignored because it has been added before.")))}ie()}catch(J){throw J}},getInbandEvents:function(){return E},getInlineEvents:function(){return l},start:function(){try{de(),r.debug("Start Event Controller");var z=L.get().streaming.eventControllerRefreshDelay;B||isNaN(z)||(B=!0,R=setInterval(ie,z))}catch(oe){throw oe}},setConfig:function(z){try{if(!z)return;z.manifestUpdater&&(h=z.manifestUpdater),z.playbackController&&(w=z.playbackController),z.settings&&(L=z.settings)}catch(oe){throw oe}},reset:function(){(function(){try{R!==null&&B&&(clearInterval(R),R=null,B=!1,function(){try{C(E),C(l)}catch(z){r.error(z)}}())}catch(z){throw z}})(),G()}},r=(0,m.Z)(te).getInstance().getLogger(i),G(),i}oa.__dashjs_factory_name="EventController";var Io=_.Z.getSingletonFactory(oa),xr={LEVELS:{SUGGESTION:"Suggestion",WARNING:"Warning",ERROR:"Error"},EVENTS:{NO_UTC_TIMING_ELEMENT:{key:"NO_UTC_TIMING_ELEMENT",message:"No UTCTiming element is present in the manifest. You may experience playback failures. For a detailed validation use https://conformance.dashif.org/"},NON_COMPLIANT_SMPTE_IMAGE_ATTRIBUTE:{key:"NON_COMPLIANT_SMPTE_IMAGE_ATTRIBUTE",message:'SMPTE 2052-1:2013 defines the attribute name as "imageType" and does not define "imagetype"'},INVALID_DVR_WINDOW:{key:"INVALID_DVR_WINDOW",message:"No valid segment found when applying a specification compliant DVR window calculation. Using SegmentTimeline entries as a fallback."}}};function Di(i,r){(r==null||r>i.length)&&(r=i.length);for(var l=0,E=new Array(r);l<r;l++)E[l]=i[l];return E}function sa(){var i,r,l,E,R,A,h,w,L,Y,B,N,U,Z,ce,te,ue,de,G,ie,j,le,g,M,C,D,b,ne,z,oe,Q,x,J,he,Ne,Te,Ce,Ie,et,nt,We,Xe,Mt,Ee,Fe,lt,qe,ht,gt=this.context,st=(0,p.Z)(gt).getInstance();function qt(){if(!(A&&A.hasOwnProperty("load")&&j&&j.hasOwnProperty("initialize")&&j.hasOwnProperty("reset")&&j.hasOwnProperty("getClientTimeOffset")&&h&&ie&&L&&J))throw new Error(t.Z.MISSING_CONFIG_ERROR)}function Gt(){if(!R||!R.hasOwnProperty("setManifest"))throw new Error("initialize function has to be called previously")}function an(){(function(){try{var Ke=w.getStreamsInfo();if(!g&&Ke.length===0)throw new Error("There are no periods in the MPD");g&&Ke.length>0&&L.updateManifestUpdateInfo({currentTime:J.getTime(),buffered:x.getBufferRange(),presentationStartTime:Ke[0].start,clientTimeOffset:j.getClientTimeOffset()}),le.length>0&&function(mn){mn.length!==0?le=le.filter(function(cn){var Mn=mn.filter(function(In){return In.id===cn.getId()}).length>0||cn.getId()===g.getId();return Mn||(r.debug("Removing stream ".concat(cn.getId())),cn.reset(!0)),Mn}):r.warn("No periods included in the current manifest. Skipping the filtering of outdated stream objects.")}(Ke);for(var Rt=[],Qt=0,on=Ke.length;Qt<on;Qt++){var hn=Ke[Qt];Rt.push(Be(hn)),L.addManifestUpdateStreamInfo(hn)}Promise.all(Rt).then(function(){return new Promise(function(mn,cn){g?mn():ft(Ke,mn,cn)})}).then(function(){st.trigger(u.Z.STREAMS_COMPOSED),Nt()}).catch(function(mn){throw mn})}catch(mn){ie.error(new re.Z(X.MANIFEST_ERROR_ID_NOSTREAMS_CODE,mn.message+" nostreamscomposed",h.getValue())),oe=!0,_r()}})()}function un(){Fe=!0}function Be(Ke){var Rt=Kr(Ke.id);return Rt?Rt.updateData(Ke):(Rt=Tr(gt).create({manifestModel:h,mediaPlayerModel:Ne,dashMetrics:L,manifestUpdater:R,adapter:w,timelineConverter:j,capabilities:l,capabilitiesFilter:E,errHandler:ie,baseURLController:U,segmentBaseController:Z,textController:C,abrController:te,playbackController:J,eventController:de,mediaController:ue,protectionController:M,videoModel:x,streamInfo:Ke,settings:Ee}),le.push(Rt),Rt.initialize(),Promise.resolve())}function ft(Ke,Rt,Qt){try{jt();var on=L.getCurrentDVRInfo().range;if(on.end<on.start){lt&&clearTimeout(lt);var hn=Math.min(1e3*(-1*(on.end-on.start)+2),2147483647);return r.debug("Waiting for ".concat(hn," ms before playback can start")),st.trigger(u.Z.AST_IN_FUTURE,{delay:hn}),void(lt=setTimeout(function(){ft(Ke,Rt,Qt)},hn))}Ee.get().streaming.applyProducerReferenceTime&&he.calculateProducerReferenceTimeOffsets(Ke);var mn=Ke[0].manifestInfo;if(Ee.get().streaming.applyServiceDescription&&he.applyServiceDescription(mn),w.getIsDynamic()){var cn=br(Ke,mn);J.computeAndSetLiveDelay(cn,mn)}(Ee.get().streaming.applyContentSteering&&N.shouldQueryBeforeStart()?N.loadSteeringData():Promise.resolve()).then(function(){var Mn=h.getValue();Mn&&U.update(Mn),$e(),Rt()}).catch(function(Mn){r.error(Mn),$e(),Rt()})}catch(Mn){Qt(Mn)}}function $e(){var Ke=function(){var on;if(w.getIsDynamic()){var hn=L.getCurrentDVRInfo();on=(hn&&hn.range?hn.range.end:0)-J.getOriginalLiveDelay();var mn=hn?hn.range:null;if(mn){if(isNaN(qe)&&qe.toString().indexOf("posix:")===-1){var cn=Jn(!0);isNaN(cn)||(r.info("Start time from URI parameters: ".concat(cn)),on=Math.min(on,cn))}else{r.info("Start time provided by the app: ".concat(qe));var Mn=Gn(!0,qe);isNaN(Mn)||(on=Math.min(on,Mn))}var In=Ee.get().streaming.timeShiftBuffer.calcFromSegmentTimeline?.1:0;on=Math.max(on,mn.start+In)}}else if(on=Rr()[0].getStreamInfo().start,isNaN(qe)){var hr=Jn(!1);isNaN(hr)||(r.info("Start time from URI parameters: ".concat(hr)),on=Math.max(on,hr))}else{r.info("Start time provided by the app: ".concat(qe));var Br=Gn(!1,qe);isNaN(Br)||(on=Math.max(on,Br))}return on}(),Rt=kt(Ke),Qt=Rt!==null?Rt:le[0];st.trigger(u.Z.INITIAL_STREAM_SWITCH,{startTime:Ke}),vt(Qt,null,Ke),nt||(nt=setInterval(function(){!ne&&J.getTimeToStreamEnd()<=0&&!J.isSeeking()&&st.trigger(u.Z.PLAYBACK_ENDED,{isLast:sr().isLast})},200))}function vt(Ke,Rt,Qt){try{if(ne||!Ke||Rt===Ke&&Ke.getIsActive())return;ne=!0,st.trigger(u.Z.PERIOD_SWITCH_STARTED,{fromStreamInfo:Rt?Rt.getStreamInfo():null,toStreamInfo:Ke.getStreamInfo()});var on=!1;g=Ke,Rt&&(on=Dt(Ke,Rt),Rt.deactivate(on)),Qt=isNaN(Qt)?!on&&Rt?Ke.getStreamInfo().start:NaN:Qt,r.info("Switch to stream ".concat(Ke.getId(),". Seektime is ").concat(Qt,", current playback time is ").concat(J.getTime(),". Seamless period switch is set to ").concat(on)),Xe=Xe.filter(function(hn){return hn.getId()!==g.getId()}),J.initialize(sr(),!!Rt),x.getElement()?wt(Qt,on,!1):Ht(Qt,on)}catch{ne=!1}}function wt(Ke,Rt){var Qt,on=arguments.length>2&&arguments[2]!==void 0&&arguments[2];function hn(){if(Q&&Q.readyState==="open"){r.debug("MediaSource is open!"),window.URL.revokeObjectURL(Qt),Q.removeEventListener("sourceopen",hn),Q.removeEventListener("webkitsourceopen",hn),Sn();var cn=L.getCurrentDVRInfo();Y.setSeekable(cn.range.start,cn.range.end),on?(isNaN(Ke)||J.seek(Ke,!0,!0),g.setMediaSource(Q).then(function(){g.initializeForTextWithMediaSource(Q)})):Ht(Ke,Rt)}}function mn(){Q.addEventListener("sourceopen",hn,!1),Q.addEventListener("webkitsourceopen",hn,!1),Qt=Y.attachMediaSource(x),r.debug("MediaSource attached to element.  Waiting on open...")}Q?Rt?Ht(Ke,Rt):(Y.detachMediaSource(x),mn()):(Q=Y.createMediaSource(),mn())}function Ht(Ke,Rt){g.activate(Q,Rt?We:void 0,Ke).then(function(Qt){if(Qt){var on=Object.keys(Qt);on.length>0&&Qt[on[0]].getBuffer().changeType&&(Mt=!0),We=Qt}isNaN(Ke)||(st.trigger(u.Z.SEEK_TARGET,{time:Ke},{streamId:g.getId()}),J.seek(Ke,!1,!0),g.startScheduleControllers()),ne=!1,st.trigger(u.Z.PERIOD_SWITCH_COMPLETED,{toStreamInfo:sr()})})}function Yt(Ke){var Rt=kt(Ke.seekTime);Rt&&Rt!==g?Rt&&Rt!==g&&(Kt(),function(Qt,on){var hn=Qt&&!isNaN(Qt.seekTime)?Qt.seekTime:NaN,mn=g.getProcessors().map(function(cn){return cn.prepareOuterPeriodPlaybackSeeking(Qt)});Promise.all(mn).then(function(){vt(on,g,hn)}).catch(function(cn){ie.error(cn)})}(Ke,Rt)):(Kt(),function(Qt){g.getProcessors().forEach(function(on){return on.prepareInnerPeriodPlaybackSeeking(Qt)}),$n(be.USER_REQUEST_STOP_REASON)}(Ke)),vr(De.SEEK_START_REASON)}function Kt(){Jt()}function Jt(){Xe&&Xe.length>0&&(Xe.forEach(function(Ke){Ke.deactivate(!0)}),Xe=[])}function ut(Ke){if(Ke.newMediaInfo.streamInfo.id===g.getId()){if(Jt(),Ee.get().streaming.buffer.resetSourceBuffersForTrackSwitch&&Ke.oldMediaInfo&&Ke.oldMediaInfo.codec!==Ke.newMediaInfo.codec){var Rt=J.getTime();return g.deactivate(!1),void wt(Rt,!1,!1)}g.prepareTrackChange(Ke)}}function Dt(Ke,Rt){try{return Ee.get().streaming.buffer.reuseExistingSourceBuffers&&(Rt.isProtectionCompatible(Ke)||Fe)&&(Mt&&Ee.get().streaming.buffer.useChangeTypeForTrackSwitch||Rt.isMediaCodecCompatible(Ke,Rt))}catch{return!1}}function xt(Ke){var Rt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;if(Q&&!Ke.getPreloaded()){var Qt=Dt(Ke,Rt);Qt&&Ke.startPreloading(Q,We).then(function(){Xe.push(Ke)})}}function kt(Ke){if(isNaN(Ke))return null;for(var Rt=le.length,Qt=0;Qt<Rt;Qt++){var on=le[Qt];if(Ke<parseFloat((on.getStartTime()+on.getDuration()).toFixed(5)))return on}return null}function jt(){try{var Ke=w.getIsDynamic(),Rt=w.getStreamsInfo()[0].manifestInfo,Qt=J.getTime(),on=j.calcTimeShiftBufferWindow(le,Ke),hn=bn();if(on.start===void 0||on.end===void 0)return;hn&&hn.length!==0?hn.forEach(function(mn){L.addDVRInfo(mn.getType(),Qt,Rt,on)}):L.addDVRInfo(t.Z.VIDEO,Qt,Rt,on)}catch{}}function Ge(Ke){if(Ie&&b){var Rt=Ne.getInitialBufferLevel(),Qt=[t.Z.TEXT];(isNaN(Rt)||Rt<=J.getBufferLevel(Qt)||w.getIsDynamic()&&Rt>J.getLiveDelay())&&(Ie=!1,vr(De.INITIAL_PLAYOUT_START_REASON),J.play())}Ke&&Ke.mediaType&&L.addBufferLevel(Ke.mediaType,new Date,1e3*Ke.bufferLevel)}function Re(Ke){Ke.streamInfo.id===g.getId()&&Ke.reason&&Ke.reason.forceReplace&&Jt(),Kr(Ke.streamInfo.id).prepareQualityChange(Ke)}function rt(){if(w.getIsDynamic()&&J.getOriginalLiveDelay()!==0&&g){var Ke=w.getStreamsInfo();if(Ke.length>0){var Rt=Ke[0].manifestInfo,Qt=br(Ke,Rt);J.computeAndSetLiveDelay(Qt,Rt)}}}function fe(){if(fr()){var Ke=x.getPlaybackQuality();Ke&&L.addDroppedFrames(Ke)}}function pe(){r.debug("[onPlaybackStarted]"),!Ie&&Ce&&vr(De.RESUME_FROM_PAUSE_START_REASON),Ie&&(Ie=!1),et&&(et=!1,Ee.get().streaming.applyContentSteering&&!N.shouldQueryBeforeStart()&&N.loadSteeringData()),Ce=!1}function Ve(Ke){r.debug("[onPlaybackPaused]"),Ke.ended||(Ce=!0,$n(be.USER_REQUEST_STOP_REASON))}function St(Ke){r.debug("Stream with id ".concat(Ke.streamInfo.id," finished buffering"));var Rt=Ke.streamInfo.isLast;Q&&Rt?(r.info("[onStreamBufferingCompleted] calls signalEndOfStream of mediaSourceController."),Y.signalEndOfStream(Q)):Nt()}function Nt(){if(g&&g.getHasFinishedBuffering())for(var Ke=function(){var hn=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null;try{var mn=hn||g||null;if(mn){var cn=mn.getStreamInfo();return le.filter(function(Mn){var In=Mn.getStreamInfo();return In.start>cn.start&&cn.id!==In.id})}}catch{return[]}}(g),Rt=0;Rt<Ke.length;){var Qt=Ke[Rt],on=Rt===0?g:Ke[Rt-1];!Qt.getPreloaded()&&on.getHasFinishedBuffering()&&Q&&xt(Qt,on),Rt+=1}}function ln(){nt&&(clearInterval(nt),nt=null)}function bn(){return g?g.getProcessors():[]}function Zn(Ke){if(g&&!g.getIsEndedEventSignaled()){g.setIsEndedEventSignaled(!0);var Rt=function(){var Qt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,on=Qt||g||null;if(!on)return null;for(var hn=on.getStreamInfo(),mn=hn.start,cn=0,Mn=-1,In=NaN;cn<le.length;){var hr=le[cn].getStreamInfo(),Br=hr.start-mn;Br>0&&(isNaN(In)||Br<In)&&hn.id!==hr.id&&(In=Br,Mn=cn),cn+=1}return Mn>=0?le[Mn]:null}();Rt?(r.debug("StreamController onEnded, found next stream with id ".concat(Rt.getStreamInfo().id,". Switching from ").concat(g.getStreamInfo().id," to ").concat(Rt.getStreamInfo().id)),vt(Rt,g,NaN)):(r.debug("StreamController no next stream found"),g.setIsEndedEventSignaled(!1)),$n(Rt?be.END_OF_PERIOD_STOP_REASON:be.END_OF_CONTENT_STOP_REASON)}Ke&&Ke.isLast&&(ln(),N.stopSteeringRequestTimer())}function Sn(Ke){var Rt=Ke||sr().manifestInfo.duration;Y.setDuration(Rt)}function Jn(Ke){var Rt=ce.getURIFragmentData();if(!Rt||!Rt.t)return NaN;var Qt=Rr()[0].getStreamInfo().start;return Rt.t=Rt.t.split(",")[0],Er(Ke,Rt.t,Qt)}function Gn(Ke,Rt){var Qt=0;return Ke||(Qt=Rr()[0].getStreamInfo().start),Er(Ke,Rt,Qt)}function Er(Ke,Rt,Qt){var on=w.getRegularPeriods()[0],hn=Rt.toString(),mn=hn.indexOf("posix:")!==-1?hn.substring(6)==="now"?Date.now()/1e3:parseFloat(hn.substring(6)):NaN;return Ke&&!isNaN(mn)?j.calcPresentationTimeFromWallTime(new Date(1e3*mn),on):parseFloat(hn)+Qt}function br(Ke,Rt){try{var Qt=NaN;if(Rt&&!isNaN(Rt.maxFragmentDuration)&&isFinite(Rt.maxFragmentDuration))return Rt.maxFragmentDuration;if(Ke&&Ke.length===1){var on=Ke[0],hn=[t.Z.VIDEO,t.Z.AUDIO,t.Z.TEXT].reduce(function(cn,Mn){var In=w.getMediaInfoForType(on,Mn);return In&&In.isFragmented!==!1&&cn.push(In),cn},[]).reduce(function(cn,Mn){var In=w.getVoRepresentations(Mn);return In&&In.length>0&&In.forEach(function(hr){hr&&cn.push(hr)}),cn},[]).reduce(function(cn,Mn){var In=w.convertRepresentationToRepresentationInfo(Mn);return In&&In.fragmentDuration&&!isNaN(In.fragmentDuration)&&cn.push(In.fragmentDuration),cn},[]);Qt=Math.max.apply(Math,function(cn){if(Array.isArray(cn))return Di(cn)}(mn=hn)||function(cn){if(typeof Symbol<"u"&&Symbol.iterator in Object(cn))return Array.from(cn)}(mn)||function(cn,Mn){if(cn){if(typeof cn=="string")return Di(cn,Mn);var In=Object.prototype.toString.call(cn).slice(8,-1);return In==="Object"&&cn.constructor&&(In=cn.constructor.name),In==="Map"||In==="Set"?Array.from(cn):In==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(In)?Di(cn,Mn):void 0}}(mn)||function(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
+In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}())}return isFinite(Qt)?Qt:NaN}catch{return NaN}var mn}function Ar(Ke){if(Ke.error)oe=!0,_r();else{r.info("Manifest updated... updating data system wide.");var Rt=Ke.manifest;w.updatePeriods(Rt);var Qt=w.getUTCTimingSources();!w.getIsDynamic()||Qt&&Qt.length!==0||st.trigger(n.Z.CONFORMANCE_VIOLATION,{level:xr.LEVELS.WARNING,event:xr.EVENTS.NO_UTC_TIMING_ELEMENT});var on=w.getIsDynamic()?Qt.concat(Te.getUTCTimingSources()):Qt;E.filterUnsupportedFeatures(Rt).then(function(){U.initialize(Rt),B.attemptSync(on,w.getIsDynamic())})}}function fr(){return!!g&&g.getHasVideoTrack()}function gr(){return!!g&&g.getHasAudioTrack()}function $n(Ke,Rt){Rt=Rt||new Date,bn().forEach(function(Qt){Qt.finalisePlayList(Rt,Ke)}),L.addPlayList()}function vr(Ke){L.createPlaylistMetrics(1e3*J.getTime(),Ke)}function Ir(Ke){if(Ke.error){var Rt="";switch(Ke.error.code){case 1:Rt="MEDIA_ERR_ABORTED";break;case 2:Rt="MEDIA_ERR_NETWORK";break;case 3:Rt="MEDIA_ERR_DECODE",ht.counts.mediaErrorDecode+=1;break;case 4:Rt="MEDIA_ERR_SRC_NOT_SUPPORTED";break;case 5:Rt="MEDIA_ERR_ENCRYPTED";break;default:Rt="UNKNOWN"}Rt==="MEDIA_ERR_DECODE"&&Ee.get().errors.recoverAttempts.mediaErrorDecode>=ht.counts.mediaErrorDecode?function(){r.warn("A MEDIA_ERR_DECODE occured: Resetting the MediaSource");var Qt=J.getTime();g.deactivate(!1),r.warn("MediaSource has been resetted. Resuming playback from time ".concat(Qt)),wt(Qt,!1,!1)}():(z=!0,Ke.error.message&&(Rt+=" ("+Ke.error.message+")"),Ke.error.msExtendedCode&&(Rt+=" (0x"+(Ke.error.msExtendedCode>>>0).toString(16).toUpperCase()+")"),r.fatal("Video Element Error: "+Rt),Ke.error&&r.fatal(Ke.error),ie.error(new re.Z(Ke.error.code,Rt)),_r())}}function sr(){return g?g.getStreamInfo():null}function Kr(Ke){for(var Rt=0,Qt=le.length;Rt<Qt;Rt++)if(le[Rt].getId()===Ke)return le[Rt];return null}function _i(Ke){isNaN(Ke.newDuration)||Sn(Ke.newDuration)}function Ti(){le=[],qe=NaN,M=null,ne=!1,g=null,z=!1,oe=!1,Ie=!0,et=!0,Ce=!1,b=!0,nt=null,Fe=!1,Mt=!1,Xe=[],lt=null,ht={counts:{mediaErrorDecode:0}}}function _r(){qt(),B.reset(),$n(z||oe?be.FAILURE_STOP_REASON:be.USER_REQUEST_STOP_REASON);for(var Ke=0,Rt=le?le.length:0;Ke<Rt;Ke++)le[Ke].reset(z);st.off(n.Z.PLAYBACK_TIME_UPDATED,fe,i),st.off(n.Z.PLAYBACK_SEEKING,Yt,i),st.off(n.Z.PLAYBACK_ERROR,Ir,i),st.off(n.Z.PLAYBACK_STARTED,pe,i),st.off(n.Z.PLAYBACK_PAUSED,Ve,i),st.off(n.Z.PLAYBACK_ENDED,Zn,i),st.off(n.Z.METRIC_ADDED,Si,i),st.off(n.Z.MANIFEST_VALIDITY_CHANGED,_i,i),st.off(n.Z.BUFFER_LEVEL_UPDATED,Ge,i),st.off(n.Z.QUALITY_CHANGE_REQUESTED,Re,i),u.Z.KEY_SESSION_UPDATED&&st.off(u.Z.KEY_SESSION_UPDATED,un,i),st.off(u.Z.MANIFEST_UPDATED,Ar,i),st.off(u.Z.STREAM_BUFFERING_COMPLETED,St,i),st.off(u.Z.TIME_SYNCHRONIZATION_COMPLETED,an,i),st.off(u.Z.CURRENT_TRACK_CHANGED,ut,i),st.off(u.Z.SETTING_UPDATED_LIVE_DELAY,rt,i),st.off(u.Z.SETTING_UPDATED_LIVE_DELAY_FRAGMENT_COUNT,rt,i),U.reset(),R.reset(),de.reset(),L.clearAllCurrentMetrics(),h.setValue(null),A.reset(),j.reset(),G.reset(),Q&&(Y.detachMediaSource(x),Q=null),x=null,M&&(M=null,D=null,h.getValue()&&st.trigger(u.Z.PROTECTION_DESTROYED,{data:h.getValue().url})),ln(),st.trigger(u.Z.STREAM_TEARDOWN_COMPLETE),Ti()}function Si(Ke){if(Ke.metric===y.Z.DVR_INFO){var Rt=gr()?t.Z.AUDIO:t.Z.VIDEO;Ke.mediaType===Rt&&Y.setSeekable(Ke.value.range.start,Ke.value.range.end)}}function Rr(){return le}return i={initialize:function(Ke,Rt){qt(),b=Ke,D=Rt,j.initialize(),(R=ia(gt).create()).setConfig({manifestModel:h,adapter:w,manifestLoader:A,errHandler:ie,settings:Ee,contentSteeringController:N}),R.initialize(),(de=Io(gt).getInstance()).setConfig({manifestUpdater:R,playbackController:J,settings:Ee}),de.start(),B.setConfig({dashMetrics:L,baseURLController:U,errHandler:ie,settings:Ee}),B.initialize(),Y.setConfig({settings:Ee}),M&&(st.trigger(u.Z.PROTECTION_CREATED,{controller:M}),M.setMediaElement(x.getElement()),D&&M.setProtectionData(D)),st.on(n.Z.PLAYBACK_TIME_UPDATED,fe,i),st.on(n.Z.PLAYBACK_SEEKING,Yt,i),st.on(n.Z.PLAYBACK_ERROR,Ir,i),st.on(n.Z.PLAYBACK_STARTED,pe,i),st.on(n.Z.PLAYBACK_PAUSED,Ve,i),st.on(n.Z.PLAYBACK_ENDED,Zn,i),st.on(n.Z.METRIC_ADDED,Si,i),st.on(n.Z.MANIFEST_VALIDITY_CHANGED,_i,i),st.on(n.Z.BUFFER_LEVEL_UPDATED,Ge,i),st.on(n.Z.QUALITY_CHANGE_REQUESTED,Re,i),u.Z.KEY_SESSION_UPDATED&&st.on(u.Z.KEY_SESSION_UPDATED,un,i),st.on(u.Z.MANIFEST_UPDATED,Ar,i),st.on(u.Z.STREAM_BUFFERING_COMPLETED,St,i),st.on(u.Z.TIME_SYNCHRONIZATION_COMPLETED,an,i),st.on(u.Z.CURRENT_TRACK_CHANGED,ut,i),st.on(u.Z.SETTING_UPDATED_LIVE_DELAY,rt,i),st.on(u.Z.SETTING_UPDATED_LIVE_DELAY_FRAGMENT_COUNT,rt,i)},getActiveStreamInfo:sr,addDVRMetric:jt,hasVideoTrack:fr,hasAudioTrack:gr,getStreamById:Kr,getStreamForTime:kt,getTimeRelativeToStreamId:function(Ke,Rt){for(var Qt=null,on=0,hn=0,mn=null,cn=0;cn<le.length;cn++){if(hn=(Qt=le[cn]).getStartTime(),mn=Qt.getDuration(),Number.isFinite(hn)&&(on=hn),Qt.getId()===Rt)return Ke-on;Number.isFinite(mn)&&(on+=mn)}return null},load:function(Ke){var Rt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:NaN;qt(),qe=Rt,A.load(Ke)},loadWithManifest:function(Ke){var Rt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:NaN;Gt(),qe=Rt,R.setManifest(Ke)},getActiveStreamProcessors:bn,setConfig:function(Ke){Ke&&(Ke.capabilities&&(l=Ke.capabilities),Ke.capabilitiesFilter&&(E=Ke.capabilitiesFilter),Ke.manifestLoader&&(A=Ke.manifestLoader),Ke.manifestModel&&(h=Ke.manifestModel),Ke.mediaPlayerModel&&(Ne=Ke.mediaPlayerModel),Ke.customParametersModel&&(Te=Ke.customParametersModel),Ke.protectionController&&(M=Ke.protectionController),Ke.adapter&&(w=Ke.adapter),Ke.dashMetrics&&(L=Ke.dashMetrics),Ke.errHandler&&(ie=Ke.errHandler),Ke.timelineConverter&&(j=Ke.timelineConverter),Ke.videoModel&&(x=Ke.videoModel),Ke.playbackController&&(J=Ke.playbackController),Ke.serviceDescriptionController&&(he=Ke.serviceDescriptionController),Ke.contentSteeringController&&(N=Ke.contentSteeringController),Ke.textController&&(C=Ke.textController),Ke.abrController&&(te=Ke.abrController),Ke.mediaController&&(ue=Ke.mediaController),Ke.settings&&(Ee=Ke.settings),Ke.baseURLController&&(U=Ke.baseURLController),Ke.uriFragmentModel&&(ce=Ke.uriFragmentModel),Ke.segmentBaseController&&(Z=Ke.segmentBaseController),Ke.manifestUpdater&&(R=Ke.manifestUpdater))},setProtectionData:function(Ke){D=Ke,M&&M.setProtectionData(D)},getIsStreamSwitchInProgress:function(){return ne},switchToVideoElement:function(Ke){g&&(J.initialize(sr()),wt(Ke,!1,!0))},getHasMediaOrInitialisationError:function(){return z||oe},getStreams:Rr,getActiveStream:function(){return g},getInitialPlayback:function(){return Ie},getAutoPlay:function(){return b},refreshManifest:function(){R.getIsUpdating()||R.refreshManifest()},reset:_r},r=(0,m.Z)(gt).getInstance().getLogger(i),B=bo(gt).getInstance(),Y=Ao(gt).getInstance(),G=ve(gt).getInstance(),Ti(),i}sa.__dashjs_factory_name="StreamController";var ua=_.Z.getSingletonFactory(sa);function la(){var i,r,l,E,R,A,h,w,L,Y,B,N,U=this.context,Z=(0,p.Z)(U).getInstance();function ce(){N.debug("Stopping the gap controller"),R&&(clearInterval(R),R=null),function(){Z.off(u.Z.WALLCLOCK_TIME_UPDATED,ie,this),Z.off(u.Z.INITIAL_STREAM_SWITCH,G,this),Z.off(u.Z.PLAYBACK_SEEKING,te,this),Z.off(u.Z.BUFFER_REPLACEMENT_STARTED,ue,i),Z.off(u.Z.TRACK_CHANGE_RENDERED,de,i)}(),R=null,A=NaN,E=0,Y=null,B={}}function te(){Y&&(clearTimeout(Y),Y=null)}function ue(D){try{if(D.streamId!==w.getActiveStreamInfo().id||D.mediaType!==t.Z.VIDEO&&D.mediaType!==t.Z.AUDIO)return;D.streamId===w.getActiveStreamInfo().id&&(B[D.mediaType]=!0)}catch(b){N.error(b)}}function de(D){D&&D.mediaType&&(B[D.mediaType]=!1)}function G(){R||function(){try{R||(N.debug("Starting the gap controller"),R=setInterval(function(){j()&&C(h.getTime())},100))}catch{}}()}function ie(){if(j(l.get().streaming.gaps.enableSeekFix)&&++E>=10){var D=h.getTime();r===D?C(D,!0):(r=D,A=NaN),E=0}}function j(){var D=arguments.length>0&&arguments[0]!==void 0&&arguments[0];if(!w.getActiveStream())return!1;var b=Object.keys(B).some(function(z){return B[z]}),ne=!!D&&le();return!b&&l.get().streaming.gaps.jumpGaps&&w.getActiveStreamProcessors().length>0&&(!h.isSeeking()||ne)&&!h.isPaused()&&!w.getIsStreamSwitchInProgress()&&!w.getHasMediaOrInitialisationError()}function le(){var D=w.getActiveStream(),b=parseFloat((D.getStartTime()+D.getDuration()).toFixed(5));return h.getTime()+l.get().streaming.gaps.threshold>=b}function g(D,b){try{if(!D||D.length<=1&&b>0)return NaN;for(var ne=NaN,z=0;isNaN(ne)&&z<D.length;){var oe=z>0?D.end(z-1):0;b<D.start(z)&&oe-b<l.get().streaming.gaps.threshold&&(ne=z),z+=1}return ne}catch{return null}}function M(D,b){for(var ne=0,z=D.length;ne<z;ne++)if(b>=D.start(ne)&&b<=D.end(ne))return!0;return!1}function C(D){var b,ne=arguments.length>1&&arguments[1]!==void 0&&arguments[1],z=l.get().streaming.gaps.enableStallFix,oe=l.get().streaming.gaps.stallSeek,Q=l.get().streaming.gaps.smallGapLimit,x=l.get().streaming.gaps.jumpLargeGaps,J=L.getBufferRange(),he=NaN,Ne=!1;if(b=g(J,D),!isNaN(b)){var Te=J.start(b),Ce=Te-D;Ce>0&&(Ce<=Q||x)&&(he=Te)}var Ie=h.getTimeToStreamEnd();if(isNaN(he)&&ne&&isFinite(Ie)&&!isNaN(Ie)&&Ie<Q&&(he=parseFloat(h.getStreamEndTime().toFixed(5)),Ne=!0),z&&isNaN(he)&&ne&&isNaN(b)&&M(J,D)&&(oe===0?(N.warn("Toggle play pause to break stall"),L.pause(),L.play()):(N.warn("Jumping ".concat(oe,"s to break stall")),he=D+oe)),he>0&&A!==he&&he>D&&!Y){var et=he-D;if(Ne){var nt=w.getStreamForTime(he),We=nt&&!!nt.getPreloaded();N.warn("Jumping to end of stream because of gap from ".concat(D," to ").concat(he,". Gap duration: ").concat(et)),h.seek(he,!0,We)}else{var Xe=h.getIsDynamic(),Mt=b>0?J.end(b-1):D,Ee=Xe?1e3*Math.max(0,et-.1):0;Y=window.setTimeout(function(){h.seek(he,!0,!0),N.warn("Jumping gap occuring in period ".concat(w.getActiveStream().getStreamId()," starting at ").concat(Mt," and ending at ").concat(he,". Jumping by: ").concat(he-Mt)),Y=null},Ee)}A=he}}return i={reset:ce,setConfig:function(D){D&&(D.settings&&(l=D.settings),D.playbackController&&(h=D.playbackController),D.streamController&&(w=D.streamController),D.videoModel&&(L=D.videoModel))},initialize:function(){(function(){Z.on(u.Z.WALLCLOCK_TIME_UPDATED,ie,this),Z.on(u.Z.INITIAL_STREAM_SWITCH,G,this),Z.on(u.Z.PLAYBACK_SEEKING,te,this),Z.on(u.Z.BUFFER_REPLACEMENT_STARTED,ue,i),Z.on(u.Z.TRACK_CHANGE_RENDERED,de,i)})()}},N=(0,m.Z)(U).getInstance().getLogger(i),ce(),i}la.__dashjs_factory_name="GapController";var Ro=_.Z.getSingletonFactory(la);function ca(){var i,r,l,E,R,A,h,w,L,Y,B=this.context,N=(0,p.Z)(B).getInstance();function U(){r=!1;var le=pt.Z.parseUserAgent();l=le&&le.browser&&le.browser.name&&le.browser.name.toLowerCase()==="safari"}function Z(){r=!1}function ce(le){if(le.streamId===A.getActiveStreamInfo().id&&L){var g=h.getLiveDelay();h.getBufferLevel()>g/2&&(L=!1)}}function te(le){le.streamId===A.getActiveStreamInfo().id&&(L=le.state===y.Z.BUFFER_EMPTY)}function ue(){w.getCatchupModeEnabled()||E.setPlaybackRate(1)}function de(){h.getIsDynamic()&&w.getCatchupModeEnabled()&&(w.getCatchupPlaybackRates().max>0||w.getCatchupPlaybackRates().min<0)&&!h.isPaused()&&!h.isSeeking()&&function(){try{return!(!h.getTime()>0||r)&&(ie()===t.Z.LIVE_CATCHUP_MODE_LOLP?function(le,g){try{return Math.abs(G())>0||le<g}catch{return!1}}(h.getBufferLevel(),R.get().streaming.liveCatchup.playbackBufferMin):function(){try{return Math.abs(G())>0}catch{return!1}}())}catch{return!1}}()&&function(){if(!r&&E){var le,g=E.getPlaybackRate(),M=w.getCatchupPlaybackRates(),C=h.getBufferLevel(),D=G(),b=w.getCatchupMaxDrift();if(!isNaN(b)&&b>0&&D>b)Y.info("[CatchupController]: Low Latency catchup mechanism. Latency too high, doing a seek to live point"),r=!0,h.seekToCurrentLive(!0,!1);else{var ne=h.getCurrentLiveLatency(),z=h.getLiveDelay();le=ie()===t.Z.LIVE_CATCHUP_MODE_LOLP?function(Q,x,J,he,Ne){var Te;if(Ne<he){var Ce=Math.abs(Q.min),Ie=5*(Ne-he);Te=1-Ce+2*Ce/(1+Math.pow(Math.E,-Ie)),Y.debug("[LoL+ playback control_buffer-based] bufferLevel: "+Ne+", newRate: "+Te)}else{if(Math.abs(x-J)<=.02*J)Te=1;else{var et=x-J,nt=et<0?Math.abs(Q.min):Q.max,We=5*et;Te=1-nt+2*nt/(1+Math.pow(Math.E,-We))}Y.debug("[LoL+ playback control_latency-based] latency: "+x+", newRate: "+Te)}return Te}(M,ne,z,R.get().streaming.liveCatchup.playbackBufferMin,C):function(Q,x,J,he){if(L)return 1;var Ne=x-J,Te=Ne<0?Math.abs(Q.min):Q.max,Ce=5*Ne,Ie=1-Te+2*Te/(1+Math.pow(Math.E,-Ce));return h.getPlaybackStalled()&&he<=J/2&&Ne>0&&(Ie=1),Ie}(M,ne,z,C);var oe=l?.25:.02/(.5/M.max);le&&Math.abs(g-le)>=oe&&(Y.debug("[CatchupController]: Setting playback rate to ".concat(le)),E.setPlaybackRate(le))}}}()}function G(){return h.getCurrentLiveLatency()-h.getLiveDelay()}function ie(){var le=R.get().streaming.liveCatchup.playbackBufferMin;return R.get().streaming.liveCatchup.mode!==t.Z.LIVE_CATCHUP_MODE_LOLP||le===null||isNaN(le)?t.Z.LIVE_CATCHUP_MODE_DEFAULT:t.Z.LIVE_CATCHUP_MODE_LOLP}function j(){w.getCatchupPlaybackRates(!0)}return i={reset:function(){N.off(n.Z.BUFFER_LEVEL_UPDATED,ce,i),N.off(n.Z.BUFFER_LEVEL_STATE_CHANGED,te,i),N.off(n.Z.PLAYBACK_PROGRESS,de,i),N.off(n.Z.PLAYBACK_TIME_UPDATED,de,i),N.off(n.Z.PLAYBACK_SEEKED,Z,i),N.off(u.Z.SETTING_UPDATED_CATCHUP_ENABLED,ue,i),N.off(u.Z.SETTING_UPDATED_PLAYBACK_RATE_MIN,j,i),N.off(u.Z.SETTING_UPDATED_PLAYBACK_RATE_MAX,j,i),N.off(n.Z.STREAM_INITIALIZED,j,i),U(),E.setPlaybackRate(1,!0)},setConfig:function(le){le&&(le.settings&&(R=le.settings),le.videoModel&&(E=le.videoModel),le.streamController&&(A=le.streamController),le.playbackController&&(h=le.playbackController),le.mediaPlayerModel&&(w=le.mediaPlayerModel))},initialize:function(){N.on(n.Z.BUFFER_LEVEL_UPDATED,ce,i),N.on(n.Z.BUFFER_LEVEL_STATE_CHANGED,te,i),N.on(n.Z.PLAYBACK_PROGRESS,de,i),N.on(n.Z.PLAYBACK_TIME_UPDATED,de,i),N.on(n.Z.PLAYBACK_SEEKED,Z,i),N.on(u.Z.SETTING_UPDATED_CATCHUP_ENABLED,ue,i),N.on(u.Z.SETTING_UPDATED_PLAYBACK_RATE_MIN,j,i),N.on(u.Z.SETTING_UPDATED_PLAYBACK_RATE_MAX,j,i),N.on(n.Z.STREAM_INITIALIZED,j,i),j()}},Y=(0,m.Z)(B).getInstance().getLogger(i),U(),i}ca.__dashjs_factory_name="CatchupController";var wo=_.Z.getSingletonFactory(ca),No=[t.Z.SERVICE_DESCRIPTION_DVB_LL_SCHEME],fa="video",da="audio";function ga(){var i,r,l,E,R,A=this.context;function h(){r={liveDelay:NaN,liveCatchup:{maxDrift:NaN,playbackRate:{min:NaN,max:NaN}},minBitrate:{},maxBitrate:{},initialBitrate:{},contentSteering:null},l=[]}function w(L,Y,B){try{r[L][Y]=B/1e3}catch(N){E.error(N)}}return i={getServiceDescriptionSettings:function(){return r},getProducerReferenceTimeOffsets:function(){return l},calculateProducerReferenceTimeOffsets:function(L){try{var Y=[];if(L&&L.length>0){var B=[t.Z.VIDEO,t.Z.AUDIO,t.Z.TEXT],N=R.getAvailabilityStartTime()/1e3;L.forEach(function(U){var Z=B.reduce(function(ce,te){return ce.concat(R.getAllMediaInfoForType(U,te))},[]).reduce(function(ce,te){return R.getProducerReferenceTimes(U,te).forEach(function(ue){var de=R.getVoRepresentations(te);if(de&&de.length>0&&de[0].adaptation&&de[0].segmentInfoType===e.Z.SEGMENT_TEMPLATE){var G=de[0],ie=new Date(ue[e.Z.WALL_CLOCK_TIME]).getTime()/1e3-(ue[e.Z.PRESENTATION_TIME]/G[e.Z.TIMESCALE]-G[e.Z.PRESENTATION_TIME_OFFSET]+U.start),j=N-ie;ce.push({id:ue[e.Z.ID],to:j})}}),ce},[]);Y=Y.concat(Z)})}l=Y}catch(U){E.error(U),l=[]}},applyServiceDescription:function(L){if(L&&L.serviceDescriptions){var Y=L.serviceDescriptions.filter(function(U){return No.includes(U.schemeIdUri)}),B=L.serviceDescriptions.filter(function(U){return U.schemeIdUri==null}),N=Y.length>0?Y[Y.length-1]:B[B.length-1];N&&(N.latency&&N.latency.target>0&&function(U){var Z;if(U.schemeIdUri,t.Z.SERVICE_DESCRIPTION_DVB_LL_SCHEME,Z=function(de){return{liveDelay:de.latency.target/1e3,maxDrift:!isNaN(de.latency.max)&&de.latency.max>de.latency.target?(de.latency.max-de.latency.target+500)/1e3:NaN,referenceId:de.latency.referenceId||NaN}}(U),l.length>0){var ce=function(de){var G,ie=0,j=l.filter(function(le){return le.id===de.referenceId});return j.length===0?(ie=l.length>0?l[0].to:0,G=l[0].id||NaN):(ie=j[0].to||0,G=j[0].id||NaN),{to:ie,id:G}}(Z),te=ce.to,ue=ce.id;r.liveDelay=Z.liveDelay-te,r.liveCatchup.maxDrift=Z.maxDrift,E.debug(`
+                Found latency properties coming from service description. Applied time offset of `.concat(te," from ProducerReferenceTime element with id ").concat(ue,`.
                 Live Delay: `).concat(Z.liveDelay-te,", Live catchup max drift: ").concat(Z.maxDrift,`
-            `))}else r.liveDelay=Z.liveDelay,r.liveCatchup.maxDrift=Z.maxDrift,E.debug("Found latency properties coming from service description: Live Delay: ".concat(Z.liveDelay,", Live catchup max drift: ").concat(Z.maxDrift))}(N),N.playbackRate&&function(U){var Z=U.playbackRate.min?Math.round(1e3*(U.playbackRate.min-1))/1e3:NaN,ce=U.playbackRate.max?Math.round(1e3*(U.playbackRate.max-1))/1e3:NaN;r.liveCatchup.playbackRate.min=Z,r.liveCatchup.playbackRate.max=ce,E.debug("Found latency properties coming from service description: Live catchup min playback rate: ".concat(Z)),E.debug("Found latency properties coming from service description: Live catchup max playback rate: ".concat(ce))}(N),N.operatingQuality,N.operatingBandwidth&&function(U){if(U&&U.operatingBandwidth&&U.operatingBandwidth.mediaType&&U.operatingBandwidth.mediaType!=="all"){var Z={};Z.minBandwidth=U.operatingBandwidth.min,Z.maxBandwidth=U.operatingBandwidth.max,Z.targetBandwidth=U.operatingBandwidth.target;var ce=[];U.operatingBandwidth.mediaType===fa||U.operatingBandwidth.mediaType===da?ce.push(U.operatingBandwidth.mediaType):U.operatingBandwidth.mediaType==="any"&&(ce.push(da),ce.push(fa)),ce.forEach(function(te){isNaN(Z.minBandwidth)||w("minBitrate",te,Z.minBandwidth),isNaN(Z.maxBandwidth)||w("maxBitrate",te,Z.maxBandwidth),isNaN(Z.targetBandwidth)||w("initialBitrate",te,Z.targetBandwidth)})}}(N),N.contentSteering&&function(U){r.contentSteering=U.contentSteering}(N))}},reset:function(){h()},setConfig:function(L){L&&L.adapter&&(R=L.adapter)}},E=(0,m.Z)(A).getInstance().getLogger(i),h(),i}ga.__dashjs_factory_name="ServiceDescriptionController";var Co=_.Z.getSingletonFactory(ga),Do=P(3973),oi=P.n(Do),ha=P(3039);function Oi(){var i,r,l,E,R,A,h,w,L=this.context,Y=(0,p.Z)(L).getInstance();function B(x,J){return x&&l[J]&&l[J][x]?l[J][x].list:[]}function N(x,J){return x&&l[J]&&l[J][x]?l[J][x].current:null}function U(x){var J=arguments.length>1&&arguments[1]!==void 0&&arguments[1];if(x&&x.streamInfo){var he=x.type,Ne=x.streamInfo,Te=Ne.id,Ce=N(he,Te);if(l[Te]&&l[Te][he]&&(l[Te][he].current=x,l[Te][he].current&&(he!==t.Z.TEXT&&!te(x,Ce)||he===t.Z.TEXT&&x.isFragmented)&&Y.trigger(u.Z.CURRENT_TRACK_CHANGED,{oldMediaInfo:Ce,newMediaInfo:x,switchMode:E.get().streaming.trackSwitchMode[he]},{streamId:Te}),!J)){var Ie=de(x);if(!Ie||!l[Te][he].storeLastSettings)return;Ie.roles&&(Ie.role=Ie.roles[0],delete Ie.roles),Ie.accessibility&&(Ie.accessibility=Ie.accessibility[0]),Ie.audioChannelConfiguration&&(Ie.audioChannelConfiguration=Ie.audioChannelConfiguration[0]),A[he]=Ie,w.setSavedMediaSettings(he,Ie)}}}function Z(x,J){x&&J&&(R[x]=J)}function ce(x){return x?R[x]:null}function te(x,J){if(!x&&!J)return!0;if(!x||!J)return!1;var he=x.id===J.id,Ne=x.viewpoint===J.viewpoint,Te=JSON.stringify(x.viewpointsWithSchemeIdUri)===JSON.stringify(J.viewpointsWithSchemeIdUri),Ce=x.lang===J.lang,Ie=x.codec===J.codec,et=x.roles.toString()===J.roles.toString(),nt=JSON.stringify(x.rolesWithSchemeIdUri)===JSON.stringify(J.rolesWithSchemeIdUri),We=x.accessibility.toString()===J.accessibility.toString(),Xe=JSON.stringify(x.accessibilitiesWithSchemeIdUri)===JSON.stringify(J.accessibilitiesWithSchemeIdUri),Mt=x.audioChannelConfiguration.toString()===J.audioChannelConfiguration.toString(),Ee=JSON.stringify(x.audioChannelConfigurationsWithSchemeIdUri)===JSON.stringify(J.audioChannelConfigurationsWithSchemeIdUri);return he&&Ie&&Ne&&Te&&Ce&&et&&nt&&We&&Xe&&Mt&&Ee}function se(){l={},A={},R={audio:null,video:null,text:null}}function de(x){var J={lang:x.lang,viewpoint:x.viewpoint,roles:x.roles,accessibility:x.accessibility,audioChannelConfiguration:x.audioChannelConfiguration,codec:x.codec};return J.lang||J.viewpoint||J.role&&J.role.length>0||J.accessibility&&J.accessibility.length>0||J.audioChannelConfiguration&&J.audioChannelConfiguration.length>0?J:null}function G(x,J,he){var Ne=[];return x.forEach(function(Te){J(he,Te)&&Ne.push(Te)}),Ne.length!==0?Ne:x}function ie(x,J){try{return!x.lang||x.lang instanceof RegExp?J.lang.match(x.lang):J.lang!==""&&(0,ha.extendedFilter)(J.lang,oi()(x.lang)).length>0}catch{return!1}}function j(x,J){return x.index===void 0||x.index===null||J.index===x.index}function le(x,J){return!x.viewpoint||x.viewpoint===J.viewpoint}function g(x,J){var he=arguments.length>2&&arguments[2]!==void 0&&arguments[2],Ne=!x.role||!!J.roles.filter(function(Te){return Te===x.role})[0];return Ne||J.type===t.Z.AUDIO&&he}function M(x,J){return x.accessibility?!!J.accessibility.filter(function(he){return he===x.accessibility})[0]:!J.accessibility.length}function C(x,J){return!x.audioChannelConfiguration||!!J.audioChannelConfiguration.filter(function(he){return he===x.audioChannelConfiguration})[0]}function D(x,J){return!x.codec||x.codec===J.codec}function b(x){var J,he=0,Ne=[];return x.forEach(function(Te){(J=Math.max.apply(Math,Te.bitrateList.map(function(Ce){return Ce.bandwidth})))>he?(he=J,Ne=[Te]):J===he&&Ne.push(Te)}),Ne}function ne(x){var J,he=1/0,Ne=[];return x.forEach(function(Te){var Ce=Te.bitrateList.reduce(function(Ie,et){var nt=Math.max(1,et.width*et.height);return Ie+et.bandwidth/nt},0);(J=Ce/Te.bitrateList.length)<he?(he=J,Ne=[Te]):J===he&&Ne.push(Te)}),Ne}function z(x){var J,he=0,Ne=[];return x.forEach(function(Te){(J=Te.representationCount)>he?(he=J,Ne=[Te]):J===he&&Ne.push(Te)}),Ne}function oe(x,J){if(x===t.Z.TEXT)return J[0];var he,Ne=E.get().streaming.selectionModeForInitialTrack,Te=h.getCustomInitialTrackSelectionFunction();if(Te&&typeof Te=="function")he=Te(J);else switch(Ne){case t.Z.TRACK_SELECTION_MODE_HIGHEST_SELECTION_PRIORITY:he=function(Ce){var Ie,et,nt=(Ie=0,et=[],Ce.forEach(function(We){isNaN(We.selectionPriority)||(We.selectionPriority>Ie?(Ie=We.selectionPriority,et=[We]):We.selectionPriority===Ie&&et.push(We))}),et);return nt.length>1&&(nt=b(nt)),nt.length>1&&(nt=z(nt)),nt}(J);break;case t.Z.TRACK_SELECTION_MODE_HIGHEST_BITRATE:he=function(Ce){var Ie=b(Ce);return Ie.length>1&&(Ie=z(Ie)),Ie}(J);break;case t.Z.TRACK_SELECTION_MODE_FIRST_TRACK:he=Q(J);break;case t.Z.TRACK_SELECTION_MODE_HIGHEST_EFFICIENCY:he=function(Ce){var Ie=ne(Ce);return Ie.length>1&&(Ie=b(Ie)),Ie}(J);break;case t.Z.TRACK_SELECTION_MODE_WIDEST_RANGE:he=function(Ce){var Ie=z(Ce);return Ie.length>1&&(Ie=b(Ce)),Ie}(J);break;default:r.warn("Track selection mode ".concat(Ne," is not supported. Falling back to TRACK_SELECTION_MODE_FIRST_TRACK")),he=Q(J)}return he.length>0?he[0]:J[0]}function Q(x){return x[0]}return i={setInitialMediaSettingsForType:function(x,J){var he=A[x]||ce(x),Ne=B(x,J.id),Te=[];he||((he=w.getSavedMediaSettings(x))&&delete he.codec,Z(x,he)),Ne&&Ne.length!==0&&(he&&(Te=G(Te=Array.from(Ne),ie,he),Te=G(Te,j,he),Te=G(Te,le,he),x===t.Z.AUDIO&&A[x]||(Te=G(Te,g,he)),Te=G(Te,M,he),Te=G(Te,C,he),Te=G(Te,D,he)),Te.length===0?U(oe(x,Ne),!0):Te.length>1?U(oe(x,Te)):U(Te[0]))},addTrack:function(x){if(x){var J=x.type;if((he=J)===t.Z.AUDIO||he===t.Z.VIDEO||he===t.Z.TEXT||he===t.Z.IMAGE){var he,Ne,Te=x.streamInfo.id;l[Te]||(l[Te]={audio:{list:[],storeLastSettings:Ne=E.get().streaming.saveLastMediaSettingsForCurrentStreamingSession,current:null},video:{list:[],storeLastSettings:Ne,current:null},text:{list:[],storeLastSettings:Ne,current:null},image:{list:[],storeLastSettings:Ne,current:null}});for(var Ce=l[Te][J].list,Ie=0,et=Ce.length;Ie<et;++Ie)if(te(Ce[Ie],x))return;Ce.push(x)}}},getTracksFor:B,getCurrentTrackFor:N,isCurrentTrack:function(x){if(!x)return!1;var J=x.type,he=x.streamInfo.id;return l[he]&&l[he][J]&&te(l[he][J].current,x)},setTrack:U,selectInitialTrack:oe,setInitialSettings:Z,getInitialSettings:ce,getTracksWithHighestBitrate:b,getTracksWithHighestEfficiency:ne,getTracksWithWidestRange:z,isTracksEqual:te,matchSettings:function(x,J){var he=arguments.length>2&&arguments[2]!==void 0&&arguments[2];try{var Ne=!1;if(x.lang){if(x.lang instanceof RegExp)Ne=J.lang.match(x.lang);else if(J.lang!==""){var Te=oi()(x.lang);Te&&(Ne=(0,ha.extendedFilter)(J.lang,Te).length>0)}}else Ne=!0;var Ce=x.index===void 0||x.index===null||J.index===x.index,Ie=!x.viewpoint||x.viewpoint===J.viewpoint,et=!x.role||!!J.roles.filter(function(Xe){return Xe===x.role})[0],nt=!x.accessibility||!!J.accessibility.filter(function(Xe){return Xe===x.accessibility})[0],We=!x.audioChannelConfiguration||!!J.audioChannelConfiguration.filter(function(Xe){return Xe===x.audioChannelConfiguration})[0];return Ne&&Ce&&Ie&&(et||J.type===t.Z.AUDIO&&he)&&nt&&We}catch{return!1}},matchSettingsLang:ie,matchSettingsIndex:j,matchSettingsViewPoint:le,matchSettingsRole:g,matchSettingsAccessibility:M,matchSettingsAudioChannelConfig:C,saveTextSettingsDisabled:function(){w.setSavedMediaSettings(t.Z.TEXT,null)},setConfig:function(x){x&&(x.domStorage&&(w=x.domStorage),x.settings&&(E=x.settings),x.customParametersModel&&(h=x.customParametersModel))},reset:se},r=(0,m.Z)(L).getInstance().getLogger(i),se(),i}Oi.__dashjs_factory_name="MediaController";var ma=_.Z.getSingletonFactory(Oi);_.Z.updateSingletonFactory(Oi.__dashjs_factory_name,ma);var Oo=ma,si=NaN,pa=function i(r,l){(function(E,R){if(!(E instanceof R))throw new TypeError("Cannot call a class as a function")})(this,i),this.data={baseUrls:r||null,selectedIdx:l||si},this.children=[]};function ya(){var i,r,l,E,R=this.context,A=Ot(R).getInstance();function h(B,N,U){var Z=w(U);B[N]?A.areEqual(Z,B[N].data.baseUrls)||(B[N].data.baseUrls=Z,B[N].data.selectedIdx=si):B[N]=new pa(Z)}function w(B){var N=l.getBaseURLsFromElement(B),U=E.getSynthesizedBaseUrlElements(N);return U&&U.length>0&&(N=N.concat(U)),N}function L(B,N){var U=N||r;B(U.data),U.children&&U.children.forEach(function(Z){return L(B,Z)})}function Y(){r=new pa}return i={reset:Y,update:function(B){(function(N){(function(){if(!l||!l.hasOwnProperty("getBaseURLsFromElement")||!l.hasOwnProperty("getRepresentationSortFunction"))throw new Error("setConfig function has to be called previously")})();var U=w(N);A.areEqual(U,r.data.baseUrls)||(r.data.baseUrls=U,r.data.selectedIdx=si),N&&N.Period_asArray&&N.Period_asArray.forEach(function(Z,ce){h(r.children,ce,Z),Z.AdaptationSet_asArray&&Z.AdaptationSet_asArray.forEach(function(te,se){h(r.children[ce].children,se,te),te.Representation_asArray&&te.Representation_asArray.sort(l.getRepresentationSortFunction()).forEach(function(de,G){h(r.children[ce].children[se].children,G,de)})})})})(B)},getForPath:function(B){var N=r,U=[N.data];return B&&B.forEach(function(Z){(N=N.children[Z])&&U.push(N.data)}),U.filter(function(Z){return Z.baseUrls.length})},invalidateSelectedIndexes:function(B){L(function(N){isNaN(N.selectedIdx)||B===N.baseUrls[N.selectedIdx].serviceLocation&&(N.selectedIdx=si)})},setConfig:function(B){B.adapter&&(l=B.adapter),B.contentSteeringController&&(E=B.contentSteeringController)},getBaseUrls:function(B){return w(B)}},Y(),i}ya.__dashjs_factory_name="BaseURLTreeModel";var Mo=_.Z.getClassFactory(ya);function Ea(i){var r=(i=i||{}).blacklistController;return{select:function(l){return l&&function(R){var A,h,w=0,L=[],Y=0;if((h=R.sort(function(B,N){var U=B.dvbPriority-N.dvbPriority;return isNaN(U)?0:U}).filter(function(B,N,U){return!N||U[0].dvbPriority&&B.dvbPriority&&U[0].dvbPriority===B.dvbPriority})).length)return h.length>1&&(h.forEach(function(B){w+=B.dvbWeight,L.push(w)}),A=Math.floor(Math.random()*(w-1)),L.every(function(B,N){return Y=N,!(A<B)})),h[Y]}((E=[],l.filter(function(R){return!r.contains(R.serviceLocation)||(R.dvbPriority&&E.push(R.dvbPriority),!1)}).filter(function(R){return!E.length||!R.dvbPriority||E.indexOf(R.dvbPriority)===-1})));var E}}}Ea.__dashjs_factory_name="DVBSelector";var Po=_.Z.getClassFactory(Ea);function va(i){var r=(i=i||{}).blacklistController;return{select:function(l){var E,R=0;return l&&l.some(function(A,h){return R=h,!r.contains(A.serviceLocation)})&&(E=l[R]),E}}}va.__dashjs_factory_name="BasicSelector";var Lo=_.Z.getClassFactory(va);function _a(){var i,r,l,E=this.context;function R(){for(var A=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],h=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],w=0,L=NaN,Y=function(){var N=A[w],U=h.findIndex(function(Z){return Z.serviceLocation&&Z.serviceLocation===N});if(U!==-1&&!l.contains(h[U].serviceLocation))return L=U,"break";w+=1};w<A.length;){var B=Y();if(B==="break")break}return L}return i={selectBaseUrlIndex:function(A){var h=NaN;if(isNaN(A.selectedIdx)){var w=r.getSteeringDataFromManifest();w&&w.defaultServiceLocationArray.length>0&&(h=R(w.defaultServiceLocationArray,A.baseUrls))}var L=r.getCurrentSteeringResponseData();return A.baseUrls&&A.baseUrls.length&&L&&L.pathwayPriority&&L.pathwayPriority.length&&(h=R(L.pathwayPriority,A.baseUrls)),h},setConfig:function(A){A.blacklistController&&(l=A.blacklistController),A.contentSteeringController&&(r=A.contentSteeringController)}},r=or(E).getInstance(),i}_a.__dashjs_factory_name="ContentSteeringSelector";var Fo=_.Z.getClassFactory(_a);function Ta(){var i,r,l,E,R,A,h=this.context,w=(0,p.Z)(h).getInstance(),L=(0,Ae.Z)(h).getInstance();function Y(){r.reset()}return i={chooseSelector:function(B){(0,W.PS)(B,"boolean"),A=B?E:l},select:function(B){if(B){if(L.get().streaming.applyContentSteering){var N=R.selectBaseUrlIndex(B);isNaN(N)||N===-1||(B.selectedIdx=N)}if(!isNaN(B.selectedIdx))return B.baseUrls[B.selectedIdx];var U=A.select(B.baseUrls);return U?(B.selectedIdx=B.baseUrls.indexOf(U),U):(w.trigger(u.Z.URL_RESOLUTION_FAILED,{error:new re.Z(X.URL_RESOLUTION_FAILED_GENERIC_ERROR_CODE,X.URL_RESOLUTION_FAILED_GENERIC_ERROR_MESSAGE)}),void(A===l&&Y()))}},reset:Y,setConfig:function(B){B.selector&&(A=B.selector),B.contentSteeringSelector&&(R=B.contentSteeringSelector)}},r=Lr(h).create({updateEventName:u.Z.SERVICE_LOCATION_BASE_URL_BLACKLIST_CHANGED,addBlacklistEventName:u.Z.SERVICE_LOCATION_BASE_URL_BLACKLIST_ADD}),l=Lo(h).create({blacklistController:r}),E=Po(h).create({blacklistController:r}),(R=Fo(h).create()).setConfig({blacklistController:r}),A=l,i}Ta.__dashjs_factory_name="BaseURLSelector";var xo=_.Z.getClassFactory(Ta);function Sa(){var i,r,l,E,R,A=this.context,h=(0,p.Z)(A).getInstance(),w=(0,ze.Z)(A).getInstance();function L(B){l.update(B),E.chooseSelector(r.getIsDVB(B)),h.trigger(n.Z.BASE_URLS_UPDATED,{baseUrls:Y(B)})}function Y(B){return l.getBaseUrls(B)}return i={reset:function(){l.reset(),E.reset()},initialize:function(B){l.setConfig({adapter:r,contentSteeringController:R}),L(B)},resolve:function(B){var N=l.getForPath(B).reduce(function(U,Z){var ce=E.select(Z);return ce?(w.isRelative(ce.url)?U.url=w.resolve(ce.url,U.url):(U.url=ce.url,U.serviceLocation=ce.serviceLocation),U.availabilityTimeOffset=ce.availabilityTimeOffset,U.availabilityTimeComplete=ce.availabilityTimeComplete,U.queryParams=ce.queryParams,U):new rr},new rr);if(!w.isRelative(N.url))return N},setConfig:function(B){B.baseURLTreeModel&&(l=B.baseURLTreeModel),B.baseURLSelector&&(E=B.baseURLSelector),B.adapter&&(r=B.adapter),B.contentSteeringController&&(R=B.contentSteeringController)},getBaseUrls:Y,update:L},l=Mo(A).create(),E=xo(A).create(),h.on(u.Z.SERVICE_LOCATION_BASE_URL_BLACKLIST_CHANGED,function(B){l.invalidateSelectedIndexes(B.entry)},i),i}Sa.__dashjs_factory_name="BaseURLController";var ko=_.Z.getClassFactory(Sa);function Mi(i){return Mi=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(r){return typeof r}:function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},Mi(i)}function Pi(i,r){return Pi=Object.setPrototypeOf||function(l,E){return l.__proto__=E,l},Pi(i,r)}function Zo(i,r){return!r||Mi(r)!=="object"&&typeof r!="function"?function(l){if(l===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return l}(i):r}function ui(i){return ui=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},ui(i)}var ba=function(i){(function(A,h){if(typeof h!="function"&&h!==null)throw new TypeError("Super expression must either be null or a function");A.prototype=Object.create(h&&h.prototype,{constructor:{value:A,writable:!0,configurable:!0}}),h&&Pi(A,h)})(R,i);var r,l,E=(r=R,l=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var A,h=ui(r);if(l){var w=ui(this).constructor;A=Reflect.construct(h,arguments,w)}else A=h.apply(this,arguments);return Zo(this,A)});function R(A,h){var w;return function(L,Y){if(!(L instanceof Y))throw new TypeError("Cannot call a class as a function")}(this,R),(w=E.call(this)).url=A||null,w.type=h||null,w.mediaType=t.Z.STREAM,w.responseType="",w}return R}(I.Z);function Aa(i){i=i||{};var r=this.context,l=(0,p.Z)(r).getInstance(),E=Wn(r).create({errHandler:i.errHandler,dashMetrics:i.dashMetrics,mediaPlayerModel:i.mediaPlayerModel,requestModifier:i.requestModifier,errors:X});return{load:function(R,A,h){var w=function(Y,B){A.resolved=!0,A.resolvedContent=Y||null,l.trigger(u.Z.XLINK_ELEMENT_LOADED,{element:A,resolveObject:h,error:Y||B?null:new re.Z(X.XLINK_LOADER_LOADING_FAILURE_ERROR_CODE,X.XLINK_LOADER_LOADING_FAILURE_ERROR_MESSAGE+R)})};if(R==="urn:mpeg:dash:resolve-to-zero:2013")w(null,!0);else{var L=new ba(R,Le.w.XLINK_EXPANSION_TYPE);E.load({request:L,success:function(Y){w(Y)},error:function(){w(null)}})}},reset:function(){E&&(E.abort(),E=null)}}}Aa.__dashjs_factory_name="XlinkLoader";var Uo=_.Z.getClassFactory(Aa),Ia=function(i){(i=i||{}).escapeMode===void 0&&(i.escapeMode=!0),i.attributePrefix===void 0&&(i.attributePrefix="_"),i.arrayAccessForm=i.arrayAccessForm||"none",i.emptyNodeForm=i.emptyNodeForm||"text",i.enableToStringFunc===void 0&&(i.enableToStringFunc=!0),i.arrayAccessFormPaths=i.arrayAccessFormPaths||[],i.skipEmptyTextNodesForObj===void 0&&(i.skipEmptyTextNodesForObj=!0),i.stripWhitespaces===void 0&&(i.stripWhitespaces=!0),i.datetimeAccessFormPaths=i.datetimeAccessFormPaths||[],i.useDoubleQuotes===void 0&&(i.useDoubleQuotes=!1),i.xmlElementsFilter=i.xmlElementsFilter||[],i.jsonPropertiesFilter=i.jsonPropertiesFilter||[],i.keepCData===void 0&&(i.keepCData=!1),i.ignoreRoot===void 0&&(i.ignoreRoot=!1);function r(G){var ie=G.localName;return ie==null&&(ie=G.baseName),ie!=null&&ie!=""||(ie=G.nodeName),ie}function l(G){return typeof G=="string"?G.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&apos;"):G}function E(G,ie,j,le){for(var g=0;g<G.length;g++){var M=G[g];if(typeof M=="string"){if(M==le)break}else if(M instanceof RegExp){if(M.test(le))break}else if(typeof M=="function"&&M(ie,j,le))break}return g!=G.length}function R(G,ie,j){i.arrayAccessForm==="property"&&(G[ie]instanceof Array?G[ie+"_asArray"]=G[ie]:G[ie+"_asArray"]=[G[ie]]),!(G[ie]instanceof Array)&&i.arrayAccessFormPaths.length>0&&E(i.arrayAccessFormPaths,G,ie,j)&&(G[ie]=[G[ie]])}function A(G){var ie=G.split(/[-T:+Z]/g),j=new Date(ie[0],ie[1]-1,ie[2]),le=ie[5].split(".");if(j.setHours(ie[3],ie[4],le[0]),le.length>1&&j.setMilliseconds(le[1]),ie[6]&&ie[7]){var g=60*ie[6]+Number(ie[7]);g=0+((/\d\d-\d\d:\d\d$/.test(G)?"-":"+")=="-"?-1*g:g),j.setMinutes(j.getMinutes()-g-j.getTimezoneOffset())}else G.indexOf("Z",G.length-1)!==-1&&(j=new Date(Date.UTC(j.getFullYear(),j.getMonth(),j.getDate(),j.getHours(),j.getMinutes(),j.getSeconds(),j.getMilliseconds())));return j}function h(G,ie,j,le){return!(ie==1&&i.xmlElementsFilter.length>0)||E(i.xmlElementsFilter,G,j,le)}function w(G,ie){if(G.nodeType==9){for(var j=new Object,le=G.childNodes,g=0;g<le.length;g++)(C=le[g]).nodeType==1&&(i.ignoreRoot?j=w(C):(j={})[D=r(C)]=w(C));return j}if(G.nodeType==1){(j=new Object).__cnt=0;var M=[];for(le=G.childNodes,g=0;g<le.length;g++){var C,D=r(C=le[g]);if(C.nodeType!=8){var b=ie+"."+D;if(h(j,C.nodeType,D,b))if(j.__cnt++,j[D]==null){var ne=w(C,b);(D!="#text"||/[^\s]/.test(ne))&&((z={})[D]=ne,M.push(z)),j[D]=ne,R(j,D,b)}else{var z;j[D]!=null&&(j[D]instanceof Array||(j[D]=[j[D]],R(j,D,b))),ne=w(C,b),(D!="#text"||/[^\s]/.test(ne))&&((z={})[D]=ne,M.push(z)),j[D][j[D].length]=ne}}}j.__children=M;for(var oe=r(G),Q=0;Q<G.attributes.length;Q++){var x=G.attributes[Q];j.__cnt++;for(var J=x.value,he=0,Ne=i.matchers.length;he<Ne;he++){var Te=i.matchers[he];Te.test(x,oe)&&(J=Te.converter(x.value))}j[i.attributePrefix+x.name]=J}var Ce=function(Ie){return Ie.prefix}(G);return Ce!=null&&Ce!=""&&(j.__cnt++,j.__prefix=Ce),j["#text"]!=null&&(j.__text=j["#text"],j.__text instanceof Array&&(j.__text=j.__text.join(`
-`)),i.stripWhitespaces&&(j.__text=j.__text.trim()),delete j["#text"],i.arrayAccessForm=="property"&&delete j["#text_asArray"],j.__text=function(Ie,et,nt){if(i.datetimeAccessFormPaths.length>0){var We=nt.split(".#")[0];return E(i.datetimeAccessFormPaths,Ie,et,We)?A(Ie):Ie}return Ie}(j.__text,D,ie+"."+D)),j["#cdata-section"]!=null&&(j.__cdata=j["#cdata-section"],delete j["#cdata-section"],i.arrayAccessForm=="property"&&delete j["#cdata-section_asArray"]),j.__cnt==0&&i.emptyNodeForm=="text"?j="":j.__cnt==1&&j.__text!=null?j=j.__text:j.__cnt!=1||j.__cdata==null||i.keepCData?j.__cnt>1&&j.__text!=null&&i.skipEmptyTextNodesForObj&&(i.stripWhitespaces&&j.__text==""||j.__text.trim()=="")&&delete j.__text:j=j.__cdata,delete j.__cnt,!i.enableToStringFunc||j.__text==null&&j.__cdata==null||(j.toString=function(){return(this.__text!=null?this.__text:"")+(this.__cdata!=null?this.__cdata:"")}),j}if(G.nodeType==3||G.nodeType==4)return G.nodeValue}function L(G,ie,j,le){var g="<"+(G!=null&&G.__prefix!=null?G.__prefix+":":"")+ie;if(j!=null)for(var M=0;M<j.length;M++){var C=j[M],D=G[C];i.escapeMode&&(D=l(D)),g+=" "+C.substr(i.attributePrefix.length)+"=",i.useDoubleQuotes?g+='"'+D+'"':g+="'"+D+"'"}return g+(le?"/>":">")}function Y(G,ie){return"</"+(G.__prefix!=null?G.__prefix+":":"")+ie+">"}function B(G,ie){return i.arrayAccessForm=="property"&&(le="_asArray",(j=ie.toString()).indexOf(le,j.length-le.length)!==-1)||ie.toString().indexOf(i.attributePrefix)==0||ie.toString().indexOf("__")==0||G[ie]instanceof Function;var j,le}function N(G){var ie=0;if(G instanceof Object)for(var j in G)B(G,j)||ie++;return ie}function U(G,ie,j){return i.jsonPropertiesFilter.length==0||j==""||E(i.jsonPropertiesFilter,G,ie,j)}function Z(G){var ie=[];if(G instanceof Object)for(var j in G)j.toString().indexOf("__")==-1&&j.toString().indexOf(i.attributePrefix)==0&&ie.push(j);return ie}function ce(G){var ie="";return G instanceof Object?ie+=function(j){var le="";return j.__cdata!=null&&(le+="<![CDATA["+j.__cdata+"]]>"),j.__text!=null&&(i.escapeMode?le+=l(j.__text):le+=j.__text),le}(G):G!=null&&(i.escapeMode?ie+=l(G):ie+=G),ie}function te(G,ie){return G===""?ie:G+"."+ie}function se(G,ie,j,le){var g="";if(G.length==0)g+=L(G,ie,j,!0);else for(var M=0;M<G.length;M++)g+=L(G[M],ie,Z(G[M]),!1),g+=de(G[M],te(le,ie)),g+=Y(G[M],ie);return g}function de(G,ie){var j="";if(N(G)>0){for(var le in G)if(!B(G,le)&&(ie==""||U(G,le,te(ie,le)))){var g=G[le],M=Z(g);g==null||g==null?j+=L(g,le,M,!0):g instanceof Object?g instanceof Array?j+=se(g,le,M,ie):g instanceof Date?(j+=L(g,le,M,!1),j+=g.toISOString(),j+=Y(g,le)):N(g)>0||g.__text!=null||g.__cdata!=null?(j+=L(g,le,M,!1),j+=de(g,te(ie,le)),j+=Y(g,le)):j+=L(g,le,M,!0):(j+=L(g,le,M,!1),j+=ce(g),j+=Y(g,le))}}return j+ce(G)}this.parseXmlString=function(G){var ie;if(G===void 0)return null;if(window.DOMParser){var j=new window.DOMParser;try{(ie=j.parseFromString(G,"text/xml")).getElementsByTagNameNS("*","parsererror").length>0&&(ie=null)}catch{ie=null}}else G.indexOf("<?")==0&&(G=G.substr(G.indexOf("?>")+2)),(ie=new ActiveXObject("Microsoft.XMLDOM")).async="false",ie.loadXML(G);return ie},this.asArray=function(G){return G===void 0||G==null?[]:G instanceof Array?G:[G]},this.toXmlDateTime=function(G){return G instanceof Date?G.toISOString():typeof G=="number"?new Date(G).toISOString():null},this.asDateTime=function(G){return typeof G=="string"?A(G):G},this.xml2json=function(G){return w(G)},this.xml_str2json=function(G){var ie=this.parseXmlString(G);return ie!=null?this.xml2json(ie):null},this.json2xml_str=function(G){return de(G,"")},this.json2xml=function(G){var ie=this.json2xml_str(G);return this.parseXmlString(ie)},this.getVersion=function(){return"1.2.0"}},kr="onLoad";function Ra(i){i=i||{};var r,l,E,R,A,h,w=this.context,L=(0,p.Z)(w).getInstance(),Y=(0,ze.Z)(w).getInstance();function B(te,se,de){var G,ie,j={};j.elements=te,j.type=se,j.resolveType=de,j.elements.length===0&&U(j);for(var le=0;le<j.elements.length;le++)G=j.elements[le],ie=Y.isHTTPURL(G.url)?G.url:G.originalContent.BaseURL+G.url,h.load(ie,G,j)}function N(te){var se,de,G="";if(se=te.element,de=te.resolveObject,se.resolvedContent){var ie=0;se.resolvedContent.indexOf("<?xml")===0&&(ie=se.resolvedContent.indexOf("?>")+2),G=se.resolvedContent.substr(0,ie)+"<response>"+se.resolvedContent.substr(ie)+"</response>",se.resolvedContent=A.xml_str2json(G)}(function(j){var le;for(le=0;le<j.elements.length;le++)if(j.elements[le].resolved===!1)return!1;return!0})(de)&&U(de)}function U(te){var se,de,G=[];if(function(ie){var j,le,g,M,C,D,b=[];for(M=ie.elements.length-1;M>=0;M--){if(le=(j=ie.elements[M]).type+"_asArray",j.resolvedContent){if(j.resolvedContent)for(C=0;C<j.resolvedContent[le].length;C++)g=j.resolvedContent[le][C],b.push(g)}else delete j.originalContent["xlink:actuate"],delete j.originalContent["xlink:href"],b.push(j.originalContent);for(j.parentElement[le].splice(j.index,1),D=0;D<b.length;D++)j.parentElement[le].splice(j.index+D,0,b[D]);b=[]}ie.elements.length>0&&E.run(R)}(te),te.resolveType==="onActuate"&&L.trigger(u.Z.XLINK_READY,{manifest:R}),te.resolveType===kr)switch(te.type){case e.Z.PERIOD:for(se=0;se<R[e.Z.PERIOD+"_asArray"].length;se++)(de=R[e.Z.PERIOD+"_asArray"][se]).hasOwnProperty(e.Z.ADAPTATION_SET+"_asArray")&&(G=G.concat(Z(de[e.Z.ADAPTATION_SET+"_asArray"],de,e.Z.ADAPTATION_SET,kr))),de.hasOwnProperty(e.Z.EVENT_STREAM+"_asArray")&&(G=G.concat(Z(de[e.Z.EVENT_STREAM+"_asArray"],de,e.Z.EVENT_STREAM,kr)));B(G,e.Z.ADAPTATION_SET,kr);break;case e.Z.ADAPTATION_SET:L.trigger(u.Z.XLINK_READY,{manifest:R})}}function Z(te,se,de,G){var ie,j,le,g=[];for(j=te.length-1;j>=0;j--)(ie=te[j]).hasOwnProperty("xlink:href")&&ie["xlink:href"]==="urn:mpeg:dash:resolve-to-zero:2013"&&te.splice(j,1);for(j=0;j<te.length;j++)(ie=te[j]).hasOwnProperty("xlink:href")&&ie.hasOwnProperty("xlink:actuate")&&ie["xlink:actuate"]===G&&(le=ce(ie["xlink:href"],se,de,j,G,ie),g.push(le));return g}function ce(te,se,de,G,ie,j){return{url:te,parentElement:se,type:de,index:G,resolveType:ie,originalContent:j,resolvedContent:null,resolved:!1}}return r={resolveManifestOnLoad:function(te){A=new Ia({escapeMode:!1,attributePrefix:"",arrayAccessForm:"property",emptyNodeForm:"object",stripWhitespaces:!1,enableToStringFunc:!1,ignoreRoot:!0,matchers:l}),(R=te).Period_asArray?B(Z(R.Period_asArray,R,e.Z.PERIOD,kr),e.Z.PERIOD,kr):L.trigger(u.Z.XLINK_READY,{manifest:R})},setMatchers:function(te){te&&(l=te)},setIron:function(te){te&&(E=te)},reset:function(){L.off(u.Z.XLINK_ELEMENT_LOADED,N,r),h&&(h.reset(),h=null)}},L.on(u.Z.XLINK_ELEMENT_LOADED,N,r),h=Uo(w).create({errHandler:i.errHandler,dashMetrics:i.dashMetrics,mediaPlayerModel:i.mediaPlayerModel,requestModifier:i.requestModifier,settings:i.settings}),r}Ra.__dashjs_factory_name="XlinkController";var Bo=_.Z.getClassFactory(Ra);function jr(i){return jr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(r){return typeof r}:function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},jr(i)}function wa(i){function r(R,A){for(var h in R)A.hasOwnProperty(h)||(A[h]=R[h])}function l(R,A,h){for(var w=0,L=R.length;w<L;++w){var Y=R[w];if(A[Y.name])if(h[Y.name]){if(Y.merge){var B=A[Y.name],N=h[Y.name];jr(B)==="object"&&jr(N)==="object"?r(B,N):h[Y.name]=B+N}}else h[Y.name]=A[Y.name]}}function E(R,A){for(var h=0,w=R.children.length;h<w;++h){var L=R.children[h],Y=A[L.name+"_asArray"];if(Y)for(var B=0,N=Y.length;B<N;++B){var U=Y[B];l(R.properties,A,U),E(L,U)}}}return{run:function(R){if(R===null||jr(R)!=="object")return R;if(R.Period_asArray&&"period"in i)for(var A=i.period,h=R.Period_asArray,w=0,L=h.length;w<L;++w){var Y=h[w];if(E(A,Y),"adaptationset"in i){var B=Y.AdaptationSet_asArray;if(B)for(var N=i.adaptationset,U=0,Z=B.length;U<Z;++U)E(N,B[U])}}return R}}}wa.__dashjs_factory_name="ObjectIron";var Go=_.Z.getClassFactory(wa);function qo(i,r){for(var l=0;l<r.length;l++){var E=r[l];E.enumerable=E.enumerable||!1,E.configurable=!0,"value"in E&&(E.writable=!0),Object.defineProperty(i,E.key,E)}}var Hr=function(){function i(E,R){(function(A,h){if(!(A instanceof h))throw new TypeError("Cannot call a class as a function")})(this,i),this._test=E,this._converter=R}var r,l;return r=i,(l=[{key:"test",get:function(){return this._test}},{key:"converter",get:function(){return this._converter}}])&&qo(r.prototype,l),i}();function Li(i){return Li=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(r){return typeof r}:function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},Li(i)}function On(i,r,l){return r in i?Object.defineProperty(i,r,{value:l,enumerable:!0,configurable:!0,writable:!0}):i[r]=l,i}function Fi(i,r){return Fi=Object.setPrototypeOf||function(l,E){return l.__proto__=E,l},Fi(i,r)}function Yo(i,r){return!r||Li(r)!=="object"&&typeof r!="function"?function(l){if(l===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return l}(i):r}function li(i){return li=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},li(i)}var jo=function(i){(function(A,h){if(typeof h!="function"&&h!==null)throw new TypeError("Super expression must either be null or a function");A.prototype=Object.create(h&&h.prototype,{constructor:{value:A,writable:!0,configurable:!0}}),h&&Fi(A,h)})(R,i);var r,l,E=(r=R,l=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var A,h=li(r);if(l){var w=li(this).constructor;A=Reflect.construct(h,arguments,w)}else A=h.apply(this,arguments);return Yo(this,A)});function R(){return function(A,h){if(!(A instanceof h))throw new TypeError("Cannot call a class as a function")}(this,R),E.call(this,function(A,h){var w,L=(On(w={},e.Z.MPD,[e.Z.ID,e.Z.PROFILES]),On(w,e.Z.PERIOD,[e.Z.ID]),On(w,e.Z.BASE_URL,[e.Z.SERVICE_LOCATION,e.Z.BYTE_RANGE]),On(w,e.Z.SEGMENT_BASE,[e.Z.INDEX_RANGE]),On(w,e.Z.INITIALIZATION,[e.Z.RANGE]),On(w,e.Z.REPRESENTATION_INDEX,[e.Z.RANGE]),On(w,e.Z.SEGMENT_LIST,[e.Z.INDEX_RANGE]),On(w,e.Z.BITSTREAM_SWITCHING,[e.Z.RANGE]),On(w,e.Z.SEGMENT_URL,[e.Z.MEDIA_RANGE,e.Z.INDEX_RANGE]),On(w,e.Z.SEGMENT_TEMPLATE,[e.Z.INDEX_RANGE,e.Z.MEDIA,e.Z.INDEX,e.Z.INITIALIZATION_MINUS,e.Z.BITSTREAM_SWITCHING_MINUS]),On(w,e.Z.ASSET_IDENTIFIER,[e.Z.VALUE,e.Z.ID]),On(w,e.Z.EVENT_STREAM,[e.Z.VALUE]),On(w,e.Z.ADAPTATION_SET,[e.Z.PROFILES,e.Z.MIME_TYPE,e.Z.SEGMENT_PROFILES,e.Z.CODECS,e.Z.CONTENT_TYPE]),On(w,e.Z.FRAME_PACKING,[e.Z.VALUE,e.Z.ID]),On(w,e.Z.AUDIO_CHANNEL_CONFIGURATION,[e.Z.VALUE,e.Z.ID]),On(w,e.Z.CONTENT_PROTECTION,[e.Z.VALUE,e.Z.ID]),On(w,e.Z.ESSENTIAL_PROPERTY,[e.Z.VALUE,e.Z.ID]),On(w,e.Z.SUPPLEMENTAL_PROPERTY,[e.Z.VALUE,e.Z.ID]),On(w,e.Z.INBAND_EVENT_STREAM,[e.Z.VALUE,e.Z.ID]),On(w,e.Z.ACCESSIBILITY,[e.Z.VALUE,e.Z.ID]),On(w,e.Z.ROLE,[e.Z.VALUE,e.Z.ID]),On(w,e.Z.RATING,[e.Z.VALUE,e.Z.ID]),On(w,e.Z.VIEWPOINT,[e.Z.VALUE,e.Z.ID]),On(w,e.Z.CONTENT_COMPONENT,[e.Z.CONTENT_TYPE]),On(w,e.Z.REPRESENTATION,[e.Z.ID,e.Z.DEPENDENCY_ID,e.Z.MEDIA_STREAM_STRUCTURE_ID]),On(w,e.Z.SUBSET,[e.Z.ID]),On(w,e.Z.METRICS,[e.Z.METRICS_MINUS]),On(w,e.Z.REPORTING,[e.Z.VALUE,e.Z.ID]),w);if(L.hasOwnProperty(h)){var Y=L[h];return Y!==void 0&&Y.indexOf(A.name)>=0}return!1},function(A){return String(A)})}return R}(Hr);function xi(i){return xi=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(r){return typeof r}:function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},xi(i)}function ki(i,r){return ki=Object.setPrototypeOf||function(l,E){return l.__proto__=E,l},ki(i,r)}function Ho(i,r){return!r||xi(r)!=="object"&&typeof r!="function"?function(l){if(l===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return l}(i):r}function ci(i){return ci=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},ci(i)}var Na=/^([-])?P(([\d.]*)Y)?(([\d.]*)M)?(([\d.]*)D)?T?(([\d.]*)H)?(([\d.]*)M)?(([\d.]*)S)?/,Vo=function(i){(function(A,h){if(typeof h!="function"&&h!==null)throw new TypeError("Super expression must either be null or a function");A.prototype=Object.create(h&&h.prototype,{constructor:{value:A,writable:!0,configurable:!0}}),h&&ki(A,h)})(R,i);var r,l,E=(r=R,l=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var A,h=ci(r);if(l){var w=ci(this).constructor;A=Reflect.construct(h,arguments,w)}else A=h.apply(this,arguments);return Ho(this,A)});function R(){return function(A,h){if(!(A instanceof h))throw new TypeError("Cannot call a class as a function")}(this,R),E.call(this,function(A){for(var h=[e.Z.MIN_BUFFER_TIME,e.Z.MEDIA_PRESENTATION_DURATION,e.Z.MINIMUM_UPDATE_PERIOD,e.Z.TIMESHIFT_BUFFER_DEPTH,e.Z.MAX_SEGMENT_DURATION,e.Z.MAX_SUBSEGMENT_DURATION,e.Z.SUGGESTED_PRESENTATION_DELAY,e.Z.START,t.Z.START_TIME,e.Z.DURATION],w=h.length,L=0;L<w;L++)if(A.nodeName===h[L])return Na.test(A.value);return!1},function(A){var h=Na.exec(A),w=31536e3*parseFloat(h[3]||0)+2592e3*parseFloat(h[5]||0)+86400*parseFloat(h[7]||0)+3600*parseFloat(h[9]||0)+60*parseFloat(h[11]||0)+parseFloat(h[13]||0);return h[1]!==void 0&&(w=-w),w})}return R}(Hr);function Zi(i){return Zi=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(r){return typeof r}:function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},Zi(i)}function Ui(i,r){return Ui=Object.setPrototypeOf||function(l,E){return l.__proto__=E,l},Ui(i,r)}function Ko(i,r){return!r||Zi(r)!=="object"&&typeof r!="function"?function(l){if(l===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return l}(i):r}function fi(i){return fi=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},fi(i)}var Ca=/^([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2})(?::([0-9]*)(\.[0-9]*)?)?(?:([+-])([0-9]{2})(?::?)([0-9]{2}))?/,zo=function(i){(function(A,h){if(typeof h!="function"&&h!==null)throw new TypeError("Super expression must either be null or a function");A.prototype=Object.create(h&&h.prototype,{constructor:{value:A,writable:!0,configurable:!0}}),h&&Ui(A,h)})(R,i);var r,l,E=(r=R,l=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var A,h=fi(r);if(l){var w=fi(this).constructor;A=Reflect.construct(h,arguments,w)}else A=h.apply(this,arguments);return Ko(this,A)});function R(){return function(A,h){if(!(A instanceof h))throw new TypeError("Cannot call a class as a function")}(this,R),E.call(this,function(A){return Ca.test(A.value)},function(A){var h,w=Ca.exec(A);if(h=Date.UTC(parseInt(w[1],10),parseInt(w[2],10)-1,parseInt(w[3],10),parseInt(w[4],10),parseInt(w[5],10),w[6]&&parseInt(w[6],10)||0,w[7]&&1e3*parseFloat(w[7])||0),w[9]&&w[10]){var L=60*parseInt(w[9],10)+parseInt(w[10],10);h+=(w[8]==="+"?-1:1)*L*60*1e3}return new Date(h)})}return R}(Hr);function Bi(i){return Bi=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(r){return typeof r}:function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},Bi(i)}function Gi(i,r){return Gi=Object.setPrototypeOf||function(l,E){return l.__proto__=E,l},Gi(i,r)}function Wo(i,r){return!r||Bi(r)!=="object"&&typeof r!="function"?function(l){if(l===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return l}(i):r}function di(i){return di=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},di(i)}var Xo=/^[-+]?[0-9]+[.]?[0-9]*([eE][-+]?[0-9]+)?$/,Qo=function(i){(function(A,h){if(typeof h!="function"&&h!==null)throw new TypeError("Super expression must either be null or a function");A.prototype=Object.create(h&&h.prototype,{constructor:{value:A,writable:!0,configurable:!0}}),h&&Gi(A,h)})(R,i);var r,l,E=(r=R,l=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var A,h=di(r);if(l){var w=di(this).constructor;A=Reflect.construct(h,arguments,w)}else A=h.apply(this,arguments);return Wo(this,A)});function R(){return function(A,h){if(!(A instanceof h))throw new TypeError("Cannot call a class as a function")}(this,R),E.call(this,function(A){return Xo.test(A.value)},function(A){return parseFloat(A)})}return R}(Hr);function qi(i){return qi=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(r){return typeof r}:function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},qi(i)}function Vr(i,r,l){return r in i?Object.defineProperty(i,r,{value:l,enumerable:!0,configurable:!0,writable:!0}):i[r]=l,i}function Yi(i,r){return Yi=Object.setPrototypeOf||function(l,E){return l.__proto__=E,l},Yi(i,r)}function Jo(i,r){return!r||qi(r)!=="object"&&typeof r!="function"?function(l){if(l===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return l}(i):r}function gi(i){return gi=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},gi(i)}var $o=function(i){(function(A,h){if(typeof h!="function"&&h!==null)throw new TypeError("Super expression must either be null or a function");A.prototype=Object.create(h&&h.prototype,{constructor:{value:A,writable:!0,configurable:!0}}),h&&Yi(A,h)})(R,i);var r,l,E=(r=R,l=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var A,h=gi(r);if(l){var w=gi(this).constructor;A=Reflect.construct(h,arguments,w)}else A=h.apply(this,arguments);return Jo(this,A)});function R(){return function(A,h){if(!(A instanceof h))throw new TypeError("Cannot call a class as a function")}(this,R),E.call(this,function(A,h){var w,L=(Vr(w={},e.Z.ADAPTATION_SET,[e.Z.LANG]),Vr(w,e.Z.REPRESENTATION,[e.Z.LANG]),Vr(w,e.Z.CONTENT_COMPONENT,[e.Z.LANG]),Vr(w,e.Z.LABEL,[e.Z.LANG]),Vr(w,e.Z.GROUP_LABEL,[e.Z.LANG]),w);if(L.hasOwnProperty(h)){var Y=L[h];return Y!==void 0&&Y.indexOf(A.name)>=0}return!1},function(A){return oi()(A)||String(A)})}return R}(Hr);function es(i,r){for(var l=0;l<r.length;l++){var E=r[l];E.enumerable=E.enumerable||!1,E.configurable=!0,"value"in E&&(E.writable=!0),Object.defineProperty(i,E.key,E)}}var ts=function(){function i(E){var R;(function(A,h){if(!(A instanceof h))throw new TypeError("Cannot call a class as a function")})(this,i),this._name=E,this._merge=(R=E)&&R.length&&R.charAt(0)===R.charAt(0).toUpperCase()}var r,l;return r=i,(l=[{key:"name",get:function(){return this._name}},{key:"merge",get:function(){return this._merge}}])&&es(r.prototype,l),i}();function ns(i,r){for(var l=0;l<r.length;l++){var E=r[l];E.enumerable=E.enumerable||!1,E.configurable=!0,"value"in E&&(E.writable=!0),Object.defineProperty(i,E.key,E)}}var Zr=function(){function i(E,R,A){var h=this;(function(w,L){if(!(w instanceof L))throw new TypeError("Cannot call a class as a function")})(this,i),this._name=E||"",this._properties=[],this._children=A||[],Array.isArray(R)&&R.forEach(function(w){h._properties.push(new ts(w))})}var r,l;return r=i,(l=[{key:"name",get:function(){return this._name}},{key:"children",get:function(){return this._children}},{key:"properties",get:function(){return this._properties}}])&&ns(r.prototype,l),i}();function ji(i){return ji=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(r){return typeof r}:function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},ji(i)}function Hi(i,r){return Hi=Object.setPrototypeOf||function(l,E){return l.__proto__=E,l},Hi(i,r)}function rs(i,r){return!r||ji(r)!=="object"&&typeof r!="function"?function(l){if(l===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return l}(i):r}function hi(i){return hi=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},hi(i)}var is=function(i){(function(A,h){if(typeof h!="function"&&h!==null)throw new TypeError("Super expression must either be null or a function");A.prototype=Object.create(h&&h.prototype,{constructor:{value:A,writable:!0,configurable:!0}}),h&&Hi(A,h)})(R,i);var r,l,E=(r=R,l=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var A,h=hi(r);if(l){var w=hi(this).constructor;A=Reflect.construct(h,arguments,w)}else A=h.apply(this,arguments);return rs(this,A)});function R(){(function(h,w){if(!(h instanceof w))throw new TypeError("Cannot call a class as a function")})(this,R);var A=[e.Z.PROFILES,e.Z.WIDTH,e.Z.HEIGHT,e.Z.SAR,e.Z.FRAMERATE,e.Z.AUDIO_SAMPLING_RATE,e.Z.MIME_TYPE,e.Z.SEGMENT_PROFILES,e.Z.CODECS,e.Z.MAXIMUM_SAP_PERIOD,e.Z.START_WITH_SAP,e.Z.MAX_PLAYOUT_RATE,e.Z.CODING_DEPENDENCY,e.Z.SCAN_TYPE,e.Z.FRAME_PACKING,e.Z.AUDIO_CHANNEL_CONFIGURATION,e.Z.CONTENT_PROTECTION,e.Z.ESSENTIAL_PROPERTY,e.Z.ESSENTIAL_PROPERTY+"_asArray",e.Z.SUPPLEMENTAL_PROPERTY,e.Z.INBAND_EVENT_STREAM];return E.call(this,e.Z.ADAPTATION_SET,A,[new Zr(e.Z.REPRESENTATION,A,[new Zr(e.Z.SUB_REPRESENTATION,A)])])}return R}(Zr);function Vi(i){return Vi=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(r){return typeof r}:function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},Vi(i)}function Ki(i,r){return Ki=Object.setPrototypeOf||function(l,E){return l.__proto__=E,l},Ki(i,r)}function as(i,r){return!r||Vi(r)!=="object"&&typeof r!="function"?function(l){if(l===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return l}(i):r}function mi(i){return mi=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},mi(i)}var os=function(i){(function(A,h){if(typeof h!="function"&&h!==null)throw new TypeError("Super expression must either be null or a function");A.prototype=Object.create(h&&h.prototype,{constructor:{value:A,writable:!0,configurable:!0}}),h&&Ki(A,h)})(R,i);var r,l,E=(r=R,l=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var A,h=mi(r);if(l){var w=mi(this).constructor;A=Reflect.construct(h,arguments,w)}else A=h.apply(this,arguments);return as(this,A)});function R(){(function(h,w){if(!(h instanceof w))throw new TypeError("Cannot call a class as a function")})(this,R);var A=[e.Z.SEGMENT_BASE,e.Z.SEGMENT_TEMPLATE,e.Z.SEGMENT_LIST];return E.call(this,e.Z.PERIOD,A,[new Zr(e.Z.ADAPTATION_SET,A,[new Zr(e.Z.REPRESENTATION,A)])])}return R}(Zr);function Da(i){i=i||{};var r,l,E,R,A,h=this.context,w=i.debug;return r={parse:function(L){var Y,B=window.performance.now();if(!(Y=R.xml_str2json(L)))throw new Error("parsing the manifest failed");var N=window.performance.now();Y.Patch?((Y=Y.Patch).add_asArray&&Y.add_asArray.forEach(function(Z){return A.run(Z)}),Y.replace_asArray&&Y.replace_asArray.forEach(function(Z){return A.run(Z)})):(Y=Y.MPD,A.run(Y));var U=window.performance.now();return l.info("Parsing complete: ( xml2json: "+(N-B).toPrecision(3)+"ms, objectiron: "+(U-N).toPrecision(3)+"ms, total: "+((U-B)/1e3).toPrecision(3)+"s)"),Y.protocol="DASH",Y},getMatchers:function(){return E},getIron:function(){return A}},l=w.getLogger(r),E=[new Vo,new zo,new Qo,new $o,new jo],R=new Ia({escapeMode:!1,attributePrefix:"",arrayAccessForm:"property",emptyNodeForm:"object",stripWhitespaces:!1,enableToStringFunc:!0,ignoreRoot:!1,matchers:E}),A=Go(h).create({adaptationset:new is,period:new os}),r}Da.__dashjs_factory_name="DashParser";var ss=_.Z.getClassFactory(Da);function Oa(i){i=i||{};var r,l,E,R,A,h=this.context,w=i.debug,L=i.settings,Y=(0,p.Z)(h).getInstance(),B=(0,ze.Z)(h).getInstance(),N=i.mssHandler,U=i.errHandler;function Z(te){Y.trigger(u.Z.INTERNAL_MANIFEST_LOADED,{manifest:te.manifest})}function ce(te){var se=null;return te.indexOf("SmoothStreamingMedia")>-1?(N&&(se=N.createMssParser(),N.createMssFragmentProcessor(),N.registerEvents()),se):te.indexOf("MPD")>-1||te.indexOf("Patch")>-1?ss(h).create({debug:w}):se}return r={load:function(te){var se=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null,de=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,G=new Date,ie=new ba(te,Le.w.MPD_TYPE);se&&(ie.serviceLocation=se),de&&(ie.queryParams=de),ie.requestStartDate||(ie.requestStartDate=G),Y.trigger(u.Z.MANIFEST_LOADING_STARTED,{request:ie}),E.load({request:ie,success:function(j,le,g){var M,C,D;if(R)if(g&&g!==te?(C=B.parseBaseUrl(g),M=g):(B.isRelative(te)&&(te=B.resolve(te,window.location.href)),C=B.parseBaseUrl(te)),le!="No Content")if(A===null&&(A=ce(j)),A!==null){R.setMatchers(A.getMatchers()),R.setIron(A.getIron());try{D=A.parse(j)}catch{return void Y.trigger(u.Z.INTERNAL_MANIFEST_LOADED,{manifest:null,error:new re.Z(X.MANIFEST_LOADER_PARSING_FAILURE_ERROR_CODE,X.MANIFEST_LOADER_PARSING_FAILURE_ERROR_MESSAGE+"".concat(te))})}if(D){if(D.url=M||te,D.originalUrl||(D.originalUrl=D.url),L&&L.get().streaming.enableManifestDurationMismatchFix&&D.mediaPresentationDuration&&D.Period_asArray.length>1){var b=D.Period_asArray.reduce(function(ne,z){return ne+z.duration},0);!isNaN(b)&&D.mediaPresentationDuration>b&&(l.warn("Media presentation duration greater than duration of all periods. Setting duration to total period duration"),D.mediaPresentationDuration=b)}D.baseUri=C,D.loadedTime=new Date,R.resolveManifestOnLoad(D),Y.trigger(u.Z.ORIGINAL_MANIFEST_LOADED,{originalManifest:j})}else Y.trigger(u.Z.INTERNAL_MANIFEST_LOADED,{manifest:null,error:new re.Z(X.MANIFEST_LOADER_PARSING_FAILURE_ERROR_CODE,X.MANIFEST_LOADER_PARSING_FAILURE_ERROR_MESSAGE+"".concat(te))})}else Y.trigger(u.Z.INTERNAL_MANIFEST_LOADED,{manifest:null,error:new re.Z(X.MANIFEST_LOADER_PARSING_FAILURE_ERROR_CODE,X.MANIFEST_LOADER_PARSING_FAILURE_ERROR_MESSAGE+"".concat(te))});else Y.trigger(u.Z.INTERNAL_MANIFEST_LOADED,{manifest:null})},error:function(j,le,g){Y.trigger(u.Z.INTERNAL_MANIFEST_LOADED,{manifest:null,error:new re.Z(X.MANIFEST_LOADER_LOADING_FAILURE_ERROR_CODE,X.MANIFEST_LOADER_LOADING_FAILURE_ERROR_MESSAGE+"".concat(te,", ").concat(g))})}})},reset:function(){Y.off(u.Z.XLINK_READY,Z,r),N&&N.reset(),R&&(R.reset(),R=null),E&&(E.abort(),E=null)}},l=w.getLogger(r),Y.on(u.Z.XLINK_READY,Z,r),E=Wn(h).create({errHandler:i.errHandler,dashMetrics:i.dashMetrics,mediaPlayerModel:i.mediaPlayerModel,requestModifier:i.requestModifier,urlUtils:B,constants:t.Z,dashConstants:e.Z,errors:X,requestTimeout:i.settings.get().streaming.manifestRequestTimeout}),R=Bo(h).create({errHandler:U,dashMetrics:i.dashMetrics,mediaPlayerModel:i.mediaPlayerModel,requestModifier:i.requestModifier,settings:i.settings}),A=null,r}Oa.__dashjs_factory_name="ManifestLoader";var us=_.Z.getClassFactory(Oa);function Ma(){var i=this.context,r=(0,p.Z)(i).getInstance();return{error:function(l){r.trigger(u.Z.ERROR,{error:l})}}}Ma.__dashjs_factory_name="ErrorHandler";var ls=_.Z.getSingletonFactory(Ma),Pa=P(1715);function La(){var i,r,l,E,R,A,h=this.context,w=(0,p.Z)(h).getInstance();function L(Y,B){if(!B||!B.Period_asArray||B.Period_asArray.length===0)return Promise.resolve();var N=[];return B.Period_asArray.forEach(function(U){N.push(function(Z,ce){return new Promise(function(te){if(Z&&Z.AdaptationSet_asArray&&Z.AdaptationSet_asArray.length!==0){var se=[];Z.AdaptationSet_asArray.forEach(function(de){r.getIsTypeOf(de,ce)&&se.push(function(G,ie){return new Promise(function(j){if(G.Representation_asArray&&G.Representation_asArray.length!==0){var le=[],g=[];G.Representation_asArray.forEach(function(M,C){var D=r.getCodec(G,C,!1),b=function(ne,z,oe){switch(ne){case t.Z.VIDEO:return function(Q,x){return{codec:x,width:Q.width||null,height:Q.height||null,framerate:Q.frameRate||null,bitrate:Q.bandwidth||null}}(z,oe);case t.Z.AUDIO:return function(Q,x){var J=Q.audioSamplingRate||null;return{codec:x,bitrate:Q.bandwidth||null,samplerate:J}}(z,oe);default:return null}}(ie,M,D);g.push(b),le.push(l.supportsCodec(b,ie))}),Promise.all(le).then(function(M){G.Representation_asArray=G.Representation_asArray.filter(function(C,D){return M[D]||A.debug("[Stream] Codec ".concat(g[D].codec," not supported ")),M[D]}),j()}).catch(function(){j()})}else j()})}(de,ce))}),Promise.all(se).then(function(){Z.AdaptationSet_asArray=Z.AdaptationSet_asArray.filter(function(de){var G=de.Representation_asArray&&de.Representation_asArray.length>0;return G||(w.trigger(u.Z.ADAPTATION_SET_REMOVED_NO_CAPABILITIES,{adaptationSet:de}),A.warn("AdaptationSet has been removed because of no supported Representation")),G}),te()}).catch(function(){te()})}else te()})}(U,Y))}),Promise.all(N)}return i={setConfig:function(Y){Y&&(Y.adapter&&(r=Y.adapter),Y.capabilities&&(l=Y.capabilities),Y.settings&&(E=Y.settings),Y.customParametersModel&&(R=Y.customParametersModel))},filterUnsupportedFeatures:function(Y){return new Promise(function(B){var N=[];N.push(L(t.Z.VIDEO,Y)),N.push(L(t.Z.AUDIO,Y)),Promise.all(N).then(function(){E.get().streaming.capabilities.filterUnsupportedEssentialProperties&&function(U){U&&U.Period_asArray&&U.Period_asArray.length!==0&&U.Period_asArray.forEach(function(Z){Z.AdaptationSet_asArray=Z.AdaptationSet_asArray.filter(function(ce){return!ce.Representation_asArray||ce.Representation_asArray.length===0||(ce.Representation_asArray=ce.Representation_asArray.filter(function(te){var se=r.getEssentialPropertiesForRepresentation(te);if(se&&se.length>0)for(var de=0;de<se.length;){if(!l.supportsEssentialProperty(se[de]))return A.debug("[Stream] EssentialProperty not supported: "+se[de].schemeIdUri),!1;de+=1}return!0}),ce.Representation_asArray&&ce.Representation_asArray.length>0)})})}(Y),function(U){var Z=R.getCustomCapabilitiesFilters();Z&&Z.length!==0&&U&&U.Period_asArray&&U.Period_asArray.length!==0&&U.Period_asArray.forEach(function(ce){ce.AdaptationSet_asArray=ce.AdaptationSet_asArray.filter(function(te){return!te.Representation_asArray||te.Representation_asArray.length===0||(te.Representation_asArray=te.Representation_asArray.filter(function(se){return!Z.some(function(de){return!de(se)})}),te.Representation_asArray&&te.Representation_asArray.length>0)})})}(Y),B()}).catch(function(){B()})})}},A=(0,m.Z)(h).getInstance().getLogger(i),i}La.__dashjs_factory_name="CapabilitiesFilter";var cs=_.Z.getSingletonFactory(La),fs=function i(){(function(r,l){if(!(r instanceof l))throw new TypeError("Cannot call a class as a function")})(this,i),this.t=null,this.xywh=null,this.track=null,this.id=null,this.s=null,this.r=null};function Fa(){var i;return{initialize:function(r){if(i=new fs,!r)return null;var l=r.indexOf("#");if(l!==-1)for(var E=r.substr(l+1).split("&"),R=0,A=E.length;R<A;++R){var h=E[R],w=h.indexOf("=");if(w!==-1){var L=h.substring(0,w);i.hasOwnProperty(L)&&(i[L]=h.substr(w+1))}}},getURIFragmentData:function(){return i}}}Fa.__dashjs_factory_name="URIFragmentModel";var ds=_.Z.getSingletonFactory(Fa);function xa(){var i,r=this.context,l=(0,p.Z)(r).getInstance();return{getValue:function(){return i},setValue:function(E){i=E,E&&l.trigger(u.Z.MANIFEST_LOADED,{data:E})}}}xa.__dashjs_factory_name="ManifestModel";var gs=_.Z.getSingletonFactory(xa),zi=-.5;function ka(){var i,r,l,E,R=this.context,A=(0,Ae.Z)(R).getInstance();function h(Y,B){return isNaN(Y)?0:Y>0?(B&&r.warn("Supplied minimum playback rate is a positive value when it should be negative or 0. The supplied rate will not be applied and set to 0: 100% playback speed."),0):Y<zi?(B&&r.warn("Supplied minimum playback rate is out of range and will be limited to ".concat(zi,": ").concat(-50,"% playback speed.")),zi):Y}function w(Y,B){return isNaN(Y)?0:Y<0?(B&&r.warn("Supplied maximum playback rate is a negative value when it should be negative or 0. The supplied rate will not be applied and set to 0: 100% playback speed."),0):Y>1?(B&&r.warn("Supplied maximum playback rate is out of range and will be limited to ".concat(1,": ").concat(200,"% playback speed.")),1):Y}function L(){var Y=A.get().streaming.buffer.stableBufferTime>0?A.get().streaming.buffer.stableBufferTime:A.get().streaming.buffer.fastSwitchEnabled?20:12,B=l.getLiveDelay();return!isNaN(B)&&B>0?Math.min(Y,B):Y}return i={getCatchupMaxDrift:function(){if(!isNaN(A.get().streaming.liveCatchup.maxDrift)&&A.get().streaming.liveCatchup.maxDrift>0)return A.get().streaming.liveCatchup.maxDrift;var Y=E.getServiceDescriptionSettings();return Y&&Y.liveCatchup&&!isNaN(Y.liveCatchup.maxDrift)&&Y.liveCatchup.maxDrift>0?Y.liveCatchup.maxDrift:12},getCatchupModeEnabled:function(){return A.get().streaming.liveCatchup.enabled!==null?A.get().streaming.liveCatchup.enabled:l.getInitialCatchupModeActivated()},getStableBufferTime:L,getInitialBufferLevel:function(){var Y=A.get().streaming.buffer.initialBufferLevel;return isNaN(Y)||Y<0?0:Math.min(L(),Y)},getRetryAttemptsForType:function(Y){var B=isNaN(A.get().streaming.retryAttempts.lowLatencyMultiplyFactor)?5:A.get().streaming.retryAttempts.lowLatencyMultiplyFactor;return l.getLowLatencyModeEnabled()?A.get().streaming.retryAttempts[Y]*B:A.get().streaming.retryAttempts[Y]},getRetryIntervalsForType:function(Y){var B=isNaN(A.get().streaming.retryIntervals.lowLatencyReductionFactor)?10:A.get().streaming.retryIntervals.lowLatencyReductionFactor;return l.getLowLatencyModeEnabled()?A.get().streaming.retryIntervals[Y]/B:A.get().streaming.retryIntervals[Y]},getCatchupPlaybackRates:function(Y){var B=A.get().streaming.liveCatchup.playbackRate;if(!isNaN(B.min)||!isNaN(B.max))return{min:h(B.min,Y),max:w(B.max,Y)};var N=E.getServiceDescriptionSettings();if(N&&N.liveCatchup&&(!isNaN(N.liveCatchup.playbackRate.min)||!isNaN(N.liveCatchup.playbackRate.max))){var U=N.liveCatchup.playbackRate;return{min:h(U.min,Y),max:w(U.max,Y)}}return{min:-.5,max:.5}},getAbrBitrateParameter:function(Y,B){try{var N=A.get().streaming.abr[Y][B];if(!isNaN(N)&&N!==-1)return N;var U=E.getServiceDescriptionSettings();return U&&U[Y]&&!isNaN(U[Y][B])?U[Y][B]:-1}catch{return-1}},setConfig:function(Y){Y.playbackController&&(l=Y.playbackController),Y.serviceDescriptionController&&(E=Y.serviceDescriptionController)},reset:function(){}},r=(0,m.Z)(R).getInstance().getLogger(i),i}ka.__dashjs_factory_name="MediaPlayerModel";var hs=_.Z.getSingletonFactory(ka),ms=P(1767);function Za(i){var r=(i=i||{}).abrController,l=i.switchHistory,E=i.droppedFramesHistory,R=i.currentRequest,A=i.useBufferOccupancyABR,h=i.useL2AABR,w=i.useLoLPABR,L=i.streamProcessor?i.streamProcessor.getScheduleController():null,Y=i.streamProcessor?i.streamProcessor.getRepresentationInfo():null,B=i.videoModel?i.videoModel:null;function N(){return Y?Y.mediaInfo:null}return{getMediaType:function(){var U=N();return U?U.type:null},getMediaInfo:N,getDroppedFramesHistory:function(){return E},getCurrentRequest:function(){return R},getSwitchHistory:function(){return l},getStreamInfo:function(){var U=N();return U?U.streamInfo:null},getScheduleController:function(){return L},getAbrController:function(){return r},getRepresentationInfo:function(){return Y},useBufferOccupancyABR:function(){return A},useL2AABR:function(){return h},useLoLPABR:function(){return w},getVideoModel:function(){return B}}}Za.__dashjs_factory_name="RulesContext";var Ua=_.Z.getClassFactory(Za),pi=P(2068);function Ba(){var i=[],r=[];return{push:function(l){l.newValue===pi.Z.NO_CHANGE&&(l.newValue=l.oldValue),i[l.oldValue]||(i[l.oldValue]={noDrops:0,drops:0,dropSize:0});var E=l.newValue-l.oldValue,R=E<0?1:0,A=R?-E:0,h=R?0:1;if(i[l.oldValue].drops+=R,i[l.oldValue].dropSize+=A,i[l.oldValue].noDrops+=h,r.push({idx:l.oldValue,noDrop:h,drop:R,dropSize:A}),r.length>8){var w=r.shift();i[w.idx].drops-=w.drop,i[w.idx].dropSize-=w.dropSize,i[w.idx].noDrops-=w.noDrop}},getSwitchRequests:function(){return i},reset:function(){i=[],r=[]}}}Ba.__dashjs_factory_name="SwitchRequestHistory";var ps=_.Z.getClassFactory(Ba);function Ga(){var i={},r={},l={};return{push:function(E,R,A){if(R){i[E]||(i[E]=[],r[E]=0,l[E]=0);var h=A&&A.droppedVideoFrames?A.droppedVideoFrames:0,w=A&&A.totalVideoFrames?A.totalVideoFrames:0,L=h-r[E];r[E]=h;var Y=w-l[E];l[E]=w;var B=i[E];isNaN(R)||(B[R]?(B[R].droppedVideoFrames+=L,B[R].totalVideoFrames+=Y):B[R]={droppedVideoFrames:L,totalVideoFrames:Y})}},getFrameHistory:function(E){return i[E]},clearForStream:function(E){try{delete i[E],delete r[E],delete l[E]}catch{}},reset:function(){i={},r={},l={}}}}Ga.__dashjs_factory_name="DroppedFramesHistory";var ys=_.Z.getClassFactory(Ga);function qa(i){var r,l,E,R,A,h=this.context,w=(i=i||{}).settings,L=(0,p.Z)(h).getInstance();function Y(te,se,de,G){var ie=Math.pow(.5,de/G.fast);te.fastEstimate=(1-ie)*se+ie*te.fastEstimate;var j=Math.pow(.5,de/G.slow);te.slowEstimate=(1-j)*se+j*te.slowEstimate,te.totalWeight+=de}function B(te,se,de){return w.get().streaming.abr.movingAverageMethod!==t.Z.MOVING_AVERAGE_SLIDING_WINDOW?function(G,ie){var j=G?A.throughputHalfLife:A.latencyHalfLife,le=G?E[ie]:R[ie];if(!le||le.totalWeight<=0)return NaN;var g=le.fastEstimate/(1-Math.pow(.5,le.totalWeight/j.fast)),M=le.slowEstimate/(1-Math.pow(.5,le.totalWeight/j.slow));return G?Math.min(g,M):Math.max(g,M)}(te,se):function(G,ie,j){var le=function(M,C,D){var b,ne;if(M?(b=r[C],ne=D?3:4):(b=l[C],ne=4),b){if(ne>=b.length)ne=b.length;else if(M)for(var z=1;z<ne;++z){var oe=b[b.length-z]/b[b.length-z-1];if((oe>=1.3||oe<=.7692307692307692)&&(ne+=1)===b.length)break}}else ne=0;return ne}(G,ie,j),g=(G?r:l)[ie];return le!==0&&g&&g.length!==0?(g=g.slice(-le)).reduce(function(M,C){return M+C})/g.length:NaN}(te,se,de)}function N(te,se){return B(!0,te,se)}function U(te){r[te]=r[te]||[],l[te]=l[te]||[],E[te]=E[te]||{fastEstimate:0,slowEstimate:0,totalWeight:0},R[te]=R[te]||{fastEstimate:0,slowEstimate:0,totalWeight:0}}function Z(){r={},l={},E={},R={}}var ce={push:function(te,se,de){if(se.trace&&se.trace.length){var G,ie=se.tresponse.getTime()-se.trequest.getTime()||1,j=se._tfinish.getTime()-se.tresponse.getTime()||1,le=se.trace.reduce(function(D,b){return D+b.b[0]},0),g=0;if((G=se._fileLoaderType&&se._fileLoaderType===t.Z.FILE_LOADER_TYPES.FETCH?se.trace.reduce(function(D,b){return D+b.d},0):de?j:ie+j)!==0&&(g=Math.round(8*le/G)),se.cmsd){var M=se.cmsd.dynamic&&se.cmsd.dynamic.etp?se.cmsd.dynamic.etp:null;if(M){var C=w.get().streaming.cmsd.abr.etpWeightRatio;C>0&&C<=1&&(g=g*(1-C)+M*C)}}if(U(te),function(D,b,ne){return D===t.Z.VIDEO?ne<w.get().streaming.cacheLoadThresholds[t.Z.VIDEO]:D===t.Z.AUDIO?ne<w.get().streaming.cacheLoadThresholds[t.Z.AUDIO]:void 0}(te,0,j)){if(r[te].length>0&&!r[te].hasCachedEntries)return;r[te].hasCachedEntries=!0}else r[te]&&r[te].hasCachedEntries&&function(D){delete r[D],delete l[D],delete E[D],delete R[D],U(D)}(te);r[te].push(g),L.trigger(n.Z.THROUGHPUT_MEASUREMENT_STORED,{throughput:g,mediaType:te,httpRequest:se}),r[te].length>20&&r[te].shift(),l[te].push(ie),l[te].length>20&&l[te].shift(),Y(E[te],g,.001*j,A.throughputHalfLife),Y(R[te],ie,1,A.latencyHalfLife)}},getAverageThroughput:N,getSafeAverageThroughput:function(te,se){var de=N(te,se);return isNaN(de)||(de*=w.get().streaming.abr.bandwidthSafetyFactor),de},getAverageLatency:function(te){return B(!1,te)},reset:Z};return A={throughputHalfLife:{fast:3,slow:8},latencyHalfLife:{fast:1,slow:2}},Z(),ce}qa.__dashjs_factory_name="ThroughputHistory";var Es=_.Z.getClassFactory(qa);function Wi(){var i,r,l,E,R,A,h,w,L,Y,B,N,U,Z,ce,te,se,de,G,ie,j,le,g,M,C,D,b,ne=this.context,z=(0,m.Z)(ne).getInstance(),oe=(0,p.Z)(ne).getInstance();function Q(){R={},A={},w={},h={},ie={},g={},M={},C={},Y===void 0&&(Y=!1),j&&j.reset(),G=void 0,j=void 0,le=void 0,clearTimeout(L),L=null}function x(Ee){var Fe=Ee.request.mediaType,lt=Ee.streamId;if(Fe&&lt&&h[lt]&&b.get().streaming.abr.autoSwitchBitrate[Fe]){var qe=h[lt][Fe];if(qe){var ht=Ua(ne).create({abrController:i,streamProcessor:qe,currentRequest:Ee.request,useBufferOccupancyABR:g[Fe],useL2AABR:M[Fe],useLoLPABR:C[Fe],videoModel:Z}),gt=l.shouldAbandonFragment(ht,lt);gt.quality>pi.Z.NO_CHANGE&&qe.getFragmentModel().getRequests({state:K.FRAGMENT_MODEL_LOADING,index:Ee.request.index})[0]&&(w[lt][Fe].state=y.Z.ABANDON_LOAD,ie[lt][Fe].reset(),ie[lt][Fe].push({oldValue:Ce(Fe,lt),newValue:gt.quality,confidence:1,reason:gt.reason}),Ie(Fe,E.getActiveStreamInfo(),gt.quality,gt.reason),clearTimeout(L),L=setTimeout(function(){w[lt][Fe].state=y.Z.ALLOW_LOAD,L=null},b.get().streaming.abandonLoadTimeout))}}}function J(Ee){Ee.mediaType===t.Z.VIDEO&&(G!==void 0&&j.push(Ee.streamId,G,Z.getPlaybackQuality()),G=Ee.newQuality)}function he(Ee){var Fe,lt;Ee.metric!==y.Z.HTTP_REQUEST||!Ee.value||Ee.value.type!==Le.w.MEDIA_SEGMENT_TYPE||Ee.mediaType!==t.Z.AUDIO&&Ee.mediaType!==t.Z.VIDEO||le.push(Ee.mediaType,Ee.value,b.get().streaming.abr.useDeadTimeLatency),Ee.metric!==y.Z.BUFFER_LEVEL||Ee.mediaType!==t.Z.AUDIO&&Ee.mediaType!==t.Z.VIDEO||(Fe=Ee.mediaType,lt=.001*Ee.value.level,b.get().streaming.abr.ABRStrategy===t.Z.ABR_STRATEGY_DYNAMIC&&function(qe,ht){try{var gt=ce.getStableBufferTime(),st=gt,qt=.5*gt,Gt=g[qe],an=ht>(Gt?qt:st);g[qe]=an,an!==Gt&&(an?r.info("["+qe+"] switching from throughput to buffer occupancy ABR rule (buffer: "+ht.toFixed(3)+")."):r.info("["+qe+"] switching from buffer occupancy to throughput ABR rule (buffer: "+ht.toFixed(3)+")."))}catch(un){r.error(un)}}(Fe,lt))}function Ne(Ee,Fe){try{var lt;return R[Fe]=R[Fe]||{},R[Fe].hasOwnProperty(Ee)||(R[Fe][Ee]=0),lt=function(qe,ht){var gt=R[ht][qe],st=gt;if(!h[ht]||!h[ht][qe])return st;var qt=Te(qe,ht);qt!==void 0&&(st=Math.max(gt,qt));var Gt=function(an,un){try{var Be=ce.getAbrBitrateParameter("maxBitrate",an);return Be>-1?We(h[un][an].getMediaInfo(),Be,un):void 0}catch{return}}(qe,ht);return Gt!==void 0&&(st=Math.min(st,Gt)),st}(Ee,Fe),lt=function(qe,ht,gt){var st=R[gt][ht],qt=b.get().streaming.abr.maxRepresentationRatio[ht];return isNaN(qt)||qt>=1||qt<0?qe:Math.min(qe,Math.round(st*qt))}(lt,Ee,Fe),lt=function(qe,ht,gt){if(ht!==t.Z.VIDEO||!b.get().streaming.abr.limitBitrateByPortal||!h[gt]||!h[gt][ht])return qe;Y||Mt();var st=h[gt][ht].getStreamInfo(),qt=U.getAdaptationForType(st.index,ht,st).Representation_asArray,Gt=qe;if(B>0&&N>0){for(;Gt>0&&qt[Gt]&&B<qt[Gt].width&&B-qt[Gt-1].width<qt[Gt].width-B;)Gt-=1;for(;Gt<qt.length-1&&qt[Gt].width===qt[Gt+1].width;)Gt+=1}return Gt}(lt,Ee,Fe),b.get().streaming.cmsd.enabled&&b.get().streaming.cmsd.abr.applyMb&&(lt=function(qe,ht,gt){if(ht!=="video")return qe;var st=se.getMaxBitrate(ht);if(st<0)return qe;var qt=nt(gt,"audio",Ce("audio",gt));st-=qt?qt.bitrate/1e3:0;var Gt=We(h[gt][ht].getMediaInfo(),st,gt);return r.debug("Stream ID: "+gt+" ["+ht+"] Apply max bit rate from CMSD: "+st),Math.min(qe,Gt)}(lt,Ee,Fe)),lt}catch{return}}function Te(Ee,Fe){try{return function(lt,qe){try{var ht=ce.getAbrBitrateParameter("minBitrate",lt);if(ht>-1){var gt=h[qe][lt].getMediaInfo(),st=Xe(gt),qt=We(gt,ht,qe);return st[qt]&&qt<st.length-1&&st[qt].bitrate<1e3*ht&&qt++,qt}return}catch{return}}(Ee,Fe)}catch{return}}function Ce(Ee){var Fe=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;try{return Fe||(Fe=E.getActiveStreamInfo().id),Ee&&h[Fe]&&h[Fe][Ee]&&Fe?(A[Fe]=A[Fe]||{},A[Fe].hasOwnProperty(Ee)||(A[Fe][Ee]=0),A[Fe][Ee]):0}catch{return 0}}function Ie(Ee,Fe,lt){var qe=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;if(Fe&&Fe.id&&Ee){var ht=Fe.id,gt=Ce(Ee,ht);(0,W.SE)(lt);var st=Ne(Ee,ht);lt!==gt&&lt>=0&&lt<=st&&et(Ee,gt,lt,st,qe,ht)}}function et(Ee,Fe,lt,qe,ht,gt){if(Ee&&h[gt]&&h[gt][Ee]){var st=h[gt][Ee].getStreamInfo(),qt=st&&st.manifestInfo&&st.manifestInfo.isDynamic,Gt=D.getCurrentBufferLevel(Ee);r.info("Stream ID: "+gt+" ["+Ee+"] switch from "+Fe+" to "+lt+"/"+qe+" (buffer: "+Gt+") "+(ht?JSON.stringify(ht):".")),A[gt]=A[gt]||{},A[gt][Ee]=lt;var an=nt(gt,Ee,lt);oe.trigger(u.Z.QUALITY_CHANGE_REQUESTED,{oldQuality:Fe,newQuality:lt,reason:ht,streamInfo:st,bitrateInfo:an,maxIdx:qe,mediaType:Ee},{streamId:st.id,mediaType:Ee});var un=le.getAverageThroughput(Ee,qt);isNaN(un)||de.setSavedBitrateSettings(Ee,un)}}function nt(Ee,Fe,lt){if(Fe&&h&&h[Ee]&&h[Ee][Fe]){var qe=Xe(h[Ee][Fe].getMediaInfo());return qe[lt]?qe[lt]:null}return null}function We(Ee,Fe,lt){var qe=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null,ht=Ee&&Ee.type?h[lt][Ee.type].getRepresentationInfo():null;if(b.get().streaming.abr.useDeadTimeLatency&&qe&&ht&&ht.fragmentDuration){qe/=1e3;var gt=ht.fragmentDuration;if(qe>gt)return 0;var st=qe/gt;Fe*=1-st}for(var qt=Xe(Ee),Gt=qt.length-1;Gt>=0;Gt--){var an=qt[Gt];if(1e3*Fe>=an.bitrate)return Gt}return 0}function Xe(Ee){var Fe=[];if(!Ee||!Ee.bitrateList)return Fe;for(var lt,qe=Ee.bitrateList,ht=Ee.type,gt=0,st=qe.length;gt<st;gt++)(lt=new ei).mediaType=ht,lt.qualityIndex=gt,lt.bitrate=qe[gt].bandwidth,lt.width=qe[gt].width,lt.height=qe[gt].height,lt.scanType=qe[gt].scanType,Fe.push(lt);return Fe}function Mt(){if(Z){var Ee=b.get().streaming.abr.usePixelRatioInLimitBitrateByPortal&&window.hasOwnProperty("devicePixelRatio")?window.devicePixelRatio:1;B=Z.getClientWidth()*Ee,N=Z.getClientHeight()*Ee}}return i={initialize:function(){j=ys(ne).create(),le=Es(ne).create({settings:b}),(l=(0,ms.Z)(ne).create({dashMetrics:D,customParametersModel:te,mediaPlayerModel:ce,settings:b})).initialize(),oe.on(n.Z.QUALITY_CHANGE_RENDERED,J,i),oe.on(n.Z.METRIC_ADDED,he,i),oe.on(u.Z.LOADING_PROGRESS,x,i)},isPlayingAtTopQuality:function(Ee){var Fe=Ee?Ee.id:null,lt=Ce(t.Z.AUDIO,Fe),qe=Ce(t.Z.VIDEO,Fe);return lt===Ne(t.Z.AUDIO,Fe)&&qe===Ne(t.Z.VIDEO,Fe)},updateTopQualityIndex:function(Ee){var Fe=Ee.type,lt=Ee.streamInfo.id,qe=Ee.representationCount-1;return R[lt]=R[lt]||{},R[lt][Fe]=qe,qe},clearDataForStream:function(Ee){j&&j.clearForStream(Ee),h[Ee]&&delete h[Ee],ie[Ee]&&delete ie[Ee],w[Ee]&&delete w[Ee]},getThroughputHistory:function(){return le},getBitrateList:Xe,getQualityForBitrate:We,getTopBitrateInfoFor:function(Ee){var Fe=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;if(Fe||(Fe=E.getActiveStreamInfo().id),Ee&&h&&h[Fe]&&h[Fe][Ee]){var lt=Ne(Ee,Fe),qe=Xe(h[Fe][Ee].getMediaInfo());return qe[lt]?qe[lt]:null}return null},getMinAllowedIndexFor:Te,getMaxAllowedIndexFor:Ne,getInitialBitrateFor:function(Ee,Fe){if(function(){if(!de||!de.hasOwnProperty("getSavedBitrateSettings"))throw new Error(t.Z.MISSING_CONFIG_ERROR)}(),Ee===t.Z.TEXT)return NaN;var lt=de.getSavedBitrateSettings(Ee),qe=ce.getAbrBitrateParameter("initialBitrate",Ee),ht=b.get().streaming.abr.initialRepresentationRatio[Ee];if(qe===-1)if(ht>-1){var gt=h[Fe][Ee].getStreamInfo(),st=U.getAdaptationForType(gt.index,Ee,gt).Representation_asArray;qe=Array.isArray(st)?st[Math.max(Math.round(st.length*ht)-1,0)].bandwidth/1e3:0}else qe=isNaN(lt)?Ee===t.Z.VIDEO?1e3:100:lt;return qe},getQualityFor:Ce,getAbandonmentStateFor:function(Ee,Fe){return w[Ee]&&w[Ee][Fe]?w[Ee][Fe].state:null},setPlaybackQuality:Ie,checkPlaybackQuality:function(Ee,Fe){try{if(!(Ee&&h&&h[Fe]&&h[Fe][Ee]))return!1;if(j){var lt=Z.getPlaybackQuality();lt&&j.push(Fe,G,lt)}if(!b.get().streaming.abr.autoSwitchBitrate[Ee])return!1;var qe=Ce(Ee,Fe),ht=Ua(ne).create({abrController:i,switchHistory:ie[Fe][Ee],droppedFramesHistory:j,streamProcessor:h[Fe][Ee],currentValue:qe,useBufferOccupancyABR:g[Ee],useL2AABR:M[Ee],useLoLPABR:C[Ee],videoModel:Z}),gt=Te(Ee,Fe),st=Ne(Ee,Fe),qt=l.getMaxQuality(ht),Gt=qt.quality;return gt!==void 0&&(Gt>pi.Z.NO_CHANGE?Gt:qe)<gt&&(Gt=gt),Gt>st&&(Gt=st),ie[Fe][Ee].push({oldValue:qe,newValue:Gt}),Gt>pi.Z.NO_CHANGE&&Gt!==qe&&(w[Fe][Ee].state===y.Z.ALLOW_LOAD||Gt<qe)&&(et(Ee,qe,Gt,st,qt.reason,Fe),!0)}catch{return!1}},setElementSize:Mt,setWindowResizeEventCalled:function(Ee){Y=Ee},registerStreamType:function(Ee,Fe){var lt=Fe.getStreamInfo().id;h[lt]||(h[lt]={}),ie[lt]||(ie[lt]={}),w[lt]||(w[lt]={}),ie[lt][Ee]=ps(ne).create(),h[lt][Ee]=Fe,w[lt][Ee]={},w[lt][Ee].state=y.Z.ALLOW_LOAD,function(qe){var ht=b.get().streaming.abr.ABRStrategy;ht===t.Z.ABR_STRATEGY_L2A?(g[qe]=!1,C[qe]=!1,M[qe]=!0):ht===t.Z.ABR_STRATEGY_LoLP?(g[qe]=!1,C[qe]=!0,M[qe]=!1):ht===t.Z.ABR_STRATEGY_BOLA?(g[qe]=!0,C[qe]=!1,M[qe]=!1):ht===t.Z.ABR_STRATEGY_THROUGHPUT?(g[qe]=!1,C[qe]=!1,M[qe]=!1):ht===t.Z.ABR_STRATEGY_DYNAMIC&&(g[qe]=!(!g||!g[qe])&&g[qe],C[qe]=!1,M[qe]=!1)}(Ee),Ee===t.Z.VIDEO&&Mt()},unRegisterStreamType:function(Ee,Fe){try{h[Ee]&&h[Ee][Fe]&&delete h[Ee][Fe],ie[Ee]&&ie[Ee][Fe]&&delete ie[Ee][Fe],w[Ee]&&w[Ee][Fe]&&delete w[Ee][Fe]}catch{}},setConfig:function(Ee){Ee&&(Ee.streamController&&(E=Ee.streamController),Ee.domStorage&&(de=Ee.domStorage),Ee.mediaPlayerModel&&(ce=Ee.mediaPlayerModel),Ee.customParametersModel&&(te=Ee.customParametersModel),Ee.cmsdModel&&(se=Ee.cmsdModel),Ee.dashMetrics&&(D=Ee.dashMetrics),Ee.adapter&&(U=Ee.adapter),Ee.videoModel&&(Z=Ee.videoModel),Ee.settings&&(b=Ee.settings))},reset:function(){Q(),oe.off(u.Z.LOADING_PROGRESS,x,i),oe.off(n.Z.QUALITY_CHANGE_RENDERED,J,i),oe.off(n.Z.METRIC_ADDED,he,i),l&&l.reset()}},r=z.getLogger(i),Q(),i}Wi.__dashjs_factory_name="AbrController";var Xi=_.Z.getSingletonFactory(Wi);Xi.QUALITY_DEFAULT=0,_.Z.updateSingletonFactory(Wi.__dashjs_factory_name,Xi);var vs=Xi,_s=new Map([[t.Z.VIDEO_ELEMENT_READY_STATES.HAVE_METADATA,"loadedmetadata"],[t.Z.VIDEO_ELEMENT_READY_STATES.HAVE_CURRENT_DATA,"loadeddata"],[t.Z.VIDEO_ELEMENT_READY_STATES.HAVE_FUTURE_DATA,"canplay"],[t.Z.VIDEO_ELEMENT_READY_STATES.HAVE_ENOUGH_DATA,"canplaythrough"]]);function Ya(){var i,r,l,E,R,A,h,w,L=this.context,Y=(0,p.Z)(L).getInstance(),B=[];function N(){l&&(l.playbackRate=1,l.removeEventListener("canplay",N))}function U(){return B.length>0}function Z(){if(l&&U()&&l.playbackRate===0){var j=document.createEvent("Event");j.initEvent("waiting",!0,!1),l.dispatchEvent(j)}}function ce(j,le){l&&l.addEventListener(j,le)}function te(j,le){l&&l.removeEventListener(j,le)}function se(){return l?l.readyState:NaN}function de(){return l?l.buffered:null}function G(j,le,g,M,C){if(l){for(var D=0;D<l.textTracks.length;D++)if(l.textTracks[D].kind===j&&(!le||l.textTracks[D].label==le)&&l.textTracks[D].language===g&&l.textTracks[D].isTTML===M&&l.textTracks[D].isEmbedded===C)return l.textTracks[D]}return null}function ie(j,le){return j===t.Z.VIDEO_ELEMENT_READY_STATES.HAVE_NOTHING||se()>=j?(le(),null):function(g,M){var C=function D(){te(g,D),M(g)};return ce(g,C),{func:C,event:g}}(_s.get(j),le)}return i={addEventListener:ce,addTextTrack:function(j,le,g,M,C){if(!l)return null;var D=G(j,le,g,M,C);return D||((D=l.addTextTrack(j,le,g)).isEmbedded=C,D.isTTML=M),D},appendChild:function(j){l&&(l.appendChild(j),j.isTTML!==void 0&&(l.textTracks[l.textTracks.length-1].isTTML=j.isTTML,l.textTracks[l.textTracks.length-1].isEmbedded=j.isEmbedded))},getBufferRange:de,getClientHeight:function(){return l?l.clientHeight:NaN},getClientWidth:function(){return l?l.clientWidth:NaN},getElement:function(){return l},getEnded:function(){return l?l.ended:null},getPlaybackQuality:function(){if(!l)return null;var j="webkitDroppedFrameCount"in l&&"webkitDecodedFrameCount"in l,le=null;return"getVideoPlaybackQuality"in l?le=l.getVideoPlaybackQuality():j&&(le={droppedVideoFrames:l.webkitDroppedFrameCount,totalVideoFrames:l.webkitDroppedFrameCount+l.webkitDecodedFrameCount,creationTime:new Date}),le},getPlaybackRate:function(){return l?l.playbackRate:null},getPlayedRanges:function(){return l?l.played:null},getReadyState:se,getSource:function(){return l?l.src:null},getTTMLRenderingDiv:function(){return A},getTextTrack:G,getTextTracks:function(){return l?l.textTracks:[]},getTime:function(){return l?isNaN(E)?l.currentTime:E:null},getVideoHeight:function(){return l?l.videoHeight:NaN},getVideoRelativeOffsetLeft:function(){if(l){var j=l.parentNode.host||l.parentNode;return j?l.getBoundingClientRect().left-j.getBoundingClientRect().left:NaN}return NaN},getVideoRelativeOffsetTop:function(){if(l){var j=l.parentNode.host||l.parentNode;return j?l.getBoundingClientRect().top-j.getBoundingClientRect().top:NaN}return NaN},getVideoWidth:function(){return l?l.videoWidth:NaN},getVttRenderingDiv:function(){return h},initialize:function(){Y.on(u.Z.PLAYBACK_PLAYING,Z,this)},isPaused:function(){return l?l.paused:null},isSeeking:function(){return l?l.seeking||!isNaN(E):null},isStalled:U,pause:function(){l&&(l.pause(),l.autoplay=!1)},play:function(){if(l){l.autoplay=!0;var j=l.play();j&&j.catch&&typeof Promise<"u"&&j.catch(function(le){le.name==="NotAllowedError"&&Y.trigger(u.Z.PLAYBACK_NOT_ALLOWED),r.warn("Caught pending play exception - continuing (".concat(le,")"))})}},removeChild:function(j){l&&l.removeChild(j)},removeEventListener:te,reset:function(){clearTimeout(w),Y.off(u.Z.PLAYBACK_PLAYING,Z,this)},setCurrentTime:function(j,le){l&&(R&&R.func&&R.event&&te(R.event,R.func),E=j,R=ie(t.Z.VIDEO_ELEMENT_READY_STATES.HAVE_METADATA,function(){if(l)if(l.currentTime!==E)try{E=le?function(g){var M=de(),C=g,D=9999999999;if(M)for(var b=0;b<M.length;b++){var ne=M.start(b),z=M.end(b),oe=Math.abs(ne-g),Q=Math.abs(z-g);if(g>=ne&&g<=z)return g;oe<D&&(D=oe,C=ne),Q<D&&(D=Q,C=z)}return C}(E):E,isNaN(E)||(l.currentTime=E),E=NaN}catch(g){l.readyState===0&&g.code===g.INVALID_STATE_ERR&&(w=setTimeout(function(){l.currentTime=E,E=NaN},400))}else E=NaN}))},setElement:function(j){if(!(j==null||j&&/^(VIDEO|AUDIO)$/i.test(j.nodeName)))throw"element is not video or audio DOM type!";(l=j)&&(l.preload="auto")},setPlaybackRate:function(j){var le=arguments.length>1&&arguments[1]!==void 0&&arguments[1];l&&(!le&&l.readyState<=2&&j>0?l.addEventListener("canplay",N):l.playbackRate=j)},setSource:function(j){l&&(j?l.src=j:(l.removeAttribute("src"),l.load()))},setStallState:function(j,le){(function(g,M){M?function(C){C!==null&&l&&!l.seeking&&B.indexOf(C)===-1&&B.push(C)}(g):function(C){var D=B.indexOf(C);C!==null&&D!==-1&&B.splice(D,1)}(g)})(j,le)},setTTMLRenderingDiv:function(j){(A=j).style.position="absolute",A.style.display="flex",A.style.overflow="hidden",A.style.pointerEvents="none",A.style.top=0,A.style.left=0},setVttRenderingDiv:function(j){h=j},waitForReadyState:ie,setDisableRemotePlayback:function(j){l&&(l.disableRemotePlayback=j)}},r=(0,m.Z)(L).getInstance().getLogger(i),E=NaN,i}Ya.__dashjs_factory_name="VideoModel";var Ts=_.Z.getSingletonFactory(Ya),Ss=[{oldKey:"dashjs_vbitrate",newKey:"dashjs_video_bitrate"},{oldKey:"dashjs_abitrate",newKey:"dashjs_audio_bitrate"},{oldKey:"dashjs_vsettings",newKey:"dashjs_video_settings"},{oldKey:"dashjs_asettings",newKey:"dashjs_audio_settings"}],ja="dashjs_?_bitrate",Ha="dashjs_?_settings",Ur="localStorage",Va="lastBitrate",Ka="lastMediaSettings";function za(i){i=i||{};var r,l,E,R=this.context,A=i.settings;function h(B){if(E!==void 0)return E;var N;E=!1;try{typeof window<"u"&&(N=window[B])}catch(U){return l.warn("DOMStorage access denied: "+U.message),E}if(!N||B!==Ur&&B!=="sessionStorage")return E;try{N.setItem("1","1"),N.removeItem("1"),E=!0}catch(U){l.warn("DOMStorage is supported, but cannot be used: "+U.message)}return E}function w(){var B=6e5;return Math.round(new Date().getTime()/B)*B}function L(B,N){return h(B)&&A.get().streaming[N+"CachingInfo"].enabled}function Y(){if(!A)throw new Error(t.Z.MISSING_CONFIG_ERROR)}return r={getSavedBitrateSettings:function(B){if(Y(),!A.get().streaming.lastBitrateCachingInfo.enabled)return NaN;var N=NaN;if(L(Ur,Va)){var U=ja.replace(/\?/,B);try{var Z=JSON.parse(localStorage.getItem(U))||{},ce=new Date().getTime()-parseInt(Z.timestamp,10)>=A.get().streaming.lastBitrateCachingInfo.ttl||!1,te=parseFloat(Z.bitrate);isNaN(te)||ce?ce&&localStorage.removeItem(U):(N=te,l.debug("Last saved bitrate for "+B+" was "+te))}catch{return null}}return N},setSavedBitrateSettings:function(B,N){if(L(Ur,Va)&&N){var U=ja.replace(/\?/,B);try{localStorage.setItem(U,JSON.stringify({bitrate:N.toFixed(3),timestamp:w()}))}catch(Z){l.error(Z.message)}}},getSavedMediaSettings:function(B){if(Y(),!A.get().streaming.lastMediaSettingsCachingInfo.enabled)return null;var N=null;if(L(Ur,Ka)){var U=Ha.replace(/\?/,B);try{var Z=JSON.parse(localStorage.getItem(U))||{},ce=new Date().getTime()-parseInt(Z.timestamp,10)>=A.get().streaming.lastMediaSettingsCachingInfo.ttl||!1;N=Z.settings,ce&&(localStorage.removeItem(U),N=null)}catch{return null}}return N},setSavedMediaSettings:function(B,N){if(L(Ur,Ka)){var U=Ha.replace(/\?/,B);try{localStorage.setItem(U,JSON.stringify({settings:N,timestamp:w()}))}catch(Z){l.error(Z.message)}}}},l=(0,m.Z)(R).getInstance().getLogger(r),h(Ur)&&Ss.forEach(function(B){var N=localStorage.getItem(B.oldKey);if(N){localStorage.removeItem(B.oldKey);try{localStorage.setItem(B.newKey,N)}catch(U){l.error(U.message)}}}),r}za.__dashjs_factory_name="DOMStorage";var bs=_.Z.getSingletonFactory(za),As=P(2032),Wa=P(2011);function Xa(){var i,r,l,E,R,A,h,w,L,Y,B,N,U,Z=this.context;function ce(G,ie,j,le){var g=null,M=G?U.resolve(G.path):null,C=le||{init:!0,url:M?M.url:void 0,range:{start:0,end:1500},searching:!1,bytesLoaded:0,bytesToLoad:1500,mediaType:ie};r.debug("Start searching for initialization.");var D=de(C);w.load({request:D,success:function(b){if(C.bytesLoaded=C.range.end,!(g=E.findInitRange(b)))return C.range.end=C.bytesLoaded+C.bytesToLoad,ce(G,ie,j,C);G.range=g,j(G)},error:function(){j(G)}}),r.debug("Perform init search: "+C.url)}function te(G,ie,j,le,g,M){if(j&&(j.start===void 0||j.end===void 0)){var C=j?j.toString().split("-"):null;j=C?{start:parseFloat(C[0]),end:parseFloat(C[1])}:null}g=g||se;var D=null,b=null,ne=!!j,z=G?U.resolve(G.path):null,oe={init:!1,url:z?z.url:void 0,range:ne?j:{start:0,end:1500},searching:!ne,bytesLoaded:M?M.bytesLoaded:0,bytesToLoad:1500,mediaType:ie},Q=de(oe);w.load({request:Q,success:function(x){var J=oe.bytesToLoad,he=x.byteLength;if(oe.bytesLoaded=oe.range.end-oe.range.start,D=E.parse(x),(b=D.getBox("sidx"))&&b.isComplete){var Ne,Te,Ce=b.references;if(Ce!=null&&Ce.length>0&&(Ne=Ce[0].reference_type===1),Ne){var Ie,et,nt,We;r.debug("Initiate multiple SIDX load."),oe.range.end=oe.range.start+b.size;var Xe=[],Mt=0,Ee=(b.offset||oe.range.start)+b.size,Fe=function(qe){qe?(Xe=Xe.concat(qe),++Mt>=et&&(Xe.sort(function(ht,gt){return ht.startTime-gt.startTime<0?-1:0}),g(Xe,G,le))):g(null,G,le)};for(Ie=0,et=Ce.length;Ie<et;Ie++)nt=Ee,We=Ee+Ce[Ie].referenced_size-1,Ee+=Ce[Ie].referenced_size,te(G,ie,{start:nt,end:We},le,Fe,oe)}else r.debug("Parsing segments from SIDX. representation "+ie+" - id: "+G.id+" for range : "+oe.range.start+" - "+oe.range.end),Te=function(qe,ht){for(var gt,st,qt,Gt,an=qe.references,un=an.length,Be=qe.timescale,ft=qe.earliest_presentation_time,$e=ht.range.start+qe.offset+qe.first_offset+qe.size,vt=[],wt=0;wt<un;wt++)qt=an[wt].subsegment_duration,Gt=an[wt].referenced_size,(gt=new Wa.Z).duration=qt,gt.startTime=ft,gt.timescale=Be,st=$e+Gt-1,gt.mediaRange=$e+"-"+st,vt.push(gt),ft+=qt,$e+=Gt;return vt}(b,oe),g(Te,G,le)}else{if(b)oe.range.start=b.offset||oe.range.start,oe.range.end=oe.range.start+(b.size||J);else{if(he<oe.bytesLoaded)return void g(null,G,le);var lt=D.getLastBox();lt&&lt.size?(oe.range.start=lt.offset+lt.size,oe.range.end=oe.range.start+J):oe.range.end+=J}te(G,ie,oe.range,le,null,oe)}},error:function(){g(null,G,le)}}),r.debug("Perform SIDX load for type ".concat(ie," : ").concat(oe.url," with range ").concat(oe.range.start," - ").concat(oe.range.end))}function se(G,ie,j){j({segments:G,representation:ie,error:G?void 0:new re.Z(L.SEGMENT_BASE_LOADER_ERROR_CODE,L.SEGMENT_BASE_LOADER_ERROR_MESSAGE)})}function de(G){if(G.url){var ie=new I.Z;return ie.setInfo(G),ie}}return i={setConfig:function(G){G.baseURLController&&(U=G.baseURLController),G.dashMetrics&&(A=G.dashMetrics),G.mediaPlayerModel&&(h=G.mediaPlayerModel),G.errHandler&&(l=G.errHandler),G.boxParser&&(E=G.boxParser),G.debug&&(r=G.debug.getLogger(i)),G.requestModifier&&(R=G.requestModifier),G.errors&&(L=G.errors),G.urlUtils&&(N=G.urlUtils),G.constants&&(Y=G.constants),G.dashConstants&&(B=G.dashConstants)},initialize:function(){w=Wn(Z).create({errHandler:l,dashMetrics:A,mediaPlayerModel:h,requestModifier:R,boxParser:E,errors:L,urlUtils:N,constants:Y,dashConstants:B})},loadInitialization:function(G,ie){return new Promise(function(j){ce(G,ie,j)})},loadSegments:function(G,ie,j){return new Promise(function(le){te(G,ie,j,le)})},reset:function(){w&&(w.abort(),w=null)}}}Xa.__dashjs_factory_name="SegmentBaseLoader";var Is=_.Z.getSingletonFactory(Xa);function Qa(i){var r;i=i||{};var l=new DataView(i.data),E=0;function R(h,w){var L=!0,Y=0;if(w===void 0&&(w=!1),h.tag>16777215?(l.getUint32(E)!==h.tag&&(L=!1),Y=4):h.tag>65535?(256*l.getUint16(E)+l.getUint8(E+2)!==h.tag&&(L=!1),Y=3):h.tag>255?(l.getUint16(E)!==h.tag&&(L=!1),Y=2):(l.getUint8(E)!==h.tag&&(L=!1),Y=1),!L&&h.required&&!w)throw new Error("required tag not found");return L&&(E+=Y),L}function A(h){var w=1,L=128,Y=-1,B=0,N=l.getUint8(E),U=0;for(U=0;U<8;U+=1){if((N&L)===L){B=h===void 0?N&~L:N,Y=U;break}L>>=1}for(U=0;U<Y;U+=1,w+=1)B=B<<8|255&l.getUint8(E+w);return E+=w,B}return r={getPos:function(){return E},setPos:function(h){E=h},consumeTag:R,consumeTagAndSize:function(h,w){var L=R(h,w);return L&&A(),L},parseTag:function(h){var w;return R(h),w=A(),r[h.parse](w)},skipOverElement:function(h,w){var L,Y=R(h,w);return Y&&(L=A(),E+=L),Y},getMatroskaCodedNum:A,getMatroskaFloat:function(h){var w;switch(h){case 4:w=l.getFloat32(E),E+=4;break;case 8:w=l.getFloat64(E),E+=8}return w},getMatroskaUint:function(h){if(h>4)return function(Y){for(var B=Math.floor(Number.MAX_SAFE_INTEGER/256),N=0,U=0;U<Y;U+=1){if(N>B)throw new Error("Value exceeds safe integer limit");N*=256;var Z=l.getUint8(E+U);if(N>Number.MAX_SAFE_INTEGER-Z)throw new Error("Value exceeds safe integer limit");N+=Z}return E+=Y,N}(h);for(var w=0,L=0;L<h;L+=1)w<<=8,w|=255&l.getUint8(E+L);return E+=h,w>>>0},moreData:function(){return E<l.byteLength}}}Qa.__dashjs_factory_name="EBMLParser";var Ja=_.Z.getClassFactory(Qa);function $a(){var i,r,l,E,R,A,h,w,L,Y,B=this.context;function N(U){var Z=new I.Z;return Z.setInfo(U),Z}return i={setConfig:function(U){if(!(U.baseURLController&&U.dashMetrics&&U.mediaPlayerModel&&U.errHandler))throw new Error(t.Z.MISSING_CONFIG_ERROR);Y=U.baseURLController,A=U.dashMetrics,h=U.mediaPlayerModel,E=U.errHandler,L=U.errors,r=U.debug.getLogger(i),R=U.requestModifier},initialize:function(){w=Wn(B).create({errHandler:E,dashMetrics:A,mediaPlayerModel:h,requestModifier:R,errors:L})},loadInitialization:function(U,Z){return new Promise(function(ce){var te=null,se=U?Y.resolve(U.path):null,de=U?U.range.split("-"):null,G={range:{start:de?parseFloat(de[0]):null,end:de?parseFloat(de[1]):null},request:te,url:se?se.url:void 0,init:!0,mediaType:Z};r.info("Start loading initialization."),te=N(G),w.load({request:te,success:function(){ce(U)},error:function(){ce(U)}}),r.debug("Perform init load: "+G.url)})},loadSegments:function(U,Z,ce){return new Promise(function(te){var se=null,de=U?Y.resolve(U.path):null,G=de?de.url:void 0;se=N({bytesLoaded:0,bytesToLoad:8192,range:{start:0,end:8192},request:se,url:G,init:!1,mediaType:Z}),r.debug("Parsing ebml header"),w.load({request:se,success:function(ie){(function(j,le,g,M){if(j&&j.byteLength!==0){var C,D,b,ne,z=Ja(B).create({data:j}),oe=g?g.split("-"):null,Q=null,x={url:le,range:{start:oe?parseFloat(oe[0]):null,end:oe?parseFloat(oe[1]):null},request:Q};for(r.debug("Parse EBML header: "+x.url),z.skipOverElement(l.EBML),z.consumeTag(l.Segment),b=z.getMatroskaCodedNum(),b+=z.getPos(),ne=z.getPos();z.moreData()&&!z.consumeTagAndSize(l.Segment.Info,!0);)if(!(z.skipOverElement(l.Segment.SeekHead,!0)||z.skipOverElement(l.Segment.Tracks,!0)||z.skipOverElement(l.Segment.Cues,!0)||z.skipOverElement(l.Void,!0)))throw new Error("no valid top level element found");for(;C===void 0;){var J=z.getMatroskaCodedNum(!0),he=z.getMatroskaCodedNum();J===l.Segment.Info.Duration.tag?C=z[l.Segment.Info.Duration.parse](he):z.setPos(z.getPos()+he)}Q=N(x),w.load({request:Q,success:function(Ne){D=function(Te,Ce,Ie,et){var nt,We,Xe,Mt,Ee,Fe,lt,qe;for(Xe=[],Ee=0,Fe=(We=function(ht){var gt,st,qt=[],Gt=Ja(B).create({data:ht});for(Gt.consumeTagAndSize(l.Segment.Cues);Gt.moreData()&&Gt.consumeTagAndSize(l.Segment.Cues.CuePoint,!0);){for((gt={}).CueTime=Gt.parseTag(l.Segment.Cues.CuePoint.CueTime),gt.CueTracks=[];Gt.moreData()&&Gt.consumeTag(l.Segment.Cues.CuePoint.CueTrackPositions,!0);){var an=Gt.getMatroskaCodedNum(),un=Gt.getPos();if((st={}).Track=Gt.parseTag(l.Segment.Cues.CuePoint.CueTrackPositions.CueTrack),st.Track===0)throw new Error("Cue track cannot be 0");st.ClusterPosition=Gt.parseTag(l.Segment.Cues.CuePoint.CueTrackPositions.CueClusterPosition),gt.CueTracks.push(st),Gt.setPos(un+an)}if(gt.CueTracks.length===0)throw new Error("Mandatory cuetrack not found");qt.push(gt)}if(qt.length===0)throw new Error("mandatory cuepoint not found");return qt}(Te)).length;Ee<Fe;Ee+=1)Mt=new Wa.Z,nt=Ee<We.length-1?We[Ee+1].CueTime-We[Ee].CueTime:et-We[Ee].CueTime,Mt.duration=nt,Mt.startTime=We[Ee].CueTime,Mt.timescale=1e3,lt=We[Ee].CueTracks[0].ClusterPosition+Ce,qe=Ee<We.length-1?We[Ee+1].CueTracks[0].ClusterPosition+Ce-1:Ie-1,Mt.mediaRange=lt+"-"+qe,Xe.push(Mt);return r.debug("Parsed cues: "+Xe.length+" cues."),Xe}(Ne,ne,b,C),M(D)},error:function(){r.error("Download Error: Cues "+x.url),M(null)}}),r.debug("Perform cues load: "+x.url+" bytes="+x.range.start+"-"+x.range.end)}else M(null)})(ie,G,ce,function(j){te({segments:j,representation:U,error:j?void 0:new re.Z(L.SEGMENT_BASE_LOADER_ERROR_CODE,L.SEGMENT_BASE_LOADER_ERROR_MESSAGE)})})},error:function(){te({representation:U,error:new re.Z(L.SEGMENT_BASE_LOADER_ERROR_CODE,L.SEGMENT_BASE_LOADER_ERROR_MESSAGE)})}})})},reset:function(){w&&(w.abort(),w=null)}},l={EBML:{tag:440786851,required:!0},Segment:{tag:408125543,required:!0,SeekHead:{tag:290298740,required:!0},Info:{tag:357149030,required:!0,TimecodeScale:{tag:2807729,required:!0,parse:"getMatroskaUint"},Duration:{tag:17545,required:!0,parse:"getMatroskaFloat"}},Tracks:{tag:374648427,required:!0},Cues:{tag:475249515,required:!0,CuePoint:{tag:187,required:!0,CueTime:{tag:179,required:!0,parse:"getMatroskaUint"},CueTrackPositions:{tag:183,required:!0,CueTrack:{tag:247,required:!0,parse:"getMatroskaUint"},CueClusterPosition:{tag:241,required:!0,parse:"getMatroskaUint"}}}}},Void:{tag:236,required:!0}},i}$a.__dashjs_factory_name="WebmSegmentBaseLoader";var Rs=_.Z.getSingletonFactory($a);function eo(i){i=i||{};var r,l,E,R=this.context,A=i.eventBus,h=i.events,w=i.dashMetrics,L=i.mediaPlayerModel,Y=i.errHandler,B=i.baseURLController,N=i.debug,U=i.boxParser,Z=i.requestModifier,ce=i.errors;function te(se){return(se?se.split("/")[1]:"").toLowerCase()==="webm"}return r={initialize:function(){l.initialize(),E.initialize()},getSegmentBaseInitSegment:function(se){return te(se.representation.mimeType)?E.loadInitialization(se.representation,se.mediaType):l.loadInitialization(se.representation,se.mediaType)},getSegmentList:function(se){return te(se.mimeType)?E.loadSegments(se.representation,se.mediaType,se.representation?se.representation.indexRange:null):l.loadSegments(se.representation,se.mediaType,se.representation?se.representation.indexRange:null)},reset:function(){l.reset(),E.reset()}},l=Is(R).getInstance(),E=Rs(R).getInstance(),l.setConfig({baseURLController:B,dashMetrics:w,mediaPlayerModel:L,errHandler:Y,eventBus:A,events:h,errors:ce,debug:N,boxParser:U,requestModifier:Z}),E.setConfig({baseURLController:B,dashMetrics:w,mediaPlayerModel:L,errHandler:Y,eventBus:A,events:h,errors:ce,debug:N,requestModifier:Z}),r}eo.__dashjs_factory_name="SegmentBaseController";var ws=_.Z.getSingletonFactory(eo),to=function i(){(function(r,l){if(!(r instanceof l))throw new TypeError("Cannot call a class as a function")})(this,i),this.id=null,this.quality=null,this.fragmentDuration=null,this.mediaInfo=null,this.MSETimeOffset=null},Qi=function i(){(function(r,l){if(!(r instanceof l))throw new TypeError("Cannot call a class as a function")})(this,i),this.id=null,this.index=null,this.type=null,this.streamInfo=null,this.representationCount=0,this.labels=null,this.lang=null,this.viewpoint=null,this.viewpointsWithSchemeIdUri=null,this.accessibility=null,this.accessibilitiesWithSchemeIdUri=null,this.audioChannelConfiguration=null,this.audioChannelConfigurationsWithSchemeIdUri=null,this.roles=null,this.rolesWithSchemeIdUri=null,this.codec=null,this.mimeType=null,this.contentProtection=null,this.isText=!1,this.KID=null,this.bitrateList=null,this.isFragmented=null,this.isEmbedded=null,this.selectionPriority=1,this.supplementalProperties={},this.supplementalPropertiesAsArray=[],this.essentialProperties={},this.essentialPropertiesAsArray=[],this.segmentAlignment=!1,this.subSegmentAlignment=!1},no=function i(){(function(r,l){if(!(r instanceof l))throw new TypeError("Cannot call a class as a function")})(this,i),this.id=null,this.index=null,this.start=NaN,this.duration=NaN,this.manifestInfo=null,this.isLast=!0},Ns=function i(){(function(r,l){if(!(r instanceof l))throw new TypeError("Cannot call a class as a function")})(this,i),this.dvrWindowSize=NaN,this.loadedTime=null,this.availableFrom=null,this.minBufferTime=NaN,this.duration=NaN,this.isDynamic=!1,this.maxFragmentDuration=null,this.serviceDescriptions=[],this.protocol=null};function Cs(i,r){for(var l=0;l<r.length;l++){var E=r[l];E.enumerable=E.enumerable||!1,E.configurable=!0,"value"in E&&(E.writable=!0),Object.defineProperty(i,E.key,E)}}var Ds=function(){function i(E){var R=this;(function(A,h){if(!(A instanceof h))throw new TypeError("Cannot call a class as a function")})(this,i),this.valid=E[0]=="/",this.path=E.split("/").filter(function(A){return A.length!==0}).map(function(A){var h={name:A},w=A.indexOf("[");if(w!=-1){h.name=A.substring(0,w);var L=A.substring(w+1,A.length-1);R.valid=R.valid&&L.indexOf("[")==-1;var Y=L.indexOf("=");Y!=-1?(h.attribute={name:L.substring(1,Y),value:L.substring(Y+1)},["'",'"'].indexOf(h.attribute.value[0])!=-1&&(h.attribute.value=h.attribute.value.substring(1,h.attribute.value.length-1))):h.position=parseInt(L,10)-1}return h})}var r,l;return r=i,(l=[{key:"isValid",value:function(){return this.valid}},{key:"findsElement",value:function(){return!this.findsAttribute()}},{key:"findsAttribute",value:function(){return this.path[this.path.length-1].name.startsWith("@")}},{key:"findsTextReplace",value:function(){return this.path[this.path.length-1].name==="text()"}},{key:"getMpdTarget",value:function(E,R){for(var A=null,h=E,w=1,L="MPD";w<this.path.length&&h!==null;){A=h;var Y=this.path[w];if(L=Y.name,w!==this.path.length-1||!L.startsWith("@")&&L!=="text()"){var B=A[L+"_asArray"]||[];B.length===0&&A[L]&&B.push(A[L]),Y.position?h=B[Y.position]||null:Y.attribute?function(){var N=Y.attribute;h=B.filter(function(U){return U[N.name]==N.value})[0]||null}():h=B[0]||null}w++}return h===null?null:L.startsWith("@")?{name:L.substring(1),leaf:h,target:h}:L==="text()"?{name:"__text",leaf:h,target:h}:{name:L,leaf:h,target:R?A:h}}}])&&Cs(r.prototype,l),i}();function Os(i,r){for(var l=0;l<r.length;l++){var E=r[l];E.enumerable=E.enumerable||!1,E.configurable=!0,"value"in E&&(E.writable=!0),Object.defineProperty(i,E.key,E)}}var Ms=function(){function i(E,R,A){(function(h,w){if(!(h instanceof w))throw new TypeError("Cannot call a class as a function")})(this,i),this.action=E,this.xpath=R,this.value=A,this.position=null}var r,l;return r=i,(l=[{key:"getMpdTarget",value:function(E){var R=this.action==="remove"||this.action==="replace"||this.position==="before"||this.position==="after";return this.xpath.getMpdTarget(E,R)}}])&&Os(r.prototype,l),i}();function ro(){var i,r,l=this.context;return i={getIsPatch:function(E){return E&&E.hasOwnProperty(e.Z.ORIGINAL_MPD_ID)||!1},getPublishTime:function(E){return E&&E.hasOwnProperty(e.Z.PUBLISH_TIME)?new Date(E[e.Z.PUBLISH_TIME]):null},getOriginalPublishTime:function(E){return E&&E.hasOwnProperty(e.Z.ORIGINAL_PUBLISH_TIME)?new Date(E[e.Z.ORIGINAL_PUBLISH_TIME]):null},getMpdId:function(E){return E&&E[e.Z.ORIGINAL_MPD_ID]||null},getPatchOperations:function(E){return E?(E.__children||[]).map(function(R){var A=Object.keys(R)[0];if(A!=="add"&&A!=="remove"&&A!=="replace")return r.warn("Ignoring node of invalid action: ".concat(A)),null;var h=R[A],w=h.sel;if(A==="add"&&h.type){if(!h.type.startsWith("@"))return r.warn("Ignoring add action for prefixed namespace declaration: ".concat(h.type,"=").concat(h.__text)),null;w="".concat(w,"/").concat(h.type)}var L=new Ds(w);if(!L.isValid())return r.warn("Ignoring action with invalid selector: ".concat(A," - ").concat(w)),null;var Y=null;L.findsAttribute()||L.findsTextReplace()?Y=h.__text||"":A!=="remove"&&(Y=h.__children.reduce(function(N,U){var Z=Object.keys(U)[0];return Z!=="#text"&&(N[Z]=N[Z]||[],N[Z].push(U[Z])),N},{}));var B=new Ms(A,L,Y);return A==="add"&&(B.position=h.pos),B}).filter(function(R){return!!R}):[]}},r=(0,m.Z)(l).getInstance().getLogger(i),i}ro.__dashjs_factory_name="PatchManifestModel";var Ps=_.Z.getSingletonFactory(ro);function io(){var i,r,l,E,R,A,h,w=this.context;function L(C,D,b){var ne,z=r.getAdaptationsForType(E[0].mpd.manifest,C,D);if(!z||z.length===0)return null;if(z.length>1&&b){var oe=N(b,D);if(R[b.id]&&R[b.id][D]){for(var Q=0,x=z.length;Q<x;Q++)if(Y(R[b.id][D],oe[Q]))return z[Q]}for(var J=0,he=z.length;J<he;J++)if(ne=z[J],r.getRolesForAdaptation(ne).filter(function(Ne){return Ne.value===e.Z.MAIN})[0])return z[J]}return z[0]}function Y(C,D){if(!C||!D)return!1;var b=C.id===D.id,ne=C.codec===D.codec,z=C.viewpoint===D.viewpoint,oe=JSON.stringify(C.viewpointsWithSchemeIdUri)===JSON.stringify(D.viewpointsWithSchemeIdUri),Q=C.lang===D.lang,x=C.roles.toString()===D.roles.toString(),J=JSON.stringify(C.rolesWithSchemeIdUri)===JSON.stringify(D.rolesWithSchemeIdUri),he=C.accessibility.toString()===D.accessibility.toString(),Ne=JSON.stringify(C.accessibilitiesWithSchemeIdUri)===JSON.stringify(D.accessibilitiesWithSchemeIdUri),Te=C.audioChannelConfiguration.toString()===D.audioChannelConfiguration.toString(),Ce=JSON.stringify(C.audioChannelConfigurationsWithSchemeIdUri)===JSON.stringify(D.audioChannelConfigurationsWithSchemeIdUri);return b&&ne&&z&&oe&&Q&&x&&J&&he&&Ne&&Te&&Ce}function B(C,D,b,ne,z,oe){var Q,x,J,he,Ne,Te,Ce=[];if(!ne||ne.length===0)return[];var Ie=r.getAdaptationsForPeriod(D);for(he=0,Te=ne.length;he<Te;he++)if(Q=ne[he],x=G(Ie[J=r.getIndexForAdaptation(Q,C,b.index)]),oe){var et=x.accessibility.length;for(Ne=0;Ne<et;Ne++)if(x){var nt=x.accessibility[Ne];if(nt.indexOf("cea-608:")===0){var We=nt.substring(8).split(";");if(We[0].substring(0,2)==="CC")for(Ne=0;Ne<We.length;Ne++)x||(x=G.call(this,Ie[J])),ie(x,We[Ne].substring(0,3),We[Ne].substring(4)),Ce.push(x),x=null;else for(Ne=0;Ne<We.length;Ne++)x||(x=G.call(this,Ie[J])),ie(x,"CC"+(Ne+1),We[Ne]),Ce.push(x),x=null}else nt.indexOf("cea-608")===0&&(ie(x,A.CC1,"eng"),Ce.push(x),x=null)}}else z===A.IMAGE?(x.type=A.IMAGE,Ce.push(x),x=null):x&&Ce.push(x);return Ce}function N(C,D,b){var ne=E,z=b,oe=[];if(z)le(),ne=U(z);else{if(!(E.length>0))return oe;z=E[0].mpd.manifest}var Q=de(C,ne),x=r.getAdaptationsForType(z,C?C.index:null,D);return oe=B(z,Q,C,x,D),D===A.TEXT&&(x=r.getAdaptationsForType(z,C?C.index:null,A.VIDEO),oe=oe.concat(B(z,Q,C,x,D,!0))),oe}function U(C){var D=Z(C);return r.getRegularPeriods(D)}function Z(C){var D=te(C);return r.getMpd(D)}function ce(){E=[],R={}}function te(C){return C||(E.length>0?E[0].mpd.manifest:null)}function se(C){try{var D=de(C.streamInfo,E),b=r.getAdaptationsForPeriod(D);return C&&C.streamInfo&&C.streamInfo.id!==void 0&&b?b[C.index]:null}catch{return null}}function de(C,D){for(var b=D.length,ne=0;ne<b;ne++){var z=D[ne];if(C&&C.id===z.id)return z}return null}function G(C){if(!C)return null;var D,b,ne,z,oe,Q=new Qi,x=C.period.mpd.manifest.Period_asArray[C.period.index].AdaptationSet_asArray[C.index];if(Q.id=C.id,Q.index=C.index,Q.type=C.type,Q.streamInfo=j(C.period),Q.representationCount=r.getRepresentationCount(x),Q.labels=r.getLabelsForAdaptation(x),Q.lang=r.getLanguageForAdaptation(x),Q.segmentAlignment=r.getSegmentAlignment(x),Q.subSegmentAlignment=r.getSubSegmentAlignment(x),D=r.getViewpointForAdaptation(x),Q.viewpoint=D.length?D[0].value:void 0,Q.viewpointsWithSchemeIdUri=D,oe=r.getAccessibilityForAdaptation(x),Q.accessibility=oe.map(function(Ce){var Ie=Ce.value,et=Ie;return Ce.schemeIdUri&&Ce.schemeIdUri.search("cea-608")>=0&&h!==void 0&&(et=Ie?"cea-608:"+Ie:"cea-608",Q.embeddedCaptions=!0),et}),Q.accessibilitiesWithSchemeIdUri=oe,b=r.getAudioChannelConfigurationForAdaptation(x),Q.audioChannelConfiguration=b.map(function(Ce){return Ce.value}),Q.audioChannelConfigurationsWithSchemeIdUri=b,Q.audioChannelConfiguration.length===0&&Array.isArray(x.Representation_asArray)&&x.Representation_asArray.length>0&&(ne=r.getAudioChannelConfigurationForRepresentation(x.Representation_asArray[0]),Q.audioChannelConfiguration=ne.map(function(Ce){return Ce.value}),Q.audioChannelConfigurationsWithSchemeIdUri=ne),z=r.getRolesForAdaptation(x),Q.roles=z.map(function(Ce){return Ce.value}),Q.rolesWithSchemeIdUri=z,Q.codec=r.getCodec(x),Q.mimeType=r.getMimeType(x),Q.contentProtection=r.getContentProtectionData(x),Q.bitrateList=r.getBitrateListForAdaptation(x),Q.selectionPriority=r.getSelectionPriority(x),Q.contentProtection){var J=Q.contentProtection.map(function(Ce){return r.getKID(Ce)}).filter(function(Ce){return Ce!==null});if(J.length){var he=J[0];Q.contentProtection.forEach(function(Ce){Ce.keyId=he})}}if(Q.isText=r.getIsText(x),Q.supplementalProperties=r.getSupplementalPropertiesForAdaptation(x),(!Q.supplementalProperties||Object.keys(Q.supplementalProperties).length===0)&&Array.isArray(x.Representation_asArray)&&x.Representation_asArray.length>0){var Ne=x.Representation_asArray.map(function(Ce){return r.getSupplementalPropertiesForRepresentation(Ce)});Ne.every(function(Ce){return JSON.stringify(Ce)===JSON.stringify(Ne[0])})&&(Q.supplementalProperties=Ne[0])}if(Q.supplementalPropertiesAsArray=r.getSupplementalPropertiesAsArrayForAdaptation(x),(!Q.supplementalPropertiesAsArray||Q.supplementalPropertiesAsArray.length===0)&&Array.isArray(x.Representation_asArray)&&x.Representation_asArray.length>0){var Te=x.Representation_asArray.map(function(Ce){return r.getSupplementalPropertiesAsArrayForRepresentation(Ce)});Te.every(function(Ce){return JSON.stringify(Ce)===JSON.stringify(Te[0])})&&(Q.supplementalPropertiesAsArray=Te[0])}return Q.essentialProperties=r.getEssentialPropertiesForAdaptation(x),Q.essentialPropertiesAsArray=r.getEssentialPropertiesAsArrayForAdaptation(x),Q.isFragmented=r.getIsFragmented(x),Q.isEmbedded=!1,Q}function ie(C,D,b){C.id=D,C.index=100+parseInt(D.substring(2,3)),C.type=A.TEXT,C.codec="cea-608-in-SEI",C.isEmbedded=!0,C.isFragmented=!1;var ne=oi()(b);C.lang=ne||b,C.roles=["caption"],C.rolesWithSchemeIdUri=[{schemeIdUri:"urn:mpeg:dash:role:2011",value:"caption"}]}function j(C){var D,b,ne=new no;return ne.id=C.id,ne.index=C.index,ne.start=C.start,ne.duration=C.duration,ne.manifestInfo=(D=C.mpd,(b=new Ns).dvrWindowSize=D.timeShiftBufferDepth,b.loadedTime=D.manifest.loadedTime,b.availableFrom=D.availabilityStartTime,b.minBufferTime=D.manifest.minBufferTime,b.maxFragmentDuration=D.maxSegmentDuration,b.duration=r.getDuration(D.manifest),b.isDynamic=r.getIsDynamic(D.manifest),b.serviceDescriptions=r.getServiceDescriptions(D.manifest),b.protocol=D.manifest.protocol,b),ne.isLast=C.mpd.manifest.Period_asArray.length===1||Math.abs(ne.start+ne.duration-ne.manifestInfo.duration)<1,ne}function le(){if(!A)throw new Error("setConfig function has to be called previously")}function g(C){return E.length>0?E[0].mpd.manifest.Period_asArray[C]:null}function M(C,D,b){var ne,z,oe,Q,x;if(C){for(ne=C.AdaptationSet_asArray,Q=0;Q<ne.length;Q+=1)for(oe=ne[Q].Representation_asArray,x=0;x<oe.length;x+=1)if(D===(z=oe[x]).id)return b?x:z}return null}return i={getBandwidthForRepresentation:function(C,D){var b;return(b=M(g(D),C))?b.bandwidth:null},getIndexForRepresentation:function(C,D){return function(b,ne){var z=M(b,ne,!0);return z!==null?z:-1}(g(D),C)},getMaxIndexForBufferType:function(C,D){return function(b,ne){var z,oe,Q,x;if(!b||!ne)return-1;for(oe=b.AdaptationSet_asArray,x=0;x<oe.length;x+=1)if(Q=(z=oe[x]).Representation_asArray,r.getIsTypeOf(z,ne))return Q.length;return-1}(g(D),C)},convertRepresentationToRepresentationInfo:function(C){if(C){var D=new to,b=C.adaptation.period.mpd.manifest.Period_asArray[C.adaptation.period.index].AdaptationSet_asArray[C.adaptation.index],ne=r.getRepresentationFor(C.index,b);return D.id=C.id,D.quality=C.index,D.bandwidth=r.getBandwidth(ne),D.fragmentDuration=C.segmentDuration||(C.segments&&C.segments.length>0?C.segments[0].duration:NaN),D.MSETimeOffset=C.MSETimeOffset,D.mediaInfo=G(C.adaptation),D}return null},getStreamsInfo:function(C,D){var b=[],ne=E;if(C&&(le(),ne=U(C)),ne.length>0){(!D||D>ne.length)&&(D=ne.length);for(var z=0;z<D;z++)b.push(j(ne[z]))}return b},getMediaInfoForType:function(C,D){if(E.length===0||!C)return null;var b=de(C,E);if(!b)return null;var ne=r.getAdaptationsForPeriod(b),z=L(C.index,D,C);return z?G(ne[r.getIndexForAdaptation(z,E[0].mpd.manifest,C.index)]):null},getAllMediaInfoForType:N,getAdaptationForType:L,getRealAdaptation:function(C,D){var b,ne,z=de(C,E);return b=D?D.id:null,E.length>0&&z&&(ne=b?r.getAdaptationForId(b,E[0].mpd.manifest,z.index):r.getAdaptationForIndex(D?D.index:null,E[0].mpd.manifest,z.index)),ne},getProducerReferenceTimes:function(C,D){var b,ne,z=de(C,E);return b=D?D.id:null,E.length>0&&z&&(ne=b?r.getAdaptationForId(b,E[0].mpd.manifest,z.index):r.getAdaptationForIndex(D?D.index:null,E[0].mpd.manifest,z.index)),ne?r.getProducerReferenceTimesForAdaptation(ne):[]},getRealPeriodByIndex:function(C){return r.getRealPeriodForIndex(C,E[0].mpd.manifest)},getEssentialPropertiesForRepresentation:function(C){try{return r.getEssentialPropertiesForRepresentation(C)}catch{return[]}},getVoRepresentations:function(C){var D=se(C);return r.getRepresentationsForAdaptation(D)},getEventsFor:function(C,D,b){var ne=[];if(E.length>0){var z=E[0].mpd.manifest;if(C instanceof no){var oe=de(C,E);ne=r.getEventsForPeriod(oe)}else if(C instanceof Qi){var Q=de(b,E);ne=r.getEventStreamForAdaptationSet(z,se(C),Q)}else if(C instanceof to){var x=de(b,E);ne=r.getEventStreamForRepresentation(z,D,x)}}return ne},getEvent:function(C,D,b,ne){try{if(!C||!D||isNaN(b)||!ne)return null;var z=C.scheme_id_uri,oe=C.value;if(!D[z+"/"+oe])return null;var Q,x=new Kn,J=C.timescale||1,he=ne.adaptation.period.start,Ne=D[z+"/"+oe],Te=isNaN(ne.presentationTimeOffset)?isNaN(Ne.presentationTimeOffset)?0:Ne.presentationTimeOffset:ne.presentationTimeOffset,Ce=C.presentation_time_delta/J;Q=C.version===0?he+b-Te+Ce:he-Te+Ce;var Ie=C.event_duration/J,et=C.id,nt=C.message_data;return x.eventStream=Ne,x.eventStream.value=oe,x.eventStream.timescale=J,x.duration=Ie,x.id=et,x.calculatedPresentationTime=Q,x.messageData=nt,x.presentationTimeDelta=Ce,x}catch{return null}},getMpd:Z,setConfig:function(C){C&&(C.constants&&(A=C.constants),C.cea608parser&&(h=C.cea608parser),C.errHandler&&r.setConfig({errHandler:C.errHandler}),C.BASE64&&r.setConfig({BASE64:C.BASE64}))},updatePeriods:function(C){if(!C)return null;le(),E=U(C)},getIsTextTrack:function(C){return r.getIsText(C)},getUTCTimingSources:function(){var C=te();return r.getUTCTimingSources(C)},getSuggestedPresentationDelay:function(){var C=E.length>0?E[0].mpd:null;return r.getSuggestedPresentationDelay(C)},getAvailabilityStartTime:function(C){var D=Z(C);return r.getAvailabilityStartTime(D)},getIsTypeOf:function(C,D){return r.getIsTypeOf(C,D)},getIsDynamic:function(C){var D=te(C);return r.getIsDynamic(D)},getDuration:function(C){var D=te(C);return r.getDuration(D)},getRegularPeriods:U,getContentSteering:function(C){return r.getContentSteering(C)},getLocation:function(C){return r.getLocation(C)},getPatchLocation:function(C){var D=r.getPatchLocation(C),b=r.getPublishTime(C);return D&&D.length!==0&&b?D.filter(function(ne){return isNaN(ne.ttl)||b.getTime()+ne.ttl>new Date().getTime()}):[]},getManifestUpdatePeriod:function(C){var D=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return r.getManifestUpdatePeriod(C,D)},getPublishTime:function(C){return r.getPublishTime(C)},getIsDVB:function(C){return r.hasProfile(C,"urn:dvb:dash:profile:dvb-dash:2014")},getIsPatch:function(C){return l.getIsPatch(C)},getBaseURLsFromElement:function(C){return r.getBaseURLsFromElement(C)},getRepresentationSortFunction:function(){return r.getRepresentationSortFunction()},getCodec:function(C,D,b){return r.getCodec(C,D,b)},getPeriodById:function(C){if(!C||E.length===0)return null;var D=E.filter(function(b){return b.id===C});return D&&D.length>0?D[0]:null},setCurrentMediaInfo:function(C,D,b){R[C]=R[C]||{},R[C][D]=R[C][D]||{},R[C][D]=b},isPatchValid:function(C,D){var b=r.getId(C),ne=l.getMpdId(D),z=r.getPublishTime(C),oe=l.getPublishTime(D),Q=l.getOriginalPublishTime(D);return!!(b&&ne&&b==ne&&z&&Q&&z.getTime()==Q.getTime()&&oe&&z.getTime()<oe.getTime())},applyPatchToManifest:function(C,D){l.getPatchOperations(D).forEach(function(b){var ne=b.getMpdTarget(C);if(ne!==null){var z=ne.name,oe=ne.target,Q=ne.leaf;if(b.xpath.findsAttribute()||z==="__text")switch(b.action){case"add":case"replace":oe[z]=b.value;break;case"remove":delete oe[z]}else{var x=(oe[z+"_asArray"]||[]).indexOf(Q),J=b.position==="prepend"||b.position==="before";if((b.action==="remove"||b.action==="replace")&&(delete oe[z],x!=-1)){var he=oe[z+"_asArray"];he.splice(x,1),he.length>1?oe[z]=he:he.length==1?oe[z]=he[0]:delete oe[z+"_asArray"]}b.action!=="add"&&b.action!=="replace"||Object.keys(b.value).forEach(function(Ne){var Te=b.value[Ne],Ce=oe[Ne+"_asArray"]||[];if(Ce.length===0&&oe[Ne]&&Ce.push(oe[Ne]),Ce.length===0)Ce=Te;else{var Ie=Ce.length;Ie=Ne==z&&x!=-1?x+(J?0:1)+(b.action=="replace"?-1:0):J?0:Ce.length,Ce.splice.apply(Ce,[Ie,0].concat(Te))}oe[Ne+"_asArray"]=Ce,oe[Ne]=Ce.length==1?Ce[0]:Ce})}}})},areMediaInfosEqual:Y,reset:ce},r=$t(w).getInstance(),l=Ps(w).getInstance(),ce(),i}io.__dashjs_factory_name="DashAdapter";var Ls=_.Z.getSingletonFactory(io);function Fs(i,r){for(var l=0;l<r.length;l++){var E=r[l];E.enumerable=E.enumerable||!1,E.configurable=!0,"value"in E&&(E.writable=!0),Object.defineProperty(i,E.key,E)}}var xs=function(){function i(){(function(E,R){if(!(E instanceof R))throw new TypeError("Cannot call a class as a function")})(this,i)}var r,l;return r=i,l=[{key:"round10",value:function(E,R){return function(A,h,w){return w===void 0||+w==0?Math[A](h):(w=+w,(h=+h)===null||isNaN(h)||typeof w!="number"||w%1!=0?NaN:(h=h.toString().split("e"),+((h=(h=Math[A](+(h[0]+"e"+(h[1]?+h[1]-w:-w)))).toString().split("e"))[0]+"e"+(h[1]?+h[1]+w:w))))}("round",E,R)}}],l&&Fs(r,l),i}(),ks=function i(){(function(r,l){if(!(r instanceof l))throw new TypeError("Cannot call a class as a function")})(this,i),this.TcpList=[],this.HttpList=[],this.RepSwitchList=[],this.BufferLevel=[],this.BufferState=[],this.PlayList=[],this.DroppedFrames=[],this.SchedulingInfo=[],this.DVRInfo=[],this.ManifestUpdate=[],this.RequestsQueue=null,this.DVBErrors=[]},Zs=function i(){(function(r,l){if(!(r instanceof l))throw new TypeError("Cannot call a class as a function")})(this,i),this.t=null,this.mt=null,this.to=null,this.lto=null},Us=function i(){(function(r,l){if(!(r instanceof l))throw new TypeError("Cannot call a class as a function")})(this,i),this.t=null,this.level=null},Bs=function i(){(function(r,l){if(!(r instanceof l))throw new TypeError("Cannot call a class as a function")})(this,i),this.target=null,this.state=y.Z.BUFFER_EMPTY},Gs=function i(){(function(r,l){if(!(r instanceof l))throw new TypeError("Cannot call a class as a function")})(this,i),this.time=null,this.range=null,this.manifestInfo=null},qs=function i(){(function(r,l){if(!(r instanceof l))throw new TypeError("Cannot call a class as a function")})(this,i),this.time=null,this.droppedFrames=null};function Ji(i,r){if(!(i instanceof r))throw new TypeError("Cannot call a class as a function")}var Ys=function i(){Ji(this,i),this.mediaType=null,this.type=null,this.requestTime=null,this.fetchTime=null,this.availabilityStartTime=null,this.presentationStartTime=0,this.clientTimeOffset=0,this.currentTime=null,this.buffered=null,this.latency=0,this.streamInfo=[],this.representationInfo=[]},js=function i(){Ji(this,i),this.id=null,this.index=null,this.start=null,this.duration=null},Hs=function i(){Ji(this,i),this.id=null,this.index=null,this.mediaType=null,this.streamIndex=null,this.presentationTimeOffset=null,this.startNumber=null,this.fragmentInfoType=null},Vs=function i(){(function(r,l){if(!(r instanceof l))throw new TypeError("Cannot call a class as a function")})(this,i),this.mediaType=null,this.t=null,this.type=null,this.startTime=null,this.availabilityStartTime=null,this.duration=null,this.quality=null,this.range=null,this.state=null},Ks=function i(){(function(r,l){if(!(r instanceof l))throw new TypeError("Cannot call a class as a function")})(this,i),this.loadingRequests=[],this.executedRequests=[]};function ao(i){var r,l,E=(i=i||{}).settings,R=this.context,A=(0,p.Z)(R).getInstance();function h(){A.trigger(u.Z.METRICS_CHANGED)}function w(Z){A.trigger(u.Z.METRIC_CHANGED,{mediaType:Z}),h()}function L(Z,ce,te){A.trigger(u.Z.METRIC_UPDATED,{mediaType:Z,metric:ce,value:te}),w(Z)}function Y(Z,ce,te){A.trigger(u.Z.METRIC_ADDED,{mediaType:Z,metric:ce,value:te}),w(Z)}function B(Z,ce){var te=null;return Z&&(l.hasOwnProperty(Z)?te=l[Z]:ce||(te=new ks,l[Z]=te)),te}function N(Z,ce,te){var se=B(Z);se!==null&&(se[ce].push(te),se[ce].length>E.get().streaming.metrics.maxListDepth&&se[ce].shift())}function U(Z,ce,te){N(Z,ce,te),Y(Z,ce,te)}return r={clearCurrentMetricsForType:function(Z){delete l[Z],w(Z)},clearAllCurrentMetrics:function(){l={},h()},getMetricsFor:B,addHttpRequest:function Z(ce,te,se,de,G,ie,j,le,g,M,C,D,b,ne,z,oe,Q){var x=new Le.w;ie!=null&&ie!==de&&(Z(ce,null,se,de,G,null,null,le,g,null,null,null,b,null,null,oe,Q),x.actualurl=ie),x.tcpid=te,x.type=se,x.url=de,x.range=le,x.trequest=g,x.tresponse=M,x.responsecode=D,x.cmsd=Q,x._tfinish=C,x._stream=ce,x._mediaduration=b,x._quality=G,x._responseHeaders=ne,x._serviceLocation=j,x._fileLoaderType=oe,z?z.forEach(function(J){(function(he,Ne,Te,Ce){var Ie=new Le.O;Ie.s=Ne,Ie.d=Te,Ie.b=Ce,he.trace.push(Ie),he.interval||(he.interval=0),he.interval+=Te})(x,J.s,J.d,J.b)}):(delete x.interval,delete x.trace),U(ce,y.Z.HTTP_REQUEST,x)},addRepresentationSwitch:function(Z,ce,te,se,de){var G=new Zs;G.t=ce,G.mt=te,G.to=se,de?G.lto=de:delete G.lto,U(Z,y.Z.TRACK_SWITCH,G)},addBufferLevel:function(Z,ce,te){var se=new Us;se.t=ce,se.level=te,U(Z,y.Z.BUFFER_LEVEL,se)},addBufferState:function(Z,ce,te){var se=new Bs;se.target=te,se.state=ce,U(Z,y.Z.BUFFER_STATE,se)},addDVRInfo:function(Z,ce,te,se){var de=new Gs;de.time=ce,de.range=se,de.manifestInfo=te,U(Z,y.Z.DVR_INFO,de)},addDroppedFrames:function(Z,ce){var te=new qs,se=B(Z).DroppedFrames;ce&&(te.time=ce.creationTime,te.droppedFrames=ce.droppedVideoFrames,se.length>0&&se[se.length-1]==te||U(Z,y.Z.DROPPED_FRAMES,te))},addSchedulingInfo:function(Z,ce,te,se,de,G,ie,j,le){var g=new Vs;g.mediaType=Z,g.t=ce,g.type=te,g.startTime=se,g.availabilityStartTime=de,g.duration=G,g.quality=ie,g.range=j,g.state=le,U(Z,y.Z.SCHEDULING_INFO,g)},addRequestsQueue:function(Z,ce,te){var se=new Ks;se.loadingRequests=ce,se.executedRequests=te,B(Z).RequestsQueue=se,Y(Z,y.Z.REQUESTS_QUEUE,se)},addManifestUpdate:function(Z,ce,te,se,de,G,ie,j,le,g){var M=new Ys;M.mediaType=Z,M.type=ce,M.requestTime=te,M.fetchTime=se,M.availabilityStartTime=de,M.presentationStartTime=G,M.clientTimeOffset=ie,M.currentTime=j,M.buffered=le,M.latency=g,N(t.Z.STREAM,y.Z.MANIFEST_UPDATE,M),Y(Z,y.Z.MANIFEST_UPDATE,M)},updateManifestUpdateInfo:function(Z,ce){if(Z){for(var te in ce)Z[te]=ce[te];L(Z.mediaType,y.Z.MANIFEST_UPDATE,Z)}},addManifestUpdateStreamInfo:function(Z,ce,te,se,de){if(Z){var G=new js;G.id=ce,G.index=te,G.start=se,G.duration=de,Z.streamInfo.push(G),L(Z.mediaType,y.Z.MANIFEST_UPDATE_STREAM_INFO,Z)}},addManifestUpdateRepresentationInfo:function(Z,ce,te,se,de,G,ie,j){if(Z&&Z.representationInfo){var le=new Hs;le.id=ce,le.index=te,le.streamIndex=se,le.mediaType=de,le.startNumber=ie,le.fragmentInfoType=j,le.presentationTimeOffset=G,Z.representationInfo.push(le),L(Z.mediaType,y.Z.MANIFEST_UPDATE_TRACK_INFO,Z)}},addPlayList:function(Z){Z.trace&&Array.isArray(Z.trace)?Z.trace.forEach(function(ce){ce.hasOwnProperty("subreplevel")&&!ce.subreplevel&&delete ce.subreplevel}):delete Z.trace,U(t.Z.STREAM,y.Z.PLAY_LIST,Z)},addDVBErrors:function(Z){U(t.Z.STREAM,y.Z.DVB_ERRORS,Z)}},l={},r}ao.__dashjs_factory_name="MetricsModel";var zs=_.Z.getSingletonFactory(ao);function oo(i){i=i||{};var r,l,E,R,A=this.context,h=i.metricsModel;function w(B){var N=h.getMetricsFor(B,!0);if(!N)return null;var U,Z=N.HttpList,ce=null;if(!Z||Z.length<=0)return null;for(U=Z.length-1;U>=0;){if(Z[U].responsecode){ce=Z[U];break}U--}return ce}function L(B){var N=h.getMetricsFor(B,!0);return N&&N.HttpList?N.HttpList:[]}function Y(B,N){if(!B)return null;var U=B[N];return U&&U.length!==0?U[U.length-1]:null}return r={getCurrentRepresentationSwitch:function(B){return Y(h.getMetricsFor(B,!0),y.Z.TRACK_SWITCH)},getCurrentBufferState:function(B){return Y(h.getMetricsFor(B,!0),y.Z.BUFFER_STATE)},getCurrentBufferLevel:function(B){var N=Y(h.getMetricsFor(B,!0),y.Z.BUFFER_LEVEL);return N?xs.round10(N.level/1e3,-3):0},getCurrentHttpRequest:w,getHttpRequests:L,getCurrentDroppedFrames:function(){return Y(h.getMetricsFor(t.Z.VIDEO,!0),y.Z.DROPPED_FRAMES)},getCurrentSchedulingInfo:function(B){return Y(h.getMetricsFor(B,!0),y.Z.SCHEDULING_INFO)},getCurrentDVRInfo:function(B){return Y(B?h.getMetricsFor(B,!0):h.getMetricsFor(t.Z.VIDEO,!0)||h.getMetricsFor(t.Z.AUDIO,!0),y.Z.DVR_INFO)},getCurrentManifestUpdate:function(){return Y(h.getMetricsFor(t.Z.STREAM),y.Z.MANIFEST_UPDATE)},getLatestFragmentRequestHeaderValueByID:function(B,N){if(!N)return null;var U={},Z=w(B);Z&&(U=pt.Z.parseHttpHeaders(Z._responseHeaders));var ce=U[N.toLowerCase()];return ce===void 0?null:ce},getLatestMPDRequestHeaderValueByID:function(B){if(!B)return null;var N,U,Z,ce={};for(Z=(N=L(t.Z.STREAM)).length-1;Z>=0;Z--)if((U=N[Z]).type===Le.w.MPD_TYPE){ce=pt.Z.parseHttpHeaders(U._responseHeaders);break}var te=ce[B.toLowerCase()];return te===void 0?null:te},addRepresentationSwitch:function(B,N,U,Z,ce){h.addRepresentationSwitch(B,N,U,Z,ce)},addDVRInfo:function(B,N,U,Z){h.addDVRInfo(B,N,U,Z)},updateManifestUpdateInfo:function(B){var N=this.getCurrentManifestUpdate();h.updateManifestUpdateInfo(N,B)},addManifestUpdateStreamInfo:function(B){if(B){var N=this.getCurrentManifestUpdate();h.addManifestUpdateStreamInfo(N,B.id,B.index,B.start,B.duration)}},addManifestUpdateRepresentationInfo:function(B,N){if(B){var U=this.getCurrentManifestUpdate();h.addManifestUpdateRepresentationInfo(U,B.id,B.index,B.streamIndex,N,B.presentationTimeOffset,B.startNumber,B.fragmentInfoType)}},addManifestUpdate:function(B){h.addManifestUpdate(t.Z.STREAM,B.type,B.requestStartDate,B.requestEndDate)},addHttpRequest:function(B,N,U,Z,ce,te){h.addHttpRequest(B.mediaType,null,B.type,B.url,B.quality,N,B.serviceLocation||null,B.range||null,B.requestStartDate,B.firstByteDate,B.requestEndDate,U,B.duration,Z,ce,B.fileLoaderType,te)},addSchedulingInfo:function(B,N){h.addSchedulingInfo(B.mediaType,new Date,B.type,B.startTime,B.availabilityStartTime,B.duration,B.quality,B.range,N)},addRequestsQueue:function(B,N,U){h.addRequestsQueue(B,N,U)},addBufferLevel:function(B,N,U){h.addBufferLevel(B,N,U)},addBufferState:function(B,N,U){h.addBufferState(B,N,U)},addDroppedFrames:function(B){h.addDroppedFrames(t.Z.VIDEO,B)},addPlayList:function(){R&&(h.addPlayList(R),R=null)},addDVBErrors:function(B){h.addDVBErrors(B)},createPlaylistMetrics:function(B,N){(R=new De).start=new Date,R.mstart=B,R.starttype=N},createPlaylistTraceMetrics:function(B,N,U){l===!0&&(l=!1,(E=new be).representationid=B,E.start=new Date,E.mstart=N,E.playbackspeed=U!==null?U.toString():null)},updatePlayListTraceMetrics:function(B){if(E)for(var N in E)E[N]=B[N]},pushPlayListTraceMetrics:function(B,N){if(l===!1&&R&&E&&E.start){var U=E.start,Z=B.getTime()-U.getTime();E.duration=Z,E.stopreason=N,R.trace.push(E),l=!0}},clearAllCurrentMetrics:function(){h.clearAllCurrentMetrics()}},h=h||zs(A).getInstance({settings:i.settings}),l=!0,E=null,R=null,r}oo.__dashjs_factory_name="DashMetrics";var Ws=_.Z.getSingletonFactory(oo);function so(){var i,r,l,E,R=this.context,A=(0,p.Z)(R).getInstance(),h=(0,Ae.Z)(R).getInstance();function w(de){E=de}function L(de,G,ie,j){var le,g=G.adaptation.period.mpd,M=g.availabilityStartTime;if(j)le=ie&&g.timeShiftBufferDepth!==Number.POSITIVE_INFINITY?new Date(M.getTime()+1e3*(de+g.timeShiftBufferDepth)):g.availabilityEndTime;else if(ie){var C=G.availabilityTimeOffset;le=new Date(M.getTime()+1e3*(de-C))}else le=M;return le}function Y(de,G){return(de.getTime()-G.mpd.availabilityStartTime.getTime()+1e3*E)/1e3}function B(de,G){return de+(G.adaptation.period.start-G.presentationTimeOffset)}function N(de){var G={start:NaN,end:NaN},ie=de[0].getAdapter().getRegularPeriods()[0],j=Y(new Date,ie);if(!de||de.length===0)return{range:G,now:j};de.forEach(function(g){var M=g.getAdapter(),C=M.getMediaInfoForType(g.getStreamInfo(),t.Z.VIDEO)||M.getMediaInfoForType(g.getStreamInfo(),t.Z.AUDIO),D=M.getVoRepresentations(C)[0],b={start:NaN,end:NaN};if(D)if(D.segmentInfoType===e.Z.SEGMENT_TIMELINE)b=function(z){var oe,Q,x,J,he=z.adaptation.period.mpd.manifest.Period_asArray[z.adaptation.period.index].AdaptationSet_asArray[z.adaptation.index],Ne=r.getRepresentationFor(z.index,he),Te=Ne.SegmentTemplate||Ne.SegmentList,Ce=Te.SegmentTimeline,Ie=Te.timescale,et=Ce.S_asArray,nt={start:0,end:0},We=et[0].t,Xe=!isNaN(We),Mt=Xe?We:0,Ee=0;for(Xe&&(nt.start=B(Mt/Ie,z)),x=0,J=et.length;x<J;x++)Q=0,(oe=et[x]).hasOwnProperty("r")&&(Q=oe.r),Ee+=oe.d*(1+Q);return nt.end=B((Mt+Ee)/Ie,z),nt}(D);else{var ne=D.adaptation.period;b.start=ne.start,b.end=Math.max(j,ne.start+ne.duration)}!isNaN(b.start)&&(isNaN(G.start)||G.start>b.start)&&(G.start=b.start),!isNaN(b.end)&&(isNaN(G.end)||G.end<b.end)&&(G.end=b.end)}),G.end=Math.min(j,G.end);var le=Z(de,G.end,!0);return G.end=isNaN(le)?G.end:le,G.start=ie&&ie.mpd&&ie.mpd.timeShiftBufferDepth&&!isNaN(ie.mpd.timeShiftBufferDepth)&&!isNaN(G.end)?Math.max(G.end-ie.mpd.timeShiftBufferDepth,G.start):G.start,G.start=Z(de,G.start),{range:G,now:j}}function U(de,G){l=de-G.end}function Z(de,G){var ie=arguments.length>2&&arguments[2]!==void 0&&arguments[2];try{for(var j=0,le=!1,g=NaN;!le&&j<de.length;){var M=de[j].getStreamInfo();M.start<=G&&(!isFinite(M.duration)||M.start+M.duration>=G)?(g=G,le=!0):!ie&&M.start>G&&(isNaN(g)||M.start<g)?g=M.start:ie&&M.start+M.duration<G&&(isNaN(g)||M.start+M.duration>g)&&(g=M.start+M.duration),j+=1}return g}catch{return G}}function ce(de){de.offset===void 0||isNaN(de.offset)||w(de.offset/1e3)}function te(){E=0,l=0}function se(){A.off(u.Z.UPDATE_TIME_SYNC_OFFSET,ce,this),te()}return i={initialize:function(){te(),A.on(u.Z.UPDATE_TIME_SYNC_OFFSET,ce,this)},getClientTimeOffset:function(){return E},setClientTimeOffset:w,getClientReferenceTime:function(){return Date.now()-1e3*l+1e3*E},calcAvailabilityStartTimeFromPresentationTime:function(de,G,ie){return L(de,G,ie)},calcAvailabilityEndTimeFromPresentationTime:function(de,G,ie){return L(de,G,ie,!0)},calcPresentationTimeFromWallTime:Y,calcPresentationTimeFromMediaTime:B,calcPeriodRelativeTimeFromMpdRelativeTime:function(de,G){return G-de.adaptation.period.start},calcMediaTimeFromPresentationTime:function(de,G){return de-G.adaptation.period.start+G.presentationTimeOffset},calcWallTimeForSegment:function(de,G){var ie,j,le;return G&&(ie=de.representation.adaptation.period.mpd.suggestedPresentationDelay,j=de.presentationStartTime+ie,le=new Date(de.availabilityStartTime.getTime()+1e3*j)),le},calcTimeShiftBufferWindow:function(de,G){if(!G)return function(j){var le={start:NaN,end:NaN},g=0,M=NaN;return j.forEach(function(C){var D=C.getStreamInfo();g+=D.duration,(isNaN(M)||D.start<M)&&(M=D.start)}),le.start=M,le.end=M+g,le}(de);if(h.get().streaming.timeShiftBuffer.calcFromSegmentTimeline){var ie=N(de);return U(ie.now,ie.range),ie.range}return function(j){var le={start:NaN,end:NaN};if(!j||j.length===0)return le;var g=j[0].getAdapter().getRegularPeriods()[0],M=Y(new Date,g),C=g.mpd.timeShiftBufferDepth,D=isNaN(C)?0:M-C;if(le.start=Z(j,D),le.end=!isNaN(le.start)&&M<le.start?M:Z(j,M,!0),!isNaN(C)&&le.end<M-C&&(le.end=NaN),h.get().streaming.timeShiftBuffer.fallbackToSegmentTimeline){var b=N(j);if(b.range.end<le.start)return A.trigger(n.Z.CONFORMANCE_VIOLATION,{level:xr.LEVELS.WARNING,event:xr.EVENTS.INVALID_DVR_WINDOW}),U(b.now,b.range),b.range}return le}(de)},reset:se},r=$t(R).getInstance(),se(),i}so.__dashjs_factory_name="TimelineConverter";var Xs=_.Z.getSingletonFactory(so),$i=P(4593),yi=P(6934);function ea(i){return ea=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(r){return typeof r}:function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},ea(i)}function ta(i,r){return ta=Object.setPrototypeOf||function(l,E){return l.__proto__=E,l},ta(i,r)}function Qs(i,r){return!r||ea(r)!=="object"&&typeof r!="function"?function(l){if(l===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return l}(i):r}function Ei(i){return Ei=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},Ei(i)}var Js=function(i){(function(A,h){if(typeof h!="function"&&h!==null)throw new TypeError("Super expression must either be null or a function");A.prototype=Object.create(h&&h.prototype,{constructor:{value:A,writable:!0,configurable:!0}}),h&&ta(A,h)})(R,i);var r,l,E=(r=R,l=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var A,h=Ei(r);if(l){var w=Ei(this).constructor;A=Reflect.construct(h,arguments,w)}else A=h.apply(this,arguments);return Qs(this,A)});function R(){var A;return function(h,w){if(!(h instanceof w))throw new TypeError("Cannot call a class as a function")}(this,R),(A=E.call(this)).captionData=null,A.label=null,A.defaultTrack=!1,A.kind=null,A.isFragmented=!1,A.isEmbedded=!1,A.isTTML=null,A}return R}(Qi),$s=P(2295);function uo(){var i=0;function r(w){for(var L="",Y=0;Y<w.length;++Y)L+=w[Y].uchar;return L.length-L.replace(/^\s+/,"").length}function l(w){return"left: "+3.125*w.x+"%; top: "+6.66*w.y1+"%; width: "+(100-3.125*w.x)+"%; height: "+6.66*Math.max(w.y2-1-w.y1,1)+"%; align-items: flex-start; overflow: visible; -webkit-writing-mode: horizontal-tb;"}function E(w){return w==="red"?"rgb(255, 0, 0)":w==="green"?"rgb(0, 255, 0)":w==="blue"?"rgb(0, 0, 255)":w==="cyan"?"rgb(0, 255, 255)":w==="magenta"?"rgb(255, 0, 255)":w==="yellow"?"rgb(255, 255, 0)":w==="white"?"rgb(255, 255, 255)":w==="black"?"rgb(0, 0, 0)":w}function R(w,L){var Y=w.videoHeight/15;return L?"font-size: "+Y+"px; font-family: Menlo, Consolas, 'Cutive Mono', monospace; color: "+(L.foreground?E(L.foreground):"rgb(255, 255, 255)")+"; font-style: "+(L.italics?"italic":"normal")+"; text-decoration: "+(L.underline?"underline":"none")+"; white-space: pre; background-color: "+(L.background?E(L.background):"transparent")+";":"font-size: "+Y+"px; font-family: Menlo, Consolas, 'Cutive Mono', monospace; justify-content: flex-start; text-align: left; color: rgb(255, 255, 255); font-style: normal; white-space: pre; line-height: normal; font-weight: normal; text-decoration: none; width: 100%; display: flex;"}function A(w){return w.replace(/^\s+/g,"")}function h(w){return w.replace(/\s+$/g,"")}return{createHTMLCaptionsFromScreen:function(w,L,Y,B){var N,U,Z=null,ce=!1,te=-1,se={start:L,end:Y,spans:[]},de="style_cea608_white_black",G={},ie={},j=[];for(N=0;N<15;++N){var le=B.rows[N],g="",M=null;if(le.isEmpty()===!1){var C=r(le.chars);Z===null&&(Z={x:C,y1:N,y2:N+1,p:[]}),C!==te&&ce&&(Z.p.push(se),se={start:L,end:Y,spans:[]},Z.y2=N,Z.name="region_"+Z.x+"_"+Z.y1+"_"+Z.y2,G.hasOwnProperty(Z.name)===!1?(j.push(Z),G[Z.name]=Z):G[Z.name].p.contat(Z.p),Z={x:C,y1:N,y2:N+1,p:[]});for(var D=0;D<le.chars.length;++D){var b=le.chars[D],ne=b.penState;if(M===null||!ne.equals(M)){g.trim().length>0&&(se.spans.push({name:de,line:g,row:N}),g="");var z="style_cea608_"+ne.foreground+"_"+ne.background;ne.underline&&(z+="_underline"),ne.italics&&(z+="_italics"),ie.hasOwnProperty(z)||(ie[z]=JSON.parse(JSON.stringify(ne))),M=ne,de=z}g+=b.uchar}g.trim().length>0&&se.spans.push({name:de,line:g,row:N}),ce=!0,te=C}else ce=!1,te=-1,Z&&(Z.p.push(se),se={start:L,end:Y,spans:[]},Z.y2=N,Z.name="region_"+Z.x+"_"+Z.y1+"_"+Z.y2,G.hasOwnProperty(Z.name)===!1?(j.push(Z),G[Z.name]=Z):G[Z.name].p.contat(Z.p),Z=null)}Z&&(Z.p.push(se),Z.y2=N+1,Z.name="region_"+Z.x+"_"+Z.y1+"_"+Z.y2,G.hasOwnProperty(Z.name)===!1?(j.push(Z),G[Z.name]=Z):G[Z.name].p.contat(Z.p),Z=null);var oe=[];for(N=0;N<j.length;++N){var Q=j[N],x="sub_cea608_"+i++,J=document.createElement("div");J.id=x;var he=l(Q);J.style.cssText="position: absolute; margin: 0; display: flex; box-sizing: border-box; pointer-events: none;"+he;var Ne=document.createElement("div");Ne.className="paragraph bodyStyle",Ne.style.cssText=R(w);var Te=document.createElement("div");Te.className="cueUniWrapper",Te.style.cssText="unicode-bidi: normal; direction: ltr;";for(var Ce=0;Ce<Q.p.length;++Ce){var Ie=Q.p[Ce],et=0;for(U=0;U<Ie.spans.length;++U){var nt=Ie.spans[U];if(nt.line.length>0){if(U!==0&&et!=nt.row){var We=document.createElement("br");We.className="lineBreak",Te.appendChild(We)}var Xe=!1;et===nt.row&&(Xe=!0),et=nt.row;var Mt=ie[nt.name],Ee=document.createElement("span");Ee.className="spanPadding "+nt.name+" customSpanColor",Ee.style.cssText=R(w,Mt),U!==0&&Xe?U===Ie.spans.length-1?Ee.textContent=h(nt.line):Ee.textContent=nt.line:Ie.spans.length>1&&U<Ie.spans.length-1&&nt.row===Ie.spans[U+1].row?Ee.textContent=A(nt.line):Ee.textContent=nt.line.trim(),Te.appendChild(Ee)}}}Ne.appendChild(Te),J.appendChild(Ne);var Fe={bodyStyle:["%",90]};for(var lt in ie)ie.hasOwnProperty(lt)&&(Fe[lt]=["%",90]);oe.push({type:"html",start:L,end:Y,cueHTMLElement:J,cueID:x,cellResolution:[32,15],isFromCEA608:!0,fontSize:Fe,lineHeight:{},linePadding:{}})}return oe}}}uo.__dashjs_factory_name="EmbeddedTextHtmlRender";var eu=_.Z.getSingletonFactory(uo);function lo(i){var r,l,E,R,A,h,w,L,Y,B,N,U,Z,ce,te,se,de,G=i.errHandler,ie=i.manifestModel,j=i.mediaController,le=i.videoModel,g=i.textTracks,M=i.vttParser,C=i.vttCustomRenderingParser,D=i.ttmlParser,b=i.streamInfo,ne=i.settings,z=this.context,oe=(0,p.Z)(z).getInstance(),Q=!1;function x(){h=null,L=NaN,Y=[],B=null,w=!1,A=[],R=null}function J(We){var Xe=new Js;for(var Mt in We)Xe[Mt]=We[Mt];Xe.labels=We.labels,Xe.defaultTrack=function(Ee){var Fe=!1;return U.length>1&&Ee.isEmbedded?Fe=Ee.id&&Ee.id===t.Z.CC1:U.length===1?Ee.id&&typeof Ee.id=="string"&&Ee.id.substring(0,2)==="CC"&&(Fe=!0):U.length===0&&(Fe=Ee.index===A[0].index),Fe}(We),Xe.isFragmented=We.isFragmented,Xe.isEmbedded=!!We.isEmbedded,Xe.isTTML=function(Ee){return Ee.codec&&Ee.codec.search(t.Z.STPP)>=0||Ee.mimeType&&Ee.mimeType.search(t.Z.TTML)>=0}(We),Xe.kind=function(Ee,Fe){var lt=Ee.roles&&Ee.roles.length>0?Fe[Ee.roles[0]]:Fe.caption;return lt=lt===Fe.caption||lt===Fe.subtitle?lt:Fe.caption}(We,{subtitle:"subtitles",caption:"captions"}),g.addTextTrack(Xe)}function he(We){var Xe=We.chunk;Xe.mediaInfo.embeddedCaptions&&Te(Xe.bytes,Xe)}function Ne(We){N=We}function Te(We,Xe){var Mt=Xe.mediaInfo,Ee=Mt.type,Fe=Mt.mimeType,lt=Mt.codec||Fe;lt?Mt.codec.indexOf("application/mp4")!==-1?function(qe,ht,gt){var st;if(ht.segmentType==="InitializationSegment")w=!0,L=E.getMediaTimescaleFromMoov(qe);else{if(!w)return;(st=E.getSamplesInfo(qe).sampleList).length>0&&(B=st[0].cts-ht.start*L),gt.search(t.Z.STPP)>=0?function(qt,Gt,an){var un,Be;for(R=R!==null?R:et(an),un=0;un<Gt.length;un++){var ft=Gt[un],$e=ft.cts,vt=Ie(),wt=vt+$e/L,Ht=wt+ft.duration/L;r.buffered.add(wt,Ht);var Yt=new DataView(qt,ft.offset,ft.subSizes[0]),Kt=yi.Utils.dataViewToString(Yt,t.Z.UTF8),Jt=[],ut=ft.offset+ft.subSizes[0];for(Be=1;Be<ft.subSizes.length;Be++){var Dt=new Uint8Array(qt,ut,ft.subSizes[Be]),xt=String.fromCharCode.apply(null,Dt);Jt.push(xt),ut+=ft.subSizes[Be]}try{var kt=ie.getValue().ttmlTimeIsRelative?$e/L:0,jt=R.parse(Kt,kt,$e/L,($e+ft.duration)/L,Jt);g.addCaptions(N,vt,jt)}catch(Ge){h.removeExecutedRequestsBeforeTime(),this.remove(),l.error("TTML parser error: "+Ge.message)}}}(qe,st,gt):function(qt,Gt){var an,un,Be,ft=[];for(an=0;an<Gt.length;an++){var $e=Gt[an];$e.cts-=B;var vt=Ie()+$e.cts/L,wt=vt+$e.duration/L;r.buffered.add(vt,wt);var Ht=qt.slice($e.offset,$e.offset+$e.size),Yt=yi.parseBuffer(Ht);for(un=0;un<Yt.boxes.length;un++){var Kt=Yt.boxes[un];if(l.debug("VTT box1: "+Kt.type),Kt.type!=="vtte"&&Kt.type==="vttc"){l.debug("VTT vttc boxes.length = "+Kt.boxes.length);var Jt={styles:{}};for(Be=0;Be<Kt.boxes.length;Be++){var ut=Kt.boxes[Be];if(l.debug("VTT box2: "+ut.type),ut.type==="payl")Jt.start=$e.cts/L,Jt.end=($e.cts+$e.duration)/L,Jt.data=ut.cue_text;else if(ut.type==="sttg"&&ut.settings&&ut.settings!=="")try{var Dt=ut.settings.split(" ");Jt.styles=M.getCaptionStyles(Dt)}catch{}}Jt&&Jt.data&&(ft.push(Jt),l.debug("VTT  ".concat(Jt.start," - ").concat(Jt.end," :  ").concat(Jt.data)))}}}ft.length>0&&g.addCaptions(N,0,ft)}(qe,st)}}(We,Xe,lt):Ee===t.Z.VIDEO?function(qe,ht){var gt,st;if(ht.segmentType===Le.w.INIT_SEGMENT_TYPE)Z===0&&(Z=E.getMediaTimescaleFromMoov(qe));else if(ht.segmentType===Le.w.MEDIA_SEGMENT_TYPE){if(Z===0)return void l.warn("CEA-608: No timescale for embeddedTextTrack yet");var qt=(st=E.getSamplesInfo(qe)).lastSequenceNumber,Gt=Math.trunc(ht.start),an=Math.trunc(ht.end);if(se[0]||se[1]||function(){for(var vt,wt=0;wt<U.length;wt++){if((vt=g.getTrackIdxForId(U[wt].id))===-1)return void l.warn("CEA-608: data before track is ready.");var Ht=Ce(vt);se[wt]=new(T()).Cea608Parser(wt+1,{newCue:Ht},null)}}(),Z){if(function(vt,wt,Ht,Yt,Kt){return vt!==null&&wt!==null&&Yt!==null&&Kt!==null&&(wt===vt?Yt!==Kt:wt!==vt+Ht)}(ce,qt,st.numSequences,te,Gt))for(gt=0;gt<se.length;gt++)se[gt]&&se[gt].reset();for(var un=function(vt,wt){if(wt.length===0)return null;for(var Ht={splits:[],fields:[[],[]]},Yt=new DataView(vt),Kt=0;Kt<wt.length;Kt++)for(var Jt=wt[Kt],ut=T().findCea608Nalus(Yt,Jt.offset,Jt.size),Dt=null,xt=0,kt=0;kt<ut.length;kt++)for(var jt=T().extractCea608DataFromRange(Yt,ut[kt]),Ge=0;Ge<2;Ge++)if(jt[Ge].length>0){Jt.cts!==Dt?xt=0:xt+=1;var Re=Ie();Ht.fields[Ge].push([Jt.cts+Re*Z,jt[Ge],xt]),Dt=Jt.cts}return Ht.fields.forEach(function(rt){rt.sort(function(fe,pe){return fe[0]===pe[0]?fe[2]-pe[2]:fe[0]-pe[0]})}),Ht}(qe,st.sampleList),Be=0;Be<se.length;Be++){var ft=un.fields[Be],$e=se[Be];if($e)for(gt=0;gt<ft.length;gt++)$e.addData(ft[gt][0]/Z,ft[gt][1])}ce=qt,te=an}}}(We,Xe):function(qe,ht,gt){var st,qt,Gt=new DataView(qe,0,qe.byteLength);qt=yi.Utils.dataViewToString(Gt,t.Z.UTF8);try{st=et(gt).parse(qt,0),g.addCaptions(g.getCurrentTrackIdx(),0,st),r.buffered&&r.buffered.add(ht.start,ht.end)}catch(an){G.error(new re.Z(X.TIMED_TEXT_ERROR_ID_PARSE_CODE,X.TIMED_TEXT_ERROR_MESSAGE_PARSE+an.message,qt))}}(We,Xe,lt):l.error("No text type defined")}function Ce(We){return function(Xe,Mt,Ee){var Fe;(Fe=le.getTTMLRenderingDiv()?de.createHTMLCaptionsFromScreen(le.getElement(),Xe,Mt,Ee):[{start:Xe,end:Mt,data:Ee.getDisplayText(),styles:{}}])&&g.addCaptions(We,0,Fe)}}function Ie(){return isNaN(r.timestampOffset)?0:r.timestampOffset}function et(We){var Xe;return We.search(t.Z.VTT)>=0?Xe=ne.get().streaming.text.webvtt.customRenderingEnabled&&C?C:M:(We.search(t.Z.TTML)>=0||We.search(t.Z.STPP)>=0)&&(Xe=D),Xe}function nt(We){U.forEach(function(Xe){var Mt=g.getTrackIdxForId(Xe.id);Mt>=0&&g.deleteCuesFromTrackIdx(Mt,We.from,We.to)})}return r={initialize:function(){Q||(U=[],N=null,Z=0,se=[],ce=null,te=null,Q=!0,de=eu(z).getInstance(),oe.on(u.Z.VIDEO_CHUNK_RECEIVED,he,r),oe.on(u.Z.BUFFER_CLEARED,nt,r))},addMediaInfos:function(We,Xe,Mt){if(A=A.concat(Xe),We===t.Z.TEXT&&Xe[0].isFragmented&&!Xe[0].isEmbedded){h=Mt,r.buffered=(0,$s.Z)(z).create(),Y=j.getTracksFor(t.Z.TEXT,b.id).filter(function(qe){return qe.isFragmented});for(var Ee=j.getCurrentTrackFor(t.Z.TEXT,b.id),Fe=0;Fe<Y.length;Fe++)if(Y[Fe]===Ee){Ne(Fe);break}}for(var lt=0;lt<Xe.length;lt++)J(Xe[lt])},resetMediaInfos:function(){A=[]},getStreamId:function(){return b.id},append:Te,abort:function(){},addEmbeddedTrack:function(We){if(Q&&We)if(We.id===t.Z.CC1||We.id===t.Z.CC3){for(var Xe=0;Xe<U.length;Xe++)if(U[Xe].id===We.id)return;U.push(We)}else l.warn("Embedded track "+We.id+" not supported!")},resetEmbedded:function(){oe.off(u.Z.VIDEO_CHUNK_RECEIVED,he,r),oe.off(u.Z.BUFFER_CLEARED,nt,r),g&&g.deleteAllTextTracks(),Q=!1,U=[],se=[null,null],ce=null,te=null},getConfig:function(){return{fragmentModel:h,fragmentedTracks:Y,videoModel:le}},setCurrentFragmentedTrackIdx:Ne,remove:function(We,Xe){We===void 0&&We===Xe&&(We=r.buffered.start(0),Xe=r.buffered.end(r.buffered.length-1)),r.buffered.remove(We,Xe),g.deleteCuesFromTrackIdx(N,We,Xe)},reset:function(){x(),A=[],E=null}},l=(0,m.Z)(z).getInstance().getLogger(r),E=(0,Yr.Z)(z).getInstance(),x(),r}lo.__dashjs_factory_name="TextSourceBuffer";var tu=_.Z.getClassFactory(lo),na=P(4403);function co(i,r){(r==null||r>i.length)&&(r=i.length);for(var l=0,E=new Array(r);l<r;l++)E[l]=i[l];return E}var nu=["text","align","fontSize","id","isd","line","lineAlign","lineHeight","linePadding","position","positionAlign","region","size","snapToLines","vertical"];function fo(i){var r,l,E,R,A,h,w,L,Y,B,N,U,Z,ce,te,se,de,G,ie,j,le=this.context,g=(0,p.Z)(le).getInstance(),M=i.videoModel,C=i.streamInfo,D=i.settings;function b(Be,ft,$e,vt,wt,Ht){var Yt=0,Kt=0;Be/ft>$e/vt?Yt=(Kt=ft)/vt*$e:Kt=(Yt=Be)/$e*vt;var Jt,ut,Dt=0,xt=0;return Yt/Kt>wt?(xt=Kt,Dt=Kt*wt):(Dt=Yt,xt=Yt/wt),Jt=(Be-Dt)/2,ut=(ft-xt)/2,Ht?{x:Jt+.1*Dt,y:ut+.1*xt,w:.8*Dt,h:.8*xt}:{x:Jt,y:ut,w:Dt,h:xt}}function ne(Be,ft){var $e=M.getClientWidth(),vt=M.getClientHeight(),wt=M.getVideoWidth(),Ht=M.getVideoHeight(),Yt=M.getVideoRelativeOffsetTop(),Kt=M.getVideoRelativeOffsetLeft();if(wt!==0&&Ht!==0){var Jt=wt/Ht,ut=!1;Be.isFromCEA608&&(Jt=1.1666666666666667,ut=!0);var Dt=b.call(this,$e,vt,wt,Ht,Jt,ut),xt=Dt.w,kt=Dt.h,jt=Dt.x,Ge=Dt.y;if(xt!=Y||kt!=B||jt!=w||Ge!=L||ft){if(w=jt+Kt,L=Ge+Yt,Y=xt,B=kt,N){var Re=N.style;Re&&(Re.left=w+"px",Re.top=L+"px",Re.width=Y+"px",Re.height=B+"px",Re.zIndex=ce&&document[ce]||te?de:null,g.trigger(n.Z.CAPTION_CONTAINER_RESIZE))}var rt=Be.activeCues;if(rt)for(var fe=rt.length,pe=0;pe<fe;++pe){var Ve=rt[pe];Ve.scaleCue(Ve)}}}}function z(Be){var ft,$e,vt,wt,Ht,Yt=Y,Kt=B;if(Be.cellResolution){var Jt=[Yt/Be.cellResolution[0],Kt/Be.cellResolution[1]];if(Be.linePadding){for(ft in Be.linePadding)if(Be.linePadding.hasOwnProperty(ft)){$e=(Be.linePadding[ft]*Jt[0]).toString();for(var ut=document.getElementsByClassName("spanPadding"),Dt=0;Dt<ut.length;Dt++)ut[Dt].style.cssText=ut[Dt].style.cssText.replace(/(padding-left\s*:\s*)[\d.,]+(?=\s*px)/gi,"$1"+$e),ut[Dt].style.cssText=ut[Dt].style.cssText.replace(/(padding-right\s*:\s*)[\d.,]+(?=\s*px)/gi,"$1"+$e)}}if(Be.fontSize){for(ft in Be.fontSize)if(Be.fontSize.hasOwnProperty(ft)){Be.fontSize[ft][0]==="%"?vt=Be.fontSize[ft][1]/100:Be.fontSize[ft][0]==="c"&&(vt=Be.fontSize[ft][1]),$e=(vt*Jt[1]).toString(),Ht=ft!=="defaultFontSize"?document.getElementsByClassName(ft):document.getElementsByClassName("paragraph");for(var xt=0;xt<Ht.length;xt++)Ht[xt].style.cssText=Ht[xt].style.cssText.replace(/(font-size\s*:\s*)[\d.,]+(?=\s*px)/gi,"$1"+$e)}if(Be.lineHeight){for(ft in Be.lineHeight)if(Be.lineHeight.hasOwnProperty(ft)){Be.lineHeight[ft][0]==="%"?wt=Be.lineHeight[ft][1]/100:Be.fontSize[ft][0]==="c"&&(wt=Be.lineHeight[ft][1]),$e=(wt*Jt[1]).toString(),Ht=document.getElementsByClassName(ft);for(var kt=0;kt<Ht.length;kt++)Ht[kt].style.cssText=Ht[kt].style.cssText.replace(/(line-height\s*:\s*)[\d.,]+(?=\s*px)/gi,"$1"+$e)}}}}if(Be.isd){var jt=document.getElementById(Be.cueID);jt&&N.removeChild(jt),Q(Be)}}function oe(Be,ft){var $e=/^(urn:)(mpeg:[a-z0-9][a-z0-9-]{0,31}:)(subs:)([0-9]+)$/,vt=/^#(.*)$/;if($e.test(ft)){var wt=$e.exec(ft),Ht=parseInt(wt[4],10)-1;return"data:image/png;base64,"+btoa(Be.images[Ht])}if(vt.test(ft)){var Yt=vt.exec(ft)[1];return"data:image/png;base64,"+Be.embeddedImages[Yt]}return ft}function Q(Be){if(N){un.call(this);var ft=document.createElement("div");N.appendChild(ft),se=(0,na.renderHTML)(Be.isd,ft,function($e){return oe(Be,$e)},N.clientHeight,N.clientWidth,D.get().streaming.text.imsc.displayForcedOnlyMode,function($e){l.info("renderCaption :",$e)},se,D.get().streaming.text.imsc.enableRollUp),ft.id=Be.cueID,g.trigger(n.Z.CAPTION_RENDERED,{captionDiv:ft,currentTrackIdx:h})}}function x(Be,ft){return!!ft&&ft.endTime>=Be.startTime}function J(Be,ft){return!!D.get().streaming.text.extendSegmentedCues&&!!function($e,vt,wt){for(var Ht=0;Ht<wt.length;Ht++){var Yt=wt[Ht];if(JSON.stringify($e[Yt])!==JSON.stringify(vt[Yt]))return!1}return!0}(ft,Be,nu)&&(ft.endTime=Math.max(ft.endTime,Be.endTime),!0)}function he(Be,ft){ft&&ft.forEach(function($e){$e.kind&&$e.kind==="image"&&($e.src=oe(Be,$e.src)),he(Be,$e.contents)})}function Ne(Be,ft,$e){var vt=Fe(Be),wt=D.get().streaming.text.dispatchForManualRendering;if(vt&&Array.isArray($e)&&$e.length!==0)for(var Ht=0;Ht<$e.length;Ht++){var Yt=null,Kt=$e[Ht];vt.cellResolution=Kt.cellResolution,vt.isFromCEA608=Kt.isFromCEA608,isNaN(Kt.start)||isNaN(Kt.end)||(wt?Yt=Te(Kt,ft):We(Kt)&&N?Yt=et(Kt,ft,vt):Kt.data&&(Yt=nt(Kt,ft,vt)));try{if(Yt){if(!ht(vt,Yt))if(D.get().streaming.text.webvtt.customRenderingEnabled)vt.manualCueList||(vt.manualCueList=[]),vt.manualCueList.push(Yt);else{var Jt=void 0;vt.cues&&vt.cues.length!==0&&(Jt=vt.cues[vt.cues.length-1]),x(Yt,Jt)?J(Yt,Jt)||(Jt.isd&&(Jt.onexit=function(){}),vt.mode!==t.Z.TEXT_DISABLED&&vt.addCue(Yt)):vt.mode!==t.Z.TEXT_DISABLED&&vt.addCue(Yt)}var ut=D.get().streaming.buffer.bufferToKeep;st(vt,0,M.getTime()-ut)}else l.error("Impossible to display subtitles. You might have missed setting a TTML rendering div via player.attachTTMLRenderingDiv(TTMLRenderingDiv)")}catch(Dt){throw qt(vt),vt.addCue(Yt),Dt}}}function Te(Be,ft){var $e=Xe(Be,ft);return $e.onenter=function(){We(Be)&&j&&j.cueID!==$e.cueID&&Ie(j),delete $e.type,j=$e,Ce($e)},$e.onexit=function(){Ie($e),j=null},$e}function Ce(Be){g.trigger(n.Z.CUE_ENTER,Be)}function Ie(Be){g.trigger(n.Z.CUE_EXIT,{cueID:Be.cueID})}function et(Be,ft,$e){var vt=this,wt=Xe(Be,ft);return N.style.left=w+"px",N.style.top=L+"px",N.style.width=Y+"px",N.style.height=B+"px",wt.onenter=function(){var Ht=this;$e.mode===t.Z.TEXT_SHOWING&&(this.isd?(ie?requestAnimationFrame(function(){return Q(Ht)}):Q(this),l.debug("Cue enter id:"+this.cueID)):(N.appendChild(this.cueHTMLElement),z.call(vt,this),g.trigger(n.Z.CAPTION_RENDERED,{captionDiv:this.cueHTMLElement,currentTrackIdx:h})))},wt.onexit=function(){if(N)for(var Ht=N.childNodes,Yt=0;Yt<Ht.length;++Yt)Ht[Yt].id===this.cueID&&(l.debug("Cue exit id:"+Ht[Yt].id),N.removeChild(Ht[Yt]),--Yt)},wt}function nt(Be,ft,$e){var vt=Xe(Be,ft);if(vt.isActive=!1,Be.styles)try{Be.styles.align!==void 0&&"align"in vt&&(vt.align=Be.styles.align),Be.styles.line!==void 0&&"line"in vt&&(vt.line=Be.styles.line),Be.styles.snapToLines!==void 0&&"snapToLines"in vt&&(vt.snapToLines=Be.styles.snapToLines),Be.styles.position!==void 0&&"position"in vt&&(vt.position=Be.styles.position),Be.styles.size!==void 0&&"size"in vt&&(vt.size=Be.styles.size)}catch(wt){l.error(wt)}return vt.onenter=function(){$e.mode===t.Z.TEXT_SHOWING&&g.trigger(n.Z.CAPTION_RENDERED,{currentTrackIdx:h})},vt}function We(Be){return Be.type==="html"}function Xe(Be,ft){return We(Be)?function($e,vt){var wt=new E($e.start+vt,$e.end+vt,"");return wt.cueHTMLElement=$e.cueHTMLElement,wt.isd=$e.isd,wt.images=$e.images,wt.embeddedImages=$e.embeddedImages,wt.cueID=$e.cueID,wt.scaleCue=z.bind(self),wt.cellResolution=$e.cellResolution,wt.lineHeight=$e.lineHeight,wt.linePadding=$e.linePadding,wt.fontSize=$e.fontSize,wt.isd&&he(wt,wt.isd.contents),wt}(Be,ft):function($e,vt){var wt=new E($e.start-vt,$e.end-vt,$e.data);return wt.cueID="".concat(wt.startTime,"_").concat(wt.endTime),wt}(Be,ft)}function Mt(Be){if(U)for(var ft=U.childNodes,$e=0;$e<ft.length;++$e)ft[$e].id===Be.cueID&&(U.removeChild(ft[$e]),--$e)}function Ee(){var Be,ft=[],$e=function(wt,Ht){var Yt;if(typeof Symbol>"u"||wt[Symbol.iterator]==null){if(Array.isArray(wt)||(Yt=function(kt,jt){if(kt){if(typeof kt=="string")return co(kt,jt);var Ge=Object.prototype.toString.call(kt).slice(8,-1);return Ge==="Object"&&kt.constructor&&(Ge=kt.constructor.name),Ge==="Map"||Ge==="Set"?Array.from(kt):Ge==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Ge)?co(kt,jt):void 0}}(wt))||Ht&&wt&&typeof wt.length=="number"){Yt&&(wt=Yt);var Kt=0,Jt=function(){};return{s:Jt,n:function(){return Kt>=wt.length?{done:!0}:{done:!1,value:wt[Kt++]}},e:function(kt){throw kt},f:Jt}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var ut,Dt=!0,xt=!1;return{s:function(){Yt=wt[Symbol.iterator]()},n:function(){var kt=Yt.next();return Dt=kt.done,kt},e:function(kt){xt=!0,ut=kt},f:function(){try{Dt||Yt.return==null||Yt.return()}finally{if(xt)throw ut}}}}(M.getTextTracks());try{for($e.s();!(Be=$e.n()).done;){var vt=Be.value;vt.manualMode===t.Z.TEXT_SHOWING&&ft.push(vt)}}catch(wt){$e.e(wt)}finally{$e.f()}return ft}function Fe(Be){return Be>=0&&R[Be]?M.getTextTrack(R[Be].kind,R[Be].id,R[Be].lang,R[Be].isTTML,R[Be].isEmbedded):null}function lt(Be){var ft=this;if(Be!==h){var $e=Fe(h=Be);qe.call(this,$e),Z&&(clearInterval(Z),Z=null),$e&&$e.renderingType==="html"&&(ne.call(this,$e,!0),window.ResizeObserver?(G=new window.ResizeObserver(function(){ne.call(ft,$e,!0)})).observe(M.getElement()):Z=setInterval(ne.bind(this,$e),500))}}function qe(Be){un.call(this),Be&&Be.renderingType==="html"?Gt.call(this):an.call(this)}function ht(Be,ft){if(!Be.cues)return!1;for(var $e=0;$e<Be.cues.length;$e++)if(Be.cues[$e].startTime===ft.startTime&&Be.cues[$e].endTime===ft.endTime)return!0;return!1}function gt(Be,ft,$e){var vt=!(arguments.length>3&&arguments[3]!==void 0)||arguments[3];return!!Be&&(isNaN(ft)||(vt?Be.startTime:Be.endTime)>=ft)&&(isNaN($e)||(vt?Be.endTime:Be.startTime)<=$e)}function st(Be,ft,$e){var vt,wt;if(!($e<ft)&&Be&&(Be.cues||Be.manualCueList)){var Ht=Be.cues&&Be.cues.length>0?"native":"custom",Yt=Ht==="native"?Be.cues:Be.manualCueList;if(!Yt||Yt.length===0)return;for(var Kt=Yt.length-1;Kt>=0;Kt--)!gt(Yt[Kt],ft,$e,!0)||(vt=Yt[Kt],wt=M.getTime(),vt.startTime>=wt&&vt.endTime<=wt)||(Ht==="native"?Be.removeCue(Yt[Kt]):(Mt(Yt[Kt]),delete Be.manualCueList[Kt]))}}function qt(Be,ft,$e){var vt=!(arguments.length>3&&arguments[3]!==void 0)||arguments[3];if(Be&&(Be.cues||Be.manualCueList)){var wt=Be.cues&&Be.cues.length>0?"native":"custom",Ht=wt==="native"?Be.cues:Be.manualCueList;if(!Ht||Ht.length===0)return;for(var Yt=Ht.length-1,Kt=Yt;Kt>=0;Kt--)gt(Ht[Kt],ft,$e,vt)&&(wt==="native"?(Ht[Kt].onexit&&Ht[Kt].onexit(),Be.removeCue(Ht[Kt])):(Mt(Ht[Kt]),delete Be.manualCueList[Kt]))}}function Gt(){var Be=document.getElementById("native-cue-style");if(!Be){(Be=document.createElement("style")).id="native-cue-style",document.head.appendChild(Be);var ft=Be.sheet,$e=M.getElement();try{$e&&($e.id?ft.insertRule("#"+$e.id+"::cue {background: transparent}",0):$e.classList.length!==0?ft.insertRule("."+$e.className+"::cue {background: transparent}",0):ft.insertRule("video::cue {background: transparent}",0))}catch(vt){l.info(""+vt.message)}}}function an(){var Be=document.getElementById("native-cue-style");Be&&document.head.removeChild(Be)}function un(){if(N)for(;N.firstChild;)N.removeChild(N.firstChild)}return r={initialize:function(){typeof window<"u"&&typeof navigator<"u"&&(E=window.VTTCue||window.TextTrackCue,R=[],A=[],h=-1,w=0,L=0,Y=0,B=0,N=null,U=null,Z=null,te=!1,de=2147483647,se=null,ie="requestAnimationFrame"in window,document.fullscreenElement!==void 0?ce="fullscreenElement":document.webkitIsFullScreen!==void 0?ce="webkitIsFullScreen":document.msFullscreenElement?ce="msFullscreenElement":document.mozFullScreen&&(ce="mozFullScreen"))},getStreamId:function(){return C.id},addTextTrack:function(Be){R.push(Be)},addCaptions:Ne,createTracks:function(){var Be=D.get().streaming.text.dispatchForManualRendering;R.sort(function(jt,Ge){return jt.index-Ge.index}),N=M.getTTMLRenderingDiv(),U=M.getVttRenderingDiv();for(var ft,$e,vt,wt,Ht,Yt,Kt=-1,Jt=0;Jt<R.length;Jt++){var ut=($e=(ft=R[Jt]).kind,vt=ft.id!==void 0?ft.id:ft.lang,wt=ft.lang,Ht=ft.isTTML,Yt=ft.isEmbedded,M.addTextTrack($e,vt,wt,Ht,Yt));A.push(ut),R[Jt].defaultTrack&&(ut.default=!0,Kt=Jt);var Dt=Fe(Jt);Dt&&(Dt.mode=t.Z.TEXT_SHOWING,N&&(R[Jt].isTTML||R[Jt].isEmbedded)?Dt.renderingType="html":Dt.renderingType="default"),Ne(Jt,0,R[Jt].captionData),g.trigger(n.Z.TEXT_TRACK_ADDED)}if(lt.call(this,Kt),Kt>=0){g.on(n.Z.PLAYBACK_METADATA_LOADED,function jt(){var Ge=Fe(Kt);Ge&&Ge.renderingType==="html"&&ne.call(this,Ge,!0),g.off(n.Z.PLAYBACK_METADATA_LOADED,jt,this)},this);for(var xt=0;xt<R.length;xt++){var kt=Fe(xt);kt&&(kt.mode=xt!==Kt||Be?t.Z.TEXT_HIDDEN:t.Z.TEXT_SHOWING,kt.manualMode=xt===Kt?t.Z.TEXT_SHOWING:t.Z.TEXT_HIDDEN)}}g.trigger(u.Z.TEXT_TRACKS_QUEUE_INITIALIZED,{index:h,tracks:R,streamId:C.id})},getCurrentTrackIdx:function(){return h},setCurrentTrackIdx:lt,getTrackIdxForId:function(Be){for(var ft=-1,$e=0;$e<R.length;$e++)if(R[$e].id===Be){ft=$e;break}return ft},getCurrentTrackInfo:function(){return R[h]},setModeForTrackIdx:function(Be,ft){var $e=Fe(Be);$e&&$e.mode!==ft&&($e.mode=ft),$e&&$e.manualMode!==ft&&($e.manualMode=ft)},deleteCuesFromTrackIdx:function(Be,ft,$e){var vt=Fe(Be);vt&&qt(vt,ft,$e)},deleteAllTextTracks:function(){for(var Be=A?A.length:0,ft=0;ft<Be;ft++){var $e=Fe(ft);$e&&qt.call(this,$e,C.start,C.start+C.duration,!1)}A=[],R=[],Z&&(clearInterval(Z),Z=null),G&&M&&(G.unobserve(M.getElement()),G=null),h=-1,un.call(this)},manualCueProcessing:function(Be){var ft=Ee();if(ft&&ft.length>0){var $e=ft[0].manualCueList;$e&&$e.length>0&&$e.forEach(function(vt){vt.startTime<=Be&&vt.endTime>=Be&&!vt.isActive?(vt.isActive=!0,D.get().streaming.text.dispatchForManualRendering?Ce(vt):WebVTT.processCues(window,[vt],U,vt.cueID)):vt.isActive&&(vt.startTime>Be||vt.endTime<Be)&&(vt.isActive=!1,D.get().streaming.text.dispatchForManualRendering?Ie(vt):Mt(vt))})}},disableManualTracks:function(){var Be=Ee();if(Be&&Be.length>0){var ft=Be[0].manualCueList;ft&&ft.length>0&&ft.forEach(function($e){if($e.isActive){if($e.isActive=!1,D.get().streaming.text.dispatchForManualRendering)Ie($e);else if(U)for(var vt=U.childNodes,wt=0;wt<vt.length;++wt)vt[wt].id===$e.cueID&&(U.removeChild(vt[wt]),--wt)}})}}},l=(0,m.Z)(le).getInstance().getLogger(r),r}fo.__dashjs_factory_name="TextTracks";var ru=_.Z.getClassFactory(fo);function go(){var i,r,l,E,R,A,h=this.context;function w(N){var U=N.split(":"),Z=U.length-1;return N=60*parseInt(U[Z-1],10)+parseFloat(U[Z]),Z===2&&(N+=3600*parseInt(U[0],10)),N}function L(N){var U=N.split(E),Z=U[1].split(A);return Z.shift(),U[1]=Z[0],Z.shift(),{cuePoints:U,styles:Y(Z)}}function Y(N){var U={};return N.forEach(function(Z){if(Z.split(/:/).length>1){var ce=Z.split(/:/)[1],te=!1;ce&&ce.search(/%/)!=-1&&(te=!0,ce=parseInt(ce.replace(/%/,""),10)),(Z.match(/align/)||Z.match(/A/))&&(U.align=ce),(Z.match(/line/)||Z.match(/L/))&&(U.line=ce==="auto"?ce:parseInt(ce,10),te&&(U.snapToLines=!1)),(Z.match(/position/)||Z.match(/P/))&&(U.position=ce),(Z.match(/size/)||Z.match(/S/))&&(U.size=ce)}}),U}function B(N,U){for(var Z,ce=U,te="",se="";N[ce]!==""&&ce<N.length;)ce++;if((Z=ce-U)>1)for(var de=0;de<Z;de++){if((se=N[U+de]).match(E)){te="";break}te+=se,de!==Z-1&&(te+=`
-`)}else(se=N[U]).match(E)||(te=se);return te}return i={parse:function(N){var U,Z,ce=[];if(!N)return ce;U=(N=N.split(l)).length,Z=-1;for(var te=0;te<U;te++){var se=N[te];if(se.length>0&&se!=="WEBVTT"&&se.match(E)){var de=L(se),G=de.cuePoints,ie=de.styles,j=B(N,te+1),le=w(G[0].replace(R,"")),g=w(G[1].replace(R,""));!isNaN(le)&&!isNaN(g)&&le>=Z&&g>le?j!==""?(Z=le,ce.push({start:le,end:g,data:j,styles:ie})):r.error("Skipping cue due to empty/malformed cue text"):r.error("Skipping cue due to incorrect cue timing")}}return ce},getCaptionStyles:Y},r=(0,m.Z)(h).getInstance().getLogger(i),l=/(?:\r\n|\r|\n)/gm,E=/-->/,R=/(^[\s]+|[\s]+$)/g,A=/\s\b/g,i}go.__dashjs_factory_name="VTTParser";var iu=_.Z.getSingletonFactory(go);function ho(){var i,r;return i={parse:function(l){var E=[];return r.oncue=function(R){R.start=R.startTime,R.end=R.endTime,R.data=R.text,R.styles={align:R.align,line:R.line,position:R.position,size:R.size},E.push(R)},r.parse(l),E}},function(){try{window&&window.WebVTT&&window.WebVTT.Parser&&(r=new window.WebVTT.Parser(window,window.vttjs,window.WebVTT.StringDecoder()))}catch{}}(),i}ho.__dashjs_factory_name="VttCustomRenderingParser";var au=_.Z.getSingletonFactory(ho);function mo(){var i,r,l=this.context,E=(0,p.Z)(l).getInstance(),R=0;return i={parse:function(A,h,w,L,Y){var B,N,U,Z="",ce=[],te={},se={},de="",G="",ie={onOpenTag:function(C,D,b){if(b[" imagetype"]&&!b[" imageType"]&&(E.trigger(n.Z.CONFORMANCE_VIOLATION,{level:xr.LEVELS.ERROR,event:xr.EVENTS.NON_COMPLIANT_SMPTE_IMAGE_ATTRIBUTE}),b[" imageType"]=b[" imagetype"]),D==="image"&&(C==="http://www.smpte-ra.org/schemas/2052-1/2010/smpte-tt"||C==="http://www.smpte-ra.org/schemas/2052-1/2013/smpte-tt")){if(!b[" imageType"]||b[" imageType"].value!=="PNG")return void r.warn("smpte-tt imageType != PNG. Discarded");de=b["http://www.w3.org/XML/1998/namespace id"].value}},onCloseTag:function(){de&&(se[de]=G.trim()),G="",de=""},onText:function(C){de&&(G+=C)}};if(!A)throw Z="no ttml data to parse",new Error(Z);te.data=A,E.trigger(u.Z.TTML_TO_PARSE,te);var j=(0,na.fromXML)(te.data,function(C){Z=C},ie);E.trigger(u.Z.TTML_PARSED,{ttmlString:te.data,ttmlDoc:j});var le,g=j.getMediaTimeEvents();for(U=0;U<g.length;U++){var M=(0,na.generateISD)(j,g[U],function(C){Z=C});M.contents.some(function(C){return C.contents.length})&&(B=g[U]+h)<(N=g[U+1]+h)&&ce.push({start:B,end:N,type:"html",cueID:(le="cue_TTML_"+R,R++,le),isd:M,images:Y,embeddedImages:se})}if(Z!=="")throw r.error(Z),new Error(Z);return ce}},r=(0,m.Z)(l).getInstance().getLogger(i),i}mo.__dashjs_factory_name="TTMLParser";var ou=_.Z.getSingletonFactory(mo);function po(i,r){var l=Object.keys(i);if(Object.getOwnPropertySymbols){var E=Object.getOwnPropertySymbols(i);r&&(E=E.filter(function(R){return Object.getOwnPropertyDescriptor(i,R).enumerable})),l.push.apply(l,E)}return l}function yo(i){for(var r=1;r<arguments.length;r++){var l=arguments[r]!=null?arguments[r]:{};r%2?po(Object(l),!0).forEach(function(E){su(i,E,l[E])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(l)):po(Object(l)).forEach(function(E){Object.defineProperty(i,E,Object.getOwnPropertyDescriptor(l,E))})}return i}function su(i,r,l){return r in i?Object.defineProperty(i,r,{value:l,enumerable:!0,configurable:!0,writable:!0}):i[r]=l,i}function Eo(i,r){(r==null||r>i.length)&&(r=i.length);for(var l=0,E=new Array(r);l<r;l++)E[l]=i[l];return E}function vo(i){var r,l,E,R=this.context,A=(0,p.Z)(R).getInstance(),h=(0,ze.Z)(R).getInstance(),w=i.adapter,L=i.baseURLController;function Y(U,Z){var ce,te,se=!1;if(L.resolve()){var de=w.getVoRepresentations(U);de&&de.length>0&&(ce=L.resolve(de[0].path).url)}var G=U.essentialPropertiesAsArray.filter(function(j){return j.schemeIdUri&&j.schemeIdUri===t.Z.FONT_DOWNLOAD_DVB_SCHEME}),ie=U.supplementalPropertiesAsArray.filter(function(j){return j.schemeIdUri&&j.schemeIdUri===t.Z.FONT_DOWNLOAD_DVB_SCHEME});G.length>0?(se=!0,te=G):te=ie,te.forEach(function(j){if(function(C){return!(!(C.value&&C.value==="1"&&C.dvbUrl&&C.dvbUrl.length>0&&C.dvbFontFamily&&C.dvbFontFamily.length>0&&C.dvbMimeType)||C.dvbMimeType!==t.Z.OFF_MIMETYPE&&C.dvbMimeType!==t.Z.WOFF_MIMETYPE)}(j)){var le=(g=j.dvbUrl,M=ce,h.isPathAbsolute(g)?g:h.isRelative(g)?M?h.resolve(g,M):h.resolve(g):g);E.push({fontFamily:j.dvbFontFamily,url:le,mimeType:j.dvbMimeType,trackId:U.id,streamId:Z,isEssential:se,status:"unloaded",fontFace:new FontFace(j.dvbFontFamily,"url(".concat(le,")"),{display:"swap"})})}var g,M})}function B(U,Z){var ce=E[U];E[U]=yo(yo({},ce),{},{status:Z})}function N(){E=[]}return r={addFontsFromTracks:function(U,Z){if(U&&Array.isArray(U)&&Z)for(var ce=0;ce<U.length;ce++)Y(U[ce],Z)},downloadFonts:function(){for(var U=function(ce){var te=E[ce];document.fonts.add(te.fontFace),A.trigger(n.Z.DVB_FONT_DOWNLOAD_ADDED,te),te.fontFace.load().then(function(){B(ce,"loaded"),A.trigger(n.Z.DVB_FONT_DOWNLOAD_COMPLETE,te)},function(se){B(ce,"error"),l.debug("Font download error: ",se),A.trigger(n.Z.DVB_FONT_DOWNLOAD_FAILED,te)})},Z=0;Z<E.length;Z++)U(Z)},getFonts:function(){return E},getFontsForTrackId:function(U){return E.filter(function(Z){return Z.trackId&&Z.trackId===U})},reset:function(){(function(){var U,Z=function(se,de){var G;if(typeof Symbol>"u"||se[Symbol.iterator]==null){if(Array.isArray(se)||(G=function(C,D){if(C){if(typeof C=="string")return Eo(C,D);var b=Object.prototype.toString.call(C).slice(8,-1);return b==="Object"&&C.constructor&&(b=C.constructor.name),b==="Map"||b==="Set"?Array.from(C):b==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(b)?Eo(C,D):void 0}}(se))||de&&se&&typeof se.length=="number"){G&&(se=G);var ie=0,j=function(){};return{s:j,n:function(){return ie>=se.length?{done:!0}:{done:!1,value:se[ie++]}},e:function(C){throw C},f:j}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var le,g=!0,M=!1;return{s:function(){G=se[Symbol.iterator]()},n:function(){var C=G.next();return g=C.done,C},e:function(C){M=!0,le=C},f:function(){try{g||G.return==null||G.return()}finally{if(M)throw le}}}}(E);try{for(Z.s();!(U=Z.n()).done;){var ce=U.value,te=document.fonts.delete(ce.fontFace);l.debug("Removal of fontFamily: ".concat(ce.fontFamily," was ").concat(te?"successful":"unsuccessful"))}}catch(se){Z.e(se)}finally{Z.f()}})(),N()}},l=(0,m.Z)(R).getInstance().getLogger(r),N(),r}vo.__dashjs_factory_name="DVBFonts";var uu=_.Z.getClassFactory(vo);function _o(i){var r,l,E,R,A,h,w,L,Y,B,N,U,Z,ce,te=this.context,se=i.adapter,de=i.errHandler,G=i.manifestModel,ie=i.mediaController,j=i.baseURLController,le=i.videoModel,g=i.settings;function M(J){if(ce.error("Could not download ".concat(J.isEssential?"an essential":"a"," font - fontFamily: ").concat(J.fontFamily,", url: ").concat(J.url)),J.isEssential){var he=R[J.streamId].getTrackIdxForId(J.trackId);R[J.streamId].setModeForTrackIdx(he,t.Z.TEXT_DISABLED)}}function C(J){if(ce.debug("Successfully downloaded ".concat(J.isEssential?"an essential":"a"," font - fontFamily: ").concat(J.fontFamily,", url: ").concat(J.url)),J.isEssential){var he=R[J.streamId].getTrackIdxForId(J.trackId);he===R[J.streamId].getCurrentTrackIdx()?R[J.streamId].setModeForTrackIdx(he,t.Z.TEXT_SHOWING):R[J.streamId].setModeForTrackIdx(he,t.Z.TEXT_HIDDEN)}}function D(J){var he=J.tracks,Ne=J.index,Te=J.streamId;if(g.get().streaming.text.defaultEnabled===!1&&!z()||U)oe(Te,-1);else{var Ce=ie.getCurrentTrackFor(t.Z.TEXT,Te);if(Ce){var Ie={lang:Ce.lang,role:Ce.roles[0],index:Ce.index,codec:Ce.codec,accessibility:Ce.accessibility[0]};he.some(function(et,nt){if(ie.matchSettings(Ie,et))return oe(Te,nt),Ne=nt,!0})}Y=!1}l[Te].lastEnabledIndex=Ne,L.trigger(n.Z.TEXT_TRACKS_ADDED,{enabled:z(),index:Ne,tracks:he,streamId:Te}),N=!0,Z.addFontsFromTracks(he,Te),Z.getFonts().forEach(function(et){if(et.isEssential){var nt=R[et.streamId].getTrackIdxForId(et.trackId);R[et.streamId].setModeForTrackIdx(nt,t.Z.TEXT_DISABLED)}}),Z.downloadFonts()}function b(J){try{var he=J.streamId;if(!R[he]||isNaN(J.time))return;R[he].manualCueProcessing(J.time)}catch{}}function ne(J){try{var he=J.streamId;if(!R[he])return;R[he].disableManualTracks()}catch{}}function z(){var J=!0;return Y&&!B&&(J=!1),J}function oe(J,he){(Y=he===-1)&&ie&&ie.saveTextSettingsDisabled();var Ne=Q(J);if(Ne!==he&&R[J]){R[J].disableManualTracks();var Te=R[J].getCurrentTrackInfo(),Ce=Te?le.getTextTrack(Te.kind,Te.id,Te.lang,Te.isTTML,Te.isEmbedded):null;Ce&&Ce.mode!==t.Z.TEXT_DISABLED&&R[J].setModeForTrackIdx(Ne,t.Z.TEXT_HIDDEN),R[J].setCurrentTrackIdx(he),Te=R[J].getCurrentTrackInfo();var Ie=g.get().streaming.text.dispatchForManualRendering;Te&&!Ie&&Te.mode!==t.Z.TEXT_DISABLED&&R[J].setModeForTrackIdx(he,t.Z.TEXT_SHOWING),Te&&Te.isFragmented&&!Te.isEmbedded?function(et,nt,We){if(E[et])for(var Xe=E[et].getConfig().fragmentedTracks,Mt=0;Mt<Xe.length;Mt++){var Ee=Xe[Mt];if(nt.lang===Ee.lang&&(Ee.id?nt.id===Ee.id:nt.index===Ee.index)){var Fe=ie.getCurrentTrackFor(t.Z.TEXT,et);(Ee.id?Fe.id!==Ee.id:Fe.index!==Ee.index)?(R[et].deleteCuesFromTrackIdx(We),E[et].setCurrentFragmentedTrackIdx(Mt)):We===-1&&L.trigger(u.Z.SET_FRAGMENTED_TEXT_AFTER_DISABLED,{},{streamId:et,mediaType:t.Z.TEXT})}}}(J,Te,Ne):Te&&!Te.isFragmented&&function(et,nt){L.trigger(u.Z.SET_NON_FRAGMENTED_TEXT,{currentTrackInfo:nt},{streamId:et,mediaType:t.Z.TEXT})}(J,Te),ie.setTrack(Te)}}function Q(J){return R[J].getCurrentTrackIdx()}function x(){E={},R={},l={},Y=!0,N=!1,U=!1}return r={deactivateStream:function(J){if(J){var he=J.id;E[he]&&E[he].resetMediaInfos(),R[he]&&R[he].deleteAllTextTracks()}},initialize:function(){Z=uu(te).create({adapter:se,baseURLController:j}),L.on(u.Z.TEXT_TRACKS_QUEUE_INITIALIZED,D,r),L.on(u.Z.DVB_FONT_DOWNLOAD_FAILED,M,r),L.on(u.Z.DVB_FONT_DOWNLOAD_COMPLETE,C,r),g.get().streaming.text.webvtt.customRenderingEnabled&&(L.on(u.Z.PLAYBACK_TIME_UPDATED,b,r),L.on(u.Z.PLAYBACK_SEEKING,ne,r))},initializeForStream:function(J){var he=J.id,Ne=ru(te).create({videoModel:le,settings:g,streamInfo:J});Ne.initialize(),R[he]=Ne;var Te=tu(te).create({errHandler:de,adapter:se,dvbFonts:Z,manifestModel:G,mediaController:ie,videoModel:le,textTracks:Ne,vttParser:A,vttCustomRenderingParser:h,ttmlParser:w,streamInfo:J,settings:g});Te.initialize(),E[he]=Te,l[he]={},l[he].lastEnabledIndex=-1},createTracks:function(J){var he=J.id;R[he]&&R[he].createTracks()},getTextSourceBuffer:function(J){var he=J.id;if(E&&E[he])return E[he]},getAllTracksAreDisabled:function(){return Y},addEmbeddedTrack:function(J,he){var Ne=J.id;E[Ne]&&E[Ne].addEmbeddedTrack(he)},enableText:function(J,he){return(0,W.PS)(he,"boolean"),z()!==he&&(he&&oe(J,l[J].lastEnabledIndex),he||(l[J].lastEnabledIndex=Q(J),N?oe(J,-1):U=!0)),!0},isTextEnabled:z,setTextTrack:oe,getCurrentTrackIdx:Q,enableForcedTextStreaming:function(J){return(0,W.PS)(J,"boolean"),B=J,!0},addMediaInfosToBuffer:function(J,he,Ne){var Te=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null,Ce=J.id;E[Ce]&&E[Ce].addMediaInfos(he,Ne,Te)},reset:function(){Z.reset(),x(),L.off(u.Z.TEXT_TRACKS_QUEUE_INITIALIZED,D,r),L.off(u.Z.DVB_FONT_DOWNLOAD_FAILED,M,r),L.off(u.Z.DVB_FONT_DOWNLOAD_COMPLETE,C,r),g.get().streaming.text.webvtt.customRenderingEnabled&&(L.off(u.Z.PLAYBACK_TIME_UPDATED,b,r),L.off(u.Z.PLAYBACK_SEEKING,ne,r)),Object.keys(E).forEach(function(J){E[J].resetEmbedded(),E[J].reset()})}},B=!1,N=!1,U=!1,A=iu(te).getInstance(),h=au(te).getInstance(),w=ou(te).getInstance(),L=(0,p.Z)(te).getInstance(),ce=(0,m.Z)(te).getInstance().getLogger(r),x(),r}_o.__dashjs_factory_name="TextController";var lu=_.Z.getClassFactory(_o);function ra(){var i,r,l,E,R,A,h,w,L,Y,B,N,U,Z,ce,te,se,de,G,ie,j,le,g,M,C,D,b,ne,z,oe,Q,x,J,he,Ne,Te,Ce,Ie,et,nt="You must first call initialize() and set a source before calling this method",We="You must first call initialize() and set a valid source and view before calling this method",Xe="You must first call attachView() to set the video element before calling this method",Mt="You must first call attachSource() with a valid source before calling this method",Ee="MediaPlayer not initialized!",Fe=this.context,lt=(0,p.Z)(Fe).getInstance(),qe=(0,Ae.Z)(Fe).getInstance(),ht=(0,m.Z)(Fe).getInstance({settings:qe});function gt(){Jt(null),Yt(null),E=null,Z&&(Z.reset(),Z=null),ce&&(ce.reset(),ce=null),ie&&ie.reset(),qe.reset(),se&&(se.reset(),se=null)}function st(){return!!l&&!!Te.getElement()}function qt(){return(0,As.e)()}function Gt(){if(!h)throw We;return ne.isPaused()}function an(){if(!h)throw We;return ne.getIsDynamic()}function un(fe){var pe=C&&C.hasVideoTrack()?t.Z.VIDEO:t.Z.AUDIO,Ve=x.getCurrentDVRInfo(pe);if(!Ve)return 0;var St=ne.getOriginalLiveDelay(),Nt=Ve.range.start+fe;return Nt>Ve.range.end-St&&(Nt=Ve.range.end-St),Nt}function Be(fe){if(!h)throw We;var pe=Ht().currentTime;if(fe!==void 0)pe=C.getTimeRelativeToStreamId(pe,fe);else if(ne.getIsDynamic()){var Ve=C&&C.hasVideoTrack()?t.Z.VIDEO:t.Z.AUDIO,St=x.getCurrentDVRInfo(Ve);pe=St===null||pe===0?0:Math.max(0,pe-St.range.start)}return pe}function ft(){if(!h)throw We;var fe=Ht().duration;if(ne.getIsDynamic()){var pe=C&&C.hasVideoTrack()?t.Z.VIDEO:t.Z.AUDIO,Ve=x.getCurrentDVRInfo(pe);fe=Ve?Ve.range.end-Ve.range.start:0}return fe}function $e(fe){(0,W.PS)(fe,"boolean"),w=fe}function vt(){ie.restoreDefaultUTCTimingSources()}function wt(){return x}function Ht(){if(!Te.getElement())throw Xe;return Te.getElement()}function Yt(fe){if(!R)throw Ee;Te.setElement(fe),fe&&(jt(),function(){if(!ce){var pe=dashjs.MetricsReporting;if(typeof pe=="function"){var Ve=pe(Fe).create();ce=Ve.createMetricsReporting({debug:ht,eventBus:lt,mediaElement:Ht(),adapter:de,dashMetrics:x,mediaPlayerModel:G,events:u.Z,constants:t.Z,metricsConstants:y.Z})}}}(),function(){if(!te){var pe=dashjs.MssHandler;typeof pe=="function"&&(X.extend(pe.errors),te=pe(Fe).create({eventBus:lt,mediaPlayerModel:G,dashMetrics:x,manifestModel:J,playbackController:ne,streamController:C,protectionController:Z,baseURLController:le,errHandler:j,events:u.Z,constants:t.Z,debug:ht,initSegmentType:Le.w.INIT_SEGMENT_TYPE,BASE64:$i,ISOBoxer:yi,settings:qe}))}}(),C&&C.switchToVideoElement(L)),h&&Dt(),rt(L)}function Kt(fe){if(!A)throw nt;var pe=C.getActiveStreamInfo();return pe?U.getTracksFor(fe,pe.id):[]}function Jt(fe){var pe=arguments.length>1&&arguments[1]!==void 0?arguments[1]:NaN;if(!R)throw Ee;typeof fe=="string"&&Ce.initialize(fe),pe==null&&(pe=NaN),isNaN(pe)||(pe=Math.max(0,pe)),L=pe,l=fe,(A||h)&&Dt(),st()&&rt(L)}function ut(){if(!A)throw nt;var fe=C.getActiveStreamInfo();return fe?C.getStreamById(fe.id):null}function Dt(){h=!1,A=!1,de.reset(),C.reset(),b.reset(),Q.reset(),ne.reset(),z.reset(),oe.reset(),Y.reset(),U.reset(),et.reset(),Z&&(qe.get().streaming.protection.keepProtectionMediaKeys?Z.stop():(Z.reset(),Z=null,jt())),D.reset(),he.reset(),Ne.reset()}function xt(){var fe=kt();C||(C=ua(Fe).getInstance()),D||(D=lu(Fe).create({errHandler:j,manifestModel:J,adapter:de,mediaController:U,baseURLController:le,videoModel:Te,settings:qe})),M.setConfig({capabilities:g,customParametersModel:ie,adapter:de,settings:qe,manifestModel:J,errHandler:j}),C.setConfig({capabilities:g,capabilitiesFilter:M,manifestLoader:fe,manifestModel:J,mediaPlayerModel:G,customParametersModel:ie,protectionController:Z,textController:D,adapter:de,dashMetrics:x,errHandler:j,timelineConverter:N,videoModel:Te,playbackController:ne,serviceDescriptionController:z,contentSteeringController:oe,abrController:Y,mediaController:U,settings:qe,baseURLController:le,uriFragmentModel:Ce,segmentBaseController:et}),b.setConfig({settings:qe,playbackController:ne,streamController:C,videoModel:Te,timelineConverter:N,adapter:de}),ne.setConfig({streamController:C,serviceDescriptionController:z,dashMetrics:x,adapter:de,videoModel:Te,timelineConverter:N,settings:qe}),Q.setConfig({streamController:C,playbackController:ne,mediaPlayerModel:G,videoModel:Te,settings:qe}),Y.setConfig({streamController:C,domStorage:Ie,mediaPlayerModel:G,customParametersModel:ie,cmsdModel:Ne,dashMetrics:x,adapter:de,videoModel:Te,settings:qe}),he.setConfig({abrController:Y,dashMetrics:x,playbackController:ne}),Ne.setConfig({}),Y.initialize(),C.initialize(w,E),D.initialize(),b.initialize(),Q.initialize(),he.initialize(),Ne.initialize(),oe.initialize(),et.initialize()}function kt(){return us(Fe).create({debug:ht,errHandler:j,dashMetrics:x,mediaPlayerModel:G,requestModifier:(0,Se.Z)(Fe).getInstance(),mssHandler:te,settings:qe})}function jt(){if(Z)return Z;var fe=dashjs.Protection;if(typeof fe=="function"){var pe=fe(Fe).create();return u.Z.extend(fe.events),n.Z.extend(fe.events,{publicOnly:!0}),X.extend(fe.errors),g||(g=(0,Pa.Z)(Fe).getInstance()),Z=pe.createProtectionSystem({debug:ht,errHandler:j,videoModel:Te,customParametersModel:ie,capabilities:g,eventBus:lt,events:u.Z,BASE64:$i,constants:t.Z,cmcdModel:he,settings:qe})}return null}function Ge(){if(!R)throw Ee;if(se)return se;var fe=dashjs.OfflineController;if(typeof fe=="function"){u.Z.extend(fe.events),n.Z.extend(fe.events,{publicOnly:!0}),X.extend(fe.errors);var pe=kt(),Ve=ia(Fe).create();return Ve.setConfig({manifestModel:J,adapter:de,manifestLoader:pe,errHandler:j,contentSteeringController:oe}),se=fe(Fe).create({debug:ht,manifestUpdater:Ve,baseURLController:le,manifestLoader:pe,manifestModel:J,mediaPlayerModel:G,abrController:Y,playbackController:ne,adapter:de,errHandler:j,dashMetrics:x,timelineConverter:N,segmentBaseController:et,schemeLoaderFactory:B,eventBus:lt,events:u.Z,errors:X,constants:t.Z,settings:qe,dashConstants:e.Z,urlUtils:(0,ze.Z)(Fe).getInstance()})}return null}function Re(fe){var pe=C&&C.hasVideoTrack()?t.Z.VIDEO:t.Z.AUDIO,Ve=x.getCurrentDVRInfo(pe);return Ve?fe+(Ve.manifestInfo.availableFrom.getTime()/1e3+Ve.range.start):0}function rt(){var fe=arguments.length>0&&arguments[0]!==void 0?arguments[0]:NaN;se&&se.resetRecords(),!A&&l&&(A=!0,r.info("Streaming Initialized"),xt(),typeof l=="string"?C.load(l,fe):C.loadWithManifest(l,fe)),!h&&st()&&(h=!0,r.info("Playback Initialized"))}return i={initialize:function(fe,pe,Ve){var St=arguments.length>3&&arguments[3]!==void 0?arguments[3]:NaN;g||(g=(0,Pa.Z)(Fe).getInstance()).setConfig({settings:qe}),j||(j=ls(Fe).getInstance()),g.supportsMediaSource()?(R||(R=!0,N=Xs(Fe).getInstance(),Y||(Y=vs(Fe).getInstance()).setConfig({settings:qe}),B||(B=kn(Fe).getInstance()),ne||(ne=d(Fe).getInstance()),U||(U=Oo(Fe).getInstance()),C||(C=ua(Fe).getInstance()),b||(b=Ro(Fe).getInstance()),Q||(Q=wo(Fe).getInstance()),z||(z=Co(Fe).getInstance()),oe||(oe=or(Fe).getInstance()),M||(M=cs(Fe).getInstance()),de=Ls(Fe).getInstance(),J=gs(Fe).getInstance(),he=sn(Fe).getInstance(),Ne=Ct(Fe).getInstance(),x=Ws(Fe).getInstance({settings:qe}),Ie=bs(Fe).getInstance({settings:qe}),de.setConfig({constants:t.Z,cea608parser:T(),errHandler:j,BASE64:$i}),le||(le=ko(Fe).create()),le.setConfig({adapter:de,contentSteeringController:oe}),z.setConfig({adapter:de}),et||(et=ws(Fe).getInstance({dashMetrics:x,mediaPlayerModel:G,errHandler:j,baseURLController:le,events:u.Z,eventBus:lt,debug:ht,boxParser:(0,Yr.Z)(Fe).getInstance(),requestModifier:(0,Se.Z)(Fe).getInstance(),errors:X})),U.setConfig({domStorage:Ie,settings:qe,customParametersModel:ie}),G.setConfig({playbackController:ne,serviceDescriptionController:z}),oe.setConfig({adapter:de,errHandler:j,dashMetrics:x,mediaPlayerModel:G,manifestModel:J,serviceDescriptionController:z,eventBus:lt,requestModifier:(0,Se.Z)(Fe).getInstance()}),vt(),$e(Ve===void 0||Ve),Ge()),fe&&Yt(fe),pe&&Jt(pe,St),r.info("[dash.js "+qt()+"] MediaPlayer has been initialized")):j.error(new re.Z(X.CAPABILITY_MEDIASOURCE_ERROR_CODE,X.CAPABILITY_MEDIASOURCE_ERROR_MESSAGE))},setConfig:function(fe){fe&&(fe.capabilities&&(g=fe.capabilities),fe.capabilitiesFilter&&(M=fe.capabilitiesFilter),fe.streamController&&(C=fe.streamController),fe.textController&&(D=fe.textController),fe.gapController&&(b=fe.gapController),fe.playbackController&&(ne=fe.playbackController),fe.serviceDescriptionController&&(z=fe.serviceDescriptionController),fe.contentSteeringController&&(oe=fe.contentSteeringController),fe.catchupController&&(Q=fe.catchupController),fe.mediaPlayerModel&&(G=fe.mediaPlayerModel),fe.customParametersModel&&(ie=fe.customParametersModel),fe.abrController&&(Y=fe.abrController),fe.schemeLoaderFactory&&(B=fe.schemeLoaderFactory),fe.mediaController&&(U=fe.mediaController),fe.settings&&(qe=fe.settings))},on:function(fe,pe,Ve,St){lt.on(fe,pe,Ve,St)},off:function(fe,pe,Ve){lt.off(fe,pe,Ve)},extend:function(fe,pe,Ve){_.Z.extend(fe,pe,Ve,Fe)},attachView:Yt,attachSource:Jt,refreshManifest:function(fe){if(!R)throw Ee;if(!st())return fe(null,Mt);var pe=this;typeof fe=="function"&&lt.on(u.Z.INTERNAL_MANIFEST_LOADED,function Ve(St){lt.off(u.Z.INTERNAL_MANIFEST_LOADED,Ve,pe),St.error?fe(null,St.error):fe(St.manifest)},pe),C.refreshManifest()},isReady:st,preload:function(){if(!Te.getElement()&&!A){if(!l)throw Mt;rt(L)}},play:function(){if(!h)throw We;(!w||Gt()&&h)&&ne.play(!0)},isPaused:Gt,pause:function(){if(!h)throw We;ne.pause()},isSeeking:function(){if(!h)throw We;return ne.isSeeking()},isDynamic:an,getLowLatencyModeEnabled:function(){if(!h)throw We;return ne.getLowLatencyModeEnabled()},seek:function(fe){if(!h)throw We;if((0,W.PS)(fe,"number"),isNaN(fe))throw t.Z.BAD_ARGUMENT_ERROR;fe<0&&(fe=0);var pe=ne.getIsDynamic()?un(fe):fe,Ve=Ht();!ne.getIsDynamic()&&Ve.duration&&(pe=Math.min(Ve.duration,pe)),ne.seek(pe,!1,!1,!0)},seekToOriginalLive:function(){h&&an()&&ne.seekToOriginalLive()},setPlaybackRate:function(fe){Ht().playbackRate=fe},getPlaybackRate:function(){return Ht().playbackRate},setMute:function(fe){(0,W.PS)(fe,"boolean"),Ht().muted=fe},isMuted:function(){return Ht().muted},setVolume:function(fe){if(typeof fe!="number"||isNaN(fe)||fe<0||fe>1)throw t.Z.BAD_ARGUMENT_ERROR;Ht().volume=fe},getVolume:function(){return Ht().volume},time:Be,duration:ft,timeAsUTC:function(){if(!h)throw We;return Be()<0?NaN:Re(Be())},durationAsUTC:function(){if(!h)throw We;return Re(ft())},getActiveStream:ut,getDVRWindowSize:function(){var fe=C&&C.hasVideoTrack()?t.Z.VIDEO:t.Z.AUDIO,pe=x.getCurrentDVRInfo(fe);return pe?pe.manifestInfo.dvrWindowSize:0},getDVRSeekOffset:un,getAvailableBaseUrls:function(){var fe=J.getValue();return fe?le.getBaseUrls(fe):[]},getAvailableLocations:function(){var fe=J.getValue();if(!fe)return[];var pe=de.getLocation(fe),Ve=oe.getSynthesizedLocationElements(pe);return pe.concat(Ve)},getTargetLiveDelay:function(){if(!h)throw We;return ne.getOriginalLiveDelay()},convertToTimeCode:function(fe){fe=Math.max(fe,0);var pe=Math.floor(fe/3600),Ve=Math.floor(fe%3600/60),St=Math.floor(fe%3600%60);return(pe===0?"":pe<10?"0"+pe.toString()+":":pe.toString()+":")+(Ve<10?"0"+Ve.toString():Ve.toString())+":"+(St<10?"0"+St.toString():St.toString())},formatUTC:function(fe,pe,Ve){var St=arguments.length>3&&arguments[3]!==void 0&&arguments[3],Nt=new Date(1e3*fe),ln=Nt.toLocaleDateString(pe),bn=Nt.toLocaleTimeString(pe,{hour12:Ve});return St?bn+" "+ln:bn},getVersion:qt,getDebug:function(){return ht},getBufferLength:function(fe){var pe=[t.Z.VIDEO,t.Z.AUDIO,t.Z.TEXT];if(fe)return pe.indexOf(fe)!==-1?wt().getCurrentBufferLevel(fe)||NaN:(r.warn("getBufferLength requested for invalid type"),NaN);var Ve=pe.map(function(St){return Kt(St).length>0?wt().getCurrentBufferLevel(St):Number.MAX_VALUE}).reduce(function(St,Nt){return Math.min(St,Nt)});return Ve===Number.MAX_VALUE?NaN:Ve},getTTMLRenderingDiv:function(){return Te?Te.getTTMLRenderingDiv():null},getVideoElement:Ht,getSource:function(){if(!l)throw Mt;return l},updateSource:function(fe){l=fe,C.load(l)},getCurrentLiveLatency:function(){if(!R)throw Ee;return h?ne.getCurrentLiveLatency():NaN},getTopBitrateInfoFor:function(fe){if(!A)throw nt;return Y.getTopBitrateInfoFor(fe)},setAutoPlay:$e,getAutoPlay:function(){return w},getDashMetrics:wt,getQualityFor:function(fe){if(!A)throw nt;if(fe===t.Z.IMAGE){var pe=ut();if(!pe)return-1;var Ve=pe.getThumbnailController();return Ve?Ve.getCurrentTrackIndex():-1}return Y.getQualityFor(fe)},setQualityFor:function(fe,pe){var Ve=arguments.length>2&&arguments[2]!==void 0&&arguments[2];if(!A)throw nt;if(fe===t.Z.IMAGE){var St=ut();if(!St)return;var Nt=St.getThumbnailController();Nt&&Nt.setTrackByIndex(pe)}Y.setPlaybackQuality(fe,C.getActiveStreamInfo(),pe,{forceReplace:Ve})},updatePortalSize:function(){Y.setElementSize(),Y.setWindowResizeEventCalled(!0)},enableText:function(fe){var pe=C.getActiveStreamInfo();return!(!pe||!D)&&D.enableText(pe.id,fe)},enableForcedTextStreaming:function(fe){return!(!C.getActiveStreamInfo()||!D)&&D.enableForcedTextStreaming(fe)},isTextEnabled:function(){var fe=C.getActiveStreamInfo();return!(!fe||!D)&&D.isTextEnabled(fe)},setTextTrack:function(fe){if(!h)throw We;var pe=C.getActiveStreamInfo();pe&&D&&D.setTextTrack(pe.id,fe)},getBitrateInfoListFor:function(fe){if(!A)throw nt;var pe=ut();return pe?pe.getBitrateListFor(fe):[]},getStreamsFromManifest:function(fe){if(!A)throw nt;return de.getStreamsInfo(fe)},getTracksFor:Kt,getTracksForTypeFromManifest:function(fe,pe,Ve){if(!A)throw nt;return(Ve=Ve||de.getStreamsInfo(pe,1)[0])?de.getAllMediaInfoForType(Ve,fe,pe):[]},getCurrentTrackFor:function(fe){if(!A)throw nt;var pe=C.getActiveStreamInfo();return U.getCurrentTrackFor(fe,pe.id)},setInitialMediaSettingsFor:function(fe,pe){if(!R)throw Ee;U.setInitialSettings(fe,pe)},getInitialMediaSettingsFor:function(fe){if(!R)throw Ee;return U.getInitialSettings(fe)},setCurrentTrack:function(fe){var pe=arguments.length>1&&arguments[1]!==void 0&&arguments[1];if(!A)throw nt;U.setTrack(fe,pe)},addABRCustomRule:function(fe,pe,Ve){ie.addAbrCustomRule(fe,pe,Ve)},removeABRCustomRule:function(fe){ie.removeAbrCustomRule(fe)},removeAllABRCustomRule:function(){ie.removeAllAbrCustomRule()},getABRCustomRules:function(){return ie.getAbrCustomRules()},getAverageThroughput:function(fe){var pe=Y.getThroughputHistory(),Ve=ne.getIsDynamic();return pe?pe.getAverageThroughput(fe,Ve):0},retrieveManifest:function(fe,pe){var Ve=kt(),St=this;lt.on(u.Z.INTERNAL_MANIFEST_LOADED,function Nt(ln){ln.error?pe(null,ln.error):pe(ln.manifest),lt.off(u.Z.INTERNAL_MANIFEST_LOADED,Nt,St),Ve.reset()},St),Ce.initialize(fe),Ve.load(fe)},addUTCTimingSource:function(fe,pe){ie.addUTCTimingSource(fe,pe)},removeUTCTimingSource:function(fe,pe){ie.removeUTCTimingSource(fe,pe)},clearDefaultUTCTimingSources:function(){ie.clearDefaultUTCTimingSources()},restoreDefaultUTCTimingSources:vt,setXHRWithCredentialsForType:function(fe,pe){ie.setXHRWithCredentialsForType(fe,pe)},getXHRWithCredentialsForType:function(fe){return ie.getXHRWithCredentialsForType(fe)},getProtectionController:function(){return jt()},attachProtectionController:function(fe){Z=fe},setProtectionData:function(fe){E=fe,C&&C.setProtectionData(E)},registerLicenseRequestFilter:function(fe){ie.registerLicenseRequestFilter(fe)},registerLicenseResponseFilter:function(fe){ie.registerLicenseResponseFilter(fe)},unregisterLicenseRequestFilter:function(fe){ie.unregisterLicenseRequestFilter(fe)},unregisterLicenseResponseFilter:function(fe){ie.unregisterLicenseResponseFilter(fe)},registerCustomCapabilitiesFilter:function(fe){ie.registerCustomCapabilitiesFilter(fe)},unregisterCustomCapabilitiesFilter:function(fe){ie.unregisterCustomCapabilitiesFilter(fe)},setCustomInitialTrackSelectionFunction:function(fe){ie.setCustomInitialTrackSelectionFunction(fe)},resetCustomInitialTrackSelectionFunction:function(){ie.resetCustomInitialTrackSelectionFunction(null)},attachTTMLRenderingDiv:function(fe){if(!Te.getElement())throw Xe;Te.setTTMLRenderingDiv(fe)},attachVttRenderingDiv:function(fe){if(!Te.getElement())throw Xe;Te.setVttRenderingDiv(fe)},getCurrentTextTrackIndex:function(){var fe=C.getActiveStreamInfo();if(fe&&D)return D.getCurrentTrackIdx(fe.id)},provideThumbnail:function(fe,pe){if(typeof pe=="function")if(fe<0)pe(null);else{var Ve=ne.getIsDynamic()?un(fe):fe,St=C.getStreamForTime(Ve);if(St!==null){var Nt=St.getThumbnailController();if(Nt)return Nt.provide(Ve,pe);pe(null)}else pe(null)}},getDashAdapter:function(){return de},getOfflineController:function(){return Ge()},triggerSteeringRequest:function(){if(oe)return oe.loadSteeringData()},getCurrentSteeringResponseData:function(){if(oe)return oe.getCurrentSteeringResponseData()},getSettings:function(){return qe.get()},updateSettings:function(fe){qe.update(fe)},resetSettings:function(){qe.reset()},reset:gt,destroy:function(){gt(),_.Z.deleteSingletonInstances(Fe)}},r=ht.getLogger(i),R=!1,h=!1,A=!1,w=!0,L=NaN,Z=null,se=null,E=null,de=null,et=null,u.Z.extend(n.Z),G=hs(Fe).getInstance(),ie=(0,Ln.Z)(Fe).getInstance(),Te=Ts(Fe).getInstance(),Ce=ds(Fe).getInstance(),i}ra.__dashjs_factory_name="MediaPlayer";var vi=_.Z.getClassFactory(ra);vi.events=n.Z,vi.errors=X,_.Z.updateClassFactory(ra.__dashjs_factory_name,vi);var cu=vi},8825:function(at,we,P){function ae(p){return ae=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(u){return typeof u}:function(u){return u&&typeof Symbol=="function"&&u.constructor===Symbol&&u!==Symbol.prototype?"symbol":typeof u},ae(p)}function T(p,u){return T=Object.setPrototypeOf||function(_,m){return _.__proto__=m,_},T(p,u)}function t(p,u){return!u||ae(u)!=="object"&&typeof u!="function"?function(_){if(_===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return _}(p):u}function e(p){return e=Object.setPrototypeOf?Object.getPrototypeOf:function(u){return u.__proto__||Object.getPrototypeOf(u)},e(p)}var y=new(function(p){(function(c,d){if(typeof d!="function"&&d!==null)throw new TypeError("Super expression must either be null or a function");c.prototype=Object.create(d&&d.prototype,{constructor:{value:c,writable:!0,configurable:!0}}),d&&T(c,d)})(n,p);var u,_,m=(u=n,_=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var c,d=e(u);if(_){var I=e(this).constructor;c=Reflect.construct(d,arguments,I)}else c=d.apply(this,arguments);return t(this,c)});function n(){var c;return function(d,I){if(!(d instanceof I))throw new TypeError("Cannot call a class as a function")}(this,n),(c=m.call(this)).AST_IN_FUTURE="astInFuture",c.BASE_URLS_UPDATED="baseUrlsUpdated",c.BUFFER_EMPTY="bufferStalled",c.BUFFER_LOADED="bufferLoaded",c.BUFFER_LEVEL_STATE_CHANGED="bufferStateChanged",c.BUFFER_LEVEL_UPDATED="bufferLevelUpdated",c.DVB_FONT_DOWNLOAD_ADDED="dvbFontDownloadAdded",c.DVB_FONT_DOWNLOAD_COMPLETE="dvbFontDownloadComplete",c.DVB_FONT_DOWNLOAD_FAILED="dvbFontDownloadFailed",c.DYNAMIC_TO_STATIC="dynamicToStatic",c.ERROR="error",c.FRAGMENT_LOADING_COMPLETED="fragmentLoadingCompleted",c.FRAGMENT_LOADING_PROGRESS="fragmentLoadingProgress",c.FRAGMENT_LOADING_STARTED="fragmentLoadingStarted",c.FRAGMENT_LOADING_ABANDONED="fragmentLoadingAbandoned",c.LOG="log",c.MANIFEST_LOADING_STARTED="manifestLoadingStarted",c.MANIFEST_LOADING_FINISHED="manifestLoadingFinished",c.MANIFEST_LOADED="manifestLoaded",c.METRICS_CHANGED="metricsChanged",c.METRIC_CHANGED="metricChanged",c.METRIC_ADDED="metricAdded",c.METRIC_UPDATED="metricUpdated",c.PERIOD_SWITCH_STARTED="periodSwitchStarted",c.PERIOD_SWITCH_COMPLETED="periodSwitchCompleted",c.QUALITY_CHANGE_REQUESTED="qualityChangeRequested",c.QUALITY_CHANGE_RENDERED="qualityChangeRendered",c.TRACK_CHANGE_RENDERED="trackChangeRendered",c.STREAM_INITIALIZING="streamInitializing",c.STREAM_UPDATED="streamUpdated",c.STREAM_ACTIVATED="streamActivated",c.STREAM_DEACTIVATED="streamDeactivated",c.STREAM_INITIALIZED="streamInitialized",c.STREAM_TEARDOWN_COMPLETE="streamTeardownComplete",c.TEXT_TRACKS_ADDED="allTextTracksAdded",c.TEXT_TRACK_ADDED="textTrackAdded",c.CUE_ENTER="cueEnter",c.CUE_EXIT="cueExit",c.THROUGHPUT_MEASUREMENT_STORED="throughputMeasurementStored",c.TTML_PARSED="ttmlParsed",c.TTML_TO_PARSE="ttmlToParse",c.CAPTION_RENDERED="captionRendered",c.CAPTION_CONTAINER_RESIZE="captionContainerResize",c.CAN_PLAY="canPlay",c.CAN_PLAY_THROUGH="canPlayThrough",c.PLAYBACK_ENDED="playbackEnded",c.PLAYBACK_ERROR="playbackError",c.PLAYBACK_NOT_ALLOWED="playbackNotAllowed",c.PLAYBACK_METADATA_LOADED="playbackMetaDataLoaded",c.PLAYBACK_LOADED_DATA="playbackLoadedData",c.PLAYBACK_PAUSED="playbackPaused",c.PLAYBACK_PLAYING="playbackPlaying",c.PLAYBACK_PROGRESS="playbackProgress",c.PLAYBACK_RATE_CHANGED="playbackRateChanged",c.PLAYBACK_SEEKED="playbackSeeked",c.PLAYBACK_SEEKING="playbackSeeking",c.PLAYBACK_STALLED="playbackStalled",c.PLAYBACK_STARTED="playbackStarted",c.PLAYBACK_TIME_UPDATED="playbackTimeUpdated",c.PLAYBACK_VOLUME_CHANGED="playbackVolumeChanged",c.PLAYBACK_WAITING="playbackWaiting",c.MANIFEST_VALIDITY_CHANGED="manifestValidityChanged",c.EVENT_MODE_ON_START="eventModeOnStart",c.EVENT_MODE_ON_RECEIVE="eventModeOnReceive",c.CONFORMANCE_VIOLATION="conformanceViolation",c.REPRESENTATION_SWITCH="representationSwitch",c.ADAPTATION_SET_REMOVED_NO_CAPABILITIES="adaptationSetRemovedNoCapabilities",c.CONTENT_STEERING_REQUEST_COMPLETED="contentSteeringRequestCompleted",c.INBAND_PRFT="inbandPrft",c.MANAGED_MEDIA_SOURCE_START_STREAMING="managedMediaSourceStartStreaming",c.MANAGED_MEDIA_SOURCE_END_STREAMING="managedMediaSourceEndStreaming",c}return n}(P(8342).Z));we.Z=y},3393:function(at,we){function P(T,t){for(var e=0;e<t.length;e++){var y=t[e];y.enumerable=y.enumerable||!1,y.configurable=!0,"value"in y&&(y.writable=!0),Object.defineProperty(T,y.key,y)}}var ae=new(function(){function T(){(function(y,p){if(!(y instanceof p))throw new TypeError("Cannot call a class as a function")})(this,T),this.init()}var t,e;return t=T,(e=[{key:"init",value:function(){this.STREAM="stream",this.VIDEO="video",this.AUDIO="audio",this.TEXT="text",this.MUXED="muxed",this.IMAGE="image",this.STPP="stpp",this.TTML="ttml",this.VTT="vtt",this.WVTT="wvtt",this.CONTENT_STEERING="contentSteering",this.ABR_STRATEGY_DYNAMIC="abrDynamic",this.ABR_STRATEGY_BOLA="abrBola",this.ABR_STRATEGY_L2A="abrL2A",this.ABR_STRATEGY_LoLP="abrLoLP",this.ABR_STRATEGY_THROUGHPUT="abrThroughput",this.ABR_FETCH_THROUGHPUT_CALCULATION_DOWNLOADED_DATA="abrFetchThroughputCalculationDownloadedData",this.ABR_FETCH_THROUGHPUT_CALCULATION_MOOF_PARSING="abrFetchThroughputCalculationMoofParsing",this.ABR_FETCH_THROUGHPUT_CALCULATION_AAST="abrFetchThroughputCalculationAAST",this.LIVE_CATCHUP_MODE_DEFAULT="liveCatchupModeDefault",this.LIVE_CATCHUP_MODE_LOLP="liveCatchupModeLoLP",this.MOVING_AVERAGE_SLIDING_WINDOW="slidingWindow",this.MOVING_AVERAGE_EWMA="ewma",this.BAD_ARGUMENT_ERROR="Invalid Arguments",this.MISSING_CONFIG_ERROR="Missing config parameter(s)",this.TRACK_SWITCH_MODE_ALWAYS_REPLACE="alwaysReplace",this.TRACK_SWITCH_MODE_NEVER_REPLACE="neverReplace",this.TRACK_SELECTION_MODE_FIRST_TRACK="firstTrack",this.TRACK_SELECTION_MODE_HIGHEST_BITRATE="highestBitrate",this.TRACK_SELECTION_MODE_HIGHEST_EFFICIENCY="highestEfficiency",this.TRACK_SELECTION_MODE_WIDEST_RANGE="widestRange",this.TRACK_SELECTION_MODE_HIGHEST_SELECTION_PRIORITY="highestSelectionPriority",this.CMCD_MODE_QUERY="query",this.CMCD_MODE_HEADER="header",this.INITIALIZE="initialize",this.TEXT_SHOWING="showing",this.TEXT_HIDDEN="hidden",this.TEXT_DISABLED="disabled",this.CC1="CC1",this.CC3="CC3",this.UTF8="utf-8",this.SCHEME_ID_URI="schemeIdUri",this.START_TIME="starttime",this.SERVICE_DESCRIPTION_DVB_LL_SCHEME="urn:dvb:dash:lowlatency:scope:2019",this.SUPPLEMENTAL_PROPERTY_DVB_LL_SCHEME="urn:dvb:dash:lowlatency:critical:2019",this.FONT_DOWNLOAD_DVB_SCHEME="urn:dvb:dash:fontdownload:2014",this.XML="XML",this.ARRAY_BUFFER="ArrayBuffer",this.DVB_REPORTING_URL="dvb:reportingUrl",this.DVB_PROBABILITY="dvb:probability",this.OFF_MIMETYPE="application/font-sfnt",this.WOFF_MIMETYPE="application/font-woff",this.VIDEO_ELEMENT_READY_STATES={HAVE_NOTHING:0,HAVE_METADATA:1,HAVE_CURRENT_DATA:2,HAVE_FUTURE_DATA:3,HAVE_ENOUGH_DATA:4},this.FILE_LOADER_TYPES={FETCH:"fetch_loader",XHR:"xhr_loader"}}}])&&P(t.prototype,e),T}());we.Z=ae},3860:function(at,we){function P(T,t){for(var e=0;e<t.length;e++){var y=t[e];y.enumerable=y.enumerable||!1,y.configurable=!0,"value"in y&&(y.writable=!0),Object.defineProperty(T,y.key,y)}}var ae=new(function(){function T(){(function(y,p){if(!(y instanceof p))throw new TypeError("Cannot call a class as a function")})(this,T),this.init()}var t,e;return t=T,(e=[{key:"init",value:function(){this.TCP_CONNECTION="TcpList",this.HTTP_REQUEST="HttpList",this.TRACK_SWITCH="RepSwitchList",this.BUFFER_LEVEL="BufferLevel",this.BUFFER_LOADED="bufferLoaded",this.ABANDON_LOAD="abandonload",this.ALLOW_LOAD="allowload",this.BUFFER_EMPTY="bufferStalled",this.BUFFER_STATE="BufferState",this.DVR_INFO="DVRInfo",this.DROPPED_FRAMES="DroppedFrames",this.SCHEDULING_INFO="SchedulingInfo",this.REQUESTS_QUEUE="RequestsQueue",this.MANIFEST_UPDATE="ManifestUpdate",this.MANIFEST_UPDATE_STREAM_INFO="ManifestUpdatePeriodInfo",this.MANIFEST_UPDATE_TRACK_INFO="ManifestUpdateRepresentationInfo",this.PLAY_LIST="PlayList",this.DVB_ERRORS="DVBErrors",this.HTTP_REQUEST_DVB_REPORTING_TYPE="DVBReporting"}}])&&P(t.prototype,e),T}());we.Z=ae},8080:function(at,we,P){P.d(we,{default:function(){return v}});var ae=function S(){(function(W,V){if(!(W instanceof V))throw new TypeError("Cannot call a class as a function")})(this,S),this.mpdurl=null,this.errorcode=null,this.terror=null,this.url=null,this.ipaddress=null,this.servicelocation=null};ae.SSL_CONNECTION_FAILED_PREFIX="SSL",ae.DNS_RESOLUTION_FAILED="C00",ae.HOST_UNREACHABLE="C01",ae.CONNECTION_REFUSED="C02",ae.CONNECTION_ERROR="C03",ae.CORRUPT_MEDIA_ISOBMFF="M00",ae.CORRUPT_MEDIA_OTHER="M01",ae.BASE_URL_CHANGED="F00",ae.BECAME_REPORTER="S00";var T=ae,t=P(1180);function e(S){var W,V,Se=(S=S||{}).eventBus,ze=S.dashMetrics,Me=S.metricsConstants,De=S.events;function be(It){var Ft=new T;if(V){for(var Pt in It)It.hasOwnProperty(Pt)&&(Ft[Pt]=It[Pt]);Ft.mpdurl||(Ft.mpdurl=V.originalUrl||V.url),Ft.terror||(Ft.terror=new Date),ze.addDVBErrors(Ft)}}function xe(It){It.error||(V=It.manifest)}function Qe(It){be({errorcode:T.BASE_URL_CHANGED,servicelocation:It.entry})}function mt(){be({errorcode:T.BECAME_REPORTER})}function it(It){var Ft;It.metric===Me.HTTP_REQUEST&&((Ft=It.value).responsecode===0||Ft.responsecode==null||Ft.responsecode>=400||Ft.responsecode<100||Ft.responsecode>=600)&&be({errorcode:Ft.responsecode||T.CONNECTION_ERROR,url:Ft.url,terror:Ft.tresponse,servicelocation:Ft._serviceLocation})}function Ut(It){var Ft;switch(It.error?It.error.code:0){case MediaError.MEDIA_ERR_NETWORK:Ft=T.CONNECTION_ERROR;break;case MediaError.MEDIA_ERR_DECODE:Ft=T.CORRUPT_MEDIA_OTHER;break;default:return}be({errorcode:Ft})}return W={initialize:function(){Se.on(De.MANIFEST_UPDATED,xe,W),Se.on(De.SERVICE_LOCATION_BASE_URL_BLACKLIST_CHANGED,Qe,W),Se.on(De.METRIC_ADDED,it,W),Se.on(De.METRIC_UPDATED,it,W),Se.on(De.PLAYBACK_ERROR,Ut,W),Se.on(t.Z.BECAME_REPORTING_PLAYER,mt,W)},reset:function(){Se.off(De.MANIFEST_UPDATED,xe,W),Se.off(De.SERVICE_LOCATION_BASE_URL_BLACKLIST_CHANGED,Qe,W),Se.off(De.METRIC_ADDED,it,W),Se.off(De.METRIC_UPDATED,it,W),Se.off(De.PLAYBACK_ERROR,Ut,W),Se.off(t.Z.BECAME_REPORTING_PLAYER,mt,W)}}}e.__dashjs_factory_name="DVBErrorsTranslator";var y=dashjs.FactoryMaker.getSingletonFactory(e),p=P(2295);function u(S){S=S||{};var W,V,Se=!1,ze=this.context,Me=S.mediaElement;return W={initialize:function(De){De&&De.length&&(De.forEach(function(be){var xe=be.starttime,Qe=xe+be.duration;V.add(xe,Qe)}),Se=!!De[0]._useWallClockTime)},reset:function(){V.clear()},isEnabled:function(){var De,be=V.length;if(!be)return!0;De=Se?new Date().getTime()/1e3:Me.currentTime;for(var xe=0;xe<be;xe+=1){var Qe=V.start(xe),mt=V.end(xe);if(Qe<=De&&De<mt)return!0}return!1}},V=(0,p.Z)(ze).create(),W}u.__dashjs_factory_name="RangeController";var _=dashjs.FactoryMaker.getClassFactory(u);function m(){return{serialise:function S(W){var V,Se,ze=[],Me=[];for(V in W)if(W.hasOwnProperty(V)&&V.indexOf("_")!==0){if((Se=W[V])==null&&(Se=""),Array.isArray(Se)){if(!Se.length)continue;Me=[],Se.forEach(function(De){var be=Object.prototype.toString.call(De).slice(8,-1)!=="Object";Me.push(be?De:S(De))}),Se=Me.map(encodeURIComponent).join(",")}else typeof Se=="string"?Se=encodeURIComponent(Se):Se instanceof Date?Se=Se.toISOString():typeof Se=="number"&&(Se=Math.round(Se));ze.push(V+"="+Se)}return ze.join("&")}}}m.__dashjs_factory_name="MetricSerialiser";var n=dashjs.FactoryMaker.getSingletonFactory(m);function c(){var S,W,V,Se=window.crypto||window.msCrypto,ze=Uint32Array,Me=Math.pow(2,8*ze.BYTES_PER_ELEMENT)-1;function De(){Se&&(S||(S=new ze(10)),Se.getRandomValues(S),W=0)}return V={random:function(be,xe){var Qe;return be||(be=0),xe||(xe=1),Se?(W===S.length&&De(),Qe=S[W]/Me,W+=1):Qe=Math.random(),Qe*(xe-be)+be}},De(),V}c.__dashjs_factory_name="RNG";var d=dashjs.FactoryMaker.getSingletonFactory(c),I=P(5717);function k(S){var W;S=S||{};var V,Se,ze,Me,De,be,xe,Qe=this.context,mt=[],it=S.metricsConstants;function Ut(){Me=!1,De=!1,be=null,xe=null}return W={report:function(It,Ft){Array.isArray(Ft)||(Ft=[Ft]),De&&xe.isEnabled()&&Ft.forEach(function(Pt){var tn=V.serialise(Pt);It!==it.DVB_ERRORS&&(tn="metricname=".concat(It,"&").concat(tn)),function(dn,An,_n){var Rn=new XMLHttpRequest;Rn.withCredentials=Se.getXHRWithCredentialsForType(it.HTTP_REQUEST_DVB_REPORTING_TYPE);var qn=function(){var yn=mt.indexOf(Rn);yn!==-1&&(mt.splice(yn,1),!(Rn.status>=200&&Rn.status<300)&&_n&&_n())};mt.push(Rn);try{Rn.open("GET",dn),Rn.onloadend=qn,Rn.onerror=qn,Rn.send()}catch{Rn.onerror()}}(tn="".concat(be,"?").concat(tn),0,function(){De=!1})})},initialize:function(It,Ft){var Pt;if(xe=Ft,!(be=It.dvbReportingUrl))throw new Error("required parameter missing (dvb:reportingUrl)");Me||((Pt=It.dvbProbability)&&(Pt===1e3||Pt/1e3>=ze.random())&&(De=!0),Me=!0)},reset:function(){Ut()}},V=n(Qe).getInstance(),ze=d(Qe).getInstance(),Se=(0,I.Z)(Qe).getInstance(),Ut(),W}k.__dashjs_factory_name="DVBReporting";var q=dashjs.FactoryMaker.getClassFactory(k);function F(S){S=S||{};var W,V={"urn:dvb:dash:reporting:2014":q},Se=this.context,ze=S.debug?S.debug.getLogger(W):{},Me=S.metricsConstants,De=S.mediaPlayerModel||{};return{create:function(be,xe){var Qe;try{(Qe=V[be.schemeIdUri](Se).create({metricsConstants:Me,mediaPlayerModel:De})).initialize(be,xe)}catch(mt){Qe=null,ze.error("ReportingFactory: could not create Reporting with schemeIdUri ".concat(be.schemeIdUri," (").concat(mt.message,")"))}return Qe},register:function(be,xe){V[be]=xe},unregister:function(be){delete V[be]}}}F.__dashjs_factory_name="ReportingFactory";var $=dashjs.FactoryMaker.getSingletonFactory(F);function O(S){var W=[],V=$(this.context).getInstance(S);return{initialize:function(Se,ze){Se.some(function(Me){var De=V.create(Me,ze);if(De)return W.push(De),!0})},reset:function(){W.forEach(function(Se){return Se.reset()}),W=[]},report:function(Se,ze){W.forEach(function(Me){return Me.report(Se,ze)})}}}O.__dashjs_factory_name="ReportingController";var K=dashjs.FactoryMaker.getClassFactory(O);function re(){return{reconstructFullMetricName:function(S,W,V){var Se=S;return W&&(Se+="("+W,V&&V.length&&(Se+=","+V),Se+=")"),Se},validateN:function(S){if(!S)throw new Error("missing n");if(isNaN(S))throw new Error("n is NaN");if(S<0)throw new Error("n must be positive");return S}}}re.__dashjs_factory_name="HandlerHelpers";var H=dashjs.FactoryMaker.getSingletonFactory(re);function ee(S){var W,V,Se,ze,Me;S=S||{};var De=this.context,be=H(De).getInstance(),xe=[],Qe=S.metricsConstants;function mt(){var it=function(){try{return Object.keys(xe).map(function(Ut){return xe[Ut]}).reduce(function(Ut,It){return Ut.level<It.level?Ut:It})}catch{return}}();it&&Me!==it.t&&(Me=it.t,W.report(Se,it))}return{initialize:function(it,Ut,It){Ut&&(V=be.validateN(It),W=Ut,Se=be.reconstructFullMetricName(it,It),ze=setInterval(mt,V))},reset:function(){clearInterval(ze),ze=null,V=0,W=null,Me=null},handleNewMetric:function(it,Ut,It){it===Qe.BUFFER_LEVEL&&(xe[It]=Ut)}}}ee.__dashjs_factory_name="BufferLevelHandler";var ue=dashjs.FactoryMaker.getClassFactory(ee),_e=dashjs.FactoryMaker.getClassFactory(function(S){var W,V=(S=S||{}).eventBus,Se=S.metricsConstants;function ze(){V.off(t.Z.METRICS_INITIALISATION_COMPLETE,ze,this),V.trigger(t.Z.BECAME_REPORTING_PLAYER)}return{initialize:function(Me,De){De&&(W=De,V.on(t.Z.METRICS_INITIALISATION_COMPLETE,ze,this))},reset:function(){W=null},handleNewMetric:function(Me,De){Me===Se.DVB_ERRORS&&W&&W.report(Me,De)}}});function X(S){var W,V,Se,ze,Me;S=S||{};var De=[],be=H(this.context).getInstance(),xe=S.metricsConstants;function Qe(){var mt=De;mt.length&&W&&W.report(ze,mt),De=[]}return{initialize:function(mt,it,Ut,It){it&&(V=be.validateN(Ut),W=it,It&&It.length&&(Se=It),ze=be.reconstructFullMetricName(mt,Ut,It),Me=setInterval(Qe,V))},reset:function(){clearInterval(Me),Me=null,V=null,Se=null,De=[],W=null},handleNewMetric:function(mt,it){mt===xe.HTTP_REQUEST&&(Se&&Se!==it.type||De.push(it))}}}X.__dashjs_factory_name="HttpListHandler";var Ae=dashjs.FactoryMaker.getClassFactory(X);function Le(){var S,W;return{initialize:function(V,Se){S=V,W=Se},reset:function(){W=null,S=void 0},handleNewMetric:function(V,Se){V===S&&W&&W.report(S,Se)}}}Le.__dashjs_factory_name="GenericMetricHandler";var Ye=dashjs.FactoryMaker.getClassFactory(Le);function ye(S){var W,V=(S=S||{}).debug?S.debug.getLogger(W):{},Se=/([a-zA-Z]*)(\(([0-9]*)(\,\s*([a-zA-Z]*))?\))?/,ze=this.context,Me={BufferLevel:ue,DVBErrors:_e,HttpList:Ae,PlayList:Ye,RepSwitchList:Ye,TcpList:Ye};return{create:function(De,be){var xe,Qe=De.match(Se);if(Qe){try{(xe=Me[Qe[1]](ze).create({eventBus:S.eventBus,metricsConstants:S.metricsConstants})).initialize(Qe[1],be,Qe[3],Qe[5])}catch(mt){xe=null,V.error("MetricsHandlerFactory: Could not create handler for type ".concat(Qe[1]," with args ").concat(Qe[3],", ").concat(Qe[5]," (").concat(mt.message,")"))}return xe}},register:function(De,be){Me[De]=be},unregister:function(De){delete Me[De]}}}ye.__dashjs_factory_name="MetricsHandlerFactory";var Pe=dashjs.FactoryMaker.getSingletonFactory(ye);function He(S){S=S||{};var W,V=[],Se=this.context,ze=S.eventBus,Me=S.events,De=Pe(Se).getInstance({debug:S.debug,eventBus:S.eventBus,metricsConstants:S.metricsConstants});function be(xe){V.forEach(function(Qe){Qe.handleNewMetric(xe.metric,xe.value,xe.mediaType)})}return W={initialize:function(xe,Qe){xe.split(",").forEach(function(mt,it,Ut){var It;if(mt.indexOf("(")!==-1&&mt.indexOf(")")===-1){var Ft=Ut[it+1];Ft&&Ft.indexOf("(")===-1&&Ft.indexOf(")")!==-1&&(mt+=","+Ft,delete Ut[it+1])}(It=De.create(mt,Qe))&&V.push(It)}),ze.on(Me.METRIC_ADDED,be,W),ze.on(Me.METRIC_UPDATED,be,W)},reset:function(){ze.off(Me.METRIC_ADDED,be,W),ze.off(Me.METRIC_UPDATED,be,W),V.forEach(function(xe){return xe.reset()}),V=[]}}}He.__dashjs_factory_name="MetricsHandlersController";var tt=dashjs.FactoryMaker.getClassFactory(He);function ve(S){var W,V,Se;S=S||{};var ze=this.context;function Me(){W&&W.reset(),V&&V.reset(),Se&&Se.reset()}return{initialize:function(De){try{(Se=_(ze).create({mediaElement:S.mediaElement})).initialize(De.Range),(V=K(ze).create({debug:S.debug,metricsConstants:S.metricsConstants,mediaPlayerModel:S.mediaPlayerModel})).initialize(De.Reporting,Se),(W=tt(ze).create({debug:S.debug,eventBus:S.eventBus,metricsConstants:S.metricsConstants,events:S.events})).initialize(De.metrics,V)}catch(be){throw Me(),be}},reset:Me}}ve.__dashjs_factory_name="MetricsController";var Oe=dashjs.FactoryMaker.getClassFactory(ve),_t=function S(){(function(W,V){if(!(W instanceof V))throw new TypeError("Cannot call a class as a function")})(this,S),this.metrics="",this.Range=[],this.Reporting=[]},dt=function S(){(function(W,V){if(!(W instanceof V))throw new TypeError("Cannot call a class as a function")})(this,S),this.starttime=0,this.duration=1/0,this._useWallClockTime=!1},ke=function S(){(function(W,V){if(!(W instanceof V))throw new TypeError("Cannot call a class as a function")})(this,S),this.schemeIdUri="",this.value="",this.dvbReportingUrl="",this.dvbProbability=1e3};function Je(S){var W=(S=S||{}).adapter,V=S.constants;return{getMetrics:function(Se){var ze=[];return Se&&Se.Metrics_asArray&&Se.Metrics_asArray.forEach(function(Me){var De=new _t,be=W.getIsDynamic(Se);Me.hasOwnProperty("metrics")&&(De.metrics=Me.metrics,Me.Range_asArray&&Me.Range_asArray.forEach(function(xe){var Qe=new dt;Qe.starttime=function(mt,it,Ut){var It,Ft,Pt=0;return it?Pt=W.getAvailabilityStartTime(mt)/1e3:(It=W.getRegularPeriods(mt)).length&&(Pt=It[0].start),Ft=Pt,Ut&&Ut.hasOwnProperty(V.START_TIME)&&(Ft+=Ut.starttime),Ft}(Se,be,xe),xe.hasOwnProperty("duration")?Qe.duration=xe.duration:Qe.duration=W.getDuration(Se),Qe._useWallClockTime=be,De.Range.push(Qe)}),Me.Reporting_asArray&&(Me.Reporting_asArray.forEach(function(xe){var Qe=new ke;xe.hasOwnProperty(V.SCHEME_ID_URI)&&(Qe.schemeIdUri=xe.schemeIdUri,xe.hasOwnProperty("value")&&(Qe.value=xe.value),xe.hasOwnProperty(V.DVB_REPORTING_URL)&&(Qe.dvbReportingUrl=xe[V.DVB_REPORTING_URL]),xe.hasOwnProperty(V.DVB_PROBABILITY)&&(Qe.dvbProbability=xe[V.DVB_PROBABILITY]),De.Reporting.push(Qe))}),ze.push(De)))}),ze}}}Je.__dashjs_factory_name="ManifestParsing";var ge=dashjs.FactoryMaker.getSingletonFactory(Je);function me(S){var W;S=S||{};var V={},Se=this.context,ze=S.eventBus,Me=S.events;function De(xe){if(!xe.error){var Qe=Object.keys(V);ge(Se).getInstance({adapter:S.adapter,constants:S.constants}).getMetrics(xe.manifest).forEach(function(mt){var it=JSON.stringify(mt);if(V.hasOwnProperty(it))Qe.splice(it,1);else try{var Ut=Oe(Se).create(S);Ut.initialize(mt),V[it]=Ut}catch{}}),Qe.forEach(function(mt){V[mt].reset(),delete V[mt]}),ze.trigger(t.Z.METRICS_INITIALISATION_COMPLETE)}}function be(){Object.keys(V).forEach(function(xe){V[xe].reset()}),V={}}return W={reset:function(){ze.off(Me.MANIFEST_UPDATED,De,W),ze.off(Me.STREAM_TEARDOWN_COMPLETE,be,W)}},ze.on(Me.MANIFEST_UPDATED,De,W),ze.on(Me.STREAM_TEARDOWN_COMPLETE,be,W),W}me.__dashjs_factory_name="MetricsCollectionController";var Ue=dashjs.FactoryMaker.getClassFactory(me);function f(){var S=this.context;return{createMetricsReporting:function(W){return y(S).getInstance({eventBus:W.eventBus,dashMetrics:W.dashMetrics,metricsConstants:W.metricsConstants,events:W.events}).initialize(),Ue(S).create(W)},getReportingFactory:function(){return $(S).getInstance()},getMetricsHandlerFactory:function(){return Pe(S).getInstance()}}}f.__dashjs_factory_name="MetricsReporting";var o=dashjs.FactoryMaker.getClassFactory(f);o.events=t.Z,dashjs.FactoryMaker.updateClassFactory(f.__dashjs_factory_name,o);var v=o},1180:function(at,we,P){function ae(p){return ae=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(u){return typeof u}:function(u){return u&&typeof Symbol=="function"&&u.constructor===Symbol&&u!==Symbol.prototype?"symbol":typeof u},ae(p)}function T(p,u){return T=Object.setPrototypeOf||function(_,m){return _.__proto__=m,_},T(p,u)}function t(p,u){return!u||ae(u)!=="object"&&typeof u!="function"?function(_){if(_===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return _}(p):u}function e(p){return e=Object.setPrototypeOf?Object.getPrototypeOf:function(u){return u.__proto__||Object.getPrototypeOf(u)},e(p)}var y=new(function(p){(function(c,d){if(typeof d!="function"&&d!==null)throw new TypeError("Super expression must either be null or a function");c.prototype=Object.create(d&&d.prototype,{constructor:{value:c,writable:!0,configurable:!0}}),d&&T(c,d)})(n,p);var u,_,m=(u=n,_=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var c,d=e(u);if(_){var I=e(this).constructor;c=Reflect.construct(d,arguments,I)}else c=d.apply(this,arguments);return t(this,c)});function n(){var c;return function(d,I){if(!(d instanceof I))throw new TypeError("Cannot call a class as a function")}(this,n),(c=m.call(this)).METRICS_INITIALISATION_COMPLETE="internal_metricsReportingInitialized",c.BECAME_REPORTING_PLAYER="internal_becameReportingPlayer",c.CMCD_DATA_GENERATED="cmcdDataGenerated",c}return n}(P(8342).Z));we.Z=y},5717:function(at,we,P){var ae=P(2610),T=P(5448),t=P(1264),e=P(3106),y=P(1767),p=P(3393);function u(){var _,m,n,c,d,I,k,q,F=this.context,$=(0,t.Z)(F).getInstance();function O(){c=[],d=[],I=[],q=[],k=null,m=[]}function K(ue,_e){var X=-1;ue.some(function(Ae,Le){if(Ae===_e)return X=Le,!0}),X<0||ue.splice(X,1)}function re(ue){var _e;for(_e=0;_e<q.length;_e++)if(q[_e].rulename===ue)return _e;return-1}function H(ue,_e){ee(ue,_e);var X=new ae.Z;X.schemeIdUri=ue,X.value=_e,m.push(X)}function ee(ue,_e){(0,e.PS)(ue,"string"),(0,e.PS)(_e,"string"),m.forEach(function(X,Ae){X.schemeIdUri===ue&&X.value===_e&&m.splice(Ae,1)})}return _={getCustomInitialTrackSelectionFunction:function(){return k},setCustomInitialTrackSelectionFunction:function(ue){k=ue},resetCustomInitialTrackSelectionFunction:function(){k=null},getLicenseResponseFilters:function(){return d},getLicenseRequestFilters:function(){return c},getCustomCapabilitiesFilters:function(){return I},registerCustomCapabilitiesFilter:function(ue){I.push(ue)},registerLicenseResponseFilter:function(ue){d.push(ue)},registerLicenseRequestFilter:function(ue){c.push(ue)},unregisterCustomCapabilitiesFilter:function(ue){K(I,ue)},unregisterLicenseResponseFilter:function(ue){K(d,ue)},unregisterLicenseRequestFilter:function(ue){K(c,ue)},addAbrCustomRule:function(ue,_e,X){if(typeof ue!="string"||ue!==y.Z.ABANDON_FRAGMENT_RULES&&ue!==y.Z.QUALITY_SWITCH_RULES||typeof _e!="string")throw p.Z.BAD_ARGUMENT_ERROR;var Ae=re(_e);Ae===-1?q.push({type:ue,rulename:_e,rule:X}):(q[Ae].type=ue,q[Ae].rule=X)},removeAllAbrCustomRule:function(){q=[]},removeAbrCustomRule:function(ue){if(ue){var _e=re(ue);_e!==-1&&q.splice(_e,1)}else q=[]},getAbrCustomRules:function(){return q},addUTCTimingSource:H,removeUTCTimingSource:ee,getUTCTimingSources:function(){return m},clearDefaultUTCTimingSources:function(){m=[]},restoreDefaultUTCTimingSources:function(){var ue=$.get().streaming.utcSynchronization.defaultTimingSource;H(ue.scheme,ue.value)},setXHRWithCredentialsForType:function ue(_e,X){_e?n[_e]=!!X:Object.keys(n).forEach(function(Ae){ue(Ae,X)})},getXHRWithCredentialsForType:function(ue){var _e=n[ue];return _e===void 0?n.default:_e},setConfig:function(){},reset:function(){O()}},n={default:!1},O(),_}u.__dashjs_factory_name="CustomParametersModel",we.Z=T.Z.getSingletonFactory(u)},9032:function(at,we,P){var ae=P(5448),T=P(7473);function t(y){var p=(y=y||{}).requestModifier;function u(_){var m=new Date,n=_.request,c=new XMLHttpRequest;if(c.open(_.method,_.url,!0),n.responseType&&(c.responseType=n.responseType),n.range&&c.setRequestHeader("Range","bytes="+n.range),n.requestStartDate||(n.requestStartDate=m),p&&p.modifyRequestHeader&&(c=p.modifyRequestHeader(c,{url:_.url})),_.headers)for(var d in _.headers){var I=_.headers[d];I&&c.setRequestHeader(d,I)}c.withCredentials=_.withCredentials,c.onload=_.onload,c.onloadend=_.onend,c.onerror=_.onerror,c.onprogress=_.progress,c.onabort=_.onabort,c.ontimeout=_.ontimeout,c.timeout=_.timeout,c.send(),_.response=c}return{load:function(_){p&&p.modifyRequest?(0,T.k)(_,p).then(function(){return u(_)}):u(_)},abort:function(_){var m=_.response;m.onloadend=m.onerror=m.onprogress=void 0,m.abort()}}}t.__dashjs_factory_name="XHRLoader";var e=ae.Z.getClassFactory(t);we.Z=e},1737:function(at,we,P){function ae(bt,Et){for(var Tt=0;Tt<Et.length;Tt++){var Ze=Et[Tt];Ze.enumerable=Ze.enumerable||!1,Ze.configurable=!0,"value"in Ze&&(Ze.writable=!0),Object.defineProperty(bt,Ze.key,Ze)}}P.d(we,{default:function(){return Cr}});var T={attributes:["Laurl","laurl"],prefixes:["clearkey","dashif"]},t=function(){function bt(){(function(Ze,ct){if(!(Ze instanceof ct))throw new TypeError("Cannot call a class as a function")})(this,bt)}var Et,Tt;return Et=bt,Tt=[{key:"findCencContentProtection",value:function(Ze){for(var ct=null,je=0;je<Ze.length;++je){var ot=Ze[je];ot.schemeIdUri.toLowerCase()!=="urn:mpeg:dash:mp4protection:2011"||ot.value.toLowerCase()!=="cenc"&&ot.value.toLowerCase()!=="cbcs"||(ct=ot)}return ct}},{key:"getPSSHData",value:function(Ze){var ct=8,je=new DataView(Ze),ot=je.getUint8(ct);return ct+=20,ot>0&&(ct+=4+16*je.getUint32(ct)),ct+=4,Ze.slice(ct)}},{key:"getPSSHForKeySystem",value:function(Ze,ct){var je=bt.parsePSSHList(ct);return Ze&&je.hasOwnProperty(Ze.uuid.toLowerCase())?je[Ze.uuid.toLowerCase()]:null}},{key:"parseInitDataFromContentProtection",value:function(Ze,ct){return"pssh"in Ze?(Ze.pssh.__text=Ze.pssh.__text.replace(/\r?\n|\r/g,"").replace(/\s+/g,""),ct.decodeArray(Ze.pssh.__text).buffer):null}},{key:"parsePSSHList",value:function(Ze){if(Ze==null)return[];for(var ct=new DataView(Ze.buffer||Ze),je={},ot=0;;){var Ot,Lt,Wt=void 0,Xt=ot;if(ot>=ct.buffer.byteLength)break;if(Ot=ot+ct.getUint32(ot),ot+=4,ct.getUint32(ot)===1886614376)if(ot+=4,(Lt=ct.getUint8(ot))===0||Lt===1){ot++,ot+=3,Wt="";var Bt=void 0,yt=void 0;for(Bt=0;Bt<4;Bt++)Wt+=(yt=ct.getUint8(ot+Bt).toString(16)).length===1?"0"+yt:yt;for(ot+=4,Wt+="-",Bt=0;Bt<2;Bt++)Wt+=(yt=ct.getUint8(ot+Bt).toString(16)).length===1?"0"+yt:yt;for(ot+=2,Wt+="-",Bt=0;Bt<2;Bt++)Wt+=(yt=ct.getUint8(ot+Bt).toString(16)).length===1?"0"+yt:yt;for(ot+=2,Wt+="-",Bt=0;Bt<2;Bt++)Wt+=(yt=ct.getUint8(ot+Bt).toString(16)).length===1?"0"+yt:yt;for(ot+=2,Wt+="-",Bt=0;Bt<6;Bt++)Wt+=(yt=ct.getUint8(ot+Bt).toString(16)).length===1?"0"+yt:yt;ot+=6,ot+=4,je[Wt=Wt.toLowerCase()]=ct.buffer.slice(Xt,Ot),ot=Ot}else ot=Ot;else ot=Ot}return je}},{key:"getLicenseServerUrlFromMediaInfo",value:function(Ze,ct){try{if(!Ze||Ze.length===0)return null;for(var je=0,ot=null;je<Ze.length&&!ot;){var Ot=Ze[je];if(Ot&&Ot.contentProtection&&Ot.contentProtection.length>0){var Lt=Ot.contentProtection.filter(function(rn){return rn.schemeIdUri&&rn.schemeIdUri===ct});if(Lt&&Lt.length>0)for(var Wt=0;Wt<Lt.length&&!ot;){for(var Xt=Lt[Wt],Bt=0;Bt<T.attributes.length&&!ot;){for(var yt=0,zt=T.attributes[Bt];yt<T.prefixes.length&&!ot;){var Vt=T.prefixes[yt];Xt[zt]&&Xt[zt].__prefix&&Xt[zt].__prefix===Vt&&Xt[zt].__text&&(ot=Xt[zt].__text),yt+=1}Bt+=1}Wt+=1}}je+=1}return ot}catch{return null}}}],Tt&&ae(Et,Tt),bt}(),e=function bt(Et,Tt){(function(Ze,ct){if(!(Ze instanceof ct))throw new TypeError("Cannot call a class as a function")})(this,bt),this.contentType=Et,this.robustness=Tt},y=function bt(Et,Tt,Ze,ct,je){(function(ot,Ot){if(!(ot instanceof Ot))throw new TypeError("Cannot call a class as a function")})(this,bt),this.initDataTypes=["cenc"],Et&&Et.length&&(this.audioCapabilities=Et),Tt&&Tt.length&&(this.videoCapabilities=Tt),this.distinctiveIdentifier=Ze,this.persistentState=ct,this.sessionTypes=je};function p(bt){return p=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(Et){return typeof Et}:function(Et){return Et&&typeof Symbol=="function"&&Et.constructor===Symbol&&Et!==Symbol.prototype?"symbol":typeof Et},p(bt)}function u(bt,Et){return u=Object.setPrototypeOf||function(Tt,Ze){return Tt.__proto__=Ze,Tt},u(bt,Et)}function _(bt,Et){return!Et||p(Et)!=="object"&&typeof Et!="function"?function(Tt){if(Tt===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return Tt}(bt):Et}function m(bt){return m=Object.setPrototypeOf?Object.getPrototypeOf:function(Et){return Et.__proto__||Object.getPrototypeOf(Et)},m(bt)}var n=new(function(bt){(function(je,ot){if(typeof ot!="function"&&ot!==null)throw new TypeError("Super expression must either be null or a function");je.prototype=Object.create(ot&&ot.prototype,{constructor:{value:je,writable:!0,configurable:!0}}),ot&&u(je,ot)})(ct,bt);var Et,Tt,Ze=(Et=ct,Tt=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var je,ot=m(Et);if(Tt){var Ot=m(this).constructor;je=Reflect.construct(ot,arguments,Ot)}else je=ot.apply(this,arguments);return _(this,je)});function ct(){var je;return function(ot,Ot){if(!(ot instanceof Ot))throw new TypeError("Cannot call a class as a function")}(this,ct),(je=Ze.call(this)).MEDIA_KEYERR_CODE=100,je.MEDIA_KEYERR_UNKNOWN_CODE=101,je.MEDIA_KEYERR_CLIENT_CODE=102,je.MEDIA_KEYERR_SERVICE_CODE=103,je.MEDIA_KEYERR_OUTPUT_CODE=104,je.MEDIA_KEYERR_HARDWARECHANGE_CODE=105,je.MEDIA_KEYERR_DOMAIN_CODE=106,je.MEDIA_KEY_MESSAGE_ERROR_CODE=107,je.MEDIA_KEY_MESSAGE_NO_CHALLENGE_ERROR_CODE=108,je.SERVER_CERTIFICATE_UPDATED_ERROR_CODE=109,je.KEY_STATUS_CHANGED_EXPIRED_ERROR_CODE=110,je.MEDIA_KEY_MESSAGE_NO_LICENSE_SERVER_URL_ERROR_CODE=111,je.KEY_SYSTEM_ACCESS_DENIED_ERROR_CODE=112,je.KEY_SESSION_CREATED_ERROR_CODE=113,je.MEDIA_KEY_MESSAGE_LICENSER_ERROR_CODE=114,je.MEDIA_KEYERR_UNKNOWN_MESSAGE="An unspecified error occurred. This value is used for errors that don't match any of the other codes.",je.MEDIA_KEYERR_CLIENT_MESSAGE="The Key System could not be installed or updated.",je.MEDIA_KEYERR_SERVICE_MESSAGE="The message passed into update indicated an error from the license service.",je.MEDIA_KEYERR_OUTPUT_MESSAGE="There is no available output device with the required characteristics for the content protection system.",je.MEDIA_KEYERR_HARDWARECHANGE_MESSAGE="A hardware configuration change caused a content protection error.",je.MEDIA_KEYERR_DOMAIN_MESSAGE="An error occurred in a multi-device domain licensing configuration. The most common error is a failure to join the domain.",je.MEDIA_KEY_MESSAGE_ERROR_MESSAGE="Multiple key sessions were creates with a user-agent that does not support sessionIDs!! Unpredictable behavior ahead!",je.MEDIA_KEY_MESSAGE_NO_CHALLENGE_ERROR_MESSAGE="DRM: Empty key message from CDM",je.SERVER_CERTIFICATE_UPDATED_ERROR_MESSAGE="Error updating server certificate -- ",je.KEY_STATUS_CHANGED_EXPIRED_ERROR_MESSAGE="DRM: KeyStatusChange error! -- License has expired",je.MEDIA_KEY_MESSAGE_NO_LICENSE_SERVER_URL_ERROR_MESSAGE="DRM: No license server URL specified!",je.KEY_SYSTEM_ACCESS_DENIED_ERROR_MESSAGE="DRM: KeySystem Access Denied! -- ",je.KEY_SESSION_CREATED_ERROR_MESSAGE="DRM: unable to create session! --",je.MEDIA_KEY_MESSAGE_LICENSER_ERROR_MESSAGE="DRM: licenser error! --",je}return ct}(P(2230).Z)),c=P(5459),d=function bt(Et,Tt,Ze,ct,je,ot,Ot,Lt){(function(Wt,Xt){if(!(Wt instanceof Xt))throw new TypeError("Cannot call a class as a function")})(this,bt),this.url=Et,this.method=Tt,this.responseType=Ze,this.headers=ct,this.withCredentials=je,this.messageType=ot,this.sessionId=Ot,this.data=Lt},I=function bt(Et,Tt,Ze){(function(ct,je){if(!(ct instanceof je))throw new TypeError("Cannot call a class as a function")})(this,bt),this.url=Et,this.headers=Tt,this.data=Ze},k=P(7855),q=P(703),F=P(3393),$=P(5448);function O(bt){return O=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(Et){return typeof Et}:function(Et){return Et&&typeof Symbol=="function"&&Et.constructor===Symbol&&Et!==Symbol.prototype?"symbol":typeof Et},O(bt)}function K(bt){var Et,Tt,Ze,ct,je,ot,Ot,Lt,Wt,Xt,Bt,yt=(bt=bt||{}).protectionKeyController,zt=bt.protectionModel,Vt=bt.eventBus,rn=bt.events,gn=bt.debug,vn=bt.BASE64,$t=bt.constants,pt=[],At=bt.cmcdModel,Zt=bt.settings,nn=bt.customParametersModel;function sn(){if(!(Vt&&Vt.hasOwnProperty("on")&&yt&&yt.hasOwnProperty("getSupportedKeySystemsFromContentProtection")))throw new Error("Missing config parameter(s)")}function pn(Ct,en){Lt||Wt?Lt&&En():function(fn,Ln){if(!Wt){Wt=!0;var Tn,Bn=[];fn=fn.sort(function(kn,Dn){return(je&&je[kn.ks.systemString]&&je[kn.ks.systemString].priority>=0?je[kn.ks.systemString].priority:fn.length)-(je&&je[Dn.ks.systemString]&&je[Dn.ks.systemString].priority>=0?je[Dn.ks.systemString].priority:fn.length)});for(var wn=0;wn<fn.length;wn++){var tr=mr(fn[wn]);Bn.push({ks:fn[wn].ks,configs:[tr],protData:fn[wn].protData})}zt.requestKeySystemAccess(Bn).then(function(kn){var Dn=(Tn=kn.data).mksa&&Tn.mksa.selectedSystemString?Tn.mksa.selectedSystemString:Tn.keySystem.systemString;return Tt.info("DRM: KeySystem Access Granted for system string ("+Dn+")!  Selecting key system..."),zt.selectKeySystem(Tn)}).then(function(kn){if(Lt=kn,Wt=!1,zt){Vt.trigger(rn.KEY_SYSTEM_SELECTED,{data:Tn});var Dn=Un(Lt);Dn&&Dn.serverCertificate&&Dn.serverCertificate.length>0&&zt.setServerCertificate(vn.decodeArray(Dn.serverCertificate).buffer),En()}}).catch(function(kn){Lt=null,Wt=!1,Ln||Vt.trigger(rn.KEY_SYSTEM_SELECTED,{data:null,error:new c.Z(n.KEY_SYSTEM_ACCESS_DENIED_ERROR_CODE,n.KEY_SYSTEM_ACCESS_DENIED_ERROR_MESSAGE+"Error selecting key system! -- "+kn.error)})})}}(Ct,en)}function En(){for(var Ct,en=0;en<Ze.length;en++)for(Ct=0;Ct<Ze[en].length;Ct++)if(Lt===Ze[en][Ct].ks){Yn(Ze[en][Ct]);break}Ze=[]}function Yn(Ct){if(yt.isClearKey(Lt)&&Ct.protData&&Ct.protData.hasOwnProperty("clearkeys")&&Object.keys(Ct.protData.clearkeys).length!==0){var en={kids:Object.keys(Ct.protData.clearkeys)};Ct.initData=new TextEncoder().encode(JSON.stringify(en))}Ct.sessionId?jn(Ct):Ct.initData!==null&&Cn(Ct)}function jn(Ct){sn(),zt.loadKeySession(Ct)}function Cn(Ct){var en=t.getPSSHForKeySystem(Lt,Ct?Ct.initData:null);if(en){if(function(fn){if(!fn)return!1;try{for(var Ln=zt.getSessions(),Tn=0;Tn<Ln.length;Tn++)if(Ln[Tn].getKeyId()===fn)return!0;return!1}catch{return!1}}(Ct.keyId)||Pn(en))return;try{Ct.initData=en,zt.createKeySession(Ct)}catch(fn){Vt.trigger(rn.KEY_SESSION_CREATED,{data:null,error:new c.Z(n.KEY_SESSION_CREATED_ERROR_CODE,n.KEY_SESSION_CREATED_ERROR_MESSAGE+fn.message)})}}else Ct&&Ct.initData?zt.createKeySession(Ct):Vt.trigger(rn.KEY_SESSION_CREATED,{data:null,error:new c.Z(n.KEY_SESSION_CREATED_ERROR_CODE,n.KEY_SESSION_CREATED_ERROR_MESSAGE+"Selected key system is "+(Lt?Lt.systemString:null)+".  needkey/encrypted event contains no initData corresponding to that key system!")})}function Un(Ct){if(Ct){var en=Ct.systemString;if(je)return en in je?je[en]:null}return null}function Pn(Ct){if(!Ct)return!1;try{for(var en=zt.getAllInitData(),fn=0;fn<en.length;fn++)if(yt.initDataEquals(Ct,en[fn]))return Tt.debug("DRM: Ignoring initData because we have already seen it!"),!0;return!1}catch{return!1}}function Hn(Ct){sn(),Ct?(zt.setMediaElement(Ct),Vt.on(rn.NEED_KEY,Or,Et)):Ct===null&&(zt.setMediaElement(Ct),Vt.off(rn.NEED_KEY,Or,Et))}function mr(Ct){var en=Ct.protData,fn=[],Ln=[],Tn=en&&en.audioRobustness&&en.audioRobustness.length>0?en.audioRobustness:Ot,Bn=en&&en.videoRobustness&&en.videoRobustness.length>0?en.videoRobustness:Ot,wn=Ct.sessionType,tr=en&&en.distinctiveIdentifier?en.distinctiveIdentifier:"optional",kn=en&&en.persistentState?en.persistentState:wn==="temporary"?"optional":"required";return ct.forEach(function(Dn){Dn.type===$t.AUDIO?fn.push(new e(Dn.codec,Tn)):Dn.type===$t.VIDEO&&Ln.push(new e(Dn.codec,Bn))}),new y(fn,Ln,tr,kn,[wn])}function ir(Ct){Ct.error?Vt.trigger(rn.KEY_STATUSES_CHANGED,{data:null,error:Ct.error}):Tt.debug("DRM: key status = "+Ct.status)}function ur(Ct){Tt.debug("DRM: onKeyMessage");var en=Ct.data;Vt.trigger(rn.KEY_MESSAGE,{data:en});var fn=en.messageType?en.messageType:"license-request",Ln=en.message,Tn=en.sessionToken,Bn=Un(Lt),wn=yt.getLicenseServerModelInstance(Lt,Bn,fn),tr={sessionToken:Tn,messageType:fn};if(Ln&&Ln.byteLength!==0){if(!wn)return Tt.debug("DRM: License server request not required for this message (type = "+Ct.data.messageType+").  Session ID = "+Tn.getSessionId()),void zn(tr);if(yt.isClearKey(Lt)){var kn=yt.processClearKeyLicenseRequest(Lt,Bn,Ln);if(kn&&kn.keyPairs&&kn.keyPairs.length>0)return Tt.debug("DRM: ClearKey license request handled by application!"),zn(tr),void zt.updateKeySession(Tn,kn)}(function(Dn,Wn,Xn){var lr=Dn.sessionToken,ar=Dn.messageType?Dn.messageType:"license-request",cr={sessionToken:lr,messageType:ar},pr=Lt?Lt.systemString:null,qr=function(Nn,Tr,Fr,Sr,ri){var or=null,ii=Sr.message;if(Nn&&Nn.serverURL){var yr=Nn.serverURL;typeof yr=="string"&&yr!==""?or=yr:O(yr)==="object"&&yr.hasOwnProperty(Tr)&&(or=yr[Tr])}else if(Nn&&Nn.laURL&&Nn.laURL!=="")or=Nn.laURL;else if(!(or=t.getLicenseServerUrlFromMediaInfo(ct,Lt.schemeIdURI))&&!yt.isClearKey(Lt)){var ai=t.getPSSHData(Fr.initData);(or=Lt.getLicenseServerURLFromInitData(ai))||(or=Sr.laURL)}return or=ri.getServerURLFromMessage(or,ii,Tr)}(Xn,ar,lr,Dn,Wn);if(qr){var Mr={},Pr=!1;Xn&&Wr(Mr,Xn.httpRequestHeaders);var Jr=Dn.message;Wr(Mr,Lt.getRequestHeadersFromMessage(Jr)),Object.keys(Mr).forEach(function(Nn){Nn.toLowerCase()==="authorization"&&(Pr=!0)}),Xn&&typeof Xn.withCredentials=="boolean"&&(Pr=Xn.withCredentials);var $r=function(Nn){if(zt)if(Nn.status>=200&&Nn.status<=299){var Tr=q.Z.parseHttpHeaders(Nn.getAllResponseHeaders?Nn.getAllResponseHeaders():null),Fr=new I(Nn.responseURL,Tr,Nn.response);Qr(nn.getLicenseResponseFilters(),Fr).then(function(){var Sr=Wn.getLicenseMessage(Fr.data,pr,ar);Sr!==null?(zn(cr),zt.updateKeySession(lr,Sr)):Xr(Nn,cr,pr,ar,Wn)})}else Xr(Nn,cr,pr,ar,Wn)},Ai=function(Nn){zn(cr,new c.Z(n.MEDIA_KEY_MESSAGE_LICENSER_ERROR_CODE,n.MEDIA_KEY_MESSAGE_LICENSER_ERROR_MESSAGE+pr+' update, XHR aborted. status is "'+Nn.statusText+'" ('+Nn.status+"), readyState is "+Nn.readyState))},Ii=function(Nn){zn(cr,new c.Z(n.MEDIA_KEY_MESSAGE_LICENSER_ERROR_CODE,n.MEDIA_KEY_MESSAGE_LICENSER_ERROR_MESSAGE+pr+' update, XHR error. status is "'+Nn.statusText+'" ('+Nn.status+"), readyState is "+Nn.readyState))},ei=Lt.getLicenseRequestFromMessage(Jr),ti=Wn.getHTTPMethod(ar),Ri=Wn.getResponseType(pr,ar),Yr=Xn&&!isNaN(Xn.httpTimeout)?Xn.httpTimeout:8e3,ni=lr.getSessionId()||null,Lr=new d(qr,ti,Ri,Mr,Pr,ar,ni,ei),wi=isNaN(Zt.get().streaming.retryAttempts[k.w.LICENSE])?3:Zt.get().streaming.retryAttempts[k.w.LICENSE];Qr(nn.getLicenseRequestFilters(),Lr).then(function(){zr(Lr,wi,Yr,$r,Ai,Ii)})}else zn(cr,new c.Z(n.MEDIA_KEY_MESSAGE_NO_LICENSE_SERVER_URL_ERROR_CODE,n.MEDIA_KEY_MESSAGE_NO_LICENSE_SERVER_URL_ERROR_MESSAGE))})(en,wn,Bn)}else zn(tr,new c.Z(n.MEDIA_KEY_MESSAGE_NO_CHALLENGE_ERROR_CODE,n.MEDIA_KEY_MESSAGE_NO_CHALLENGE_ERROR_MESSAGE))}function zn(Ct,en){Vt.trigger(rn.LICENSE_REQUEST_COMPLETE,{data:Ct,error:en})}function zr(Ct,en,fn,Ln,Tn,Bn){var wn=new XMLHttpRequest;if(Zt.get().streaming.cmcd&&Zt.get().streaming.cmcd.enabled&&Zt.get().streaming.cmcd.mode===F.Z.CMCD_MODE_QUERY){var tr=At.getQueryParameter({url:Ct.url,type:k.w.LICENSE});tr&&(Ct.url=q.Z.addAditionalQueryParameterToUrl(Ct.url,[tr]))}for(var kn in wn.open(Ct.method,Ct.url,!0),wn.responseType=Ct.responseType,wn.withCredentials=Ct.withCredentials,fn>0&&(wn.timeout=fn),Ct.headers)wn.setRequestHeader(kn,Ct.headers[kn]);if(Zt.get().streaming.cmcd&&Zt.get().streaming.cmcd.enabled&&Zt.get().streaming.cmcd.mode===F.Z.CMCD_MODE_HEADER){var Dn=At.getHeaderParameters({url:Ct.url,type:k.w.LICENSE});if(Dn)for(var Wn in Dn){var Xn=Dn[Wn];Xn&&wn.setRequestHeader(Wn,Xn)}}var lr=function(){en--;var ar=isNaN(Zt.get().streaming.retryIntervals[k.w.LICENSE])?1e3:Zt.get().streaming.retryIntervals[k.w.LICENSE];Bt=setTimeout(function(){zr(Ct,en,fn,Ln,Tn,Bn)},ar)};wn.onload=function(){Xt=null,this.status>=200&&this.status<=299||en<=0?Ln(this):(Tt.warn("License request failed ("+this.status+"). Retrying it... Pending retries: "+en),lr())},wn.ontimeout=wn.onerror=function(){Xt=null,en<=0?Bn(this):(Tt.warn("License request network request failed . Retrying it... Pending retries: "+en),lr())},wn.onabort=function(){Tn(this)},Vt.trigger(rn.LICENSE_REQUEST_SENDING,{url:Ct.url,headers:Ct.headers,payload:Ct.data,sessionId:Ct.sessionId}),Xt=wn,wn.send(Ct.data)}function Dr(){Xt&&(Xt.onloadend=Xt.onerror=Xt.onprogress=void 0,Xt.abort(),Xt=null),Bt&&(clearTimeout(Bt),Bt=null)}function Wr(Ct,en){if(en)for(var fn in en)Ct[fn]=en[fn]}function Xr(Ct,en,fn,Ln,Tn){var Bn="NONE",wn=null;Ct.response&&(Bn=Tn.getErrorResponse(Ct.response,fn,Ln),wn={serverResponse:Ct.response||null,responseCode:Ct.status||null,responseText:Ct.statusText||null}),zn(en,new c.Z(n.MEDIA_KEY_MESSAGE_LICENSER_ERROR_CODE,n.MEDIA_KEY_MESSAGE_LICENSER_ERROR_MESSAGE+fn+' update, XHR complete. status is "'+Ct.statusText+'" ('+Ct.status+"), readyState is "+Ct.readyState+".  Response is "+Bn,wn))}function Qr(Ct,en){return Ct?Ct.reduce(function(fn,Ln){return fn.then(function(){return Ln(en)})},Promise.resolve()):Promise.resolve()}function Or(Ct,en){if(!Zt.get().streaming.protection.ignoreEmeEncryptedEvent){if(Tt.debug("DRM: onNeedKey"),Ct.key.initDataType!=="cenc")return void Tt.warn("DRM:  Only 'cenc' initData is supported!  Ignoring initData of type: "+Ct.key.initDataType);if(ct.length===0&&(Tt.warn("DRM: onNeedKey called before initializeForMedia, wait until initialized"),(en=en===void 0?1:en+1)<5))return void pt.push(setTimeout(function(){Or(Ct,en)},500));var fn=Ct.key.initData;if(ArrayBuffer.isView(fn)&&(fn=fn.buffer),Lt){var Ln=t.getPSSHForKeySystem(Lt,fn);if(Ln&&Pn(Ln))return}Tt.debug("DRM: initData:",String.fromCharCode.apply(null,new Uint8Array(fn)));var Tn=yt.getSupportedKeySystemsFromSegmentPssh(fn,je,ot);if(Tn.length===0)return void Tt.debug("DRM: Received needkey event with initData, but we don't support any of the key systems!");(function(Bn){Ze.push(Bn),pn(Bn,!1)})(Tn)}}return Et={initializeForMedia:function(Ct){if(!Ct)throw new Error("mediaInfo can not be null or undefined");sn(),ct.push(Ct)},clearMediaInfoArray:function(){ct=[]},handleKeySystemFromManifest:function(){if(ct&&ct.length!==0){var Ct=[];ct.forEach(function(en){var fn=yt.getSupportedKeySystemsFromContentProtection(en.contentProtection,je,ot);fn.length>0&&(Ct.length===0&&(Ct=fn),Ze.push(fn))}),Ct&&Ct.length>0&&pn(Ct,!0)}},createKeySession:Cn,loadKeySession:jn,removeKeySession:function(Ct){sn(),zt.removeKeySession(Ct)},closeKeySession:function(Ct){sn(),zt.closeKeySession(Ct)},setServerCertificate:function(Ct){sn(),zt.setServerCertificate(Ct)},setMediaElement:Hn,setSessionType:function(Ct){ot=Ct},setRobustnessLevel:function(Ct){Ot=Ct},setProtectionData:function(Ct){je=Ct,yt.setProtectionData(Ct)},getSupportedKeySystemsFromContentProtection:function(Ct){return sn(),yt.getSupportedKeySystemsFromContentProtection(Ct,je,ot)},getKeySystems:function(){return yt?yt.getKeySystems():[]},setKeySystems:function(Ct){yt&&yt.setKeySystems(Ct)},stop:function(){Dr(),zt&&zt.stop()},reset:function(){Vt.off(rn.INTERNAL_KEY_MESSAGE,ur,Et),Vt.off(rn.INTERNAL_KEY_STATUS_CHANGED,ir,Et),sn(),Dr(),Hn(null),Lt=null,Wt=!1,zt&&(zt.reset(),zt=null),pt.forEach(function(Ct){return clearTimeout(Ct)}),pt=[],ct=[],Ze=[]}},Tt=gn.getLogger(Et),Ze=[],ct=[],ot="temporary",Ot="",Xt=null,Bt=null,Vt.on(rn.INTERNAL_KEY_MESSAGE,ur,Et),Vt.on(rn.INTERNAL_KEY_STATUS_CHANGED,ir,Et),Et}K.__dashjs_factory_name="ProtectionController";var re=$.Z.getClassFactory(K),H=function bt(Et,Tt){(function(Ze,ct){if(!(Ze instanceof ct))throw new TypeError("Cannot call a class as a function")})(this,bt),this.keyID=Et,this.key=Tt};function ee(bt,Et){for(var Tt=0;Tt<Et.length;Tt++){var Ze=Et[Tt];Ze.enumerable=Ze.enumerable||!1,Ze.configurable=!0,"value"in Ze&&(Ze.writable=!0),Object.defineProperty(bt,Ze.key,Ze)}}var ue=function(){function bt(Ze,ct){if(function(je,ot){if(!(je instanceof ot))throw new TypeError("Cannot call a class as a function")}(this,bt),ct&&ct!=="persistent"&&ct!=="temporary")throw new Error("Invalid ClearKey key set type!  Must be one of 'persistent' or 'temporary'");this.keyPairs=Ze,this.type=ct}var Et,Tt;return Et=bt,(Tt=[{key:"toJWK",value:function(){var Ze,ct=this.keyPairs.length,je={keys:[]};for(Ze=0;Ze<ct;Ze++){var ot={kty:"oct",alg:"A128KW",kid:this.keyPairs[Ze].keyID,k:this.keyPairs[Ze].key};je.keys.push(ot)}this.type&&(je.type=this.type);var Ot=JSON.stringify(je),Lt=Ot.length,Wt=new ArrayBuffer(Lt),Xt=new Uint8Array(Wt);for(Ze=0;Ze<Lt;Ze++)Xt[Ze]=Ot.charCodeAt(Ze);return Wt}}])&&ee(Et.prototype,Tt),bt}();function _e(bt,Et){for(var Tt=0;Tt<Et.length;Tt++){var Ze=Et[Tt];Ze.enumerable=Ze.enumerable||!1,Ze.configurable=!0,"value"in Ze&&(Ze.writable=!0),Object.defineProperty(bt,Ze.key,Ze)}}var X=new(function(){function bt(){(function(Ze,ct){if(!(Ze instanceof ct))throw new TypeError("Cannot call a class as a function")})(this,bt),this.init()}var Et,Tt;return Et=bt,(Tt=[{key:"init",value:function(){this.CLEARKEY_KEYSTEM_STRING="org.w3.clearkey",this.WIDEVINE_KEYSTEM_STRING="com.widevine.alpha",this.PLAYREADY_KEYSTEM_STRING="com.microsoft.playready",this.PLAYREADY_RECOMMENDATION_KEYSTEM_STRING="com.microsoft.playready.recommendation",this.INITIALIZATION_DATA_TYPE_CENC="cenc",this.INITIALIZATION_DATA_TYPE_KEYIDS="keyids",this.INITIALIZATION_DATA_TYPE_WEBM="webm"}}])&&_e(Et.prototype,Tt),bt}()),Ae="e2719d58-a985-b3c9-781a-b030af78d30e",Le=X.CLEARKEY_KEYSTEM_STRING,Ye="urn:uuid:"+Ae;function ye(bt){var Et=(bt=bt||{}).BASE64;return{uuid:Ae,schemeIdURI:Ye,systemString:Le,getInitData:function(Tt,Ze){try{var ct=t.parseInitDataFromContentProtection(Tt,Et);if(!ct&&Ze){var je={kids:[function(ot){try{var Ot=ot.replace(/-/g,"");return(Ot=btoa(Ot.match(/\w{2}/g).map(function(Lt){return String.fromCharCode(parseInt(Lt,16))}).join(""))).replace(/=/g,"").replace(/\//g,"_").replace(/\+/g,"-")}catch{return null}}(Ze["cenc:default_KID"])]};ct=new TextEncoder().encode(JSON.stringify(je))}return ct}catch{return null}},getRequestHeadersFromMessage:function(){return{"Content-Type":"application/json"}},getLicenseRequestFromMessage:function(Tt){return JSON.stringify(JSON.parse(String.fromCharCode.apply(null,new Uint8Array(Tt))))},getLicenseServerURLFromInitData:function(){return null},getCDMData:function(){return null},getClearKeysFromProtectionData:function(Tt,Ze){var ct=null;if(Tt){for(var je=JSON.parse(String.fromCharCode.apply(null,new Uint8Array(Ze))),ot=[],Ot=0;Ot<je.kids.length;Ot++){var Lt=je.kids[Ot],Wt=Tt.clearkeys&&Tt.clearkeys.hasOwnProperty(Lt)?Tt.clearkeys[Lt]:null;if(!Wt)throw new Error("DRM: ClearKey keyID ("+Lt+") is not known!");ot.push(new H(Lt,Wt))}ct=new ue(ot)}return ct}}}ye.__dashjs_factory_name="KeySystemClearKey";var Pe=dashjs.FactoryMaker.getSingletonFactory(ye),He="1077efec-c0b2-4d02-ace3-3c1e52e2fb4b",tt=X.CLEARKEY_KEYSTEM_STRING,ve="urn:uuid:"+He;function Oe(bt){var Et,Tt=bt.BASE64,Ze=bt.debug.getLogger(Et);return{uuid:He,schemeIdURI:ve,systemString:tt,getInitData:function(ct){return t.parseInitDataFromContentProtection(ct,Tt)},getRequestHeadersFromMessage:function(){return null},getLicenseRequestFromMessage:function(ct){return new Uint8Array(ct)},getLicenseServerURLFromInitData:function(){return null},getCDMData:function(){return null},getClearKeysFromProtectionData:function(ct,je){var ot=null;if(ct){for(var Ot=JSON.parse(String.fromCharCode.apply(null,new Uint8Array(je))),Lt=[],Wt=0;Wt<Ot.kids.length;Wt++){var Xt=Ot.kids[Wt],Bt=ct.clearkeys&&ct.clearkeys.hasOwnProperty(Xt)?ct.clearkeys[Xt]:null;if(!Bt)throw new Error("DRM: ClearKey keyID ("+Xt+") is not known!");Lt.push(new H(Xt,Bt))}ot=new ue(Lt),Ze.warn("ClearKey schemeIdURI is using W3C Common PSSH systemID (1077efec-c0b2-4d02-ace3-3c1e52e2fb4b) in Content Protection. See DASH-IF IOP v4.1 section 7.6.2.4")}return ot}}}Oe.__dashjs_factory_name="KeySystemW3CClearKey";var _t=dashjs.FactoryMaker.getSingletonFactory(Oe),dt="edef8ba9-79d6-4ace-a3c8-27dcd51d21ed",ke=X.WIDEVINE_KEYSTEM_STRING,Je="urn:uuid:"+dt;function ge(bt){var Et=(bt=bt||{}).BASE64;return{uuid:dt,schemeIdURI:Je,systemString:ke,getInitData:function(Tt){return t.parseInitDataFromContentProtection(Tt,Et)},getRequestHeadersFromMessage:function(){return null},getLicenseRequestFromMessage:function(Tt){return new Uint8Array(Tt)},getLicenseServerURLFromInitData:function(){return null},getCDMData:function(){return null}}}ge.__dashjs_factory_name="KeySystemWidevine";var me=dashjs.FactoryMaker.getSingletonFactory(ge),Ue="9a04f079-9840-4286-ab92-e65be0885f95",f=X.PLAYREADY_KEYSTEM_STRING,o="urn:uuid:"+Ue;function v(bt){var Et="utf-16",Tt=(bt=bt||{}).BASE64,Ze=bt.settings;function ct(){if(!Tt||!Tt.hasOwnProperty("decodeArray")||!Tt.hasOwnProperty("decodeArray"))throw new Error("Missing config parameter(s)")}return{uuid:Ue,schemeIdURI:o,systemString:f,getInitData:function(je){var ot,Ot,Lt,Wt,Xt,Bt=new Uint8Array([112,115,115,104,0,0,0,0]),yt=new Uint8Array([154,4,240,121,152,64,66,134,171,146,230,91,224,136,95,149]),zt=0,Vt=null;if(ct(),!je)return null;if("pssh"in je)return t.parseInitDataFromContentProtection(je,Tt);if("pro"in je)Vt=Tt.decodeArray(je.pro.__text);else{if(!("prheader"in je))return null;Vt=Tt.decodeArray(je.prheader.__text)}return ot=Vt.length,Ot=4+Bt.length+yt.length+4+ot,Lt=new ArrayBuffer(Ot),Wt=new Uint8Array(Lt),(Xt=new DataView(Lt)).setUint32(zt,Ot),zt+=4,Wt.set(Bt,zt),zt+=Bt.length,Wt.set(yt,zt),zt+=yt.length,Xt.setUint32(zt,ot),zt+=4,Wt.set(Vt,zt),zt+=ot,Wt.buffer},getRequestHeadersFromMessage:function(je){var ot,Ot,Lt={},Wt=new DOMParser;if(Ze&&Ze.get().streaming.protection.detectPlayreadyMessageFormat&&Et==="utf-16"&&je&&je.byteLength%2==1)return Lt["Content-Type"]="text/xml; charset=utf-8",Lt;var Xt=Et==="utf-16"?new Uint16Array(je):new Uint8Array(je);ot=String.fromCharCode.apply(null,Xt);for(var Bt=(Ot=Wt.parseFromString(ot,"application/xml")).getElementsByTagName("name"),yt=Ot.getElementsByTagName("value"),zt=0;zt<Bt.length;zt++)Lt[Bt[zt].childNodes[0].nodeValue]=yt[zt].childNodes[0].nodeValue;return Lt.hasOwnProperty("Content")&&(Lt["Content-Type"]=Lt.Content,delete Lt.Content),Lt.hasOwnProperty("Content-Type")||(Lt["Content-Type"]="text/xml; charset=utf-8"),Lt},getLicenseRequestFromMessage:function(je){var ot=null,Ot=new DOMParser;if(Ze&&Ze.get().streaming.protection.detectPlayreadyMessageFormat&&Et==="utf-16"&&je&&je.byteLength%2==1)return je;var Lt=Et==="utf-16"?new Uint16Array(je):new Uint8Array(je);ct();var Wt=String.fromCharCode.apply(null,Lt),Xt=Ot.parseFromString(Wt,"application/xml");if(!Xt.getElementsByTagName("PlayReadyKeyMessage")[0])return je;var Bt=Xt.getElementsByTagName("Challenge")[0].childNodes[0].nodeValue;return Bt&&(ot=Tt.decode(Bt)),ot},getLicenseServerURLFromInitData:function(je){if(je)for(var ot=new DataView(je),Ot=ot.getUint16(4,!0),Lt=6,Wt=new DOMParser,Xt=0;Xt<Ot;Xt++){var Bt=ot.getUint16(Lt,!0);Lt+=2;var yt=ot.getUint16(Lt,!0);if(Lt+=2,Bt===1){var zt=je.slice(Lt,Lt+yt),Vt=String.fromCharCode.apply(null,new Uint16Array(zt)),rn=Wt.parseFromString(Vt,"application/xml");if(rn.getElementsByTagName("LA_URL")[0]){var gn=rn.getElementsByTagName("LA_URL")[0].childNodes[0].nodeValue;if(gn)return gn}if(rn.getElementsByTagName("LUI_URL")[0]){var vn=rn.getElementsByTagName("LUI_URL")[0].childNodes[0].nodeValue;if(vn)return vn}}else Lt+=yt}return null},getCDMData:function(je){var ot,Ot,Lt,Wt;if(ct(),!je)return null;for(ot=[],Wt=0;Wt<je.length;++Wt)ot.push(je.charCodeAt(Wt)),ot.push(0);for(ot=String.fromCharCode.apply(null,ot),ot=Tt.encode(ot),Ot='<PlayReadyCDMData type="LicenseAcquisition"><LicenseAcquisition version="1.0" Proactive="false"><CustomData encoding="base64encoded">%CUSTOMDATA%</CustomData></LicenseAcquisition></PlayReadyCDMData>'.replace("%CUSTOMDATA%",ot),Lt=[],Wt=0;Wt<Ot.length;++Wt)Lt.push(Ot.charCodeAt(Wt)),Lt.push(0);return new Uint8Array(Lt).buffer},setPlayReadyMessageFormat:function(je){if(je!=="utf-8"&&je!=="utf-16")throw new Error('Specified message format is not one of "utf-8" or "utf-16"');Et=je}}}v.__dashjs_factory_name="KeySystemPlayReady";var S=dashjs.FactoryMaker.getSingletonFactory(v);function W(bt){var Et=(bt=bt||{}).BASE64,Tt={};return Tt[X.WIDEVINE_KEYSTEM_STRING]={responseType:"json",getLicenseMessage:function(Ze){return Et.decodeArray(Ze.license)},getErrorResponse:function(Ze){return Ze}},Tt[X.PLAYREADY_KEYSTEM_STRING]={responseType:"arraybuffer",getLicenseMessage:function(Ze){return Ze},getErrorResponse:function(Ze){return String.fromCharCode.apply(null,new Uint8Array(Ze))}},{getServerURLFromMessage:function(Ze){return Ze},getHTTPMethod:function(){return"POST"},getResponseType:function(Ze){return Tt[Ze].responseType},getLicenseMessage:function(Ze,ct){return function(){if(!Et||!Et.hasOwnProperty("decodeArray"))throw new Error("Missing config parameter(s)")}(),Tt[ct].getLicenseMessage(Ze)},getErrorResponse:function(Ze,ct){return Tt[ct].getErrorResponse(Ze)}}}W.__dashjs_factory_name="DRMToday";var V=dashjs.FactoryMaker.getSingletonFactory(W);function Se(){var bt="http://schemas.xmlsoap.org/soap/envelope/";function Et(ct){var je=String.fromCharCode.apply(null,new Uint8Array(ct));return decodeURIComponent(escape(je))}function Tt(ct){if(window.DOMParser){var je=Et(ct),ot=new window.DOMParser().parseFromString(je,"text/xml"),Ot=ot?ot.getElementsByTagNameNS(bt,"Envelope")[0]:null,Lt=Ot?Ot.getElementsByTagNameNS(bt,"Body")[0]:null;if(Lt&&Lt.getElementsByTagNameNS(bt,"Fault")[0])return null}return ct}function Ze(ct){var je="",ot="",Ot="",Lt=-1,Wt=-1;if(window.DOMParser){var Xt=Et(ct),Bt=new window.DOMParser().parseFromString(Xt,"text/xml"),yt=Bt?Bt.getElementsByTagNameNS(bt,"Envelope")[0]:null,zt=yt?yt.getElementsByTagNameNS(bt,"Body")[0]:null,Vt=zt?zt.getElementsByTagNameNS(bt,"Fault")[0]:null,rn=Vt?Vt.getElementsByTagName("detail")[0]:null,gn=rn?rn.getElementsByTagName("Exception")[0]:null,vn=null;if(Vt===null)return Xt;je=(vn=Vt.getElementsByTagName("faultstring")[0].firstChild)?vn.nodeValue:null,gn!==null&&(ot=(vn=gn.getElementsByTagName("StatusCode")[0])?vn.firstChild.nodeValue:null,Lt=(Ot=(vn=gn.getElementsByTagName("Message")[0])?vn.firstChild.nodeValue:null)?Ot.lastIndexOf("[")+1:-1,Wt=Ot?Ot.indexOf("]"):-1,Ot=Ot?Ot.substring(Lt,Wt):"")}var $t="code: ".concat(ot,", name: ").concat(je);return Ot&&($t+=", message: ".concat(Ot)),$t}return{getServerURLFromMessage:function(ct){return ct},getHTTPMethod:function(){return"POST"},getResponseType:function(){return"arraybuffer"},getLicenseMessage:function(ct){return Tt.call(this,ct)},getErrorResponse:function(ct){return Ze.call(this,ct)}}}Se.__dashjs_factory_name="PlayReady";var ze=$.Z.getSingletonFactory(Se);function Me(){return{getServerURLFromMessage:function(bt){return bt},getHTTPMethod:function(){return"POST"},getResponseType:function(){return"arraybuffer"},getLicenseMessage:function(bt){return bt},getErrorResponse:function(bt){return String.fromCharCode.apply(null,new Uint8Array(bt))}}}Me.__dashjs_factory_name="Widevine";var De=dashjs.FactoryMaker.getSingletonFactory(Me);function be(){return{getServerURLFromMessage:function(bt){return bt},getHTTPMethod:function(){return"POST"},getResponseType:function(){return"json"},getLicenseMessage:function(bt){if(!bt.hasOwnProperty("keys"))return null;for(var Et=[],Tt=0;Tt<bt.keys.length;Tt++){var Ze=bt.keys[Tt],ct=Ze.kid.replace(/=/g,""),je=Ze.k.replace(/=/g,"");Et.push(new H(ct,je))}return new ue(Et)},getErrorResponse:function(bt){return String.fromCharCode.apply(null,new Uint8Array(bt))}}}be.__dashjs_factory_name="ClearKey";var xe=dashjs.FactoryMaker.getSingletonFactory(be);function Qe(){var bt,Et,Tt,Ze,ct,je,ot,Ot,Lt=this.context;function Wt(yt,zt){return zt&&yt in zt?zt[yt]:null}function Xt(yt,zt){return yt&&yt.sessionId?yt.sessionId:zt&&zt.sessionId?zt.sessionId:null}function Bt(yt,zt){return yt&&yt.sessionType?yt.sessionType:zt}return bt={initialize:function(){var yt;Ze=[],yt=S(Lt).getInstance({BASE64:ct,settings:je}),Ze.push(yt),yt=me(Lt).getInstance({BASE64:ct}),Ze.push(yt),yt=Pe(Lt).getInstance({BASE64:ct}),Ze.push(yt),ot=yt,yt=_t(Lt).getInstance({BASE64:ct,debug:Et}),Ze.push(yt),Ot=yt},setProtectionData:function(yt){for(var zt,Vt,rn=0;rn<Ze.length;rn++){var gn=Ze[rn];gn.hasOwnProperty("init")&&gn.init((zt=gn.systemString,Vt=void 0,Vt=null,yt&&(Vt=zt in yt?yt[zt]:null),Vt))}},isClearKey:function(yt){return yt===ot||yt===Ot},initDataEquals:function(yt,zt){if(yt.byteLength===zt.byteLength){for(var Vt=new Uint8Array(yt),rn=new Uint8Array(zt),gn=0;gn<Vt.length;gn++)if(Vt[gn]!==rn[gn])return!1;return!0}return!1},getKeySystems:function(){return Ze},setKeySystems:function(yt){Ze=yt},getKeySystemBySystemString:function(yt){for(var zt=0;zt<Ze.length;zt++)if(Ze[zt].systemString===yt)return Ze[zt];return null},getSupportedKeySystemsFromContentProtection:function(yt,zt,Vt){var rn,gn,vn,$t,pt=[];if(yt){var At=t.findCencContentProtection(yt);for(vn=0;vn<Ze.length;++vn){var Zt=Wt((gn=Ze[vn]).systemString,zt);for($t=0;$t<yt.length;++$t)if((rn=yt[$t]).schemeIdUri.toLowerCase()===gn.schemeIdURI){var nn=gn.getInitData(rn,At);pt.push({ks:Ze[vn],keyId:rn.keyId,initData:nn,protData:Zt,cdmData:gn.getCDMData(Zt?Zt.cdmData:null),sessionId:Xt(Zt,rn),sessionType:Bt(Zt,Vt)})}}}return pt},getSupportedKeySystemsFromSegmentPssh:function(yt,zt,Vt){for(var rn,gn=[],vn=t.parsePSSHList(yt),$t=0;$t<Ze.length;++$t){var pt=Wt((rn=Ze[$t]).systemString,zt);rn.uuid in vn&&gn.push({ks:rn,initData:vn[rn.uuid],protData:pt,cdmData:rn.getCDMData(pt?pt.cdmData:null),sessionId:Xt(pt),sessionType:Bt(pt,Vt)})}return gn},getLicenseServerModelInstance:function(yt,zt,Vt){if(Vt==="license-release"||Vt==="individualization-request")return null;var rn=null;return zt&&zt.hasOwnProperty("drmtoday")?rn=V(Lt).getInstance({BASE64:ct}):yt.systemString===X.WIDEVINE_KEYSTEM_STRING?rn=De(Lt).getInstance():yt.systemString===X.PLAYREADY_KEYSTEM_STRING?rn=ze(Lt).getInstance():yt.systemString===X.CLEARKEY_KEYSTEM_STRING&&(rn=xe(Lt).getInstance()),rn},processClearKeyLicenseRequest:function(yt,zt,Vt){try{return yt.getClearKeysFromProtectionData(zt,Vt)}catch{return Tt.error("Failed to retrieve clearkeys from ProtectionData"),null}},setConfig:function(yt){yt&&(yt.debug&&(Et=yt.debug,Tt=Et.getLogger(bt)),yt.BASE64&&(ct=yt.BASE64),yt.settings&&(je=yt.settings))}},bt}Qe.__dashjs_factory_name="ProtectionKeyController";var mt=dashjs.FactoryMaker.getSingletonFactory(Qe);function it(bt){return it=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(Et){return typeof Et}:function(Et){return Et&&typeof Symbol=="function"&&Et.constructor===Symbol&&Et!==Symbol.prototype?"symbol":typeof Et},it(bt)}function Ut(bt,Et){return Ut=Object.setPrototypeOf||function(Tt,Ze){return Tt.__proto__=Ze,Tt},Ut(bt,Et)}function It(bt,Et){return!Et||it(Et)!=="object"&&typeof Et!="function"?function(Tt){if(Tt===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return Tt}(bt):Et}function Ft(bt){return Ft=Object.setPrototypeOf?Object.getPrototypeOf:function(Et){return Et.__proto__||Object.getPrototypeOf(Et)},Ft(bt)}var Pt=new(function(bt){(function(je,ot){if(typeof ot!="function"&&ot!==null)throw new TypeError("Super expression must either be null or a function");je.prototype=Object.create(ot&&ot.prototype,{constructor:{value:je,writable:!0,configurable:!0}}),ot&&Ut(je,ot)})(ct,bt);var Et,Tt,Ze=(Et=ct,Tt=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var je,ot=Ft(Et);if(Tt){var Ot=Ft(this).constructor;je=Reflect.construct(ot,arguments,Ot)}else je=ot.apply(this,arguments);return It(this,je)});function ct(){var je;return function(ot,Ot){if(!(ot instanceof Ot))throw new TypeError("Cannot call a class as a function")}(this,ct),(je=Ze.call(this)).INTERNAL_KEY_MESSAGE="internalKeyMessage",je.INTERNAL_KEY_STATUS_CHANGED="internalkeyStatusChanged",je.KEY_ADDED="public_keyAdded",je.KEY_ERROR="public_keyError",je.KEY_MESSAGE="public_keyMessage",je.KEY_SESSION_CLOSED="public_keySessionClosed",je.KEY_SESSION_CREATED="public_keySessionCreated",je.KEY_SESSION_REMOVED="public_keySessionRemoved",je.KEY_STATUSES_CHANGED="public_keyStatusesChanged",je.KEY_SYSTEM_ACCESS_COMPLETE="public_keySystemAccessComplete",je.KEY_SYSTEM_SELECTED="public_keySystemSelected",je.LICENSE_REQUEST_COMPLETE="public_licenseRequestComplete",je.LICENSE_REQUEST_SENDING="public_licenseRequestSending",je.NEED_KEY="needkey",je.PROTECTION_CREATED="public_protectioncreated",je.PROTECTION_DESTROYED="public_protectiondestroyed",je.SERVER_CERTIFICATE_UPDATED="serverCertificateUpdated",je.TEARDOWN_COMPLETE="protectionTeardownComplete",je.VIDEO_ELEMENT_SELECTED="videoElementSelected",je.KEY_SESSION_UPDATED="public_keySessionUpdated",je}return ct}(P(8342).Z)),tn=function bt(Et,Tt){(function(Ze,ct){if(!(Ze instanceof ct))throw new TypeError("Cannot call a class as a function")})(this,bt),this.initData=Et,this.initDataType=Tt},dn=function bt(Et,Tt,Ze,ct){(function(je,ot){if(!(je instanceof ot))throw new TypeError("Cannot call a class as a function")})(this,bt),this.sessionToken=Et,this.message=Tt,this.defaultURL=Ze,this.messageType=ct||"license-request"},An=function bt(Et,Tt){(function(Ze,ct){if(!(Ze instanceof ct))throw new TypeError("Cannot call a class as a function")})(this,bt),this.keySystem=Et,this.ksConfiguration=Tt},_n={};function Rn(bt){bt=bt||{};var Et,Tt,Ze,ct,je,ot,Ot,Lt,Wt=this.context,Xt=bt.eventBus,Bt=bt.events,yt=bt.debug;function zt(pt,At,Zt,nn){if(navigator.requestMediaKeySystemAccess===void 0||typeof navigator.requestMediaKeySystemAccess!="function"){var sn="Insecure origins are not allowed";return Xt.trigger(Bt.KEY_SYSTEM_ACCESS_COMPLETE,{error:sn}),void nn({error:sn})}var pn=pt[At].protData&&pt[At].protData.systemStringPriority?pt[At].protData.systemStringPriority:null,En=pt[At].configs,Yn=pt[At].ks,jn=Yn.systemString;(function(Cn,Un){return new Promise(function(Pn,Hn){Vt(Cn,Un,0,Pn,Hn)})})(pn||(_n[jn]?_n[jn]:[jn]),En).then(function(Cn){var Un=typeof Cn.getConfiguration=="function"?Cn.getConfiguration():null,Pn=new An(Yn,Un);Pn.mksa=Cn,Xt.trigger(Bt.KEY_SYSTEM_ACCESS_COMPLETE,{data:Pn}),Zt({data:Pn})}).catch(function(Cn){if(At+1<pt.length)zt(pt,At+1,Zt,nn);else{var Un="Key system access denied! ";Xt.trigger(Bt.KEY_SYSTEM_ACCESS_COMPLETE,{error:Un+Cn.message}),nn({error:Un+Cn.message})}})}function Vt(pt,At,Zt,nn,sn){var pn=pt[Zt];Tt.debug("Requesting key system access for system string ".concat(pn)),navigator.requestMediaKeySystemAccess(pn,At).then(function(En){En.selectedSystemString=pn,nn(En)}).catch(function(En){Zt+1<pt.length?Vt(pt,At,Zt+1,nn,sn):sn(En)})}function rn(pt){if(!pt||!pt.session)return Promise.resolve;var At=pt.session;return At.removeEventListener("keystatuseschange",pt),At.removeEventListener("message",pt),At.close()}function gn(pt){for(var At=0;At<ot.length;At++)if(ot[At]===pt){ot.splice(At,1);break}}function vn(pt){var At,Zt;return pt&&pt.length>0&&(pt[0]&&(typeof pt[0]=="string"?At=pt[0]:Zt=pt[0]),pt[1]&&(typeof pt[1]=="string"?At=pt[1]:Zt=pt[1])),{status:At,keyId:Zt}}function $t(pt,At){var Zt={session:pt,keyId:At.keyId,initData:At.initData,sessionId:At.sessionId,sessionType:At.sessionType,handleEvent:function(nn){switch(nn.type){case"keystatuseschange":Xt.trigger(Bt.KEY_STATUSES_CHANGED,{data:this}),nn.target.keyStatuses.forEach(function(){var pn=vn(arguments);pn.status==="expired"?Xt.trigger(Bt.INTERNAL_KEY_STATUS_CHANGED,{error:new c.Z(n.KEY_STATUS_CHANGED_EXPIRED_ERROR_CODE,n.KEY_STATUS_CHANGED_EXPIRED_ERROR_MESSAGE)}):Xt.trigger(Bt.INTERNAL_KEY_STATUS_CHANGED,pn)});break;case"message":var sn=ArrayBuffer.isView(nn.message)?nn.message.buffer:nn.message;Xt.trigger(Bt.INTERNAL_KEY_MESSAGE,{data:new dn(this,sn,void 0,nn.messageType)})}},getKeyId:function(){return this.keyId},getSessionId:function(){return pt.sessionId},getSessionType:function(){return this.sessionType},getExpirationTime:function(){return pt.expiration},getKeyStatuses:function(){return pt.keyStatuses},getUsable:function(){var nn=!1;return pt.keyStatuses.forEach(function(){var sn=vn(arguments);sn.status==="usable"&&(nn=!0)}),nn}};return pt.addEventListener("keystatuseschange",Zt),pt.addEventListener("message",Zt),pt.closed.then(function(){gn(Zt),Tt.debug("DRM: Session closed.  SessionID = "+Zt.getSessionId()),Xt.trigger(Bt.KEY_SESSION_CLOSED,{data:Zt.getSessionId()})}),ot.push(Zt),Zt}return Et={getAllInitData:function(){for(var pt=[],At=0;At<ot.length;At++)ot[At].initData&&pt.push(ot[At].initData);return pt},getSessions:function(){return ot},requestKeySystemAccess:function(pt){return new Promise(function(At,Zt){zt(pt,0,At,Zt)})},selectKeySystem:function(pt){return new Promise(function(At,Zt){pt.mksa.createMediaKeys().then(function(nn){return Ze=pt.keySystem,je=nn,ct?ct.setMediaKeys(je):Promise.resolve()}).then(function(){At(Ze)}).catch(function(){Zt({error:"Error selecting keys system ("+pt.keySystem.systemString+")! Could not create MediaKeys -- TODO"})})})},setMediaElement:function(pt){ct!==pt&&(ct&&(ct.removeEventListener("encrypted",Ot),ct.setMediaKeys&&ct.setMediaKeys(null)),(ct=pt)&&(ct.addEventListener("encrypted",Ot),ct.setMediaKeys&&je&&ct.setMediaKeys(je)))},setServerCertificate:function(pt){if(!Ze||!je)throw new Error("Can not set server certificate until you have selected a key system");je.setServerCertificate(pt).then(function(){Tt.info("DRM: License server certificate successfully updated."),Xt.trigger(Bt.SERVER_CERTIFICATE_UPDATED)}).catch(function(At){Xt.trigger(Bt.SERVER_CERTIFICATE_UPDATED,{error:new c.Z(n.SERVER_CERTIFICATE_UPDATED_ERROR_CODE,n.SERVER_CERTIFICATE_UPDATED_ERROR_MESSAGE+At.name)})})},createKeySession:function(pt){if(!Ze||!je)throw new Error("Can not create sessions until you have selected a key system");var At=je.createSession(pt.sessionType),Zt=$t(At,pt),nn=Ze.systemString===X.CLEARKEY_KEYSTEM_STRING&&(pt.initData||pt.protData&&pt.protData.clearkeys)?X.INITIALIZATION_DATA_TYPE_KEYIDS:X.INITIALIZATION_DATA_TYPE_CENC;At.generateRequest(nn,pt.initData).then(function(){Tt.debug("DRM: Session created.  SessionID = "+Zt.getSessionId()),Xt.trigger(Bt.KEY_SESSION_CREATED,{data:Zt})}).catch(function(sn){gn(Zt),Xt.trigger(Bt.KEY_SESSION_CREATED,{data:null,error:new c.Z(n.KEY_SESSION_CREATED_ERROR_CODE,n.KEY_SESSION_CREATED_ERROR_MESSAGE+"Error generating key request -- "+sn.name)})})},updateKeySession:function(pt,At){var Zt=pt.session;Lt.isClearKey(Ze)&&(At=At.toJWK()),Zt.update(At).then(function(){Xt.trigger(Bt.KEY_SESSION_UPDATED)}).catch(function(nn){Xt.trigger(Bt.KEY_ERROR,{error:new c.Z(n.MEDIA_KEYERR_CODE,"Error sending update() message! "+nn.name,pt)})})},loadKeySession:function(pt){if(!Ze||!je)throw new Error("Can not load sessions until you have selected a key system");for(var At=pt.sessionId,Zt=0;Zt<ot.length;Zt++)if(At===ot[Zt].sessionId)return void Tt.warn("DRM: Ignoring session ID because we have already seen it!");var nn=je.createSession(pt.sessionType),sn=$t(nn,pt);nn.load(At).then(function(pn){pn?(Tt.debug("DRM: Session loaded.  SessionID = "+sn.getSessionId()),Xt.trigger(Bt.KEY_SESSION_CREATED,{data:sn})):(gn(sn),Xt.trigger(Bt.KEY_SESSION_CREATED,{data:null,error:new c.Z(n.KEY_SESSION_CREATED_ERROR_CODE,n.KEY_SESSION_CREATED_ERROR_MESSAGE+"Could not load session! Invalid Session ID ("+At+")")}))}).catch(function(pn){gn(sn),Xt.trigger(Bt.KEY_SESSION_CREATED,{data:null,error:new c.Z(n.KEY_SESSION_CREATED_ERROR_CODE,n.KEY_SESSION_CREATED_ERROR_MESSAGE+"Could not load session ("+At+")! "+pn.name)})})},removeKeySession:function(pt){pt.session.remove().then(function(){Tt.debug("DRM: Session removed.  SessionID = "+pt.getSessionId()),Xt.trigger(Bt.KEY_SESSION_REMOVED,{data:pt.getSessionId()})},function(At){Xt.trigger(Bt.KEY_SESSION_REMOVED,{data:null,error:"Error removing session ("+pt.getSessionId()+"). "+At.name})})},closeKeySession:function(pt){rn(pt).catch(function(At){gn(pt),Xt.trigger(Bt.KEY_SESSION_CLOSED,{data:null,error:"Error closing session ("+pt.getSessionId()+") "+At.name})})},stop:function(){for(var pt,At=0;At<ot.length;At++)(pt=ot[At]).getUsable()||(rn(pt),gn(pt))},reset:function(){var pt,At=ot.length;At!==0?function(){for(var Zt=function(sn){gn(sn),ot.length===0&&(ct?(ct.removeEventListener("encrypted",Ot),ct.setMediaKeys(null).then(function(){Xt.trigger(Bt.TEARDOWN_COMPLETE)})):Xt.trigger(Bt.TEARDOWN_COMPLETE))},nn=0;nn<At;nn++)(function(sn){rn(pt),Zt(sn)})(pt=ot[nn])}():Xt.trigger(Bt.TEARDOWN_COMPLETE)}},Tt=yt.getLogger(Et),Ze=null,ct=null,je=null,ot=[],Lt=mt(Wt).getInstance(),Ot={handleEvent:function(pt){if(pt.type==="encrypted"&&pt.initData){var At=ArrayBuffer.isView(pt.initData)?pt.initData.buffer:pt.initData;Xt.trigger(Bt.NEED_KEY,{key:new tn(At,pt.initDataType)})}}},Et}_n[X.PLAYREADY_KEYSTEM_STRING]=[X.PLAYREADY_KEYSTEM_STRING,X.PLAYREADY_RECOMMENDATION_KEYSTEM_STRING],_n[X.WIDEVINE_KEYSTEM_STRING]=[X.WIDEVINE_KEYSTEM_STRING],_n[X.CLEARKEY_KEYSTEM_STRING]=[X.CLEARKEY_KEYSTEM_STRING],Rn.__dashjs_factory_name="ProtectionModel_21Jan2015";var qn=dashjs.FactoryMaker.getClassFactory(Rn);function yn(bt){bt=bt||{};var Et,Tt,Ze,ct,je,ot,Ot,Lt,Wt,Xt=this.context,Bt=bt.eventBus,yt=bt.events,zt=bt.debug,Vt=bt.api;function rn(){try{for(var $t=0;$t<Ot.length;$t++)gn(Ot[$t]);Ze&&Ze.removeEventListener(Vt.needkey,Lt),Bt.trigger(yt.TEARDOWN_COMPLETE)}catch(pt){Bt.trigger(yt.TEARDOWN_COMPLETE,{error:"Error tearing down key sessions and MediaKeys! -- "+pt.message})}}function gn($t){var pt=$t.session;pt.removeEventListener(Vt.error,$t),pt.removeEventListener(Vt.message,$t),pt.removeEventListener(Vt.ready,$t),pt.removeEventListener(Vt.close,$t);for(var At=0;At<Ot.length;At++)if(Ot[At]===$t){Ot.splice(At,1);break}pt[Vt.release]()}function vn(){var $t=null,pt=function(){Ze.removeEventListener("loadedmetadata",$t),Ze[Vt.setMediaKeys](je),Bt.trigger(yt.VIDEO_ELEMENT_SELECTED)};Ze.readyState>=1?pt():($t=pt.bind(this),Ze.addEventListener("loadedmetadata",$t))}return Et={getAllInitData:function(){for(var $t=[],pt=0;pt<Ot.length;pt++)$t.push(Ot[pt].initData);return $t},getSessions:function(){return Ot},requestKeySystemAccess:function($t){return new Promise(function(pt,At){for(var Zt=!1,nn=0;nn<$t.length;nn++)for(var sn=$t[nn].ks.systemString,pn=$t[nn].configs,En=null,Yn=null,jn=0;jn<pn.length;jn++){var Cn=pn[jn].audioCapabilities,Un=pn[jn].videoCapabilities;if(Cn&&Cn.length!==0){En=[];for(var Pn=0;Pn<Cn.length;Pn++)window[Vt.MediaKeys].isTypeSupported(sn,Cn[Pn].contentType)&&En.push(Cn[Pn])}if(Un&&Un.length!==0){Yn=[];for(var Hn=0;Hn<Un.length;Hn++)window[Vt.MediaKeys].isTypeSupported(sn,Un[Hn].contentType)&&Yn.push(Un[Hn])}if(!(!En&&!Yn||En&&En.length===0||Yn&&Yn.length===0)){Zt=!0;var mr=new y(En,Yn),ir=Wt.getKeySystemBySystemString(sn),ur=new An(ir,mr);Bt.trigger(yt.KEY_SYSTEM_ACCESS_COMPLETE,{data:ur}),pt({data:ur});break}}if(!Zt){var zn="Key system access denied! -- No valid audio/video content configurations detected!";Bt.trigger(yt.KEY_SYSTEM_ACCESS_COMPLETE,{error:zn}),At({error:zn})}})},selectKeySystem:function($t){return new Promise(function(pt,At){try{je=$t.mediaKeys=new window[Vt.MediaKeys]($t.keySystem.systemString),ct=$t.keySystem,ot=$t,Ze&&vn(),pt(ct)}catch{At({error:"Error selecting keys system ("+ct.systemString+")! Could not create MediaKeys -- TODO"})}})},setMediaElement:function($t){Ze!==$t&&(Ze&&Ze.removeEventListener(Vt.needkey,Lt),(Ze=$t)&&(Ze.addEventListener(Vt.needkey,Lt),je&&vn()))},createKeySession:function($t){if(!ct||!je||!ot)throw new Error("Can not create sessions until you have selected a key system");var pt=null;if(ot.ksConfiguration.videoCapabilities&&ot.ksConfiguration.videoCapabilities.length>0&&(pt=ot.ksConfiguration.videoCapabilities[0]),pt===null&&ot.ksConfiguration.audioCapabilities&&ot.ksConfiguration.audioCapabilities.length>0&&(pt=ot.ksConfiguration.audioCapabilities[0]),pt===null)throw new Error("Can not create sessions for unknown content types.");var At=pt.contentType,Zt=je.createSession(At,new Uint8Array($t.initData),$t.cdmData?new Uint8Array($t.cdmData):null),nn=function(sn,pn){return{session:sn,keyId:pn.keyId,initData:pn.initData,getKeyId:function(){return this.keyId},getSessionId:function(){return this.session.sessionId},getExpirationTime:function(){return NaN},getSessionType:function(){return"temporary"},handleEvent:function(En){switch(En.type){case Vt.error:Bt.trigger(yt.KEY_ERROR,{error:new c.Z(n.MEDIA_KEYERR_CODE,"KeyError",this)});break;case Vt.message:var Yn=ArrayBuffer.isView(En.message)?En.message.buffer:En.message;Bt.trigger(yt.INTERNAL_KEY_MESSAGE,{data:new dn(this,Yn,En.destinationURL)});break;case Vt.ready:Tt.debug("DRM: Key added."),Bt.trigger(yt.KEY_ADDED);break;case Vt.close:Tt.debug("DRM: Session closed.  SessionID = "+this.getSessionId()),Bt.trigger(yt.KEY_SESSION_CLOSED,{data:this.getSessionId()})}}}}(Zt,$t);Zt.addEventListener(Vt.error,nn),Zt.addEventListener(Vt.message,nn),Zt.addEventListener(Vt.ready,nn),Zt.addEventListener(Vt.close,nn),Ot.push(nn),Tt.debug("DRM: Session created.  SessionID = "+nn.getSessionId()),Bt.trigger(yt.KEY_SESSION_CREATED,{data:nn})},updateKeySession:function($t,pt){var At=$t.session;Wt.isClearKey(ct)?At.update(new Uint8Array(pt.toJWK())):At.update(new Uint8Array(pt)),Bt.trigger(yt.KEY_SESSION_UPDATED)},closeKeySession:gn,setServerCertificate:function(){},loadKeySession:function(){},removeKeySession:function(){},stop:rn,reset:rn},Tt=zt.getLogger(Et),Ze=null,ct=null,je=null,ot=null,Ot=[],Wt=mt(Xt).getInstance(),Lt={handleEvent:function($t){if($t.type===Vt.needkey&&$t.initData){var pt=ArrayBuffer.isView($t.initData)?$t.initData.buffer:$t.initData;Bt.trigger(yt.NEED_KEY,{key:new tn(pt,"cenc")})}}},Et}yn.__dashjs_factory_name="ProtectionModel_3Feb2014";var Qn=dashjs.FactoryMaker.getClassFactory(yn);function xn(bt){bt=bt||{};var Et,Tt,Ze,ct,je,ot,Ot,Lt,Wt,Xt=this.context,Bt=bt.eventBus,yt=bt.events,zt=bt.debug,Vt=bt.api,rn=bt.errHandler;function gn(){Ze&&pt();for(var At=0;At<Ot.length;At++)vn(Ot[At]);Bt.trigger(yt.TEARDOWN_COMPLETE)}function vn(At){try{Ze[Vt.cancelKeyRequest](ct.systemString,At.sessionId)}catch(Zt){Bt.trigger(yt.KEY_SESSION_CLOSED,{data:null,error:"Error closing session ("+At.sessionId+") "+Zt.message})}}function $t(At,Zt){if(Zt&&At){for(var nn=At.length,sn=0;sn<nn;sn++)if(At[sn].sessionId==Zt)return At[sn];return null}return null}function pt(){Ze.removeEventListener(Vt.keyerror,Wt),Ze.removeEventListener(Vt.needkey,Wt),Ze.removeEventListener(Vt.keymessage,Wt),Ze.removeEventListener(Vt.keyadded,Wt)}return Et={getAllInitData:function(){for(var At=[],Zt=0;Zt<ot.length;Zt++)At.push(ot[Zt].initData);for(var nn=0;nn<Ot.length;nn++)At.push(Ot[nn].initData);return At},getSessions:function(){return Ot.concat(ot)},requestKeySystemAccess:function(At){return new Promise(function(Zt,nn){var sn=Ze;sn||(sn=document.createElement("video"));for(var pn=!1,En=0;En<At.length;En++)for(var Yn=At[En].ks.systemString,jn=At[En].configs,Cn=null,Un=0;Un<jn.length;Un++){var Pn=jn[Un].videoCapabilities;if(Pn&&Pn.length!==0){Cn=[];for(var Hn=0;Hn<Pn.length;Hn++)sn.canPlayType(Pn[Hn].contentType,Yn)!==""&&Cn.push(Pn[Hn])}if(Cn&&(!Cn||Cn.length!==0)){pn=!0;var mr=new y(null,Cn),ir=je.getKeySystemBySystemString(Yn),ur=new An(ir,mr);Bt.trigger(yt.KEY_SYSTEM_ACCESS_COMPLETE,{data:ur}),Zt({data:ur});break}}if(!pn){var zn="Key system access denied! -- No valid audio/video content configurations detected!";Bt.trigger(yt.KEY_SYSTEM_ACCESS_COMPLETE,{error:zn}),nn({error:zn})}})},selectKeySystem:function(At){return ct=At.keySystem,Promise.resolve(ct)},setMediaElement:function(At){if(Ze!==At){if(Ze){pt();for(var Zt=0;Zt<Ot.length;Zt++)vn(Ot[Zt]);Ot=[]}(Ze=At)&&(Ze.addEventListener(Vt.keyerror,Wt),Ze.addEventListener(Vt.needkey,Wt),Ze.addEventListener(Vt.keymessage,Wt),Ze.addEventListener(Vt.keyadded,Wt),Bt.trigger(yt.VIDEO_ELEMENT_SELECTED))}},createKeySession:function(At){if(!ct)throw new Error("Can not create sessions until you have selected a key system");if(Lt||Ot.length===0){var Zt={sessionId:null,keyId:At.keyId,initData:At.initData,getKeyId:function(){return this.keyId},getSessionId:function(){return this.sessionId},getExpirationTime:function(){return NaN},getSessionType:function(){return"temporary"}};return ot.push(Zt),Ze[Vt.generateKeyRequest](ct.systemString,new Uint8Array(At.initData)),Zt}throw new Error("Multiple sessions not allowed!")},updateKeySession:function(At,Zt){var nn=At.sessionId;if(je.isClearKey(ct))for(var sn=0;sn<Zt.keyPairs.length;sn++)Ze[Vt.addKey](ct.systemString,Zt.keyPairs[sn].key,Zt.keyPairs[sn].keyID,nn);else Ze[Vt.addKey](ct.systemString,new Uint8Array(Zt),new Uint8Array(At.initData),nn);Bt.trigger(yt.KEY_SESSION_UPDATED)},closeKeySession:vn,setServerCertificate:function(){},loadKeySession:function(){},removeKeySession:function(){},stop:gn,reset:gn},Tt=zt.getLogger(Et),Ze=null,ct=null,ot=[],Ot=[],je=mt(Xt).getInstance(),Wt={handleEvent:function(At){var Zt=null;switch(At.type){case Vt.needkey:var nn=ArrayBuffer.isView(At.initData)?At.initData.buffer:At.initData;Bt.trigger(yt.NEED_KEY,{key:new tn(nn,"cenc")});break;case Vt.keyerror:if((Zt=$t(Ot,At.sessionId))||(Zt=$t(ot,At.sessionId)),Zt){var sn=n.MEDIA_KEYERR_CODE,pn="";switch(At.errorCode.code){case 1:sn=n.MEDIA_KEYERR_UNKNOWN_CODE,pn+="MEDIA_KEYERR_UNKNOWN - "+n.MEDIA_KEYERR_UNKNOWN_MESSAGE;break;case 2:sn=n.MEDIA_KEYERR_CLIENT_CODE,pn+="MEDIA_KEYERR_CLIENT - "+n.MEDIA_KEYERR_CLIENT_MESSAGE;break;case 3:sn=n.MEDIA_KEYERR_SERVICE_CODE,pn+="MEDIA_KEYERR_SERVICE - "+n.MEDIA_KEYERR_SERVICE_MESSAGE;break;case 4:sn=n.MEDIA_KEYERR_OUTPUT_CODE,pn+="MEDIA_KEYERR_OUTPUT - "+n.MEDIA_KEYERR_OUTPUT_MESSAGE;break;case 5:sn=n.MEDIA_KEYERR_HARDWARECHANGE_CODE,pn+="MEDIA_KEYERR_HARDWARECHANGE - "+n.MEDIA_KEYERR_HARDWARECHANGE_MESSAGE;break;case 6:sn=n.MEDIA_KEYERR_DOMAIN_CODE,pn+="MEDIA_KEYERR_DOMAIN - "+n.MEDIA_KEYERR_DOMAIN_MESSAGE}pn+="  System Code = "+At.systemCode,Bt.trigger(yt.KEY_ERROR,{error:new c.Z(sn,pn,Zt)})}else Tt.error("No session token found for key error");break;case Vt.keyadded:(Zt=$t(Ot,At.sessionId))||(Zt=$t(ot,At.sessionId)),Zt?(Tt.debug("DRM: Key added."),Bt.trigger(yt.KEY_ADDED,{data:Zt})):Tt.debug("No session token found for key added");break;case Vt.keymessage:if((Lt=At.sessionId!==null&&At.sessionId!==void 0)?!(Zt=$t(Ot,At.sessionId))&&ot.length>0&&(Zt=ot.shift(),Ot.push(Zt),Zt.sessionId=At.sessionId,Bt.trigger(yt.KEY_SESSION_CREATED,{data:Zt})):ot.length>0&&(Zt=ot.shift(),Ot.push(Zt),ot.length!==0&&rn.error(new c.Z(n.MEDIA_KEY_MESSAGE_ERROR_CODE,n.MEDIA_KEY_MESSAGE_ERROR_MESSAGE))),Zt){var En=ArrayBuffer.isView(At.message)?At.message.buffer:At.message;Zt.keyMessage=En,Bt.trigger(yt.INTERNAL_KEY_MESSAGE,{data:new dn(Zt,En,At.defaultURL)})}else Tt.warn("No session token found for key message")}}},Et}xn.__dashjs_factory_name="ProtectionModel_01b";var Vn=dashjs.FactoryMaker.getClassFactory(xn),er=[{generateKeyRequest:"generateKeyRequest",addKey:"addKey",cancelKeyRequest:"cancelKeyRequest",needkey:"needkey",keyerror:"keyerror",keyadded:"keyadded",keymessage:"keymessage"},{generateKeyRequest:"webkitGenerateKeyRequest",addKey:"webkitAddKey",cancelKeyRequest:"webkitCancelKeyRequest",needkey:"webkitneedkey",keyerror:"webkitkeyerror",keyadded:"webkitkeyadded",keymessage:"webkitkeymessage"}],Kn=[{setMediaKeys:"setMediaKeys",MediaKeys:"MediaKeys",release:"close",needkey:"needkey",error:"keyerror",message:"keymessage",ready:"keyadded",close:"keyclose"},{setMediaKeys:"msSetMediaKeys",MediaKeys:"MSMediaKeys",release:"close",needkey:"msneedkey",error:"mskeyerror",message:"mskeymessage",ready:"mskeyadded",close:"mskeyclose"}];function nr(){var bt,Et=this.context;function Tt(Ze,ct){for(var je=0;je<ct.length;je++){var ot=ct[je];if(typeof Ze[ot[Object.keys(ot)[0]]]=="function")return ot}return null}return bt={createProtectionSystem:function(Ze){var ct=null,je=mt(Et).getInstance();je.setConfig({debug:Ze.debug,BASE64:Ze.BASE64,settings:Ze.settings}),je.initialize();var ot=function(Ot){var Lt=Ot.debug,Wt=Lt.getLogger(bt),Xt=Ot.eventBus,Bt=Ot.errHandler,yt=Ot.videoModel?Ot.videoModel.getElement():null;return yt&&yt.onencrypted===void 0||yt&&yt.mediaKeys===void 0?Tt(yt,Kn)?(Wt.info("EME detected on this user agent! (ProtectionModel_3Feb2014)"),Qn(Et).create({debug:Lt,eventBus:Xt,events:Ot.events,api:Tt(yt,Kn)})):Tt(yt,er)?(Wt.info("EME detected on this user agent! (ProtectionModel_01b)"),Vn(Et).create({debug:Lt,eventBus:Xt,errHandler:Bt,events:Ot.events,api:Tt(yt,er)})):(Wt.warn("No supported version of EME detected on this user agent! - Attempts to play encrypted content will fail!"),null):(Wt.info("EME detected on this user agent! (ProtectionModel_21Jan2015)"),qn(Et).create({debug:Lt,eventBus:Xt,events:Ot.events}))}(Ze);return!ct&&ot&&(ct=re(Et).create({protectionModel:ot,protectionKeyController:je,eventBus:Ze.eventBus,debug:Ze.debug,events:Ze.events,BASE64:Ze.BASE64,constants:Ze.constants,cmcdModel:Ze.cmcdModel,customParametersModel:Ze.customParametersModel,settings:Ze.settings}),Ze.capabilities.setEncryptedMediaSupported(!0)),ct}}}nr.__dashjs_factory_name="Protection";var rr=dashjs.FactoryMaker.getClassFactory(nr);rr.events=Pt,rr.errors=n,dashjs.FactoryMaker.updateClassFactory(nr.__dashjs_factory_name,rr);var Cr=rr},2068:function(at,we,P){var ae=P(5448),T={DEFAULT:.5,STRONG:1,WEAK:0};function t(y,p,u){var _,m;return _=y===void 0?-1:y,m=function(n){var c=T.DEFAULT;return n!==T.DEFAULT&&n!==T.STRONG&&n!==T.WEAK||(c=n),c}(u),{quality:_,reason:p===void 0?null:p,priority:m}}t.__dashjs_factory_name="SwitchRequest";var e=ae.Z.getClassFactory(t);e.NO_CHANGE=-1,e.PRIORITY=T,ae.Z.updateClassFactory(t.__dashjs_factory_name,e),we.Z=e},1767:function(at,we,P){var ae=P(5628),T=P(6535),t=P(7423),e=P(895),y=P(6070),p=P(3112),u=P(1914),_=P(5435),m=P(5448),n=P(2068),c=P(3393),d="qualitySwitchRules",I="abandonFragmentRules";function k(F){F=F||{};var $,O,K=this.context,re=F.mediaPlayerModel,H=F.customParametersModel,ee=F.dashMetrics,ue=F.settings;function _e(Ae){return Ae.filter(function(Le){return Le.quality>n.Z.NO_CHANGE})}function X(Ae){var Le,Ye,ye,Pe,He,tt={},ve=null;if(Ae.length!==0){for(tt[n.Z.PRIORITY.STRONG]={quality:n.Z.NO_CHANGE,reason:null},tt[n.Z.PRIORITY.WEAK]={quality:n.Z.NO_CHANGE,reason:null},tt[n.Z.PRIORITY.DEFAULT]={quality:n.Z.NO_CHANGE,reason:null},Le=0,Ye=Ae.length;Le<Ye;Le+=1)(ye=Ae[Le]).quality!==n.Z.NO_CHANGE&&(tt[ye.priority].quality===n.Z.NO_CHANGE||tt[ye.priority].quality>ye.quality)&&(tt[ye.priority].quality=ye.quality,tt[ye.priority].reason=ye.reason||null);return tt[n.Z.PRIORITY.WEAK].quality!==n.Z.NO_CHANGE&&(ve=tt[n.Z.PRIORITY.WEAK]),tt[n.Z.PRIORITY.DEFAULT].quality!==n.Z.NO_CHANGE&&(ve=tt[n.Z.PRIORITY.DEFAULT]),tt[n.Z.PRIORITY.STRONG].quality!==n.Z.NO_CHANGE&&(ve=tt[n.Z.PRIORITY.STRONG]),ve&&(Pe=ve.quality,He=ve.reason),(0,n.Z)(K).create(Pe,He)}}return{initialize:function(){$=[],O=[],ue.get().streaming.abr.useDefaultABRRules&&(ue.get().streaming.abr.ABRStrategy===c.Z.ABR_STRATEGY_L2A?$.push((0,u.Z)(K).create({dashMetrics:ee,settings:ue})):ue.get().streaming.abr.ABRStrategy===c.Z.ABR_STRATEGY_LoLP?$.push((0,_.Z)(K).create({dashMetrics:ee})):($.push((0,p.Z)(K).create({dashMetrics:ee,mediaPlayerModel:re,settings:ue})),$.push((0,ae.Z)(K).create({dashMetrics:ee})),ue.get().streaming.abr.additionalAbrRules.insufficientBufferRule&&$.push((0,T.Z)(K).create({dashMetrics:ee,settings:ue})),ue.get().streaming.abr.additionalAbrRules.switchHistoryRule&&$.push((0,y.Z)(K).create()),ue.get().streaming.abr.additionalAbrRules.droppedFramesRule&&$.push((0,e.Z)(K).create()),ue.get().streaming.abr.additionalAbrRules.abandonRequestsRule&&O.push((0,t.Z)(K).create({dashMetrics:ee,mediaPlayerModel:re,settings:ue})))),H.getAbrCustomRules().forEach(function(Ae){Ae.type===d&&$.push(Ae.rule(K).create()),Ae.type===I&&O.push(Ae.rule(K).create())})},reset:function(){[$,O].forEach(function(Ae){Ae&&Ae.length&&Ae.forEach(function(Le){return Le.reset&&Le.reset()})}),$=[],O=[]},getMaxQuality:function(Ae){return X(_e($.map(function(Le){return Le.getMaxIndex(Ae)})))||(0,n.Z)(K).create()},getMinSwitchRequest:X,shouldAbandonFragment:function(Ae,Le){var Ye=X(_e(O.map(function(ye){return ye.shouldAbandon(Ae,Le)})));return Ye&&(Ye.reason.forceAbandon=!0),Ye||(0,n.Z)(K).create()},getQualitySwitchRules:function(){return $}}}k.__dashjs_factory_name="ABRRulesCollection";var q=m.Z.getClassFactory(k);q.QUALITY_SWITCH_RULES=d,q.ABANDON_FRAGMENT_RULES=I,m.Z.updateSingletonFactory(k.__dashjs_factory_name,q),we.Z=q},7423:function(at,we,P){var ae=P(2068),T=P(5448),t=P(6398);function e(y){y=y||{};var p,u,_,m,n,c=this.context,d=y.mediaPlayerModel,I=y.dashMetrics,k=y.settings;function q(){_={},m={},n=[]}return p={shouldAbandon:function(F){var $=(0,ae.Z)(c).create(ae.Z.NO_CHANGE,{name:e.__dashjs_factory_name});if(!(F&&F.hasOwnProperty("getMediaInfo")&&F.hasOwnProperty("getMediaType")&&F.hasOwnProperty("getCurrentRequest")&&F.hasOwnProperty("getRepresentationInfo")&&F.hasOwnProperty("getAbrController")))return $;var O,K,re=F.getMediaInfo(),H=F.getMediaType(),ee=F.getStreamInfo(),ue=ee?ee.id:null,_e=F.getCurrentRequest();if(!isNaN(_e.index)){O=H,K=_e.index,_[O]=_[O]||{},_[O][K]=_[O][K]||{};var X=d.getStableBufferTime();if(I.getCurrentBufferLevel(H)>X)return $;var Ae=_[H][_e.index];if(Ae===null||_e.firstByteDate===null||m.hasOwnProperty(Ae.id))return $;if(Ae.firstByteTime===void 0&&(n[H]=[],Ae.firstByteTime=_e.firstByteDate.getTime(),Ae.segmentDuration=_e.duration,Ae.bytesTotal=_e.bytesTotal,Ae.id=_e.index),Ae.bytesLoaded=_e.bytesLoaded,Ae.elapsedTime=new Date().getTime()-Ae.firstByteTime,Ae.bytesLoaded>0&&Ae.elapsedTime>0&&function(Oe,_t){n[Oe]=n[Oe]||[],n[Oe].push(_t)}(H,Math.round(8*Ae.bytesLoaded/Ae.elapsedTime)),n[H].length>=k.get().streaming.abr.abrRulesParameters.abandonRequestsRule.minLengthToAverage&&Ae.elapsedTime>k.get().streaming.abr.abrRulesParameters.abandonRequestsRule.graceTimeThreshold&&Ae.bytesLoaded<Ae.bytesTotal){var Le=n[H].reduce(function(Oe,_t){return Oe+_t},0);if(Ae.measuredBandwidthInKbps=Math.round(Le/n[H].length),Ae.estimatedTimeOfDownload=+(8*Ae.bytesTotal/Ae.measuredBandwidthInKbps/1e3).toFixed(2),Ae.estimatedTimeOfDownload<Ae.segmentDuration*k.get().streaming.abr.abrRulesParameters.abandonRequestsRule.abandonMultiplier||F.getRepresentationInfo().quality===0)return $;if(!m.hasOwnProperty(Ae.id)){var Ye=F.getAbrController(),ye=Ae.bytesTotal-Ae.bytesLoaded,Pe=Ye.getBitrateList(re),He=Ye.getQualityForBitrate(re,Ae.measuredBandwidthInKbps*k.get().streaming.abr.bandwidthSafetyFactor,ue),tt=Ye.getMinAllowedIndexFor(H,ue),ve=tt!==void 0?Math.max(tt,He):He;ye>Ae.bytesTotal*Pe[ve].bitrate/Pe[Ye.getQualityFor(H,ue)].bitrate&&($.quality=ve,$.reason.throughput=Ae.measuredBandwidthInKbps,$.reason.fragmentID=Ae.id,$.reason.rule=this.getClassName(),m[Ae.id]=Ae,u.debug("["+H+"] frag id",Ae.id," is asking to abandon and switch to quality to ",ve," measured bandwidth was",Ae.measuredBandwidthInKbps),delete _[H][Ae.id])}}else Ae.bytesLoaded===Ae.bytesTotal&&delete _[H][Ae.id]}return $},reset:q},u=(0,t.Z)(c).getInstance().getLogger(p),q(),p}e.__dashjs_factory_name="AbandonRequestsRule",we.Z=T.Z.getClassFactory(e)},3112:function(at,we,P){var ae=P(3860),T=P(2068),t=P(5448),e=P(7855),y=P(5595),p=P(8512),u=P(6398),_=P(8825),m=P(3393),n=10;function c(d){d=d||{};var I,k,q,F=this.context,$=d.dashMetrics,O=d.mediaPlayerModel,K=(0,y.Z)(F).getInstance();function re(ve,Oe,_t){var dt=_t.reduce(function(ge,me,Ue){return me>_t[ge]?Ue:ge},0);if(dt===0)return null;var ke=Math.max(ve,n+2*Oe.length),Je=(_t[dt]-1)/(ke/n-1);return{gp:Je,Vp:n/Je}}function H(ve){ve.placeholderBuffer=0,ve.mostAdvancedSegmentStart=NaN,ve.lastSegmentWasReplacement=!1,ve.lastSegmentStart=NaN,ve.lastSegmentDurationS=NaN,ve.lastSegmentRequestTimeMs=NaN,ve.lastSegmentFinishTimeMs=NaN}function ee(ve,Oe){var _t=O.getStableBufferTime();if(ve.stableBufferTime!==_t){var dt=re(_t,ve.bitrates,ve.utilities);if(dt.Vp!==ve.Vp||dt.gp!==ve.gp){var ke=$.getCurrentBufferLevel(Oe),Je=ke+ve.placeholderBuffer;Je-=n,Je*=dt.Vp/ve.Vp,Je+=n,ve.stableBufferTime=_t,ve.Vp=dt.Vp,ve.gp=dt.gp,ve.placeholderBuffer=Math.max(0,Je-ke)}}}function ue(ve,Oe){return ve.Vp*(ve.utilities[Oe]+ve.gp)}function _e(ve,Oe){for(var _t=ve.bitrates[Oe],dt=ve.utilities[Oe],ke=0,Je=Oe-1;Je>=0;--Je)if(ve.utilities[Je]<ve.utilities[Oe]){var ge=ve.bitrates[Je],me=ve.utilities[Je],Ue=ve.Vp*(ve.gp+(_t*me-ge*dt)/(_t-ge));ke=Math.max(ke,Ue)}return ke}function X(ve){var Oe=ve.mediaType===m.Z.AUDIO?[m.Z.AUDIO]:q;for(var _t in Oe)q.hasOwnProperty(_t)&&q[_t].state===2&&(q[_t].placeholderBuffer=0)}function Ae(){for(var ve in q)if(q.hasOwnProperty(ve)){var Oe=q[ve];Oe.state!==0&&(Oe.state=1,H(Oe))}}function Le(ve){if(ve&&ve.chunk&&ve.chunk.mediaInfo){var Oe=q[ve.chunk.mediaInfo.type];if(Oe&&Oe.state!==0){var _t=ve.chunk.start;isNaN(Oe.mostAdvancedSegmentStart)||_t>Oe.mostAdvancedSegmentStart?(Oe.mostAdvancedSegmentStart=_t,Oe.lastSegmentWasReplacement=!1):Oe.lastSegmentWasReplacement=!0,Oe.lastSegmentStart=_t,Oe.lastSegmentDurationS=ve.chunk.duration,Oe.lastQuality=ve.chunk.quality,ye(Oe,ve.chunk.mediaInfo.type)}}}function Ye(ve){if(ve&&ve.metric===ae.Z.HTTP_REQUEST&&ve.value&&ve.value.type===e.w.MEDIA_SEGMENT_TYPE&&ve.value.trace&&ve.value.trace.length){var Oe=q[ve.mediaType];Oe&&Oe.state!==0&&(Oe.lastSegmentRequestTimeMs=ve.value.trequest.getTime(),Oe.lastSegmentFinishTimeMs=ve.value._tfinish.getTime(),ye(Oe,ve.mediaType))}}function ye(ve,Oe){if(!isNaN(ve.lastSegmentStart)&&!isNaN(ve.lastSegmentRequestTimeMs)&&!isNaN(ve.placeholderBuffer)){if(ve.placeholderBuffer*=.99,!isNaN(ve.lastSegmentFinishTimeMs)){var _t=$.getCurrentBufferLevel(Oe)+.001*(ve.lastSegmentFinishTimeMs-ve.lastSegmentRequestTimeMs),dt=ue(ve,ve.lastQuality),ke=Math.max(0,dt-_t);ve.placeholderBuffer=Math.min(ke,ve.placeholderBuffer)}ve.lastSegmentWasReplacement&&!isNaN(ve.lastSegmentDurationS)&&(ve.placeholderBuffer+=ve.lastSegmentDurationS),ve.lastSegmentStart=NaN,ve.lastSegmentRequestTimeMs=NaN}}function Pe(ve){if(ve){var Oe=q[ve.mediaType];Oe&&Oe.state!==0&&(Oe.abrQuality=ve.newQuality)}}function He(ve){if(ve){var Oe=q[ve.mediaType];if(Oe&&Oe.state!==0){var _t,dt=$.getCurrentBufferLevel(ve.mediaType);_t=Oe.abrQuality>0?_e(Oe,Oe.abrQuality):n;var ke=Math.max(0,_t-dt);Oe.placeholderBuffer=Math.min(Oe.placeholderBuffer,ke)}}}function tt(){q={}}return I={getMaxIndex:function(ve){var Oe=(0,T.Z)(F).create();if(!(ve&&ve.hasOwnProperty("getMediaInfo")&&ve.hasOwnProperty("getMediaType")&&ve.hasOwnProperty("getScheduleController")&&ve.hasOwnProperty("getStreamInfo")&&ve.hasOwnProperty("getAbrController")&&ve.hasOwnProperty("useBufferOccupancyABR")))return Oe;var _t=ve.getMediaInfo(),dt=ve.getMediaType(),ke=ve.getScheduleController(),Je=ve.getStreamInfo(),ge=ve.getAbrController(),me=ge.getThroughputHistory(),Ue=Je?Je.id:null,f=Je&&Je.manifestInfo&&Je.manifestInfo.isDynamic,o=ve.useBufferOccupancyABR();if(Oe.reason=Oe.reason||{},!o)return Oe;ke.setTimeToLoadDelay(0);var v=function(be){var xe=be.getMediaType(),Qe=q[xe];return Qe?Qe.state!==0&&ee(Qe,xe):(Qe=function(mt){var it={},Ut=mt.getMediaInfo().bitrateList.map(function(tn){return tn.bandwidth}),It=function(tn){return tn.map(function(dn){return Math.log(dn)})}(Ut);It=It.map(function(tn){return tn-It[0]+1});var Ft=O.getStableBufferTime(),Pt=re(Ft,Ut,It);return Pt?(it.state=1,it.bitrates=Ut,it.utilities=It,it.stableBufferTime=Ft,it.Vp=Pt.Vp,it.gp=Pt.gp,it.lastQuality=0,H(it)):it.state=0,it}(be),q[xe]=Qe),Qe}(ve);if(v.state===0)return Oe;var S,W=$.getCurrentBufferLevel(dt),V=me.getAverageThroughput(dt,f),Se=me.getSafeAverageThroughput(dt,f),ze=me.getAverageLatency(dt);if(Oe.reason.state=v.state,Oe.reason.throughput=V,Oe.reason.latency=ze,isNaN(V))return Oe;switch(v.state){case 1:S=ge.getQualityForBitrate(_t,Se,Ue,ze),Oe.quality=S,Oe.reason.throughput=Se,v.placeholderBuffer=Math.max(0,_e(v,S)-W),v.lastQuality=S,!isNaN(v.lastSegmentDurationS)&&W>=v.lastSegmentDurationS&&(v.state=2);break;case 2:(function(be,xe){var Qe=Date.now();if(isNaN(be.lastSegmentFinishTimeMs)){if(!isNaN(be.lastCallTimeMs)){var mt=.001*(Qe-be.lastCallTimeMs);be.placeholderBuffer+=Math.max(0,mt)}}else{var it=.001*(Qe-be.lastSegmentFinishTimeMs);be.placeholderBuffer+=Math.max(0,it)}be.lastCallTimeMs=Qe,be.lastSegmentStart=NaN,be.lastSegmentRequestTimeMs=NaN,be.lastSegmentFinishTimeMs=NaN,ee(be,xe)})(v,dt),S=function(be,xe){for(var Qe=be.bitrates.length,mt=NaN,it=NaN,Ut=0;Ut<Qe;++Ut){var It=(be.Vp*(be.utilities[Ut]+be.gp)-xe)/be.bitrates[Ut];(isNaN(it)||It>=it)&&(it=It,mt=Ut)}return mt}(v,W+v.placeholderBuffer);var Me=ge.getQualityForBitrate(_t,Se,Ue,ze);S>v.lastQuality&&S>Me&&(S=Math.max(Me,v.lastQuality));var De=Math.max(0,W+v.placeholderBuffer-ue(v,S));De<=v.placeholderBuffer?(v.placeholderBuffer-=De,De=0):(De-=v.placeholderBuffer,v.placeholderBuffer=0,S<ge.getMaxAllowedIndexFor(dt,Ue)?ke.setTimeToLoadDelay(1e3*De):De=0),Oe.quality=S,Oe.reason.throughput=V,Oe.reason.latency=ze,Oe.reason.bufferLevel=W,Oe.reason.placeholderBuffer=v.placeholderBuffer,Oe.reason.delay=De,v.lastQuality=S;break;default:k.debug("BOLA ABR rule invoked in bad state."),Oe.quality=ge.getQualityForBitrate(_t,Se,Ue,ze),Oe.reason.state=v.state,Oe.reason.throughput=Se,Oe.reason.latency=ze,v.state=1,H(v)}return Oe},reset:function(){tt(),K.off(_.Z.BUFFER_EMPTY,X,I),K.off(_.Z.PLAYBACK_SEEKING,Ae,I),K.off(_.Z.METRIC_ADDED,Ye,I),K.off(_.Z.QUALITY_CHANGE_REQUESTED,Pe,I),K.off(_.Z.FRAGMENT_LOADING_ABANDONED,He,I),K.off(p.Z.MEDIA_FRAGMENT_LOADED,Le,I)}},k=(0,u.Z)(F).getInstance().getLogger(I),tt(),K.on(_.Z.BUFFER_EMPTY,X,I),K.on(_.Z.PLAYBACK_SEEKING,Ae,I),K.on(_.Z.METRIC_ADDED,Ye,I),K.on(_.Z.QUALITY_CHANGE_REQUESTED,Pe,I),K.on(_.Z.FRAGMENT_LOADING_ABANDONED,He,I),K.on(p.Z.MEDIA_FRAGMENT_LOADED,Le,I),I}c.__dashjs_factory_name="BolaRule",we.Z=t.Z.getClassFactory(c)},895:function(at,we,P){var ae=P(5448),T=P(2068),t=P(6398);function e(){var y,p,u=this.context;return y={getMaxIndex:function(_){var m=(0,T.Z)(u).create();if(!_||!_.hasOwnProperty("getDroppedFramesHistory"))return m;var n=_.getDroppedFramesHistory(),c=_.getStreamInfo().id;if(n){var d=n.getFrameHistory(c);if(!d||d.length===0)return m;for(var I=0,k=0,q=T.Z.NO_CHANGE,F=1;F<d.length;F++)if(d[F]&&(I=d[F].droppedVideoFrames,(k=d[F].totalVideoFrames)>375&&I/k>.15)){q=F-1,p.debug("index: "+q+" Dropped Frames: "+I+" Total Frames: "+k);break}return(0,T.Z)(u).create(q,{droppedFrames:I})}return m}},p=(0,t.Z)(u).getInstance().getLogger(y),y}e.__dashjs_factory_name="DroppedFramesRule",we.Z=ae.Z.getClassFactory(e)},6535:function(at,we,P){var ae=P(5595),T=P(8512),t=P(5448),e=P(6398),y=P(2068),p=P(3393),u=P(3860),_=P(8825);function m(n){n=n||{};var c,d,I,k=this.context,q=(0,ae.Z)(k).getInstance(),F=n.dashMetrics;function $(){(I={})[p.Z.VIDEO]={ignoreCount:2},I[p.Z.AUDIO]={ignoreCount:2}}function O(){$()}function K(re){isNaN(re.startTime)||re.mediaType!==p.Z.AUDIO&&re.mediaType!==p.Z.VIDEO||I[re.mediaType].ignoreCount>0&&I[re.mediaType].ignoreCount--}return c={getMaxIndex:function(re){var H=(0,y.Z)(k).create();if(!re||!re.hasOwnProperty("getMediaType"))return H;(function(){if(!F||!F.hasOwnProperty("getCurrentBufferLevel")||!F.hasOwnProperty("getCurrentBufferState"))throw new Error(p.Z.MISSING_CONFIG_ERROR)})();var ee=re.getMediaType(),ue=F.getCurrentBufferState(ee),_e=re.getRepresentationInfo().fragmentDuration,X=re.getStreamInfo(),Ae=X?X.id:null,Le=re.getScheduleController(),Ye=X&&X.manifestInfo&&X.manifestInfo.isDynamic;if(function(dt,ke){return!dt&&I[ke].ignoreCount>0}(Le.getPlaybackController().getLowLatencyModeEnabled(),ee)||!_e)return H;if(ue&&ue.state===u.Z.BUFFER_EMPTY)d.debug("["+ee+"] Switch to index 0; buffer is empty."),H.quality=0,H.reason="InsufficientBufferRule: Buffer is empty";else{var ye=re.getMediaInfo(),Pe=re.getAbrController(),He=Pe.getThroughputHistory(),tt=F.getCurrentBufferLevel(ee),ve=He.getAverageThroughput(ee,Ye),Oe=He.getAverageLatency(ee),_t=ve*(tt/_e)*.5;H.quality=Pe.getQualityForBitrate(ye,_t,Ae,Oe),H.reason="InsufficientBufferRule: being conservative to avoid immediate rebuffering"}return H},reset:function(){$(),q.off(_.Z.PLAYBACK_SEEKING,O,c),q.off(T.Z.BYTES_APPENDED_END_FRAGMENT,K,c)}},d=(0,e.Z)(k).getInstance().getLogger(c),$(),q.on(_.Z.PLAYBACK_SEEKING,O,c),q.on(T.Z.BYTES_APPENDED_END_FRAGMENT,K,c),c}m.__dashjs_factory_name="InsufficientBufferRule",we.Z=t.Z.getClassFactory(m)},1914:function(at,we,P){var ae=P(3860),T=P(2068),t=P(5448),e=P(7855),y=P(5595),p=P(8512),u=P(6398),_=P(3393);function m(n){n=n||{};var c,d,I,k,q=this.context,F=n.dashMetrics,$=(0,y.Z)(q).getInstance();function O(Ae){Ae.placeholderBuffer=0,Ae.mostAdvancedSegmentStart=NaN,Ae.lastSegmentWasReplacement=!1,Ae.lastSegmentStart=NaN,Ae.lastSegmentDurationS=NaN,Ae.lastSegmentRequestTimeMs=NaN,Ae.lastSegmentFinishTimeMs=NaN,Ae.lastSegmentUrl=""}function K(){for(var Ae in d)if(d.hasOwnProperty(Ae)){var Le=d[Ae];Le.state!==0&&(Le.state=1,O(Le))}}function re(Ae){if(Ae&&Ae.chunk&&Ae.chunk.mediaInfo){var Le=d[Ae.chunk.mediaInfo.type],Ye=I[Ae.chunk.mediaInfo.type];if(Le&&Le.state!==0){var ye=Ae.chunk.start;isNaN(Le.mostAdvancedSegmentStart)||ye>Le.mostAdvancedSegmentStart?(Le.mostAdvancedSegmentStart=ye,Le.lastSegmentWasReplacement=!1):Le.lastSegmentWasReplacement=!0,Le.lastSegmentStart=ye,Le.lastSegmentDurationS=Ae.chunk.duration,Le.lastQuality=Ae.chunk.quality,ee(Le,Ye)}}}function H(Ae){if(Ae&&Ae.metric===ae.Z.HTTP_REQUEST&&Ae.value&&Ae.value.type===e.w.MEDIA_SEGMENT_TYPE&&Ae.value.trace&&Ae.value.trace.length){var Le=d[Ae.mediaType],Ye=I[Ae.mediaType];Le&&Le.state!==0&&(Le.lastSegmentRequestTimeMs=Ae.value.trequest.getTime(),Le.lastSegmentFinishTimeMs=Ae.value._tfinish.getTime(),ee(Le,Ye))}}function ee(Ae,Le){isNaN(Ae.lastSegmentStart)||isNaN(Ae.lastSegmentRequestTimeMs)||(Le.segment_request_start_s=.001*Ae.lastSegmentRequestTimeMs,Le.segment_download_finish_s=.001*Ae.lastSegmentFinishTimeMs,Ae.lastSegmentStart=NaN,Ae.lastSegmentRequestTimeMs=NaN)}function ue(Ae){if(Ae&&Ae.mediaType){var Le=d[Ae.mediaType];Le&&Le.state!==0&&(Le.abrQuality=Ae.newQuality)}}function _e(Ae,Le){if(Ae.length!==Le.length)return-1;for(var Ye=0,ye=0;ye<Ae.length;ye++)Ye+=Ae[ye]*Le[ye];return Ye}function X(){d={},I={}}return c={getMaxIndex:function(Ae){var Le,Ye=(0,T.Z)(q).create(),ye=Math.pow(4,.99),Pe=Math.max(Math.pow(4,1),ye*Math.sqrt(4)),He=Ae.getMediaInfo(),tt=Ae.getMediaType(),ve=He.bitrateList.map(function(Pt){return Pt.bandwidth}),Oe=ve.length,_t=Ae.getScheduleController(),dt=Ae.getStreamInfo(),ke=Ae.getAbrController(),Je=ke.getThroughputHistory(),ge=dt&&dt.manifestInfo&&dt.manifestInfo.isDynamic,me=Ae.useL2AABR(),Ue=F.getCurrentBufferLevel(tt,!0),f=Je.getSafeAverageThroughput(tt,ge),o=Je.getAverageThroughput(tt,ge),v=Je.getAverageLatency(tt),S=Ae.getVideoModel().getPlaybackRate();if(!(Ae&&Ae.hasOwnProperty("getMediaInfo")&&Ae.hasOwnProperty("getMediaType")&&Ae.hasOwnProperty("getScheduleController")&&Ae.hasOwnProperty("getStreamInfo")&&Ae.hasOwnProperty("getAbrController")&&Ae.hasOwnProperty("useL2AABR"))||(Ye.reason=Ye.reason||{},!me||tt===_.Z.AUDIO))return Ye;_t.setTimeToLoadDelay(0);var W=function(Pt){var tn=Pt.getMediaType(),dn=d[tn];return dn||(dn=function(An){var _n={},Rn=An.getMediaInfo(),qn=Rn.bitrateList.map(function(yn){return yn.bandwidth/1e3});return _n.state=1,_n.bitrates=qn,_n.lastQuality=0,function(yn){yn&&yn.type&&(I[yn.type]={},I[yn.type].w=[],I[yn.type].prev_w=[],I[yn.type].Q=0,I[yn.type].segment_request_start_s=0,I[yn.type].segment_download_finish_s=0,I[yn.type].B_target=1.5)}(Rn),O(_n),_n}(Pt),d[tn]=dn),dn}(Ae);if(W.state===0)return Ye;var V=I[tt];if(!V||(Ye.reason.state=W.state,Ye.reason.throughput=o,Ye.reason.latency=v,isNaN(o)))return Ye;switch(W.state){case 1:if(Le=ke.getQualityForBitrate(He,f,dt.id,v),Ye.quality=Le,Ye.reason.throughput=f,W.lastQuality=Le,!isNaN(W.lastSegmentDurationS)&&Ue>=V.B_target){W.state=2,V.Q=ye;for(var Se=0;Se<Oe;++Se)Se===W.lastQuality?V.prev_w[Se]=1:V.prev_w[Se]=0}break;case 2:var ze=[],Me=F.getCurrentHttpRequest(tt).trace.reduce(function(Pt,tn){return Pt+tn.d},0),De=F.getCurrentHttpRequest(tt).trace.reduce(function(Pt,tn){return Pt+tn.b[0]},0),be=Math.round(8*De/Me),xe=F.getCurrentHttpRequest(tt);if(be<1&&(be=1),xe.url===W.lastSegmentUrl||xe.type===e.w.INIT_SEGMENT_TYPE)Le=W.lastQuality;else{for(var Qe=W.lastSegmentDurationS,mt=1,it=0;it<Oe;++it)ve[it]=ve[it]/1e3,S*ve[it]>be&&(mt=-1),V.w[it]=V.prev_w[it]+mt*(Qe/(2*Pe))*((V.Q+ye)*(S*ve[it]/be));V.w=function(Pt){for(var tn=Pt.length,dn=!1,An=[],_n=0;_n<tn;++_n)An[_n]=Pt[_n];for(var Rn=Pt.sort(function(er,Kn){return Kn-er}),qn=0,yn=0,Qn=[],xn=0;xn<tn-1;++xn)if((yn=((qn+=Rn[xn])-1)/(xn+1))>=Rn[xn+1]){dn=!0;break}dn||(yn=(qn+Rn[tn-1]-1)/tn);for(var Vn=0;Vn<tn;++Vn)Qn[Vn]=Math.max(An[Vn]-yn,0);return Qn}(V.w);for(var Ut=0;Ut<Oe;++Ut)ze[Ut]=V.w[Ut]-V.prev_w[Ut],V.prev_w[Ut]=V.w[Ut];V.Q=Math.max(0,V.Q-Qe+Qe*S*((_e(ve,V.prev_w)+_e(ve,ze))/be));for(var It=[],Ft=0;Ft<Oe;++Ft)It[Ft]=Math.abs(ve[Ft]-_e(V.w,ve));(Le=It.indexOf(Math.min.apply(Math,It)))>W.lastQuality&&ve[W.lastQuality+1]<=be&&(Le=W.lastQuality+1),ve[Le]>=be&&(V.Q=2*Math.max(ye,V.Q)),W.lastSegmentUrl=xe.url}Ye.quality=Le,Ye.reason.throughput=o,Ye.reason.latency=v,Ye.reason.bufferLevel=Ue,W.lastQuality=Ye.quality;break;default:k.debug("L2A ABR rule invoked in bad state."),Ye.quality=ke.getQualityForBitrate(He,f,dt.id,v),Ye.reason.state=W.state,Ye.reason.throughput=f,Ye.reason.latency=v,W.state=1,O(W)}return Ye},reset:function(){X(),$.off(p.Z.PLAYBACK_SEEKING,K,c),$.off(p.Z.MEDIA_FRAGMENT_LOADED,re,c),$.off(p.Z.METRIC_ADDED,H,c),$.off(p.Z.QUALITY_CHANGE_REQUESTED,ue,c)}},k=(0,u.Z)(q).getInstance().getLogger(c),X(),$.on(p.Z.PLAYBACK_SEEKING,K,c),$.on(p.Z.MEDIA_FRAGMENT_LOADED,re,c),$.on(p.Z.METRIC_ADDED,H,c),$.on(p.Z.QUALITY_CHANGE_REQUESTED,ue,c),c}m.__dashjs_factory_name="L2ARule",we.Z=t.Z.getClassFactory(m)},6070:function(at,we,P){var ae=P(5448),T=P(6398),t=P(2068);function e(){var y,p,u=this.context;return y={getMaxIndex:function(_){for(var m=_?_.getSwitchHistory():null,n=m?m.getSwitchRequests():[],c=0,d=0,I=0,k=(0,t.Z)(u).create(),q=0;q<n.length;q++)if(n[q]!==void 0&&(c+=n[q].drops,d+=n[q].noDrops,I+=n[q].dropSize,c+d>=6&&c/d>.075)){k.quality=q>0&&n[q].drops>0?q-1:q,k.reason={index:k.quality,drops:c,noDrops:d,dropSize:I},p.debug("Switch history rule index: "+k.quality+" samples: "+(c+d)+" drops: "+c);break}return k}},p=(0,T.Z)(u).getInstance().getLogger(y),y}e.__dashjs_factory_name="SwitchHistoryRule",we.Z=ae.Z.getClassFactory(e)},5628:function(at,we,P){var ae=P(5448),T=P(2068),t=P(3393),e=P(3860);function y(p){p=p||{};var u=this.context,_=p.dashMetrics;return{getMaxIndex:function(m){var n=(0,T.Z)(u).create();if(!(m&&m.hasOwnProperty("getMediaInfo")&&m.hasOwnProperty("getMediaType")&&m.hasOwnProperty("useBufferOccupancyABR")&&m.hasOwnProperty("getAbrController")&&m.hasOwnProperty("getScheduleController")))return n;(function(){if(!_||!_.hasOwnProperty("getCurrentBufferState"))throw new Error(t.Z.MISSING_CONFIG_ERROR)})();var c=m.getMediaInfo(),d=m.getMediaType(),I=_.getCurrentBufferState(d),k=m.getScheduleController(),q=m.getAbrController(),F=m.getStreamInfo(),$=F?F.id:null,O=F&&F.manifestInfo?F.manifestInfo.isDynamic:null,K=q.getThroughputHistory(),re=K.getSafeAverageThroughput(d,O),H=K.getAverageLatency(d),ee=m.useBufferOccupancyABR();return isNaN(re)||!I||ee||q.getAbandonmentStateFor($,d)!==e.Z.ABANDON_LOAD&&(I.state===e.Z.BUFFER_LOADED||O)&&(n.quality=q.getQualityForBitrate(c,re,$,H),k.setTimeToLoadDelay(0),n.reason={throughput:re,latency:H}),n},reset:function(){}}}y.__dashjs_factory_name="ThroughputRule",we.Z=ae.Z.getClassFactory(y)},4722:function(at,we,P){var ae=P(5448),T=P(6398);function t(){var e,y,p,u,_,m,n,c,d,I=this.context;function k(){p=null,u=1,_=100,m=0,n=null,c=null,d="dynamic_weight_selection"}function q(){var re=0;if(p)for(var H=0;H<p.length;H++){var ee=p[H];ee.state.throughput>re&&(re=ee.state.throughput)}return re}function F(re,H,ee){var ue=re.map(function(_e,X){return ee[X]*Math.pow(_e-H[X],2)}).reduce(function(_e,X){return _e+X});return(ue<0?-1:1)*Math.sqrt(Math.abs(ue))}function $(re,H){return F([re.state.throughput,re.state.latency,re.state.rebuffer,re.state.switch],[H.state.throughput,H.state.latency,H.state.rebuffer,H.state.switch],[1,1,1,1])}function O(re,H,ee){for(var ue=0;ue<H.length;ue++){var _e=H[ue],X=$(_e,re);K(_e,ee,Math.exp(-1*Math.pow(X,2)/(2*Math.pow(.1,2))))}}function K(re,H,ee){var ue=re.state,_e=[.01,.01,.01,.01];ue.throughput=ue.throughput+(H[0]-ue.throughput)*_e[0]*ee,ue.latency=ue.latency+(H[1]-ue.latency)*_e[1]*ee,ue.rebuffer=ue.rebuffer+(H[2]-ue.rebuffer)*_e[2]*ee,ue.switch=ue.switch+(H[3]-ue.switch)*_e[3]*ee}return e={getNextQuality:function(re,H,ee,ue,_e,X,Ae){var Le=ee,Ye=ue,ye=H,Pe=function(V){if(!p){p=[];var Se=V.bitrateList,ze=[];m=Se[0].bandwidth,Se.forEach(function(xe){ze.push(xe.bandwidth),xe.bandwidth<m&&(m=xe.bandwidth)}),be=ze.map(function(xe){return Math.pow(xe,2)}).reduce(function(xe,Qe){return xe+Qe}),u=Math.sqrt(be);for(var Me=0;Me<Se.length;Me++){var De={qualityIndex:Me,bitrate:Se[Me].bandwidth,state:{throughput:Se[Me].bandwidth/u,latency:0,rebuffer:0,switch:0}};p.push(De)}c=function(xe){var Qe=[],mt=function(Cr){for(var bt=[],Et=0;Et<Cr;Et++){var Tt=[Math.random()*q(),Math.random(),Math.random(),Math.random()];bt.push(Tt)}return bt}(Math.pow(xe.length,2));Qe.push(mt[0]);for(var it=[1,1,1,1],Ut=1;Ut<xe.length;Ut++){for(var It=null,Ft=null,Pt=0;Pt<mt.length;Pt++){for(var tn=mt[Pt],dn=null,An=0;An<Qe.length;An++){var _n=F(tn,Qe[An],it);(dn===null||_n<dn)&&(dn=_n)}(Ft===null||dn>Ft)&&(It=tn,Ft=dn)}Qe.push(It)}for(var Rn=null,qn=null,yn=0;yn<Qe.length;yn++){for(var Qn=0,xn=0;xn<Qe.length;xn++)yn!==xn&&(Qn+=F(Qe[yn],Qe[xn],it));(Rn===null||Qn>Rn)&&(Rn=Qn,qn=yn)}var Vn=[];for(Vn.push(Qe[qn]),Qe.splice(qn,1);Qe.length>0;){for(var er=null,Kn=null,nr=0;nr<Qe.length;nr++){var rr=F(Vn[0],Qe[nr],it);(er===null||rr<er)&&(er=rr,Kn=nr)}Vn.push(Qe[Kn]),Qe.splice(Kn,1)}return Vn}(p)}var be;return p}(re),He=H/u;He>1&&(He=q()),ee/=_,y.debug("getNextQuality called throughput:".concat(He," latency:").concat(ee," bufferSize:").concat(ue," currentQualityIndex:").concat(X," playbackRate:").concat(_e));var tt=Pe[X],ve=tt.bitrate*Ae.getSegmentDuration()/ye,Oe=Math.max(0,ve-Ye);if(Ye-ve<Ae.getMinBuffer())return y.debug("Buffer is low for bitrate= ".concat(tt.bitrate," downloadTime=").concat(ve," currentBuffer=").concat(Ye," rebuffer=").concat(Oe)),function(V,Se){var ze=0,Me=V;if(p)for(var De=0;De<p.length;De++){var be=p[De];be.bitrate<V.bitrate&&be.bitrate>ze&&Se>be.bitrate&&(ze=be.bitrate,Me=be)}return Me}(tt,ye).qualityIndex;switch(d){case"manual_weight_selection":n=[.4,.4,.4,.4];break;case"random_weight_selection":(function(V){n=function(Se,ze){for(var Me=[],De=Math.sqrt(2/Se),be=0;be<4;be++)Me.push(Math.random()*De);return n=Me}(V.length)})(Pe);break;default:(function(V,Se,ze,Me,De,be,xe){n||(n=c[c.length-1]);var Qe=V.findWeightVector(Se,ze,Me,De,be,xe);Qe!==null&&Qe!==-1&&(n=Qe)})(Ae,Pe,Le,Ye,Oe,ye,_e)}for(var _t=null,dt=null,ke=null,Je=0;Je<Pe.length;Je++){var ge=Pe[Je],me=ge.state,Ue=[me.throughput,me.latency,me.rebuffer,me.switch],f=n.slice(),o=Ae.getNextBufferWithBitrate(ge.bitrate,Ye,ye),v=o<Ae.getMinBuffer();v&&y.debug("Buffer is low for bitrate=".concat(ge.bitrate," downloadTime=").concat(ve," currentBuffer=").concat(Ye," nextBuffer=").concat(o)),(ge.bitrate>H-1e4||v)&&ge.bitrate!==m&&(f[0]=100);var S=F(Ue,[He,0,0,0],f);(_t===null||S<_t)&&(_t=S,dt=ge.qualityIndex,ke=ge)}var W=Math.abs(tt.bitrate-ke.bitrate)/u;return O(tt,Pe,[He,ee,Oe,W]),O(ke,Pe,[He,0,0,W]),dt},reset:function(){k()}},y=(0,T.Z)(I).getInstance().getLogger(e),k(),e}t.__dashjs_factory_name="LearningAbrController",we.Z=ae.Z.getClassFactory(t)},5317:function(at,we,P){var ae=P(5448),T=P(2298);function t(){var e,y,p,u,_;function m(){y=null,p=null,u=null,_=null}function n(d,I,k,q){var F=new T.Z;return F.type=d,F.weights.bitrateReward=I||1,F.weights.bitrateSwitchPenalty=1,F.weights.rebufferPenalty=k||1e3,F.weights.latencyPenalty=[],F.weights.latencyPenalty.push({threshold:1.1,penalty:.05*q}),F.weights.latencyPenalty.push({threshold:1e8,penalty:.1*k}),F.weights.playbackSpeedPenalty=q||200,F}function c(d,I,k,q,F){F.bitrateWSum+=F.weights.bitrateReward*d,F.lastBitrate&&(F.bitrateSwitchWSum+=F.weights.bitrateSwitchPenalty*Math.abs(d-F.lastBitrate)),F.lastBitrate=d,F.rebufferWSum+=F.weights.rebufferPenalty*I;for(var $=0;$<F.weights.latencyPenalty.length;$++){var O=F.weights.latencyPenalty[$];if(k<=O.threshold){F.latencyWSum+=O.penalty*k;break}}F.playbackSpeedWSum+=F.weights.playbackSpeedPenalty*Math.abs(1-q),F.totalQoe=F.bitrateWSum-F.bitrateSwitchWSum-F.rebufferWSum-F.latencyWSum-F.playbackSpeedWSum}return e={setupPerSegmentQoe:function(d,I,k){y=n("segment",d,I,k),p=d,u=I,_=k},logSegmentMetrics:function(d,I,k,q){y&&c(d,I,k,q,y)},getPerSegmentQoe:function(){return y},calculateSingleUseQoe:function(d,I,k,q){var F=null;return p&&u&&_&&(F=n("segment",p,u,_)),F?(c(d,I,k,q,F),F.totalQoe):0},reset:function(){m()}},m(),e}t.__dashjs_factory_name="LoLpQoeEvaluator",we.Z=ae.Z.getClassFactory(t)},5435:function(at,we,P){var ae=P(6398),T=P(5448),t=P(4722),e=P(5317),y=P(2068),p=P(3860),u=P(6523),_=P(3393);function m(n){var c,d,I,k,q=(n=n||{}).dashMetrics,F=this.context;return d={getMaxIndex:function($){try{var O=(0,y.Z)(F).create(),K=$.getMediaInfo().type,re=$.getAbrController(),H=$.getStreamInfo(),ee=re.getQualityFor(K,H.id),ue=$.getMediaInfo(),_e=q.getCurrentBufferState(K),X=$.getScheduleController(),Ae=q.getCurrentBufferLevel(K,!0),Le=H&&H.manifestInfo?H.manifestInfo.isDynamic:null,Ye=X.getPlaybackController(),ye=Ye.getCurrentLiveLatency();if(!$.useLoLPABR()||K===_.Z.AUDIO)return O;ye||(ye=0);var Pe=Ye.getPlaybackRate(),He=re.getThroughputHistory().getSafeAverageThroughput(K,Le);if(c.debug("Throughput ".concat(Math.round(He)," kbps")),isNaN(He)||!_e||re.getAbandonmentStateFor(H.id,K)===p.Z.ABANDON_LOAD)return O;for(var tt=ue.bitrateList,ve=$.getRepresentationInfo().fragmentDuration,Oe=tt[0].bandwidth/1e3,_t=tt[tt.length-1].bandwidth/1e3,dt=0;dt<tt.length;dt++){var ke=tt[dt].bandwidth/1e3;ke>_t?_t=ke:ke<Oe&&(Oe=ke)}var Je=tt[ee].bandwidth/1e3,ge=q.getCurrentHttpRequest(K,!0),me=(ge.tresponse.getTime()-ge.trequest.getTime())/1e3,Ue=me>ve?me-ve:0;k.setupPerSegmentQoe(ve,_t,Oe),k.logSegmentMetrics(Je,Ue,ye,Pe);var f=(0,u.Z)(F).create({targetLatency:1.5,bufferMin:.3,segmentDuration:ve,qoeEvaluator:k});return O.quality=I.getNextQuality(ue,1e3*He,ye,Ae,Pe,ee,f),O.reason={throughput:He,latency:ye},O.priority=y.Z.PRIORITY.STRONG,X.setTimeToLoadDelay(0),O.quality!==ee&&c.debug("[TgcLearningRule]["+K+"] requesting switch to index: ",O.quality,"Average throughput",Math.round(He),"kbps"),O}catch(o){throw o}},reset:function(){I.reset(),k.reset()}},c=(0,ae.Z)(F).getInstance().getLogger(d),I=(0,t.Z)(F).create(),k=(0,e.Z)(F).create(),d}m.__dashjs_factory_name="LoLPRule",we.Z=T.Z.getClassFactory(m)},6523:function(at,we,P){var ae=P(5448);function T(t){var e,y,p,u,_=t.targetLatency,m=t.bufferMin,n=t.segmentDuration,c=t.qoeEvaluator;function d(){return n}function I(k,q){var F=d();return q>F?k-F:k+F-q}return e={getMinBuffer:function(){return m},getSegmentDuration:d,getNextBufferWithBitrate:function(k,q,F){return I(q,k*n/F)},getNextBuffer:I,findWeightVector:function(k,q,F,$,O,K){var re=null,H=null,ee=null,ue=Math.abs(q-p);return k.forEach(function(_e){y.forEach(function(X){X[0];var Ae=X[1],Le=X[2],Ye=(X[3],_e.bitrate*n/O),ye=I(F,Ye),Pe=(Le===0?10:1/Le)*Math.max(1e-5,Ye-ye),He=(Ae===0?10:1/Ae)*_e.state.latency,tt=c.calculateSingleUseQoe(_e.bitrate,Pe,He,K);(re===null||tt>re)&&function(ve,Oe,_t){return!(ve>_+_t)&&Oe>=m}(q,ye,ue)&&(re=tt,H=X,ee=_e.bitrate)})}),H===null&&ee===null&&(H=-1),p=q,H}},y=function k(q,F,$){if($===F)return q;for(var O=q.length,K=0;K<O;K++)for(var re=q.shift(),H=0;H<u.length;H++)q.push(re.concat(u[H]));return k(q,F,$+1)}((u=[.2,.4,.6,.8,1]).map(function(k){return[k]}),4,1),p=0,e}T.__dashjs_factory_name="LoLpWeightSelector",we.Z=ae.Z.getClassFactory(T)},2298:function(at,we){we.Z=function P(){(function(ae,T){if(!(ae instanceof T))throw new TypeError("Cannot call a class as a function")})(this,P),this.type=null,this.lastBitrate=null,this.weights={},this.weights.bitrateReward=null,this.weights.bitrateSwitchPenalty=null,this.weights.rebufferPenalty=null,this.weights.latencyPenalty=null,this.weights.playbackSpeedPenalty=null,this.bitrateWSum=0,this.bitrateSwitchWSum=0,this.rebufferWSum=0,this.latencyWSum=0,this.playbackSpeedWSum=0,this.totalQoe=0}},7803:function(at,we,P){P.d(we,{Y:function(){return c}});var ae=P(3393),T=P(1553),t=P(5448),e=P(2128),y=P(2594),p=P(7387),u=P(7417),_=P(9032),m=P(9326),n=P(7802),c=["http://dashif.org/thumbnail_tile","http://dashif.org/guidelines/thumbnail_tile"];function d(I){var k,q,F,$,O,K,re,H,ee=this.context,ue=I.adapter,_e=I.baseURLController,X=I.streamInfo,Ae=I.timelineConverter,Le=I.debug,Ye=I.eventBus,ye=I.events,Pe=I.dashConstants,He=(0,y.Z)(ee).getInstance();function tt(Oe,_t){var dt=new e.Z;dt.id=Oe.id,dt.bitrate=Oe.bandwidth,dt.width=Oe.width,dt.height=Oe.height,dt.tilesHor=1,dt.tilesVert=1,Oe.essentialProperties&&Oe.essentialProperties.forEach(function(ke){if(c.indexOf(ke.schemeIdUri)>=0&&ke.value){var Je=ke.value.split("x");Je.length!==2||isNaN(Je[0])||isNaN(Je[1])||(dt.tilesHor=parseInt(Je[0],10),dt.tilesVert=parseInt(Je[1],10))}}),_t?K.updateSegmentData(Oe).then(function(ke){(function(Je,ge,me){var Ue=[],f=function(o,v){var S,W,V,Se,ze=[],Me=0;for(S=0,W=o.segments.length;S<W;S++)V=o.segments[S],(Se=(0,p.TJ)(Ae,ue.getIsDynamic(),v,V.startTime,V.duration,V.timescale,V.media,V.mediaRange,Me))&&(ze.push(Se),Se=null,Me++);return ze}(me,ge);ge.segments=f,Je.segmentDuration=ge.segments[0].duration,Je.readThumbnail=function(o,v){var S=null;Ue.some(function(W){if(W.start<=o&&W.end>o)return S=W.url,!0}),S?v(S):ge.segments.some(function(W){if(W.mediaStartTime<=o&&W.mediaStartTime+W.duration>o){var V=_e.resolve(ge.path);return re.load({method:"get",url:V.url,request:{range:W.mediaRange,responseType:"arraybuffer"},onload:function(Se){var ze=H.getSamplesInfo(Se.target.response),Me=new Blob([Se.target.response.slice(ze.sampleList[0].offset,ze.sampleList[0].offset+ze.sampleList[0].size)],{type:"image/jpeg"}),De=window.URL.createObjectURL(Me);Ue.push({start:W.mediaStartTime,end:W.mediaStartTime+W.duration,url:De}),v&&v(De)}}),!0}})}})(dt,Oe,ke)}):(dt.startNumber=Oe.startNumber,dt.segmentDuration=Oe.segmentDuration,dt.timescale=Oe.timescale,dt.templateUrl=function(ke){var Je=He.isRelative(ke.media)?He.resolve(ke.media,_e.resolve(ke.path).url):ke.media;return Je?(0,p.Aj)(Je,ke.id):""}(Oe)),dt.tilesHor>0&&dt.tilesVert>0&&(dt.widthPerTile=dt.width/dt.tilesHor,dt.heightPerTile=dt.height/dt.tilesVert,q.push(dt))}function ve(){q=[],$=-1,O=null}return k={getTracks:function(){return q},addTracks:function(){if(X&&ue&&(O=ue.getMediaInfoForType(X,ae.Z.IMAGE))){var Oe=ue.getVoRepresentations(O);Oe&&Oe.length>0&&Oe.forEach(function(_t){(_t.segmentInfoType===T.Z.SEGMENT_TEMPLATE&&_t.segmentDuration>0&&_t.media||_t.segmentInfoType===T.Z.SEGMENT_TIMELINE)&&tt(_t),_t.segmentInfoType===T.Z.SEGMENT_BASE&&tt(_t,!0)}),q.length>0&&q.sort(function(_t,dt){return _t.bitrate-dt.bitrate})}},reset:ve,setTrackByIndex:function(Oe){q&&q.length!==0&&(Oe>=q.length&&(Oe=q.length-1),$=Oe)},getCurrentTrack:function(){return $<0?null:q[$]},getCurrentTrackIndex:function(){return $},getThumbnailRequestForTime:function(Oe){for(var _t,dt=ue.getVoRepresentations(O),ke=0;ke<dt.length;ke++)if(q[$].id===dt[ke].id){_t=dt[ke];break}return F.getSegmentRequestForTime(O,_t,Oe)}},ve(),re=(0,_.Z)(ee).create({}),H=(0,u.Z)(ee).getInstance(),K=(0,n.Z)(ee).create({events:ye,eventBus:Ye,streamInfo:X,timelineConverter:Ae,dashConstants:Pe,dashMetrics:I.dashMetrics,segmentBaseController:I.segmentBaseController,type:ae.Z.IMAGE}),(F=(0,m.Z)(ee).create({streamInfo:X,type:ae.Z.IMAGE,timelineConverter:Ae,segmentsController:K,baseURLController:_e,debug:Le,eventBus:Ye,events:ye,dashConstants:Pe,urlUtils:He})).initialize(!!ue&&ue.getIsDynamic()),k}d.__dashjs_factory_name="ThumbnailTracks",we.Z=t.Z.getClassFactory(d)},7417:function(at,we,P){var ae=P(6398),T=P(8260),t=P(5448),e=P(6934),y=P(9597);function p(){var u,_,m=this.context;function n(I){if(!I)return null;I.fileStart===void 0&&(I.fileStart=0);var k=e.parseBuffer(I),q=(0,T.Z)(m).create();return q.setData(k),q}function c(I,k){return I[k+3]>>>0|I[k+2]<<8>>>0|I[k+1]<<16>>>0|I[k]<<24>>>0}function d(I,k){return String.fromCharCode(I[k++])+String.fromCharCode(I[k++])+String.fromCharCode(I[k++])+String.fromCharCode(I[k])}return _={parse:n,findLastTopIsoBoxCompleted:function(I,k,q){if(q===void 0&&(q=0),!k||q+8>=k.byteLength)return new y.Z(0,!1);for(var F,$=k instanceof ArrayBuffer?new Uint8Array(k):k,O=0;q<$.byteLength;){var K=c($,q),re=d($,q+4);if(K===0)break;q+K<=$.byteLength&&(I.indexOf(re)>=0?F=new y.Z(q,!0,K):O=q+K),q+=K}return F||new y.Z(O,!1)},getMediaTimescaleFromMoov:function(I){var k=n(I),q=k?k.getBox("mdhd"):void 0;return q?q.timescale:NaN},getSamplesInfo:function(I){if(!I||I.byteLength===0)return{sampleList:[],lastSequenceNumber:NaN,totalDuration:NaN,numSequences:NaN};var k,q,F,$,O,K,re,H,ee,ue,_e,X,Ae,Le,Ye,ye,Pe=n(I),He=Pe.getBoxes("moof"),tt=Pe.getBoxes("mfhd");Ye=Pe.getBoxes("moof").length,Le=tt[tt.length-1].sequence_number,q=0,O=[];var ve=-1,Oe=-1;for(ue=0;ue<He.length;ue++){var _t=He[ue],dt=_t.getChildBoxes("traf");for(H=0;H<dt.length;H++){var ke=dt[H],Je=ke.getChildBox("tfhd"),ge=ke.getChildBox("tfdt");$=ge.baseMediaDecodeTime;var me=ke.getChildBoxes("trun"),Ue=ke.getChildBoxes("subs");for(ee=0;ee<me.length;ee++){var f=me[ee];for(q=f.sample_count,Ae=(Je.base_data_offset||0)+(f.data_offset||0),re=0;re<q;re++){k=(K=f.samples[re]).sample_duration!==void 0?K.sample_duration:Je.default_sample_duration,F=K.sample_size!==void 0?K.sample_size:Je.default_sample_size;var o={dts:$,cts:$+(K.sample_composition_time_offset!==void 0?K.sample_composition_time_offset:0),duration:k,offset:_t.offset+Ae,size:F,subSizes:[F]};if(Ue)for(_e=0;_e<Ue.length;_e++){var v=Ue[_e];if(ve<v.entry_count-1&&re>Oe&&(ve++,Oe+=v.entries[ve].sample_delta),re==Oe){o.subSizes=[];var S=v.entries[ve];for(X=0;X<S.subsample_count;X++)o.subSizes.push(S.subsamples[X].subsample_size)}}O.push(o),Ae+=F,$+=k}}ye=$-ge.baseMediaDecodeTime}}return{sampleList:O,lastSequenceNumber:Le,totalDuration:ye,numSequences:Ye}},findInitRange:function(I){var k=null,q=n(I);if(!q)return k;var F=q.getBox("ftyp"),$=q.getBox("moov");return u.debug("Searching for initialization."),$&&$.isComplete&&(k=(F?F.offset:$.offset)+"-"+($.offset+$.size-1),u.debug("Found the initialization.  Range: "+k)),k},parsePayload:function(I,k,q){if(q===void 0&&(q=0),!k||q+8>=k.byteLength)return new y.Z(0,!1);for(var F,$=k instanceof ArrayBuffer?new Uint8Array(k):k,O=0;q<$.byteLength;){var K=c($,q),re=d($,q+4);if(K===0)break;q+K<=$.byteLength&&(I.indexOf(re)>=0?F=new y.Z(q,!0,K,re):O=q+K),q+=K}return F||new y.Z(O,!1)}},u=(0,ae.Z)(m).getInstance().getLogger(_),_}p.__dashjs_factory_name="BoxParser",we.Z=t.Z.getSingletonFactory(p)},1715:function(at,we,P){P.d(we,{B:function(){return y}});var ae=P(5448),T=P(7803),t=P(3393),e=[{codec:"avc1",compatibleCodecs:["avc3"]},{codec:"avc3",compatibleCodecs:["avc1"]}];function y(){var u="ManagedMediaSource"in window,_="WebKitMediaSource"in window,m="MediaSource"in window;return u||_||m}function p(){var u,_,m;return u={setConfig:function(n){n&&n.settings&&(_=n.settings)},supportsMediaSource:y,supportsEncryptedMedia:function(){return m},supportsCodec:function(n,c){return c!==t.Z.AUDIO&&c!==t.Z.VIDEO?Promise.resolve(!0):function(d,I){return _.get().streaming.capabilities.useMediaCapabilitiesApi&&navigator.mediaCapabilities&&navigator.mediaCapabilities.decodingInfo&&(d.codec&&I===t.Z.AUDIO||I===t.Z.VIDEO&&d.codec&&d.width&&d.height&&d.bitrate&&d.framerate)}(n,c)?function(d,I){return new Promise(function(k){if(d&&d.codec){var q={type:"media-source"};q[I]={},q[I].contentType=d.codec,q[I].width=d.width,q[I].height=d.height,q[I].bitrate=parseInt(d.bitrate),q[I].framerate=parseFloat(d.framerate),navigator.mediaCapabilities.decodingInfo(q).then(function(F){k(F.supported)}).catch(function(){k(!1)})}else k(!1)})}(n,c):function(d){return new Promise(function(I){if(d&&d.codec){var k=d.codec;d.width&&d.height&&(k+=';width="'+d.width+'";height="'+d.height+'"'),"ManagedMediaSource"in window&&ManagedMediaSource.isTypeSupported(k)||"MediaSource"in window&&MediaSource.isTypeSupported(k)||"WebKitMediaSource"in window&&WebKitMediaSource.isTypeSupported(k)?I(!0):I(!1)}else I(!1)})}(n)},setEncryptedMediaSupported:function(n){m=n},supportsEssentialProperty:function(n){try{return T.Y.indexOf(n.schemeIdUri)!==-1||t.Z.FONT_DOWNLOAD_DVB_SCHEME===n.schemeIdUri}catch{return!0}},codecRootCompatibleWithCodec:function(n,c){for(var d,I=n.split(".")[0],k=c.indexOf(I)===0,q=0;q<e.length;q++)if(e[q].codec===I){d=e[q];break}return d?k||d.compatibleCodecs.some(function(F){return c.indexOf(F)===0}):k}},m=!1,u}p.__dashjs_factory_name="Capabilities",we.Z=ae.Z.getSingletonFactory(p)},2295:function(at,we,P){var ae=P(5448),T=P(3106);function t(){return{customTimeRangeArray:[],length:0,add:function(e,y){var p;for(p=0;p<this.customTimeRangeArray.length&&e>this.customTimeRangeArray[p].start;p++);for(this.customTimeRangeArray.splice(p,0,{start:e,end:y}),p=0;p<this.customTimeRangeArray.length-1;p++)this.mergeRanges(p,p+1)&&p--;this.length=this.customTimeRangeArray.length},clear:function(){this.customTimeRangeArray=[],this.length=0},remove:function(e,y){for(var p=0;p<this.customTimeRangeArray.length;p++)if(e<=this.customTimeRangeArray[p].start&&y>=this.customTimeRangeArray[p].end)this.customTimeRangeArray.splice(p,1),p--;else{if(e>this.customTimeRangeArray[p].start&&y<this.customTimeRangeArray[p].end){this.customTimeRangeArray.splice(p+1,0,{start:y,end:this.customTimeRangeArray[p].end}),this.customTimeRangeArray[p].end=e;break}e>this.customTimeRangeArray[p].start&&e<this.customTimeRangeArray[p].end?this.customTimeRangeArray[p].end=e:y>this.customTimeRangeArray[p].start&&y<this.customTimeRangeArray[p].end&&(this.customTimeRangeArray[p].start=y)}this.length=this.customTimeRangeArray.length},mergeRanges:function(e,y){var p=this.customTimeRangeArray[e],u=this.customTimeRangeArray[y];return p.start<=u.start&&u.start<=p.end&&p.end<=u.end?(p.end=u.end,this.customTimeRangeArray.splice(y,1),!0):u.start<=p.start&&p.start<=u.end&&u.end<=p.end?(p.start=u.start,this.customTimeRangeArray.splice(y,1),!0):u.start<=p.start&&p.start<=u.end&&p.end<=u.end?(this.customTimeRangeArray.splice(e,1),!0):p.start<=u.start&&u.start<=p.end&&u.end<=p.end&&(this.customTimeRangeArray.splice(y,1),!0)},start:function(e){return(0,T.SE)(e),e>=this.customTimeRangeArray.length||e<0?NaN:this.customTimeRangeArray[e].start},end:function(e){return(0,T.SE)(e),e>=this.customTimeRangeArray.length||e<0?NaN:this.customTimeRangeArray[e].end}}}t.__dashjs_factory_name="CustomTimeRanges",we.Z=ae.Z.getClassFactory(t)},5:function(at,we,P){var ae=P(5448);function T(){var t,e=/^[a-z][a-z0-9+\-_.]*:/i,y=/^https?:\/\//i,p=/^https:\/\//i,u=/^([a-z][a-z0-9+\-_.]*:\/\/[^\/]+)\/?/i,_=function(F,$){try{return new window.URL(F,$).toString()}catch{return F}},m=function(F,$){var O=n;if(!$||!I(F))return F;k(F)&&(O=c),q(F)&&(O=d);var K=O($),re=K.charAt(K.length-1)!=="/"&&F.charAt(0)!=="/"?"/":"";return[K,F].join(re)};function n(F){var $=F.indexOf("/"),O=F.lastIndexOf("/");return $!==-1?O===$+1?F:(F.indexOf("?")!==-1&&(F=F.substring(0,F.indexOf("?"))),F.substring(0,O+1)):""}function c(F){var $=F.match(u);return $?$[1]:""}function d(F){var $=F.match(e);return $?$[0]:""}function I(F){return!e.test(F)}function k(F){return I(F)&&F.charAt(0)==="/"}function q(F){return F.indexOf("//")===0}return function(){try{new window.URL("x","http://y"),t=_}catch{}finally{t=t||m}}(),{parseBaseUrl:n,parseOrigin:c,parseScheme:d,isRelative:I,isPathAbsolute:k,isSchemeRelative:q,isHTTPURL:function(F){return y.test(F)},isHTTPS:function(F){return p.test(F)},removeHostname:function(F){return/^(?:\w+\:\/\/)?([^\/]+)(.*)$/.exec(F)[2].substring(1)},resolve:function(F,$){return t(F,$)}}}T.__dashjs_factory_name="DefaultURLUtils",we.Z=ae.Z.getSingletonFactory(T)},8260:function(at,we,P){var ae=P(2839),T=P(5448);function t(){var e;function y(u){var _=[];if(!u||!e||typeof e.fetchAll!="function")return _;for(var m,n=e.fetchAll(u),c=0,d=n.length;c<d;c++)(m=p(n[c]))&&_.push(m);return _}function p(u){if(!u)return null;var _=new ae.Z(u);return u.hasOwnProperty("_incomplete")&&(_.isComplete=!u._incomplete),_}return{getBox:function(u){return u&&e&&e.boxes&&e.boxes.length!==0&&typeof e.fetch=="function"?p(e.fetch(u)):null},getBoxes:y,setData:function(u){e=u},getLastBox:function(){if(!e||!e.boxes||!e.boxes.length)return null;var u=y(e.boxes[e.boxes.length-1].type);return u.length>0?u[u.length-1]:null}}}t.__dashjs_factory_name="IsoFile",we.Z=T.Z.getClassFactory(t)},7473:function(at,we,P){P.d(we,{k:function(){return T}});var ae=P(5448);function T(e,y){var p={url:e.url,method:e.method,headers:Object.assign({},e.headers),credentials:e.withCredentials?"include":void 0,range:e.request.range};return Promise.resolve(y.modifyRequest(p)).then(function(){return Object.assign(e,p,{withCredentials:p.credentials==="include"})})}function t(){return{modifyRequest:null,modifyRequestURL:function(e){return e},modifyRequestHeader:function(e,y){return y.url,e}}}t.__dashjs_factory_name="RequestModifier",we.Z=ae.Z.getSingletonFactory(t)},3106:function(at,we,P){P.d(we,{PS:function(){return t},SE:function(){return e}});var ae=P(3393);function T(y){return T=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(p){return typeof p}:function(p){return p&&typeof Symbol=="function"&&p.constructor===Symbol&&p!==Symbol.prototype?"symbol":typeof p},T(y)}function t(y,p){if(T(y)!==p)throw ae.Z.BAD_ARGUMENT_ERROR}function e(y){if(y===null||isNaN(y)||y%1!=0)throw ae.Z.BAD_ARGUMENT_ERROR+" : argument is not an integer"}},2594:function(at,we,P){var ae=P(5448),T=P(5);function t(){var y,p=[],u=this.context;function _(m,n,c){var d=function(I){var k;for(k=0;k<p.length;k++)if(p[k].regex.test(I))return p[k].utils;return y}(c||n);return d&&typeof d[m]=="function"?d[m](n,c):y[m](n,c)}return y=(0,T.Z)(u).getInstance(),{registerUrlRegex:function(m,n){p.push({regex:m,utils:n})},parseBaseUrl:function(m){return _("parseBaseUrl",m)},parseOrigin:function(m){return _("parseOrigin",m)},parseScheme:function(m){return _("parseScheme",m)},isRelative:function(m){return _("isRelative",m)},isPathAbsolute:function(m){return _("isPathAbsolute",m)},isSchemeRelative:function(m){return _("isSchemeRelative",m)},isHTTPURL:function(m){return _("isHTTPURL",m)},isHTTPS:function(m){return _("isHTTPS",m)},removeHostname:function(m){return _("removeHostname",m)},resolve:function(m,n){return _("resolve",m,n)}}}t.__dashjs_factory_name="URLUtils";var e=ae.Z.getSingletonFactory(t);we.Z=e},5459:function(at,we){we.Z=function P(ae,T,t){(function(e,y){if(!(e instanceof y))throw new TypeError("Cannot call a class as a function")})(this,P),this.code=ae||null,this.message=T||null,this.data=t||null}},3186:function(at,we,P){var ae=P(7855);function T(e,y){for(var p=0;p<y.length;p++){var u=y[p];u.enumerable=u.enumerable||!1,u.configurable=!0,"value"in u&&(u.writable=!0),Object.defineProperty(e,u.key,u)}}var t=function(){function e(u){(function(_,m){if(!(_ instanceof m))throw new TypeError("Cannot call a class as a function")})(this,e),this.action=e.ACTION_DOWNLOAD,this.startTime=NaN,this.mediaStartTime=NaN,this.mediaType=null,this.mediaInfo=null,this.type=null,this.duration=NaN,this.timescale=NaN,this.range=null,this.url=u||null,this.serviceLocation=null,this.requestStartDate=null,this.firstByteDate=null,this.requestEndDate=null,this.quality=NaN,this.index=NaN,this.availabilityStartTime=null,this.availabilityEndTime=null,this.wallStartTime=null,this.bytesLoaded=NaN,this.bytesTotal=NaN,this.delayLoadingTime=NaN,this.responseType="arraybuffer",this.representationId=null}var y,p;return y=e,(p=[{key:"isInitializationRequest",value:function(){return this.type&&this.type===ae.w.INIT_SEGMENT_TYPE}},{key:"setInfo",value:function(u){this.type=u&&u.init?ae.w.INIT_SEGMENT_TYPE:ae.w.MEDIA_SEGMENT_TYPE,this.url=u&&u.url?u.url:null,this.range=u&&u.range?u.range.start+"-"+u.range.end:null,this.mediaType=u&&u.mediaType?u.mediaType:null}}])&&T(y.prototype,p),e}();t.ACTION_DOWNLOAD="download",t.ACTION_COMPLETE="complete",we.Z=t},2839:function(at,we){function P(T,t){for(var e=0;e<t.length;e++){var y=t[e];y.enumerable=y.enumerable||!1,y.configurable=!0,"value"in y&&(y.writable=!0),Object.defineProperty(T,y.key,y)}}var ae=function(){function T(y){if(function(d,I){if(!(d instanceof I))throw new TypeError("Cannot call a class as a function")}(this,T),this.offset=y._offset,this.type=y.type,this.size=y.size,this.boxes=[],y.boxes)for(var p=0;p<y.boxes.length;p++)this.boxes.push(new T(y.boxes[p]));switch(this.isComplete=!0,y.type){case"sidx":if(this.timescale=y.timescale,this.earliest_presentation_time=y.earliest_presentation_time,this.first_offset=y.first_offset,this.references=y.references,y.references){this.references=[];for(var u=0;u<y.references.length;u++){var _={reference_type:y.references[u].reference_type,referenced_size:y.references[u].referenced_size,subsegment_duration:y.references[u].subsegment_duration};this.references.push(_)}}break;case"emsg":this.id=y.id,this.version=y.version===1?1:0,this.value=y.value,this.timescale=y.timescale,this.scheme_id_uri=y.scheme_id_uri,this.presentation_time_delta=y.version===1?y.presentation_time:y.presentation_time_delta,this.event_duration=y.event_duration,this.message_data=y.message_data;break;case"mdhd":this.timescale=y.timescale;break;case"mfhd":this.sequence_number=y.sequence_number;break;case"subs":this.entry_count=y.entry_count,this.entries=y.entries;break;case"tfhd":this.base_data_offset=y.base_data_offset,this.sample_description_index=y.sample_description_index,this.default_sample_duration=y.default_sample_duration,this.default_sample_size=y.default_sample_size,this.default_sample_flags=y.default_sample_flags,this.flags=y.flags;break;case"tfdt":this.version=y.version,this.baseMediaDecodeTime=y.baseMediaDecodeTime,this.flags=y.flags;break;case"trun":if(this.sample_count=y.sample_count,this.first_sample_flags=y.first_sample_flags,this.data_offset=y.data_offset,this.flags=y.flags,this.samples=y.samples,y.samples){this.samples=[];for(var m=0,n=y.samples.length;m<n;m++){var c={sample_size:y.samples[m].sample_size,sample_duration:y.samples[m].sample_duration,sample_composition_time_offset:y.samples[m].sample_composition_time_offset};this.samples.push(c)}}break;case"prft":this.version=y.version,this.reference_track_ID=y.reference_track_ID,this.ntp_timestamp_sec=y.ntp_timestamp_sec,this.ntp_timestamp_frac=y.ntp_timestamp_frac,this.media_time=y.media_time,this.flags=y.flags}}var t,e;return t=T,(e=[{key:"getChildBox",value:function(y){for(var p=0;p<this.boxes.length;p++)if(this.boxes[p].type===y)return this.boxes[p]}},{key:"getChildBoxes",value:function(y){for(var p=[],u=0;u<this.boxes.length;u++)this.boxes[u].type===y&&p.push(this.boxes[u]);return p}}])&&P(t.prototype,e),T}();we.Z=ae},9597:function(at,we){we.Z=function P(ae,T,t){(function(e,y){if(!(e instanceof y))throw new TypeError("Cannot call a class as a function")})(this,P),this.lastCompletedOffset=ae,this.found=T,this.size=t}},2128:function(at,we){we.Z=function P(){(function(ae,T){if(!(ae instanceof T))throw new TypeError("Cannot call a class as a function")})(this,P),this.bitrate=0,this.width=0,this.height=0,this.tilesHor=0,this.tilesVert=0,this.widthPerTile=0,this.heightPerTile=0,this.startNumber=0,this.segmentDuration=0,this.timescale=0,this.templateUrl="",this.id=""}},7855:function(at,we,P){function ae(e,y){if(!(e instanceof y))throw new TypeError("Cannot call a class as a function")}P.d(we,{O:function(){return t},w:function(){return T}});var T=function e(){ae(this,e),this.tcpid=null,this.type=null,this.url=null,this.actualurl=null,this.range=null,this.trequest=null,this.tresponse=null,this.responsecode=null,this.interval=null,this.trace=[],this.cmsd=null,this._stream=null,this._tfinish=null,this._mediaduration=null,this._quality=null,this._responseHeaders=null,this._serviceLocation=null,this._fileLoaderType=null},t=function e(){ae(this,e),this.s=null,this.d=null,this.b=[]};T.GET="GET",T.HEAD="HEAD",T.MPD_TYPE="MPD",T.XLINK_EXPANSION_TYPE="XLinkExpansion",T.INIT_SEGMENT_TYPE="InitializationSegment",T.INDEX_SEGMENT_TYPE="IndexSegment",T.MEDIA_SEGMENT_TYPE="MediaSegment",T.BITSTREAM_SWITCHING_SEGMENT_TYPE="BitstreamSwitchingSegment",T.MSS_FRAGMENT_INFO_SEGMENT_TYPE="FragmentInfoSegment",T.DVB_REPORTING_TYPE="DVBReporting",T.LICENSE="license",T.CONTENT_STEERING_TYPE="ContentSteering",T.OTHER_TYPE="other"},3039:function(at,we){function P(T,t){return function(e,y){for(var p,u,_,m=ae(e,"tag"),n=ae(y??"*","range"),c=[],d=-1;++d<n.length;)if(p=n[d].toLowerCase(),t||p!=="*"){for(u=-1,_=[];++u<m.length;)if(T(m[u].toLowerCase(),p)){if(!t)return m[u];c.push(m[u])}else _.push(m[u]);m=_}return t?c:void 0}}function ae(T,t){var e=T&&typeof T=="string"?[T]:T;if(!e||typeof e!="object"||!("length"in e))throw new Error("Invalid "+t+" `"+e+"`, expected non-empty string");return e}we.basicFilter=P(function(T,t){return t==="*"||T===t||T.indexOf(t+"-")>-1},!0),we.extendedFilter=P(function(T,t){var e=T.split("-"),y=t.split("-"),p=0,u=0;if(y[u]!=="*"&&e[p]!==y[u])return!1;for(p++,u++;u<y.length;)if(y[u]!=="*"){if(!e[p])return!1;if(e[p]!==y[u]){if(e[p].length===1)return!1;p++}else p++,u++}else u++;return!0},!0),we.lookup=P(function(T,t){for(var e,y=t;;){if(y==="*"||T===y)return!0;if((e=y.lastIndexOf("-"))<0)return!1;y.charAt(e-2)==="-"&&(e-=2),y=y.slice(0,e)}})},3973:function(at,we,P){at.exports=P(3854)},3854:function(at,we,P){var ae=P(2415),T=P(3039),t=P(7778),e=P(5813),y=P(3165),p=P(9460);at.exports=function(k,q){var F,$=q||{},O=ae.parse(String(k||"").toLowerCase(),$),K=ae.stringify(O),re=-1;if(!K)return K;for(;++re<t.length;)T.extendedFilter(K,t[re].from).length&&(n(O,t[re].from,t[re].to),K=ae.stringify(O));for(re=-1;++re<e.length;)c(O,e[re].from.field,e[re].from.value)&&d(O,e[re].to.field,e[re].to.value);for(K=ae.stringify(Object.assign({},O,m)),re=-1;++re<y.length;)K===y[re]&&(n(O,y[re],y[re].split("-").slice(0,-1).join("-")),K=ae.stringify(Object.assign({},O,m)));if(O.extensions.sort(I),$.warning)for(F in p)u.call(p[F],O[F])&&$.warning("Deprecated "+F+" `"+O[F]+"`, expected one of `"+p[F][O[F]].join("`, `")+"`",null,7);return O.script&&(O.script=O.script.charAt(0).toUpperCase()+O.script.slice(1)),O.region&&(O.region=O.region.toUpperCase()),ae.stringify(O)};var u={}.hasOwnProperty,_=new Intl.Collator,m={variants:[],extensions:[],privateuse:[],irregular:null,regular:null};function n(k,q,F){var $,O=ae.parse(q),K=ae.parse(F),re=[];for($ in O)O[$]&&O[$].length&&c(k,$,O[$])&&re.push($);for($ in K)K[$]&&K[$].length&&(re.indexOf($)>-1||!k[$]||!k[$].length)&&d(k,$,K[$])}function c(k,q,F){var $,O,K,re,H=!1;if(F){if(O=$=k[q],$&&typeof $=="object")for(O=[],K=-1;++K<$.length;)re=$[K],F.indexOf(re)<0?O.push(re):H=!0;else $===F&&(O=null,H=!0);k[q]=O}return H}function d(k,q,F){var $,O,K,re=k[q];if(re&&typeof re=="object")for($=[].concat(F),O=-1;++O<$.length;)K=$[O],re.indexOf(K)<0&&re.push(K);else k[q]=F}function I(k,q){return _.compare(k.singleton,q.singleton)}},2415:function(at,we,P){we.parse=P(6903),we.stringify=P(6713)},6903:function(at,we,P){var ae=P(2219),T=P(3516),t=P(395),e=P(858),y=P(8589);at.exports=function u(_,m){var n,c,d,I=m||{},k={language:null,extendedLanguageSubtags:[],script:null,region:null,variants:[],extensions:[],privateuse:[],irregular:null,regular:null},q=String(_),F=q.toLowerCase(),$=0;if(_==null)throw new Error("Expected string, got `"+_+"`");if(p.call(y,F))return(I.normalize==null||I.normalize)&&y[F]?u(y[F]):(k[e.indexOf(F)===-1?"irregular":"regular"]=q,k);for(;T(F.charCodeAt($))&&$<9;)$++;if($>1&&$<9){if(k.language=q.slice(0,$),$<4)for(c=0;F.charCodeAt($)===45&&T(F.charCodeAt($+1))&&T(F.charCodeAt($+2))&&T(F.charCodeAt($+3))&&!T(F.charCodeAt($+4));){if(c>2)return O($,3,"Too many extended language subtags, expected at most 3 subtags");k.extendedLanguageSubtags.push(q.slice($+1,$+4)),$+=4,c++}for(F.charCodeAt($)===45&&T(F.charCodeAt($+1))&&T(F.charCodeAt($+2))&&T(F.charCodeAt($+3))&&T(F.charCodeAt($+4))&&!T(F.charCodeAt($+5))&&(k.script=q.slice($+1,$+5),$+=5),F.charCodeAt($)===45&&(T(F.charCodeAt($+1))&&T(F.charCodeAt($+2))&&!T(F.charCodeAt($+3))?(k.region=q.slice($+1,$+3),$+=3):t(F.charCodeAt($+1))&&t(F.charCodeAt($+2))&&t(F.charCodeAt($+3))&&!t(F.charCodeAt($+4))&&(k.region=q.slice($+1,$+4),$+=4));F.charCodeAt($)===45;){for(d=n=$+1;ae(F.charCodeAt(d));){if(d-n>7)return O(d,1,"Too long variant, expected at most 8 characters");d++}if(!(d-n>4||d-n>3&&t(F.charCodeAt(n))))break;k.variants.push(q.slice(n,d)),$=d}for(;F.charCodeAt($)===45&&F.charCodeAt($+1)!==120&&ae(F.charCodeAt($+1))&&F.charCodeAt($+2)===45&&ae(F.charCodeAt($+3));){for(d=$+2,c=0;F.charCodeAt(d)===45&&ae(F.charCodeAt(d+1))&&ae(F.charCodeAt(d+2));)for(d=(n=d+1)+2,c++;ae(F.charCodeAt(d));){if(d-n>7)return O(d,2,"Too long extension, expected at most 8 characters");d++}if(!c)return O(d,4,"Empty extension, extensions must have at least 2 characters of content");k.extensions.push({singleton:q.charAt($+1),extensions:q.slice($+3,d).split("-")}),$=d}}else $=0;if($===0&&F.charCodeAt($)===120||F.charCodeAt($)===45&&F.charCodeAt($+1)===120)for(d=$=$?$+2:1;F.charCodeAt(d)===45&&ae(F.charCodeAt(d+1));){for(d=n=$+1;ae(F.charCodeAt(d));){if(d-n>7)return O(d,5,"Too long private-use area, expected at most 8 characters");d++}k.privateuse.push(q.slice($+1,d)),$=d}return $!==q.length?O($,6,"Found superfluous content after tag"):k;function O(K,re,H){return I.warning&&I.warning(H,re,K),I.forgiving?k:{language:null,extendedLanguageSubtags:[],script:null,region:null,variants:[],extensions:[],privateuse:[],irregular:null,regular:null}}};var p={}.hasOwnProperty},6713:function(at){at.exports=function(we){var P,ae,T,t=we||{},e=[];if(t.irregular||t.regular)return t.irregular||t.regular;if(t.language)for(e=e.concat(t.language,t.extendedLanguageSubtags||[],t.script||[],t.region||[],t.variants||[]),P=t.extensions||[],ae=-1;++ae<P.length;)(T=P[ae]).singleton&&T.extensions&&T.extensions.length&&(e=e.concat(T.singleton,T.extensions));return t.privateuse&&t.privateuse.length&&(e=e.concat("x",t.privateuse)),e.join("-")}},1549:function(at,we,P){var ae=P(6693),T=P(2165),t=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;we.Buffer=p,we.SlowBuffer=function(f){return+f!=f&&(f=0),p.alloc(+f)},we.INSPECT_MAX_BYTES=50;var e=2147483647;function y(f){if(f>e)throw new RangeError('The value "'+f+'" is invalid for option "size"');var o=new Uint8Array(f);return Object.setPrototypeOf(o,p.prototype),o}function p(f,o,v){if(typeof f=="number"){if(typeof o=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return m(f)}return u(f,o,v)}function u(f,o,v){if(typeof f=="string")return function(V,Se){if(typeof Se=="string"&&Se!==""||(Se="utf8"),!p.isEncoding(Se))throw new TypeError("Unknown encoding: "+Se);var ze=0|I(V,Se),Me=y(ze),De=Me.write(V,Se);return De!==ze&&(Me=Me.slice(0,De)),Me}(f,o);if(ArrayBuffer.isView(f))return function(V){if(ge(V,Uint8Array)){var Se=new Uint8Array(V);return c(Se.buffer,Se.byteOffset,Se.byteLength)}return n(V)}(f);if(f==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof f);if(ge(f,ArrayBuffer)||f&&ge(f.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(ge(f,SharedArrayBuffer)||f&&ge(f.buffer,SharedArrayBuffer)))return c(f,o,v);if(typeof f=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');var S=f.valueOf&&f.valueOf();if(S!=null&&S!==f)return p.from(S,o,v);var W=function(V){if(p.isBuffer(V)){var Se=0|d(V.length),ze=y(Se);return ze.length===0||V.copy(ze,0,0,Se),ze}return V.length!==void 0?typeof V.length!="number"||me(V.length)?y(0):n(V):V.type==="Buffer"&&Array.isArray(V.data)?n(V.data):void 0}(f);if(W)return W;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof f[Symbol.toPrimitive]=="function")return p.from(f[Symbol.toPrimitive]("string"),o,v);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof f)}function _(f){if(typeof f!="number")throw new TypeError('"size" argument must be of type number');if(f<0)throw new RangeError('The value "'+f+'" is invalid for option "size"')}function m(f){return _(f),y(f<0?0:0|d(f))}function n(f){for(var o=f.length<0?0:0|d(f.length),v=y(o),S=0;S<o;S+=1)v[S]=255&f[S];return v}function c(f,o,v){if(o<0||f.byteLength<o)throw new RangeError('"offset" is outside of buffer bounds');if(f.byteLength<o+(v||0))throw new RangeError('"length" is outside of buffer bounds');var S;return S=o===void 0&&v===void 0?new Uint8Array(f):v===void 0?new Uint8Array(f,o):new Uint8Array(f,o,v),Object.setPrototypeOf(S,p.prototype),S}function d(f){if(f>=e)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+e.toString(16)+" bytes");return 0|f}function I(f,o){if(p.isBuffer(f))return f.length;if(ArrayBuffer.isView(f)||ge(f,ArrayBuffer))return f.byteLength;if(typeof f!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof f);var v=f.length,S=arguments.length>2&&arguments[2]===!0;if(!S&&v===0)return 0;for(var W=!1;;)switch(o){case"ascii":case"latin1":case"binary":return v;case"utf8":case"utf-8":return dt(f).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*v;case"hex":return v>>>1;case"base64":return ke(f).length;default:if(W)return S?-1:dt(f).length;o=(""+o).toLowerCase(),W=!0}}function k(f,o,v){var S=!1;if((o===void 0||o<0)&&(o=0),o>this.length||((v===void 0||v>this.length)&&(v=this.length),v<=0)||(v>>>=0)<=(o>>>=0))return"";for(f||(f="utf8");;)switch(f){case"hex":return Ye(this,o,v);case"utf8":case"utf-8":return _e(this,o,v);case"ascii":return Ae(this,o,v);case"latin1":case"binary":return Le(this,o,v);case"base64":return ue(this,o,v);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ye(this,o,v);default:if(S)throw new TypeError("Unknown encoding: "+f);f=(f+"").toLowerCase(),S=!0}}function q(f,o,v){var S=f[o];f[o]=f[v],f[v]=S}function F(f,o,v,S,W){if(f.length===0)return-1;if(typeof v=="string"?(S=v,v=0):v>2147483647?v=2147483647:v<-2147483648&&(v=-2147483648),me(v=+v)&&(v=W?0:f.length-1),v<0&&(v=f.length+v),v>=f.length){if(W)return-1;v=f.length-1}else if(v<0){if(!W)return-1;v=0}if(typeof o=="string"&&(o=p.from(o,S)),p.isBuffer(o))return o.length===0?-1:$(f,o,v,S,W);if(typeof o=="number")return o&=255,typeof Uint8Array.prototype.indexOf=="function"?W?Uint8Array.prototype.indexOf.call(f,o,v):Uint8Array.prototype.lastIndexOf.call(f,o,v):$(f,[o],v,S,W);throw new TypeError("val must be string, number or Buffer")}function $(f,o,v,S,W){var V,Se=1,ze=f.length,Me=o.length;if(S!==void 0&&((S=String(S).toLowerCase())==="ucs2"||S==="ucs-2"||S==="utf16le"||S==="utf-16le")){if(f.length<2||o.length<2)return-1;Se=2,ze/=2,Me/=2,v/=2}function De(mt,it){return Se===1?mt[it]:mt.readUInt16BE(it*Se)}if(W){var be=-1;for(V=v;V<ze;V++)if(De(f,V)===De(o,be===-1?0:V-be)){if(be===-1&&(be=V),V-be+1===Me)return be*Se}else be!==-1&&(V-=V-be),be=-1}else for(v+Me>ze&&(v=ze-Me),V=v;V>=0;V--){for(var xe=!0,Qe=0;Qe<Me;Qe++)if(De(f,V+Qe)!==De(o,Qe)){xe=!1;break}if(xe)return V}return-1}function O(f,o,v,S){v=Number(v)||0;var W=f.length-v;S?(S=Number(S))>W&&(S=W):S=W;var V=o.length;S>V/2&&(S=V/2);for(var Se=0;Se<S;++Se){var ze=parseInt(o.substr(2*Se,2),16);if(me(ze))return Se;f[v+Se]=ze}return Se}function K(f,o,v,S){return Je(dt(o,f.length-v),f,v,S)}function re(f,o,v,S){return Je(function(W){for(var V=[],Se=0;Se<W.length;++Se)V.push(255&W.charCodeAt(Se));return V}(o),f,v,S)}function H(f,o,v,S){return Je(ke(o),f,v,S)}function ee(f,o,v,S){return Je(function(W,V){for(var Se,ze,Me,De=[],be=0;be<W.length&&!((V-=2)<0);++be)ze=(Se=W.charCodeAt(be))>>8,Me=Se%256,De.push(Me),De.push(ze);return De}(o,f.length-v),f,v,S)}function ue(f,o,v){return o===0&&v===f.length?ae.fromByteArray(f):ae.fromByteArray(f.slice(o,v))}function _e(f,o,v){v=Math.min(f.length,v);for(var S=[],W=o;W<v;){var V,Se,ze,Me,De=f[W],be=null,xe=De>239?4:De>223?3:De>191?2:1;if(W+xe<=v)switch(xe){case 1:De<128&&(be=De);break;case 2:(192&(V=f[W+1]))==128&&(Me=(31&De)<<6|63&V)>127&&(be=Me);break;case 3:V=f[W+1],Se=f[W+2],(192&V)==128&&(192&Se)==128&&(Me=(15&De)<<12|(63&V)<<6|63&Se)>2047&&(Me<55296||Me>57343)&&(be=Me);break;case 4:V=f[W+1],Se=f[W+2],ze=f[W+3],(192&V)==128&&(192&Se)==128&&(192&ze)==128&&(Me=(15&De)<<18|(63&V)<<12|(63&Se)<<6|63&ze)>65535&&Me<1114112&&(be=Me)}be===null?(be=65533,xe=1):be>65535&&(be-=65536,S.push(be>>>10&1023|55296),be=56320|1023&be),S.push(be),W+=xe}return function(Qe){var mt=Qe.length;if(mt<=X)return String.fromCharCode.apply(String,Qe);for(var it="",Ut=0;Ut<mt;)it+=String.fromCharCode.apply(String,Qe.slice(Ut,Ut+=X));return it}(S)}we.kMaxLength=e,p.TYPED_ARRAY_SUPPORT=function(){try{var f=new Uint8Array(1),o={foo:function(){return 42}};return Object.setPrototypeOf(o,Uint8Array.prototype),Object.setPrototypeOf(f,o),f.foo()===42}catch{return!1}}(),p.TYPED_ARRAY_SUPPORT||typeof console>"u"||typeof console.error!="function"||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(p.prototype,"parent",{enumerable:!0,get:function(){if(p.isBuffer(this))return this.buffer}}),Object.defineProperty(p.prototype,"offset",{enumerable:!0,get:function(){if(p.isBuffer(this))return this.byteOffset}}),p.poolSize=8192,p.from=function(f,o,v){return u(f,o,v)},Object.setPrototypeOf(p.prototype,Uint8Array.prototype),Object.setPrototypeOf(p,Uint8Array),p.alloc=function(f,o,v){return function(S,W,V){return _(S),S<=0?y(S):W!==void 0?typeof V=="string"?y(S).fill(W,V):y(S).fill(W):y(S)}(f,o,v)},p.allocUnsafe=function(f){return m(f)},p.allocUnsafeSlow=function(f){return m(f)},p.isBuffer=function(f){return f!=null&&f._isBuffer===!0&&f!==p.prototype},p.compare=function(f,o){if(ge(f,Uint8Array)&&(f=p.from(f,f.offset,f.byteLength)),ge(o,Uint8Array)&&(o=p.from(o,o.offset,o.byteLength)),!p.isBuffer(f)||!p.isBuffer(o))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(f===o)return 0;for(var v=f.length,S=o.length,W=0,V=Math.min(v,S);W<V;++W)if(f[W]!==o[W]){v=f[W],S=o[W];break}return v<S?-1:S<v?1:0},p.isEncoding=function(f){switch(String(f).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},p.concat=function(f,o){if(!Array.isArray(f))throw new TypeError('"list" argument must be an Array of Buffers');if(f.length===0)return p.alloc(0);var v;if(o===void 0)for(o=0,v=0;v<f.length;++v)o+=f[v].length;var S=p.allocUnsafe(o),W=0;for(v=0;v<f.length;++v){var V=f[v];if(ge(V,Uint8Array))W+V.length>S.length?p.from(V).copy(S,W):Uint8Array.prototype.set.call(S,V,W);else{if(!p.isBuffer(V))throw new TypeError('"list" argument must be an Array of Buffers');V.copy(S,W)}W+=V.length}return S},p.byteLength=I,p.prototype._isBuffer=!0,p.prototype.swap16=function(){var f=this.length;if(f%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var o=0;o<f;o+=2)q(this,o,o+1);return this},p.prototype.swap32=function(){var f=this.length;if(f%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var o=0;o<f;o+=4)q(this,o,o+3),q(this,o+1,o+2);return this},p.prototype.swap64=function(){var f=this.length;if(f%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var o=0;o<f;o+=8)q(this,o,o+7),q(this,o+1,o+6),q(this,o+2,o+5),q(this,o+3,o+4);return this},p.prototype.toString=function(){var f=this.length;return f===0?"":arguments.length===0?_e(this,0,f):k.apply(this,arguments)},p.prototype.toLocaleString=p.prototype.toString,p.prototype.equals=function(f){if(!p.isBuffer(f))throw new TypeError("Argument must be a Buffer");return this===f||p.compare(this,f)===0},p.prototype.inspect=function(){var f="",o=we.INSPECT_MAX_BYTES;return f=this.toString("hex",0,o).replace(/(.{2})/g,"$1 ").trim(),this.length>o&&(f+=" ... "),"<Buffer "+f+">"},t&&(p.prototype[t]=p.prototype.inspect),p.prototype.compare=function(f,o,v,S,W){if(ge(f,Uint8Array)&&(f=p.from(f,f.offset,f.byteLength)),!p.isBuffer(f))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof f);if(o===void 0&&(o=0),v===void 0&&(v=f?f.length:0),S===void 0&&(S=0),W===void 0&&(W=this.length),o<0||v>f.length||S<0||W>this.length)throw new RangeError("out of range index");if(S>=W&&o>=v)return 0;if(S>=W)return-1;if(o>=v)return 1;if(this===f)return 0;for(var V=(W>>>=0)-(S>>>=0),Se=(v>>>=0)-(o>>>=0),ze=Math.min(V,Se),Me=this.slice(S,W),De=f.slice(o,v),be=0;be<ze;++be)if(Me[be]!==De[be]){V=Me[be],Se=De[be];break}return V<Se?-1:Se<V?1:0},p.prototype.includes=function(f,o,v){return this.indexOf(f,o,v)!==-1},p.prototype.indexOf=function(f,o,v){return F(this,f,o,v,!0)},p.prototype.lastIndexOf=function(f,o,v){return F(this,f,o,v,!1)},p.prototype.write=function(f,o,v,S){if(o===void 0)S="utf8",v=this.length,o=0;else if(v===void 0&&typeof o=="string")S=o,v=this.length,o=0;else{if(!isFinite(o))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");o>>>=0,isFinite(v)?(v>>>=0,S===void 0&&(S="utf8")):(S=v,v=void 0)}var W=this.length-o;if((v===void 0||v>W)&&(v=W),f.length>0&&(v<0||o<0)||o>this.length)throw new RangeError("Attempt to write outside buffer bounds");S||(S="utf8");for(var V=!1;;)switch(S){case"hex":return O(this,f,o,v);case"utf8":case"utf-8":return K(this,f,o,v);case"ascii":case"latin1":case"binary":return re(this,f,o,v);case"base64":return H(this,f,o,v);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ee(this,f,o,v);default:if(V)throw new TypeError("Unknown encoding: "+S);S=(""+S).toLowerCase(),V=!0}},p.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var X=4096;function Ae(f,o,v){var S="";v=Math.min(f.length,v);for(var W=o;W<v;++W)S+=String.fromCharCode(127&f[W]);return S}function Le(f,o,v){var S="";v=Math.min(f.length,v);for(var W=o;W<v;++W)S+=String.fromCharCode(f[W]);return S}function Ye(f,o,v){var S=f.length;(!o||o<0)&&(o=0),(!v||v<0||v>S)&&(v=S);for(var W="",V=o;V<v;++V)W+=Ue[f[V]];return W}function ye(f,o,v){for(var S=f.slice(o,v),W="",V=0;V<S.length-1;V+=2)W+=String.fromCharCode(S[V]+256*S[V+1]);return W}function Pe(f,o,v){if(f%1!=0||f<0)throw new RangeError("offset is not uint");if(f+o>v)throw new RangeError("Trying to access beyond buffer length")}function He(f,o,v,S,W,V){if(!p.isBuffer(f))throw new TypeError('"buffer" argument must be a Buffer instance');if(o>W||o<V)throw new RangeError('"value" argument is out of bounds');if(v+S>f.length)throw new RangeError("Index out of range")}function tt(f,o,v,S,W,V){if(v+S>f.length)throw new RangeError("Index out of range");if(v<0)throw new RangeError("Index out of range")}function ve(f,o,v,S,W){return o=+o,v>>>=0,W||tt(f,0,v,4),T.write(f,o,v,S,23,4),v+4}function Oe(f,o,v,S,W){return o=+o,v>>>=0,W||tt(f,0,v,8),T.write(f,o,v,S,52,8),v+8}p.prototype.slice=function(f,o){var v=this.length;(f=~~f)<0?(f+=v)<0&&(f=0):f>v&&(f=v),(o=o===void 0?v:~~o)<0?(o+=v)<0&&(o=0):o>v&&(o=v),o<f&&(o=f);var S=this.subarray(f,o);return Object.setPrototypeOf(S,p.prototype),S},p.prototype.readUintLE=p.prototype.readUIntLE=function(f,o,v){f>>>=0,o>>>=0,v||Pe(f,o,this.length);for(var S=this[f],W=1,V=0;++V<o&&(W*=256);)S+=this[f+V]*W;return S},p.prototype.readUintBE=p.prototype.readUIntBE=function(f,o,v){f>>>=0,o>>>=0,v||Pe(f,o,this.length);for(var S=this[f+--o],W=1;o>0&&(W*=256);)S+=this[f+--o]*W;return S},p.prototype.readUint8=p.prototype.readUInt8=function(f,o){return f>>>=0,o||Pe(f,1,this.length),this[f]},p.prototype.readUint16LE=p.prototype.readUInt16LE=function(f,o){return f>>>=0,o||Pe(f,2,this.length),this[f]|this[f+1]<<8},p.prototype.readUint16BE=p.prototype.readUInt16BE=function(f,o){return f>>>=0,o||Pe(f,2,this.length),this[f]<<8|this[f+1]},p.prototype.readUint32LE=p.prototype.readUInt32LE=function(f,o){return f>>>=0,o||Pe(f,4,this.length),(this[f]|this[f+1]<<8|this[f+2]<<16)+16777216*this[f+3]},p.prototype.readUint32BE=p.prototype.readUInt32BE=function(f,o){return f>>>=0,o||Pe(f,4,this.length),16777216*this[f]+(this[f+1]<<16|this[f+2]<<8|this[f+3])},p.prototype.readIntLE=function(f,o,v){f>>>=0,o>>>=0,v||Pe(f,o,this.length);for(var S=this[f],W=1,V=0;++V<o&&(W*=256);)S+=this[f+V]*W;return S>=(W*=128)&&(S-=Math.pow(2,8*o)),S},p.prototype.readIntBE=function(f,o,v){f>>>=0,o>>>=0,v||Pe(f,o,this.length);for(var S=o,W=1,V=this[f+--S];S>0&&(W*=256);)V+=this[f+--S]*W;return V>=(W*=128)&&(V-=Math.pow(2,8*o)),V},p.prototype.readInt8=function(f,o){return f>>>=0,o||Pe(f,1,this.length),128&this[f]?-1*(255-this[f]+1):this[f]},p.prototype.readInt16LE=function(f,o){f>>>=0,o||Pe(f,2,this.length);var v=this[f]|this[f+1]<<8;return 32768&v?4294901760|v:v},p.prototype.readInt16BE=function(f,o){f>>>=0,o||Pe(f,2,this.length);var v=this[f+1]|this[f]<<8;return 32768&v?4294901760|v:v},p.prototype.readInt32LE=function(f,o){return f>>>=0,o||Pe(f,4,this.length),this[f]|this[f+1]<<8|this[f+2]<<16|this[f+3]<<24},p.prototype.readInt32BE=function(f,o){return f>>>=0,o||Pe(f,4,this.length),this[f]<<24|this[f+1]<<16|this[f+2]<<8|this[f+3]},p.prototype.readFloatLE=function(f,o){return f>>>=0,o||Pe(f,4,this.length),T.read(this,f,!0,23,4)},p.prototype.readFloatBE=function(f,o){return f>>>=0,o||Pe(f,4,this.length),T.read(this,f,!1,23,4)},p.prototype.readDoubleLE=function(f,o){return f>>>=0,o||Pe(f,8,this.length),T.read(this,f,!0,52,8)},p.prototype.readDoubleBE=function(f,o){return f>>>=0,o||Pe(f,8,this.length),T.read(this,f,!1,52,8)},p.prototype.writeUintLE=p.prototype.writeUIntLE=function(f,o,v,S){f=+f,o>>>=0,v>>>=0,S||He(this,f,o,v,Math.pow(2,8*v)-1,0);var W=1,V=0;for(this[o]=255&f;++V<v&&(W*=256);)this[o+V]=f/W&255;return o+v},p.prototype.writeUintBE=p.prototype.writeUIntBE=function(f,o,v,S){f=+f,o>>>=0,v>>>=0,S||He(this,f,o,v,Math.pow(2,8*v)-1,0);var W=v-1,V=1;for(this[o+W]=255&f;--W>=0&&(V*=256);)this[o+W]=f/V&255;return o+v},p.prototype.writeUint8=p.prototype.writeUInt8=function(f,o,v){return f=+f,o>>>=0,v||He(this,f,o,1,255,0),this[o]=255&f,o+1},p.prototype.writeUint16LE=p.prototype.writeUInt16LE=function(f,o,v){return f=+f,o>>>=0,v||He(this,f,o,2,65535,0),this[o]=255&f,this[o+1]=f>>>8,o+2},p.prototype.writeUint16BE=p.prototype.writeUInt16BE=function(f,o,v){return f=+f,o>>>=0,v||He(this,f,o,2,65535,0),this[o]=f>>>8,this[o+1]=255&f,o+2},p.prototype.writeUint32LE=p.prototype.writeUInt32LE=function(f,o,v){return f=+f,o>>>=0,v||He(this,f,o,4,4294967295,0),this[o+3]=f>>>24,this[o+2]=f>>>16,this[o+1]=f>>>8,this[o]=255&f,o+4},p.prototype.writeUint32BE=p.prototype.writeUInt32BE=function(f,o,v){return f=+f,o>>>=0,v||He(this,f,o,4,4294967295,0),this[o]=f>>>24,this[o+1]=f>>>16,this[o+2]=f>>>8,this[o+3]=255&f,o+4},p.prototype.writeIntLE=function(f,o,v,S){if(f=+f,o>>>=0,!S){var W=Math.pow(2,8*v-1);He(this,f,o,v,W-1,-W)}var V=0,Se=1,ze=0;for(this[o]=255&f;++V<v&&(Se*=256);)f<0&&ze===0&&this[o+V-1]!==0&&(ze=1),this[o+V]=(f/Se>>0)-ze&255;return o+v},p.prototype.writeIntBE=function(f,o,v,S){if(f=+f,o>>>=0,!S){var W=Math.pow(2,8*v-1);He(this,f,o,v,W-1,-W)}var V=v-1,Se=1,ze=0;for(this[o+V]=255&f;--V>=0&&(Se*=256);)f<0&&ze===0&&this[o+V+1]!==0&&(ze=1),this[o+V]=(f/Se>>0)-ze&255;return o+v},p.prototype.writeInt8=function(f,o,v){return f=+f,o>>>=0,v||He(this,f,o,1,127,-128),f<0&&(f=255+f+1),this[o]=255&f,o+1},p.prototype.writeInt16LE=function(f,o,v){return f=+f,o>>>=0,v||He(this,f,o,2,32767,-32768),this[o]=255&f,this[o+1]=f>>>8,o+2},p.prototype.writeInt16BE=function(f,o,v){return f=+f,o>>>=0,v||He(this,f,o,2,32767,-32768),this[o]=f>>>8,this[o+1]=255&f,o+2},p.prototype.writeInt32LE=function(f,o,v){return f=+f,o>>>=0,v||He(this,f,o,4,2147483647,-2147483648),this[o]=255&f,this[o+1]=f>>>8,this[o+2]=f>>>16,this[o+3]=f>>>24,o+4},p.prototype.writeInt32BE=function(f,o,v){return f=+f,o>>>=0,v||He(this,f,o,4,2147483647,-2147483648),f<0&&(f=4294967295+f+1),this[o]=f>>>24,this[o+1]=f>>>16,this[o+2]=f>>>8,this[o+3]=255&f,o+4},p.prototype.writeFloatLE=function(f,o,v){return ve(this,f,o,!0,v)},p.prototype.writeFloatBE=function(f,o,v){return ve(this,f,o,!1,v)},p.prototype.writeDoubleLE=function(f,o,v){return Oe(this,f,o,!0,v)},p.prototype.writeDoubleBE=function(f,o,v){return Oe(this,f,o,!1,v)},p.prototype.copy=function(f,o,v,S){if(!p.isBuffer(f))throw new TypeError("argument should be a Buffer");if(v||(v=0),S||S===0||(S=this.length),o>=f.length&&(o=f.length),o||(o=0),S>0&&S<v&&(S=v),S===v||f.length===0||this.length===0)return 0;if(o<0)throw new RangeError("targetStart out of bounds");if(v<0||v>=this.length)throw new RangeError("Index out of range");if(S<0)throw new RangeError("sourceEnd out of bounds");S>this.length&&(S=this.length),f.length-o<S-v&&(S=f.length-o+v);var W=S-v;return this===f&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(o,v,S):Uint8Array.prototype.set.call(f,this.subarray(v,S),o),W},p.prototype.fill=function(f,o,v,S){if(typeof f=="string"){if(typeof o=="string"?(S=o,o=0,v=this.length):typeof v=="string"&&(S=v,v=this.length),S!==void 0&&typeof S!="string")throw new TypeError("encoding must be a string");if(typeof S=="string"&&!p.isEncoding(S))throw new TypeError("Unknown encoding: "+S);if(f.length===1){var W=f.charCodeAt(0);(S==="utf8"&&W<128||S==="latin1")&&(f=W)}}else typeof f=="number"?f&=255:typeof f=="boolean"&&(f=Number(f));if(o<0||this.length<o||this.length<v)throw new RangeError("Out of range index");if(v<=o)return this;var V;if(o>>>=0,v=v===void 0?this.length:v>>>0,f||(f=0),typeof f=="number")for(V=o;V<v;++V)this[V]=f;else{var Se=p.isBuffer(f)?f:p.from(f,S),ze=Se.length;if(ze===0)throw new TypeError('The value "'+f+'" is invalid for argument "value"');for(V=0;V<v-o;++V)this[V+o]=Se[V%ze]}return this};var _t=/[^+/0-9A-Za-z-_]/g;function dt(f,o){var v;o=o||1/0;for(var S=f.length,W=null,V=[],Se=0;Se<S;++Se){if((v=f.charCodeAt(Se))>55295&&v<57344){if(!W){if(v>56319){(o-=3)>-1&&V.push(239,191,189);continue}if(Se+1===S){(o-=3)>-1&&V.push(239,191,189);continue}W=v;continue}if(v<56320){(o-=3)>-1&&V.push(239,191,189),W=v;continue}v=65536+(W-55296<<10|v-56320)}else W&&(o-=3)>-1&&V.push(239,191,189);if(W=null,v<128){if((o-=1)<0)break;V.push(v)}else if(v<2048){if((o-=2)<0)break;V.push(v>>6|192,63&v|128)}else if(v<65536){if((o-=3)<0)break;V.push(v>>12|224,v>>6&63|128,63&v|128)}else{if(!(v<1114112))throw new Error("Invalid code point");if((o-=4)<0)break;V.push(v>>18|240,v>>12&63|128,v>>6&63|128,63&v|128)}}return V}function ke(f){return ae.toByteArray(function(o){if((o=(o=o.split("=")[0]).trim().replace(_t,"")).length<2)return"";for(;o.length%4!=0;)o+="=";return o}(f))}function Je(f,o,v,S){for(var W=0;W<S&&!(W+v>=o.length||W>=f.length);++W)o[W+v]=f[W];return W}function ge(f,o){return f instanceof o||f!=null&&f.constructor!=null&&f.constructor.name!=null&&f.constructor.name===o.name}function me(f){return f!=f}var Ue=function(){for(var f="0123456789abcdef",o=new Array(256),v=0;v<16;++v)for(var S=16*v,W=0;W<16;++W)o[S+W]=f[v]+f[W];return o}()},6693:function(at,we){we.byteLength=function(_){var m=p(_),n=m[0],c=m[1];return 3*(n+c)/4-c},we.toByteArray=function(_){var m,n,c=p(_),d=c[0],I=c[1],k=new T(function($,O,K){return 3*(O+K)/4-K}(0,d,I)),q=0,F=I>0?d-4:d;for(n=0;n<F;n+=4)m=ae[_.charCodeAt(n)]<<18|ae[_.charCodeAt(n+1)]<<12|ae[_.charCodeAt(n+2)]<<6|ae[_.charCodeAt(n+3)],k[q++]=m>>16&255,k[q++]=m>>8&255,k[q++]=255&m;return I===2&&(m=ae[_.charCodeAt(n)]<<2|ae[_.charCodeAt(n+1)]>>4,k[q++]=255&m),I===1&&(m=ae[_.charCodeAt(n)]<<10|ae[_.charCodeAt(n+1)]<<4|ae[_.charCodeAt(n+2)]>>2,k[q++]=m>>8&255,k[q++]=255&m),k},we.fromByteArray=function(_){for(var m,n=_.length,c=n%3,d=[],I=16383,k=0,q=n-c;k<q;k+=I)d.push(u(_,k,k+I>q?q:k+I));return c===1?(m=_[n-1],d.push(P[m>>2]+P[m<<4&63]+"==")):c===2&&(m=(_[n-2]<<8)+_[n-1],d.push(P[m>>10]+P[m>>4&63]+P[m<<2&63]+"=")),d.join("")};for(var P=[],ae=[],T=typeof Uint8Array<"u"?Uint8Array:Array,t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",e=0,y=t.length;e<y;++e)P[e]=t[e],ae[t.charCodeAt(e)]=e;function p(_){var m=_.length;if(m%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var n=_.indexOf("=");return n===-1&&(n=m),[n,n===m?0:4-n%4]}function u(_,m,n){for(var c,d,I=[],k=m;k<n;k+=3)c=(_[k]<<16&16711680)+(_[k+1]<<8&65280)+(255&_[k+2]),I.push(P[(d=c)>>18&63]+P[d>>12&63]+P[d>>6&63]+P[63&d]);return I.join("")}ae[45]=62,ae[95]=63},2165:function(at,we){we.read=function(P,ae,T,t,e){var y,p,u=8*e-t-1,_=(1<<u)-1,m=_>>1,n=-7,c=T?e-1:0,d=T?-1:1,I=P[ae+c];for(c+=d,y=I&(1<<-n)-1,I>>=-n,n+=u;n>0;y=256*y+P[ae+c],c+=d,n-=8);for(p=y&(1<<-n)-1,y>>=-n,n+=t;n>0;p=256*p+P[ae+c],c+=d,n-=8);if(y===0)y=1-m;else{if(y===_)return p?NaN:1/0*(I?-1:1);p+=Math.pow(2,t),y-=m}return(I?-1:1)*p*Math.pow(2,y-t)},we.write=function(P,ae,T,t,e,y){var p,u,_,m=8*y-e-1,n=(1<<m)-1,c=n>>1,d=e===23?Math.pow(2,-24)-Math.pow(2,-77):0,I=t?0:y-1,k=t?1:-1,q=ae<0||ae===0&&1/ae<0?1:0;for(ae=Math.abs(ae),isNaN(ae)||ae===1/0?(u=isNaN(ae)?1:0,p=n):(p=Math.floor(Math.log(ae)/Math.LN2),ae*(_=Math.pow(2,-p))<1&&(p--,_*=2),(ae+=p+c>=1?d/_:d*Math.pow(2,1-c))*_>=2&&(p++,_/=2),p+c>=n?(u=0,p=n):p+c>=1?(u=(ae*_-1)*Math.pow(2,e),p+=c):(u=ae*Math.pow(2,c-1)*Math.pow(2,e),p=0));e>=8;P[T+I]=255&u,I+=k,u/=256,e-=8);for(p=p<<e|u,m+=e;m>0;P[T+I]=255&p,I+=k,p/=256,m-=8);P[T+I-k]|=128*q}},6934:function(at,we){var P={parseBuffer:function(t){return new ae(t).parse()},addBoxProcessor:function(t,e){typeof t=="string"&&typeof e=="function"&&(T.prototype._boxProcessors[t]=e)},createFile:function(){return new ae},createBox:function(t,e,y){var p=T.create(t);return e&&e.append(p,y),p},createFullBox:function(t,e,y){var p=P.createBox(t,e,y);return p.version=0,p.flags=0,p},Utils:{}};P.Utils.dataViewToString=function(t,e){var y=e||"utf-8";if(typeof TextDecoder<"u")return new TextDecoder(y).decode(t);var p=[],u=0;if(y==="utf-8")for(;u<t.byteLength;){var _=t.getUint8(u++);_<128||(_<224?(_=(31&_)<<6,_|=63&t.getUint8(u++)):_<240?(_=(15&_)<<12,_|=(63&t.getUint8(u++))<<6,_|=63&t.getUint8(u++)):(_=(7&_)<<18,_|=(63&t.getUint8(u++))<<12,_|=(63&t.getUint8(u++))<<6,_|=63&t.getUint8(u++))),p.push(String.fromCharCode(_))}else for(;u<t.byteLength;)p.push(String.fromCharCode(t.getUint8(u++)));return p.join("")},P.Utils.utf8ToByteArray=function(t){var e,y;if(typeof TextEncoder<"u")e=new TextEncoder().encode(t);else for(e=[],y=0;y<t.length;++y){var p=t.charCodeAt(y);p<128?e.push(p):p<2048?(e.push(192|p>>6),e.push(128|63&p)):p<65536?(e.push(224|p>>12),e.push(128|63&p>>6),e.push(128|63&p)):(e.push(240|p>>18),e.push(128|63&p>>12),e.push(128|63&p>>6),e.push(128|63&p))}return e},P.Utils.appendBox=function(t,e,y){if(e._offset=t._cursor.offset,e._root=t._root?t._root:t,e._raw=t._raw,e._parent=t,y!==-1)if(y!=null){var p,u=-1;if(typeof y=="number")u=y;else{if(typeof y=="string")p=y;else{if(typeof y!="object"||!y.type)return void t.boxes.push(e);p=y.type}for(var _=0;_<t.boxes.length;_++)if(p===t.boxes[_].type){u=_+1;break}}t.boxes.splice(u,0,e)}else t.boxes.push(e)},we.parseBuffer=P.parseBuffer,we.addBoxProcessor=P.addBoxProcessor,we.createFile=P.createFile,we.createBox=P.createBox,we.createFullBox=P.createFullBox,we.Utils=P.Utils,P.Cursor=function(t){this.offset=t===void 0?0:t};var ae=function(t){this._cursor=new P.Cursor,this.boxes=[],t&&(this._raw=new DataView(t))};ae.prototype.fetch=function(t){var e=this.fetchAll(t,!0);return e.length?e[0]:null},ae.prototype.fetchAll=function(t,e){var y=[];return ae._sweep.call(this,t,y,e),y},ae.prototype.parse=function(){for(this._cursor.offset=0,this.boxes=[];this._cursor.offset<this._raw.byteLength;){var t=T.parse(this);if(t.type===void 0)break;this.boxes.push(t)}return this},ae._sweep=function(t,e,y){for(var p in this.type&&this.type==t&&e.push(this),this.boxes){if(e.length&&y)return;ae._sweep.call(this.boxes[p],t,e,y)}},ae.prototype.write=function(){var t,e=0;for(t=0;t<this.boxes.length;t++)e+=this.boxes[t].getLength(!1);var y=new Uint8Array(e);for(this._rawo=new DataView(y.buffer),this.bytes=y,this._cursor.offset=0,t=0;t<this.boxes.length;t++)this.boxes[t].write();return y.buffer},ae.prototype.append=function(t,e){P.Utils.appendBox(this,t,e)};var T=function(){this._cursor=new P.Cursor};T.parse=function(t){var e=new T;return e._offset=t._cursor.offset,e._root=t._root?t._root:t,e._raw=t._raw,e._parent=t,e._parseBox(),t._cursor.offset=e._raw.byteOffset+e._raw.byteLength,e},T.create=function(t){var e=new T;return e.type=t,e.boxes=[],e},T.prototype._boxContainers=["dinf","edts","mdia","meco","mfra","minf","moof","moov","mvex","stbl","strk","traf","trak","tref","udta","vttc","sinf","schi","encv","enca"],T.prototype._boxProcessors={},T.prototype._procField=function(t,e,y){this._parsing?this[t]=this._readField(e,y):this._writeField(e,y,this[t])},T.prototype._procFieldArray=function(t,e,y,p){var u;if(this._parsing)for(this[t]=[],u=0;u<e;u++)this[t][u]=this._readField(y,p);else for(u=0;u<this[t].length;u++)this._writeField(y,p,this[t][u])},T.prototype._procFullBox=function(){this._procField("version","uint",8),this._procField("flags","uint",24)},T.prototype._procEntries=function(t,e,y){var p;if(this._parsing)for(this[t]=[],p=0;p<e;p++)this[t].push({}),y.call(this,this[t][p]);else for(p=0;p<e;p++)y.call(this,this[t][p])},T.prototype._procSubEntries=function(t,e,y,p){var u;if(this._parsing)for(t[e]=[],u=0;u<y;u++)t[e].push({}),p.call(this,t[e][u]);else for(u=0;u<y;u++)p.call(this,t[e][u])},T.prototype._procEntryField=function(t,e,y,p){this._parsing?t[e]=this._readField(y,p):this._writeField(y,p,t[e])},T.prototype._procSubBoxes=function(t,e){var y;if(this._parsing)for(this[t]=[],y=0;y<e;y++)this[t].push(T.parse(this));else for(y=0;y<e;y++)this._rawo?this[t][y].write():this.size+=this[t][y].getLength()},T.prototype._readField=function(t,e){switch(t){case"uint":return this._readUint(e);case"int":return this._readInt(e);case"template":return this._readTemplate(e);case"string":return e===-1?this._readTerminatedString():this._readString(e);case"data":return this._readData(e);case"utf8":return this._readUTF8String();default:return-1}},T.prototype._readInt=function(t){var e=null,y=this._cursor.offset-this._raw.byteOffset;switch(t){case 8:e=this._raw.getInt8(y);break;case 16:e=this._raw.getInt16(y);break;case 32:e=this._raw.getInt32(y);break;case 64:var p=this._raw.getInt32(y),u=this._raw.getInt32(y+4);e=p*Math.pow(2,32)+u}return this._cursor.offset+=t>>3,e},T.prototype._readUint=function(t){var e,y,p=null,u=this._cursor.offset-this._raw.byteOffset;switch(t){case 8:p=this._raw.getUint8(u);break;case 16:p=this._raw.getUint16(u);break;case 24:p=((e=this._raw.getUint16(u))<<8)+(y=this._raw.getUint8(u+2));break;case 32:p=this._raw.getUint32(u);break;case 64:e=this._raw.getUint32(u),y=this._raw.getUint32(u+4),p=e*Math.pow(2,32)+y}return this._cursor.offset+=t>>3,p},T.prototype._readString=function(t){for(var e="",y=0;y<t;y++){var p=this._readUint(8);e+=String.fromCharCode(p)}return e},T.prototype._readTemplate=function(t){return this._readUint(t/2)+this._readUint(t/2)/Math.pow(2,t/2)},T.prototype._readTerminatedString=function(){for(var t="";this._cursor.offset-this._offset<this._raw.byteLength;){var e=this._readUint(8);if(e===0)break;t+=String.fromCharCode(e)}return t},T.prototype._readData=function(t){var e=t>0?t:this._raw.byteLength-(this._cursor.offset-this._offset);if(e>0){var y=new Uint8Array(this._raw.buffer,this._cursor.offset,e);return this._cursor.offset+=e,y}return null},T.prototype._readUTF8String=function(){var t=this._raw.byteLength-(this._cursor.offset-this._offset),e=null;return t>0&&(e=new DataView(this._raw.buffer,this._cursor.offset,t),this._cursor.offset+=t),e&&P.Utils.dataViewToString(e)},T.prototype._parseBox=function(){if(this._parsing=!0,this._cursor.offset=this._offset,this._offset+8>this._raw.buffer.byteLength)this._root._incomplete=!0;else{switch(this._procField("size","uint",32),this._procField("type","string",4),this.size===1&&this._procField("largesize","uint",64),this.type==="uuid"&&this._procFieldArray("usertype",16,"uint",8),this.size){case 0:this._raw=new DataView(this._raw.buffer,this._offset);break;case 1:this._offset+this.size>this._raw.buffer.byteLength?(this._incomplete=!0,this._root._incomplete=!0):this._raw=new DataView(this._raw.buffer,this._offset,this.largesize);break;default:this._offset+this.size>this._raw.buffer.byteLength?(this._incomplete=!0,this._root._incomplete=!0):this._raw=new DataView(this._raw.buffer,this._offset,this.size)}this._incomplete||(this._boxProcessors[this.type]&&this._boxProcessors[this.type].call(this),this._boxContainers.indexOf(this.type)!==-1?this._parseContainerBox():this._data=this._readData())}},T.prototype._parseFullBox=function(){this.version=this._readUint(8),this.flags=this._readUint(24)},T.prototype._parseContainerBox=function(){for(this.boxes=[];this._cursor.offset-this._raw.byteOffset<this._raw.byteLength;)this.boxes.push(T.parse(this))},T.prototype.append=function(t,e){P.Utils.appendBox(this,t,e)},T.prototype.getLength=function(){if(this._parsing=!1,this._rawo=null,this.size=0,this._procField("size","uint",32),this._procField("type","string",4),this.size===1&&this._procField("largesize","uint",64),this.type==="uuid"&&this._procFieldArray("usertype",16,"uint",8),this._boxProcessors[this.type]&&this._boxProcessors[this.type].call(this),this._boxContainers.indexOf(this.type)!==-1)for(var t=0;t<this.boxes.length;t++)this.size+=this.boxes[t].getLength();return this._data&&this._writeData(this._data),this.size},T.prototype.write=function(){switch(this._parsing=!1,this._cursor.offset=this._parent._cursor.offset,this.size){case 0:this._rawo=new DataView(this._parent._rawo.buffer,this._cursor.offset,this.parent._rawo.byteLength-this._cursor.offset);break;case 1:this._rawo=new DataView(this._parent._rawo.buffer,this._cursor.offset,this.largesize);break;default:this._rawo=new DataView(this._parent._rawo.buffer,this._cursor.offset,this.size)}if(this._procField("size","uint",32),this._procField("type","string",4),this.size===1&&this._procField("largesize","uint",64),this.type==="uuid"&&this._procFieldArray("usertype",16,"uint",8),this._boxProcessors[this.type]&&this._boxProcessors[this.type].call(this),this._boxContainers.indexOf(this.type)!==-1)for(var t=0;t<this.boxes.length;t++)this.boxes[t].write();return this._data&&this._writeData(this._data),this._parent._cursor.offset+=this.size,this.size},T.prototype._writeInt=function(t,e){if(this._rawo){var y=this._cursor.offset-this._rawo.byteOffset;switch(t){case 8:this._rawo.setInt8(y,e);break;case 16:this._rawo.setInt16(y,e);break;case 32:this._rawo.setInt32(y,e);break;case 64:var p=Math.floor(e/Math.pow(2,32)),u=e-p*Math.pow(2,32);this._rawo.setUint32(y,p),this._rawo.setUint32(y+4,u)}this._cursor.offset+=t>>3}else this.size+=t>>3},T.prototype._writeUint=function(t,e){if(this._rawo){var y,p,u=this._cursor.offset-this._rawo.byteOffset;switch(t){case 8:this._rawo.setUint8(u,e);break;case 16:this._rawo.setUint16(u,e);break;case 24:y=(16776960&e)>>8,p=255&e,this._rawo.setUint16(u,y),this._rawo.setUint8(u+2,p);break;case 32:this._rawo.setUint32(u,e);break;case 64:p=e-(y=Math.floor(e/Math.pow(2,32)))*Math.pow(2,32),this._rawo.setUint32(u,y),this._rawo.setUint32(u+4,p)}this._cursor.offset+=t>>3}else this.size+=t>>3},T.prototype._writeString=function(t,e){for(var y=0;y<t;y++)this._writeUint(8,e.charCodeAt(y))},T.prototype._writeTerminatedString=function(t){if(t.length!==0){for(var e=0;e<t.length;e++)this._writeUint(8,t.charCodeAt(e));this._writeUint(8,0)}},T.prototype._writeTemplate=function(t,e){var y=Math.floor(e),p=(e-y)*Math.pow(2,t/2);this._writeUint(t/2,y),this._writeUint(t/2,p)},T.prototype._writeData=function(t){if(t)if(this._rawo){if(t instanceof Array){for(var e=this._cursor.offset-this._rawo.byteOffset,y=0;y<t.length;y++)this._rawo.setInt8(e+y,t[y]);this._cursor.offset+=t.length}t instanceof Uint8Array&&(this._root.bytes.set(t,this._cursor.offset),this._cursor.offset+=t.length)}else this.size+=t.length},T.prototype._writeUTF8String=function(t){var e=P.Utils.utf8ToByteArray(t);if(this._rawo)for(var y=new DataView(this._rawo.buffer,this._cursor.offset,e.length),p=0;p<e.length;p++)y.setUint8(p,e[p]);else this.size+=e.length},T.prototype._writeField=function(t,e,y){switch(t){case"uint":this._writeUint(e,y);break;case"int":this._writeInt(e,y);break;case"template":this._writeTemplate(e,y);break;case"string":e==-1?this._writeTerminatedString(y):this._writeString(e,y);break;case"data":this._writeData(y);break;case"utf8":this._writeUTF8String(y)}},T.prototype._boxProcessors.avc1=T.prototype._boxProcessors.avc2=T.prototype._boxProcessors.avc3=T.prototype._boxProcessors.avc4=T.prototype._boxProcessors.hvc1=T.prototype._boxProcessors.hev1=T.prototype._boxProcessors.encv=function(){this._procFieldArray("reserved1",6,"uint",8),this._procField("data_reference_index","uint",16),this._procField("pre_defined1","uint",16),this._procField("reserved2","uint",16),this._procFieldArray("pre_defined2",3,"uint",32),this._procField("width","uint",16),this._procField("height","uint",16),this._procField("horizresolution","template",32),this._procField("vertresolution","template",32),this._procField("reserved3","uint",32),this._procField("frame_count","uint",16),this._procFieldArray("compressorname",32,"uint",8),this._procField("depth","uint",16),this._procField("pre_defined3","int",16),this._procField("config","data",-1)},T.prototype._boxProcessors.ctts=function(){this._procFullBox(),this._procField("entry_count","uint",32),this._procEntries("entries",this.entry_count,function(t){this._procEntryField(t,"sample_count","uint",32),this._procEntryField(t,"sample_offset",this.version===1?"int":"uint",32)})},T.prototype._boxProcessors.dref=function(){this._procFullBox(),this._procField("entry_count","uint",32),this._procSubBoxes("entries",this.entry_count)},T.prototype._boxProcessors.elst=function(){this._procFullBox(),this._procField("entry_count","uint",32),this._procEntries("entries",this.entry_count,function(t){this._procEntryField(t,"segment_duration","uint",this.version===1?64:32),this._procEntryField(t,"media_time","int",this.version===1?64:32),this._procEntryField(t,"media_rate_integer","int",16),this._procEntryField(t,"media_rate_fraction","int",16)})},T.prototype._boxProcessors.emsg=function(){this._procFullBox(),this.version==1?(this._procField("timescale","uint",32),this._procField("presentation_time","uint",64),this._procField("event_duration","uint",32),this._procField("id","uint",32),this._procField("scheme_id_uri","string",-1),this._procField("value","string",-1)):(this._procField("scheme_id_uri","string",-1),this._procField("value","string",-1),this._procField("timescale","uint",32),this._procField("presentation_time_delta","uint",32),this._procField("event_duration","uint",32),this._procField("id","uint",32)),this._procField("message_data","data",-1)},T.prototype._boxProcessors.free=T.prototype._boxProcessors.skip=function(){this._procField("data","data",-1)},T.prototype._boxProcessors.frma=function(){this._procField("data_format","uint",32)},T.prototype._boxProcessors.ftyp=T.prototype._boxProcessors.styp=function(){this._procField("major_brand","string",4),this._procField("minor_version","uint",32);var t=-1;this._parsing&&(t=(this._raw.byteLength-(this._cursor.offset-this._raw.byteOffset))/4),this._procFieldArray("compatible_brands",t,"string",4)},T.prototype._boxProcessors.hdlr=function(){this._procFullBox(),this._procField("pre_defined","uint",32),this._procField("handler_type","string",4),this._procFieldArray("reserved",3,"uint",32),this._procField("name","string",-1)},T.prototype._boxProcessors.mdat=function(){this._procField("data","data",-1)},T.prototype._boxProcessors.mdhd=function(){this._procFullBox(),this._procField("creation_time","uint",this.version==1?64:32),this._procField("modification_time","uint",this.version==1?64:32),this._procField("timescale","uint",32),this._procField("duration","uint",this.version==1?64:32),this._parsing||typeof this.language!="string"||(this.language=this.language.charCodeAt(0)-96<<10|this.language.charCodeAt(1)-96<<5|this.language.charCodeAt(2)-96),this._procField("language","uint",16),this._parsing&&(this.language=String.fromCharCode(96+(this.language>>10&31),96+(this.language>>5&31),96+(31&this.language))),this._procField("pre_defined","uint",16)},T.prototype._boxProcessors.mehd=function(){this._procFullBox(),this._procField("fragment_duration","uint",this.version==1?64:32)},T.prototype._boxProcessors.mfhd=function(){this._procFullBox(),this._procField("sequence_number","uint",32)},T.prototype._boxProcessors.mfro=function(){this._procFullBox(),this._procField("mfra_size","uint",32)},T.prototype._boxProcessors.mp4a=T.prototype._boxProcessors.enca=function(){this._procFieldArray("reserved1",6,"uint",8),this._procField("data_reference_index","uint",16),this._procFieldArray("reserved2",2,"uint",32),this._procField("channelcount","uint",16),this._procField("samplesize","uint",16),this._procField("pre_defined","uint",16),this._procField("reserved3","uint",16),this._procField("samplerate","template",32),this._procField("esds","data",-1)},T.prototype._boxProcessors.mvhd=function(){this._procFullBox(),this._procField("creation_time","uint",this.version==1?64:32),this._procField("modification_time","uint",this.version==1?64:32),this._procField("timescale","uint",32),this._procField("duration","uint",this.version==1?64:32),this._procField("rate","template",32),this._procField("volume","template",16),this._procField("reserved1","uint",16),this._procFieldArray("reserved2",2,"uint",32),this._procFieldArray("matrix",9,"template",32),this._procFieldArray("pre_defined",6,"uint",32),this._procField("next_track_ID","uint",32)},T.prototype._boxProcessors.payl=function(){this._procField("cue_text","utf8")},T.prototype._boxProcessors.prft=function(){this._procFullBox(),this._procField("reference_track_ID","uint",32),this._procField("ntp_timestamp_sec","uint",32),this._procField("ntp_timestamp_frac","uint",32),this._procField("media_time","uint",this.version==1?64:32)},T.prototype._boxProcessors.pssh=function(){this._procFullBox(),this._procFieldArray("SystemID",16,"uint",8),this._procField("DataSize","uint",32),this._procFieldArray("Data",this.DataSize,"uint",8)},T.prototype._boxProcessors.schm=function(){this._procFullBox(),this._procField("scheme_type","uint",32),this._procField("scheme_version","uint",32),1&this.flags&&this._procField("scheme_uri","string",-1)},T.prototype._boxProcessors.sdtp=function(){this._procFullBox();var t=-1;this._parsing&&(t=this._raw.byteLength-(this._cursor.offset-this._raw.byteOffset)),this._procFieldArray("sample_dependency_table",t,"uint",8)},T.prototype._boxProcessors.sidx=function(){this._procFullBox(),this._procField("reference_ID","uint",32),this._procField("timescale","uint",32),this._procField("earliest_presentation_time","uint",this.version==1?64:32),this._procField("first_offset","uint",this.version==1?64:32),this._procField("reserved","uint",16),this._procField("reference_count","uint",16),this._procEntries("references",this.reference_count,function(t){this._parsing||(t.reference=(1&t.reference_type)<<31,t.reference|=2147483647&t.referenced_size,t.sap=(1&t.starts_with_SAP)<<31,t.sap|=(3&t.SAP_type)<<28,t.sap|=268435455&t.SAP_delta_time),this._procEntryField(t,"reference","uint",32),this._procEntryField(t,"subsegment_duration","uint",32),this._procEntryField(t,"sap","uint",32),this._parsing&&(t.reference_type=t.reference>>31&1,t.referenced_size=2147483647&t.reference,t.starts_with_SAP=t.sap>>31&1,t.SAP_type=t.sap>>28&7,t.SAP_delta_time=268435455&t.sap)})},T.prototype._boxProcessors.smhd=function(){this._procFullBox(),this._procField("balance","uint",16),this._procField("reserved","uint",16)},T.prototype._boxProcessors.ssix=function(){this._procFullBox(),this._procField("subsegment_count","uint",32),this._procEntries("subsegments",this.subsegment_count,function(t){this._procEntryField(t,"ranges_count","uint",32),this._procSubEntries(t,"ranges",t.ranges_count,function(e){this._procEntryField(e,"level","uint",8),this._procEntryField(e,"range_size","uint",24)})})},T.prototype._boxProcessors.stsd=function(){this._procFullBox(),this._procField("entry_count","uint",32),this._procSubBoxes("entries",this.entry_count)},T.prototype._boxProcessors.sttg=function(){this._procField("settings","utf8")},T.prototype._boxProcessors.stts=function(){this._procFullBox(),this._procField("entry_count","uint",32),this._procEntries("entries",this.entry_count,function(t){this._procEntryField(t,"sample_count","uint",32),this._procEntryField(t,"sample_delta","uint",32)})},T.prototype._boxProcessors.subs=function(){this._procFullBox(),this._procField("entry_count","uint",32),this._procEntries("entries",this.entry_count,function(t){this._procEntryField(t,"sample_delta","uint",32),this._procEntryField(t,"subsample_count","uint",16),this._procSubEntries(t,"subsamples",t.subsample_count,function(e){this._procEntryField(e,"subsample_size","uint",this.version===1?32:16),this._procEntryField(e,"subsample_priority","uint",8),this._procEntryField(e,"discardable","uint",8),this._procEntryField(e,"codec_specific_parameters","uint",32)})})},T.prototype._boxProcessors.tenc=function(){this._procFullBox(),this._procField("default_IsEncrypted","uint",24),this._procField("default_IV_size","uint",8),this._procFieldArray("default_KID",16,"uint",8)},T.prototype._boxProcessors.tfdt=function(){this._procFullBox(),this._procField("baseMediaDecodeTime","uint",this.version==1?64:32)},T.prototype._boxProcessors.tfhd=function(){this._procFullBox(),this._procField("track_ID","uint",32),1&this.flags&&this._procField("base_data_offset","uint",64),2&this.flags&&this._procField("sample_description_offset","uint",32),8&this.flags&&this._procField("default_sample_duration","uint",32),16&this.flags&&this._procField("default_sample_size","uint",32),32&this.flags&&this._procField("default_sample_flags","uint",32)},T.prototype._boxProcessors.tfra=function(){this._procFullBox(),this._procField("track_ID","uint",32),this._parsing||(this.reserved=0,this.reserved|=(48&this.length_size_of_traf_num)<<4,this.reserved|=(12&this.length_size_of_trun_num)<<2,this.reserved|=3&this.length_size_of_sample_num),this._procField("reserved","uint",32),this._parsing&&(this.length_size_of_traf_num=(48&this.reserved)>>4,this.length_size_of_trun_num=(12&this.reserved)>>2,this.length_size_of_sample_num=3&this.reserved),this._procField("number_of_entry","uint",32),this._procEntries("entries",this.number_of_entry,function(t){this._procEntryField(t,"time","uint",this.version===1?64:32),this._procEntryField(t,"moof_offset","uint",this.version===1?64:32),this._procEntryField(t,"traf_number","uint",8*(this.length_size_of_traf_num+1)),this._procEntryField(t,"trun_number","uint",8*(this.length_size_of_trun_num+1)),this._procEntryField(t,"sample_number","uint",8*(this.length_size_of_sample_num+1))})},T.prototype._boxProcessors.tkhd=function(){this._procFullBox(),this._procField("creation_time","uint",this.version==1?64:32),this._procField("modification_time","uint",this.version==1?64:32),this._procField("track_ID","uint",32),this._procField("reserved1","uint",32),this._procField("duration","uint",this.version==1?64:32),this._procFieldArray("reserved2",2,"uint",32),this._procField("layer","uint",16),this._procField("alternate_group","uint",16),this._procField("volume","template",16),this._procField("reserved3","uint",16),this._procFieldArray("matrix",9,"template",32),this._procField("width","template",32),this._procField("height","template",32)},T.prototype._boxProcessors.trex=function(){this._procFullBox(),this._procField("track_ID","uint",32),this._procField("default_sample_description_index","uint",32),this._procField("default_sample_duration","uint",32),this._procField("default_sample_size","uint",32),this._procField("default_sample_flags","uint",32)},T.prototype._boxProcessors.trun=function(){this._procFullBox(),this._procField("sample_count","uint",32),1&this.flags&&this._procField("data_offset","int",32),4&this.flags&&this._procField("first_sample_flags","uint",32),this._procEntries("samples",this.sample_count,function(t){256&this.flags&&this._procEntryField(t,"sample_duration","uint",32),512&this.flags&&this._procEntryField(t,"sample_size","uint",32),1024&this.flags&&this._procEntryField(t,"sample_flags","uint",32),2048&this.flags&&this._procEntryField(t,"sample_composition_time_offset",this.version===1?"int":"uint",32)})},T.prototype._boxProcessors["url "]=T.prototype._boxProcessors["urn "]=function(){this._procFullBox(),this.type==="urn "&&this._procField("name","string",-1),this._procField("location","string",-1)},T.prototype._boxProcessors.vlab=function(){this._procField("source_label","utf8")},T.prototype._boxProcessors.vmhd=function(){this._procFullBox(),this._procField("graphicsmode","uint",16),this._procFieldArray("opcolor",3,"uint",16)},T.prototype._boxProcessors.vttC=function(){this._procField("config","utf8")},T.prototype._boxProcessors.vtte=function(){}},5530:function(at,we,P){at.exports=P(6146).polyfill()},6146:function(at,we,P){at.exports=function(){function ae(ke){return typeof ke=="function"}var T=Array.isArray?Array.isArray:function(ke){return Object.prototype.toString.call(ke)==="[object Array]"},t=0,e=void 0,y=void 0,p=function(ke,Je){I[t]=ke,I[t+1]=Je,(t+=2)===2&&(y?y(k):K())},u=typeof window<"u"?window:void 0,_=u||{},m=_.MutationObserver||_.WebKitMutationObserver,n=typeof self>"u"&&typeof process<"u"&&{}.toString.call(process)==="[object process]",c=typeof Uint8ClampedArray<"u"&&typeof importScripts<"u"&&typeof MessageChannel<"u";function d(){var ke=setTimeout;return function(){return ke(k,1)}}var I=new Array(1e3);function k(){for(var ke=0;ke<t;ke+=2)(0,I[ke])(I[ke+1]),I[ke]=void 0,I[ke+1]=void 0;t=0}var q,F,$,O,K=void 0;function re(ke,Je){var ge=this,me=new this.constructor(ue);me[ee]===void 0&&Oe(me);var Ue=ge._state;if(Ue){var f=arguments[Ue-1];p(function(){return tt(Ue,me,f,ge._result)})}else Pe(ge,me,ke,Je);return me}function H(ke){if(ke&&typeof ke=="object"&&ke.constructor===this)return ke;var Je=new this(ue);return Ae(Je,ke),Je}K=n?function(){return process.nextTick(k)}:m?(F=0,$=new m(k),O=document.createTextNode(""),$.observe(O,{characterData:!0}),function(){O.data=F=++F%2}):c?((q=new MessageChannel).port1.onmessage=k,function(){return q.port2.postMessage(0)}):u===void 0?function(){try{var ke=Function("return this")().require("vertx");return(e=ke.runOnLoop||ke.runOnContext)!==void 0?function(){e(k)}:d()}catch{return d()}}():d();var ee=Math.random().toString(36).substring(2);function ue(){}var _e=void 0;function X(ke,Je,ge){Je.constructor===ke.constructor&&ge===re&&Je.constructor.resolve===H?function(me,Ue){Ue._state===1?Ye(me,Ue._result):Ue._state===2?ye(me,Ue._result):Pe(Ue,void 0,function(f){return Ae(me,f)},function(f){return ye(me,f)})}(ke,Je):ge===void 0?Ye(ke,Je):ae(ge)?function(me,Ue,f){p(function(o){var v=!1,S=function(W,V,Se,ze){try{W.call(V,Se,ze)}catch(Me){return Me}}(f,Ue,function(W){v||(v=!0,Ue!==W?Ae(o,W):Ye(o,W))},function(W){v||(v=!0,ye(o,W))},o._label);!v&&S&&(v=!0,ye(o,S))},me)}(ke,Je,ge):Ye(ke,Je)}function Ae(ke,Je){if(ke===Je)ye(ke,new TypeError("You cannot resolve a promise with itself"));else if(Ue=typeof(me=Je),me===null||Ue!=="object"&&Ue!=="function")Ye(ke,Je);else{var ge=void 0;try{ge=Je.then}catch(f){return void ye(ke,f)}X(ke,Je,ge)}var me,Ue}function Le(ke){ke._onerror&&ke._onerror(ke._result),He(ke)}function Ye(ke,Je){ke._state===_e&&(ke._result=Je,ke._state=1,ke._subscribers.length!==0&&p(He,ke))}function ye(ke,Je){ke._state===_e&&(ke._state=2,ke._result=Je,p(Le,ke))}function Pe(ke,Je,ge,me){var Ue=ke._subscribers,f=Ue.length;ke._onerror=null,Ue[f]=Je,Ue[f+1]=ge,Ue[f+2]=me,f===0&&ke._state&&p(He,ke)}function He(ke){var Je=ke._subscribers,ge=ke._state;if(Je.length!==0){for(var me=void 0,Ue=void 0,f=ke._result,o=0;o<Je.length;o+=3)me=Je[o],Ue=Je[o+ge],me?tt(ge,me,Ue,f):Ue(f);ke._subscribers.length=0}}function tt(ke,Je,ge,me){var Ue=ae(ge),f=void 0,o=void 0,v=!0;if(Ue){try{f=ge(me)}catch(S){v=!1,o=S}if(Je===f)return void ye(Je,new TypeError("A promises callback cannot return that same promise."))}else f=me;Je._state!==_e||(Ue&&v?Ae(Je,f):v===!1?ye(Je,o):ke===1?Ye(Je,f):ke===2&&ye(Je,f))}var ve=0;function Oe(ke){ke[ee]=ve++,ke._state=void 0,ke._result=void 0,ke._subscribers=[]}var _t=function(){function ke(Je,ge){this._instanceConstructor=Je,this.promise=new Je(ue),this.promise[ee]||Oe(this.promise),T(ge)?(this.length=ge.length,this._remaining=ge.length,this._result=new Array(this.length),this.length===0?Ye(this.promise,this._result):(this.length=this.length||0,this._enumerate(ge),this._remaining===0&&Ye(this.promise,this._result))):ye(this.promise,new Error("Array Methods must be provided an Array"))}return ke.prototype._enumerate=function(Je){for(var ge=0;this._state===_e&&ge<Je.length;ge++)this._eachEntry(Je[ge],ge)},ke.prototype._eachEntry=function(Je,ge){var me=this._instanceConstructor,Ue=me.resolve;if(Ue===H){var f=void 0,o=void 0,v=!1;try{f=Je.then}catch(W){v=!0,o=W}if(f===re&&Je._state!==_e)this._settledAt(Je._state,ge,Je._result);else if(typeof f!="function")this._remaining--,this._result[ge]=Je;else if(me===dt){var S=new me(ue);v?ye(S,o):X(S,Je,f),this._willSettleAt(S,ge)}else this._willSettleAt(new me(function(W){return W(Je)}),ge)}else this._willSettleAt(Ue(Je),ge)},ke.prototype._settledAt=function(Je,ge,me){var Ue=this.promise;Ue._state===_e&&(this._remaining--,Je===2?ye(Ue,me):this._result[ge]=me),this._remaining===0&&Ye(Ue,this._result)},ke.prototype._willSettleAt=function(Je,ge){var me=this;Pe(Je,void 0,function(Ue){return me._settledAt(1,ge,Ue)},function(Ue){return me._settledAt(2,ge,Ue)})},ke}(),dt=function(){function ke(Je){this[ee]=ve++,this._result=this._state=void 0,this._subscribers=[],ue!==Je&&(typeof Je!="function"&&function(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}(),this instanceof ke?function(ge,me){try{me(function(Ue){Ae(ge,Ue)},function(Ue){ye(ge,Ue)})}catch(Ue){ye(ge,Ue)}}(this,Je):function(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}())}return ke.prototype.catch=function(Je){return this.then(null,Je)},ke.prototype.finally=function(Je){var ge=this,me=ge.constructor;return ae(Je)?ge.then(function(Ue){return me.resolve(Je()).then(function(){return Ue})},function(Ue){return me.resolve(Je()).then(function(){throw Ue})}):ge.then(Je,Je)},ke}();return dt.prototype.then=re,dt.all=function(ke){return new _t(this,ke).promise},dt.race=function(ke){var Je=this;return T(ke)?new Je(function(ge,me){for(var Ue=ke.length,f=0;f<Ue;f++)Je.resolve(ke[f]).then(ge,me)}):new Je(function(ge,me){return me(new TypeError("You must pass an array to race."))})},dt.resolve=H,dt.reject=function(ke){var Je=new this(ue);return ye(Je,ke),Je},dt._setScheduler=function(ke){y=ke},dt._setAsap=function(ke){p=ke},dt._asap=p,dt.polyfill=function(){var ke=void 0;if(P.g!==void 0)ke=P.g;else if(typeof self<"u")ke=self;else try{ke=Function("return this")()}catch{throw new Error("polyfill failed because global object is unavailable in this environment")}var Je=ke.Promise;if(Je){var ge=null;try{ge=Object.prototype.toString.call(Je.resolve())}catch{}if(ge==="[object Promise]"&&!Je.cast)return}ke.Promise=dt},dt.Promise=dt,dt}()},1159:function(at){var we,P=typeof Reflect=="object"?Reflect:null,ae=P&&typeof P.apply=="function"?P.apply:function(k,q,F){return Function.prototype.apply.call(k,q,F)};we=P&&typeof P.ownKeys=="function"?P.ownKeys:Object.getOwnPropertySymbols?function(k){return Object.getOwnPropertyNames(k).concat(Object.getOwnPropertySymbols(k))}:function(k){return Object.getOwnPropertyNames(k)};var T=Number.isNaN||function(k){return k!=k};function t(){t.init.call(this)}at.exports=t,at.exports.once=function(k,q){return new Promise(function(F,$){function O(re){k.removeListener(q,K),$(re)}function K(){typeof k.removeListener=="function"&&k.removeListener("error",O),F([].slice.call(arguments))}I(k,q,K,{once:!0}),q!=="error"&&function(re,H,ee){typeof re.on=="function"&&I(re,"error",H,{once:!0})}(k,O)})},t.EventEmitter=t,t.prototype._events=void 0,t.prototype._eventsCount=0,t.prototype._maxListeners=void 0;var e=10;function y(k){if(typeof k!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof k)}function p(k){return k._maxListeners===void 0?t.defaultMaxListeners:k._maxListeners}function u(k,q,F,$){var O,K,re,H;if(y(F),(K=k._events)===void 0?(K=k._events=Object.create(null),k._eventsCount=0):(K.newListener!==void 0&&(k.emit("newListener",q,F.listener?F.listener:F),K=k._events),re=K[q]),re===void 0)re=K[q]=F,++k._eventsCount;else if(typeof re=="function"?re=K[q]=$?[F,re]:[re,F]:$?re.unshift(F):re.push(F),(O=p(k))>0&&re.length>O&&!re.warned){re.warned=!0;var ee=new Error("Possible EventEmitter memory leak detected. "+re.length+" "+String(q)+" listeners added. Use emitter.setMaxListeners() to increase limit");ee.name="MaxListenersExceededWarning",ee.emitter=k,ee.type=q,ee.count=re.length,H=ee,console&&console.warn&&console.warn(H)}return k}function _(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function m(k,q,F){var $={fired:!1,wrapFn:void 0,target:k,type:q,listener:F},O=_.bind($);return O.listener=F,$.wrapFn=O,O}function n(k,q,F){var $=k._events;if($===void 0)return[];var O=$[q];return O===void 0?[]:typeof O=="function"?F?[O.listener||O]:[O]:F?function(K){for(var re=new Array(K.length),H=0;H<re.length;++H)re[H]=K[H].listener||K[H];return re}(O):d(O,O.length)}function c(k){var q=this._events;if(q!==void 0){var F=q[k];if(typeof F=="function")return 1;if(F!==void 0)return F.length}return 0}function d(k,q){for(var F=new Array(q),$=0;$<q;++$)F[$]=k[$];return F}function I(k,q,F,$){if(typeof k.on=="function")$.once?k.once(q,F):k.on(q,F);else{if(typeof k.addEventListener!="function")throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof k);k.addEventListener(q,function O(K){$.once&&k.removeEventListener(q,O),F(K)})}}Object.defineProperty(t,"defaultMaxListeners",{enumerable:!0,get:function(){return e},set:function(k){if(typeof k!="number"||k<0||T(k))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+k+".");e=k}}),t.init=function(){this._events!==void 0&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},t.prototype.setMaxListeners=function(k){if(typeof k!="number"||k<0||T(k))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+k+".");return this._maxListeners=k,this},t.prototype.getMaxListeners=function(){return p(this)},t.prototype.emit=function(k){for(var q=[],F=1;F<arguments.length;F++)q.push(arguments[F]);var $=k==="error",O=this._events;if(O!==void 0)$=$&&O.error===void 0;else if(!$)return!1;if($){var K;if(q.length>0&&(K=q[0]),K instanceof Error)throw K;var re=new Error("Unhandled error."+(K?" ("+K.message+")":""));throw re.context=K,re}var H=O[k];if(H===void 0)return!1;if(typeof H=="function")ae(H,this,q);else{var ee=H.length,ue=d(H,ee);for(F=0;F<ee;++F)ae(ue[F],this,q)}return!0},t.prototype.addListener=function(k,q){return u(this,k,q,!1)},t.prototype.on=t.prototype.addListener,t.prototype.prependListener=function(k,q){return u(this,k,q,!0)},t.prototype.once=function(k,q){return y(q),this.on(k,m(this,k,q)),this},t.prototype.prependOnceListener=function(k,q){return y(q),this.prependListener(k,m(this,k,q)),this},t.prototype.removeListener=function(k,q){var F,$,O,K,re;if(y(q),($=this._events)===void 0)return this;if((F=$[k])===void 0)return this;if(F===q||F.listener===q)--this._eventsCount==0?this._events=Object.create(null):(delete $[k],$.removeListener&&this.emit("removeListener",k,F.listener||q));else if(typeof F!="function"){for(O=-1,K=F.length-1;K>=0;K--)if(F[K]===q||F[K].listener===q){re=F[K].listener,O=K;break}if(O<0)return this;O===0?F.shift():function(H,ee){for(;ee+1<H.length;ee++)H[ee]=H[ee+1];H.pop()}(F,O),F.length===1&&($[k]=F[0]),$.removeListener!==void 0&&this.emit("removeListener",k,re||q)}return this},t.prototype.off=t.prototype.removeListener,t.prototype.removeAllListeners=function(k){var q,F,$;if((F=this._events)===void 0)return this;if(F.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):F[k]!==void 0&&(--this._eventsCount==0?this._events=Object.create(null):delete F[k]),this;if(arguments.length===0){var O,K=Object.keys(F);for($=0;$<K.length;++$)(O=K[$])!=="removeListener"&&this.removeAllListeners(O);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(typeof(q=F[k])=="function")this.removeListener(k,q);else if(q!==void 0)for($=q.length-1;$>=0;$--)this.removeListener(k,q[$]);return this},t.prototype.listeners=function(k){return n(this,k,!0)},t.prototype.rawListeners=function(k){return n(this,k,!1)},t.listenerCount=function(k,q){return typeof k.listenerCount=="function"?k.listenerCount(q):c.call(k,q)},t.prototype.listenerCount=c,t.prototype.eventNames=function(){return this._eventsCount>0?we(this._events):[]}},3101:function(at){var we=Array.isArray,P=Object.keys,ae=Object.prototype.hasOwnProperty;at.exports=function T(t,e){if(t===e)return!0;if(t&&e&&typeof t=="object"&&typeof e=="object"){var y,p,u,_=we(t),m=we(e);if(_&&m){if((p=t.length)!=e.length)return!1;for(y=p;y--!=0;)if(!T(t[y],e[y]))return!1;return!0}if(_!=m)return!1;var n=t instanceof Date,c=e instanceof Date;if(n!=c)return!1;if(n&&c)return t.getTime()==e.getTime();var d=t instanceof RegExp,I=e instanceof RegExp;if(d!=I)return!1;if(d&&I)return t.toString()==e.toString();var k=P(t);if((p=k.length)!==P(e).length)return!1;for(y=p;y--!=0;)if(!ae.call(e,k[y]))return!1;for(y=p;y--!=0;)if(!T(t[u=k[y]],e[u]))return!1;return!0}return t!=t&&e!=e}},3362:function(at,we,P){(function(ae,T,t,e,y){function p(o){if("contents"in o)for(var v=("styleAttrs"in o)?o.styleAttrs[e.byName.ruby.qname]:null,S=o.kind==="span"&&(v==="container"||v==="textContainer"||v==="baseContainer"),W=o.contents.length-1;W>=0;W--)!S||"styleAttrs"in o.contents[W]&&e.byName.ruby.qname in o.contents[W].styleAttrs?p(o.contents[W]):delete o.contents[W]}function u(o,v,S,W){var V=W&&W.timeContainer==="seq",Se=0;W&&(Se=V&&S?S.end:W.begin),v.begin=v.explicit_begin?v.explicit_begin+Se:Se;var ze=v.begin,Me=null;if("sets"in v)for(var De=0;De<v.sets.length;De++)u(o,v.sets[De],Me,v),ze=v.timeContainer==="seq"?v.sets[De].end:Math.max(ze,v.sets[De].end),Me=v.sets[De];if("contents"in v){if("contents"in v)for(var be=0;be<v.contents.length;be++)u(o,v.contents[be],Me,v),ze=v.timeContainer==="seq"?v.contents[be].end:Math.max(ze,v.contents[be].end),Me=v.contents[be]}else ze=V?v.begin:Number.POSITIVE_INFINITY;v.explicit_end!==null&&v.explicit_dur!==null?v.end=Math.min(v.begin+v.explicit_dur,Se+v.explicit_end):v.explicit_end===null&&v.explicit_dur!==null?v.end=v.begin+v.explicit_dur:v.explicit_end!==null&&v.explicit_dur===null?v.end=Se+v.explicit_end:v.end=ze,delete v.explicit_begin,delete v.explicit_dur,delete v.explicit_end,o._registerEvent(v)}function _(o){this.node=o}function m(){this.events=[],this.head=new n,this.body=null}function n(){this.styling=new c,this.layout=new k}function c(){this.styles={},this.initials={}}function d(){this.id=null,this.styleAttrs=null,this.styleRefs=null}function I(){this.styleAttrs=null}function k(){this.regions={}}function q(o,v){F.call(this,"image"),this.src=o,this.type=v}function F(o){this.kind=o}function $(o){this.id=o}function O(o){this.regionID=o}function K(o){this.styleAttrs=o}function re(o){this.sets=o}function H(o){this.contents=o}function ee(o,v,S){this.explicit_begin=o,this.explicit_end=v,this.explicit_dur=S}function ue(){F.call(this,"body")}function _e(){F.call(this,"div")}function X(){F.call(this,"p")}function Ae(){F.call(this,"span")}function Le(){F.call(this,"span")}function Ye(){F.call(this,"br")}function ye(){}function Pe(){}function He(o){return o&&"xml:id"in o.attributes&&o.attributes["xml:id"].value||null}function tt(o){return o&&"style"in o.attributes?o.attributes.style.value.split(" "):[]}function ve(o,v){var S={};if(o!==null)for(var W in o.attributes){var V=o.attributes[W].uri+" "+o.attributes[W].local,Se=e.byQName[V];if(Se!==void 0){var ze=Se.parse(o.attributes[W].value);ze!==null?(S[V]=ze,Se===e.byName.zIndex&&ge(v,"zIndex attribute present but not used by IMSC1 since regions do not overlap")):me(v,"Cannot parse styling attribute "+V+" --> "+o.attributes[W].value)}}return S}function Oe(o,v,S){for(var W in o.attributes)if(o.attributes[W].uri===v&&o.attributes[W].local===S)return o.attributes[W].value;return null}function _t(o,v,S){var W,V=null;return(W=/^(\d+(?:\.\d+)?)f$/.exec(S))!==null?v!==null&&(V=parseFloat(W[1])/v):(W=/^(\d+(?:\.\d+)?)t$/.exec(S))!==null?o!==null&&(V=parseFloat(W[1])/o):(W=/^(\d+(?:\.\d+)?)ms$/.exec(S))!==null?V=parseFloat(W[1])/1e3:(W=/^(\d+(?:\.\d+)?)s$/.exec(S))!==null?V=parseFloat(W[1]):(W=/^(\d+(?:\.\d+)?)h$/.exec(S))!==null?V=3600*parseFloat(W[1]):(W=/^(\d+(?:\.\d+)?)m$/.exec(S))!==null?V=60*parseFloat(W[1]):(W=/^(\d{2,}):(\d\d):(\d\d(?:\.\d+)?)$/.exec(S))!==null?V=3600*parseInt(W[1])+60*parseInt(W[2])+parseFloat(W[3]):(W=/^(\d{2,}):(\d\d):(\d\d)\:(\d{2,})$/.exec(S))!==null&&v!==null&&(V=3600*parseInt(W[1])+60*parseInt(W[2])+parseInt(W[3])+(W[4]===null?0:parseInt(W[4])/v)),V}function dt(o,v,S){for(;v.styleRefs.length>0;){var W=v.styleRefs.pop();W in o.styles?(dt(o,o.styles[W],S),Je(o.styles[W].styleAttrs,v.styleAttrs)):me(S,"Non-existant style id referenced")}}function ke(o,v,S,W){for(var V=v.length-1;V>=0;V--){var Se=v[V];Se in o.styles?Je(o.styles[Se].styleAttrs,S):me(W,"Non-existant style id referenced")}}function Je(o,v){for(var S in o)o.hasOwnProperty(S)&&(S in v||(v[S]=o[S]))}function ge(o,v){if(o&&o.warn&&o.warn(v))throw v}function me(o,v){if(o&&o.error&&o.error(v))throw v}function Ue(o,v){throw o&&o.fatal&&o.fatal(v),v}function f(o,v){for(var S,W=0,V=o.length-1;W<=V;){var Se=o[S=Math.floor((W+V)/2)];if(Se<v)W=S+1;else{if(!(Se>v))return{found:!0,index:S};V=S-1}}return{found:!1,index:W}}ae.fromXML=function(o,v,S){var W=T.parser(!0,{xmlns:!0}),V=[],Se=[],ze=[],Me=0,De=null;W.onclosetag=function(it){if(V[0]instanceof ye)De.head!==null&&De.head.styling!==null&&ke(De.head.styling,V[0].styleRefs,V[0].styleAttrs,v),delete V[0].styleRefs;else if(V[0]instanceof c)for(var Ut in V[0].styles)V[0].styles.hasOwnProperty(Ut)&&dt(V[0],V[0].styles[Ut],v);else if(V[0]instanceof X||V[0]instanceof Ae){if(V[0].contents.length>1){var It,Ft=[V[0].contents[0]];for(It=1;It<V[0].contents.length;It++)V[0].contents[It]instanceof Le&&Ft[Ft.length-1]instanceof Le?Ft[Ft.length-1].text+=V[0].contents[It].text:Ft.push(V[0].contents[It]);V[0].contents=Ft}V[0]instanceof Ae&&V[0].contents.length===1&&V[0].contents[0]instanceof Le&&(V[0].text=V[0].contents[0].text,delete V[0].contents)}else V[0]instanceof _&&(V[0].node.uri===t.ns_tt&&V[0].node.local==="metadata"?Me--:Me>0&&S&&"onCloseTag"in S&&S.onCloseTag());ze.shift(),Se.shift(),V.shift()},W.ontext=function(it){if(V[0]!==void 0)if(V[0]instanceof Ae||V[0]instanceof X){if(V[0]instanceof Ae){var Ut=V[0].styleAttrs[e.byName.ruby.qname];if(Ut==="container"||Ut==="textContainer"||Ut==="baseContainer")return}var It=new Le;It.initFromText(De,V[0],it,Se[0],ze[0],v),V[0].contents.push(It)}else V[0]instanceof _&&Me>0&&S&&"onText"in S&&S.onText(it)},W.onopentag=function(it){var Ut=it.attributes["xml:space"];Ut?ze.unshift(Ut.value):ze.length===0?ze.unshift("default"):ze.unshift(ze[0]);var It=it.attributes["xml:lang"];if(It?Se.unshift(It.value):Se.length===0?Se.unshift(""):Se.unshift(Se[0]),it.uri===t.ns_tt)if(it.local==="tt")De!==null&&Ue(v,"Two <tt> elements at ("+this.line+","+this.column+")"),(De=new m).initFromNode(it,Se[0],v),V.unshift(De);else if(it.local==="head")V[0]instanceof m||Ue(v,"Parent of <head> element is not <tt> at ("+this.line+","+this.column+")"),V.unshift(De.head);else if(it.local==="styling")V[0]instanceof n||Ue(v,"Parent of <styling> element is not <head> at ("+this.line+","+this.column+")"),V.unshift(De.head.styling);else if(it.local==="style"){var Ft;V[0]instanceof c?((Ft=new d).initFromNode(it,v),Ft.id?De.head.styling.styles[Ft.id]=Ft:me(v,"<style> element missing @id attribute"),V.unshift(Ft)):V[0]instanceof ye?((Ft=new d).initFromNode(it,v),Je(Ft.styleAttrs,V[0].styleAttrs),V.unshift(Ft)):Ue(v,"Parent of <style> element is not <styling> or <region> at ("+this.line+","+this.column+")")}else if(it.local==="initial"){var Pt;if(V[0]instanceof c){for(var tn in(Pt=new I).initFromNode(it,v),Pt.styleAttrs)Pt.styleAttrs.hasOwnProperty(tn)&&(De.head.styling.initials[tn]=Pt.styleAttrs[tn]);V.unshift(Pt)}else Ue(v,"Parent of <initial> element is not <styling> at ("+this.line+","+this.column+")")}else if(it.local==="layout")V[0]instanceof n||Ue(v,"Parent of <layout> element is not <head> at "+this.line+","+this.column+")"),V.unshift(De.head.layout);else if(it.local==="region"){V[0]instanceof k||Ue(v,"Parent of <region> element is not <layout> at "+this.line+","+this.column+")");var dn=new ye;dn.initFromNode(De,it,Se[0],v),!dn.id||dn.id in De.head.layout.regions?me(v,"Ignoring <region> with duplicate or missing @id at "+this.line+","+this.column+")"):De.head.layout.regions[dn.id]=dn,V.unshift(dn)}else if(it.local==="body"){V[0]instanceof m||Ue(v,"Parent of <body> element is not <tt> at "+this.line+","+this.column+")"),De.body!==null&&Ue(v,"Second <body> element at "+this.line+","+this.column+")");var An=new ue;An.initFromNode(De,it,Se[0],v),De.body=An,V.unshift(An)}else if(it.local==="div"){V[0]instanceof _e||V[0]instanceof ue||Ue(v,"Parent of <div> element is not <body> or <div> at "+this.line+","+this.column+")");var _n=new _e;_n.initFromNode(De,V[0],it,Se[0],v);var Rn=_n.styleAttrs[e.byName.backgroundImage.qname];Rn&&(_n.contents.push(new q(Rn)),delete _n.styleAttrs[e.byName.backgroundImage.qname]),V[0].contents.push(_n),V.unshift(_n)}else if(it.local==="image"){V[0]instanceof _e||Ue(v,"Parent of <image> element is not <div> at "+this.line+","+this.column+")");var qn=new q;qn.initFromNode(De,V[0],it,Se[0],v),V[0].contents.push(qn),V.unshift(qn)}else if(it.local==="p"){V[0]instanceof _e||Ue(v,"Parent of <p> element is not <div> at "+this.line+","+this.column+")");var yn=new X;yn.initFromNode(De,V[0],it,Se[0],v),V[0].contents.push(yn),V.unshift(yn)}else if(it.local==="span"){V[0]instanceof Ae||V[0]instanceof X||Ue(v,"Parent of <span> element is not <span> or <p> at "+this.line+","+this.column+")");var Qn=new Ae;Qn.initFromNode(De,V[0],it,Se[0],ze[0],v),V[0].contents.push(Qn),V.unshift(Qn)}else if(it.local==="br"){V[0]instanceof Ae||V[0]instanceof X||Ue(v,"Parent of <br> element is not <span> or <p> at "+this.line+","+this.column+")");var xn=new Ye;xn.initFromNode(De,V[0],it,Se[0],v),V[0].contents.push(xn),V.unshift(xn)}else if(it.local==="set"){V[0]instanceof Ae||V[0]instanceof X||V[0]instanceof _e||V[0]instanceof ue||V[0]instanceof ye||V[0]instanceof Ye||Ue(v,"Parent of <set> element is not a content element or a region at "+this.line+","+this.column+")");var Vn=new Pe;Vn.initFromNode(De,V[0],it,v),V[0].sets.push(Vn),V.unshift(Vn)}else V.unshift(new _(it));else V.unshift(new _(it));if(V[0]instanceof _){if(it.uri===t.ns_tt&&it.local==="metadata")Me++;else if(Me>0&&S&&"onOpenTag"in S){var er=[];for(var Kn in it.attributes)er[it.attributes[Kn].uri+" "+it.attributes[Kn].local]={uri:it.attributes[Kn].uri,local:it.attributes[Kn].local,value:it.attributes[Kn].value};S.onOpenTag(it.uri,it.local,er)}}},W.write(o).close(),delete De.head.styling.styles;var be=!1;for(var xe in De.head.layout.regions)if(De.head.layout.regions.hasOwnProperty(xe)){be=!0;break}if(!be){var Qe=ye.prototype.createDefaultRegion(De.lang);De.head.layout.regions[Qe.id]=Qe}for(var mt in De.head.layout.regions)De.head.layout.regions.hasOwnProperty(mt)&&u(De,De.head.layout.regions[mt],null,null);return De.body&&u(De,De.body,null,null),De.body&&p(De.body),De},m.prototype.initFromNode=function(o,v,S){var W=function(Me,De){var be=Oe(Me,t.ns_ttp,"cellResolution"),xe=15,Qe=32;if(be!==null){var mt=/(\d+) (\d+)/.exec(be);mt!==null?(Qe=parseInt(mt[1]),xe=parseInt(mt[2])):ge(De,"Malformed cellResolution value (using initial value instead)")}return{w:Qe,h:xe}}(o,S);this.cellLength={h:new y.ComputedLength(0,1/W.h),w:new y.ComputedLength(1/W.w,0)};var V=function(Me,De){var be,xe=Oe(Me,t.ns_ttp,"frameRate"),Qe=30;xe!==null&&((be=/(\d+)/.exec(xe))!==null?Qe=parseInt(be[1]):ge(De,"Malformed frame rate attribute (using initial value instead)"));var mt=Oe(Me,t.ns_ttp,"frameRateMultiplier"),it=1;mt!==null&&((be=/(\d+) (\d+)/.exec(mt))!==null?it=parseInt(be[1])/parseInt(be[2]):ge(De,"Malformed frame rate multiplier attribute (using initial value instead)"));var Ut=it*Qe,It=1,Ft=Oe(Me,t.ns_ttp,"tickRate");return Ft===null?xe!==null&&(It=Ut):(be=/(\d+)/.exec(Ft))!==null?It=parseInt(be[1]):ge(De,"Malformed tick rate attribute (using initial value instead)"),{effectiveFrameRate:Ut,tickRate:It}}(o,S);this.effectiveFrameRate=V.effectiveFrameRate,this.tickRate=V.tickRate,this.aspectRatio=function(Me,De){var be=Oe(Me,t.ns_ittp,"aspectRatio");be===null&&(be=Oe(Me,t.ns_ttp,"displayAspectRatio"));var xe=null;if(be!==null){var Qe=/(\d+)\s+(\d+)/.exec(be);if(Qe!==null){var mt=parseInt(Qe[1]),it=parseInt(Qe[2]);mt!==0&&it!==0?xe=mt/it:me(De,"Illegal aspectRatio values (ignoring)")}else me(De,"Malformed aspectRatio attribute (ignoring)")}return xe}(o,S);var Se=Oe(o,t.ns_ttp,"timeBase");Se!==null&&Se!=="media"&&Ue(S,"Unsupported time base");var ze=function(Me,De){var be=Oe(Me,t.ns_tts,"extent");if(be===null)return null;var xe=be.split(" ");if(xe.length!==2)return ge(De,"Malformed extent (ignoring)"),null;var Qe=y.parseLength(xe[0]),mt=y.parseLength(xe[1]);return mt&&Qe?{h:mt,w:Qe}:(ge(De,"Malformed extent values (ignoring)"),null)}(o,S);ze===null?this.pxLength={h:null,w:null}:(ze.h.unit==="px"&&ze.w.unit==="px"||Ue(S,"Extent on TT must be in px or absent"),this.pxLength={h:new y.ComputedLength(0,1/ze.h.value),w:new y.ComputedLength(1/ze.w.value,0)}),this.dimensions={h:new y.ComputedLength(0,1),w:new y.ComputedLength(1,0)},this.lang=v},m.prototype._registerEvent=function(o){if(!(o.end<=o.begin)){var v=f(this.events,o.begin);if(v.found||this.events.splice(v.index,0,o.begin),o.end!==Number.POSITIVE_INFINITY){var S=f(this.events,o.end);S.found||this.events.splice(S.index,0,o.end)}}},m.prototype.getMediaTimeRange=function(){return[this.events[0],this.events[this.events.length-1]]},m.prototype.getMediaTimeEvents=function(){return this.events},d.prototype.initFromNode=function(o,v){this.id=He(o),this.styleAttrs=ve(o,v),this.styleRefs=tt(o)},I.prototype.initFromNode=function(o,v){for(var S in this.styleAttrs={},o.attributes)if(o.attributes[S].uri===t.ns_itts||o.attributes[S].uri===t.ns_ebutts||o.attributes[S].uri===t.ns_tts){var W=o.attributes[S].uri+" "+o.attributes[S].local;this.styleAttrs[W]=o.attributes[S].value}},q.prototype.initFromNode=function(o,v,S,W,V){this.src="src"in S.attributes?S.attributes.src.value:null,this.src||me(V,"Invalid image@src attribute"),this.type="type"in S.attributes?S.attributes.type.value:null,this.type||me(V,"Invalid image@type attribute"),K.prototype.initFromNode.call(this,o,v,S,V),ee.prototype.initFromNode.call(this,o,v,S,V),re.prototype.initFromNode.call(this,o,v,S,V),O.prototype.initFromNode.call(this,o,v,S,V),this.lang=W},$.prototype.initFromNode=function(o,v,S,W){this.id=He(S)},O.prototype.initFromNode=function(o,v,S,W){this.regionID=function(V){return V&&"region"in V.attributes?V.attributes.region.value:""}(S)},K.prototype.initFromNode=function(o,v,S,W){this.styleAttrs=ve(S,W),o.head!==null&&o.head.styling!==null&&ke(o.head.styling,tt(S),this.styleAttrs,W)},re.prototype.initFromNode=function(o,v,S,W){this.sets=[]},H.prototype.initFromNode=function(o,v,S,W){this.contents=[]},ee.prototype.initFromNode=function(o,v,S,W){var V=function(Se,ze,Me,De){var be=null;Me&&"begin"in Me.attributes&&(be=_t(Se.tickRate,Se.effectiveFrameRate,Me.attributes.begin.value))===null&&ge(De,"Malformed begin value "+Me.attributes.begin.value+" (using 0)");var xe=null;Me&&"dur"in Me.attributes&&(xe=_t(Se.tickRate,Se.effectiveFrameRate,Me.attributes.dur.value))===null&&ge(De,"Malformed dur value "+Me.attributes.dur.value+" (ignoring)");var Qe=null;return Me&&"end"in Me.attributes&&(Qe=_t(Se.tickRate,Se.effectiveFrameRate,Me.attributes.end.value))===null&&ge(De,"Malformed end value (ignoring)"),{explicit_begin:be,explicit_end:Qe,explicit_dur:xe}}(o,0,S,W);this.explicit_begin=V.explicit_begin,this.explicit_end=V.explicit_end,this.explicit_dur=V.explicit_dur,this.timeContainer=function(Se,ze){var Me=Se&&"timeContainer"in Se.attributes?Se.attributes.timeContainer.value:null;return Me&&Me!=="par"?Me==="seq"?"seq":(me(ze,"Illegal value of timeContainer (assuming 'par')"),"par"):"par"}(S,W)},ue.prototype.initFromNode=function(o,v,S,W){K.prototype.initFromNode.call(this,o,null,v,W),ee.prototype.initFromNode.call(this,o,null,v,W),re.prototype.initFromNode.call(this,o,null,v,W),O.prototype.initFromNode.call(this,o,null,v,W),H.prototype.initFromNode.call(this,o,null,v,W),this.lang=S},_e.prototype.initFromNode=function(o,v,S,W,V){K.prototype.initFromNode.call(this,o,v,S,V),ee.prototype.initFromNode.call(this,o,v,S,V),re.prototype.initFromNode.call(this,o,v,S,V),O.prototype.initFromNode.call(this,o,v,S,V),H.prototype.initFromNode.call(this,o,v,S,V),this.lang=W},X.prototype.initFromNode=function(o,v,S,W,V){K.prototype.initFromNode.call(this,o,v,S,V),ee.prototype.initFromNode.call(this,o,v,S,V),re.prototype.initFromNode.call(this,o,v,S,V),O.prototype.initFromNode.call(this,o,v,S,V),H.prototype.initFromNode.call(this,o,v,S,V),this.lang=W},Ae.prototype.initFromNode=function(o,v,S,W,V,Se){K.prototype.initFromNode.call(this,o,v,S,Se),ee.prototype.initFromNode.call(this,o,v,S,Se),re.prototype.initFromNode.call(this,o,v,S,Se),O.prototype.initFromNode.call(this,o,v,S,Se),H.prototype.initFromNode.call(this,o,v,S,Se),this.space=V,this.lang=W},Le.prototype.initFromText=function(o,v,S,W,V,Se){ee.prototype.initFromNode.call(this,o,v,null,Se),this.text=S,this.space=V,this.lang=W},Ye.prototype.initFromNode=function(o,v,S,W,V){O.prototype.initFromNode.call(this,o,v,S,V),ee.prototype.initFromNode.call(this,o,v,S,V),this.lang=W},ye.prototype.createDefaultRegion=function(o){var v=new ye;return $.call(v,""),K.call(v,{}),re.call(v,[]),ee.call(v,0,Number.POSITIVE_INFINITY,null),this.lang=o,v},ye.prototype.initFromNode=function(o,v,S,W){$.prototype.initFromNode.call(this,o,null,v,W),ee.prototype.initFromNode.call(this,o,null,v,W),re.prototype.initFromNode.call(this,o,null,v,W),this.styleAttrs=ve(v,W),this.styleRefs=tt(v),this.lang=S},Pe.prototype.initFromNode=function(o,v,S,W){ee.prototype.initFromNode.call(this,o,v,S,W);var V=ve(S,W);for(var Se in this.qname=null,this.value=null,V)if(V.hasOwnProperty(Se)){if(this.qname){me(W,"More than one style specified on set");break}this.qname=Se,this.value=V[Se]}}})(we,typeof sax>"u"?P(5378):sax,typeof imscNames>"u"?P(210):imscNames,typeof imscStyles>"u"?P(6811):imscStyles,typeof imscUtils>"u"?P(5926):imscUtils)},506:function(at,we,P){var ae=/firefox/i.test(navigator.userAgent);(function(T,t,e){function y(H,ee,ue,_e){var X;if(ue.kind==="region")(X=document.createElement("div")).style.position="absolute";else if(ue.kind==="body")X=document.createElement("div");else if(ue.kind==="div")X=document.createElement("div");else if(ue.kind==="image"){if(X=document.createElement("img"),H.imgResolver!==null&&ue.src!==null){var Ae=H.imgResolver(ue.src,X);Ae&&(X.src=Ae),X.height=H.regionH,X.width=H.regionW}}else if(ue.kind==="p")X=document.createElement("p");else if(ue.kind==="span")if(ue.styleAttrs[e.byName.ruby.qname]==="container")X=document.createElement("ruby"),H.ruby=!0;else if(ue.styleAttrs[e.byName.ruby.qname]==="base")X=document.createElement("span");else if(ue.styleAttrs[e.byName.ruby.qname]==="text")X=document.createElement("rt");else if(ue.styleAttrs[e.byName.ruby.qname]==="baseContainer")X=document.createElement("rbc");else if(ue.styleAttrs[e.byName.ruby.qname]==="textContainer")X=document.createElement("rtc");else{if(ue.styleAttrs[e.byName.ruby.qname]==="delimiter")return;X=document.createElement("span")}else ue.kind==="br"&&(X=document.createElement("br"));if(X){if(ue.lang&&(ue.kind!=="region"&&ue.lang===_e.lang||(X.lang=ue.lang)),ee.appendChild(X),X.style.margin="0",ue.kind==="region"){var Le=ue.styleAttrs[e.byName.writingMode.qname];Le==="lrtb"||Le==="lr"?(H.ipd="lr",H.bpd="tb"):Le==="rltb"||Le==="rl"?(H.ipd="rl",H.bpd="tb"):Le==="tblr"?(H.ipd="tb",H.bpd="lr"):Le!=="tbrl"&&Le!=="tb"||(H.ipd="tb",H.bpd="rl")}else if(ue.kind==="p"&&H.bpd==="tb"){var Ye=ue.styleAttrs[e.byName.direction.qname];H.ipd=Ye==="ltr"?"lr":"rl"}for(var ye=0;ye<I.length;ye++){var Pe=I[ye],He=ue.styleAttrs[Pe.qname];He!==void 0&&Pe.map!==null&&Pe.map(H,X,ue,He)}var tt=X,ve=ue.styleAttrs[e.byName.linePadding.qname];if(ve&&!ve.isZero()){var Oe=ve.toUsedLength(H.w,H.h);if(Oe>0){var _t=Math.ceil(Oe)+"px";H.bpd==="tb"?(tt.style.paddingLeft=_t,tt.style.paddingRight=_t):(tt.style.paddingTop=_t,tt.style.paddingBottom=_t),H.lp=ve}}var dt=ue.styleAttrs[e.byName.multiRowAlign.qname];if(dt&&dt!=="auto"){var ke=document.createElement("span");ke.style.display="inline-block",ke.style.textAlign=dt,X.appendChild(ke),tt=ke,H.mra=dt}var Je=ue.styleAttrs[e.byName.rubyReserve.qname];if(Je&&Je[0]!=="none"&&(H.rubyReserve=Je),ue.styleAttrs[e.byName.fillLineGap.qname]&&(H.flg=!0),ue.kind==="span"&&ue.text){var ge=ue.styleAttrs[e.byName.textEmphasis.qname];if(ge&&ge.style!=="none"&&(H.textEmphasis=!0),e.byName.textCombine.qname in ue.styleAttrs&&ue.styleAttrs[e.byName.textCombine.qname]==="all")X.textContent=ue.text,X._isd_element=ue,ge&&c(H,X,0,ge);else for(var me="",Ue=0;Ue<ue.text.length;Ue++){me+=ue.text.charAt(Ue);var f=ue.text.charCodeAt(Ue);if(f<55296||f>56319||Ue===ue.text.length-1){var o=document.createElement("span");o.textContent=me,ge&&c(H,o,0,ge),X.appendChild(o),me="",o._isd_element=ue}}}if("contents"in ue)for(var v=0;v<ue.contents.length;v++)y(H,tt,ue.contents[v],ue);var S=[];if(ue.kind==="p"&&(n(H,tt,S,null),H.rubyReserve&&(function(Me,De){for(var be=0;be<Me.length;be++){var xe,Qe,mt=document.createElement("ruby"),it=document.createElement("span");it.textContent="​",mt.appendChild(it);var Ut,It=De.rubyReserve[1].toUsedLength(De.w,De.h)+"px";De.rubyReserve[0]==="both"||De.rubyReserve[0]==="outside"&&Me.length==1?((xe=document.createElement("rtc")).style[$]=F?"after":"under",xe.textContent="​",xe.style.fontSize=It,(Qe=document.createElement("rtc")).style[$]=F?"before":"over",Qe.textContent="​",Qe.style.fontSize=It,mt.appendChild(xe),mt.appendChild(Qe)):((xe=document.createElement("rtc")).textContent="​",xe.style.fontSize=It,Ut=De.rubyReserve[0]==="after"||De.rubyReserve[0]==="outside"&&be>0?F?"after":De.bpd==="tb"||De.bpd==="rl"?"under":"over":F?"before":De.bpd==="tb"||De.bpd==="rl"?"over":"under",xe.style[$]=Ut,mt.appendChild(xe));for(var Ft=null,Pt=0;Pt<Me[be].rbc.length;Pt++)if(Me[be].rbc[Pt].localName==="ruby"){Ft=Me[be].rbc[Pt];for(var tn=0;tn<Ft.style.length;tn++)mt.style.setProperty(Ft.style.item(tn),Ft.style.getPropertyValue(Ft.style.item(tn)));break}(Ft=Ft||Me[be].elements[0].node).parentElement.insertBefore(mt,Ft)}}(S,H),H.rubyReserve=null),(H.ruby||H.rubyReserve)&&(function(Me,De){for(var be=0;be<Me.length;be++)for(var xe=0;xe<Me[be].rbc.length;xe++){var Qe;Me[be].rbc[xe].style[$]||(Qe=F?be===0?"before":"after":De.bpd==="tb"||De.bpd==="rl"?be===0?"over":"under":be===0?"under":"over",Me[be].rbc[xe].style[$]=Qe)}}(S,H),H.ruby=null),H.textEmphasis&&(function(Me,De){for(var be=0;be<Me.length;be++)for(var xe=0;xe<Me[be].te.length;xe++){var Qe;Me[be].te[xe].style[K]&&Me[be].te[xe].style[K]!=="none"||(Qe=De.bpd==="tb"?be===0?"left over":"left under":De.bpd==="rl"?be===0?"right under":"left under":be===0?"left under":"right under",Me[be].te[xe].style[K]=Qe)}}(S,H),H.textEmphasis=null),H.mra&&(function(Me){for(var De=0;De<Me.length-1;De++){var be=Me[De].elements.length;if(be!==0&&Me[De].br===!1){var xe=document.createElement("br"),Qe=Me[De].elements[be-1].node;Qe.parentElement.insertBefore(xe,Qe.nextSibling)}}}(S),H.mra=null),H.lp&&(function(Me,De,be){if(Me!==null)for(var xe=0;xe<Me.length;xe++){var Qe=Me[xe].elements.length,mt=Math.ceil(De)+"px",it="-"+Math.ceil(De)+"px";if(Qe!==0){var Ut=Me[xe].elements[Me[xe].start_elem],It=Me[xe].elements[Me[xe].end_elem];if(Ut===It){var Ft=Ut.node.getBoundingClientRect();if(Ft.width==0||Ft.height==0)continue}be.ipd==="lr"?(Ut.node.style.marginLeft=it,Ut.node.style.paddingLeft=mt):be.ipd==="rl"?(Ut.node.style.paddingRight=mt,Ut.node.style.marginRight=it):be.ipd==="tb"&&(Ut.node.style.paddingTop=mt,Ut.node.style.marginTop=it),be.ipd==="lr"?(ae||(It.node.style.marginRight=it),It.node.style.paddingRight=mt):be.ipd==="rl"?(It.node.style.paddingLeft=mt,ae||(It.node.style.marginLeft=it)):be.ipd==="tb"&&(It.node.style.paddingBottom=mt,It.node.style.marginBottom=it)}}}(S,H.lp.toUsedLength(H.w,H.h),H),H.lp=null),function(Me,De){for(var be=0;be<Me.length;be++)for(var xe=Me[be],Qe=1;Qe<xe.elements.length;){var mt=xe.elements[Qe-1],it=xe.elements[Qe];u(mt.node,it.node,De)?xe.elements.splice(Qe,1):Qe++}for(var Ut,It,Ft=[],Pt=0;Pt<Me.length;Pt++)for(var tn=0;tn<Me[Pt].elements.length;tn++)(It=p(Ut=Me[Pt].elements[tn].node,Ft,!1))&&(Ut.style.backgroundColor=It);for(var dn=0;dn<Ft.length;dn++)Ft[dn].style.backgroundColor=""}(S,H),H.flg)){var W=m(tt.getBoundingClientRect(),H);(function(Me,De,be,xe,Qe){for(var mt=Math.sign(be-De),it=0;it<=Me.length;it++){var Ut,It,Ft,Pt;if(Ut=it===0?Math.round(De):it===Me.length?Math.round(be):Math.round((Me[it-1].after+Me[it].before)/2),it>0&&Me[it-1])for(Ft=0;Ft<Me[it-1].elements.length;Ft++)It=mt*(Ut-(Pt=Me[it-1].elements[Ft]).after)+"px",xe.bpd==="lr"?Pt.node.style.paddingRight=It:xe.bpd==="rl"?Pt.node.style.paddingLeft=It:xe.bpd==="tb"&&(Pt.node.style.paddingBottom=It);if(it<Me.length)for(Ft=0;Ft<Me[it].elements.length;Ft++)It=mt*((Pt=Me[it].elements[Ft]).before-Ut)+"px",xe.bpd==="lr"?Pt.node.style.paddingLeft=It:xe.bpd==="rl"?Pt.node.style.paddingRight=It:xe.bpd==="tb"&&(Pt.node.style.paddingTop=It)}})(S,W.before,W.after,H),H.flg=null}if(ue.kind==="region"&&H.bpd==="tb"&&H.enableRollUp&&ue.contents.length>0&&ue.styleAttrs[e.byName.displayAlign.qname]==="after"){n(H,tt,S,null);var V=new _(ue.id===""?"_":ue.id,S);if(H.currentISDState[V.id]=V,H.previousISDState&&V.id in H.previousISDState&&H.previousISDState[V.id].plist.length>0&&V.plist.length>1&&V.plist[V.plist.length-2].text===H.previousISDState[V.id].plist[H.previousISDState[V.id].plist.length-1].text){var Se=X.firstElementChild,ze=V.plist[V.plist.length-1].after-V.plist[V.plist.length-1].before;Se.style.bottom="-"+ze+"px",Se.style.transition="transform 0.4s",Se.style.position="relative",Se.style.transform="translateY(-"+ze+"px)"}}}else re(H.errorHandler,"Error processing ISD element kind: "+ue.kind)}function p(H,ee,ue){return H.style.backgroundColor?(ue&&!ee.includes(H)&&ee.push(H),H.style.backgroundColor):H.parentElement.nodeName==="SPAN"||H.parentElement.nodeName==="RUBY"||H.parentElement.nodeName==="RBC"||H.parentElement.nodeName==="RTC"||H.parentElement.nodeName==="RT"?p(H.parentElement,ee,!0):void 0}function u(H,ee,ue){if(H.tagName==="SPAN"&&ee.tagName==="SPAN"&&H._isd_element===ee._isd_element){if(!H._isd_element)return re(ue.errorHandler,"Internal error: HTML span is not linked to a source element; cannot merge spans."),!1;H.textContent+=ee.textContent;for(var _e=0;_e<ee.style.length;_e++){var X=ee.style[_e];(X.indexOf("border")>=0||X.indexOf("padding")>=0||X.indexOf("margin")>=0)&&(H.style[X]=ee.style[X])}return ee.parentElement.removeChild(ee),!0}return!1}function _(H,ee){this.id=H,this.plist=ee}function m(H,ee){var ue={before:null,after:null,start:null,end:null};return ee.bpd==="tb"?(ue.before=H.top,ue.after=H.bottom,ee.ipd==="lr"?(ue.start=H.left,ue.end=H.right):(ue.start=H.right,ue.end=H.left)):ee.bpd==="lr"?(ue.before=H.left,ue.after=H.right,ue.start=H.top,ue.end=H.bottom):ee.bpd==="rl"&&(ue.before=H.right,ue.after=H.left,ue.start=H.top,ue.end=H.bottom),ue}function n(H,ee,ue,_e){if(ee.localName!=="rt"&&ee.localName!=="rtc"){var X,Ae,Le,Ye,ye=ee.style.backgroundColor||_e;if(ee.childElementCount===0)if(ee.localName==="span"||ee.localName==="rb"){var Pe=m(ee.getBoundingClientRect(),H);if(ue.length!==0&&(X=Pe.before,Ae=Pe.after,Le=ue[ue.length-1].before,Ae<(Ye=ue[ue.length-1].after)&&X>Le||Ye<=Ae&&Le>=X)){var He=Math.sign(Pe.after-Pe.before),tt=Math.sign(Pe.end-Pe.start);He*(Pe.before-ue[ue.length-1].before)<0&&(ue[ue.length-1].before=Pe.before),He*(Pe.after-ue[ue.length-1].after)>0&&(ue[ue.length-1].after=Pe.after),tt*(Pe.start-ue[ue.length-1].start)<0&&(ue[ue.length-1].start=Pe.start,ue[ue.length-1].start_elem=ue[ue.length-1].elements.length),tt*(Pe.end-ue[ue.length-1].end)>0&&(ue[ue.length-1].end=Pe.end,ue[ue.length-1].end_elem=ue[ue.length-1].elements.length)}else ue.push({before:Pe.before,after:Pe.after,start:Pe.start,end:Pe.end,start_elem:0,end_elem:0,elements:[],rbc:[],te:[],text:"",br:!1});ue[ue.length-1].text+=ee.textContent,ue[ue.length-1].elements.push({node:ee,bgcolor:ye,before:Pe.before,after:Pe.after})}else ee.localName==="br"&&ue.length!==0&&(ue[ue.length-1].br=!0);else for(var ve=ee.firstChild;ve;)ve.nodeType===Node.ELEMENT_NODE&&(n(H,ve,ue,ye),ve.localName==="ruby"||ve.localName==="rtc"?ue.length>0&&ue[ue.length-1].rbc.push(ve):ve.localName==="span"&&ve.style[O]&&ve.style[O]!=="none"&&ue.length>0&&ue[ue.length-1].te.push(ve)),ve=ve.nextSibling}}function c(H,ee,ue,_e){var X;_e.style!=="none"&&(_e.style==="auto"?ee.style[O]="filled":ee.style[O]=_e.style+" "+_e.symbol,(_e.position==="before"||_e.position==="after")&&(X=H.bpd==="tb"?_e.position==="before"?"left over":"left under":H.bpd==="rl"?_e.position==="before"?"right under":"left under":_e.position==="before"?"left under":"right under",ee.style[K]=X))}function d(H,ee){this.qname=H,this.map=ee}T.render=function(H,ee,ue,_e,X,Ae,Le,Ye,ye){var Pe=_e||ee.clientHeight,He=X||ee.clientWidth;if(H.aspectRatio!==null){var tt=Pe*H.aspectRatio;tt>He?Pe=Math.round(He/H.aspectRatio):He=tt}var ve=document.createElement("div");ve.style.position="relative",ve.style.width=He+"px",ve.style.height=Pe+"px",ve.style.margin="auto",ve.style.top=0,ve.style.bottom=0,ve.style.left=0,ve.style.right=0,ve.style.zIndex=0;var Oe={h:Pe,w:He,regionH:null,regionW:null,imgResolver:ue,displayForcedOnlyMode:Ae||!1,isd:H,errorHandler:Le,previousISDState:Ye,enableRollUp:ye||!1,currentISDState:{},flg:null,lp:null,mra:null,ipd:null,bpd:null,ruby:null,textEmphasis:null,rubyReserve:null};if(ee.appendChild(ve),"contents"in H)for(var _t=0;_t<H.contents.length;_t++)y(Oe,ve,H.contents[_t],H);return Oe.currentISDState};for(var I=[new d("http://www.w3.org/ns/ttml#styling backgroundColor",function(H,ee,ue,_e){_e[3]!==0&&(ee.style.backgroundColor="rgba("+_e[0].toString()+","+_e[1].toString()+","+_e[2].toString()+","+(_e[3]/255).toString()+")")}),new d("http://www.w3.org/ns/ttml#styling color",function(H,ee,ue,_e){ee.style.color="rgba("+_e[0].toString()+","+_e[1].toString()+","+_e[2].toString()+","+(_e[3]/255).toString()+")"}),new d("http://www.w3.org/ns/ttml#styling direction",function(H,ee,ue,_e){ee.style.direction=_e}),new d("http://www.w3.org/ns/ttml#styling display",function(H,ee,ue,_e){}),new d("http://www.w3.org/ns/ttml#styling displayAlign",function(H,ee,ue,_e){ee.style.display="flex",ee.style.flexDirection="column",_e==="before"?ee.style.justifyContent="flex-start":_e==="center"?ee.style.justifyContent="center":_e==="after"&&(ee.style.justifyContent="flex-end")}),new d("http://www.w3.org/ns/ttml#styling extent",function(H,ee,ue,_e){H.regionH=_e.h.toUsedLength(H.w,H.h),H.regionW=_e.w.toUsedLength(H.w,H.h);var X=0,Ae=0,Le=ue.styleAttrs["http://www.w3.org/ns/ttml#styling padding"];Le&&(X=Le[0].toUsedLength(H.w,H.h)+Le[2].toUsedLength(H.w,H.h),Ae=Le[1].toUsedLength(H.w,H.h)+Le[3].toUsedLength(H.w,H.h)),ee.style.height=H.regionH-X+"px",ee.style.width=H.regionW-Ae+"px"}),new d("http://www.w3.org/ns/ttml#styling fontFamily",function(H,ee,ue,_e){for(var X=[],Ae=0;Ae<_e.length;Ae++)_e[Ae]=_e[Ae].trim(),_e[Ae]==="monospaceSerif"?(X.push("Courier New"),X.push('"Liberation Mono"'),X.push("Courier"),X.push("monospace")):_e[Ae]==="proportionalSansSerif"?(X.push("Arial"),X.push("Helvetica"),X.push('"Liberation Sans"'),X.push("sans-serif")):_e[Ae]==="monospace"?X.push("monospace"):_e[Ae]==="sansSerif"?X.push("sans-serif"):_e[Ae]==="serif"?X.push("serif"):_e[Ae]==="monospaceSansSerif"?(X.push("Consolas"),X.push("monospace")):_e[Ae]==="proportionalSerif"?X.push("serif"):X.push(_e[Ae]);if(X.length>0){for(var Le=[X[0]],Ye=1;Ye<X.length;Ye++)Le.indexOf(X[Ye])==-1&&Le.push(X[Ye]);X=Le}ee.style.fontFamily=X.join(",")}),new d("http://www.w3.org/ns/ttml#styling shear",function(H,ee,ue,_e){if(_e!==0){var X=-.9*_e;H.bpd==="tb"?ee.style.transform="skewX("+X+"deg)":ee.style.transform="skewY("+X+"deg)"}}),new d("http://www.w3.org/ns/ttml#styling fontSize",function(H,ee,ue,_e){ee.style.fontSize=_e.toUsedLength(H.w,H.h)+"px"}),new d("http://www.w3.org/ns/ttml#styling fontStyle",function(H,ee,ue,_e){ee.style.fontStyle=_e}),new d("http://www.w3.org/ns/ttml#styling fontWeight",function(H,ee,ue,_e){ee.style.fontWeight=_e}),new d("http://www.w3.org/ns/ttml#styling lineHeight",function(H,ee,ue,_e){ee.style.lineHeight=_e==="normal"?"normal":_e.toUsedLength(H.w,H.h)+"px"}),new d("http://www.w3.org/ns/ttml#styling opacity",function(H,ee,ue,_e){ee.style.opacity=_e}),new d("http://www.w3.org/ns/ttml#styling origin",function(H,ee,ue,_e){ee.style.top=_e.h.toUsedLength(H.w,H.h)+"px",ee.style.left=_e.w.toUsedLength(H.w,H.h)+"px"}),new d("http://www.w3.org/ns/ttml#styling overflow",function(H,ee,ue,_e){ee.style.overflow=_e}),new d("http://www.w3.org/ns/ttml#styling padding",function(H,ee,ue,_e){var X=[];X[0]=_e[0].toUsedLength(H.w,H.h)+"px",X[1]=_e[3].toUsedLength(H.w,H.h)+"px",X[2]=_e[2].toUsedLength(H.w,H.h)+"px",X[3]=_e[1].toUsedLength(H.w,H.h)+"px",ee.style.padding=X.join(" ")}),new d("http://www.w3.org/ns/ttml#styling position",function(H,ee,ue,_e){ee.style.top=_e.h.toUsedLength(H.w,H.h)+"px",ee.style.left=_e.w.toUsedLength(H.w,H.h)+"px"}),new d("http://www.w3.org/ns/ttml#styling rubyAlign",function(H,ee,ue,_e){ee.style.rubyAlign=_e==="spaceAround"?"space-around":"center"}),new d("http://www.w3.org/ns/ttml#styling rubyPosition",function(H,ee,ue,_e){var X;_e!=="before"&&_e!=="after"||(X=F?_e:H.bpd==="tb"||H.bpd==="rl"?_e==="before"?"over":"under":_e==="before"?"under":"over",ee.parentElement.style[$]=X)}),new d("http://www.w3.org/ns/ttml#styling showBackground",null),new d("http://www.w3.org/ns/ttml#styling textAlign",function(H,ee,ue,_e){var X;X=_e==="start"?H.ipd==="rl"?"right":"left":_e==="end"?H.ipd==="rl"?"left":"right":_e,ee.style.textAlign=X}),new d("http://www.w3.org/ns/ttml#styling textDecoration",function(H,ee,ue,_e){ee.style.textDecoration=_e.join(" ").replace("lineThrough","line-through")}),new d("http://www.w3.org/ns/ttml#styling textOutline",function(H,ee,ue,_e){}),new d("http://www.w3.org/ns/ttml#styling textShadow",function(H,ee,ue,_e){var X=ue.styleAttrs[e.byName.textOutline.qname];if(_e==="none"&&X==="none")ee.style.textShadow="";else{var Ae=[];if(X!=="none"){var Le="rgba("+X.color[0].toString()+","+X.color[1].toString()+","+X.color[2].toString()+","+(X.color[3]/255).toString()+")";Ae.push("1px 1px 1px "+Le),Ae.push("-1px 1px 1px "+Le),Ae.push("1px -1px 1px "+Le),Ae.push("-1px -1px 1px "+Le)}if(_e!=="none")for(var Ye=0;Ye<_e.length;Ye++)Ae.push(_e[Ye].x_off.toUsedLength(H.w,H.h)+"px "+_e[Ye].y_off.toUsedLength(H.w,H.h)+"px "+_e[Ye].b_radius.toUsedLength(H.w,H.h)+"px rgba("+_e[Ye].color[0].toString()+","+_e[Ye].color[1].toString()+","+_e[Ye].color[2].toString()+","+(_e[Ye].color[3]/255).toString()+")");ee.style.textShadow=Ae.join(",")}}),new d("http://www.w3.org/ns/ttml#styling textCombine",function(H,ee,ue,_e){ee.style.textCombineUpright=_e}),new d("http://www.w3.org/ns/ttml#styling textEmphasis",function(H,ee,ue,_e){}),new d("http://www.w3.org/ns/ttml#styling unicodeBidi",function(H,ee,ue,_e){var X;X=_e==="bidiOverride"?"bidi-override":_e,ee.style.unicodeBidi=X}),new d("http://www.w3.org/ns/ttml#styling visibility",function(H,ee,ue,_e){ee.style.visibility=_e}),new d("http://www.w3.org/ns/ttml#styling wrapOption",function(H,ee,ue,_e){_e==="wrap"?ue.space==="preserve"?ee.style.whiteSpace="pre-wrap":ee.style.whiteSpace="normal":ue.space==="preserve"?ee.style.whiteSpace="pre":ee.style.whiteSpace="noWrap"}),new d("http://www.w3.org/ns/ttml#styling writingMode",function(H,ee,ue,_e){_e==="lrtb"||_e==="lr"||_e==="rltb"||_e==="rl"?ee.style.writingMode="horizontal-tb":_e==="tblr"?ee.style.writingMode="vertical-lr":_e!=="tbrl"&&_e!=="tb"||(ee.style.writingMode="vertical-rl")}),new d("http://www.w3.org/ns/ttml#styling zIndex",function(H,ee,ue,_e){ee.style.zIndex=_e}),new d("http://www.w3.org/ns/ttml/profile/imsc1#styling forcedDisplay",function(H,ee,ue,_e){H.displayForcedOnlyMode&&_e===!1&&(ee.style.visibility="hidden")})],k={},q=0;q<I.length;q++)k[I[q].qname]=I[q];var F="webkitRubyPosition"in window.getComputedStyle(document.documentElement),$=F?"webkitRubyPosition":"rubyPosition",O="webkitTextEmphasisStyle"in window.getComputedStyle(document.documentElement)?"webkitTextEmphasisStyle":"textEmphasisStyle",K="webkitTextEmphasisPosition"in window.getComputedStyle(document.documentElement)?"webkitTextEmphasisPosition":"textEmphasisPosition";function re(H,ee){if(H&&H.error&&H.error(ee))throw ee}})(we,typeof imscNames>"u"?P(210):imscNames,typeof imscStyles>"u"?P(6811):imscStyles,typeof imscUtils>"u"?P(5926):imscUtils)},4080:function(at,we,P){(function(ae,T,t,e){ae.generateISD=function(d,I,k){var q,F=new m(d),$={},O={},K=d.head.styling.initials[t.byName.showBackground.qname],re=d.head.styling.initials[t.byName.backgroundColor.qname];for(var H in d.head.layout.regions)if(d.head.layout.regions.hasOwnProperty(H)){var ee=d.head.layout.regions[H],ue=ee.styleAttrs[t.byName.showBackground.qname]||K,_e=ee.styleAttrs[t.byName.backgroundColor.qname]||re;O[ee.id]=(ue==="always"||ue===void 0)&&_e!==void 0&&!(I<ee.begin||I>=ee.end)}for(var X in d.body&&d.body.regionID&&(O[d.body.regionID]=!0),q=d.body!==null?function Le(Ye,ye){if(ye.contents){var Pe={};for(var He in ye)ye.hasOwnProperty(He)&&(Pe[He]=ye[He]);return Pe.contents=[],ye.contents.filter(function(tt){return!(Ye<tt.begin||Ye>=tt.end)}).forEach(function(tt){var ve=Le(Ye,tt);ve.regionID&&(O[ve.regionID]=!0),ve!==null&&Pe.contents.push(ve)}),Pe}return ye}(I,d.body):null,O[""]!==void 0&&(O[""]=!0),O)if(O[X]){var Ae=p(d,I,d.head.layout.regions[X],q,null,"",d.head.layout.regions[X],k,$);Ae!==null&&F.contents.push(Ae.element)}return F};var y=[t.byName.color.qname,t.byName.textCombine.qname,t.byName.textDecoration.qname,t.byName.textEmphasis.qname,t.byName.textOutline.qname,t.byName.textShadow.qname];function p(d,I,k,q,F,$,O,K,re){if(I<O.begin||I>=O.end)return null;var H="regionID"in O&&O.regionID!==""?O.regionID:$;if(F!==null&&H!==k.id&&(!("contents"in O)||"contents"in O&&O.contents.length===0||H!==""))return null;var ee=new n(O);if("sets"in O)for(var ue=0;ue<O.sets.length;ue++)I<O.sets[ue].begin||I>=O.sets[ue].end||(ee.styleAttrs[O.sets[ue].qname]=O.sets[ue].value);var _e={};for(var X in ee.styleAttrs)if(ee.styleAttrs.hasOwnProperty(X)&&(_e[X]=!0,ee.kind==="region"&&X===t.byName.writingMode.qname&&!(t.byName.direction.qname in ee.styleAttrs))){var Ae=ee.styleAttrs[X];Ae==="lrtb"||Ae==="lr"?ee.styleAttrs[t.byName.direction.qname]="ltr":Ae!=="rltb"&&Ae!=="rl"||(ee.styleAttrs[t.byName.direction.qname]="rtl")}if(F!==null)for(var Le=0;Le<t.all.length;Le++){var Ye=t.all[Le];if(Ye.qname===t.byName.textDecoration.qname){var ye=F.styleAttrs[Ye.qname],Pe=ee.styleAttrs[Ye.qname],He=[];Pe===void 0?He=ye:Pe.indexOf("none")===-1?((Pe.indexOf("noUnderline")===-1&&ye.indexOf("underline")!==-1||Pe.indexOf("underline")!==-1)&&He.push("underline"),(Pe.indexOf("noLineThrough")===-1&&ye.indexOf("lineThrough")!==-1||Pe.indexOf("lineThrough")!==-1)&&He.push("lineThrough"),(Pe.indexOf("noOverline")===-1&&ye.indexOf("overline")!==-1||Pe.indexOf("overline")!==-1)&&He.push("overline")):He.push("none"),ee.styleAttrs[Ye.qname]=He}else if(Ye.qname!==t.byName.fontSize.qname||Ye.qname in ee.styleAttrs||ee.kind!=="span"||ee.styleAttrs[t.byName.ruby.qname]!=="textContainer")if(Ye.qname!==t.byName.fontSize.qname||Ye.qname in ee.styleAttrs||ee.kind!=="span"||ee.styleAttrs[t.byName.ruby.qname]!=="text")Ye.inherit&&Ye.qname in F.styleAttrs&&!(Ye.qname in ee.styleAttrs)&&(ee.styleAttrs[Ye.qname]=F.styleAttrs[Ye.qname]);else{var tt=F.styleAttrs[t.byName.fontSize.qname];F.styleAttrs[t.byName.ruby.qname]==="textContainer"?ee.styleAttrs[Ye.qname]=tt:ee.styleAttrs[Ye.qname]=new e.ComputedLength(.5*tt.rw,.5*tt.rh)}else{var ve=F.styleAttrs[t.byName.fontSize.qname];ee.styleAttrs[Ye.qname]=new e.ComputedLength(.5*ve.rw,.5*ve.rh)}}for(var Oe=0;Oe<t.all.length;Oe++){var _t=t.all[Oe];if(!(_t.qname in ee.styleAttrs)&&!(_t.qname===t.byName.position.qname&&t.byName.origin.qname in ee.styleAttrs||_t.qname===t.byName.origin.qname&&t.byName.position.qname in ee.styleAttrs)){var dt=d.head.styling.initials[_t.qname]||_t.initial;if(dt!==null&&(ee.kind==="region"||_t.inherit===!1&&dt!==null)){var ke=_t.parse(dt);ke!==null?(ee.styleAttrs[_t.qname]=ke,_e[_t.qname]=!0):c(K,"Invalid initial value for '"+_t.qname+"' on element '"+ee.kind)}}}for(var Je=0;Je<t.all.length;Je++){var ge=t.all[Je];if(ge.qname in _e&&ge.compute!==null){var me=ge.compute(d,F,ee,ee.styleAttrs[ge.qname],re);me!==null?ee.styleAttrs[ge.qname]=me:(ee.styleAttrs[ge.qname]=ge.compute(d,F,ee,ge.parse(ge.initial),re),c(K,"Style '"+ge.qname+"' on element '"+ee.kind+"' cannot be computed"))}}if(ee.styleAttrs[t.byName.display.qname]==="none")return null;var Ue=null;F===null?Ue=q===null?[]:[q]:"contents"in O&&(Ue=O.contents);for(var f=0;Ue!==null&&f<Ue.length;f++){var o=p(d,I,k,q,ee,H,Ue[f],K,re);o!==null&&ee.contents.push(o.element)}for(var v in ee.styleAttrs)if(ee.styleAttrs.hasOwnProperty(v)){var S=!1;if(ee.kind==="span"){var W=ee.styleAttrs[t.byName.ruby.qname];(S=(W==="container"||W==="textContainer"||W==="baseContainer")&&y.indexOf(v)!==-1)||(S=W!=="container"&&v===t.byName.rubyAlign.qname),S||(S=!(W==="textContainer"||W==="text")&&v===t.byName.rubyPosition.qname)}if(!S){var V=t.byQName[v];"applies"in V&&(S=V.applies.indexOf(ee.kind)===-1)}S&&delete ee.styleAttrs[v]}var Se=ee.styleAttrs[t.byName.ruby.qname];if(ee.kind==="p"||ee.kind==="span"&&(Se==="textContainer"||Se==="text")){var ze=[];u(ee,ze),function(Me){for(var De,be=0;be<Me.length;)if((De=Me[be]).kind!=="br"&&De.space!=="preserve"){var xe=De.text.replace(/[\t\r\n ]+/g," ");/^[ ]/.test(xe)&&(be===0||(Qe=Me[be-1]).kind==="br"||/[\r\n\t ]$/.test(Qe.text))&&(xe=xe.substring(1)),De.text=xe,xe.length===0?Me.splice(be,1):be++}else be++;var Qe,mt;for(be=0;be<Me.length;be++)(De=Me[be]).kind!=="br"&&De.space!=="preserve"?/[ ]$/.test(De.text)&&(be===Me.length-1||(mt=Me[be+1]).kind==="br"||mt.space==="preserve"&&/^[\r\n]/.test(mt.text))&&(De.text=De.text.slice(0,-1)):be++}(ze),_(ee)}return ee.kind==="div"&&t.byName.backgroundImage.qname in ee.styleAttrs||ee.kind==="br"||ee.kind==="image"||"contents"in ee&&ee.contents.length>0||ee.kind==="span"&&ee.text!==null||ee.kind==="region"&&ee.styleAttrs[t.byName.showBackground.qname]==="always"?{region_id:H,element:ee}:null}function u(d,I){if("contents"in d)for(var k=0;k<d.contents.length;k++){var q=d.contents[k],F=q.styleAttrs[t.byName.ruby.qname];(q.kind!=="span"||F!=="textContainer"&&F!=="text")&&("contents"in q?u(q,I):(q.kind==="span"&&q.text.length!==0||q.kind==="br")&&I.push(q))}}function _(d){if(d.kind==="br")return!1;if("text"in d)return d.text.length===0;if("contents"in d){for(var I=d.contents.length;I--;)_(d.contents[I])&&d.contents.splice(I,1);return d.contents.length===0}}function m(d){this.contents=[],this.aspectRatio=d.aspectRatio,this.lang=d.lang}function n(d){for(var I in this.kind=d.kind||"region",this.lang=d.lang,d.id&&(this.id=d.id),this.styleAttrs={},d.styleAttrs)d.styleAttrs.hasOwnProperty(I)&&(this.styleAttrs[I]=d.styleAttrs[I]);"src"in d&&(this.src=d.src),"type"in d&&(this.type=d.type),"text"in d?this.text=d.text:(this.kind==="region"||"contents"in d)&&(this.contents=[]),"space"in d&&(this.space=d.space)}function c(d,I){if(d&&d.error&&d.error(I))throw I}})(we,typeof imscNames>"u"?P(210):imscNames,typeof imscStyles>"u"?P(6811):imscStyles,typeof imscUtils>"u"?P(5926):imscUtils)},4403:function(at,we,P){we.generateISD=P(4080).generateISD,we.fromXML=P(3362).fromXML,we.renderHTML=P(506).render},210:function(at,we){(function(P){P.ns_tt="http://www.w3.org/ns/ttml",P.ns_tts="http://www.w3.org/ns/ttml#styling",P.ns_ttp="http://www.w3.org/ns/ttml#parameter",P.ns_xml="http://www.w3.org/XML/1998/namespace",P.ns_itts="http://www.w3.org/ns/ttml/profile/imsc1#styling",P.ns_ittp="http://www.w3.org/ns/ttml/profile/imsc1#parameter",P.ns_smpte="http://www.smpte-ra.org/schemas/2052-1/2010/smpte-tt",P.ns_ebutts="urn:ebu:tt:style"})(we)},6811:function(at,we,P){(function(ae,T,t){function e(u,_,m,n,c,d,I,k){this.name=_,this.ns=u,this.qname=u+" "+_,this.inherit=c,this.animatable=d,this.initial=m,this.applies=n,this.parse=I,this.compute=k}for(var y in ae.all=[new e(T.ns_tts,"backgroundColor","transparent",["body","div","p","region","span"],!1,!0,t.parseColor,null),new e(T.ns_tts,"color","white",["span"],!0,!0,t.parseColor,null),new e(T.ns_tts,"direction","ltr",["p","span"],!0,!0,function(u){return u},null),new e(T.ns_tts,"display","auto",["body","div","p","region","span"],!1,!0,function(u){return u},null),new e(T.ns_tts,"displayAlign","before",["region"],!1,!0,function(u){return u},null),new e(T.ns_tts,"extent","auto",["tt","region"],!1,!0,function(u){if(u==="auto")return u;var _=u.split(" ");if(_.length!==2)return null;var m=t.parseLength(_[0]),n=t.parseLength(_[1]);return n&&m?{h:n,w:m}:null},function(u,_,m,n,c){var d,I;if(n==="auto")d=new t.ComputedLength(0,1);else if((d=t.toComputedLength(n.h.value,n.h.unit,null,u.dimensions.h,null,u.pxLength.h))===null)return null;if(n==="auto")I=new t.ComputedLength(1,0);else if((I=t.toComputedLength(n.w.value,n.w.unit,null,u.dimensions.w,null,u.pxLength.w))===null)return null;return{h:d,w:I}}),new e(T.ns_tts,"fontFamily","default",["span","p"],!0,!0,function(u){for(var _=u.split(","),m=[],n=0;n<_.length;n++)_[n]=_[n].trim(),_[n].charAt(0)!=="'"&&_[n].charAt(0)!=='"'&&_[n]==="default"?m.push("monospaceSerif"):m.push(_[n]);return m},null),new e(T.ns_tts,"shear","0%",["p"],!0,!0,t.parseLength,function(u,_,m,n){return n.unit!=="%"?null:Math.abs(n.value)>100?100*Math.sign(n.value):n.value}),new e(T.ns_tts,"fontSize","1c",["span","p"],!0,!0,t.parseLength,function(u,_,m,n,c){return t.toComputedLength(n.value,n.unit,_!==null?_.styleAttrs[ae.byName.fontSize.qname]:u.cellLength.h,_!==null?_.styleAttrs[ae.byName.fontSize.qname]:u.cellLength.h,u.cellLength.h,u.pxLength.h)}),new e(T.ns_tts,"fontStyle","normal",["span","p"],!0,!0,function(u){return u},null),new e(T.ns_tts,"fontWeight","normal",["span","p"],!0,!0,function(u){return u},null),new e(T.ns_tts,"lineHeight","normal",["p"],!0,!0,function(u){return u==="normal"?u:t.parseLength(u)},function(u,_,m,n,c){var d;if(n==="normal")d=n;else if((d=t.toComputedLength(n.value,n.unit,m.styleAttrs[ae.byName.fontSize.qname],m.styleAttrs[ae.byName.fontSize.qname],u.cellLength.h,u.pxLength.h))===null)return null;return d}),new e(T.ns_tts,"opacity",1,["region"],!1,!0,parseFloat,null),new e(T.ns_tts,"origin","auto",["region"],!1,!0,function(u){if(u==="auto")return u;var _=u.split(" ");if(_.length!==2)return null;var m=t.parseLength(_[0]),n=t.parseLength(_[1]);return n&&m?{h:n,w:m}:null},function(u,_,m,n,c){var d,I;if(n==="auto")d=new t.ComputedLength(0,0);else if((d=t.toComputedLength(n.h.value,n.h.unit,null,u.dimensions.h,null,u.pxLength.h))===null)return null;if(n==="auto")I=new t.ComputedLength(0,0);else if((I=t.toComputedLength(n.w.value,n.w.unit,null,u.dimensions.w,null,u.pxLength.w))===null)return null;return{h:d,w:I}}),new e(T.ns_tts,"overflow","hidden",["region"],!1,!0,function(u){return u},null),new e(T.ns_tts,"padding","0px",["region"],!1,!0,function(u){var _=u.split(" ");if(_.length>4)return null;for(var m=[],n=0;n<_.length;n++){var c=t.parseLength(_[n]);if(!c)return null;m.push(c)}return m},function(u,_,m,n,c){var d;if(n.length===1)d=[n[0],n[0],n[0],n[0]];else if(n.length===2)d=[n[0],n[1],n[0],n[1]];else if(n.length===3)d=[n[0],n[1],n[2],n[1]];else{if(n.length!==4)return null;d=[n[0],n[1],n[2],n[3]]}var I=m.styleAttrs[ae.byName.writingMode.qname];if(I==="lrtb"||I==="lr")d=[d[0],d[3],d[2],d[1]];else if(I==="rltb"||I==="rl")d=[d[0],d[1],d[2],d[3]];else if(I==="tblr")d=[d[3],d[0],d[1],d[2]];else{if(I!=="tbrl"&&I!=="tb")return null;d=[d[3],d[2],d[1],d[0]]}for(var k=[],q=0;q<d.length;q++)if(d[q].value===0)k[q]=new t.ComputedLength(0,0);else if(k[q]=t.toComputedLength(d[q].value,d[q].unit,m.styleAttrs[ae.byName.fontSize.qname],q===0||q===2?m.styleAttrs[ae.byName.extent.qname].h:m.styleAttrs[ae.byName.extent.qname].w,q===0||q===2?u.cellLength.h:u.cellLength.w,q===0||q===2?u.pxLength.h:u.pxLength.w),k[q]===null)return null;return k}),new e(T.ns_tts,"position","top left",["region"],!1,!0,function(u){return t.parsePosition(u)},function(u,_,m,n){var c,d;return(c=t.toComputedLength(n.v.offset.value,n.v.offset.unit,null,new t.ComputedLength(-m.styleAttrs[ae.byName.extent.qname].h.rw,u.dimensions.h.rh-m.styleAttrs[ae.byName.extent.qname].h.rh),null,u.pxLength.h))===null?null:(n.v.edge==="bottom"&&(c=new t.ComputedLength(-c.rw-m.styleAttrs[ae.byName.extent.qname].h.rw,u.dimensions.h.rh-c.rh-m.styleAttrs[ae.byName.extent.qname].h.rh)),d=t.toComputedLength(n.h.offset.value,n.h.offset.unit,null,new t.ComputedLength(u.dimensions.w.rw-m.styleAttrs[ae.byName.extent.qname].w.rw,-m.styleAttrs[ae.byName.extent.qname].w.rh),null,u.pxLength.w),c===null?null:(n.h.edge==="right"&&(d=new t.ComputedLength(u.dimensions.w.rw-d.rw-m.styleAttrs[ae.byName.extent.qname].w.rw,-d.rh-m.styleAttrs[ae.byName.extent.qname].w.rh)),{h:c,w:d}))}),new e(T.ns_tts,"ruby","none",["span"],!1,!0,function(u){return u},null),new e(T.ns_tts,"rubyAlign","center",["span"],!0,!0,function(u){return u!=="center"&&u!=="spaceAround"?null:u},null),new e(T.ns_tts,"rubyPosition","outside",["span"],!0,!0,function(u){return u},null),new e(T.ns_tts,"rubyReserve","none",["p"],!0,!0,function(u){var _=u.split(" "),m=[null,null];if(_.length===0||_.length>2||_[0]!=="none"&&_[0]!=="both"&&_[0]!=="after"&&_[0]!=="before"&&_[0]!=="outside")return null;if(m[0]=_[0],_.length===2&&_[0]!=="none"){var n=t.parseLength(_[1]);if(!n)return null;m[1]=n}return m},function(u,_,m,n,c){if(n[0]==="none")return n;var d;return(d=n[1]===null?new t.ComputedLength(.5*m.styleAttrs[ae.byName.fontSize.qname].rw,.5*m.styleAttrs[ae.byName.fontSize.qname].rh):t.toComputedLength(n[1].value,n[1].unit,m.styleAttrs[ae.byName.fontSize.qname],m.styleAttrs[ae.byName.fontSize.qname],u.cellLength.h,u.pxLength.h))===null?null:[n[0],d]}),new e(T.ns_tts,"showBackground","always",["region"],!1,!0,function(u){return u},null),new e(T.ns_tts,"textAlign","start",["p"],!0,!0,function(u){return u},function(u,_,m,n,c){return n==="left"?"start":n==="right"?"end":n}),new e(T.ns_tts,"textCombine","none",["span"],!0,!0,function(u){return u==="none"||u==="all"?u:null},null),new e(T.ns_tts,"textDecoration","none",["span"],!0,!0,function(u){return u.split(" ")},null),new e(T.ns_tts,"textEmphasis","none",["span"],!0,!0,function(u){for(var _=u.split(" "),m={style:null,symbol:null,color:null,position:null},n=0;n<_.length;n++)if(_[n]==="none"||_[n]==="auto")m.style=_[n];else if(_[n]==="filled"||_[n]==="open")m.style=_[n];else if(_[n]==="circle"||_[n]==="dot"||_[n]==="sesame")m.symbol=_[n];else if(_[n]==="current")m.color=_[n];else if(_[n]==="outside"||_[n]==="before"||_[n]==="after")m.position=_[n];else if(m.color=t.parseColor(_[n]),m.color===null)return null;return m.style==null&&m.symbol==null?m.style="auto":(m.symbol=m.symbol||"circle",m.style=m.style||"filled"),m.position=m.position||"outside",m.color=m.color||"current",m},null),new e(T.ns_tts,"textOutline","none",["span"],!0,!0,function(u){if(u==="none")return u;var _={},m=u.split(" ");if(m.length===0||m.length>2)return null;var n=t.parseColor(m[0]);if(_.color=n,n!==null&&m.shift(),m.length!==1)return null;var c=t.parseLength(m[0]);return c?(_.thickness=c,_):null},function(u,_,m,n,c){if(n==="none")return n;var d={};return n.color===null?d.color=m.styleAttrs[ae.byName.color.qname]:d.color=n.color,d.thickness=t.toComputedLength(n.thickness.value,n.thickness.unit,m.styleAttrs[ae.byName.fontSize.qname],m.styleAttrs[ae.byName.fontSize.qname],u.cellLength.h,u.pxLength.h),d.thickness===null?null:d}),new e(T.ns_tts,"textShadow","none",["span"],!0,!0,t.parseTextShadow,function(u,_,m,n){if(n==="none")return n;for(var c=[],d=0;d<n.length;d++){var I={};if(I.x_off=t.toComputedLength(n[d][0].value,n[d][0].unit,null,m.styleAttrs[ae.byName.fontSize.qname],null,u.pxLength.w),I.x_off===null||(I.y_off=t.toComputedLength(n[d][1].value,n[d][1].unit,null,m.styleAttrs[ae.byName.fontSize.qname],null,u.pxLength.h),I.y_off===null))return null;if(n[d][2]===null)I.b_radius=0;else if(I.b_radius=t.toComputedLength(n[d][2].value,n[d][2].unit,null,m.styleAttrs[ae.byName.fontSize.qname],null,u.pxLength.h),I.b_radius===null)return null;n[d][3]===null?I.color=m.styleAttrs[ae.byName.color.qname]:I.color=n[d][3],c.push(I)}return c}),new e(T.ns_tts,"unicodeBidi","normal",["span","p"],!1,!0,function(u){return u},null),new e(T.ns_tts,"visibility","visible",["body","div","p","region","span"],!0,!0,function(u){return u},null),new e(T.ns_tts,"wrapOption","wrap",["span"],!0,!0,function(u){return u},null),new e(T.ns_tts,"writingMode","lrtb",["region"],!1,!0,function(u){return u},null),new e(T.ns_tts,"zIndex","auto",["region"],!1,!0,function(u){var _;return u==="auto"?_=u:(_=parseInt(u),isNaN(_)&&(_=null)),_},null),new e(T.ns_ebutts,"linePadding","0c",["p"],!0,!1,t.parseLength,function(u,_,m,n,c){return t.toComputedLength(n.value,n.unit,null,null,u.cellLength.w,null)}),new e(T.ns_ebutts,"multiRowAlign","auto",["p"],!0,!1,function(u){return u},null),new e(T.ns_smpte,"backgroundImage",null,["div"],!1,!1,function(u){return u},null),new e(T.ns_itts,"forcedDisplay","false",["body","div","p","region","span"],!0,!0,function(u){return u==="true"},null),new e(T.ns_itts,"fillLineGap","false",["p"],!0,!0,function(u){return u==="true"},null)],ae.byQName={},ae.all)ae.byQName[ae.all[y].qname]=ae.all[y];for(var p in ae.byName={},ae.all)ae.byName[ae.all[p].name]=ae.all[p]})(we,typeof imscNames>"u"?P(210):imscNames,typeof imscUtils>"u"?P(5926):imscUtils)},5926:function(at,we){(function(P){var ae=/#([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})?/,T=/rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/,t=/rgba\(\s*(\d+),\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/,e={transparent:[0,0,0,0],black:[0,0,0,255],silver:[192,192,192,255],gray:[128,128,128,255],white:[255,255,255,255],maroon:[128,0,0,255],red:[255,0,0,255],purple:[128,0,128,255],fuchsia:[255,0,255,255],magenta:[255,0,255,255],green:[0,128,0,255],lime:[0,255,0,255],olive:[128,128,0,255],yellow:[255,255,0,255],navy:[0,0,128,255],blue:[0,0,255,255],teal:[0,128,128,255],aqua:[0,255,255,255],cyan:[0,255,255,255]};P.parseColor=function(p){var u,_=null,m=e[p.toLowerCase()];return m!==void 0?_=m:(u=ae.exec(p))!==null?_=[parseInt(u[1],16),parseInt(u[2],16),parseInt(u[3],16),u[4]!==void 0?parseInt(u[4],16):255]:(u=T.exec(p))!==null?_=[parseInt(u[1]),parseInt(u[2]),parseInt(u[3]),255]:(u=t.exec(p))!==null&&(_=[parseInt(u[1]),parseInt(u[2]),parseInt(u[3]),parseInt(u[4])]),_};var y=/^((?:\+|\-)?\d*(?:\.\d+)?)(px|em|c|%|rh|rw)$/;P.parseLength=function(p){var u,_=null;return(u=y.exec(p))!==null&&(_={value:parseFloat(u[1]),unit:u[2]}),_},P.parseTextShadow=function(p){for(var u=p.match(/([^\(,\)]|\([^\)]+\))+/g),_=[],m=0;m<u.length;m++){var n=u[m].split(" ");if(n.length===1&&n[0]==="none")return"none";if(n.length>1&&n.length<5){var c=[null,null,null,null],d=P.parseLength(n.shift());if(d===null||(c[0]=d,(d=P.parseLength(n.shift()))===null))return null;if(c[1]=d,n.length===0){_.push(c);continue}if((d=P.parseLength(n[0]))!==null&&(c[2]=d,n.shift()),n.length===0){_.push(c);continue}var I=P.parseColor(n[0]);if(I===null)return null;c[3]=I,_.push(c)}}return _},P.parsePosition=function(p){var u=p.split(" "),_=function(q){return q==="center"||q==="left"||q==="top"||q==="bottom"||q==="right"};if(u.length>4)return null;for(var m=0;m<u.length;m++)if(!_(u[m])){var n=P.parseLength(u[m]);if(n===null)return null;u[m]=n}for(var c={h:{edge:"left",offset:{value:50,unit:"%"}},v:{edge:"top",offset:{value:50,unit:"%"}}},d=0;d<u.length;){var I=u[d++];if(_(I)){var k={value:0,unit:"%"};u.length!==2&&d<u.length&&!_(u[d])&&(k=u[d++]),I==="right"?(c.h.edge=I,c.h.offset=k):I==="bottom"?(c.v.edge=I,c.v.offset=k):I==="left"?c.h.offset=k:I==="top"&&(c.v.offset=k)}else{if(u.length!==1&&u.length!==2)return null;d===1?c.h.offset=I:c.v.offset=I}}return c},P.ComputedLength=function(p,u){this.rw=p,this.rh=u},P.ComputedLength.prototype.toUsedLength=function(p,u){return p*this.rw+u*this.rh},P.ComputedLength.prototype.isZero=function(){return this.rw===0&&this.rh===0},P.toComputedLength=function(p,u,_,m,n,c){return u==="%"&&m?new P.ComputedLength(m.rw*p/100,m.rh*p/100):u==="em"&&_?new P.ComputedLength(_.rw*p,_.rh*p):u==="c"&&n?new P.ComputedLength(p*n.rw,p*n.rh):u==="px"&&c?new P.ComputedLength(p*c.rw,p*c.rh):u==="rh"?new P.ComputedLength(0,p/100):u==="rw"?new P.ComputedLength(p/100,0):null}})(we)},3516:function(at){at.exports=function(we){var P=typeof we=="string"?we.charCodeAt(0):we;return P>=97&&P<=122||P>=65&&P<=90}},2219:function(at,we,P){var ae=P(3516),T=P(395);at.exports=function(t){return ae(t)||T(t)}},395:function(at){at.exports=function(we){var P=typeof we=="string"?we.charCodeAt(0):we;return P>=48&&P<=57}},3875:function(at){function we(T){if(typeof T!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(T))}function P(T,t){for(var e,y="",p=0,u=-1,_=0,m=0;m<=T.length;++m){if(m<T.length)e=T.charCodeAt(m);else{if(e===47)break;e=47}if(e===47){if(!(u===m-1||_===1))if(u!==m-1&&_===2){if(y.length<2||p!==2||y.charCodeAt(y.length-1)!==46||y.charCodeAt(y.length-2)!==46){if(y.length>2){var n=y.lastIndexOf("/");if(n!==y.length-1){n===-1?(y="",p=0):p=(y=y.slice(0,n)).length-1-y.lastIndexOf("/"),u=m,_=0;continue}}else if(y.length===2||y.length===1){y="",p=0,u=m,_=0;continue}}t&&(y.length>0?y+="/..":y="..",p=2)}else y.length>0?y+="/"+T.slice(u+1,m):y=T.slice(u+1,m),p=m-u-1;u=m,_=0}else e===46&&_!==-1?++_:_=-1}return y}var ae={resolve:function(){for(var T,t="",e=!1,y=arguments.length-1;y>=-1&&!e;y--){var p;y>=0?p=arguments[y]:(T===void 0&&(T=process.cwd()),p=T),we(p),p.length!==0&&(t=p+"/"+t,e=p.charCodeAt(0)===47)}return t=P(t,!e),e?t.length>0?"/"+t:"/":t.length>0?t:"."},normalize:function(T){if(we(T),T.length===0)return".";var t=T.charCodeAt(0)===47,e=T.charCodeAt(T.length-1)===47;return(T=P(T,!t)).length!==0||t||(T="."),T.length>0&&e&&(T+="/"),t?"/"+T:T},isAbsolute:function(T){return we(T),T.length>0&&T.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var T,t=0;t<arguments.length;++t){var e=arguments[t];we(e),e.length>0&&(T===void 0?T=e:T+="/"+e)}return T===void 0?".":ae.normalize(T)},relative:function(T,t){if(we(T),we(t),T===t||(T=ae.resolve(T))===(t=ae.resolve(t)))return"";for(var e=1;e<T.length&&T.charCodeAt(e)===47;++e);for(var y=T.length,p=y-e,u=1;u<t.length&&t.charCodeAt(u)===47;++u);for(var _=t.length-u,m=p<_?p:_,n=-1,c=0;c<=m;++c){if(c===m){if(_>m){if(t.charCodeAt(u+c)===47)return t.slice(u+c+1);if(c===0)return t.slice(u+c)}else p>m&&(T.charCodeAt(e+c)===47?n=c:c===0&&(n=0));break}var d=T.charCodeAt(e+c);if(d!==t.charCodeAt(u+c))break;d===47&&(n=c)}var I="";for(c=e+n+1;c<=y;++c)c!==y&&T.charCodeAt(c)!==47||(I.length===0?I+="..":I+="/..");return I.length>0?I+t.slice(u+n):(u+=n,t.charCodeAt(u)===47&&++u,t.slice(u))},_makeLong:function(T){return T},dirname:function(T){if(we(T),T.length===0)return".";for(var t=T.charCodeAt(0),e=t===47,y=-1,p=!0,u=T.length-1;u>=1;--u)if((t=T.charCodeAt(u))===47){if(!p){y=u;break}}else p=!1;return y===-1?e?"/":".":e&&y===1?"//":T.slice(0,y)},basename:function(T,t){if(t!==void 0&&typeof t!="string")throw new TypeError('"ext" argument must be a string');we(T);var e,y=0,p=-1,u=!0;if(t!==void 0&&t.length>0&&t.length<=T.length){if(t.length===T.length&&t===T)return"";var _=t.length-1,m=-1;for(e=T.length-1;e>=0;--e){var n=T.charCodeAt(e);if(n===47){if(!u){y=e+1;break}}else m===-1&&(u=!1,m=e+1),_>=0&&(n===t.charCodeAt(_)?--_==-1&&(p=e):(_=-1,p=m))}return y===p?p=m:p===-1&&(p=T.length),T.slice(y,p)}for(e=T.length-1;e>=0;--e)if(T.charCodeAt(e)===47){if(!u){y=e+1;break}}else p===-1&&(u=!1,p=e+1);return p===-1?"":T.slice(y,p)},extname:function(T){we(T);for(var t=-1,e=0,y=-1,p=!0,u=0,_=T.length-1;_>=0;--_){var m=T.charCodeAt(_);if(m!==47)y===-1&&(p=!1,y=_+1),m===46?t===-1?t=_:u!==1&&(u=1):t!==-1&&(u=-1);else if(!p){e=_+1;break}}return t===-1||y===-1||u===0||u===1&&t===y-1&&t===e+1?"":T.slice(t,y)},format:function(T){if(T===null||typeof T!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof T);return function(t,e){var y=e.dir||e.root,p=e.base||(e.name||"")+(e.ext||"");return y?y===e.root?y+p:y+"/"+p:p}(0,T)},parse:function(T){we(T);var t={root:"",dir:"",base:"",ext:"",name:""};if(T.length===0)return t;var e,y=T.charCodeAt(0),p=y===47;p?(t.root="/",e=1):e=0;for(var u=-1,_=0,m=-1,n=!0,c=T.length-1,d=0;c>=e;--c)if((y=T.charCodeAt(c))!==47)m===-1&&(n=!1,m=c+1),y===46?u===-1?u=c:d!==1&&(d=1):u!==-1&&(d=-1);else if(!n){_=c+1;break}return u===-1||m===-1||d===0||d===1&&u===m-1&&u===_+1?m!==-1&&(t.base=t.name=_===0&&p?T.slice(1,m):T.slice(_,m)):(_===0&&p?(t.name=T.slice(1,u),t.base=T.slice(1,m)):(t.name=T.slice(_,u),t.base=T.slice(_,m)),t.ext=T.slice(u,m)),_>0?t.dir=T.slice(0,_-1):p&&(t.dir="/"),t},sep:"/",delimiter:":",win32:null,posix:null};ae.posix=ae,at.exports=ae},8387:function(at,we,P){var ae=P(1549),T=ae.Buffer;function t(y,p){for(var u in y)p[u]=y[u]}function e(y,p,u){return T(y,p,u)}T.from&&T.alloc&&T.allocUnsafe&&T.allocUnsafeSlow?at.exports=ae:(t(ae,we),we.Buffer=e),t(T,e),e.from=function(y,p,u){if(typeof y=="number")throw new TypeError("Argument must not be a number");return T(y,p,u)},e.alloc=function(y,p,u){if(typeof y!="number")throw new TypeError("Argument must be a number");var _=T(y);return p!==void 0?typeof u=="string"?_.fill(p,u):_.fill(p):_.fill(0),_},e.allocUnsafe=function(y){if(typeof y!="number")throw new TypeError("Argument must be a number");return T(y)},e.allocUnsafeSlow=function(y){if(typeof y!="number")throw new TypeError("Argument must be a number");return ae.SlowBuffer(y)}},5378:function(at,we,P){(function(ae){ae.parser=function(f,o){return new e(f,o)},ae.SAXParser=e,ae.SAXStream=p,ae.createStream=function(f,o){return new p(f,o)},ae.MAX_BUFFER_LENGTH=65536;var T,t=["comment","sgmlDecl","textNode","tagName","doctype","procInstName","procInstBody","entity","attribName","attribValue","cdata","script"];function e(f,o){if(!(this instanceof e))return new e(f,o);var v=this;(function(S){for(var W=0,V=t.length;W<V;W++)S[t[W]]=""})(v),v.q=v.c="",v.bufferCheckPosition=ae.MAX_BUFFER_LENGTH,v.opt=o||{},v.opt.lowercase=v.opt.lowercase||v.opt.lowercasetags,v.looseCase=v.opt.lowercase?"toLowerCase":"toUpperCase",v.tags=[],v.closed=v.closedRoot=v.sawRoot=!1,v.tag=v.error=null,v.strict=!!f,v.noscript=!(!f&&!v.opt.noscript),v.state=X.BEGIN,v.strictEntities=v.opt.strictEntities,v.ENTITIES=v.strictEntities?Object.create(ae.XML_ENTITIES):Object.create(ae.ENTITIES),v.attribList=[],v.opt.xmlns&&(v.ns=Object.create(k)),v.trackPosition=v.opt.position!==!1,v.trackPosition&&(v.position=v.line=v.column=0),Le(v,"onready")}ae.EVENTS=["text","processinginstruction","sgmldeclaration","doctype","comment","opentagstart","attribute","opentag","closetag","opencdata","cdata","closecdata","error","end","ready","script","opennamespace","closenamespace"],Object.create||(Object.create=function(f){function o(){}return o.prototype=f,new o}),Object.keys||(Object.keys=function(f){var o=[];for(var v in f)f.hasOwnProperty(v)&&o.push(v);return o}),e.prototype={end:function(){tt(this)},write:function(f){var o=this;if(this.error)throw this.error;if(o.closed)return He(o,"Cannot write after close. Assign an onready handler.");if(f===null)return tt(o);typeof f=="object"&&(f=f.toString());for(var v=0,S="";S=Ue(f,v++),o.c=S,S;)switch(o.trackPosition&&(o.position++,S===`
+            `))}else r.liveDelay=Z.liveDelay,r.liveCatchup.maxDrift=Z.maxDrift,E.debug("Found latency properties coming from service description: Live Delay: ".concat(Z.liveDelay,", Live catchup max drift: ").concat(Z.maxDrift))}(N),N.playbackRate&&function(U){var Z=U.playbackRate.min?Math.round(1e3*(U.playbackRate.min-1))/1e3:NaN,ce=U.playbackRate.max?Math.round(1e3*(U.playbackRate.max-1))/1e3:NaN;r.liveCatchup.playbackRate.min=Z,r.liveCatchup.playbackRate.max=ce,E.debug("Found latency properties coming from service description: Live catchup min playback rate: ".concat(Z)),E.debug("Found latency properties coming from service description: Live catchup max playback rate: ".concat(ce))}(N),N.operatingQuality,N.operatingBandwidth&&function(U){if(U&&U.operatingBandwidth&&U.operatingBandwidth.mediaType&&U.operatingBandwidth.mediaType!=="all"){var Z={};Z.minBandwidth=U.operatingBandwidth.min,Z.maxBandwidth=U.operatingBandwidth.max,Z.targetBandwidth=U.operatingBandwidth.target;var ce=[];U.operatingBandwidth.mediaType===fa||U.operatingBandwidth.mediaType===da?ce.push(U.operatingBandwidth.mediaType):U.operatingBandwidth.mediaType==="any"&&(ce.push(da),ce.push(fa)),ce.forEach(function(te){isNaN(Z.minBandwidth)||w("minBitrate",te,Z.minBandwidth),isNaN(Z.maxBandwidth)||w("maxBitrate",te,Z.maxBandwidth),isNaN(Z.targetBandwidth)||w("initialBitrate",te,Z.targetBandwidth)})}}(N),N.contentSteering&&function(U){r.contentSteering=U.contentSteering}(N))}},reset:function(){h()},setConfig:function(L){L&&L.adapter&&(R=L.adapter)}},E=(0,m.Z)(A).getInstance().getLogger(i),h(),i}ga.__dashjs_factory_name="ServiceDescriptionController";var Co=_.Z.getSingletonFactory(ga),Do=P(3973),oi=P.n(Do),ha=P(3039);function Oi(){var i,r,l,E,R,A,h,w,L=this.context,Y=(0,p.Z)(L).getInstance();function B(x,J){return x&&l[J]&&l[J][x]?l[J][x].list:[]}function N(x,J){return x&&l[J]&&l[J][x]?l[J][x].current:null}function U(x){var J=arguments.length>1&&arguments[1]!==void 0&&arguments[1];if(x&&x.streamInfo){var he=x.type,Ne=x.streamInfo,Te=Ne.id,Ce=N(he,Te);if(l[Te]&&l[Te][he]&&(l[Te][he].current=x,l[Te][he].current&&(he!==t.Z.TEXT&&!te(x,Ce)||he===t.Z.TEXT&&x.isFragmented)&&Y.trigger(u.Z.CURRENT_TRACK_CHANGED,{oldMediaInfo:Ce,newMediaInfo:x,switchMode:E.get().streaming.trackSwitchMode[he]},{streamId:Te}),!J)){var Ie=de(x);if(!Ie||!l[Te][he].storeLastSettings)return;Ie.roles&&(Ie.role=Ie.roles[0],delete Ie.roles),Ie.accessibility&&(Ie.accessibility=Ie.accessibility[0]),Ie.audioChannelConfiguration&&(Ie.audioChannelConfiguration=Ie.audioChannelConfiguration[0]),A[he]=Ie,w.setSavedMediaSettings(he,Ie)}}}function Z(x,J){x&&J&&(R[x]=J)}function ce(x){return x?R[x]:null}function te(x,J){if(!x&&!J)return!0;if(!x||!J)return!1;var he=x.id===J.id,Ne=x.viewpoint===J.viewpoint,Te=JSON.stringify(x.viewpointsWithSchemeIdUri)===JSON.stringify(J.viewpointsWithSchemeIdUri),Ce=x.lang===J.lang,Ie=x.codec===J.codec,et=x.roles.toString()===J.roles.toString(),nt=JSON.stringify(x.rolesWithSchemeIdUri)===JSON.stringify(J.rolesWithSchemeIdUri),We=x.accessibility.toString()===J.accessibility.toString(),Xe=JSON.stringify(x.accessibilitiesWithSchemeIdUri)===JSON.stringify(J.accessibilitiesWithSchemeIdUri),Mt=x.audioChannelConfiguration.toString()===J.audioChannelConfiguration.toString(),Ee=JSON.stringify(x.audioChannelConfigurationsWithSchemeIdUri)===JSON.stringify(J.audioChannelConfigurationsWithSchemeIdUri);return he&&Ie&&Ne&&Te&&Ce&&et&&nt&&We&&Xe&&Mt&&Ee}function ue(){l={},A={},R={audio:null,video:null,text:null}}function de(x){var J={lang:x.lang,viewpoint:x.viewpoint,roles:x.roles,accessibility:x.accessibility,audioChannelConfiguration:x.audioChannelConfiguration,codec:x.codec};return J.lang||J.viewpoint||J.role&&J.role.length>0||J.accessibility&&J.accessibility.length>0||J.audioChannelConfiguration&&J.audioChannelConfiguration.length>0?J:null}function G(x,J,he){var Ne=[];return x.forEach(function(Te){J(he,Te)&&Ne.push(Te)}),Ne.length!==0?Ne:x}function ie(x,J){try{return!x.lang||x.lang instanceof RegExp?J.lang.match(x.lang):J.lang!==""&&(0,ha.extendedFilter)(J.lang,oi()(x.lang)).length>0}catch{return!1}}function j(x,J){return x.index===void 0||x.index===null||J.index===x.index}function le(x,J){return!x.viewpoint||x.viewpoint===J.viewpoint}function g(x,J){var he=arguments.length>2&&arguments[2]!==void 0&&arguments[2],Ne=!x.role||!!J.roles.filter(function(Te){return Te===x.role})[0];return Ne||J.type===t.Z.AUDIO&&he}function M(x,J){return x.accessibility?!!J.accessibility.filter(function(he){return he===x.accessibility})[0]:!J.accessibility.length}function C(x,J){return!x.audioChannelConfiguration||!!J.audioChannelConfiguration.filter(function(he){return he===x.audioChannelConfiguration})[0]}function D(x,J){return!x.codec||x.codec===J.codec}function b(x){var J,he=0,Ne=[];return x.forEach(function(Te){(J=Math.max.apply(Math,Te.bitrateList.map(function(Ce){return Ce.bandwidth})))>he?(he=J,Ne=[Te]):J===he&&Ne.push(Te)}),Ne}function ne(x){var J,he=1/0,Ne=[];return x.forEach(function(Te){var Ce=Te.bitrateList.reduce(function(Ie,et){var nt=Math.max(1,et.width*et.height);return Ie+et.bandwidth/nt},0);(J=Ce/Te.bitrateList.length)<he?(he=J,Ne=[Te]):J===he&&Ne.push(Te)}),Ne}function z(x){var J,he=0,Ne=[];return x.forEach(function(Te){(J=Te.representationCount)>he?(he=J,Ne=[Te]):J===he&&Ne.push(Te)}),Ne}function oe(x,J){if(x===t.Z.TEXT)return J[0];var he,Ne=E.get().streaming.selectionModeForInitialTrack,Te=h.getCustomInitialTrackSelectionFunction();if(Te&&typeof Te=="function")he=Te(J);else switch(Ne){case t.Z.TRACK_SELECTION_MODE_HIGHEST_SELECTION_PRIORITY:he=function(Ce){var Ie,et,nt=(Ie=0,et=[],Ce.forEach(function(We){isNaN(We.selectionPriority)||(We.selectionPriority>Ie?(Ie=We.selectionPriority,et=[We]):We.selectionPriority===Ie&&et.push(We))}),et);return nt.length>1&&(nt=b(nt)),nt.length>1&&(nt=z(nt)),nt}(J);break;case t.Z.TRACK_SELECTION_MODE_HIGHEST_BITRATE:he=function(Ce){var Ie=b(Ce);return Ie.length>1&&(Ie=z(Ie)),Ie}(J);break;case t.Z.TRACK_SELECTION_MODE_FIRST_TRACK:he=Q(J);break;case t.Z.TRACK_SELECTION_MODE_HIGHEST_EFFICIENCY:he=function(Ce){var Ie=ne(Ce);return Ie.length>1&&(Ie=b(Ie)),Ie}(J);break;case t.Z.TRACK_SELECTION_MODE_WIDEST_RANGE:he=function(Ce){var Ie=z(Ce);return Ie.length>1&&(Ie=b(Ce)),Ie}(J);break;default:r.warn("Track selection mode ".concat(Ne," is not supported. Falling back to TRACK_SELECTION_MODE_FIRST_TRACK")),he=Q(J)}return he.length>0?he[0]:J[0]}function Q(x){return x[0]}return i={setInitialMediaSettingsForType:function(x,J){var he=A[x]||ce(x),Ne=B(x,J.id),Te=[];he||((he=w.getSavedMediaSettings(x))&&delete he.codec,Z(x,he)),Ne&&Ne.length!==0&&(he&&(Te=G(Te=Array.from(Ne),ie,he),Te=G(Te,j,he),Te=G(Te,le,he),x===t.Z.AUDIO&&A[x]||(Te=G(Te,g,he)),Te=G(Te,M,he),Te=G(Te,C,he),Te=G(Te,D,he)),Te.length===0?U(oe(x,Ne),!0):Te.length>1?U(oe(x,Te)):U(Te[0]))},addTrack:function(x){if(x){var J=x.type;if((he=J)===t.Z.AUDIO||he===t.Z.VIDEO||he===t.Z.TEXT||he===t.Z.IMAGE){var he,Ne,Te=x.streamInfo.id;l[Te]||(l[Te]={audio:{list:[],storeLastSettings:Ne=E.get().streaming.saveLastMediaSettingsForCurrentStreamingSession,current:null},video:{list:[],storeLastSettings:Ne,current:null},text:{list:[],storeLastSettings:Ne,current:null},image:{list:[],storeLastSettings:Ne,current:null}});for(var Ce=l[Te][J].list,Ie=0,et=Ce.length;Ie<et;++Ie)if(te(Ce[Ie],x))return;Ce.push(x)}}},getTracksFor:B,getCurrentTrackFor:N,isCurrentTrack:function(x){if(!x)return!1;var J=x.type,he=x.streamInfo.id;return l[he]&&l[he][J]&&te(l[he][J].current,x)},setTrack:U,selectInitialTrack:oe,setInitialSettings:Z,getInitialSettings:ce,getTracksWithHighestBitrate:b,getTracksWithHighestEfficiency:ne,getTracksWithWidestRange:z,isTracksEqual:te,matchSettings:function(x,J){var he=arguments.length>2&&arguments[2]!==void 0&&arguments[2];try{var Ne=!1;if(x.lang){if(x.lang instanceof RegExp)Ne=J.lang.match(x.lang);else if(J.lang!==""){var Te=oi()(x.lang);Te&&(Ne=(0,ha.extendedFilter)(J.lang,Te).length>0)}}else Ne=!0;var Ce=x.index===void 0||x.index===null||J.index===x.index,Ie=!x.viewpoint||x.viewpoint===J.viewpoint,et=!x.role||!!J.roles.filter(function(Xe){return Xe===x.role})[0],nt=!x.accessibility||!!J.accessibility.filter(function(Xe){return Xe===x.accessibility})[0],We=!x.audioChannelConfiguration||!!J.audioChannelConfiguration.filter(function(Xe){return Xe===x.audioChannelConfiguration})[0];return Ne&&Ce&&Ie&&(et||J.type===t.Z.AUDIO&&he)&&nt&&We}catch{return!1}},matchSettingsLang:ie,matchSettingsIndex:j,matchSettingsViewPoint:le,matchSettingsRole:g,matchSettingsAccessibility:M,matchSettingsAudioChannelConfig:C,saveTextSettingsDisabled:function(){w.setSavedMediaSettings(t.Z.TEXT,null)},setConfig:function(x){x&&(x.domStorage&&(w=x.domStorage),x.settings&&(E=x.settings),x.customParametersModel&&(h=x.customParametersModel))},reset:ue},r=(0,m.Z)(L).getInstance().getLogger(i),ue(),i}Oi.__dashjs_factory_name="MediaController";var ma=_.Z.getSingletonFactory(Oi);_.Z.updateSingletonFactory(Oi.__dashjs_factory_name,ma);var Oo=ma,si=NaN,pa=function i(r,l){(function(E,R){if(!(E instanceof R))throw new TypeError("Cannot call a class as a function")})(this,i),this.data={baseUrls:r||null,selectedIdx:l||si},this.children=[]};function ya(){var i,r,l,E,R=this.context,A=Ot(R).getInstance();function h(B,N,U){var Z=w(U);B[N]?A.areEqual(Z,B[N].data.baseUrls)||(B[N].data.baseUrls=Z,B[N].data.selectedIdx=si):B[N]=new pa(Z)}function w(B){var N=l.getBaseURLsFromElement(B),U=E.getSynthesizedBaseUrlElements(N);return U&&U.length>0&&(N=N.concat(U)),N}function L(B,N){var U=N||r;B(U.data),U.children&&U.children.forEach(function(Z){return L(B,Z)})}function Y(){r=new pa}return i={reset:Y,update:function(B){(function(N){(function(){if(!l||!l.hasOwnProperty("getBaseURLsFromElement")||!l.hasOwnProperty("getRepresentationSortFunction"))throw new Error("setConfig function has to be called previously")})();var U=w(N);A.areEqual(U,r.data.baseUrls)||(r.data.baseUrls=U,r.data.selectedIdx=si),N&&N.Period_asArray&&N.Period_asArray.forEach(function(Z,ce){h(r.children,ce,Z),Z.AdaptationSet_asArray&&Z.AdaptationSet_asArray.forEach(function(te,ue){h(r.children[ce].children,ue,te),te.Representation_asArray&&te.Representation_asArray.sort(l.getRepresentationSortFunction()).forEach(function(de,G){h(r.children[ce].children[ue].children,G,de)})})})})(B)},getForPath:function(B){var N=r,U=[N.data];return B&&B.forEach(function(Z){(N=N.children[Z])&&U.push(N.data)}),U.filter(function(Z){return Z.baseUrls.length})},invalidateSelectedIndexes:function(B){L(function(N){isNaN(N.selectedIdx)||B===N.baseUrls[N.selectedIdx].serviceLocation&&(N.selectedIdx=si)})},setConfig:function(B){B.adapter&&(l=B.adapter),B.contentSteeringController&&(E=B.contentSteeringController)},getBaseUrls:function(B){return w(B)}},Y(),i}ya.__dashjs_factory_name="BaseURLTreeModel";var Mo=_.Z.getClassFactory(ya);function Ea(i){var r=(i=i||{}).blacklistController;return{select:function(l){return l&&function(R){var A,h,w=0,L=[],Y=0;if((h=R.sort(function(B,N){var U=B.dvbPriority-N.dvbPriority;return isNaN(U)?0:U}).filter(function(B,N,U){return!N||U[0].dvbPriority&&B.dvbPriority&&U[0].dvbPriority===B.dvbPriority})).length)return h.length>1&&(h.forEach(function(B){w+=B.dvbWeight,L.push(w)}),A=Math.floor(Math.random()*(w-1)),L.every(function(B,N){return Y=N,!(A<B)})),h[Y]}((E=[],l.filter(function(R){return!r.contains(R.serviceLocation)||(R.dvbPriority&&E.push(R.dvbPriority),!1)}).filter(function(R){return!E.length||!R.dvbPriority||E.indexOf(R.dvbPriority)===-1})));var E}}}Ea.__dashjs_factory_name="DVBSelector";var Po=_.Z.getClassFactory(Ea);function va(i){var r=(i=i||{}).blacklistController;return{select:function(l){var E,R=0;return l&&l.some(function(A,h){return R=h,!r.contains(A.serviceLocation)})&&(E=l[R]),E}}}va.__dashjs_factory_name="BasicSelector";var Lo=_.Z.getClassFactory(va);function _a(){var i,r,l,E=this.context;function R(){for(var A=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],h=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],w=0,L=NaN,Y=function(){var N=A[w],U=h.findIndex(function(Z){return Z.serviceLocation&&Z.serviceLocation===N});if(U!==-1&&!l.contains(h[U].serviceLocation))return L=U,"break";w+=1};w<A.length;){var B=Y();if(B==="break")break}return L}return i={selectBaseUrlIndex:function(A){var h=NaN;if(isNaN(A.selectedIdx)){var w=r.getSteeringDataFromManifest();w&&w.defaultServiceLocationArray.length>0&&(h=R(w.defaultServiceLocationArray,A.baseUrls))}var L=r.getCurrentSteeringResponseData();return A.baseUrls&&A.baseUrls.length&&L&&L.pathwayPriority&&L.pathwayPriority.length&&(h=R(L.pathwayPriority,A.baseUrls)),h},setConfig:function(A){A.blacklistController&&(l=A.blacklistController),A.contentSteeringController&&(r=A.contentSteeringController)}},r=or(E).getInstance(),i}_a.__dashjs_factory_name="ContentSteeringSelector";var Fo=_.Z.getClassFactory(_a);function Ta(){var i,r,l,E,R,A,h=this.context,w=(0,p.Z)(h).getInstance(),L=(0,Ae.Z)(h).getInstance();function Y(){r.reset()}return i={chooseSelector:function(B){(0,W.PS)(B,"boolean"),A=B?E:l},select:function(B){if(B){if(L.get().streaming.applyContentSteering){var N=R.selectBaseUrlIndex(B);isNaN(N)||N===-1||(B.selectedIdx=N)}if(!isNaN(B.selectedIdx))return B.baseUrls[B.selectedIdx];var U=A.select(B.baseUrls);return U?(B.selectedIdx=B.baseUrls.indexOf(U),U):(w.trigger(u.Z.URL_RESOLUTION_FAILED,{error:new re.Z(X.URL_RESOLUTION_FAILED_GENERIC_ERROR_CODE,X.URL_RESOLUTION_FAILED_GENERIC_ERROR_MESSAGE)}),void(A===l&&Y()))}},reset:Y,setConfig:function(B){B.selector&&(A=B.selector),B.contentSteeringSelector&&(R=B.contentSteeringSelector)}},r=Lr(h).create({updateEventName:u.Z.SERVICE_LOCATION_BASE_URL_BLACKLIST_CHANGED,addBlacklistEventName:u.Z.SERVICE_LOCATION_BASE_URL_BLACKLIST_ADD}),l=Lo(h).create({blacklistController:r}),E=Po(h).create({blacklistController:r}),(R=Fo(h).create()).setConfig({blacklistController:r}),A=l,i}Ta.__dashjs_factory_name="BaseURLSelector";var xo=_.Z.getClassFactory(Ta);function Sa(){var i,r,l,E,R,A=this.context,h=(0,p.Z)(A).getInstance(),w=(0,ze.Z)(A).getInstance();function L(B){l.update(B),E.chooseSelector(r.getIsDVB(B)),h.trigger(n.Z.BASE_URLS_UPDATED,{baseUrls:Y(B)})}function Y(B){return l.getBaseUrls(B)}return i={reset:function(){l.reset(),E.reset()},initialize:function(B){l.setConfig({adapter:r,contentSteeringController:R}),L(B)},resolve:function(B){var N=l.getForPath(B).reduce(function(U,Z){var ce=E.select(Z);return ce?(w.isRelative(ce.url)?U.url=w.resolve(ce.url,U.url):(U.url=ce.url,U.serviceLocation=ce.serviceLocation),U.availabilityTimeOffset=ce.availabilityTimeOffset,U.availabilityTimeComplete=ce.availabilityTimeComplete,U.queryParams=ce.queryParams,U):new rr},new rr);if(!w.isRelative(N.url))return N},setConfig:function(B){B.baseURLTreeModel&&(l=B.baseURLTreeModel),B.baseURLSelector&&(E=B.baseURLSelector),B.adapter&&(r=B.adapter),B.contentSteeringController&&(R=B.contentSteeringController)},getBaseUrls:Y,update:L},l=Mo(A).create(),E=xo(A).create(),h.on(u.Z.SERVICE_LOCATION_BASE_URL_BLACKLIST_CHANGED,function(B){l.invalidateSelectedIndexes(B.entry)},i),i}Sa.__dashjs_factory_name="BaseURLController";var ko=_.Z.getClassFactory(Sa);function Mi(i){return Mi=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(r){return typeof r}:function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},Mi(i)}function Pi(i,r){return Pi=Object.setPrototypeOf||function(l,E){return l.__proto__=E,l},Pi(i,r)}function Zo(i,r){return!r||Mi(r)!=="object"&&typeof r!="function"?function(l){if(l===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return l}(i):r}function ui(i){return ui=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},ui(i)}var ba=function(i){(function(A,h){if(typeof h!="function"&&h!==null)throw new TypeError("Super expression must either be null or a function");A.prototype=Object.create(h&&h.prototype,{constructor:{value:A,writable:!0,configurable:!0}}),h&&Pi(A,h)})(R,i);var r,l,E=(r=R,l=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var A,h=ui(r);if(l){var w=ui(this).constructor;A=Reflect.construct(h,arguments,w)}else A=h.apply(this,arguments);return Zo(this,A)});function R(A,h){var w;return function(L,Y){if(!(L instanceof Y))throw new TypeError("Cannot call a class as a function")}(this,R),(w=E.call(this)).url=A||null,w.type=h||null,w.mediaType=t.Z.STREAM,w.responseType="",w}return R}(I.Z);function Aa(i){i=i||{};var r=this.context,l=(0,p.Z)(r).getInstance(),E=Wn(r).create({errHandler:i.errHandler,dashMetrics:i.dashMetrics,mediaPlayerModel:i.mediaPlayerModel,requestModifier:i.requestModifier,errors:X});return{load:function(R,A,h){var w=function(Y,B){A.resolved=!0,A.resolvedContent=Y||null,l.trigger(u.Z.XLINK_ELEMENT_LOADED,{element:A,resolveObject:h,error:Y||B?null:new re.Z(X.XLINK_LOADER_LOADING_FAILURE_ERROR_CODE,X.XLINK_LOADER_LOADING_FAILURE_ERROR_MESSAGE+R)})};if(R==="urn:mpeg:dash:resolve-to-zero:2013")w(null,!0);else{var L=new ba(R,Le.w.XLINK_EXPANSION_TYPE);E.load({request:L,success:function(Y){w(Y)},error:function(){w(null)}})}},reset:function(){E&&(E.abort(),E=null)}}}Aa.__dashjs_factory_name="XlinkLoader";var Uo=_.Z.getClassFactory(Aa),Ia=function(i){(i=i||{}).escapeMode===void 0&&(i.escapeMode=!0),i.attributePrefix===void 0&&(i.attributePrefix="_"),i.arrayAccessForm=i.arrayAccessForm||"none",i.emptyNodeForm=i.emptyNodeForm||"text",i.enableToStringFunc===void 0&&(i.enableToStringFunc=!0),i.arrayAccessFormPaths=i.arrayAccessFormPaths||[],i.skipEmptyTextNodesForObj===void 0&&(i.skipEmptyTextNodesForObj=!0),i.stripWhitespaces===void 0&&(i.stripWhitespaces=!0),i.datetimeAccessFormPaths=i.datetimeAccessFormPaths||[],i.useDoubleQuotes===void 0&&(i.useDoubleQuotes=!1),i.xmlElementsFilter=i.xmlElementsFilter||[],i.jsonPropertiesFilter=i.jsonPropertiesFilter||[],i.keepCData===void 0&&(i.keepCData=!1),i.ignoreRoot===void 0&&(i.ignoreRoot=!1);function r(G){var ie=G.localName;return ie==null&&(ie=G.baseName),ie!=null&&ie!=""||(ie=G.nodeName),ie}function l(G){return typeof G=="string"?G.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&apos;"):G}function E(G,ie,j,le){for(var g=0;g<G.length;g++){var M=G[g];if(typeof M=="string"){if(M==le)break}else if(M instanceof RegExp){if(M.test(le))break}else if(typeof M=="function"&&M(ie,j,le))break}return g!=G.length}function R(G,ie,j){i.arrayAccessForm==="property"&&(G[ie]instanceof Array?G[ie+"_asArray"]=G[ie]:G[ie+"_asArray"]=[G[ie]]),!(G[ie]instanceof Array)&&i.arrayAccessFormPaths.length>0&&E(i.arrayAccessFormPaths,G,ie,j)&&(G[ie]=[G[ie]])}function A(G){var ie=G.split(/[-T:+Z]/g),j=new Date(ie[0],ie[1]-1,ie[2]),le=ie[5].split(".");if(j.setHours(ie[3],ie[4],le[0]),le.length>1&&j.setMilliseconds(le[1]),ie[6]&&ie[7]){var g=60*ie[6]+Number(ie[7]);g=0+((/\d\d-\d\d:\d\d$/.test(G)?"-":"+")=="-"?-1*g:g),j.setMinutes(j.getMinutes()-g-j.getTimezoneOffset())}else G.indexOf("Z",G.length-1)!==-1&&(j=new Date(Date.UTC(j.getFullYear(),j.getMonth(),j.getDate(),j.getHours(),j.getMinutes(),j.getSeconds(),j.getMilliseconds())));return j}function h(G,ie,j,le){return!(ie==1&&i.xmlElementsFilter.length>0)||E(i.xmlElementsFilter,G,j,le)}function w(G,ie){if(G.nodeType==9){for(var j=new Object,le=G.childNodes,g=0;g<le.length;g++)(C=le[g]).nodeType==1&&(i.ignoreRoot?j=w(C):(j={})[D=r(C)]=w(C));return j}if(G.nodeType==1){(j=new Object).__cnt=0;var M=[];for(le=G.childNodes,g=0;g<le.length;g++){var C,D=r(C=le[g]);if(C.nodeType!=8){var b=ie+"."+D;if(h(j,C.nodeType,D,b))if(j.__cnt++,j[D]==null){var ne=w(C,b);(D!="#text"||/[^\s]/.test(ne))&&((z={})[D]=ne,M.push(z)),j[D]=ne,R(j,D,b)}else{var z;j[D]!=null&&(j[D]instanceof Array||(j[D]=[j[D]],R(j,D,b))),ne=w(C,b),(D!="#text"||/[^\s]/.test(ne))&&((z={})[D]=ne,M.push(z)),j[D][j[D].length]=ne}}}j.__children=M;for(var oe=r(G),Q=0;Q<G.attributes.length;Q++){var x=G.attributes[Q];j.__cnt++;for(var J=x.value,he=0,Ne=i.matchers.length;he<Ne;he++){var Te=i.matchers[he];Te.test(x,oe)&&(J=Te.converter(x.value))}j[i.attributePrefix+x.name]=J}var Ce=function(Ie){return Ie.prefix}(G);return Ce!=null&&Ce!=""&&(j.__cnt++,j.__prefix=Ce),j["#text"]!=null&&(j.__text=j["#text"],j.__text instanceof Array&&(j.__text=j.__text.join(`
+`)),i.stripWhitespaces&&(j.__text=j.__text.trim()),delete j["#text"],i.arrayAccessForm=="property"&&delete j["#text_asArray"],j.__text=function(Ie,et,nt){if(i.datetimeAccessFormPaths.length>0){var We=nt.split(".#")[0];return E(i.datetimeAccessFormPaths,Ie,et,We)?A(Ie):Ie}return Ie}(j.__text,D,ie+"."+D)),j["#cdata-section"]!=null&&(j.__cdata=j["#cdata-section"],delete j["#cdata-section"],i.arrayAccessForm=="property"&&delete j["#cdata-section_asArray"]),j.__cnt==0&&i.emptyNodeForm=="text"?j="":j.__cnt==1&&j.__text!=null?j=j.__text:j.__cnt!=1||j.__cdata==null||i.keepCData?j.__cnt>1&&j.__text!=null&&i.skipEmptyTextNodesForObj&&(i.stripWhitespaces&&j.__text==""||j.__text.trim()=="")&&delete j.__text:j=j.__cdata,delete j.__cnt,!i.enableToStringFunc||j.__text==null&&j.__cdata==null||(j.toString=function(){return(this.__text!=null?this.__text:"")+(this.__cdata!=null?this.__cdata:"")}),j}if(G.nodeType==3||G.nodeType==4)return G.nodeValue}function L(G,ie,j,le){var g="<"+(G!=null&&G.__prefix!=null?G.__prefix+":":"")+ie;if(j!=null)for(var M=0;M<j.length;M++){var C=j[M],D=G[C];i.escapeMode&&(D=l(D)),g+=" "+C.substr(i.attributePrefix.length)+"=",i.useDoubleQuotes?g+='"'+D+'"':g+="'"+D+"'"}return g+(le?"/>":">")}function Y(G,ie){return"</"+(G.__prefix!=null?G.__prefix+":":"")+ie+">"}function B(G,ie){return i.arrayAccessForm=="property"&&(le="_asArray",(j=ie.toString()).indexOf(le,j.length-le.length)!==-1)||ie.toString().indexOf(i.attributePrefix)==0||ie.toString().indexOf("__")==0||G[ie]instanceof Function;var j,le}function N(G){var ie=0;if(G instanceof Object)for(var j in G)B(G,j)||ie++;return ie}function U(G,ie,j){return i.jsonPropertiesFilter.length==0||j==""||E(i.jsonPropertiesFilter,G,ie,j)}function Z(G){var ie=[];if(G instanceof Object)for(var j in G)j.toString().indexOf("__")==-1&&j.toString().indexOf(i.attributePrefix)==0&&ie.push(j);return ie}function ce(G){var ie="";return G instanceof Object?ie+=function(j){var le="";return j.__cdata!=null&&(le+="<![CDATA["+j.__cdata+"]]>"),j.__text!=null&&(i.escapeMode?le+=l(j.__text):le+=j.__text),le}(G):G!=null&&(i.escapeMode?ie+=l(G):ie+=G),ie}function te(G,ie){return G===""?ie:G+"."+ie}function ue(G,ie,j,le){var g="";if(G.length==0)g+=L(G,ie,j,!0);else for(var M=0;M<G.length;M++)g+=L(G[M],ie,Z(G[M]),!1),g+=de(G[M],te(le,ie)),g+=Y(G[M],ie);return g}function de(G,ie){var j="";if(N(G)>0){for(var le in G)if(!B(G,le)&&(ie==""||U(G,le,te(ie,le)))){var g=G[le],M=Z(g);g==null||g==null?j+=L(g,le,M,!0):g instanceof Object?g instanceof Array?j+=ue(g,le,M,ie):g instanceof Date?(j+=L(g,le,M,!1),j+=g.toISOString(),j+=Y(g,le)):N(g)>0||g.__text!=null||g.__cdata!=null?(j+=L(g,le,M,!1),j+=de(g,te(ie,le)),j+=Y(g,le)):j+=L(g,le,M,!0):(j+=L(g,le,M,!1),j+=ce(g),j+=Y(g,le))}}return j+ce(G)}this.parseXmlString=function(G){var ie;if(G===void 0)return null;if(window.DOMParser){var j=new window.DOMParser;try{(ie=j.parseFromString(G,"text/xml")).getElementsByTagNameNS("*","parsererror").length>0&&(ie=null)}catch{ie=null}}else G.indexOf("<?")==0&&(G=G.substr(G.indexOf("?>")+2)),(ie=new ActiveXObject("Microsoft.XMLDOM")).async="false",ie.loadXML(G);return ie},this.asArray=function(G){return G===void 0||G==null?[]:G instanceof Array?G:[G]},this.toXmlDateTime=function(G){return G instanceof Date?G.toISOString():typeof G=="number"?new Date(G).toISOString():null},this.asDateTime=function(G){return typeof G=="string"?A(G):G},this.xml2json=function(G){return w(G)},this.xml_str2json=function(G){var ie=this.parseXmlString(G);return ie!=null?this.xml2json(ie):null},this.json2xml_str=function(G){return de(G,"")},this.json2xml=function(G){var ie=this.json2xml_str(G);return this.parseXmlString(ie)},this.getVersion=function(){return"1.2.0"}},kr="onLoad";function Ra(i){i=i||{};var r,l,E,R,A,h,w=this.context,L=(0,p.Z)(w).getInstance(),Y=(0,ze.Z)(w).getInstance();function B(te,ue,de){var G,ie,j={};j.elements=te,j.type=ue,j.resolveType=de,j.elements.length===0&&U(j);for(var le=0;le<j.elements.length;le++)G=j.elements[le],ie=Y.isHTTPURL(G.url)?G.url:G.originalContent.BaseURL+G.url,h.load(ie,G,j)}function N(te){var ue,de,G="";if(ue=te.element,de=te.resolveObject,ue.resolvedContent){var ie=0;ue.resolvedContent.indexOf("<?xml")===0&&(ie=ue.resolvedContent.indexOf("?>")+2),G=ue.resolvedContent.substr(0,ie)+"<response>"+ue.resolvedContent.substr(ie)+"</response>",ue.resolvedContent=A.xml_str2json(G)}(function(j){var le;for(le=0;le<j.elements.length;le++)if(j.elements[le].resolved===!1)return!1;return!0})(de)&&U(de)}function U(te){var ue,de,G=[];if(function(ie){var j,le,g,M,C,D,b=[];for(M=ie.elements.length-1;M>=0;M--){if(le=(j=ie.elements[M]).type+"_asArray",j.resolvedContent){if(j.resolvedContent)for(C=0;C<j.resolvedContent[le].length;C++)g=j.resolvedContent[le][C],b.push(g)}else delete j.originalContent["xlink:actuate"],delete j.originalContent["xlink:href"],b.push(j.originalContent);for(j.parentElement[le].splice(j.index,1),D=0;D<b.length;D++)j.parentElement[le].splice(j.index+D,0,b[D]);b=[]}ie.elements.length>0&&E.run(R)}(te),te.resolveType==="onActuate"&&L.trigger(u.Z.XLINK_READY,{manifest:R}),te.resolveType===kr)switch(te.type){case e.Z.PERIOD:for(ue=0;ue<R[e.Z.PERIOD+"_asArray"].length;ue++)(de=R[e.Z.PERIOD+"_asArray"][ue]).hasOwnProperty(e.Z.ADAPTATION_SET+"_asArray")&&(G=G.concat(Z(de[e.Z.ADAPTATION_SET+"_asArray"],de,e.Z.ADAPTATION_SET,kr))),de.hasOwnProperty(e.Z.EVENT_STREAM+"_asArray")&&(G=G.concat(Z(de[e.Z.EVENT_STREAM+"_asArray"],de,e.Z.EVENT_STREAM,kr)));B(G,e.Z.ADAPTATION_SET,kr);break;case e.Z.ADAPTATION_SET:L.trigger(u.Z.XLINK_READY,{manifest:R})}}function Z(te,ue,de,G){var ie,j,le,g=[];for(j=te.length-1;j>=0;j--)(ie=te[j]).hasOwnProperty("xlink:href")&&ie["xlink:href"]==="urn:mpeg:dash:resolve-to-zero:2013"&&te.splice(j,1);for(j=0;j<te.length;j++)(ie=te[j]).hasOwnProperty("xlink:href")&&ie.hasOwnProperty("xlink:actuate")&&ie["xlink:actuate"]===G&&(le=ce(ie["xlink:href"],ue,de,j,G,ie),g.push(le));return g}function ce(te,ue,de,G,ie,j){return{url:te,parentElement:ue,type:de,index:G,resolveType:ie,originalContent:j,resolvedContent:null,resolved:!1}}return r={resolveManifestOnLoad:function(te){A=new Ia({escapeMode:!1,attributePrefix:"",arrayAccessForm:"property",emptyNodeForm:"object",stripWhitespaces:!1,enableToStringFunc:!1,ignoreRoot:!0,matchers:l}),(R=te).Period_asArray?B(Z(R.Period_asArray,R,e.Z.PERIOD,kr),e.Z.PERIOD,kr):L.trigger(u.Z.XLINK_READY,{manifest:R})},setMatchers:function(te){te&&(l=te)},setIron:function(te){te&&(E=te)},reset:function(){L.off(u.Z.XLINK_ELEMENT_LOADED,N,r),h&&(h.reset(),h=null)}},L.on(u.Z.XLINK_ELEMENT_LOADED,N,r),h=Uo(w).create({errHandler:i.errHandler,dashMetrics:i.dashMetrics,mediaPlayerModel:i.mediaPlayerModel,requestModifier:i.requestModifier,settings:i.settings}),r}Ra.__dashjs_factory_name="XlinkController";var Bo=_.Z.getClassFactory(Ra);function jr(i){return jr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(r){return typeof r}:function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},jr(i)}function wa(i){function r(R,A){for(var h in R)A.hasOwnProperty(h)||(A[h]=R[h])}function l(R,A,h){for(var w=0,L=R.length;w<L;++w){var Y=R[w];if(A[Y.name])if(h[Y.name]){if(Y.merge){var B=A[Y.name],N=h[Y.name];jr(B)==="object"&&jr(N)==="object"?r(B,N):h[Y.name]=B+N}}else h[Y.name]=A[Y.name]}}function E(R,A){for(var h=0,w=R.children.length;h<w;++h){var L=R.children[h],Y=A[L.name+"_asArray"];if(Y)for(var B=0,N=Y.length;B<N;++B){var U=Y[B];l(R.properties,A,U),E(L,U)}}}return{run:function(R){if(R===null||jr(R)!=="object")return R;if(R.Period_asArray&&"period"in i)for(var A=i.period,h=R.Period_asArray,w=0,L=h.length;w<L;++w){var Y=h[w];if(E(A,Y),"adaptationset"in i){var B=Y.AdaptationSet_asArray;if(B)for(var N=i.adaptationset,U=0,Z=B.length;U<Z;++U)E(N,B[U])}}return R}}}wa.__dashjs_factory_name="ObjectIron";var Go=_.Z.getClassFactory(wa);function qo(i,r){for(var l=0;l<r.length;l++){var E=r[l];E.enumerable=E.enumerable||!1,E.configurable=!0,"value"in E&&(E.writable=!0),Object.defineProperty(i,E.key,E)}}var Hr=function(){function i(E,R){(function(A,h){if(!(A instanceof h))throw new TypeError("Cannot call a class as a function")})(this,i),this._test=E,this._converter=R}var r,l;return r=i,(l=[{key:"test",get:function(){return this._test}},{key:"converter",get:function(){return this._converter}}])&&qo(r.prototype,l),i}();function Li(i){return Li=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(r){return typeof r}:function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},Li(i)}function On(i,r,l){return r in i?Object.defineProperty(i,r,{value:l,enumerable:!0,configurable:!0,writable:!0}):i[r]=l,i}function Fi(i,r){return Fi=Object.setPrototypeOf||function(l,E){return l.__proto__=E,l},Fi(i,r)}function Yo(i,r){return!r||Li(r)!=="object"&&typeof r!="function"?function(l){if(l===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return l}(i):r}function li(i){return li=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},li(i)}var jo=function(i){(function(A,h){if(typeof h!="function"&&h!==null)throw new TypeError("Super expression must either be null or a function");A.prototype=Object.create(h&&h.prototype,{constructor:{value:A,writable:!0,configurable:!0}}),h&&Fi(A,h)})(R,i);var r,l,E=(r=R,l=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var A,h=li(r);if(l){var w=li(this).constructor;A=Reflect.construct(h,arguments,w)}else A=h.apply(this,arguments);return Yo(this,A)});function R(){return function(A,h){if(!(A instanceof h))throw new TypeError("Cannot call a class as a function")}(this,R),E.call(this,function(A,h){var w,L=(On(w={},e.Z.MPD,[e.Z.ID,e.Z.PROFILES]),On(w,e.Z.PERIOD,[e.Z.ID]),On(w,e.Z.BASE_URL,[e.Z.SERVICE_LOCATION,e.Z.BYTE_RANGE]),On(w,e.Z.SEGMENT_BASE,[e.Z.INDEX_RANGE]),On(w,e.Z.INITIALIZATION,[e.Z.RANGE]),On(w,e.Z.REPRESENTATION_INDEX,[e.Z.RANGE]),On(w,e.Z.SEGMENT_LIST,[e.Z.INDEX_RANGE]),On(w,e.Z.BITSTREAM_SWITCHING,[e.Z.RANGE]),On(w,e.Z.SEGMENT_URL,[e.Z.MEDIA_RANGE,e.Z.INDEX_RANGE]),On(w,e.Z.SEGMENT_TEMPLATE,[e.Z.INDEX_RANGE,e.Z.MEDIA,e.Z.INDEX,e.Z.INITIALIZATION_MINUS,e.Z.BITSTREAM_SWITCHING_MINUS]),On(w,e.Z.ASSET_IDENTIFIER,[e.Z.VALUE,e.Z.ID]),On(w,e.Z.EVENT_STREAM,[e.Z.VALUE]),On(w,e.Z.ADAPTATION_SET,[e.Z.PROFILES,e.Z.MIME_TYPE,e.Z.SEGMENT_PROFILES,e.Z.CODECS,e.Z.CONTENT_TYPE]),On(w,e.Z.FRAME_PACKING,[e.Z.VALUE,e.Z.ID]),On(w,e.Z.AUDIO_CHANNEL_CONFIGURATION,[e.Z.VALUE,e.Z.ID]),On(w,e.Z.CONTENT_PROTECTION,[e.Z.VALUE,e.Z.ID]),On(w,e.Z.ESSENTIAL_PROPERTY,[e.Z.VALUE,e.Z.ID]),On(w,e.Z.SUPPLEMENTAL_PROPERTY,[e.Z.VALUE,e.Z.ID]),On(w,e.Z.INBAND_EVENT_STREAM,[e.Z.VALUE,e.Z.ID]),On(w,e.Z.ACCESSIBILITY,[e.Z.VALUE,e.Z.ID]),On(w,e.Z.ROLE,[e.Z.VALUE,e.Z.ID]),On(w,e.Z.RATING,[e.Z.VALUE,e.Z.ID]),On(w,e.Z.VIEWPOINT,[e.Z.VALUE,e.Z.ID]),On(w,e.Z.CONTENT_COMPONENT,[e.Z.CONTENT_TYPE]),On(w,e.Z.REPRESENTATION,[e.Z.ID,e.Z.DEPENDENCY_ID,e.Z.MEDIA_STREAM_STRUCTURE_ID]),On(w,e.Z.SUBSET,[e.Z.ID]),On(w,e.Z.METRICS,[e.Z.METRICS_MINUS]),On(w,e.Z.REPORTING,[e.Z.VALUE,e.Z.ID]),w);if(L.hasOwnProperty(h)){var Y=L[h];return Y!==void 0&&Y.indexOf(A.name)>=0}return!1},function(A){return String(A)})}return R}(Hr);function xi(i){return xi=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(r){return typeof r}:function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},xi(i)}function ki(i,r){return ki=Object.setPrototypeOf||function(l,E){return l.__proto__=E,l},ki(i,r)}function Ho(i,r){return!r||xi(r)!=="object"&&typeof r!="function"?function(l){if(l===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return l}(i):r}function ci(i){return ci=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},ci(i)}var Na=/^([-])?P(([\d.]*)Y)?(([\d.]*)M)?(([\d.]*)D)?T?(([\d.]*)H)?(([\d.]*)M)?(([\d.]*)S)?/,Vo=function(i){(function(A,h){if(typeof h!="function"&&h!==null)throw new TypeError("Super expression must either be null or a function");A.prototype=Object.create(h&&h.prototype,{constructor:{value:A,writable:!0,configurable:!0}}),h&&ki(A,h)})(R,i);var r,l,E=(r=R,l=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var A,h=ci(r);if(l){var w=ci(this).constructor;A=Reflect.construct(h,arguments,w)}else A=h.apply(this,arguments);return Ho(this,A)});function R(){return function(A,h){if(!(A instanceof h))throw new TypeError("Cannot call a class as a function")}(this,R),E.call(this,function(A){for(var h=[e.Z.MIN_BUFFER_TIME,e.Z.MEDIA_PRESENTATION_DURATION,e.Z.MINIMUM_UPDATE_PERIOD,e.Z.TIMESHIFT_BUFFER_DEPTH,e.Z.MAX_SEGMENT_DURATION,e.Z.MAX_SUBSEGMENT_DURATION,e.Z.SUGGESTED_PRESENTATION_DELAY,e.Z.START,t.Z.START_TIME,e.Z.DURATION],w=h.length,L=0;L<w;L++)if(A.nodeName===h[L])return Na.test(A.value);return!1},function(A){var h=Na.exec(A),w=31536e3*parseFloat(h[3]||0)+2592e3*parseFloat(h[5]||0)+86400*parseFloat(h[7]||0)+3600*parseFloat(h[9]||0)+60*parseFloat(h[11]||0)+parseFloat(h[13]||0);return h[1]!==void 0&&(w=-w),w})}return R}(Hr);function Zi(i){return Zi=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(r){return typeof r}:function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},Zi(i)}function Ui(i,r){return Ui=Object.setPrototypeOf||function(l,E){return l.__proto__=E,l},Ui(i,r)}function Ko(i,r){return!r||Zi(r)!=="object"&&typeof r!="function"?function(l){if(l===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return l}(i):r}function fi(i){return fi=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},fi(i)}var Ca=/^([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2})(?::([0-9]*)(\.[0-9]*)?)?(?:([+-])([0-9]{2})(?::?)([0-9]{2}))?/,zo=function(i){(function(A,h){if(typeof h!="function"&&h!==null)throw new TypeError("Super expression must either be null or a function");A.prototype=Object.create(h&&h.prototype,{constructor:{value:A,writable:!0,configurable:!0}}),h&&Ui(A,h)})(R,i);var r,l,E=(r=R,l=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var A,h=fi(r);if(l){var w=fi(this).constructor;A=Reflect.construct(h,arguments,w)}else A=h.apply(this,arguments);return Ko(this,A)});function R(){return function(A,h){if(!(A instanceof h))throw new TypeError("Cannot call a class as a function")}(this,R),E.call(this,function(A){return Ca.test(A.value)},function(A){var h,w=Ca.exec(A);if(h=Date.UTC(parseInt(w[1],10),parseInt(w[2],10)-1,parseInt(w[3],10),parseInt(w[4],10),parseInt(w[5],10),w[6]&&parseInt(w[6],10)||0,w[7]&&1e3*parseFloat(w[7])||0),w[9]&&w[10]){var L=60*parseInt(w[9],10)+parseInt(w[10],10);h+=(w[8]==="+"?-1:1)*L*60*1e3}return new Date(h)})}return R}(Hr);function Bi(i){return Bi=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(r){return typeof r}:function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},Bi(i)}function Gi(i,r){return Gi=Object.setPrototypeOf||function(l,E){return l.__proto__=E,l},Gi(i,r)}function Wo(i,r){return!r||Bi(r)!=="object"&&typeof r!="function"?function(l){if(l===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return l}(i):r}function di(i){return di=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},di(i)}var Xo=/^[-+]?[0-9]+[.]?[0-9]*([eE][-+]?[0-9]+)?$/,Qo=function(i){(function(A,h){if(typeof h!="function"&&h!==null)throw new TypeError("Super expression must either be null or a function");A.prototype=Object.create(h&&h.prototype,{constructor:{value:A,writable:!0,configurable:!0}}),h&&Gi(A,h)})(R,i);var r,l,E=(r=R,l=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var A,h=di(r);if(l){var w=di(this).constructor;A=Reflect.construct(h,arguments,w)}else A=h.apply(this,arguments);return Wo(this,A)});function R(){return function(A,h){if(!(A instanceof h))throw new TypeError("Cannot call a class as a function")}(this,R),E.call(this,function(A){return Xo.test(A.value)},function(A){return parseFloat(A)})}return R}(Hr);function qi(i){return qi=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(r){return typeof r}:function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},qi(i)}function Vr(i,r,l){return r in i?Object.defineProperty(i,r,{value:l,enumerable:!0,configurable:!0,writable:!0}):i[r]=l,i}function Yi(i,r){return Yi=Object.setPrototypeOf||function(l,E){return l.__proto__=E,l},Yi(i,r)}function Jo(i,r){return!r||qi(r)!=="object"&&typeof r!="function"?function(l){if(l===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return l}(i):r}function gi(i){return gi=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},gi(i)}var $o=function(i){(function(A,h){if(typeof h!="function"&&h!==null)throw new TypeError("Super expression must either be null or a function");A.prototype=Object.create(h&&h.prototype,{constructor:{value:A,writable:!0,configurable:!0}}),h&&Yi(A,h)})(R,i);var r,l,E=(r=R,l=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var A,h=gi(r);if(l){var w=gi(this).constructor;A=Reflect.construct(h,arguments,w)}else A=h.apply(this,arguments);return Jo(this,A)});function R(){return function(A,h){if(!(A instanceof h))throw new TypeError("Cannot call a class as a function")}(this,R),E.call(this,function(A,h){var w,L=(Vr(w={},e.Z.ADAPTATION_SET,[e.Z.LANG]),Vr(w,e.Z.REPRESENTATION,[e.Z.LANG]),Vr(w,e.Z.CONTENT_COMPONENT,[e.Z.LANG]),Vr(w,e.Z.LABEL,[e.Z.LANG]),Vr(w,e.Z.GROUP_LABEL,[e.Z.LANG]),w);if(L.hasOwnProperty(h)){var Y=L[h];return Y!==void 0&&Y.indexOf(A.name)>=0}return!1},function(A){return oi()(A)||String(A)})}return R}(Hr);function es(i,r){for(var l=0;l<r.length;l++){var E=r[l];E.enumerable=E.enumerable||!1,E.configurable=!0,"value"in E&&(E.writable=!0),Object.defineProperty(i,E.key,E)}}var ts=function(){function i(E){var R;(function(A,h){if(!(A instanceof h))throw new TypeError("Cannot call a class as a function")})(this,i),this._name=E,this._merge=(R=E)&&R.length&&R.charAt(0)===R.charAt(0).toUpperCase()}var r,l;return r=i,(l=[{key:"name",get:function(){return this._name}},{key:"merge",get:function(){return this._merge}}])&&es(r.prototype,l),i}();function ns(i,r){for(var l=0;l<r.length;l++){var E=r[l];E.enumerable=E.enumerable||!1,E.configurable=!0,"value"in E&&(E.writable=!0),Object.defineProperty(i,E.key,E)}}var Zr=function(){function i(E,R,A){var h=this;(function(w,L){if(!(w instanceof L))throw new TypeError("Cannot call a class as a function")})(this,i),this._name=E||"",this._properties=[],this._children=A||[],Array.isArray(R)&&R.forEach(function(w){h._properties.push(new ts(w))})}var r,l;return r=i,(l=[{key:"name",get:function(){return this._name}},{key:"children",get:function(){return this._children}},{key:"properties",get:function(){return this._properties}}])&&ns(r.prototype,l),i}();function ji(i){return ji=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(r){return typeof r}:function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},ji(i)}function Hi(i,r){return Hi=Object.setPrototypeOf||function(l,E){return l.__proto__=E,l},Hi(i,r)}function rs(i,r){return!r||ji(r)!=="object"&&typeof r!="function"?function(l){if(l===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return l}(i):r}function hi(i){return hi=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},hi(i)}var is=function(i){(function(A,h){if(typeof h!="function"&&h!==null)throw new TypeError("Super expression must either be null or a function");A.prototype=Object.create(h&&h.prototype,{constructor:{value:A,writable:!0,configurable:!0}}),h&&Hi(A,h)})(R,i);var r,l,E=(r=R,l=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var A,h=hi(r);if(l){var w=hi(this).constructor;A=Reflect.construct(h,arguments,w)}else A=h.apply(this,arguments);return rs(this,A)});function R(){(function(h,w){if(!(h instanceof w))throw new TypeError("Cannot call a class as a function")})(this,R);var A=[e.Z.PROFILES,e.Z.WIDTH,e.Z.HEIGHT,e.Z.SAR,e.Z.FRAMERATE,e.Z.AUDIO_SAMPLING_RATE,e.Z.MIME_TYPE,e.Z.SEGMENT_PROFILES,e.Z.CODECS,e.Z.MAXIMUM_SAP_PERIOD,e.Z.START_WITH_SAP,e.Z.MAX_PLAYOUT_RATE,e.Z.CODING_DEPENDENCY,e.Z.SCAN_TYPE,e.Z.FRAME_PACKING,e.Z.AUDIO_CHANNEL_CONFIGURATION,e.Z.CONTENT_PROTECTION,e.Z.ESSENTIAL_PROPERTY,e.Z.ESSENTIAL_PROPERTY+"_asArray",e.Z.SUPPLEMENTAL_PROPERTY,e.Z.INBAND_EVENT_STREAM];return E.call(this,e.Z.ADAPTATION_SET,A,[new Zr(e.Z.REPRESENTATION,A,[new Zr(e.Z.SUB_REPRESENTATION,A)])])}return R}(Zr);function Vi(i){return Vi=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(r){return typeof r}:function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},Vi(i)}function Ki(i,r){return Ki=Object.setPrototypeOf||function(l,E){return l.__proto__=E,l},Ki(i,r)}function as(i,r){return!r||Vi(r)!=="object"&&typeof r!="function"?function(l){if(l===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return l}(i):r}function mi(i){return mi=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},mi(i)}var os=function(i){(function(A,h){if(typeof h!="function"&&h!==null)throw new TypeError("Super expression must either be null or a function");A.prototype=Object.create(h&&h.prototype,{constructor:{value:A,writable:!0,configurable:!0}}),h&&Ki(A,h)})(R,i);var r,l,E=(r=R,l=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var A,h=mi(r);if(l){var w=mi(this).constructor;A=Reflect.construct(h,arguments,w)}else A=h.apply(this,arguments);return as(this,A)});function R(){(function(h,w){if(!(h instanceof w))throw new TypeError("Cannot call a class as a function")})(this,R);var A=[e.Z.SEGMENT_BASE,e.Z.SEGMENT_TEMPLATE,e.Z.SEGMENT_LIST];return E.call(this,e.Z.PERIOD,A,[new Zr(e.Z.ADAPTATION_SET,A,[new Zr(e.Z.REPRESENTATION,A)])])}return R}(Zr);function Da(i){i=i||{};var r,l,E,R,A,h=this.context,w=i.debug;return r={parse:function(L){var Y,B=window.performance.now();if(!(Y=R.xml_str2json(L)))throw new Error("parsing the manifest failed");var N=window.performance.now();Y.Patch?((Y=Y.Patch).add_asArray&&Y.add_asArray.forEach(function(Z){return A.run(Z)}),Y.replace_asArray&&Y.replace_asArray.forEach(function(Z){return A.run(Z)})):(Y=Y.MPD,A.run(Y));var U=window.performance.now();return l.info("Parsing complete: ( xml2json: "+(N-B).toPrecision(3)+"ms, objectiron: "+(U-N).toPrecision(3)+"ms, total: "+((U-B)/1e3).toPrecision(3)+"s)"),Y.protocol="DASH",Y},getMatchers:function(){return E},getIron:function(){return A}},l=w.getLogger(r),E=[new Vo,new zo,new Qo,new $o,new jo],R=new Ia({escapeMode:!1,attributePrefix:"",arrayAccessForm:"property",emptyNodeForm:"object",stripWhitespaces:!1,enableToStringFunc:!0,ignoreRoot:!1,matchers:E}),A=Go(h).create({adaptationset:new is,period:new os}),r}Da.__dashjs_factory_name="DashParser";var ss=_.Z.getClassFactory(Da);function Oa(i){i=i||{};var r,l,E,R,A,h=this.context,w=i.debug,L=i.settings,Y=(0,p.Z)(h).getInstance(),B=(0,ze.Z)(h).getInstance(),N=i.mssHandler,U=i.errHandler;function Z(te){Y.trigger(u.Z.INTERNAL_MANIFEST_LOADED,{manifest:te.manifest})}function ce(te){var ue=null;return te.indexOf("SmoothStreamingMedia")>-1?(N&&(ue=N.createMssParser(),N.createMssFragmentProcessor(),N.registerEvents()),ue):te.indexOf("MPD")>-1||te.indexOf("Patch")>-1?ss(h).create({debug:w}):ue}return r={load:function(te){var ue=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null,de=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,G=new Date,ie=new ba(te,Le.w.MPD_TYPE);ue&&(ie.serviceLocation=ue),de&&(ie.queryParams=de),ie.requestStartDate||(ie.requestStartDate=G),Y.trigger(u.Z.MANIFEST_LOADING_STARTED,{request:ie}),E.load({request:ie,success:function(j,le,g){var M,C,D;if(R)if(g&&g!==te?(C=B.parseBaseUrl(g),M=g):(B.isRelative(te)&&(te=B.resolve(te,window.location.href)),C=B.parseBaseUrl(te)),le!="No Content")if(A===null&&(A=ce(j)),A!==null){R.setMatchers(A.getMatchers()),R.setIron(A.getIron());try{D=A.parse(j)}catch{return void Y.trigger(u.Z.INTERNAL_MANIFEST_LOADED,{manifest:null,error:new re.Z(X.MANIFEST_LOADER_PARSING_FAILURE_ERROR_CODE,X.MANIFEST_LOADER_PARSING_FAILURE_ERROR_MESSAGE+"".concat(te))})}if(D){if(D.url=M||te,D.originalUrl||(D.originalUrl=D.url),L&&L.get().streaming.enableManifestDurationMismatchFix&&D.mediaPresentationDuration&&D.Period_asArray.length>1){var b=D.Period_asArray.reduce(function(ne,z){return ne+z.duration},0);!isNaN(b)&&D.mediaPresentationDuration>b&&(l.warn("Media presentation duration greater than duration of all periods. Setting duration to total period duration"),D.mediaPresentationDuration=b)}D.baseUri=C,D.loadedTime=new Date,R.resolveManifestOnLoad(D),Y.trigger(u.Z.ORIGINAL_MANIFEST_LOADED,{originalManifest:j})}else Y.trigger(u.Z.INTERNAL_MANIFEST_LOADED,{manifest:null,error:new re.Z(X.MANIFEST_LOADER_PARSING_FAILURE_ERROR_CODE,X.MANIFEST_LOADER_PARSING_FAILURE_ERROR_MESSAGE+"".concat(te))})}else Y.trigger(u.Z.INTERNAL_MANIFEST_LOADED,{manifest:null,error:new re.Z(X.MANIFEST_LOADER_PARSING_FAILURE_ERROR_CODE,X.MANIFEST_LOADER_PARSING_FAILURE_ERROR_MESSAGE+"".concat(te))});else Y.trigger(u.Z.INTERNAL_MANIFEST_LOADED,{manifest:null})},error:function(j,le,g){Y.trigger(u.Z.INTERNAL_MANIFEST_LOADED,{manifest:null,error:new re.Z(X.MANIFEST_LOADER_LOADING_FAILURE_ERROR_CODE,X.MANIFEST_LOADER_LOADING_FAILURE_ERROR_MESSAGE+"".concat(te,", ").concat(g))})}})},reset:function(){Y.off(u.Z.XLINK_READY,Z,r),N&&N.reset(),R&&(R.reset(),R=null),E&&(E.abort(),E=null)}},l=w.getLogger(r),Y.on(u.Z.XLINK_READY,Z,r),E=Wn(h).create({errHandler:i.errHandler,dashMetrics:i.dashMetrics,mediaPlayerModel:i.mediaPlayerModel,requestModifier:i.requestModifier,urlUtils:B,constants:t.Z,dashConstants:e.Z,errors:X,requestTimeout:i.settings.get().streaming.manifestRequestTimeout}),R=Bo(h).create({errHandler:U,dashMetrics:i.dashMetrics,mediaPlayerModel:i.mediaPlayerModel,requestModifier:i.requestModifier,settings:i.settings}),A=null,r}Oa.__dashjs_factory_name="ManifestLoader";var us=_.Z.getClassFactory(Oa);function Ma(){var i=this.context,r=(0,p.Z)(i).getInstance();return{error:function(l){r.trigger(u.Z.ERROR,{error:l})}}}Ma.__dashjs_factory_name="ErrorHandler";var ls=_.Z.getSingletonFactory(Ma),Pa=P(1715);function La(){var i,r,l,E,R,A,h=this.context,w=(0,p.Z)(h).getInstance();function L(Y,B){if(!B||!B.Period_asArray||B.Period_asArray.length===0)return Promise.resolve();var N=[];return B.Period_asArray.forEach(function(U){N.push(function(Z,ce){return new Promise(function(te){if(Z&&Z.AdaptationSet_asArray&&Z.AdaptationSet_asArray.length!==0){var ue=[];Z.AdaptationSet_asArray.forEach(function(de){r.getIsTypeOf(de,ce)&&ue.push(function(G,ie){return new Promise(function(j){if(G.Representation_asArray&&G.Representation_asArray.length!==0){var le=[],g=[];G.Representation_asArray.forEach(function(M,C){var D=r.getCodec(G,C,!1),b=function(ne,z,oe){switch(ne){case t.Z.VIDEO:return function(Q,x){return{codec:x,width:Q.width||null,height:Q.height||null,framerate:Q.frameRate||null,bitrate:Q.bandwidth||null}}(z,oe);case t.Z.AUDIO:return function(Q,x){var J=Q.audioSamplingRate||null;return{codec:x,bitrate:Q.bandwidth||null,samplerate:J}}(z,oe);default:return null}}(ie,M,D);g.push(b),le.push(l.supportsCodec(b,ie))}),Promise.all(le).then(function(M){G.Representation_asArray=G.Representation_asArray.filter(function(C,D){return M[D]||A.debug("[Stream] Codec ".concat(g[D].codec," not supported ")),M[D]}),j()}).catch(function(){j()})}else j()})}(de,ce))}),Promise.all(ue).then(function(){Z.AdaptationSet_asArray=Z.AdaptationSet_asArray.filter(function(de){var G=de.Representation_asArray&&de.Representation_asArray.length>0;return G||(w.trigger(u.Z.ADAPTATION_SET_REMOVED_NO_CAPABILITIES,{adaptationSet:de}),A.warn("AdaptationSet has been removed because of no supported Representation")),G}),te()}).catch(function(){te()})}else te()})}(U,Y))}),Promise.all(N)}return i={setConfig:function(Y){Y&&(Y.adapter&&(r=Y.adapter),Y.capabilities&&(l=Y.capabilities),Y.settings&&(E=Y.settings),Y.customParametersModel&&(R=Y.customParametersModel))},filterUnsupportedFeatures:function(Y){return new Promise(function(B){var N=[];N.push(L(t.Z.VIDEO,Y)),N.push(L(t.Z.AUDIO,Y)),Promise.all(N).then(function(){E.get().streaming.capabilities.filterUnsupportedEssentialProperties&&function(U){U&&U.Period_asArray&&U.Period_asArray.length!==0&&U.Period_asArray.forEach(function(Z){Z.AdaptationSet_asArray=Z.AdaptationSet_asArray.filter(function(ce){return!ce.Representation_asArray||ce.Representation_asArray.length===0||(ce.Representation_asArray=ce.Representation_asArray.filter(function(te){var ue=r.getEssentialPropertiesForRepresentation(te);if(ue&&ue.length>0)for(var de=0;de<ue.length;){if(!l.supportsEssentialProperty(ue[de]))return A.debug("[Stream] EssentialProperty not supported: "+ue[de].schemeIdUri),!1;de+=1}return!0}),ce.Representation_asArray&&ce.Representation_asArray.length>0)})})}(Y),function(U){var Z=R.getCustomCapabilitiesFilters();Z&&Z.length!==0&&U&&U.Period_asArray&&U.Period_asArray.length!==0&&U.Period_asArray.forEach(function(ce){ce.AdaptationSet_asArray=ce.AdaptationSet_asArray.filter(function(te){return!te.Representation_asArray||te.Representation_asArray.length===0||(te.Representation_asArray=te.Representation_asArray.filter(function(ue){return!Z.some(function(de){return!de(ue)})}),te.Representation_asArray&&te.Representation_asArray.length>0)})})}(Y),B()}).catch(function(){B()})})}},A=(0,m.Z)(h).getInstance().getLogger(i),i}La.__dashjs_factory_name="CapabilitiesFilter";var cs=_.Z.getSingletonFactory(La),fs=function i(){(function(r,l){if(!(r instanceof l))throw new TypeError("Cannot call a class as a function")})(this,i),this.t=null,this.xywh=null,this.track=null,this.id=null,this.s=null,this.r=null};function Fa(){var i;return{initialize:function(r){if(i=new fs,!r)return null;var l=r.indexOf("#");if(l!==-1)for(var E=r.substr(l+1).split("&"),R=0,A=E.length;R<A;++R){var h=E[R],w=h.indexOf("=");if(w!==-1){var L=h.substring(0,w);i.hasOwnProperty(L)&&(i[L]=h.substr(w+1))}}},getURIFragmentData:function(){return i}}}Fa.__dashjs_factory_name="URIFragmentModel";var ds=_.Z.getSingletonFactory(Fa);function xa(){var i,r=this.context,l=(0,p.Z)(r).getInstance();return{getValue:function(){return i},setValue:function(E){i=E,E&&l.trigger(u.Z.MANIFEST_LOADED,{data:E})}}}xa.__dashjs_factory_name="ManifestModel";var gs=_.Z.getSingletonFactory(xa),zi=-.5;function ka(){var i,r,l,E,R=this.context,A=(0,Ae.Z)(R).getInstance();function h(Y,B){return isNaN(Y)?0:Y>0?(B&&r.warn("Supplied minimum playback rate is a positive value when it should be negative or 0. The supplied rate will not be applied and set to 0: 100% playback speed."),0):Y<zi?(B&&r.warn("Supplied minimum playback rate is out of range and will be limited to ".concat(zi,": ").concat(-50,"% playback speed.")),zi):Y}function w(Y,B){return isNaN(Y)?0:Y<0?(B&&r.warn("Supplied maximum playback rate is a negative value when it should be negative or 0. The supplied rate will not be applied and set to 0: 100% playback speed."),0):Y>1?(B&&r.warn("Supplied maximum playback rate is out of range and will be limited to ".concat(1,": ").concat(200,"% playback speed.")),1):Y}function L(){var Y=A.get().streaming.buffer.stableBufferTime>0?A.get().streaming.buffer.stableBufferTime:A.get().streaming.buffer.fastSwitchEnabled?20:12,B=l.getLiveDelay();return!isNaN(B)&&B>0?Math.min(Y,B):Y}return i={getCatchupMaxDrift:function(){if(!isNaN(A.get().streaming.liveCatchup.maxDrift)&&A.get().streaming.liveCatchup.maxDrift>0)return A.get().streaming.liveCatchup.maxDrift;var Y=E.getServiceDescriptionSettings();return Y&&Y.liveCatchup&&!isNaN(Y.liveCatchup.maxDrift)&&Y.liveCatchup.maxDrift>0?Y.liveCatchup.maxDrift:12},getCatchupModeEnabled:function(){return A.get().streaming.liveCatchup.enabled!==null?A.get().streaming.liveCatchup.enabled:l.getInitialCatchupModeActivated()},getStableBufferTime:L,getInitialBufferLevel:function(){var Y=A.get().streaming.buffer.initialBufferLevel;return isNaN(Y)||Y<0?0:Math.min(L(),Y)},getRetryAttemptsForType:function(Y){var B=isNaN(A.get().streaming.retryAttempts.lowLatencyMultiplyFactor)?5:A.get().streaming.retryAttempts.lowLatencyMultiplyFactor;return l.getLowLatencyModeEnabled()?A.get().streaming.retryAttempts[Y]*B:A.get().streaming.retryAttempts[Y]},getRetryIntervalsForType:function(Y){var B=isNaN(A.get().streaming.retryIntervals.lowLatencyReductionFactor)?10:A.get().streaming.retryIntervals.lowLatencyReductionFactor;return l.getLowLatencyModeEnabled()?A.get().streaming.retryIntervals[Y]/B:A.get().streaming.retryIntervals[Y]},getCatchupPlaybackRates:function(Y){var B=A.get().streaming.liveCatchup.playbackRate;if(!isNaN(B.min)||!isNaN(B.max))return{min:h(B.min,Y),max:w(B.max,Y)};var N=E.getServiceDescriptionSettings();if(N&&N.liveCatchup&&(!isNaN(N.liveCatchup.playbackRate.min)||!isNaN(N.liveCatchup.playbackRate.max))){var U=N.liveCatchup.playbackRate;return{min:h(U.min,Y),max:w(U.max,Y)}}return{min:-.5,max:.5}},getAbrBitrateParameter:function(Y,B){try{var N=A.get().streaming.abr[Y][B];if(!isNaN(N)&&N!==-1)return N;var U=E.getServiceDescriptionSettings();return U&&U[Y]&&!isNaN(U[Y][B])?U[Y][B]:-1}catch{return-1}},setConfig:function(Y){Y.playbackController&&(l=Y.playbackController),Y.serviceDescriptionController&&(E=Y.serviceDescriptionController)},reset:function(){}},r=(0,m.Z)(R).getInstance().getLogger(i),i}ka.__dashjs_factory_name="MediaPlayerModel";var hs=_.Z.getSingletonFactory(ka),ms=P(1767);function Za(i){var r=(i=i||{}).abrController,l=i.switchHistory,E=i.droppedFramesHistory,R=i.currentRequest,A=i.useBufferOccupancyABR,h=i.useL2AABR,w=i.useLoLPABR,L=i.streamProcessor?i.streamProcessor.getScheduleController():null,Y=i.streamProcessor?i.streamProcessor.getRepresentationInfo():null,B=i.videoModel?i.videoModel:null;function N(){return Y?Y.mediaInfo:null}return{getMediaType:function(){var U=N();return U?U.type:null},getMediaInfo:N,getDroppedFramesHistory:function(){return E},getCurrentRequest:function(){return R},getSwitchHistory:function(){return l},getStreamInfo:function(){var U=N();return U?U.streamInfo:null},getScheduleController:function(){return L},getAbrController:function(){return r},getRepresentationInfo:function(){return Y},useBufferOccupancyABR:function(){return A},useL2AABR:function(){return h},useLoLPABR:function(){return w},getVideoModel:function(){return B}}}Za.__dashjs_factory_name="RulesContext";var Ua=_.Z.getClassFactory(Za),pi=P(2068);function Ba(){var i=[],r=[];return{push:function(l){l.newValue===pi.Z.NO_CHANGE&&(l.newValue=l.oldValue),i[l.oldValue]||(i[l.oldValue]={noDrops:0,drops:0,dropSize:0});var E=l.newValue-l.oldValue,R=E<0?1:0,A=R?-E:0,h=R?0:1;if(i[l.oldValue].drops+=R,i[l.oldValue].dropSize+=A,i[l.oldValue].noDrops+=h,r.push({idx:l.oldValue,noDrop:h,drop:R,dropSize:A}),r.length>8){var w=r.shift();i[w.idx].drops-=w.drop,i[w.idx].dropSize-=w.dropSize,i[w.idx].noDrops-=w.noDrop}},getSwitchRequests:function(){return i},reset:function(){i=[],r=[]}}}Ba.__dashjs_factory_name="SwitchRequestHistory";var ps=_.Z.getClassFactory(Ba);function Ga(){var i={},r={},l={};return{push:function(E,R,A){if(R){i[E]||(i[E]=[],r[E]=0,l[E]=0);var h=A&&A.droppedVideoFrames?A.droppedVideoFrames:0,w=A&&A.totalVideoFrames?A.totalVideoFrames:0,L=h-r[E];r[E]=h;var Y=w-l[E];l[E]=w;var B=i[E];isNaN(R)||(B[R]?(B[R].droppedVideoFrames+=L,B[R].totalVideoFrames+=Y):B[R]={droppedVideoFrames:L,totalVideoFrames:Y})}},getFrameHistory:function(E){return i[E]},clearForStream:function(E){try{delete i[E],delete r[E],delete l[E]}catch{}},reset:function(){i={},r={},l={}}}}Ga.__dashjs_factory_name="DroppedFramesHistory";var ys=_.Z.getClassFactory(Ga);function qa(i){var r,l,E,R,A,h=this.context,w=(i=i||{}).settings,L=(0,p.Z)(h).getInstance();function Y(te,ue,de,G){var ie=Math.pow(.5,de/G.fast);te.fastEstimate=(1-ie)*ue+ie*te.fastEstimate;var j=Math.pow(.5,de/G.slow);te.slowEstimate=(1-j)*ue+j*te.slowEstimate,te.totalWeight+=de}function B(te,ue,de){return w.get().streaming.abr.movingAverageMethod!==t.Z.MOVING_AVERAGE_SLIDING_WINDOW?function(G,ie){var j=G?A.throughputHalfLife:A.latencyHalfLife,le=G?E[ie]:R[ie];if(!le||le.totalWeight<=0)return NaN;var g=le.fastEstimate/(1-Math.pow(.5,le.totalWeight/j.fast)),M=le.slowEstimate/(1-Math.pow(.5,le.totalWeight/j.slow));return G?Math.min(g,M):Math.max(g,M)}(te,ue):function(G,ie,j){var le=function(M,C,D){var b,ne;if(M?(b=r[C],ne=D?3:4):(b=l[C],ne=4),b){if(ne>=b.length)ne=b.length;else if(M)for(var z=1;z<ne;++z){var oe=b[b.length-z]/b[b.length-z-1];if((oe>=1.3||oe<=.7692307692307692)&&(ne+=1)===b.length)break}}else ne=0;return ne}(G,ie,j),g=(G?r:l)[ie];return le!==0&&g&&g.length!==0?(g=g.slice(-le)).reduce(function(M,C){return M+C})/g.length:NaN}(te,ue,de)}function N(te,ue){return B(!0,te,ue)}function U(te){r[te]=r[te]||[],l[te]=l[te]||[],E[te]=E[te]||{fastEstimate:0,slowEstimate:0,totalWeight:0},R[te]=R[te]||{fastEstimate:0,slowEstimate:0,totalWeight:0}}function Z(){r={},l={},E={},R={}}var ce={push:function(te,ue,de){if(ue.trace&&ue.trace.length){var G,ie=ue.tresponse.getTime()-ue.trequest.getTime()||1,j=ue._tfinish.getTime()-ue.tresponse.getTime()||1,le=ue.trace.reduce(function(D,b){return D+b.b[0]},0),g=0;if((G=ue._fileLoaderType&&ue._fileLoaderType===t.Z.FILE_LOADER_TYPES.FETCH?ue.trace.reduce(function(D,b){return D+b.d},0):de?j:ie+j)!==0&&(g=Math.round(8*le/G)),ue.cmsd){var M=ue.cmsd.dynamic&&ue.cmsd.dynamic.etp?ue.cmsd.dynamic.etp:null;if(M){var C=w.get().streaming.cmsd.abr.etpWeightRatio;C>0&&C<=1&&(g=g*(1-C)+M*C)}}if(U(te),function(D,b,ne){return D===t.Z.VIDEO?ne<w.get().streaming.cacheLoadThresholds[t.Z.VIDEO]:D===t.Z.AUDIO?ne<w.get().streaming.cacheLoadThresholds[t.Z.AUDIO]:void 0}(te,0,j)){if(r[te].length>0&&!r[te].hasCachedEntries)return;r[te].hasCachedEntries=!0}else r[te]&&r[te].hasCachedEntries&&function(D){delete r[D],delete l[D],delete E[D],delete R[D],U(D)}(te);r[te].push(g),L.trigger(n.Z.THROUGHPUT_MEASUREMENT_STORED,{throughput:g,mediaType:te,httpRequest:ue}),r[te].length>20&&r[te].shift(),l[te].push(ie),l[te].length>20&&l[te].shift(),Y(E[te],g,.001*j,A.throughputHalfLife),Y(R[te],ie,1,A.latencyHalfLife)}},getAverageThroughput:N,getSafeAverageThroughput:function(te,ue){var de=N(te,ue);return isNaN(de)||(de*=w.get().streaming.abr.bandwidthSafetyFactor),de},getAverageLatency:function(te){return B(!1,te)},reset:Z};return A={throughputHalfLife:{fast:3,slow:8},latencyHalfLife:{fast:1,slow:2}},Z(),ce}qa.__dashjs_factory_name="ThroughputHistory";var Es=_.Z.getClassFactory(qa);function Wi(){var i,r,l,E,R,A,h,w,L,Y,B,N,U,Z,ce,te,ue,de,G,ie,j,le,g,M,C,D,b,ne=this.context,z=(0,m.Z)(ne).getInstance(),oe=(0,p.Z)(ne).getInstance();function Q(){R={},A={},w={},h={},ie={},g={},M={},C={},Y===void 0&&(Y=!1),j&&j.reset(),G=void 0,j=void 0,le=void 0,clearTimeout(L),L=null}function x(Ee){var Fe=Ee.request.mediaType,lt=Ee.streamId;if(Fe&&lt&&h[lt]&&b.get().streaming.abr.autoSwitchBitrate[Fe]){var qe=h[lt][Fe];if(qe){var ht=Ua(ne).create({abrController:i,streamProcessor:qe,currentRequest:Ee.request,useBufferOccupancyABR:g[Fe],useL2AABR:M[Fe],useLoLPABR:C[Fe],videoModel:Z}),gt=l.shouldAbandonFragment(ht,lt);gt.quality>pi.Z.NO_CHANGE&&qe.getFragmentModel().getRequests({state:K.FRAGMENT_MODEL_LOADING,index:Ee.request.index})[0]&&(w[lt][Fe].state=y.Z.ABANDON_LOAD,ie[lt][Fe].reset(),ie[lt][Fe].push({oldValue:Ce(Fe,lt),newValue:gt.quality,confidence:1,reason:gt.reason}),Ie(Fe,E.getActiveStreamInfo(),gt.quality,gt.reason),clearTimeout(L),L=setTimeout(function(){w[lt][Fe].state=y.Z.ALLOW_LOAD,L=null},b.get().streaming.abandonLoadTimeout))}}}function J(Ee){Ee.mediaType===t.Z.VIDEO&&(G!==void 0&&j.push(Ee.streamId,G,Z.getPlaybackQuality()),G=Ee.newQuality)}function he(Ee){var Fe,lt;Ee.metric!==y.Z.HTTP_REQUEST||!Ee.value||Ee.value.type!==Le.w.MEDIA_SEGMENT_TYPE||Ee.mediaType!==t.Z.AUDIO&&Ee.mediaType!==t.Z.VIDEO||le.push(Ee.mediaType,Ee.value,b.get().streaming.abr.useDeadTimeLatency),Ee.metric!==y.Z.BUFFER_LEVEL||Ee.mediaType!==t.Z.AUDIO&&Ee.mediaType!==t.Z.VIDEO||(Fe=Ee.mediaType,lt=.001*Ee.value.level,b.get().streaming.abr.ABRStrategy===t.Z.ABR_STRATEGY_DYNAMIC&&function(qe,ht){try{var gt=ce.getStableBufferTime(),st=gt,qt=.5*gt,Gt=g[qe],an=ht>(Gt?qt:st);g[qe]=an,an!==Gt&&(an?r.info("["+qe+"] switching from throughput to buffer occupancy ABR rule (buffer: "+ht.toFixed(3)+")."):r.info("["+qe+"] switching from buffer occupancy to throughput ABR rule (buffer: "+ht.toFixed(3)+")."))}catch(un){r.error(un)}}(Fe,lt))}function Ne(Ee,Fe){try{var lt;return R[Fe]=R[Fe]||{},R[Fe].hasOwnProperty(Ee)||(R[Fe][Ee]=0),lt=function(qe,ht){var gt=R[ht][qe],st=gt;if(!h[ht]||!h[ht][qe])return st;var qt=Te(qe,ht);qt!==void 0&&(st=Math.max(gt,qt));var Gt=function(an,un){try{var Be=ce.getAbrBitrateParameter("maxBitrate",an);return Be>-1?We(h[un][an].getMediaInfo(),Be,un):void 0}catch{return}}(qe,ht);return Gt!==void 0&&(st=Math.min(st,Gt)),st}(Ee,Fe),lt=function(qe,ht,gt){var st=R[gt][ht],qt=b.get().streaming.abr.maxRepresentationRatio[ht];return isNaN(qt)||qt>=1||qt<0?qe:Math.min(qe,Math.round(st*qt))}(lt,Ee,Fe),lt=function(qe,ht,gt){if(ht!==t.Z.VIDEO||!b.get().streaming.abr.limitBitrateByPortal||!h[gt]||!h[gt][ht])return qe;Y||Mt();var st=h[gt][ht].getStreamInfo(),qt=U.getAdaptationForType(st.index,ht,st).Representation_asArray,Gt=qe;if(B>0&&N>0){for(;Gt>0&&qt[Gt]&&B<qt[Gt].width&&B-qt[Gt-1].width<qt[Gt].width-B;)Gt-=1;for(;Gt<qt.length-1&&qt[Gt].width===qt[Gt+1].width;)Gt+=1}return Gt}(lt,Ee,Fe),b.get().streaming.cmsd.enabled&&b.get().streaming.cmsd.abr.applyMb&&(lt=function(qe,ht,gt){if(ht!=="video")return qe;var st=ue.getMaxBitrate(ht);if(st<0)return qe;var qt=nt(gt,"audio",Ce("audio",gt));st-=qt?qt.bitrate/1e3:0;var Gt=We(h[gt][ht].getMediaInfo(),st,gt);return r.debug("Stream ID: "+gt+" ["+ht+"] Apply max bit rate from CMSD: "+st),Math.min(qe,Gt)}(lt,Ee,Fe)),lt}catch{return}}function Te(Ee,Fe){try{return function(lt,qe){try{var ht=ce.getAbrBitrateParameter("minBitrate",lt);if(ht>-1){var gt=h[qe][lt].getMediaInfo(),st=Xe(gt),qt=We(gt,ht,qe);return st[qt]&&qt<st.length-1&&st[qt].bitrate<1e3*ht&&qt++,qt}return}catch{return}}(Ee,Fe)}catch{return}}function Ce(Ee){var Fe=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;try{return Fe||(Fe=E.getActiveStreamInfo().id),Ee&&h[Fe]&&h[Fe][Ee]&&Fe?(A[Fe]=A[Fe]||{},A[Fe].hasOwnProperty(Ee)||(A[Fe][Ee]=0),A[Fe][Ee]):0}catch{return 0}}function Ie(Ee,Fe,lt){var qe=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;if(Fe&&Fe.id&&Ee){var ht=Fe.id,gt=Ce(Ee,ht);(0,W.SE)(lt);var st=Ne(Ee,ht);lt!==gt&&lt>=0&&lt<=st&&et(Ee,gt,lt,st,qe,ht)}}function et(Ee,Fe,lt,qe,ht,gt){if(Ee&&h[gt]&&h[gt][Ee]){var st=h[gt][Ee].getStreamInfo(),qt=st&&st.manifestInfo&&st.manifestInfo.isDynamic,Gt=D.getCurrentBufferLevel(Ee);r.info("Stream ID: "+gt+" ["+Ee+"] switch from "+Fe+" to "+lt+"/"+qe+" (buffer: "+Gt+") "+(ht?JSON.stringify(ht):".")),A[gt]=A[gt]||{},A[gt][Ee]=lt;var an=nt(gt,Ee,lt);oe.trigger(u.Z.QUALITY_CHANGE_REQUESTED,{oldQuality:Fe,newQuality:lt,reason:ht,streamInfo:st,bitrateInfo:an,maxIdx:qe,mediaType:Ee},{streamId:st.id,mediaType:Ee});var un=le.getAverageThroughput(Ee,qt);isNaN(un)||de.setSavedBitrateSettings(Ee,un)}}function nt(Ee,Fe,lt){if(Fe&&h&&h[Ee]&&h[Ee][Fe]){var qe=Xe(h[Ee][Fe].getMediaInfo());return qe[lt]?qe[lt]:null}return null}function We(Ee,Fe,lt){var qe=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null,ht=Ee&&Ee.type?h[lt][Ee.type].getRepresentationInfo():null;if(b.get().streaming.abr.useDeadTimeLatency&&qe&&ht&&ht.fragmentDuration){qe/=1e3;var gt=ht.fragmentDuration;if(qe>gt)return 0;var st=qe/gt;Fe*=1-st}for(var qt=Xe(Ee),Gt=qt.length-1;Gt>=0;Gt--){var an=qt[Gt];if(1e3*Fe>=an.bitrate)return Gt}return 0}function Xe(Ee){var Fe=[];if(!Ee||!Ee.bitrateList)return Fe;for(var lt,qe=Ee.bitrateList,ht=Ee.type,gt=0,st=qe.length;gt<st;gt++)(lt=new ei).mediaType=ht,lt.qualityIndex=gt,lt.bitrate=qe[gt].bandwidth,lt.width=qe[gt].width,lt.height=qe[gt].height,lt.scanType=qe[gt].scanType,Fe.push(lt);return Fe}function Mt(){if(Z){var Ee=b.get().streaming.abr.usePixelRatioInLimitBitrateByPortal&&window.hasOwnProperty("devicePixelRatio")?window.devicePixelRatio:1;B=Z.getClientWidth()*Ee,N=Z.getClientHeight()*Ee}}return i={initialize:function(){j=ys(ne).create(),le=Es(ne).create({settings:b}),(l=(0,ms.Z)(ne).create({dashMetrics:D,customParametersModel:te,mediaPlayerModel:ce,settings:b})).initialize(),oe.on(n.Z.QUALITY_CHANGE_RENDERED,J,i),oe.on(n.Z.METRIC_ADDED,he,i),oe.on(u.Z.LOADING_PROGRESS,x,i)},isPlayingAtTopQuality:function(Ee){var Fe=Ee?Ee.id:null,lt=Ce(t.Z.AUDIO,Fe),qe=Ce(t.Z.VIDEO,Fe);return lt===Ne(t.Z.AUDIO,Fe)&&qe===Ne(t.Z.VIDEO,Fe)},updateTopQualityIndex:function(Ee){var Fe=Ee.type,lt=Ee.streamInfo.id,qe=Ee.representationCount-1;return R[lt]=R[lt]||{},R[lt][Fe]=qe,qe},clearDataForStream:function(Ee){j&&j.clearForStream(Ee),h[Ee]&&delete h[Ee],ie[Ee]&&delete ie[Ee],w[Ee]&&delete w[Ee]},getThroughputHistory:function(){return le},getBitrateList:Xe,getQualityForBitrate:We,getTopBitrateInfoFor:function(Ee){var Fe=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;if(Fe||(Fe=E.getActiveStreamInfo().id),Ee&&h&&h[Fe]&&h[Fe][Ee]){var lt=Ne(Ee,Fe),qe=Xe(h[Fe][Ee].getMediaInfo());return qe[lt]?qe[lt]:null}return null},getMinAllowedIndexFor:Te,getMaxAllowedIndexFor:Ne,getInitialBitrateFor:function(Ee,Fe){if(function(){if(!de||!de.hasOwnProperty("getSavedBitrateSettings"))throw new Error(t.Z.MISSING_CONFIG_ERROR)}(),Ee===t.Z.TEXT)return NaN;var lt=de.getSavedBitrateSettings(Ee),qe=ce.getAbrBitrateParameter("initialBitrate",Ee),ht=b.get().streaming.abr.initialRepresentationRatio[Ee];if(qe===-1)if(ht>-1){var gt=h[Fe][Ee].getStreamInfo(),st=U.getAdaptationForType(gt.index,Ee,gt).Representation_asArray;qe=Array.isArray(st)?st[Math.max(Math.round(st.length*ht)-1,0)].bandwidth/1e3:0}else qe=isNaN(lt)?Ee===t.Z.VIDEO?1e3:100:lt;return qe},getQualityFor:Ce,getAbandonmentStateFor:function(Ee,Fe){return w[Ee]&&w[Ee][Fe]?w[Ee][Fe].state:null},setPlaybackQuality:Ie,checkPlaybackQuality:function(Ee,Fe){try{if(!(Ee&&h&&h[Fe]&&h[Fe][Ee]))return!1;if(j){var lt=Z.getPlaybackQuality();lt&&j.push(Fe,G,lt)}if(!b.get().streaming.abr.autoSwitchBitrate[Ee])return!1;var qe=Ce(Ee,Fe),ht=Ua(ne).create({abrController:i,switchHistory:ie[Fe][Ee],droppedFramesHistory:j,streamProcessor:h[Fe][Ee],currentValue:qe,useBufferOccupancyABR:g[Ee],useL2AABR:M[Ee],useLoLPABR:C[Ee],videoModel:Z}),gt=Te(Ee,Fe),st=Ne(Ee,Fe),qt=l.getMaxQuality(ht),Gt=qt.quality;return gt!==void 0&&(Gt>pi.Z.NO_CHANGE?Gt:qe)<gt&&(Gt=gt),Gt>st&&(Gt=st),ie[Fe][Ee].push({oldValue:qe,newValue:Gt}),Gt>pi.Z.NO_CHANGE&&Gt!==qe&&(w[Fe][Ee].state===y.Z.ALLOW_LOAD||Gt<qe)&&(et(Ee,qe,Gt,st,qt.reason,Fe),!0)}catch{return!1}},setElementSize:Mt,setWindowResizeEventCalled:function(Ee){Y=Ee},registerStreamType:function(Ee,Fe){var lt=Fe.getStreamInfo().id;h[lt]||(h[lt]={}),ie[lt]||(ie[lt]={}),w[lt]||(w[lt]={}),ie[lt][Ee]=ps(ne).create(),h[lt][Ee]=Fe,w[lt][Ee]={},w[lt][Ee].state=y.Z.ALLOW_LOAD,function(qe){var ht=b.get().streaming.abr.ABRStrategy;ht===t.Z.ABR_STRATEGY_L2A?(g[qe]=!1,C[qe]=!1,M[qe]=!0):ht===t.Z.ABR_STRATEGY_LoLP?(g[qe]=!1,C[qe]=!0,M[qe]=!1):ht===t.Z.ABR_STRATEGY_BOLA?(g[qe]=!0,C[qe]=!1,M[qe]=!1):ht===t.Z.ABR_STRATEGY_THROUGHPUT?(g[qe]=!1,C[qe]=!1,M[qe]=!1):ht===t.Z.ABR_STRATEGY_DYNAMIC&&(g[qe]=!(!g||!g[qe])&&g[qe],C[qe]=!1,M[qe]=!1)}(Ee),Ee===t.Z.VIDEO&&Mt()},unRegisterStreamType:function(Ee,Fe){try{h[Ee]&&h[Ee][Fe]&&delete h[Ee][Fe],ie[Ee]&&ie[Ee][Fe]&&delete ie[Ee][Fe],w[Ee]&&w[Ee][Fe]&&delete w[Ee][Fe]}catch{}},setConfig:function(Ee){Ee&&(Ee.streamController&&(E=Ee.streamController),Ee.domStorage&&(de=Ee.domStorage),Ee.mediaPlayerModel&&(ce=Ee.mediaPlayerModel),Ee.customParametersModel&&(te=Ee.customParametersModel),Ee.cmsdModel&&(ue=Ee.cmsdModel),Ee.dashMetrics&&(D=Ee.dashMetrics),Ee.adapter&&(U=Ee.adapter),Ee.videoModel&&(Z=Ee.videoModel),Ee.settings&&(b=Ee.settings))},reset:function(){Q(),oe.off(u.Z.LOADING_PROGRESS,x,i),oe.off(n.Z.QUALITY_CHANGE_RENDERED,J,i),oe.off(n.Z.METRIC_ADDED,he,i),l&&l.reset()}},r=z.getLogger(i),Q(),i}Wi.__dashjs_factory_name="AbrController";var Xi=_.Z.getSingletonFactory(Wi);Xi.QUALITY_DEFAULT=0,_.Z.updateSingletonFactory(Wi.__dashjs_factory_name,Xi);var vs=Xi,_s=new Map([[t.Z.VIDEO_ELEMENT_READY_STATES.HAVE_METADATA,"loadedmetadata"],[t.Z.VIDEO_ELEMENT_READY_STATES.HAVE_CURRENT_DATA,"loadeddata"],[t.Z.VIDEO_ELEMENT_READY_STATES.HAVE_FUTURE_DATA,"canplay"],[t.Z.VIDEO_ELEMENT_READY_STATES.HAVE_ENOUGH_DATA,"canplaythrough"]]);function Ya(){var i,r,l,E,R,A,h,w,L=this.context,Y=(0,p.Z)(L).getInstance(),B=[];function N(){l&&(l.playbackRate=1,l.removeEventListener("canplay",N))}function U(){return B.length>0}function Z(){if(l&&U()&&l.playbackRate===0){var j=document.createEvent("Event");j.initEvent("waiting",!0,!1),l.dispatchEvent(j)}}function ce(j,le){l&&l.addEventListener(j,le)}function te(j,le){l&&l.removeEventListener(j,le)}function ue(){return l?l.readyState:NaN}function de(){return l?l.buffered:null}function G(j,le,g,M,C){if(l){for(var D=0;D<l.textTracks.length;D++)if(l.textTracks[D].kind===j&&(!le||l.textTracks[D].label==le)&&l.textTracks[D].language===g&&l.textTracks[D].isTTML===M&&l.textTracks[D].isEmbedded===C)return l.textTracks[D]}return null}function ie(j,le){return j===t.Z.VIDEO_ELEMENT_READY_STATES.HAVE_NOTHING||ue()>=j?(le(),null):function(g,M){var C=function D(){te(g,D),M(g)};return ce(g,C),{func:C,event:g}}(_s.get(j),le)}return i={addEventListener:ce,addTextTrack:function(j,le,g,M,C){if(!l)return null;var D=G(j,le,g,M,C);return D||((D=l.addTextTrack(j,le,g)).isEmbedded=C,D.isTTML=M),D},appendChild:function(j){l&&(l.appendChild(j),j.isTTML!==void 0&&(l.textTracks[l.textTracks.length-1].isTTML=j.isTTML,l.textTracks[l.textTracks.length-1].isEmbedded=j.isEmbedded))},getBufferRange:de,getClientHeight:function(){return l?l.clientHeight:NaN},getClientWidth:function(){return l?l.clientWidth:NaN},getElement:function(){return l},getEnded:function(){return l?l.ended:null},getPlaybackQuality:function(){if(!l)return null;var j="webkitDroppedFrameCount"in l&&"webkitDecodedFrameCount"in l,le=null;return"getVideoPlaybackQuality"in l?le=l.getVideoPlaybackQuality():j&&(le={droppedVideoFrames:l.webkitDroppedFrameCount,totalVideoFrames:l.webkitDroppedFrameCount+l.webkitDecodedFrameCount,creationTime:new Date}),le},getPlaybackRate:function(){return l?l.playbackRate:null},getPlayedRanges:function(){return l?l.played:null},getReadyState:ue,getSource:function(){return l?l.src:null},getTTMLRenderingDiv:function(){return A},getTextTrack:G,getTextTracks:function(){return l?l.textTracks:[]},getTime:function(){return l?isNaN(E)?l.currentTime:E:null},getVideoHeight:function(){return l?l.videoHeight:NaN},getVideoRelativeOffsetLeft:function(){if(l){var j=l.parentNode.host||l.parentNode;return j?l.getBoundingClientRect().left-j.getBoundingClientRect().left:NaN}return NaN},getVideoRelativeOffsetTop:function(){if(l){var j=l.parentNode.host||l.parentNode;return j?l.getBoundingClientRect().top-j.getBoundingClientRect().top:NaN}return NaN},getVideoWidth:function(){return l?l.videoWidth:NaN},getVttRenderingDiv:function(){return h},initialize:function(){Y.on(u.Z.PLAYBACK_PLAYING,Z,this)},isPaused:function(){return l?l.paused:null},isSeeking:function(){return l?l.seeking||!isNaN(E):null},isStalled:U,pause:function(){l&&(l.pause(),l.autoplay=!1)},play:function(){if(l){l.autoplay=!0;var j=l.play();j&&j.catch&&typeof Promise<"u"&&j.catch(function(le){le.name==="NotAllowedError"&&Y.trigger(u.Z.PLAYBACK_NOT_ALLOWED),r.warn("Caught pending play exception - continuing (".concat(le,")"))})}},removeChild:function(j){l&&l.removeChild(j)},removeEventListener:te,reset:function(){clearTimeout(w),Y.off(u.Z.PLAYBACK_PLAYING,Z,this)},setCurrentTime:function(j,le){l&&(R&&R.func&&R.event&&te(R.event,R.func),E=j,R=ie(t.Z.VIDEO_ELEMENT_READY_STATES.HAVE_METADATA,function(){if(l)if(l.currentTime!==E)try{E=le?function(g){var M=de(),C=g,D=9999999999;if(M)for(var b=0;b<M.length;b++){var ne=M.start(b),z=M.end(b),oe=Math.abs(ne-g),Q=Math.abs(z-g);if(g>=ne&&g<=z)return g;oe<D&&(D=oe,C=ne),Q<D&&(D=Q,C=z)}return C}(E):E,isNaN(E)||(l.currentTime=E),E=NaN}catch(g){l.readyState===0&&g.code===g.INVALID_STATE_ERR&&(w=setTimeout(function(){l.currentTime=E,E=NaN},400))}else E=NaN}))},setElement:function(j){if(!(j==null||j&&/^(VIDEO|AUDIO)$/i.test(j.nodeName)))throw"element is not video or audio DOM type!";(l=j)&&(l.preload="auto")},setPlaybackRate:function(j){var le=arguments.length>1&&arguments[1]!==void 0&&arguments[1];l&&(!le&&l.readyState<=2&&j>0?l.addEventListener("canplay",N):l.playbackRate=j)},setSource:function(j){l&&(j?l.src=j:(l.removeAttribute("src"),l.load()))},setStallState:function(j,le){(function(g,M){M?function(C){C!==null&&l&&!l.seeking&&B.indexOf(C)===-1&&B.push(C)}(g):function(C){var D=B.indexOf(C);C!==null&&D!==-1&&B.splice(D,1)}(g)})(j,le)},setTTMLRenderingDiv:function(j){(A=j).style.position="absolute",A.style.display="flex",A.style.overflow="hidden",A.style.pointerEvents="none",A.style.top=0,A.style.left=0},setVttRenderingDiv:function(j){h=j},waitForReadyState:ie,setDisableRemotePlayback:function(j){l&&(l.disableRemotePlayback=j)}},r=(0,m.Z)(L).getInstance().getLogger(i),E=NaN,i}Ya.__dashjs_factory_name="VideoModel";var Ts=_.Z.getSingletonFactory(Ya),Ss=[{oldKey:"dashjs_vbitrate",newKey:"dashjs_video_bitrate"},{oldKey:"dashjs_abitrate",newKey:"dashjs_audio_bitrate"},{oldKey:"dashjs_vsettings",newKey:"dashjs_video_settings"},{oldKey:"dashjs_asettings",newKey:"dashjs_audio_settings"}],ja="dashjs_?_bitrate",Ha="dashjs_?_settings",Ur="localStorage",Va="lastBitrate",Ka="lastMediaSettings";function za(i){i=i||{};var r,l,E,R=this.context,A=i.settings;function h(B){if(E!==void 0)return E;var N;E=!1;try{typeof window<"u"&&(N=window[B])}catch(U){return l.warn("DOMStorage access denied: "+U.message),E}if(!N||B!==Ur)return E;try{N.setItem("1","1"),N.removeItem("1"),E=!0}catch(U){l.warn("DOMStorage is supported, but cannot be used: "+U.message)}return E}function w(){var B=6e5;return Math.round(new Date().getTime()/B)*B}function L(B,N){return h(B)&&A.get().streaming[N+"CachingInfo"].enabled}function Y(){if(!A)throw new Error(t.Z.MISSING_CONFIG_ERROR)}return r={getSavedBitrateSettings:function(B){if(Y(),!A.get().streaming.lastBitrateCachingInfo.enabled)return NaN;var N=NaN;if(L(Ur,Va)){var U=ja.replace(/\?/,B);try{var Z=JSON.parse(localStorage.getItem(U))||{},ce=new Date().getTime()-parseInt(Z.timestamp,10)>=A.get().streaming.lastBitrateCachingInfo.ttl||!1,te=parseFloat(Z.bitrate);isNaN(te)||ce?ce&&localStorage.removeItem(U):(N=te,l.debug("Last saved bitrate for "+B+" was "+te))}catch{return null}}return N},setSavedBitrateSettings:function(B,N){if(L(Ur,Va)&&N){var U=ja.replace(/\?/,B);try{localStorage.setItem(U,JSON.stringify({bitrate:N.toFixed(3),timestamp:w()}))}catch(Z){l.error(Z.message)}}},getSavedMediaSettings:function(B){if(Y(),!A.get().streaming.lastMediaSettingsCachingInfo.enabled)return null;var N=null;if(L(Ur,Ka)){var U=Ha.replace(/\?/,B);try{var Z=JSON.parse(localStorage.getItem(U))||{},ce=new Date().getTime()-parseInt(Z.timestamp,10)>=A.get().streaming.lastMediaSettingsCachingInfo.ttl||!1;N=Z.settings,ce&&(localStorage.removeItem(U),N=null)}catch{return null}}return N},setSavedMediaSettings:function(B,N){if(L(Ur,Ka)){var U=Ha.replace(/\?/,B);try{localStorage.setItem(U,JSON.stringify({settings:N,timestamp:w()}))}catch(Z){l.error(Z.message)}}}},l=(0,m.Z)(R).getInstance().getLogger(r),h(Ur)&&Ss.forEach(function(B){var N=localStorage.getItem(B.oldKey);if(N){localStorage.removeItem(B.oldKey);try{localStorage.setItem(B.newKey,N)}catch(U){l.error(U.message)}}}),r}za.__dashjs_factory_name="DOMStorage";var bs=_.Z.getSingletonFactory(za),As=P(2032),Wa=P(2011);function Xa(){var i,r,l,E,R,A,h,w,L,Y,B,N,U,Z=this.context;function ce(G,ie,j,le){var g=null,M=G?U.resolve(G.path):null,C=le||{init:!0,url:M?M.url:void 0,range:{start:0,end:1500},searching:!1,bytesLoaded:0,bytesToLoad:1500,mediaType:ie};r.debug("Start searching for initialization.");var D=de(C);w.load({request:D,success:function(b){if(C.bytesLoaded=C.range.end,!(g=E.findInitRange(b)))return C.range.end=C.bytesLoaded+C.bytesToLoad,ce(G,ie,j,C);G.range=g,j(G)},error:function(){j(G)}}),r.debug("Perform init search: "+C.url)}function te(G,ie,j,le,g,M){if(j&&(j.start===void 0||j.end===void 0)){var C=j?j.toString().split("-"):null;j=C?{start:parseFloat(C[0]),end:parseFloat(C[1])}:null}g=g||ue;var D=null,b=null,ne=!!j,z=G?U.resolve(G.path):null,oe={init:!1,url:z?z.url:void 0,range:ne?j:{start:0,end:1500},searching:!ne,bytesLoaded:M?M.bytesLoaded:0,bytesToLoad:1500,mediaType:ie},Q=de(oe);w.load({request:Q,success:function(x){var J=oe.bytesToLoad,he=x.byteLength;if(oe.bytesLoaded=oe.range.end-oe.range.start,D=E.parse(x),(b=D.getBox("sidx"))&&b.isComplete){var Ne,Te,Ce=b.references;if(Ce!=null&&Ce.length>0&&(Ne=Ce[0].reference_type===1),Ne){var Ie,et,nt,We;r.debug("Initiate multiple SIDX load."),oe.range.end=oe.range.start+b.size;var Xe=[],Mt=0,Ee=(b.offset||oe.range.start)+b.size,Fe=function(qe){qe?(Xe=Xe.concat(qe),++Mt>=et&&(Xe.sort(function(ht,gt){return ht.startTime-gt.startTime<0?-1:0}),g(Xe,G,le))):g(null,G,le)};for(Ie=0,et=Ce.length;Ie<et;Ie++)nt=Ee,We=Ee+Ce[Ie].referenced_size-1,Ee+=Ce[Ie].referenced_size,te(G,ie,{start:nt,end:We},le,Fe,oe)}else r.debug("Parsing segments from SIDX. representation "+ie+" - id: "+G.id+" for range : "+oe.range.start+" - "+oe.range.end),Te=function(qe,ht){for(var gt,st,qt,Gt,an=qe.references,un=an.length,Be=qe.timescale,ft=qe.earliest_presentation_time,$e=ht.range.start+qe.offset+qe.first_offset+qe.size,vt=[],wt=0;wt<un;wt++)qt=an[wt].subsegment_duration,Gt=an[wt].referenced_size,(gt=new Wa.Z).duration=qt,gt.startTime=ft,gt.timescale=Be,st=$e+Gt-1,gt.mediaRange=$e+"-"+st,vt.push(gt),ft+=qt,$e+=Gt;return vt}(b,oe),g(Te,G,le)}else{if(b)oe.range.start=b.offset||oe.range.start,oe.range.end=oe.range.start+(b.size||J);else{if(he<oe.bytesLoaded)return void g(null,G,le);var lt=D.getLastBox();lt&&lt.size?(oe.range.start=lt.offset+lt.size,oe.range.end=oe.range.start+J):oe.range.end+=J}te(G,ie,oe.range,le,null,oe)}},error:function(){g(null,G,le)}}),r.debug("Perform SIDX load for type ".concat(ie," : ").concat(oe.url," with range ").concat(oe.range.start," - ").concat(oe.range.end))}function ue(G,ie,j){j({segments:G,representation:ie,error:G?void 0:new re.Z(L.SEGMENT_BASE_LOADER_ERROR_CODE,L.SEGMENT_BASE_LOADER_ERROR_MESSAGE)})}function de(G){if(G.url){var ie=new I.Z;return ie.setInfo(G),ie}}return i={setConfig:function(G){G.baseURLController&&(U=G.baseURLController),G.dashMetrics&&(A=G.dashMetrics),G.mediaPlayerModel&&(h=G.mediaPlayerModel),G.errHandler&&(l=G.errHandler),G.boxParser&&(E=G.boxParser),G.debug&&(r=G.debug.getLogger(i)),G.requestModifier&&(R=G.requestModifier),G.errors&&(L=G.errors),G.urlUtils&&(N=G.urlUtils),G.constants&&(Y=G.constants),G.dashConstants&&(B=G.dashConstants)},initialize:function(){w=Wn(Z).create({errHandler:l,dashMetrics:A,mediaPlayerModel:h,requestModifier:R,boxParser:E,errors:L,urlUtils:N,constants:Y,dashConstants:B})},loadInitialization:function(G,ie){return new Promise(function(j){ce(G,ie,j)})},loadSegments:function(G,ie,j){return new Promise(function(le){te(G,ie,j,le)})},reset:function(){w&&(w.abort(),w=null)}}}Xa.__dashjs_factory_name="SegmentBaseLoader";var Is=_.Z.getSingletonFactory(Xa);function Qa(i){var r;i=i||{};var l=new DataView(i.data),E=0;function R(h,w){var L=!0,Y=0;if(w===void 0&&(w=!1),h.tag>16777215?(l.getUint32(E)!==h.tag&&(L=!1),Y=4):h.tag>65535?(256*l.getUint16(E)+l.getUint8(E+2)!==h.tag&&(L=!1),Y=3):h.tag>255?(l.getUint16(E)!==h.tag&&(L=!1),Y=2):(l.getUint8(E)!==h.tag&&(L=!1),Y=1),!L&&h.required&&!w)throw new Error("required tag not found");return L&&(E+=Y),L}function A(h){var w=1,L=128,Y=-1,B=0,N=l.getUint8(E),U=0;for(U=0;U<8;U+=1){if((N&L)===L){B=h===void 0?N&~L:N,Y=U;break}L>>=1}for(U=0;U<Y;U+=1,w+=1)B=B<<8|255&l.getUint8(E+w);return E+=w,B}return r={getPos:function(){return E},setPos:function(h){E=h},consumeTag:R,consumeTagAndSize:function(h,w){var L=R(h,w);return L&&A(),L},parseTag:function(h){var w;return R(h),w=A(),r[h.parse](w)},skipOverElement:function(h,w){var L,Y=R(h,w);return Y&&(L=A(),E+=L),Y},getMatroskaCodedNum:A,getMatroskaFloat:function(h){var w;switch(h){case 4:w=l.getFloat32(E),E+=4;break;case 8:w=l.getFloat64(E),E+=8}return w},getMatroskaUint:function(h){if(h>4)return function(Y){for(var B=Math.floor(Number.MAX_SAFE_INTEGER/256),N=0,U=0;U<Y;U+=1){if(N>B)throw new Error("Value exceeds safe integer limit");N*=256;var Z=l.getUint8(E+U);if(N>Number.MAX_SAFE_INTEGER-Z)throw new Error("Value exceeds safe integer limit");N+=Z}return E+=Y,N}(h);for(var w=0,L=0;L<h;L+=1)w<<=8,w|=255&l.getUint8(E+L);return E+=h,w>>>0},moreData:function(){return E<l.byteLength}}}Qa.__dashjs_factory_name="EBMLParser";var Ja=_.Z.getClassFactory(Qa);function $a(){var i,r,l,E,R,A,h,w,L,Y,B=this.context;function N(U){var Z=new I.Z;return Z.setInfo(U),Z}return i={setConfig:function(U){if(!(U.baseURLController&&U.dashMetrics&&U.mediaPlayerModel&&U.errHandler))throw new Error(t.Z.MISSING_CONFIG_ERROR);Y=U.baseURLController,A=U.dashMetrics,h=U.mediaPlayerModel,E=U.errHandler,L=U.errors,r=U.debug.getLogger(i),R=U.requestModifier},initialize:function(){w=Wn(B).create({errHandler:E,dashMetrics:A,mediaPlayerModel:h,requestModifier:R,errors:L})},loadInitialization:function(U,Z){return new Promise(function(ce){var te=null,ue=U?Y.resolve(U.path):null,de=U?U.range.split("-"):null,G={range:{start:de?parseFloat(de[0]):null,end:de?parseFloat(de[1]):null},request:te,url:ue?ue.url:void 0,init:!0,mediaType:Z};r.info("Start loading initialization."),te=N(G),w.load({request:te,success:function(){ce(U)},error:function(){ce(U)}}),r.debug("Perform init load: "+G.url)})},loadSegments:function(U,Z,ce){return new Promise(function(te){var ue=null,de=U?Y.resolve(U.path):null,G=de?de.url:void 0;ue=N({bytesLoaded:0,bytesToLoad:8192,range:{start:0,end:8192},request:ue,url:G,init:!1,mediaType:Z}),r.debug("Parsing ebml header"),w.load({request:ue,success:function(ie){(function(j,le,g,M){if(j&&j.byteLength!==0){var C,D,b,ne,z=Ja(B).create({data:j}),oe=g?g.split("-"):null,Q=null,x={url:le,range:{start:oe?parseFloat(oe[0]):null,end:oe?parseFloat(oe[1]):null},request:Q};for(r.debug("Parse EBML header: "+x.url),z.skipOverElement(l.EBML),z.consumeTag(l.Segment),b=z.getMatroskaCodedNum(),b+=z.getPos(),ne=z.getPos();z.moreData()&&!z.consumeTagAndSize(l.Segment.Info,!0);)if(!(z.skipOverElement(l.Segment.SeekHead,!0)||z.skipOverElement(l.Segment.Tracks,!0)||z.skipOverElement(l.Segment.Cues,!0)||z.skipOverElement(l.Void,!0)))throw new Error("no valid top level element found");for(;C===void 0;){var J=z.getMatroskaCodedNum(!0),he=z.getMatroskaCodedNum();J===l.Segment.Info.Duration.tag?C=z[l.Segment.Info.Duration.parse](he):z.setPos(z.getPos()+he)}Q=N(x),w.load({request:Q,success:function(Ne){D=function(Te,Ce,Ie,et){var nt,We,Xe,Mt,Ee,Fe,lt,qe;for(Xe=[],Ee=0,Fe=(We=function(ht){var gt,st,qt=[],Gt=Ja(B).create({data:ht});for(Gt.consumeTagAndSize(l.Segment.Cues);Gt.moreData()&&Gt.consumeTagAndSize(l.Segment.Cues.CuePoint,!0);){for((gt={}).CueTime=Gt.parseTag(l.Segment.Cues.CuePoint.CueTime),gt.CueTracks=[];Gt.moreData()&&Gt.consumeTag(l.Segment.Cues.CuePoint.CueTrackPositions,!0);){var an=Gt.getMatroskaCodedNum(),un=Gt.getPos();if((st={}).Track=Gt.parseTag(l.Segment.Cues.CuePoint.CueTrackPositions.CueTrack),st.Track===0)throw new Error("Cue track cannot be 0");st.ClusterPosition=Gt.parseTag(l.Segment.Cues.CuePoint.CueTrackPositions.CueClusterPosition),gt.CueTracks.push(st),Gt.setPos(un+an)}if(gt.CueTracks.length===0)throw new Error("Mandatory cuetrack not found");qt.push(gt)}if(qt.length===0)throw new Error("mandatory cuepoint not found");return qt}(Te)).length;Ee<Fe;Ee+=1)Mt=new Wa.Z,nt=Ee<We.length-1?We[Ee+1].CueTime-We[Ee].CueTime:et-We[Ee].CueTime,Mt.duration=nt,Mt.startTime=We[Ee].CueTime,Mt.timescale=1e3,lt=We[Ee].CueTracks[0].ClusterPosition+Ce,qe=Ee<We.length-1?We[Ee+1].CueTracks[0].ClusterPosition+Ce-1:Ie-1,Mt.mediaRange=lt+"-"+qe,Xe.push(Mt);return r.debug("Parsed cues: "+Xe.length+" cues."),Xe}(Ne,ne,b,C),M(D)},error:function(){r.error("Download Error: Cues "+x.url),M(null)}}),r.debug("Perform cues load: "+x.url+" bytes="+x.range.start+"-"+x.range.end)}else M(null)})(ie,G,ce,function(j){te({segments:j,representation:U,error:j?void 0:new re.Z(L.SEGMENT_BASE_LOADER_ERROR_CODE,L.SEGMENT_BASE_LOADER_ERROR_MESSAGE)})})},error:function(){te({representation:U,error:new re.Z(L.SEGMENT_BASE_LOADER_ERROR_CODE,L.SEGMENT_BASE_LOADER_ERROR_MESSAGE)})}})})},reset:function(){w&&(w.abort(),w=null)}},l={EBML:{tag:440786851,required:!0},Segment:{tag:408125543,required:!0,SeekHead:{tag:290298740,required:!0},Info:{tag:357149030,required:!0,TimecodeScale:{tag:2807729,required:!0,parse:"getMatroskaUint"},Duration:{tag:17545,required:!0,parse:"getMatroskaFloat"}},Tracks:{tag:374648427,required:!0},Cues:{tag:475249515,required:!0,CuePoint:{tag:187,required:!0,CueTime:{tag:179,required:!0,parse:"getMatroskaUint"},CueTrackPositions:{tag:183,required:!0,CueTrack:{tag:247,required:!0,parse:"getMatroskaUint"},CueClusterPosition:{tag:241,required:!0,parse:"getMatroskaUint"}}}}},Void:{tag:236,required:!0}},i}$a.__dashjs_factory_name="WebmSegmentBaseLoader";var Rs=_.Z.getSingletonFactory($a);function eo(i){i=i||{};var r,l,E,R=this.context,A=i.eventBus,h=i.events,w=i.dashMetrics,L=i.mediaPlayerModel,Y=i.errHandler,B=i.baseURLController,N=i.debug,U=i.boxParser,Z=i.requestModifier,ce=i.errors;function te(ue){return(ue?ue.split("/")[1]:"").toLowerCase()==="webm"}return r={initialize:function(){l.initialize(),E.initialize()},getSegmentBaseInitSegment:function(ue){return te(ue.representation.mimeType)?E.loadInitialization(ue.representation,ue.mediaType):l.loadInitialization(ue.representation,ue.mediaType)},getSegmentList:function(ue){return te(ue.mimeType)?E.loadSegments(ue.representation,ue.mediaType,ue.representation?ue.representation.indexRange:null):l.loadSegments(ue.representation,ue.mediaType,ue.representation?ue.representation.indexRange:null)},reset:function(){l.reset(),E.reset()}},l=Is(R).getInstance(),E=Rs(R).getInstance(),l.setConfig({baseURLController:B,dashMetrics:w,mediaPlayerModel:L,errHandler:Y,eventBus:A,events:h,errors:ce,debug:N,boxParser:U,requestModifier:Z}),E.setConfig({baseURLController:B,dashMetrics:w,mediaPlayerModel:L,errHandler:Y,eventBus:A,events:h,errors:ce,debug:N,requestModifier:Z}),r}eo.__dashjs_factory_name="SegmentBaseController";var ws=_.Z.getSingletonFactory(eo),to=function i(){(function(r,l){if(!(r instanceof l))throw new TypeError("Cannot call a class as a function")})(this,i),this.id=null,this.quality=null,this.fragmentDuration=null,this.mediaInfo=null,this.MSETimeOffset=null},Qi=function i(){(function(r,l){if(!(r instanceof l))throw new TypeError("Cannot call a class as a function")})(this,i),this.id=null,this.index=null,this.type=null,this.streamInfo=null,this.representationCount=0,this.labels=null,this.lang=null,this.viewpoint=null,this.viewpointsWithSchemeIdUri=null,this.accessibility=null,this.accessibilitiesWithSchemeIdUri=null,this.audioChannelConfiguration=null,this.audioChannelConfigurationsWithSchemeIdUri=null,this.roles=null,this.rolesWithSchemeIdUri=null,this.codec=null,this.mimeType=null,this.contentProtection=null,this.isText=!1,this.KID=null,this.bitrateList=null,this.isFragmented=null,this.isEmbedded=null,this.selectionPriority=1,this.supplementalProperties={},this.supplementalPropertiesAsArray=[],this.essentialProperties={},this.essentialPropertiesAsArray=[],this.segmentAlignment=!1,this.subSegmentAlignment=!1},no=function i(){(function(r,l){if(!(r instanceof l))throw new TypeError("Cannot call a class as a function")})(this,i),this.id=null,this.index=null,this.start=NaN,this.duration=NaN,this.manifestInfo=null,this.isLast=!0},Ns=function i(){(function(r,l){if(!(r instanceof l))throw new TypeError("Cannot call a class as a function")})(this,i),this.dvrWindowSize=NaN,this.loadedTime=null,this.availableFrom=null,this.minBufferTime=NaN,this.duration=NaN,this.isDynamic=!1,this.maxFragmentDuration=null,this.serviceDescriptions=[],this.protocol=null};function Cs(i,r){for(var l=0;l<r.length;l++){var E=r[l];E.enumerable=E.enumerable||!1,E.configurable=!0,"value"in E&&(E.writable=!0),Object.defineProperty(i,E.key,E)}}var Ds=function(){function i(E){var R=this;(function(A,h){if(!(A instanceof h))throw new TypeError("Cannot call a class as a function")})(this,i),this.valid=E[0]=="/",this.path=E.split("/").filter(function(A){return A.length!==0}).map(function(A){var h={name:A},w=A.indexOf("[");if(w!=-1){h.name=A.substring(0,w);var L=A.substring(w+1,A.length-1);R.valid=R.valid&&L.indexOf("[")==-1;var Y=L.indexOf("=");Y!=-1?(h.attribute={name:L.substring(1,Y),value:L.substring(Y+1)},["'",'"'].indexOf(h.attribute.value[0])!=-1&&(h.attribute.value=h.attribute.value.substring(1,h.attribute.value.length-1))):h.position=parseInt(L,10)-1}return h})}var r,l;return r=i,(l=[{key:"isValid",value:function(){return this.valid}},{key:"findsElement",value:function(){return!this.findsAttribute()}},{key:"findsAttribute",value:function(){return this.path[this.path.length-1].name.startsWith("@")}},{key:"findsTextReplace",value:function(){return this.path[this.path.length-1].name==="text()"}},{key:"getMpdTarget",value:function(E,R){for(var A=null,h=E,w=1,L="MPD";w<this.path.length&&h!==null;){A=h;var Y=this.path[w];if(L=Y.name,w!==this.path.length-1||!L.startsWith("@")&&L!=="text()"){var B=A[L+"_asArray"]||[];B.length===0&&A[L]&&B.push(A[L]),Y.position?h=B[Y.position]||null:Y.attribute?function(){var N=Y.attribute;h=B.filter(function(U){return U[N.name]==N.value})[0]||null}():h=B[0]||null}w++}return h===null?null:L.startsWith("@")?{name:L.substring(1),leaf:h,target:h}:L==="text()"?{name:"__text",leaf:h,target:h}:{name:L,leaf:h,target:R?A:h}}}])&&Cs(r.prototype,l),i}();function Os(i,r){for(var l=0;l<r.length;l++){var E=r[l];E.enumerable=E.enumerable||!1,E.configurable=!0,"value"in E&&(E.writable=!0),Object.defineProperty(i,E.key,E)}}var Ms=function(){function i(E,R,A){(function(h,w){if(!(h instanceof w))throw new TypeError("Cannot call a class as a function")})(this,i),this.action=E,this.xpath=R,this.value=A,this.position=null}var r,l;return r=i,(l=[{key:"getMpdTarget",value:function(E){var R=this.action==="remove"||this.action==="replace"||this.position==="before"||this.position==="after";return this.xpath.getMpdTarget(E,R)}}])&&Os(r.prototype,l),i}();function ro(){var i,r,l=this.context;return i={getIsPatch:function(E){return E&&E.hasOwnProperty(e.Z.ORIGINAL_MPD_ID)||!1},getPublishTime:function(E){return E&&E.hasOwnProperty(e.Z.PUBLISH_TIME)?new Date(E[e.Z.PUBLISH_TIME]):null},getOriginalPublishTime:function(E){return E&&E.hasOwnProperty(e.Z.ORIGINAL_PUBLISH_TIME)?new Date(E[e.Z.ORIGINAL_PUBLISH_TIME]):null},getMpdId:function(E){return E&&E[e.Z.ORIGINAL_MPD_ID]||null},getPatchOperations:function(E){return E?(E.__children||[]).map(function(R){var A=Object.keys(R)[0];if(A!=="add"&&A!=="remove"&&A!=="replace")return r.warn("Ignoring node of invalid action: ".concat(A)),null;var h=R[A],w=h.sel;if(A==="add"&&h.type){if(!h.type.startsWith("@"))return r.warn("Ignoring add action for prefixed namespace declaration: ".concat(h.type,"=").concat(h.__text)),null;w="".concat(w,"/").concat(h.type)}var L=new Ds(w);if(!L.isValid())return r.warn("Ignoring action with invalid selector: ".concat(A," - ").concat(w)),null;var Y=null;L.findsAttribute()||L.findsTextReplace()?Y=h.__text||"":A!=="remove"&&(Y=h.__children.reduce(function(N,U){var Z=Object.keys(U)[0];return Z!=="#text"&&(N[Z]=N[Z]||[],N[Z].push(U[Z])),N},{}));var B=new Ms(A,L,Y);return A==="add"&&(B.position=h.pos),B}).filter(function(R){return!!R}):[]}},r=(0,m.Z)(l).getInstance().getLogger(i),i}ro.__dashjs_factory_name="PatchManifestModel";var Ps=_.Z.getSingletonFactory(ro);function io(){var i,r,l,E,R,A,h,w=this.context;function L(C,D,b){var ne,z=r.getAdaptationsForType(E[0].mpd.manifest,C,D);if(!z||z.length===0)return null;if(z.length>1&&b){var oe=N(b,D);if(R[b.id]&&R[b.id][D]){for(var Q=0,x=z.length;Q<x;Q++)if(Y(R[b.id][D],oe[Q]))return z[Q]}for(var J=0,he=z.length;J<he;J++)if(ne=z[J],r.getRolesForAdaptation(ne).filter(function(Ne){return Ne.value===e.Z.MAIN})[0])return z[J]}return z[0]}function Y(C,D){if(!C||!D)return!1;var b=C.id===D.id,ne=C.codec===D.codec,z=C.viewpoint===D.viewpoint,oe=JSON.stringify(C.viewpointsWithSchemeIdUri)===JSON.stringify(D.viewpointsWithSchemeIdUri),Q=C.lang===D.lang,x=C.roles.toString()===D.roles.toString(),J=JSON.stringify(C.rolesWithSchemeIdUri)===JSON.stringify(D.rolesWithSchemeIdUri),he=C.accessibility.toString()===D.accessibility.toString(),Ne=JSON.stringify(C.accessibilitiesWithSchemeIdUri)===JSON.stringify(D.accessibilitiesWithSchemeIdUri),Te=C.audioChannelConfiguration.toString()===D.audioChannelConfiguration.toString(),Ce=JSON.stringify(C.audioChannelConfigurationsWithSchemeIdUri)===JSON.stringify(D.audioChannelConfigurationsWithSchemeIdUri);return b&&ne&&z&&oe&&Q&&x&&J&&he&&Ne&&Te&&Ce}function B(C,D,b,ne,z,oe){var Q,x,J,he,Ne,Te,Ce=[];if(!ne||ne.length===0)return[];var Ie=r.getAdaptationsForPeriod(D);for(he=0,Te=ne.length;he<Te;he++)if(Q=ne[he],x=G(Ie[J=r.getIndexForAdaptation(Q,C,b.index)]),oe){var et=x.accessibility.length;for(Ne=0;Ne<et;Ne++)if(x){var nt=x.accessibility[Ne];if(nt.indexOf("cea-608:")===0){var We=nt.substring(8).split(";");if(We[0].substring(0,2)==="CC")for(Ne=0;Ne<We.length;Ne++)x||(x=G.call(this,Ie[J])),ie(x,We[Ne].substring(0,3),We[Ne].substring(4)),Ce.push(x),x=null;else for(Ne=0;Ne<We.length;Ne++)x||(x=G.call(this,Ie[J])),ie(x,"CC"+(Ne+1),We[Ne]),Ce.push(x),x=null}else nt.indexOf("cea-608")===0&&(ie(x,A.CC1,"eng"),Ce.push(x),x=null)}}else z===A.IMAGE?(x.type=A.IMAGE,Ce.push(x),x=null):x&&Ce.push(x);return Ce}function N(C,D,b){var ne=E,z=b,oe=[];if(z)le(),ne=U(z);else{if(!(E.length>0))return oe;z=E[0].mpd.manifest}var Q=de(C,ne),x=r.getAdaptationsForType(z,C?C.index:null,D);return oe=B(z,Q,C,x,D),D===A.TEXT&&(x=r.getAdaptationsForType(z,C?C.index:null,A.VIDEO),oe=oe.concat(B(z,Q,C,x,D,!0))),oe}function U(C){var D=Z(C);return r.getRegularPeriods(D)}function Z(C){var D=te(C);return r.getMpd(D)}function ce(){E=[],R={}}function te(C){return C||(E.length>0?E[0].mpd.manifest:null)}function ue(C){try{var D=de(C.streamInfo,E),b=r.getAdaptationsForPeriod(D);return C&&C.streamInfo&&C.streamInfo.id!==void 0&&b?b[C.index]:null}catch{return null}}function de(C,D){for(var b=D.length,ne=0;ne<b;ne++){var z=D[ne];if(C&&C.id===z.id)return z}return null}function G(C){if(!C)return null;var D,b,ne,z,oe,Q=new Qi,x=C.period.mpd.manifest.Period_asArray[C.period.index].AdaptationSet_asArray[C.index];if(Q.id=C.id,Q.index=C.index,Q.type=C.type,Q.streamInfo=j(C.period),Q.representationCount=r.getRepresentationCount(x),Q.labels=r.getLabelsForAdaptation(x),Q.lang=r.getLanguageForAdaptation(x),Q.segmentAlignment=r.getSegmentAlignment(x),Q.subSegmentAlignment=r.getSubSegmentAlignment(x),D=r.getViewpointForAdaptation(x),Q.viewpoint=D.length?D[0].value:void 0,Q.viewpointsWithSchemeIdUri=D,oe=r.getAccessibilityForAdaptation(x),Q.accessibility=oe.map(function(Ce){var Ie=Ce.value,et=Ie;return Ce.schemeIdUri&&Ce.schemeIdUri.search("cea-608")>=0&&h!==void 0&&(et=Ie?"cea-608:"+Ie:"cea-608",Q.embeddedCaptions=!0),et}),Q.accessibilitiesWithSchemeIdUri=oe,b=r.getAudioChannelConfigurationForAdaptation(x),Q.audioChannelConfiguration=b.map(function(Ce){return Ce.value}),Q.audioChannelConfigurationsWithSchemeIdUri=b,Q.audioChannelConfiguration.length===0&&Array.isArray(x.Representation_asArray)&&x.Representation_asArray.length>0&&(ne=r.getAudioChannelConfigurationForRepresentation(x.Representation_asArray[0]),Q.audioChannelConfiguration=ne.map(function(Ce){return Ce.value}),Q.audioChannelConfigurationsWithSchemeIdUri=ne),z=r.getRolesForAdaptation(x),Q.roles=z.map(function(Ce){return Ce.value}),Q.rolesWithSchemeIdUri=z,Q.codec=r.getCodec(x),Q.mimeType=r.getMimeType(x),Q.contentProtection=r.getContentProtectionData(x),Q.bitrateList=r.getBitrateListForAdaptation(x),Q.selectionPriority=r.getSelectionPriority(x),Q.contentProtection){var J=Q.contentProtection.map(function(Ce){return r.getKID(Ce)}).filter(function(Ce){return Ce!==null});if(J.length){var he=J[0];Q.contentProtection.forEach(function(Ce){Ce.keyId=he})}}if(Q.isText=r.getIsText(x),Q.supplementalProperties=r.getSupplementalPropertiesForAdaptation(x),(!Q.supplementalProperties||Object.keys(Q.supplementalProperties).length===0)&&Array.isArray(x.Representation_asArray)&&x.Representation_asArray.length>0){var Ne=x.Representation_asArray.map(function(Ce){return r.getSupplementalPropertiesForRepresentation(Ce)});Ne.every(function(Ce){return JSON.stringify(Ce)===JSON.stringify(Ne[0])})&&(Q.supplementalProperties=Ne[0])}if(Q.supplementalPropertiesAsArray=r.getSupplementalPropertiesAsArrayForAdaptation(x),(!Q.supplementalPropertiesAsArray||Q.supplementalPropertiesAsArray.length===0)&&Array.isArray(x.Representation_asArray)&&x.Representation_asArray.length>0){var Te=x.Representation_asArray.map(function(Ce){return r.getSupplementalPropertiesAsArrayForRepresentation(Ce)});Te.every(function(Ce){return JSON.stringify(Ce)===JSON.stringify(Te[0])})&&(Q.supplementalPropertiesAsArray=Te[0])}return Q.essentialProperties=r.getEssentialPropertiesForAdaptation(x),Q.essentialPropertiesAsArray=r.getEssentialPropertiesAsArrayForAdaptation(x),Q.isFragmented=r.getIsFragmented(x),Q.isEmbedded=!1,Q}function ie(C,D,b){C.id=D,C.index=100+parseInt(D.substring(2,3)),C.type=A.TEXT,C.codec="cea-608-in-SEI",C.isEmbedded=!0,C.isFragmented=!1;var ne=oi()(b);C.lang=ne||b,C.roles=["caption"],C.rolesWithSchemeIdUri=[{schemeIdUri:"urn:mpeg:dash:role:2011",value:"caption"}]}function j(C){var D,b,ne=new no;return ne.id=C.id,ne.index=C.index,ne.start=C.start,ne.duration=C.duration,ne.manifestInfo=(D=C.mpd,(b=new Ns).dvrWindowSize=D.timeShiftBufferDepth,b.loadedTime=D.manifest.loadedTime,b.availableFrom=D.availabilityStartTime,b.minBufferTime=D.manifest.minBufferTime,b.maxFragmentDuration=D.maxSegmentDuration,b.duration=r.getDuration(D.manifest),b.isDynamic=r.getIsDynamic(D.manifest),b.serviceDescriptions=r.getServiceDescriptions(D.manifest),b.protocol=D.manifest.protocol,b),ne.isLast=C.mpd.manifest.Period_asArray.length===1||Math.abs(ne.start+ne.duration-ne.manifestInfo.duration)<1,ne}function le(){if(!A)throw new Error("setConfig function has to be called previously")}function g(C){return E.length>0?E[0].mpd.manifest.Period_asArray[C]:null}function M(C,D,b){var ne,z,oe,Q,x;if(C){for(ne=C.AdaptationSet_asArray,Q=0;Q<ne.length;Q+=1)for(oe=ne[Q].Representation_asArray,x=0;x<oe.length;x+=1)if(D===(z=oe[x]).id)return b?x:z}return null}return i={getBandwidthForRepresentation:function(C,D){var b;return(b=M(g(D),C))?b.bandwidth:null},getIndexForRepresentation:function(C,D){return function(b,ne){var z=M(b,ne,!0);return z!==null?z:-1}(g(D),C)},getMaxIndexForBufferType:function(C,D){return function(b,ne){var z,oe,Q,x;if(!b||!ne)return-1;for(oe=b.AdaptationSet_asArray,x=0;x<oe.length;x+=1)if(Q=(z=oe[x]).Representation_asArray,r.getIsTypeOf(z,ne))return Q.length;return-1}(g(D),C)},convertRepresentationToRepresentationInfo:function(C){if(C){var D=new to,b=C.adaptation.period.mpd.manifest.Period_asArray[C.adaptation.period.index].AdaptationSet_asArray[C.adaptation.index],ne=r.getRepresentationFor(C.index,b);return D.id=C.id,D.quality=C.index,D.bandwidth=r.getBandwidth(ne),D.fragmentDuration=C.segmentDuration||(C.segments&&C.segments.length>0?C.segments[0].duration:NaN),D.MSETimeOffset=C.MSETimeOffset,D.mediaInfo=G(C.adaptation),D}return null},getStreamsInfo:function(C,D){var b=[],ne=E;if(C&&(le(),ne=U(C)),ne.length>0){(!D||D>ne.length)&&(D=ne.length);for(var z=0;z<D;z++)b.push(j(ne[z]))}return b},getMediaInfoForType:function(C,D){if(E.length===0||!C)return null;var b=de(C,E);if(!b)return null;var ne=r.getAdaptationsForPeriod(b),z=L(C.index,D,C);return z?G(ne[r.getIndexForAdaptation(z,E[0].mpd.manifest,C.index)]):null},getAllMediaInfoForType:N,getAdaptationForType:L,getRealAdaptation:function(C,D){var b,ne,z=de(C,E);return b=D?D.id:null,E.length>0&&z&&(ne=b?r.getAdaptationForId(b,E[0].mpd.manifest,z.index):r.getAdaptationForIndex(D?D.index:null,E[0].mpd.manifest,z.index)),ne},getProducerReferenceTimes:function(C,D){var b,ne,z=de(C,E);return b=D?D.id:null,E.length>0&&z&&(ne=b?r.getAdaptationForId(b,E[0].mpd.manifest,z.index):r.getAdaptationForIndex(D?D.index:null,E[0].mpd.manifest,z.index)),ne?r.getProducerReferenceTimesForAdaptation(ne):[]},getRealPeriodByIndex:function(C){return r.getRealPeriodForIndex(C,E[0].mpd.manifest)},getEssentialPropertiesForRepresentation:function(C){try{return r.getEssentialPropertiesForRepresentation(C)}catch{return[]}},getVoRepresentations:function(C){var D=ue(C);return r.getRepresentationsForAdaptation(D)},getEventsFor:function(C,D,b){var ne=[];if(E.length>0){var z=E[0].mpd.manifest;if(C instanceof no){var oe=de(C,E);ne=r.getEventsForPeriod(oe)}else if(C instanceof Qi){var Q=de(b,E);ne=r.getEventStreamForAdaptationSet(z,ue(C),Q)}else if(C instanceof to){var x=de(b,E);ne=r.getEventStreamForRepresentation(z,D,x)}}return ne},getEvent:function(C,D,b,ne){try{if(!C||!D||isNaN(b)||!ne)return null;var z=C.scheme_id_uri,oe=C.value;if(!D[z+"/"+oe])return null;var Q,x=new Kn,J=C.timescale||1,he=ne.adaptation.period.start,Ne=D[z+"/"+oe],Te=isNaN(ne.presentationTimeOffset)?isNaN(Ne.presentationTimeOffset)?0:Ne.presentationTimeOffset:ne.presentationTimeOffset,Ce=C.presentation_time_delta/J;Q=C.version===0?he+b-Te+Ce:he-Te+Ce;var Ie=C.event_duration/J,et=C.id,nt=C.message_data;return x.eventStream=Ne,x.eventStream.value=oe,x.eventStream.timescale=J,x.duration=Ie,x.id=et,x.calculatedPresentationTime=Q,x.messageData=nt,x.presentationTimeDelta=Ce,x}catch{return null}},getMpd:Z,setConfig:function(C){C&&(C.constants&&(A=C.constants),C.cea608parser&&(h=C.cea608parser),C.errHandler&&r.setConfig({errHandler:C.errHandler}),C.BASE64&&r.setConfig({BASE64:C.BASE64}))},updatePeriods:function(C){if(!C)return null;le(),E=U(C)},getIsTextTrack:function(C){return r.getIsText(C)},getUTCTimingSources:function(){var C=te();return r.getUTCTimingSources(C)},getSuggestedPresentationDelay:function(){var C=E.length>0?E[0].mpd:null;return r.getSuggestedPresentationDelay(C)},getAvailabilityStartTime:function(C){var D=Z(C);return r.getAvailabilityStartTime(D)},getIsTypeOf:function(C,D){return r.getIsTypeOf(C,D)},getIsDynamic:function(C){var D=te(C);return r.getIsDynamic(D)},getDuration:function(C){var D=te(C);return r.getDuration(D)},getRegularPeriods:U,getContentSteering:function(C){return r.getContentSteering(C)},getLocation:function(C){return r.getLocation(C)},getPatchLocation:function(C){var D=r.getPatchLocation(C),b=r.getPublishTime(C);return D&&D.length!==0&&b?D.filter(function(ne){return isNaN(ne.ttl)||b.getTime()+ne.ttl>new Date().getTime()}):[]},getManifestUpdatePeriod:function(C){var D=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return r.getManifestUpdatePeriod(C,D)},getPublishTime:function(C){return r.getPublishTime(C)},getIsDVB:function(C){return r.hasProfile(C,"urn:dvb:dash:profile:dvb-dash:2014")},getIsPatch:function(C){return l.getIsPatch(C)},getBaseURLsFromElement:function(C){return r.getBaseURLsFromElement(C)},getRepresentationSortFunction:function(){return r.getRepresentationSortFunction()},getCodec:function(C,D,b){return r.getCodec(C,D,b)},getPeriodById:function(C){if(!C||E.length===0)return null;var D=E.filter(function(b){return b.id===C});return D&&D.length>0?D[0]:null},setCurrentMediaInfo:function(C,D,b){R[C]=R[C]||{},R[C][D]=R[C][D]||{},R[C][D]=b},isPatchValid:function(C,D){var b=r.getId(C),ne=l.getMpdId(D),z=r.getPublishTime(C),oe=l.getPublishTime(D),Q=l.getOriginalPublishTime(D);return!!(b&&ne&&b==ne&&z&&Q&&z.getTime()==Q.getTime()&&oe&&z.getTime()<oe.getTime())},applyPatchToManifest:function(C,D){l.getPatchOperations(D).forEach(function(b){var ne=b.getMpdTarget(C);if(ne!==null){var z=ne.name,oe=ne.target,Q=ne.leaf;if(b.xpath.findsAttribute()||z==="__text")switch(b.action){case"add":case"replace":oe[z]=b.value;break;case"remove":delete oe[z]}else{var x=(oe[z+"_asArray"]||[]).indexOf(Q),J=b.position==="prepend"||b.position==="before";if((b.action==="remove"||b.action==="replace")&&(delete oe[z],x!=-1)){var he=oe[z+"_asArray"];he.splice(x,1),he.length>1?oe[z]=he:he.length==1?oe[z]=he[0]:delete oe[z+"_asArray"]}b.action!=="add"&&b.action!=="replace"||Object.keys(b.value).forEach(function(Ne){var Te=b.value[Ne],Ce=oe[Ne+"_asArray"]||[];if(Ce.length===0&&oe[Ne]&&Ce.push(oe[Ne]),Ce.length===0)Ce=Te;else{var Ie=Ce.length;Ie=Ne==z&&x!=-1?x+(J?0:1)+(b.action=="replace"?-1:0):J?0:Ce.length,Ce.splice.apply(Ce,[Ie,0].concat(Te))}oe[Ne+"_asArray"]=Ce,oe[Ne]=Ce.length==1?Ce[0]:Ce})}}})},areMediaInfosEqual:Y,reset:ce},r=$t(w).getInstance(),l=Ps(w).getInstance(),ce(),i}io.__dashjs_factory_name="DashAdapter";var Ls=_.Z.getSingletonFactory(io);function Fs(i,r){for(var l=0;l<r.length;l++){var E=r[l];E.enumerable=E.enumerable||!1,E.configurable=!0,"value"in E&&(E.writable=!0),Object.defineProperty(i,E.key,E)}}var xs=function(){function i(){(function(E,R){if(!(E instanceof R))throw new TypeError("Cannot call a class as a function")})(this,i)}var r,l;return r=i,l=[{key:"round10",value:function(E,R){return function(A,h,w){return w===void 0||+w==0?Math[A](h):(w=+w,(h=+h)===null||isNaN(h)||typeof w!="number"||w%1!=0?NaN:(h=h.toString().split("e"),+((h=(h=Math[A](+(h[0]+"e"+(h[1]?+h[1]-w:-w)))).toString().split("e"))[0]+"e"+(h[1]?+h[1]+w:w))))}("round",E,R)}}],l&&Fs(r,l),i}(),ks=function i(){(function(r,l){if(!(r instanceof l))throw new TypeError("Cannot call a class as a function")})(this,i),this.TcpList=[],this.HttpList=[],this.RepSwitchList=[],this.BufferLevel=[],this.BufferState=[],this.PlayList=[],this.DroppedFrames=[],this.SchedulingInfo=[],this.DVRInfo=[],this.ManifestUpdate=[],this.RequestsQueue=null,this.DVBErrors=[]},Zs=function i(){(function(r,l){if(!(r instanceof l))throw new TypeError("Cannot call a class as a function")})(this,i),this.t=null,this.mt=null,this.to=null,this.lto=null},Us=function i(){(function(r,l){if(!(r instanceof l))throw new TypeError("Cannot call a class as a function")})(this,i),this.t=null,this.level=null},Bs=function i(){(function(r,l){if(!(r instanceof l))throw new TypeError("Cannot call a class as a function")})(this,i),this.target=null,this.state=y.Z.BUFFER_EMPTY},Gs=function i(){(function(r,l){if(!(r instanceof l))throw new TypeError("Cannot call a class as a function")})(this,i),this.time=null,this.range=null,this.manifestInfo=null},qs=function i(){(function(r,l){if(!(r instanceof l))throw new TypeError("Cannot call a class as a function")})(this,i),this.time=null,this.droppedFrames=null};function Ji(i,r){if(!(i instanceof r))throw new TypeError("Cannot call a class as a function")}var Ys=function i(){Ji(this,i),this.mediaType=null,this.type=null,this.requestTime=null,this.fetchTime=null,this.availabilityStartTime=null,this.presentationStartTime=0,this.clientTimeOffset=0,this.currentTime=null,this.buffered=null,this.latency=0,this.streamInfo=[],this.representationInfo=[]},js=function i(){Ji(this,i),this.id=null,this.index=null,this.start=null,this.duration=null},Hs=function i(){Ji(this,i),this.id=null,this.index=null,this.mediaType=null,this.streamIndex=null,this.presentationTimeOffset=null,this.startNumber=null,this.fragmentInfoType=null},Vs=function i(){(function(r,l){if(!(r instanceof l))throw new TypeError("Cannot call a class as a function")})(this,i),this.mediaType=null,this.t=null,this.type=null,this.startTime=null,this.availabilityStartTime=null,this.duration=null,this.quality=null,this.range=null,this.state=null},Ks=function i(){(function(r,l){if(!(r instanceof l))throw new TypeError("Cannot call a class as a function")})(this,i),this.loadingRequests=[],this.executedRequests=[]};function ao(i){var r,l,E=(i=i||{}).settings,R=this.context,A=(0,p.Z)(R).getInstance();function h(){A.trigger(u.Z.METRICS_CHANGED)}function w(Z){A.trigger(u.Z.METRIC_CHANGED,{mediaType:Z}),h()}function L(Z,ce,te){A.trigger(u.Z.METRIC_UPDATED,{mediaType:Z,metric:ce,value:te}),w(Z)}function Y(Z,ce,te){A.trigger(u.Z.METRIC_ADDED,{mediaType:Z,metric:ce,value:te}),w(Z)}function B(Z,ce){var te=null;return Z&&(l.hasOwnProperty(Z)?te=l[Z]:ce||(te=new ks,l[Z]=te)),te}function N(Z,ce,te){var ue=B(Z);ue!==null&&(ue[ce].push(te),ue[ce].length>E.get().streaming.metrics.maxListDepth&&ue[ce].shift())}function U(Z,ce,te){N(Z,ce,te),Y(Z,ce,te)}return r={clearCurrentMetricsForType:function(Z){delete l[Z],w(Z)},clearAllCurrentMetrics:function(){l={},h()},getMetricsFor:B,addHttpRequest:function Z(ce,te,ue,de,G,ie,j,le,g,M,C,D,b,ne,z,oe,Q){var x=new Le.w;ie!=null&&ie!==de&&(Z(ce,null,ue,de,G,null,null,le,g,null,null,null,b,null,null,oe,Q),x.actualurl=ie),x.tcpid=te,x.type=ue,x.url=de,x.range=le,x.trequest=g,x.tresponse=M,x.responsecode=D,x.cmsd=Q,x._tfinish=C,x._stream=ce,x._mediaduration=b,x._quality=G,x._responseHeaders=ne,x._serviceLocation=j,x._fileLoaderType=oe,z?z.forEach(function(J){(function(he,Ne,Te,Ce){var Ie=new Le.O;Ie.s=Ne,Ie.d=Te,Ie.b=Ce,he.trace.push(Ie),he.interval||(he.interval=0),he.interval+=Te})(x,J.s,J.d,J.b)}):(delete x.interval,delete x.trace),U(ce,y.Z.HTTP_REQUEST,x)},addRepresentationSwitch:function(Z,ce,te,ue,de){var G=new Zs;G.t=ce,G.mt=te,G.to=ue,de?G.lto=de:delete G.lto,U(Z,y.Z.TRACK_SWITCH,G)},addBufferLevel:function(Z,ce,te){var ue=new Us;ue.t=ce,ue.level=te,U(Z,y.Z.BUFFER_LEVEL,ue)},addBufferState:function(Z,ce,te){var ue=new Bs;ue.target=te,ue.state=ce,U(Z,y.Z.BUFFER_STATE,ue)},addDVRInfo:function(Z,ce,te,ue){var de=new Gs;de.time=ce,de.range=ue,de.manifestInfo=te,U(Z,y.Z.DVR_INFO,de)},addDroppedFrames:function(Z,ce){var te=new qs,ue=B(Z).DroppedFrames;ce&&(te.time=ce.creationTime,te.droppedFrames=ce.droppedVideoFrames,ue.length>0&&ue[ue.length-1]==te||U(Z,y.Z.DROPPED_FRAMES,te))},addSchedulingInfo:function(Z,ce,te,ue,de,G,ie,j,le){var g=new Vs;g.mediaType=Z,g.t=ce,g.type=te,g.startTime=ue,g.availabilityStartTime=de,g.duration=G,g.quality=ie,g.range=j,g.state=le,U(Z,y.Z.SCHEDULING_INFO,g)},addRequestsQueue:function(Z,ce,te){var ue=new Ks;ue.loadingRequests=ce,ue.executedRequests=te,B(Z).RequestsQueue=ue,Y(Z,y.Z.REQUESTS_QUEUE,ue)},addManifestUpdate:function(Z,ce,te,ue,de,G,ie,j,le,g){var M=new Ys;M.mediaType=Z,M.type=ce,M.requestTime=te,M.fetchTime=ue,M.availabilityStartTime=de,M.presentationStartTime=G,M.clientTimeOffset=ie,M.currentTime=j,M.buffered=le,M.latency=g,N(t.Z.STREAM,y.Z.MANIFEST_UPDATE,M),Y(Z,y.Z.MANIFEST_UPDATE,M)},updateManifestUpdateInfo:function(Z,ce){if(Z){for(var te in ce)Z[te]=ce[te];L(Z.mediaType,y.Z.MANIFEST_UPDATE,Z)}},addManifestUpdateStreamInfo:function(Z,ce,te,ue,de){if(Z){var G=new js;G.id=ce,G.index=te,G.start=ue,G.duration=de,Z.streamInfo.push(G),L(Z.mediaType,y.Z.MANIFEST_UPDATE_STREAM_INFO,Z)}},addManifestUpdateRepresentationInfo:function(Z,ce,te,ue,de,G,ie,j){if(Z&&Z.representationInfo){var le=new Hs;le.id=ce,le.index=te,le.streamIndex=ue,le.mediaType=de,le.startNumber=ie,le.fragmentInfoType=j,le.presentationTimeOffset=G,Z.representationInfo.push(le),L(Z.mediaType,y.Z.MANIFEST_UPDATE_TRACK_INFO,Z)}},addPlayList:function(Z){Z.trace&&Array.isArray(Z.trace)?Z.trace.forEach(function(ce){ce.hasOwnProperty("subreplevel")&&!ce.subreplevel&&delete ce.subreplevel}):delete Z.trace,U(t.Z.STREAM,y.Z.PLAY_LIST,Z)},addDVBErrors:function(Z){U(t.Z.STREAM,y.Z.DVB_ERRORS,Z)}},l={},r}ao.__dashjs_factory_name="MetricsModel";var zs=_.Z.getSingletonFactory(ao);function oo(i){i=i||{};var r,l,E,R,A=this.context,h=i.metricsModel;function w(B){var N=h.getMetricsFor(B,!0);if(!N)return null;var U,Z=N.HttpList,ce=null;if(!Z||Z.length<=0)return null;for(U=Z.length-1;U>=0;){if(Z[U].responsecode){ce=Z[U];break}U--}return ce}function L(B){var N=h.getMetricsFor(B,!0);return N&&N.HttpList?N.HttpList:[]}function Y(B,N){if(!B)return null;var U=B[N];return U&&U.length!==0?U[U.length-1]:null}return r={getCurrentRepresentationSwitch:function(B){return Y(h.getMetricsFor(B,!0),y.Z.TRACK_SWITCH)},getCurrentBufferState:function(B){return Y(h.getMetricsFor(B,!0),y.Z.BUFFER_STATE)},getCurrentBufferLevel:function(B){var N=Y(h.getMetricsFor(B,!0),y.Z.BUFFER_LEVEL);return N?xs.round10(N.level/1e3,-3):0},getCurrentHttpRequest:w,getHttpRequests:L,getCurrentDroppedFrames:function(){return Y(h.getMetricsFor(t.Z.VIDEO,!0),y.Z.DROPPED_FRAMES)},getCurrentSchedulingInfo:function(B){return Y(h.getMetricsFor(B,!0),y.Z.SCHEDULING_INFO)},getCurrentDVRInfo:function(B){return Y(B?h.getMetricsFor(B,!0):h.getMetricsFor(t.Z.VIDEO,!0)||h.getMetricsFor(t.Z.AUDIO,!0),y.Z.DVR_INFO)},getCurrentManifestUpdate:function(){return Y(h.getMetricsFor(t.Z.STREAM),y.Z.MANIFEST_UPDATE)},getLatestFragmentRequestHeaderValueByID:function(B,N){if(!N)return null;var U={},Z=w(B);Z&&(U=pt.Z.parseHttpHeaders(Z._responseHeaders));var ce=U[N.toLowerCase()];return ce===void 0?null:ce},getLatestMPDRequestHeaderValueByID:function(B){if(!B)return null;var N,U,Z,ce={};for(Z=(N=L(t.Z.STREAM)).length-1;Z>=0;Z--)if((U=N[Z]).type===Le.w.MPD_TYPE){ce=pt.Z.parseHttpHeaders(U._responseHeaders);break}var te=ce[B.toLowerCase()];return te===void 0?null:te},addRepresentationSwitch:function(B,N,U,Z,ce){h.addRepresentationSwitch(B,N,U,Z,ce)},addDVRInfo:function(B,N,U,Z){h.addDVRInfo(B,N,U,Z)},updateManifestUpdateInfo:function(B){var N=this.getCurrentManifestUpdate();h.updateManifestUpdateInfo(N,B)},addManifestUpdateStreamInfo:function(B){if(B){var N=this.getCurrentManifestUpdate();h.addManifestUpdateStreamInfo(N,B.id,B.index,B.start,B.duration)}},addManifestUpdateRepresentationInfo:function(B,N){if(B){var U=this.getCurrentManifestUpdate();h.addManifestUpdateRepresentationInfo(U,B.id,B.index,B.streamIndex,N,B.presentationTimeOffset,B.startNumber,B.fragmentInfoType)}},addManifestUpdate:function(B){h.addManifestUpdate(t.Z.STREAM,B.type,B.requestStartDate,B.requestEndDate)},addHttpRequest:function(B,N,U,Z,ce,te){h.addHttpRequest(B.mediaType,null,B.type,B.url,B.quality,N,B.serviceLocation||null,B.range||null,B.requestStartDate,B.firstByteDate,B.requestEndDate,U,B.duration,Z,ce,B.fileLoaderType,te)},addSchedulingInfo:function(B,N){h.addSchedulingInfo(B.mediaType,new Date,B.type,B.startTime,B.availabilityStartTime,B.duration,B.quality,B.range,N)},addRequestsQueue:function(B,N,U){h.addRequestsQueue(B,N,U)},addBufferLevel:function(B,N,U){h.addBufferLevel(B,N,U)},addBufferState:function(B,N,U){h.addBufferState(B,N,U)},addDroppedFrames:function(B){h.addDroppedFrames(t.Z.VIDEO,B)},addPlayList:function(){R&&(h.addPlayList(R),R=null)},addDVBErrors:function(B){h.addDVBErrors(B)},createPlaylistMetrics:function(B,N){(R=new De).start=new Date,R.mstart=B,R.starttype=N},createPlaylistTraceMetrics:function(B,N,U){l===!0&&(l=!1,(E=new be).representationid=B,E.start=new Date,E.mstart=N,E.playbackspeed=U!==null?U.toString():null)},updatePlayListTraceMetrics:function(B){if(E)for(var N in E)E[N]=B[N]},pushPlayListTraceMetrics:function(B,N){if(l===!1&&R&&E&&E.start){var U=E.start,Z=B.getTime()-U.getTime();E.duration=Z,E.stopreason=N,R.trace.push(E),l=!0}},clearAllCurrentMetrics:function(){h.clearAllCurrentMetrics()}},h=h||zs(A).getInstance({settings:i.settings}),l=!0,E=null,R=null,r}oo.__dashjs_factory_name="DashMetrics";var Ws=_.Z.getSingletonFactory(oo);function so(){var i,r,l,E,R=this.context,A=(0,p.Z)(R).getInstance(),h=(0,Ae.Z)(R).getInstance();function w(de){E=de}function L(de,G,ie,j){var le,g=G.adaptation.period.mpd,M=g.availabilityStartTime;if(j)le=ie&&g.timeShiftBufferDepth!==Number.POSITIVE_INFINITY?new Date(M.getTime()+1e3*(de+g.timeShiftBufferDepth)):g.availabilityEndTime;else if(ie){var C=G.availabilityTimeOffset;le=new Date(M.getTime()+1e3*(de-C))}else le=M;return le}function Y(de,G){return(de.getTime()-G.mpd.availabilityStartTime.getTime()+1e3*E)/1e3}function B(de,G){return de+(G.adaptation.period.start-G.presentationTimeOffset)}function N(de){var G={start:NaN,end:NaN},ie=de[0].getAdapter().getRegularPeriods()[0],j=Y(new Date,ie);if(!de||de.length===0)return{range:G,now:j};de.forEach(function(g){var M=g.getAdapter(),C=M.getMediaInfoForType(g.getStreamInfo(),t.Z.VIDEO)||M.getMediaInfoForType(g.getStreamInfo(),t.Z.AUDIO),D=M.getVoRepresentations(C)[0],b={start:NaN,end:NaN};if(D)if(D.segmentInfoType===e.Z.SEGMENT_TIMELINE)b=function(z){var oe,Q,x,J,he=z.adaptation.period.mpd.manifest.Period_asArray[z.adaptation.period.index].AdaptationSet_asArray[z.adaptation.index],Ne=r.getRepresentationFor(z.index,he),Te=Ne.SegmentTemplate||Ne.SegmentList,Ce=Te.SegmentTimeline,Ie=Te.timescale,et=Ce.S_asArray,nt={start:0,end:0},We=et[0].t,Xe=!isNaN(We),Mt=Xe?We:0,Ee=0;for(Xe&&(nt.start=B(Mt/Ie,z)),x=0,J=et.length;x<J;x++)Q=0,(oe=et[x]).hasOwnProperty("r")&&(Q=oe.r),Ee+=oe.d*(1+Q);return nt.end=B((Mt+Ee)/Ie,z),nt}(D);else{var ne=D.adaptation.period;b.start=ne.start,b.end=Math.max(j,ne.start+ne.duration)}!isNaN(b.start)&&(isNaN(G.start)||G.start>b.start)&&(G.start=b.start),!isNaN(b.end)&&(isNaN(G.end)||G.end<b.end)&&(G.end=b.end)}),G.end=Math.min(j,G.end);var le=Z(de,G.end,!0);return G.end=isNaN(le)?G.end:le,G.start=ie&&ie.mpd&&ie.mpd.timeShiftBufferDepth&&!isNaN(ie.mpd.timeShiftBufferDepth)&&!isNaN(G.end)?Math.max(G.end-ie.mpd.timeShiftBufferDepth,G.start):G.start,G.start=Z(de,G.start),{range:G,now:j}}function U(de,G){l=de-G.end}function Z(de,G){var ie=arguments.length>2&&arguments[2]!==void 0&&arguments[2];try{for(var j=0,le=!1,g=NaN;!le&&j<de.length;){var M=de[j].getStreamInfo();M.start<=G&&(!isFinite(M.duration)||M.start+M.duration>=G)?(g=G,le=!0):!ie&&M.start>G&&(isNaN(g)||M.start<g)?g=M.start:ie&&M.start+M.duration<G&&(isNaN(g)||M.start+M.duration>g)&&(g=M.start+M.duration),j+=1}return g}catch{return G}}function ce(de){de.offset===void 0||isNaN(de.offset)||w(de.offset/1e3)}function te(){E=0,l=0}function ue(){A.off(u.Z.UPDATE_TIME_SYNC_OFFSET,ce,this),te()}return i={initialize:function(){te(),A.on(u.Z.UPDATE_TIME_SYNC_OFFSET,ce,this)},getClientTimeOffset:function(){return E},setClientTimeOffset:w,getClientReferenceTime:function(){return Date.now()-1e3*l+1e3*E},calcAvailabilityStartTimeFromPresentationTime:function(de,G,ie){return L(de,G,ie)},calcAvailabilityEndTimeFromPresentationTime:function(de,G,ie){return L(de,G,ie,!0)},calcPresentationTimeFromWallTime:Y,calcPresentationTimeFromMediaTime:B,calcPeriodRelativeTimeFromMpdRelativeTime:function(de,G){return G-de.adaptation.period.start},calcMediaTimeFromPresentationTime:function(de,G){return de-G.adaptation.period.start+G.presentationTimeOffset},calcWallTimeForSegment:function(de,G){var ie,j,le;return G&&(ie=de.representation.adaptation.period.mpd.suggestedPresentationDelay,j=de.presentationStartTime+ie,le=new Date(de.availabilityStartTime.getTime()+1e3*j)),le},calcTimeShiftBufferWindow:function(de,G){if(!G)return function(j){var le={start:NaN,end:NaN},g=0,M=NaN;return j.forEach(function(C){var D=C.getStreamInfo();g+=D.duration,(isNaN(M)||D.start<M)&&(M=D.start)}),le.start=M,le.end=M+g,le}(de);if(h.get().streaming.timeShiftBuffer.calcFromSegmentTimeline){var ie=N(de);return U(ie.now,ie.range),ie.range}return function(j){var le={start:NaN,end:NaN};if(!j||j.length===0)return le;var g=j[0].getAdapter().getRegularPeriods()[0],M=Y(new Date,g),C=g.mpd.timeShiftBufferDepth,D=isNaN(C)?0:M-C;if(le.start=Z(j,D),le.end=!isNaN(le.start)&&M<le.start?M:Z(j,M,!0),!isNaN(C)&&le.end<M-C&&(le.end=NaN),h.get().streaming.timeShiftBuffer.fallbackToSegmentTimeline){var b=N(j);if(b.range.end<le.start)return A.trigger(n.Z.CONFORMANCE_VIOLATION,{level:xr.LEVELS.WARNING,event:xr.EVENTS.INVALID_DVR_WINDOW}),U(b.now,b.range),b.range}return le}(de)},reset:ue},r=$t(R).getInstance(),ue(),i}so.__dashjs_factory_name="TimelineConverter";var Xs=_.Z.getSingletonFactory(so),$i=P(4593),yi=P(6934);function ea(i){return ea=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(r){return typeof r}:function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},ea(i)}function ta(i,r){return ta=Object.setPrototypeOf||function(l,E){return l.__proto__=E,l},ta(i,r)}function Qs(i,r){return!r||ea(r)!=="object"&&typeof r!="function"?function(l){if(l===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return l}(i):r}function Ei(i){return Ei=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},Ei(i)}var Js=function(i){(function(A,h){if(typeof h!="function"&&h!==null)throw new TypeError("Super expression must either be null or a function");A.prototype=Object.create(h&&h.prototype,{constructor:{value:A,writable:!0,configurable:!0}}),h&&ta(A,h)})(R,i);var r,l,E=(r=R,l=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var A,h=Ei(r);if(l){var w=Ei(this).constructor;A=Reflect.construct(h,arguments,w)}else A=h.apply(this,arguments);return Qs(this,A)});function R(){var A;return function(h,w){if(!(h instanceof w))throw new TypeError("Cannot call a class as a function")}(this,R),(A=E.call(this)).captionData=null,A.label=null,A.defaultTrack=!1,A.kind=null,A.isFragmented=!1,A.isEmbedded=!1,A.isTTML=null,A}return R}(Qi),$s=P(2295);function uo(){var i=0;function r(w){for(var L="",Y=0;Y<w.length;++Y)L+=w[Y].uchar;return L.length-L.replace(/^\s+/,"").length}function l(w){return"left: "+3.125*w.x+"%; top: "+6.66*w.y1+"%; width: "+(100-3.125*w.x)+"%; height: "+6.66*Math.max(w.y2-1-w.y1,1)+"%; align-items: flex-start; overflow: visible; -webkit-writing-mode: horizontal-tb;"}function E(w){return w==="red"?"rgb(255, 0, 0)":w==="green"?"rgb(0, 255, 0)":w==="blue"?"rgb(0, 0, 255)":w==="cyan"?"rgb(0, 255, 255)":w==="magenta"?"rgb(255, 0, 255)":w==="yellow"?"rgb(255, 255, 0)":w==="white"?"rgb(255, 255, 255)":w==="black"?"rgb(0, 0, 0)":w}function R(w,L){var Y=w.videoHeight/15;return L?"font-size: "+Y+"px; font-family: Menlo, Consolas, 'Cutive Mono', monospace; color: "+(L.foreground?E(L.foreground):"rgb(255, 255, 255)")+"; font-style: "+(L.italics?"italic":"normal")+"; text-decoration: "+(L.underline?"underline":"none")+"; white-space: pre; background-color: "+(L.background?E(L.background):"transparent")+";":"font-size: "+Y+"px; font-family: Menlo, Consolas, 'Cutive Mono', monospace; justify-content: flex-start; text-align: left; color: rgb(255, 255, 255); font-style: normal; white-space: pre; line-height: normal; font-weight: normal; text-decoration: none; width: 100%; display: flex;"}function A(w){return w.replace(/^\s+/g,"")}function h(w){return w.replace(/\s+$/g,"")}return{createHTMLCaptionsFromScreen:function(w,L,Y,B){var N,U,Z=null,ce=!1,te=-1,ue={start:L,end:Y,spans:[]},de="style_cea608_white_black",G={},ie={},j=[];for(N=0;N<15;++N){var le=B.rows[N],g="",M=null;if(le.isEmpty()===!1){var C=r(le.chars);Z===null&&(Z={x:C,y1:N,y2:N+1,p:[]}),C!==te&&ce&&(Z.p.push(ue),ue={start:L,end:Y,spans:[]},Z.y2=N,Z.name="region_"+Z.x+"_"+Z.y1+"_"+Z.y2,G.hasOwnProperty(Z.name)===!1?(j.push(Z),G[Z.name]=Z):G[Z.name].p.contat(Z.p),Z={x:C,y1:N,y2:N+1,p:[]});for(var D=0;D<le.chars.length;++D){var b=le.chars[D],ne=b.penState;if(M===null||!ne.equals(M)){g.trim().length>0&&(ue.spans.push({name:de,line:g,row:N}),g="");var z="style_cea608_"+ne.foreground+"_"+ne.background;ne.underline&&(z+="_underline"),ne.italics&&(z+="_italics"),ie.hasOwnProperty(z)||(ie[z]=JSON.parse(JSON.stringify(ne))),M=ne,de=z}g+=b.uchar}g.trim().length>0&&ue.spans.push({name:de,line:g,row:N}),ce=!0,te=C}else ce=!1,te=-1,Z&&(Z.p.push(ue),ue={start:L,end:Y,spans:[]},Z.y2=N,Z.name="region_"+Z.x+"_"+Z.y1+"_"+Z.y2,G.hasOwnProperty(Z.name)===!1?(j.push(Z),G[Z.name]=Z):G[Z.name].p.contat(Z.p),Z=null)}Z&&(Z.p.push(ue),Z.y2=N+1,Z.name="region_"+Z.x+"_"+Z.y1+"_"+Z.y2,G.hasOwnProperty(Z.name)===!1?(j.push(Z),G[Z.name]=Z):G[Z.name].p.contat(Z.p),Z=null);var oe=[];for(N=0;N<j.length;++N){var Q=j[N],x="sub_cea608_"+i++,J=document.createElement("div");J.id=x;var he=l(Q);J.style.cssText="position: absolute; margin: 0; display: flex; box-sizing: border-box; pointer-events: none;"+he;var Ne=document.createElement("div");Ne.className="paragraph bodyStyle",Ne.style.cssText=R(w);var Te=document.createElement("div");Te.className="cueUniWrapper",Te.style.cssText="unicode-bidi: normal; direction: ltr;";for(var Ce=0;Ce<Q.p.length;++Ce){var Ie=Q.p[Ce],et=0;for(U=0;U<Ie.spans.length;++U){var nt=Ie.spans[U];if(nt.line.length>0){if(U!==0&&et!=nt.row){var We=document.createElement("br");We.className="lineBreak",Te.appendChild(We)}var Xe=!1;et===nt.row&&(Xe=!0),et=nt.row;var Mt=ie[nt.name],Ee=document.createElement("span");Ee.className="spanPadding "+nt.name+" customSpanColor",Ee.style.cssText=R(w,Mt),U!==0&&Xe?U===Ie.spans.length-1?Ee.textContent=h(nt.line):Ee.textContent=nt.line:Ie.spans.length>1&&U<Ie.spans.length-1&&nt.row===Ie.spans[U+1].row?Ee.textContent=A(nt.line):Ee.textContent=nt.line.trim(),Te.appendChild(Ee)}}}Ne.appendChild(Te),J.appendChild(Ne);var Fe={bodyStyle:["%",90]};for(var lt in ie)ie.hasOwnProperty(lt)&&(Fe[lt]=["%",90]);oe.push({type:"html",start:L,end:Y,cueHTMLElement:J,cueID:x,cellResolution:[32,15],isFromCEA608:!0,fontSize:Fe,lineHeight:{},linePadding:{}})}return oe}}}uo.__dashjs_factory_name="EmbeddedTextHtmlRender";var eu=_.Z.getSingletonFactory(uo);function lo(i){var r,l,E,R,A,h,w,L,Y,B,N,U,Z,ce,te,ue,de,G=i.errHandler,ie=i.manifestModel,j=i.mediaController,le=i.videoModel,g=i.textTracks,M=i.vttParser,C=i.vttCustomRenderingParser,D=i.ttmlParser,b=i.streamInfo,ne=i.settings,z=this.context,oe=(0,p.Z)(z).getInstance(),Q=!1;function x(){h=null,L=NaN,Y=[],B=null,w=!1,A=[],R=null}function J(We){var Xe=new Js;for(var Mt in We)Xe[Mt]=We[Mt];Xe.labels=We.labels,Xe.defaultTrack=function(Ee){var Fe=!1;return U.length>1&&Ee.isEmbedded?Fe=Ee.id&&Ee.id===t.Z.CC1:U.length===1?Ee.id&&typeof Ee.id=="string"&&Ee.id.substring(0,2)==="CC"&&(Fe=!0):U.length===0&&(Fe=Ee.index===A[0].index),Fe}(We),Xe.isFragmented=We.isFragmented,Xe.isEmbedded=!!We.isEmbedded,Xe.isTTML=function(Ee){return Ee.codec&&Ee.codec.search(t.Z.STPP)>=0||Ee.mimeType&&Ee.mimeType.search(t.Z.TTML)>=0}(We),Xe.kind=function(Ee,Fe){var lt=Ee.roles&&Ee.roles.length>0?Fe[Ee.roles[0]]:Fe.caption;return lt=lt===Fe.caption||lt===Fe.subtitle?lt:Fe.caption}(We,{subtitle:"subtitles",caption:"captions"}),g.addTextTrack(Xe)}function he(We){var Xe=We.chunk;Xe.mediaInfo.embeddedCaptions&&Te(Xe.bytes,Xe)}function Ne(We){N=We}function Te(We,Xe){var Mt=Xe.mediaInfo,Ee=Mt.type,Fe=Mt.mimeType,lt=Mt.codec||Fe;lt?Mt.codec.indexOf("application/mp4")!==-1?function(qe,ht,gt){var st;if(ht.segmentType==="InitializationSegment")w=!0,L=E.getMediaTimescaleFromMoov(qe);else{if(!w)return;(st=E.getSamplesInfo(qe).sampleList).length>0&&(B=st[0].cts-ht.start*L),gt.search(t.Z.STPP)>=0?function(qt,Gt,an){var un,Be;for(R=R!==null?R:et(an),un=0;un<Gt.length;un++){var ft=Gt[un],$e=ft.cts,vt=Ie(),wt=vt+$e/L,Ht=wt+ft.duration/L;r.buffered.add(wt,Ht);var Yt=new DataView(qt,ft.offset,ft.subSizes[0]),Kt=yi.Utils.dataViewToString(Yt,t.Z.UTF8),Jt=[],ut=ft.offset+ft.subSizes[0];for(Be=1;Be<ft.subSizes.length;Be++){var Dt=new Uint8Array(qt,ut,ft.subSizes[Be]),xt=String.fromCharCode.apply(null,Dt);Jt.push(xt),ut+=ft.subSizes[Be]}try{var kt=ie.getValue().ttmlTimeIsRelative?$e/L:0,jt=R.parse(Kt,kt,$e/L,($e+ft.duration)/L,Jt);g.addCaptions(N,vt,jt)}catch(Ge){h.removeExecutedRequestsBeforeTime(),this.remove(),l.error("TTML parser error: "+Ge.message)}}}(qe,st,gt):function(qt,Gt){var an,un,Be,ft=[];for(an=0;an<Gt.length;an++){var $e=Gt[an];$e.cts-=B;var vt=Ie()+$e.cts/L,wt=vt+$e.duration/L;r.buffered.add(vt,wt);var Ht=qt.slice($e.offset,$e.offset+$e.size),Yt=yi.parseBuffer(Ht);for(un=0;un<Yt.boxes.length;un++){var Kt=Yt.boxes[un];if(l.debug("VTT box1: "+Kt.type),Kt.type!=="vtte"&&Kt.type==="vttc"){l.debug("VTT vttc boxes.length = "+Kt.boxes.length);var Jt={styles:{}};for(Be=0;Be<Kt.boxes.length;Be++){var ut=Kt.boxes[Be];if(l.debug("VTT box2: "+ut.type),ut.type==="payl")Jt.start=$e.cts/L,Jt.end=($e.cts+$e.duration)/L,Jt.data=ut.cue_text;else if(ut.type==="sttg"&&ut.settings&&ut.settings!=="")try{var Dt=ut.settings.split(" ");Jt.styles=M.getCaptionStyles(Dt)}catch{}}Jt&&Jt.data&&(ft.push(Jt),l.debug("VTT  ".concat(Jt.start," - ").concat(Jt.end," :  ").concat(Jt.data)))}}}ft.length>0&&g.addCaptions(N,0,ft)}(qe,st)}}(We,Xe,lt):Ee===t.Z.VIDEO?function(qe,ht){var gt,st;if(ht.segmentType===Le.w.INIT_SEGMENT_TYPE)Z===0&&(Z=E.getMediaTimescaleFromMoov(qe));else if(ht.segmentType===Le.w.MEDIA_SEGMENT_TYPE){if(Z===0)return void l.warn("CEA-608: No timescale for embeddedTextTrack yet");var qt=(st=E.getSamplesInfo(qe)).lastSequenceNumber,Gt=Math.trunc(ht.start),an=Math.trunc(ht.end);if(ue[0]||ue[1]||function(){for(var vt,wt=0;wt<U.length;wt++){if((vt=g.getTrackIdxForId(U[wt].id))===-1)return void l.warn("CEA-608: data before track is ready.");var Ht=Ce(vt);ue[wt]=new(T()).Cea608Parser(wt+1,{newCue:Ht},null)}}(),Z){if(function(vt,wt,Ht,Yt,Kt){return vt!==null&&wt!==null&&Yt!==null&&Kt!==null&&(wt===vt?Yt!==Kt:wt!==vt+Ht)}(ce,qt,st.numSequences,te,Gt))for(gt=0;gt<ue.length;gt++)ue[gt]&&ue[gt].reset();for(var un=function(vt,wt){if(wt.length===0)return null;for(var Ht={splits:[],fields:[[],[]]},Yt=new DataView(vt),Kt=0;Kt<wt.length;Kt++)for(var Jt=wt[Kt],ut=T().findCea608Nalus(Yt,Jt.offset,Jt.size),Dt=null,xt=0,kt=0;kt<ut.length;kt++)for(var jt=T().extractCea608DataFromRange(Yt,ut[kt]),Ge=0;Ge<2;Ge++)if(jt[Ge].length>0){Jt.cts!==Dt?xt=0:xt+=1;var Re=Ie();Ht.fields[Ge].push([Jt.cts+Re*Z,jt[Ge],xt]),Dt=Jt.cts}return Ht.fields.forEach(function(rt){rt.sort(function(fe,pe){return fe[0]===pe[0]?fe[2]-pe[2]:fe[0]-pe[0]})}),Ht}(qe,st.sampleList),Be=0;Be<ue.length;Be++){var ft=un.fields[Be],$e=ue[Be];if($e)for(gt=0;gt<ft.length;gt++)$e.addData(ft[gt][0]/Z,ft[gt][1])}ce=qt,te=an}}}(We,Xe):function(qe,ht,gt){var st,qt,Gt=new DataView(qe,0,qe.byteLength);qt=yi.Utils.dataViewToString(Gt,t.Z.UTF8);try{st=et(gt).parse(qt,0),g.addCaptions(g.getCurrentTrackIdx(),0,st),r.buffered&&r.buffered.add(ht.start,ht.end)}catch(an){G.error(new re.Z(X.TIMED_TEXT_ERROR_ID_PARSE_CODE,X.TIMED_TEXT_ERROR_MESSAGE_PARSE+an.message,qt))}}(We,Xe,lt):l.error("No text type defined")}function Ce(We){return function(Xe,Mt,Ee){var Fe;(Fe=le.getTTMLRenderingDiv()?de.createHTMLCaptionsFromScreen(le.getElement(),Xe,Mt,Ee):[{start:Xe,end:Mt,data:Ee.getDisplayText(),styles:{}}])&&g.addCaptions(We,0,Fe)}}function Ie(){return isNaN(r.timestampOffset)?0:r.timestampOffset}function et(We){var Xe;return We.search(t.Z.VTT)>=0?Xe=ne.get().streaming.text.webvtt.customRenderingEnabled&&C?C:M:(We.search(t.Z.TTML)>=0||We.search(t.Z.STPP)>=0)&&(Xe=D),Xe}function nt(We){U.forEach(function(Xe){var Mt=g.getTrackIdxForId(Xe.id);Mt>=0&&g.deleteCuesFromTrackIdx(Mt,We.from,We.to)})}return r={initialize:function(){Q||(U=[],N=null,Z=0,ue=[],ce=null,te=null,Q=!0,de=eu(z).getInstance(),oe.on(u.Z.VIDEO_CHUNK_RECEIVED,he,r),oe.on(u.Z.BUFFER_CLEARED,nt,r))},addMediaInfos:function(We,Xe,Mt){if(A=A.concat(Xe),We===t.Z.TEXT&&Xe[0].isFragmented&&!Xe[0].isEmbedded){h=Mt,r.buffered=(0,$s.Z)(z).create(),Y=j.getTracksFor(t.Z.TEXT,b.id).filter(function(qe){return qe.isFragmented});for(var Ee=j.getCurrentTrackFor(t.Z.TEXT,b.id),Fe=0;Fe<Y.length;Fe++)if(Y[Fe]===Ee){Ne(Fe);break}}for(var lt=0;lt<Xe.length;lt++)J(Xe[lt])},resetMediaInfos:function(){A=[]},getStreamId:function(){return b.id},append:Te,abort:function(){},addEmbeddedTrack:function(We){if(Q&&We)if(We.id===t.Z.CC1||We.id===t.Z.CC3){for(var Xe=0;Xe<U.length;Xe++)if(U[Xe].id===We.id)return;U.push(We)}else l.warn("Embedded track "+We.id+" not supported!")},resetEmbedded:function(){oe.off(u.Z.VIDEO_CHUNK_RECEIVED,he,r),oe.off(u.Z.BUFFER_CLEARED,nt,r),g&&g.deleteAllTextTracks(),Q=!1,U=[],ue=[null,null],ce=null,te=null},getConfig:function(){return{fragmentModel:h,fragmentedTracks:Y,videoModel:le}},setCurrentFragmentedTrackIdx:Ne,remove:function(We,Xe){We===void 0&&We===Xe&&(We=r.buffered.start(0),Xe=r.buffered.end(r.buffered.length-1)),r.buffered.remove(We,Xe),g.deleteCuesFromTrackIdx(N,We,Xe)},reset:function(){x(),A=[],E=null}},l=(0,m.Z)(z).getInstance().getLogger(r),E=(0,Yr.Z)(z).getInstance(),x(),r}lo.__dashjs_factory_name="TextSourceBuffer";var tu=_.Z.getClassFactory(lo),na=P(4403);function co(i,r){(r==null||r>i.length)&&(r=i.length);for(var l=0,E=new Array(r);l<r;l++)E[l]=i[l];return E}var nu=["text","align","fontSize","id","isd","line","lineAlign","lineHeight","linePadding","position","positionAlign","region","size","snapToLines","vertical"];function fo(i){var r,l,E,R,A,h,w,L,Y,B,N,U,Z,ce,te,ue,de,G,ie,j,le=this.context,g=(0,p.Z)(le).getInstance(),M=i.videoModel,C=i.streamInfo,D=i.settings;function b(Be,ft,$e,vt,wt,Ht){var Yt=0,Kt=0;Be/ft>$e/vt?Yt=(Kt=ft)/vt*$e:Kt=(Yt=Be)/$e*vt;var Jt,ut,Dt=0,xt=0;return Yt/Kt>wt?(xt=Kt,Dt=Kt*wt):(Dt=Yt,xt=Yt/wt),Jt=(Be-Dt)/2,ut=(ft-xt)/2,Ht?{x:Jt+.1*Dt,y:ut+.1*xt,w:.8*Dt,h:.8*xt}:{x:Jt,y:ut,w:Dt,h:xt}}function ne(Be,ft){var $e=M.getClientWidth(),vt=M.getClientHeight(),wt=M.getVideoWidth(),Ht=M.getVideoHeight(),Yt=M.getVideoRelativeOffsetTop(),Kt=M.getVideoRelativeOffsetLeft();if(wt!==0&&Ht!==0){var Jt=wt/Ht,ut=!1;Be.isFromCEA608&&(Jt=1.1666666666666667,ut=!0);var Dt=b.call(this,$e,vt,wt,Ht,Jt,ut),xt=Dt.w,kt=Dt.h,jt=Dt.x,Ge=Dt.y;if(xt!=Y||kt!=B||jt!=w||Ge!=L||ft){if(w=jt+Kt,L=Ge+Yt,Y=xt,B=kt,N){var Re=N.style;Re&&(Re.left=w+"px",Re.top=L+"px",Re.width=Y+"px",Re.height=B+"px",Re.zIndex=ce&&document[ce]||te?de:null,g.trigger(n.Z.CAPTION_CONTAINER_RESIZE))}var rt=Be.activeCues;if(rt)for(var fe=rt.length,pe=0;pe<fe;++pe){var Ve=rt[pe];Ve.scaleCue(Ve)}}}}function z(Be){var ft,$e,vt,wt,Ht,Yt=Y,Kt=B;if(Be.cellResolution){var Jt=[Yt/Be.cellResolution[0],Kt/Be.cellResolution[1]];if(Be.linePadding){for(ft in Be.linePadding)if(Be.linePadding.hasOwnProperty(ft)){$e=(Be.linePadding[ft]*Jt[0]).toString();for(var ut=document.getElementsByClassName("spanPadding"),Dt=0;Dt<ut.length;Dt++)ut[Dt].style.cssText=ut[Dt].style.cssText.replace(/(padding-left\s*:\s*)[\d.,]+(?=\s*px)/gi,"$1"+$e),ut[Dt].style.cssText=ut[Dt].style.cssText.replace(/(padding-right\s*:\s*)[\d.,]+(?=\s*px)/gi,"$1"+$e)}}if(Be.fontSize){for(ft in Be.fontSize)if(Be.fontSize.hasOwnProperty(ft)){Be.fontSize[ft][0]==="%"?vt=Be.fontSize[ft][1]/100:Be.fontSize[ft][0]==="c"&&(vt=Be.fontSize[ft][1]),$e=(vt*Jt[1]).toString(),Ht=ft!=="defaultFontSize"?document.getElementsByClassName(ft):document.getElementsByClassName("paragraph");for(var xt=0;xt<Ht.length;xt++)Ht[xt].style.cssText=Ht[xt].style.cssText.replace(/(font-size\s*:\s*)[\d.,]+(?=\s*px)/gi,"$1"+$e)}if(Be.lineHeight){for(ft in Be.lineHeight)if(Be.lineHeight.hasOwnProperty(ft)){Be.lineHeight[ft][0]==="%"?wt=Be.lineHeight[ft][1]/100:Be.fontSize[ft][0]==="c"&&(wt=Be.lineHeight[ft][1]),$e=(wt*Jt[1]).toString(),Ht=document.getElementsByClassName(ft);for(var kt=0;kt<Ht.length;kt++)Ht[kt].style.cssText=Ht[kt].style.cssText.replace(/(line-height\s*:\s*)[\d.,]+(?=\s*px)/gi,"$1"+$e)}}}}if(Be.isd){var jt=document.getElementById(Be.cueID);jt&&N.removeChild(jt),Q(Be)}}function oe(Be,ft){var $e=/^(urn:)(mpeg:[a-z0-9][a-z0-9-]{0,31}:)(subs:)([0-9]+)$/,vt=/^#(.*)$/;if($e.test(ft)){var wt=$e.exec(ft),Ht=parseInt(wt[4],10)-1;return"data:image/png;base64,"+btoa(Be.images[Ht])}if(vt.test(ft)){var Yt=vt.exec(ft)[1];return"data:image/png;base64,"+Be.embeddedImages[Yt]}return ft}function Q(Be){if(N){un.call(this);var ft=document.createElement("div");N.appendChild(ft),ue=(0,na.renderHTML)(Be.isd,ft,function($e){return oe(Be,$e)},N.clientHeight,N.clientWidth,D.get().streaming.text.imsc.displayForcedOnlyMode,function($e){l.info("renderCaption :",$e)},ue,D.get().streaming.text.imsc.enableRollUp),ft.id=Be.cueID,g.trigger(n.Z.CAPTION_RENDERED,{captionDiv:ft,currentTrackIdx:h})}}function x(Be,ft){return!!ft&&ft.endTime>=Be.startTime}function J(Be,ft){return!!D.get().streaming.text.extendSegmentedCues&&!!function($e,vt,wt){for(var Ht=0;Ht<wt.length;Ht++){var Yt=wt[Ht];if(JSON.stringify($e[Yt])!==JSON.stringify(vt[Yt]))return!1}return!0}(ft,Be,nu)&&(ft.endTime=Math.max(ft.endTime,Be.endTime),!0)}function he(Be,ft){ft&&ft.forEach(function($e){$e.kind&&$e.kind==="image"&&($e.src=oe(Be,$e.src)),he(Be,$e.contents)})}function Ne(Be,ft,$e){var vt=Fe(Be),wt=D.get().streaming.text.dispatchForManualRendering;if(vt&&Array.isArray($e)&&$e.length!==0)for(var Ht=0;Ht<$e.length;Ht++){var Yt=null,Kt=$e[Ht];vt.cellResolution=Kt.cellResolution,vt.isFromCEA608=Kt.isFromCEA608,isNaN(Kt.start)||isNaN(Kt.end)||(wt?Yt=Te(Kt,ft):We(Kt)&&N?Yt=et(Kt,ft,vt):Kt.data&&(Yt=nt(Kt,ft,vt)));try{if(Yt){if(!ht(vt,Yt))if(D.get().streaming.text.webvtt.customRenderingEnabled)vt.manualCueList||(vt.manualCueList=[]),vt.manualCueList.push(Yt);else{var Jt=void 0;vt.cues&&vt.cues.length!==0&&(Jt=vt.cues[vt.cues.length-1]),x(Yt,Jt)?J(Yt,Jt)||(Jt.isd&&(Jt.onexit=function(){}),vt.mode!==t.Z.TEXT_DISABLED&&vt.addCue(Yt)):vt.mode!==t.Z.TEXT_DISABLED&&vt.addCue(Yt)}var ut=D.get().streaming.buffer.bufferToKeep;st(vt,0,M.getTime()-ut)}else l.error("Impossible to display subtitles. You might have missed setting a TTML rendering div via player.attachTTMLRenderingDiv(TTMLRenderingDiv)")}catch(Dt){throw qt(vt),vt.addCue(Yt),Dt}}}function Te(Be,ft){var $e=Xe(Be,ft);return $e.onenter=function(){We(Be)&&j&&j.cueID!==$e.cueID&&Ie(j),delete $e.type,j=$e,Ce($e)},$e.onexit=function(){Ie($e),j=null},$e}function Ce(Be){g.trigger(n.Z.CUE_ENTER,Be)}function Ie(Be){g.trigger(n.Z.CUE_EXIT,{cueID:Be.cueID})}function et(Be,ft,$e){var vt=this,wt=Xe(Be,ft);return N.style.left=w+"px",N.style.top=L+"px",N.style.width=Y+"px",N.style.height=B+"px",wt.onenter=function(){var Ht=this;$e.mode===t.Z.TEXT_SHOWING&&(this.isd?(ie?requestAnimationFrame(function(){return Q(Ht)}):Q(this),l.debug("Cue enter id:"+this.cueID)):(N.appendChild(this.cueHTMLElement),z.call(vt,this),g.trigger(n.Z.CAPTION_RENDERED,{captionDiv:this.cueHTMLElement,currentTrackIdx:h})))},wt.onexit=function(){if(N)for(var Ht=N.childNodes,Yt=0;Yt<Ht.length;++Yt)Ht[Yt].id===this.cueID&&(l.debug("Cue exit id:"+Ht[Yt].id),N.removeChild(Ht[Yt]),--Yt)},wt}function nt(Be,ft,$e){var vt=Xe(Be,ft);if(vt.isActive=!1,Be.styles)try{Be.styles.align!==void 0&&"align"in vt&&(vt.align=Be.styles.align),Be.styles.line!==void 0&&"line"in vt&&(vt.line=Be.styles.line),Be.styles.snapToLines!==void 0&&"snapToLines"in vt&&(vt.snapToLines=Be.styles.snapToLines),Be.styles.position!==void 0&&"position"in vt&&(vt.position=Be.styles.position),Be.styles.size!==void 0&&"size"in vt&&(vt.size=Be.styles.size)}catch(wt){l.error(wt)}return vt.onenter=function(){$e.mode===t.Z.TEXT_SHOWING&&g.trigger(n.Z.CAPTION_RENDERED,{currentTrackIdx:h})},vt}function We(Be){return Be.type==="html"}function Xe(Be,ft){return We(Be)?function($e,vt){var wt=new E($e.start+vt,$e.end+vt,"");return wt.cueHTMLElement=$e.cueHTMLElement,wt.isd=$e.isd,wt.images=$e.images,wt.embeddedImages=$e.embeddedImages,wt.cueID=$e.cueID,wt.scaleCue=z.bind(self),wt.cellResolution=$e.cellResolution,wt.lineHeight=$e.lineHeight,wt.linePadding=$e.linePadding,wt.fontSize=$e.fontSize,wt.isd&&he(wt,wt.isd.contents),wt}(Be,ft):function($e,vt){var wt=new E($e.start-vt,$e.end-vt,$e.data);return wt.cueID="".concat(wt.startTime,"_").concat(wt.endTime),wt}(Be,ft)}function Mt(Be){if(U)for(var ft=U.childNodes,$e=0;$e<ft.length;++$e)ft[$e].id===Be.cueID&&(U.removeChild(ft[$e]),--$e)}function Ee(){var Be,ft=[],$e=function(wt,Ht){var Yt;if(typeof Symbol>"u"||wt[Symbol.iterator]==null){if(Array.isArray(wt)||(Yt=function(kt,jt){if(kt){if(typeof kt=="string")return co(kt,jt);var Ge=Object.prototype.toString.call(kt).slice(8,-1);return Ge==="Object"&&kt.constructor&&(Ge=kt.constructor.name),Ge==="Map"||Ge==="Set"?Array.from(kt):Ge==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Ge)?co(kt,jt):void 0}}(wt))||Ht){Yt&&(wt=Yt);var Kt=0,Jt=function(){};return{s:Jt,n:function(){return Kt>=wt.length?{done:!0}:{done:!1,value:wt[Kt++]}},e:function(kt){throw kt},f:Jt}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
+In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var ut,Dt=!0,xt=!1;return{s:function(){Yt=wt[Symbol.iterator]()},n:function(){var kt=Yt.next();return Dt=kt.done,kt},e:function(kt){xt=!0,ut=kt},f:function(){try{Dt||Yt.return==null||Yt.return()}finally{if(xt)throw ut}}}}(M.getTextTracks());try{for($e.s();!(Be=$e.n()).done;){var vt=Be.value;vt.manualMode===t.Z.TEXT_SHOWING&&ft.push(vt)}}catch(wt){$e.e(wt)}finally{$e.f()}return ft}function Fe(Be){return Be>=0&&R[Be]?M.getTextTrack(R[Be].kind,R[Be].id,R[Be].lang,R[Be].isTTML,R[Be].isEmbedded):null}function lt(Be){var ft=this;if(Be!==h){var $e=Fe(h=Be);qe.call(this,$e),Z&&(clearInterval(Z),Z=null),$e&&$e.renderingType==="html"&&(ne.call(this,$e,!0),window.ResizeObserver?(G=new window.ResizeObserver(function(){ne.call(ft,$e,!0)})).observe(M.getElement()):Z=setInterval(ne.bind(this,$e),500))}}function qe(Be){un.call(this),Be&&Be.renderingType==="html"?Gt.call(this):an.call(this)}function ht(Be,ft){if(!Be.cues)return!1;for(var $e=0;$e<Be.cues.length;$e++)if(Be.cues[$e].startTime===ft.startTime&&Be.cues[$e].endTime===ft.endTime)return!0;return!1}function gt(Be,ft,$e){var vt=!(arguments.length>3&&arguments[3]!==void 0)||arguments[3];return!!Be&&(isNaN(ft)||(vt?Be.startTime:Be.endTime)>=ft)&&(isNaN($e)||(vt?Be.endTime:Be.startTime)<=$e)}function st(Be,ft,$e){var vt,wt;if(!($e<ft)&&Be&&(Be.cues||Be.manualCueList)){var Ht=Be.cues&&Be.cues.length>0?"native":"custom",Yt=Ht==="native"?Be.cues:Be.manualCueList;if(!Yt||Yt.length===0)return;for(var Kt=Yt.length-1;Kt>=0;Kt--)!gt(Yt[Kt],ft,$e,!0)||(vt=Yt[Kt],wt=M.getTime(),vt.startTime>=wt&&vt.endTime<=wt)||(Ht==="native"?Be.removeCue(Yt[Kt]):(Mt(Yt[Kt]),delete Be.manualCueList[Kt]))}}function qt(Be,ft,$e){var vt=!(arguments.length>3&&arguments[3]!==void 0)||arguments[3];if(Be&&(Be.cues||Be.manualCueList)){var wt=Be.cues&&Be.cues.length>0?"native":"custom",Ht=wt==="native"?Be.cues:Be.manualCueList;if(!Ht||Ht.length===0)return;for(var Yt=Ht.length-1,Kt=Yt;Kt>=0;Kt--)gt(Ht[Kt],ft,$e,vt)&&(wt==="native"?(Ht[Kt].onexit&&Ht[Kt].onexit(),Be.removeCue(Ht[Kt])):(Mt(Ht[Kt]),delete Be.manualCueList[Kt]))}}function Gt(){var Be=document.getElementById("native-cue-style");if(!Be){(Be=document.createElement("style")).id="native-cue-style",document.head.appendChild(Be);var ft=Be.sheet,$e=M.getElement();try{$e&&($e.id?ft.insertRule("#"+$e.id+"::cue {background: transparent}",0):$e.classList.length!==0?ft.insertRule("."+$e.className+"::cue {background: transparent}",0):ft.insertRule("video::cue {background: transparent}",0))}catch(vt){l.info(""+vt.message)}}}function an(){var Be=document.getElementById("native-cue-style");Be&&document.head.removeChild(Be)}function un(){if(N)for(;N.firstChild;)N.removeChild(N.firstChild)}return r={initialize:function(){typeof window<"u"&&typeof navigator<"u"&&(E=window.VTTCue||window.TextTrackCue,R=[],A=[],h=-1,w=0,L=0,Y=0,B=0,N=null,U=null,Z=null,te=!1,de=2147483647,ue=null,ie="requestAnimationFrame"in window,document.fullscreenElement!==void 0?ce="fullscreenElement":document.webkitIsFullScreen!==void 0?ce="webkitIsFullScreen":document.msFullscreenElement?ce="msFullscreenElement":document.mozFullScreen&&(ce="mozFullScreen"))},getStreamId:function(){return C.id},addTextTrack:function(Be){R.push(Be)},addCaptions:Ne,createTracks:function(){var Be=D.get().streaming.text.dispatchForManualRendering;R.sort(function(jt,Ge){return jt.index-Ge.index}),N=M.getTTMLRenderingDiv(),U=M.getVttRenderingDiv();for(var ft,$e,vt,wt,Ht,Yt,Kt=-1,Jt=0;Jt<R.length;Jt++){var ut=($e=(ft=R[Jt]).kind,vt=ft.id!==void 0?ft.id:ft.lang,wt=ft.lang,Ht=ft.isTTML,Yt=ft.isEmbedded,M.addTextTrack($e,vt,wt,Ht,Yt));A.push(ut),R[Jt].defaultTrack&&(ut.default=!0,Kt=Jt);var Dt=Fe(Jt);Dt&&(Dt.mode=t.Z.TEXT_SHOWING,N&&(R[Jt].isTTML||R[Jt].isEmbedded)?Dt.renderingType="html":Dt.renderingType="default"),Ne(Jt,0,R[Jt].captionData),g.trigger(n.Z.TEXT_TRACK_ADDED)}if(lt.call(this,Kt),Kt>=0){g.on(n.Z.PLAYBACK_METADATA_LOADED,function jt(){var Ge=Fe(Kt);Ge&&Ge.renderingType==="html"&&ne.call(this,Ge,!0),g.off(n.Z.PLAYBACK_METADATA_LOADED,jt,this)},this);for(var xt=0;xt<R.length;xt++){var kt=Fe(xt);kt&&(kt.mode=xt!==Kt||Be?t.Z.TEXT_HIDDEN:t.Z.TEXT_SHOWING,kt.manualMode=xt===Kt?t.Z.TEXT_SHOWING:t.Z.TEXT_HIDDEN)}}g.trigger(u.Z.TEXT_TRACKS_QUEUE_INITIALIZED,{index:h,tracks:R,streamId:C.id})},getCurrentTrackIdx:function(){return h},setCurrentTrackIdx:lt,getTrackIdxForId:function(Be){for(var ft=-1,$e=0;$e<R.length;$e++)if(R[$e].id===Be){ft=$e;break}return ft},getCurrentTrackInfo:function(){return R[h]},setModeForTrackIdx:function(Be,ft){var $e=Fe(Be);$e&&$e.mode!==ft&&($e.mode=ft),$e&&$e.manualMode!==ft&&($e.manualMode=ft)},deleteCuesFromTrackIdx:function(Be,ft,$e){var vt=Fe(Be);vt&&qt(vt,ft,$e)},deleteAllTextTracks:function(){for(var Be=A?A.length:0,ft=0;ft<Be;ft++){var $e=Fe(ft);$e&&qt.call(this,$e,C.start,C.start+C.duration,!1)}A=[],R=[],Z&&(clearInterval(Z),Z=null),G&&M&&(G.unobserve(M.getElement()),G=null),h=-1,un.call(this)},manualCueProcessing:function(Be){var ft=Ee();if(ft&&ft.length>0){var $e=ft[0].manualCueList;$e&&$e.length>0&&$e.forEach(function(vt){vt.startTime<=Be&&vt.endTime>=Be&&!vt.isActive?(vt.isActive=!0,D.get().streaming.text.dispatchForManualRendering?Ce(vt):WebVTT.processCues(window,[vt],U,vt.cueID)):vt.isActive&&(vt.startTime>Be||vt.endTime<Be)&&(vt.isActive=!1,D.get().streaming.text.dispatchForManualRendering?Ie(vt):Mt(vt))})}},disableManualTracks:function(){var Be=Ee();if(Be&&Be.length>0){var ft=Be[0].manualCueList;ft&&ft.length>0&&ft.forEach(function($e){if($e.isActive){if($e.isActive=!1,D.get().streaming.text.dispatchForManualRendering)Ie($e);else if(U)for(var vt=U.childNodes,wt=0;wt<vt.length;++wt)vt[wt].id===$e.cueID&&(U.removeChild(vt[wt]),--wt)}})}}},l=(0,m.Z)(le).getInstance().getLogger(r),r}fo.__dashjs_factory_name="TextTracks";var ru=_.Z.getClassFactory(fo);function go(){var i,r,l,E,R,A,h=this.context;function w(N){var U=N.split(":"),Z=U.length-1;return N=60*parseInt(U[Z-1],10)+parseFloat(U[Z]),Z===2&&(N+=3600*parseInt(U[0],10)),N}function L(N){var U=N.split(E),Z=U[1].split(A);return Z.shift(),U[1]=Z[0],Z.shift(),{cuePoints:U,styles:Y(Z)}}function Y(N){var U={};return N.forEach(function(Z){if(Z.split(/:/).length>1){var ce=Z.split(/:/)[1],te=!1;ce&&ce.search(/%/)!=-1&&(te=!0,ce=parseInt(ce.replace(/%/,""),10)),(Z.match(/align/)||Z.match(/A/))&&(U.align=ce),(Z.match(/line/)||Z.match(/L/))&&(U.line=ce==="auto"?ce:parseInt(ce,10),te&&(U.snapToLines=!1)),(Z.match(/position/)||Z.match(/P/))&&(U.position=ce),(Z.match(/size/)||Z.match(/S/))&&(U.size=ce)}}),U}function B(N,U){for(var Z,ce=U,te="",ue="";N[ce]!==""&&ce<N.length;)ce++;if((Z=ce-U)>1)for(var de=0;de<Z;de++){if((ue=N[U+de]).match(E)){te="";break}te+=ue,de!==Z-1&&(te+=`
+`)}else(ue=N[U]).match(E)||(te=ue);return te}return i={parse:function(N){var U,Z,ce=[];if(!N)return ce;U=(N=N.split(l)).length,Z=-1;for(var te=0;te<U;te++){var ue=N[te];if(ue.length>0&&ue!=="WEBVTT"&&ue.match(E)){var de=L(ue),G=de.cuePoints,ie=de.styles,j=B(N,te+1),le=w(G[0].replace(R,"")),g=w(G[1].replace(R,""));!isNaN(le)&&!isNaN(g)&&le>=Z&&g>le?j!==""?(Z=le,ce.push({start:le,end:g,data:j,styles:ie})):r.error("Skipping cue due to empty/malformed cue text"):r.error("Skipping cue due to incorrect cue timing")}}return ce},getCaptionStyles:Y},r=(0,m.Z)(h).getInstance().getLogger(i),l=/(?:\r\n|\r|\n)/gm,E=/-->/,R=/(^[\s]+|[\s]+$)/g,A=/\s\b/g,i}go.__dashjs_factory_name="VTTParser";var iu=_.Z.getSingletonFactory(go);function ho(){var i,r;return i={parse:function(l){var E=[];return r.oncue=function(R){R.start=R.startTime,R.end=R.endTime,R.data=R.text,R.styles={align:R.align,line:R.line,position:R.position,size:R.size},E.push(R)},r.parse(l),E}},function(){try{window&&window.WebVTT&&window.WebVTT.Parser&&(r=new window.WebVTT.Parser(window,window.vttjs,window.WebVTT.StringDecoder()))}catch{}}(),i}ho.__dashjs_factory_name="VttCustomRenderingParser";var au=_.Z.getSingletonFactory(ho);function mo(){var i,r,l=this.context,E=(0,p.Z)(l).getInstance(),R=0;return i={parse:function(A,h,w,L,Y){var B,N,U,Z="",ce=[],te={},ue={},de="",G="",ie={onOpenTag:function(C,D,b){if(b[" imagetype"]&&!b[" imageType"]&&(E.trigger(n.Z.CONFORMANCE_VIOLATION,{level:xr.LEVELS.ERROR,event:xr.EVENTS.NON_COMPLIANT_SMPTE_IMAGE_ATTRIBUTE}),b[" imageType"]=b[" imagetype"]),D==="image"&&(C==="http://www.smpte-ra.org/schemas/2052-1/2010/smpte-tt"||C==="http://www.smpte-ra.org/schemas/2052-1/2013/smpte-tt")){if(!b[" imageType"]||b[" imageType"].value!=="PNG")return void r.warn("smpte-tt imageType != PNG. Discarded");de=b["http://www.w3.org/XML/1998/namespace id"].value}},onCloseTag:function(){de&&(ue[de]=G.trim()),G="",de=""},onText:function(C){de&&(G+=C)}};if(!A)throw Z="no ttml data to parse",new Error(Z);te.data=A,E.trigger(u.Z.TTML_TO_PARSE,te);var j=(0,na.fromXML)(te.data,function(C){Z=C},ie);E.trigger(u.Z.TTML_PARSED,{ttmlString:te.data,ttmlDoc:j});var le,g=j.getMediaTimeEvents();for(U=0;U<g.length;U++){var M=(0,na.generateISD)(j,g[U],function(C){Z=C});M.contents.some(function(C){return C.contents.length})&&(B=g[U]+h)<(N=g[U+1]+h)&&ce.push({start:B,end:N,type:"html",cueID:(le="cue_TTML_"+R,R++,le),isd:M,images:Y,embeddedImages:ue})}if(Z!=="")throw r.error(Z),new Error(Z);return ce}},r=(0,m.Z)(l).getInstance().getLogger(i),i}mo.__dashjs_factory_name="TTMLParser";var ou=_.Z.getSingletonFactory(mo);function po(i,r){var l=Object.keys(i);if(Object.getOwnPropertySymbols){var E=Object.getOwnPropertySymbols(i);r&&(E=E.filter(function(R){return Object.getOwnPropertyDescriptor(i,R).enumerable})),l.push.apply(l,E)}return l}function yo(i){for(var r=1;r<arguments.length;r++){var l=arguments[r]!=null?arguments[r]:{};r%2?po(Object(l),!0).forEach(function(E){su(i,E,l[E])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(l)):po(Object(l)).forEach(function(E){Object.defineProperty(i,E,Object.getOwnPropertyDescriptor(l,E))})}return i}function su(i,r,l){return r in i?Object.defineProperty(i,r,{value:l,enumerable:!0,configurable:!0,writable:!0}):i[r]=l,i}function Eo(i,r){(r==null||r>i.length)&&(r=i.length);for(var l=0,E=new Array(r);l<r;l++)E[l]=i[l];return E}function vo(i){var r,l,E,R=this.context,A=(0,p.Z)(R).getInstance(),h=(0,ze.Z)(R).getInstance(),w=i.adapter,L=i.baseURLController;function Y(U,Z){var ce,te,ue=!1;if(L.resolve()){var de=w.getVoRepresentations(U);de&&de.length>0&&(ce=L.resolve(de[0].path).url)}var G=U.essentialPropertiesAsArray.filter(function(j){return j.schemeIdUri&&j.schemeIdUri===t.Z.FONT_DOWNLOAD_DVB_SCHEME}),ie=U.supplementalPropertiesAsArray.filter(function(j){return j.schemeIdUri&&j.schemeIdUri===t.Z.FONT_DOWNLOAD_DVB_SCHEME});G.length>0?(ue=!0,te=G):te=ie,te.forEach(function(j){if(function(C){return!(!(C.value&&C.value==="1"&&C.dvbUrl&&C.dvbUrl.length>0&&C.dvbFontFamily&&C.dvbFontFamily.length>0&&C.dvbMimeType)||C.dvbMimeType!==t.Z.OFF_MIMETYPE&&C.dvbMimeType!==t.Z.WOFF_MIMETYPE)}(j)){var le=(g=j.dvbUrl,M=ce,h.isPathAbsolute(g)?g:h.isRelative(g)?M?h.resolve(g,M):h.resolve(g):g);E.push({fontFamily:j.dvbFontFamily,url:le,mimeType:j.dvbMimeType,trackId:U.id,streamId:Z,isEssential:ue,status:"unloaded",fontFace:new FontFace(j.dvbFontFamily,"url(".concat(le,")"),{display:"swap"})})}var g,M})}function B(U,Z){var ce=E[U];E[U]=yo(yo({},ce),{},{status:Z})}function N(){E=[]}return r={addFontsFromTracks:function(U,Z){if(U&&Array.isArray(U)&&Z)for(var ce=0;ce<U.length;ce++)Y(U[ce],Z)},downloadFonts:function(){for(var U=function(ce){var te=E[ce];document.fonts.add(te.fontFace),A.trigger(n.Z.DVB_FONT_DOWNLOAD_ADDED,te),te.fontFace.load().then(function(){B(ce,"loaded"),A.trigger(n.Z.DVB_FONT_DOWNLOAD_COMPLETE,te)},function(ue){B(ce,"error"),l.debug("Font download error: ",ue),A.trigger(n.Z.DVB_FONT_DOWNLOAD_FAILED,te)})},Z=0;Z<E.length;Z++)U(Z)},getFonts:function(){return E},getFontsForTrackId:function(U){return E.filter(function(Z){return Z.trackId&&Z.trackId===U})},reset:function(){(function(){var U,Z=function(ue,de){var G;if(typeof Symbol>"u"||ue[Symbol.iterator]==null){if(Array.isArray(ue)||(G=function(C,D){if(C){if(typeof C=="string")return Eo(C,D);var b=Object.prototype.toString.call(C).slice(8,-1);return b==="Object"&&C.constructor&&(b=C.constructor.name),b==="Map"||b==="Set"?Array.from(C):b==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(b)?Eo(C,D):void 0}}(ue))||de){G&&(ue=G);var ie=0,j=function(){};return{s:j,n:function(){return ie>=ue.length?{done:!0}:{done:!1,value:ue[ie++]}},e:function(C){throw C},f:j}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
+In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var le,g=!0,M=!1;return{s:function(){G=ue[Symbol.iterator]()},n:function(){var C=G.next();return g=C.done,C},e:function(C){M=!0,le=C},f:function(){try{g||G.return==null||G.return()}finally{if(M)throw le}}}}(E);try{for(Z.s();!(U=Z.n()).done;){var ce=U.value,te=document.fonts.delete(ce.fontFace);l.debug("Removal of fontFamily: ".concat(ce.fontFamily," was ").concat(te?"successful":"unsuccessful"))}}catch(ue){Z.e(ue)}finally{Z.f()}})(),N()}},l=(0,m.Z)(R).getInstance().getLogger(r),N(),r}vo.__dashjs_factory_name="DVBFonts";var uu=_.Z.getClassFactory(vo);function _o(i){var r,l,E,R,A,h,w,L,Y,B,N,U,Z,ce,te=this.context,ue=i.adapter,de=i.errHandler,G=i.manifestModel,ie=i.mediaController,j=i.baseURLController,le=i.videoModel,g=i.settings;function M(J){if(ce.error("Could not download ".concat(J.isEssential?"an essential":"a"," font - fontFamily: ").concat(J.fontFamily,", url: ").concat(J.url)),J.isEssential){var he=R[J.streamId].getTrackIdxForId(J.trackId);R[J.streamId].setModeForTrackIdx(he,t.Z.TEXT_DISABLED)}}function C(J){if(ce.debug("Successfully downloaded ".concat(J.isEssential?"an essential":"a"," font - fontFamily: ").concat(J.fontFamily,", url: ").concat(J.url)),J.isEssential){var he=R[J.streamId].getTrackIdxForId(J.trackId);he===R[J.streamId].getCurrentTrackIdx()?R[J.streamId].setModeForTrackIdx(he,t.Z.TEXT_SHOWING):R[J.streamId].setModeForTrackIdx(he,t.Z.TEXT_HIDDEN)}}function D(J){var he=J.tracks,Ne=J.index,Te=J.streamId;if(g.get().streaming.text.defaultEnabled===!1&&!z()||U)oe(Te,-1);else{var Ce=ie.getCurrentTrackFor(t.Z.TEXT,Te);if(Ce){var Ie={lang:Ce.lang,role:Ce.roles[0],index:Ce.index,codec:Ce.codec,accessibility:Ce.accessibility[0]};he.some(function(et,nt){if(ie.matchSettings(Ie,et))return oe(Te,nt),Ne=nt,!0})}Y=!1}l[Te].lastEnabledIndex=Ne,L.trigger(n.Z.TEXT_TRACKS_ADDED,{enabled:z(),index:Ne,tracks:he,streamId:Te}),N=!0,Z.addFontsFromTracks(he,Te),Z.getFonts().forEach(function(et){if(et.isEssential){var nt=R[et.streamId].getTrackIdxForId(et.trackId);R[et.streamId].setModeForTrackIdx(nt,t.Z.TEXT_DISABLED)}}),Z.downloadFonts()}function b(J){try{var he=J.streamId;if(!R[he]||isNaN(J.time))return;R[he].manualCueProcessing(J.time)}catch{}}function ne(J){try{var he=J.streamId;if(!R[he])return;R[he].disableManualTracks()}catch{}}function z(){var J=!0;return Y&&!B&&(J=!1),J}function oe(J,he){(Y=he===-1)&&ie&&ie.saveTextSettingsDisabled();var Ne=Q(J);if(Ne!==he&&R[J]){R[J].disableManualTracks();var Te=R[J].getCurrentTrackInfo(),Ce=Te?le.getTextTrack(Te.kind,Te.id,Te.lang,Te.isTTML,Te.isEmbedded):null;Ce&&Ce.mode!==t.Z.TEXT_DISABLED&&R[J].setModeForTrackIdx(Ne,t.Z.TEXT_HIDDEN),R[J].setCurrentTrackIdx(he),Te=R[J].getCurrentTrackInfo();var Ie=g.get().streaming.text.dispatchForManualRendering;Te&&!Ie&&Te.mode!==t.Z.TEXT_DISABLED&&R[J].setModeForTrackIdx(he,t.Z.TEXT_SHOWING),Te&&Te.isFragmented&&!Te.isEmbedded?function(et,nt,We){if(E[et])for(var Xe=E[et].getConfig().fragmentedTracks,Mt=0;Mt<Xe.length;Mt++){var Ee=Xe[Mt];if(nt.lang===Ee.lang&&(Ee.id?nt.id===Ee.id:nt.index===Ee.index)){var Fe=ie.getCurrentTrackFor(t.Z.TEXT,et);(Ee.id?Fe.id!==Ee.id:Fe.index!==Ee.index)?(R[et].deleteCuesFromTrackIdx(We),E[et].setCurrentFragmentedTrackIdx(Mt)):We===-1&&L.trigger(u.Z.SET_FRAGMENTED_TEXT_AFTER_DISABLED,{},{streamId:et,mediaType:t.Z.TEXT})}}}(J,Te,Ne):Te&&!Te.isFragmented&&function(et,nt){L.trigger(u.Z.SET_NON_FRAGMENTED_TEXT,{currentTrackInfo:nt},{streamId:et,mediaType:t.Z.TEXT})}(J,Te),ie.setTrack(Te)}}function Q(J){return R[J].getCurrentTrackIdx()}function x(){E={},R={},l={},Y=!0,N=!1,U=!1}return r={deactivateStream:function(J){if(J){var he=J.id;E[he]&&E[he].resetMediaInfos(),R[he]&&R[he].deleteAllTextTracks()}},initialize:function(){Z=uu(te).create({adapter:ue,baseURLController:j}),L.on(u.Z.TEXT_TRACKS_QUEUE_INITIALIZED,D,r),L.on(u.Z.DVB_FONT_DOWNLOAD_FAILED,M,r),L.on(u.Z.DVB_FONT_DOWNLOAD_COMPLETE,C,r),g.get().streaming.text.webvtt.customRenderingEnabled&&(L.on(u.Z.PLAYBACK_TIME_UPDATED,b,r),L.on(u.Z.PLAYBACK_SEEKING,ne,r))},initializeForStream:function(J){var he=J.id,Ne=ru(te).create({videoModel:le,settings:g,streamInfo:J});Ne.initialize(),R[he]=Ne;var Te=tu(te).create({errHandler:de,adapter:ue,dvbFonts:Z,manifestModel:G,mediaController:ie,videoModel:le,textTracks:Ne,vttParser:A,vttCustomRenderingParser:h,ttmlParser:w,streamInfo:J,settings:g});Te.initialize(),E[he]=Te,l[he]={},l[he].lastEnabledIndex=-1},createTracks:function(J){var he=J.id;R[he]&&R[he].createTracks()},getTextSourceBuffer:function(J){var he=J.id;if(E&&E[he])return E[he]},getAllTracksAreDisabled:function(){return Y},addEmbeddedTrack:function(J,he){var Ne=J.id;E[Ne]&&E[Ne].addEmbeddedTrack(he)},enableText:function(J,he){return(0,W.PS)(he,"boolean"),z()!==he&&(he&&oe(J,l[J].lastEnabledIndex),he||(l[J].lastEnabledIndex=Q(J),N?oe(J,-1):U=!0)),!0},isTextEnabled:z,setTextTrack:oe,getCurrentTrackIdx:Q,enableForcedTextStreaming:function(J){return(0,W.PS)(J,"boolean"),B=J,!0},addMediaInfosToBuffer:function(J,he,Ne){var Te=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null,Ce=J.id;E[Ce]&&E[Ce].addMediaInfos(he,Ne,Te)},reset:function(){Z.reset(),x(),L.off(u.Z.TEXT_TRACKS_QUEUE_INITIALIZED,D,r),L.off(u.Z.DVB_FONT_DOWNLOAD_FAILED,M,r),L.off(u.Z.DVB_FONT_DOWNLOAD_COMPLETE,C,r),g.get().streaming.text.webvtt.customRenderingEnabled&&(L.off(u.Z.PLAYBACK_TIME_UPDATED,b,r),L.off(u.Z.PLAYBACK_SEEKING,ne,r)),Object.keys(E).forEach(function(J){E[J].resetEmbedded(),E[J].reset()})}},B=!1,N=!1,U=!1,A=iu(te).getInstance(),h=au(te).getInstance(),w=ou(te).getInstance(),L=(0,p.Z)(te).getInstance(),ce=(0,m.Z)(te).getInstance().getLogger(r),x(),r}_o.__dashjs_factory_name="TextController";var lu=_.Z.getClassFactory(_o);function ra(){var i,r,l,E,R,A,h,w,L,Y,B,N,U,Z,ce,te,ue,de,G,ie,j,le,g,M,C,D,b,ne,z,oe,Q,x,J,he,Ne,Te,Ce,Ie,et,nt="You must first call initialize() and set a source before calling this method",We="You must first call initialize() and set a valid source and view before calling this method",Xe="You must first call attachView() to set the video element before calling this method",Mt="You must first call attachSource() with a valid source before calling this method",Ee="MediaPlayer not initialized!",Fe=this.context,lt=(0,p.Z)(Fe).getInstance(),qe=(0,Ae.Z)(Fe).getInstance(),ht=(0,m.Z)(Fe).getInstance({settings:qe});function gt(){Jt(null),Yt(null),E=null,Z&&(Z.reset(),Z=null),ce&&(ce.reset(),ce=null),ie&&ie.reset(),qe.reset(),ue&&(ue.reset(),ue=null)}function st(){return!!l&&!!Te.getElement()}function qt(){return(0,As.e)()}function Gt(){if(!h)throw We;return ne.isPaused()}function an(){if(!h)throw We;return ne.getIsDynamic()}function un(fe){var pe=C&&C.hasVideoTrack()?t.Z.VIDEO:t.Z.AUDIO,Ve=x.getCurrentDVRInfo(pe);if(!Ve)return 0;var St=ne.getOriginalLiveDelay(),Nt=Ve.range.start+fe;return Nt>Ve.range.end-St&&(Nt=Ve.range.end-St),Nt}function Be(fe){if(!h)throw We;var pe=Ht().currentTime;if(fe!==void 0)pe=C.getTimeRelativeToStreamId(pe,fe);else if(ne.getIsDynamic()){var Ve=C&&C.hasVideoTrack()?t.Z.VIDEO:t.Z.AUDIO,St=x.getCurrentDVRInfo(Ve);pe=St===null||pe===0?0:Math.max(0,pe-St.range.start)}return pe}function ft(){if(!h)throw We;var fe=Ht().duration;if(ne.getIsDynamic()){var pe=C&&C.hasVideoTrack()?t.Z.VIDEO:t.Z.AUDIO,Ve=x.getCurrentDVRInfo(pe);fe=Ve?Ve.range.end-Ve.range.start:0}return fe}function $e(fe){(0,W.PS)(fe,"boolean"),w=fe}function vt(){ie.restoreDefaultUTCTimingSources()}function wt(){return x}function Ht(){if(!Te.getElement())throw Xe;return Te.getElement()}function Yt(fe){if(!R)throw Ee;Te.setElement(fe),fe&&(jt(),function(){if(!ce){var pe=dashjs.MetricsReporting;if(typeof pe=="function"){var Ve=pe(Fe).create();ce=Ve.createMetricsReporting({debug:ht,eventBus:lt,mediaElement:Ht(),adapter:de,dashMetrics:x,mediaPlayerModel:G,events:u.Z,constants:t.Z,metricsConstants:y.Z})}}}(),function(){if(!te){var pe=dashjs.MssHandler;typeof pe=="function"&&(X.extend(pe.errors),te=pe(Fe).create({eventBus:lt,mediaPlayerModel:G,dashMetrics:x,manifestModel:J,playbackController:ne,streamController:C,protectionController:Z,baseURLController:le,errHandler:j,events:u.Z,constants:t.Z,debug:ht,initSegmentType:Le.w.INIT_SEGMENT_TYPE,BASE64:$i,ISOBoxer:yi,settings:qe}))}}(),C&&C.switchToVideoElement(L)),h&&Dt(),rt(L)}function Kt(fe){if(!A)throw nt;var pe=C.getActiveStreamInfo();return pe?U.getTracksFor(fe,pe.id):[]}function Jt(fe){var pe=arguments.length>1&&arguments[1]!==void 0?arguments[1]:NaN;if(!R)throw Ee;typeof fe=="string"&&Ce.initialize(fe),pe==null&&(pe=NaN),isNaN(pe)||(pe=Math.max(0,pe)),L=pe,l=fe,(A||h)&&Dt(),st()&&rt(L)}function ut(){if(!A)throw nt;var fe=C.getActiveStreamInfo();return fe?C.getStreamById(fe.id):null}function Dt(){h=!1,A=!1,de.reset(),C.reset(),b.reset(),Q.reset(),ne.reset(),z.reset(),oe.reset(),Y.reset(),U.reset(),et.reset(),Z&&(qe.get().streaming.protection.keepProtectionMediaKeys?Z.stop():(Z.reset(),Z=null,jt())),D.reset(),he.reset(),Ne.reset()}function xt(){var fe=kt();C||(C=ua(Fe).getInstance()),D||(D=lu(Fe).create({errHandler:j,manifestModel:J,adapter:de,mediaController:U,baseURLController:le,videoModel:Te,settings:qe})),M.setConfig({capabilities:g,customParametersModel:ie,adapter:de,settings:qe,manifestModel:J,errHandler:j}),C.setConfig({capabilities:g,capabilitiesFilter:M,manifestLoader:fe,manifestModel:J,mediaPlayerModel:G,customParametersModel:ie,protectionController:Z,textController:D,adapter:de,dashMetrics:x,errHandler:j,timelineConverter:N,videoModel:Te,playbackController:ne,serviceDescriptionController:z,contentSteeringController:oe,abrController:Y,mediaController:U,settings:qe,baseURLController:le,uriFragmentModel:Ce,segmentBaseController:et}),b.setConfig({settings:qe,playbackController:ne,streamController:C,videoModel:Te,timelineConverter:N,adapter:de}),ne.setConfig({streamController:C,serviceDescriptionController:z,dashMetrics:x,adapter:de,videoModel:Te,timelineConverter:N,settings:qe}),Q.setConfig({streamController:C,playbackController:ne,mediaPlayerModel:G,videoModel:Te,settings:qe}),Y.setConfig({streamController:C,domStorage:Ie,mediaPlayerModel:G,customParametersModel:ie,cmsdModel:Ne,dashMetrics:x,adapter:de,videoModel:Te,settings:qe}),he.setConfig({abrController:Y,dashMetrics:x,playbackController:ne}),Ne.setConfig({}),Y.initialize(),C.initialize(w,E),D.initialize(),b.initialize(),Q.initialize(),he.initialize(),Ne.initialize(),oe.initialize(),et.initialize()}function kt(){return us(Fe).create({debug:ht,errHandler:j,dashMetrics:x,mediaPlayerModel:G,requestModifier:(0,Se.Z)(Fe).getInstance(),mssHandler:te,settings:qe})}function jt(){if(Z)return Z;var fe=dashjs.Protection;if(typeof fe=="function"){var pe=fe(Fe).create();return u.Z.extend(fe.events),n.Z.extend(fe.events,{publicOnly:!0}),X.extend(fe.errors),g||(g=(0,Pa.Z)(Fe).getInstance()),Z=pe.createProtectionSystem({debug:ht,errHandler:j,videoModel:Te,customParametersModel:ie,capabilities:g,eventBus:lt,events:u.Z,BASE64:$i,constants:t.Z,cmcdModel:he,settings:qe})}return null}function Ge(){if(!R)throw Ee;if(ue)return ue;var fe=dashjs.OfflineController;if(typeof fe=="function"){u.Z.extend(fe.events),n.Z.extend(fe.events,{publicOnly:!0}),X.extend(fe.errors);var pe=kt(),Ve=ia(Fe).create();return Ve.setConfig({manifestModel:J,adapter:de,manifestLoader:pe,errHandler:j,contentSteeringController:oe}),ue=fe(Fe).create({debug:ht,manifestUpdater:Ve,baseURLController:le,manifestLoader:pe,manifestModel:J,mediaPlayerModel:G,abrController:Y,playbackController:ne,adapter:de,errHandler:j,dashMetrics:x,timelineConverter:N,segmentBaseController:et,schemeLoaderFactory:B,eventBus:lt,events:u.Z,errors:X,constants:t.Z,settings:qe,dashConstants:e.Z,urlUtils:(0,ze.Z)(Fe).getInstance()})}return null}function Re(fe){var pe=C&&C.hasVideoTrack()?t.Z.VIDEO:t.Z.AUDIO,Ve=x.getCurrentDVRInfo(pe);return Ve?fe+(Ve.manifestInfo.availableFrom.getTime()/1e3+Ve.range.start):0}function rt(){var fe=arguments.length>0&&arguments[0]!==void 0?arguments[0]:NaN;ue&&ue.resetRecords(),!A&&l&&(A=!0,r.info("Streaming Initialized"),xt(),typeof l=="string"?C.load(l,fe):C.loadWithManifest(l,fe)),!h&&st()&&(h=!0,r.info("Playback Initialized"))}return i={initialize:function(fe,pe,Ve){var St=arguments.length>3&&arguments[3]!==void 0?arguments[3]:NaN;g||(g=(0,Pa.Z)(Fe).getInstance()).setConfig({settings:qe}),j||(j=ls(Fe).getInstance()),g.supportsMediaSource()?(R||(R=!0,N=Xs(Fe).getInstance(),Y||(Y=vs(Fe).getInstance()).setConfig({settings:qe}),B||(B=kn(Fe).getInstance()),ne||(ne=d(Fe).getInstance()),U||(U=Oo(Fe).getInstance()),C||(C=ua(Fe).getInstance()),b||(b=Ro(Fe).getInstance()),Q||(Q=wo(Fe).getInstance()),z||(z=Co(Fe).getInstance()),oe||(oe=or(Fe).getInstance()),M||(M=cs(Fe).getInstance()),de=Ls(Fe).getInstance(),J=gs(Fe).getInstance(),he=sn(Fe).getInstance(),Ne=Ct(Fe).getInstance(),x=Ws(Fe).getInstance({settings:qe}),Ie=bs(Fe).getInstance({settings:qe}),de.setConfig({constants:t.Z,cea608parser:T(),errHandler:j,BASE64:$i}),le||(le=ko(Fe).create()),le.setConfig({adapter:de,contentSteeringController:oe}),z.setConfig({adapter:de}),et||(et=ws(Fe).getInstance({dashMetrics:x,mediaPlayerModel:G,errHandler:j,baseURLController:le,events:u.Z,eventBus:lt,debug:ht,boxParser:(0,Yr.Z)(Fe).getInstance(),requestModifier:(0,Se.Z)(Fe).getInstance(),errors:X})),U.setConfig({domStorage:Ie,settings:qe,customParametersModel:ie}),G.setConfig({playbackController:ne,serviceDescriptionController:z}),oe.setConfig({adapter:de,errHandler:j,dashMetrics:x,mediaPlayerModel:G,manifestModel:J,serviceDescriptionController:z,eventBus:lt,requestModifier:(0,Se.Z)(Fe).getInstance()}),vt(),$e(Ve===void 0||Ve),Ge()),fe&&Yt(fe),pe&&Jt(pe,St),r.info("[dash.js "+qt()+"] MediaPlayer has been initialized")):j.error(new re.Z(X.CAPABILITY_MEDIASOURCE_ERROR_CODE,X.CAPABILITY_MEDIASOURCE_ERROR_MESSAGE))},setConfig:function(fe){fe&&(fe.capabilities&&(g=fe.capabilities),fe.capabilitiesFilter&&(M=fe.capabilitiesFilter),fe.streamController&&(C=fe.streamController),fe.textController&&(D=fe.textController),fe.gapController&&(b=fe.gapController),fe.playbackController&&(ne=fe.playbackController),fe.serviceDescriptionController&&(z=fe.serviceDescriptionController),fe.contentSteeringController&&(oe=fe.contentSteeringController),fe.catchupController&&(Q=fe.catchupController),fe.mediaPlayerModel&&(G=fe.mediaPlayerModel),fe.customParametersModel&&(ie=fe.customParametersModel),fe.abrController&&(Y=fe.abrController),fe.schemeLoaderFactory&&(B=fe.schemeLoaderFactory),fe.mediaController&&(U=fe.mediaController),fe.settings&&(qe=fe.settings))},on:function(fe,pe,Ve,St){lt.on(fe,pe,Ve,St)},off:function(fe,pe,Ve){lt.off(fe,pe,Ve)},extend:function(fe,pe,Ve){_.Z.extend(fe,pe,Ve,Fe)},attachView:Yt,attachSource:Jt,refreshManifest:function(fe){if(!R)throw Ee;if(!st())return fe(null,Mt);var pe=this;typeof fe=="function"&&lt.on(u.Z.INTERNAL_MANIFEST_LOADED,function Ve(St){lt.off(u.Z.INTERNAL_MANIFEST_LOADED,Ve,pe),St.error?fe(null,St.error):fe(St.manifest)},pe),C.refreshManifest()},isReady:st,preload:function(){if(!Te.getElement()&&!A){if(!l)throw Mt;rt(L)}},play:function(){if(!h)throw We;(!w||Gt()&&h)&&ne.play(!0)},isPaused:Gt,pause:function(){if(!h)throw We;ne.pause()},isSeeking:function(){if(!h)throw We;return ne.isSeeking()},isDynamic:an,getLowLatencyModeEnabled:function(){if(!h)throw We;return ne.getLowLatencyModeEnabled()},seek:function(fe){if(!h)throw We;if((0,W.PS)(fe,"number"),isNaN(fe))throw t.Z.BAD_ARGUMENT_ERROR;fe<0&&(fe=0);var pe=ne.getIsDynamic()?un(fe):fe,Ve=Ht();!ne.getIsDynamic()&&Ve.duration&&(pe=Math.min(Ve.duration,pe)),ne.seek(pe,!1,!1,!0)},seekToOriginalLive:function(){h&&an()&&ne.seekToOriginalLive()},setPlaybackRate:function(fe){Ht().playbackRate=fe},getPlaybackRate:function(){return Ht().playbackRate},setMute:function(fe){(0,W.PS)(fe,"boolean"),Ht().muted=fe},isMuted:function(){return Ht().muted},setVolume:function(fe){if(typeof fe!="number"||isNaN(fe)||fe<0||fe>1)throw t.Z.BAD_ARGUMENT_ERROR;Ht().volume=fe},getVolume:function(){return Ht().volume},time:Be,duration:ft,timeAsUTC:function(){if(!h)throw We;return Be()<0?NaN:Re(Be())},durationAsUTC:function(){if(!h)throw We;return Re(ft())},getActiveStream:ut,getDVRWindowSize:function(){var fe=C&&C.hasVideoTrack()?t.Z.VIDEO:t.Z.AUDIO,pe=x.getCurrentDVRInfo(fe);return pe?pe.manifestInfo.dvrWindowSize:0},getDVRSeekOffset:un,getAvailableBaseUrls:function(){var fe=J.getValue();return fe?le.getBaseUrls(fe):[]},getAvailableLocations:function(){var fe=J.getValue();if(!fe)return[];var pe=de.getLocation(fe),Ve=oe.getSynthesizedLocationElements(pe);return pe.concat(Ve)},getTargetLiveDelay:function(){if(!h)throw We;return ne.getOriginalLiveDelay()},convertToTimeCode:function(fe){fe=Math.max(fe,0);var pe=Math.floor(fe/3600),Ve=Math.floor(fe%3600/60),St=Math.floor(fe%3600%60);return(pe===0?"":pe<10?"0"+pe.toString()+":":pe.toString()+":")+(Ve<10?"0"+Ve.toString():Ve.toString())+":"+(St<10?"0"+St.toString():St.toString())},formatUTC:function(fe,pe,Ve){var St=arguments.length>3&&arguments[3]!==void 0&&arguments[3],Nt=new Date(1e3*fe),ln=Nt.toLocaleDateString(pe),bn=Nt.toLocaleTimeString(pe,{hour12:Ve});return St?bn+" "+ln:bn},getVersion:qt,getDebug:function(){return ht},getBufferLength:function(fe){var pe=[t.Z.VIDEO,t.Z.AUDIO,t.Z.TEXT];if(fe)return pe.indexOf(fe)!==-1?wt().getCurrentBufferLevel(fe)||NaN:(r.warn("getBufferLength requested for invalid type"),NaN);var Ve=pe.map(function(St){return Kt(St).length>0?wt().getCurrentBufferLevel(St):Number.MAX_VALUE}).reduce(function(St,Nt){return Math.min(St,Nt)});return Ve===Number.MAX_VALUE?NaN:Ve},getTTMLRenderingDiv:function(){return Te?Te.getTTMLRenderingDiv():null},getVideoElement:Ht,getSource:function(){if(!l)throw Mt;return l},updateSource:function(fe){l=fe,C.load(l)},getCurrentLiveLatency:function(){if(!R)throw Ee;return h?ne.getCurrentLiveLatency():NaN},getTopBitrateInfoFor:function(fe){if(!A)throw nt;return Y.getTopBitrateInfoFor(fe)},setAutoPlay:$e,getAutoPlay:function(){return w},getDashMetrics:wt,getQualityFor:function(fe){if(!A)throw nt;if(fe===t.Z.IMAGE){var pe=ut();if(!pe)return-1;var Ve=pe.getThumbnailController();return Ve?Ve.getCurrentTrackIndex():-1}return Y.getQualityFor(fe)},setQualityFor:function(fe,pe){var Ve=arguments.length>2&&arguments[2]!==void 0&&arguments[2];if(!A)throw nt;if(fe===t.Z.IMAGE){var St=ut();if(!St)return;var Nt=St.getThumbnailController();Nt&&Nt.setTrackByIndex(pe)}Y.setPlaybackQuality(fe,C.getActiveStreamInfo(),pe,{forceReplace:Ve})},updatePortalSize:function(){Y.setElementSize(),Y.setWindowResizeEventCalled(!0)},enableText:function(fe){var pe=C.getActiveStreamInfo();return!(!pe||!D)&&D.enableText(pe.id,fe)},enableForcedTextStreaming:function(fe){return!(!C.getActiveStreamInfo()||!D)&&D.enableForcedTextStreaming(fe)},isTextEnabled:function(){var fe=C.getActiveStreamInfo();return!(!fe||!D)&&D.isTextEnabled(fe)},setTextTrack:function(fe){if(!h)throw We;var pe=C.getActiveStreamInfo();pe&&D&&D.setTextTrack(pe.id,fe)},getBitrateInfoListFor:function(fe){if(!A)throw nt;var pe=ut();return pe?pe.getBitrateListFor(fe):[]},getStreamsFromManifest:function(fe){if(!A)throw nt;return de.getStreamsInfo(fe)},getTracksFor:Kt,getTracksForTypeFromManifest:function(fe,pe,Ve){if(!A)throw nt;return(Ve=Ve||de.getStreamsInfo(pe,1)[0])?de.getAllMediaInfoForType(Ve,fe,pe):[]},getCurrentTrackFor:function(fe){if(!A)throw nt;var pe=C.getActiveStreamInfo();return U.getCurrentTrackFor(fe,pe.id)},setInitialMediaSettingsFor:function(fe,pe){if(!R)throw Ee;U.setInitialSettings(fe,pe)},getInitialMediaSettingsFor:function(fe){if(!R)throw Ee;return U.getInitialSettings(fe)},setCurrentTrack:function(fe){var pe=arguments.length>1&&arguments[1]!==void 0&&arguments[1];if(!A)throw nt;U.setTrack(fe,pe)},addABRCustomRule:function(fe,pe,Ve){ie.addAbrCustomRule(fe,pe,Ve)},removeABRCustomRule:function(fe){ie.removeAbrCustomRule(fe)},removeAllABRCustomRule:function(){ie.removeAllAbrCustomRule()},getABRCustomRules:function(){return ie.getAbrCustomRules()},getAverageThroughput:function(fe){var pe=Y.getThroughputHistory(),Ve=ne.getIsDynamic();return pe?pe.getAverageThroughput(fe,Ve):0},retrieveManifest:function(fe,pe){var Ve=kt(),St=this;lt.on(u.Z.INTERNAL_MANIFEST_LOADED,function Nt(ln){ln.error?pe(null,ln.error):pe(ln.manifest),lt.off(u.Z.INTERNAL_MANIFEST_LOADED,Nt,St),Ve.reset()},St),Ce.initialize(fe),Ve.load(fe)},addUTCTimingSource:function(fe,pe){ie.addUTCTimingSource(fe,pe)},removeUTCTimingSource:function(fe,pe){ie.removeUTCTimingSource(fe,pe)},clearDefaultUTCTimingSources:function(){ie.clearDefaultUTCTimingSources()},restoreDefaultUTCTimingSources:vt,setXHRWithCredentialsForType:function(fe,pe){ie.setXHRWithCredentialsForType(fe,pe)},getXHRWithCredentialsForType:function(fe){return ie.getXHRWithCredentialsForType(fe)},getProtectionController:function(){return jt()},attachProtectionController:function(fe){Z=fe},setProtectionData:function(fe){E=fe,C&&C.setProtectionData(E)},registerLicenseRequestFilter:function(fe){ie.registerLicenseRequestFilter(fe)},registerLicenseResponseFilter:function(fe){ie.registerLicenseResponseFilter(fe)},unregisterLicenseRequestFilter:function(fe){ie.unregisterLicenseRequestFilter(fe)},unregisterLicenseResponseFilter:function(fe){ie.unregisterLicenseResponseFilter(fe)},registerCustomCapabilitiesFilter:function(fe){ie.registerCustomCapabilitiesFilter(fe)},unregisterCustomCapabilitiesFilter:function(fe){ie.unregisterCustomCapabilitiesFilter(fe)},setCustomInitialTrackSelectionFunction:function(fe){ie.setCustomInitialTrackSelectionFunction(fe)},resetCustomInitialTrackSelectionFunction:function(){ie.resetCustomInitialTrackSelectionFunction(null)},attachTTMLRenderingDiv:function(fe){if(!Te.getElement())throw Xe;Te.setTTMLRenderingDiv(fe)},attachVttRenderingDiv:function(fe){if(!Te.getElement())throw Xe;Te.setVttRenderingDiv(fe)},getCurrentTextTrackIndex:function(){var fe=C.getActiveStreamInfo();if(fe&&D)return D.getCurrentTrackIdx(fe.id)},provideThumbnail:function(fe,pe){if(typeof pe=="function")if(fe<0)pe(null);else{var Ve=ne.getIsDynamic()?un(fe):fe,St=C.getStreamForTime(Ve);if(St!==null){var Nt=St.getThumbnailController();if(Nt)return Nt.provide(Ve,pe);pe(null)}else pe(null)}},getDashAdapter:function(){return de},getOfflineController:function(){return Ge()},triggerSteeringRequest:function(){if(oe)return oe.loadSteeringData()},getCurrentSteeringResponseData:function(){if(oe)return oe.getCurrentSteeringResponseData()},getSettings:function(){return qe.get()},updateSettings:function(fe){qe.update(fe)},resetSettings:function(){qe.reset()},reset:gt,destroy:function(){gt(),_.Z.deleteSingletonInstances(Fe)}},r=ht.getLogger(i),R=!1,h=!1,A=!1,w=!0,L=NaN,Z=null,ue=null,E=null,de=null,et=null,u.Z.extend(n.Z),G=hs(Fe).getInstance(),ie=(0,Ln.Z)(Fe).getInstance(),Te=Ts(Fe).getInstance(),Ce=ds(Fe).getInstance(),i}ra.__dashjs_factory_name="MediaPlayer";var vi=_.Z.getClassFactory(ra);vi.events=n.Z,vi.errors=X,_.Z.updateClassFactory(ra.__dashjs_factory_name,vi);var cu=vi},8825:function(at,we,P){function ae(p){return ae=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(u){return typeof u}:function(u){return u&&typeof Symbol=="function"&&u.constructor===Symbol&&u!==Symbol.prototype?"symbol":typeof u},ae(p)}function T(p,u){return T=Object.setPrototypeOf||function(_,m){return _.__proto__=m,_},T(p,u)}function t(p,u){return!u||ae(u)!=="object"&&typeof u!="function"?function(_){if(_===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return _}(p):u}function e(p){return e=Object.setPrototypeOf?Object.getPrototypeOf:function(u){return u.__proto__||Object.getPrototypeOf(u)},e(p)}var y=new(function(p){(function(c,d){if(typeof d!="function"&&d!==null)throw new TypeError("Super expression must either be null or a function");c.prototype=Object.create(d&&d.prototype,{constructor:{value:c,writable:!0,configurable:!0}}),d&&T(c,d)})(n,p);var u,_,m=(u=n,_=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var c,d=e(u);if(_){var I=e(this).constructor;c=Reflect.construct(d,arguments,I)}else c=d.apply(this,arguments);return t(this,c)});function n(){var c;return function(d,I){if(!(d instanceof I))throw new TypeError("Cannot call a class as a function")}(this,n),(c=m.call(this)).AST_IN_FUTURE="astInFuture",c.BASE_URLS_UPDATED="baseUrlsUpdated",c.BUFFER_EMPTY="bufferStalled",c.BUFFER_LOADED="bufferLoaded",c.BUFFER_LEVEL_STATE_CHANGED="bufferStateChanged",c.BUFFER_LEVEL_UPDATED="bufferLevelUpdated",c.DVB_FONT_DOWNLOAD_ADDED="dvbFontDownloadAdded",c.DVB_FONT_DOWNLOAD_COMPLETE="dvbFontDownloadComplete",c.DVB_FONT_DOWNLOAD_FAILED="dvbFontDownloadFailed",c.DYNAMIC_TO_STATIC="dynamicToStatic",c.ERROR="error",c.FRAGMENT_LOADING_COMPLETED="fragmentLoadingCompleted",c.FRAGMENT_LOADING_PROGRESS="fragmentLoadingProgress",c.FRAGMENT_LOADING_STARTED="fragmentLoadingStarted",c.FRAGMENT_LOADING_ABANDONED="fragmentLoadingAbandoned",c.LOG="log",c.MANIFEST_LOADING_STARTED="manifestLoadingStarted",c.MANIFEST_LOADING_FINISHED="manifestLoadingFinished",c.MANIFEST_LOADED="manifestLoaded",c.METRICS_CHANGED="metricsChanged",c.METRIC_CHANGED="metricChanged",c.METRIC_ADDED="metricAdded",c.METRIC_UPDATED="metricUpdated",c.PERIOD_SWITCH_STARTED="periodSwitchStarted",c.PERIOD_SWITCH_COMPLETED="periodSwitchCompleted",c.QUALITY_CHANGE_REQUESTED="qualityChangeRequested",c.QUALITY_CHANGE_RENDERED="qualityChangeRendered",c.TRACK_CHANGE_RENDERED="trackChangeRendered",c.STREAM_INITIALIZING="streamInitializing",c.STREAM_UPDATED="streamUpdated",c.STREAM_ACTIVATED="streamActivated",c.STREAM_DEACTIVATED="streamDeactivated",c.STREAM_INITIALIZED="streamInitialized",c.STREAM_TEARDOWN_COMPLETE="streamTeardownComplete",c.TEXT_TRACKS_ADDED="allTextTracksAdded",c.TEXT_TRACK_ADDED="textTrackAdded",c.CUE_ENTER="cueEnter",c.CUE_EXIT="cueExit",c.THROUGHPUT_MEASUREMENT_STORED="throughputMeasurementStored",c.TTML_PARSED="ttmlParsed",c.TTML_TO_PARSE="ttmlToParse",c.CAPTION_RENDERED="captionRendered",c.CAPTION_CONTAINER_RESIZE="captionContainerResize",c.CAN_PLAY="canPlay",c.CAN_PLAY_THROUGH="canPlayThrough",c.PLAYBACK_ENDED="playbackEnded",c.PLAYBACK_ERROR="playbackError",c.PLAYBACK_NOT_ALLOWED="playbackNotAllowed",c.PLAYBACK_METADATA_LOADED="playbackMetaDataLoaded",c.PLAYBACK_LOADED_DATA="playbackLoadedData",c.PLAYBACK_PAUSED="playbackPaused",c.PLAYBACK_PLAYING="playbackPlaying",c.PLAYBACK_PROGRESS="playbackProgress",c.PLAYBACK_RATE_CHANGED="playbackRateChanged",c.PLAYBACK_SEEKED="playbackSeeked",c.PLAYBACK_SEEKING="playbackSeeking",c.PLAYBACK_STALLED="playbackStalled",c.PLAYBACK_STARTED="playbackStarted",c.PLAYBACK_TIME_UPDATED="playbackTimeUpdated",c.PLAYBACK_VOLUME_CHANGED="playbackVolumeChanged",c.PLAYBACK_WAITING="playbackWaiting",c.MANIFEST_VALIDITY_CHANGED="manifestValidityChanged",c.EVENT_MODE_ON_START="eventModeOnStart",c.EVENT_MODE_ON_RECEIVE="eventModeOnReceive",c.CONFORMANCE_VIOLATION="conformanceViolation",c.REPRESENTATION_SWITCH="representationSwitch",c.ADAPTATION_SET_REMOVED_NO_CAPABILITIES="adaptationSetRemovedNoCapabilities",c.CONTENT_STEERING_REQUEST_COMPLETED="contentSteeringRequestCompleted",c.INBAND_PRFT="inbandPrft",c.MANAGED_MEDIA_SOURCE_START_STREAMING="managedMediaSourceStartStreaming",c.MANAGED_MEDIA_SOURCE_END_STREAMING="managedMediaSourceEndStreaming",c}return n}(P(8342).Z));we.Z=y},3393:function(at,we){function P(T,t){for(var e=0;e<t.length;e++){var y=t[e];y.enumerable=y.enumerable||!1,y.configurable=!0,"value"in y&&(y.writable=!0),Object.defineProperty(T,y.key,y)}}var ae=new(function(){function T(){(function(y,p){if(!(y instanceof p))throw new TypeError("Cannot call a class as a function")})(this,T),this.init()}var t,e;return t=T,(e=[{key:"init",value:function(){this.STREAM="stream",this.VIDEO="video",this.AUDIO="audio",this.TEXT="text",this.MUXED="muxed",this.IMAGE="image",this.STPP="stpp",this.TTML="ttml",this.VTT="vtt",this.WVTT="wvtt",this.CONTENT_STEERING="contentSteering",this.ABR_STRATEGY_DYNAMIC="abrDynamic",this.ABR_STRATEGY_BOLA="abrBola",this.ABR_STRATEGY_L2A="abrL2A",this.ABR_STRATEGY_LoLP="abrLoLP",this.ABR_STRATEGY_THROUGHPUT="abrThroughput",this.ABR_FETCH_THROUGHPUT_CALCULATION_DOWNLOADED_DATA="abrFetchThroughputCalculationDownloadedData",this.ABR_FETCH_THROUGHPUT_CALCULATION_MOOF_PARSING="abrFetchThroughputCalculationMoofParsing",this.ABR_FETCH_THROUGHPUT_CALCULATION_AAST="abrFetchThroughputCalculationAAST",this.LIVE_CATCHUP_MODE_DEFAULT="liveCatchupModeDefault",this.LIVE_CATCHUP_MODE_LOLP="liveCatchupModeLoLP",this.MOVING_AVERAGE_SLIDING_WINDOW="slidingWindow",this.MOVING_AVERAGE_EWMA="ewma",this.BAD_ARGUMENT_ERROR="Invalid Arguments",this.MISSING_CONFIG_ERROR="Missing config parameter(s)",this.TRACK_SWITCH_MODE_ALWAYS_REPLACE="alwaysReplace",this.TRACK_SWITCH_MODE_NEVER_REPLACE="neverReplace",this.TRACK_SELECTION_MODE_FIRST_TRACK="firstTrack",this.TRACK_SELECTION_MODE_HIGHEST_BITRATE="highestBitrate",this.TRACK_SELECTION_MODE_HIGHEST_EFFICIENCY="highestEfficiency",this.TRACK_SELECTION_MODE_WIDEST_RANGE="widestRange",this.TRACK_SELECTION_MODE_HIGHEST_SELECTION_PRIORITY="highestSelectionPriority",this.CMCD_MODE_QUERY="query",this.CMCD_MODE_HEADER="header",this.INITIALIZE="initialize",this.TEXT_SHOWING="showing",this.TEXT_HIDDEN="hidden",this.TEXT_DISABLED="disabled",this.CC1="CC1",this.CC3="CC3",this.UTF8="utf-8",this.SCHEME_ID_URI="schemeIdUri",this.START_TIME="starttime",this.SERVICE_DESCRIPTION_DVB_LL_SCHEME="urn:dvb:dash:lowlatency:scope:2019",this.SUPPLEMENTAL_PROPERTY_DVB_LL_SCHEME="urn:dvb:dash:lowlatency:critical:2019",this.FONT_DOWNLOAD_DVB_SCHEME="urn:dvb:dash:fontdownload:2014",this.XML="XML",this.ARRAY_BUFFER="ArrayBuffer",this.DVB_REPORTING_URL="dvb:reportingUrl",this.DVB_PROBABILITY="dvb:probability",this.OFF_MIMETYPE="application/font-sfnt",this.WOFF_MIMETYPE="application/font-woff",this.VIDEO_ELEMENT_READY_STATES={HAVE_NOTHING:0,HAVE_METADATA:1,HAVE_CURRENT_DATA:2,HAVE_FUTURE_DATA:3,HAVE_ENOUGH_DATA:4},this.FILE_LOADER_TYPES={FETCH:"fetch_loader",XHR:"xhr_loader"}}}])&&P(t.prototype,e),T}());we.Z=ae},3860:function(at,we){function P(T,t){for(var e=0;e<t.length;e++){var y=t[e];y.enumerable=y.enumerable||!1,y.configurable=!0,"value"in y&&(y.writable=!0),Object.defineProperty(T,y.key,y)}}var ae=new(function(){function T(){(function(y,p){if(!(y instanceof p))throw new TypeError("Cannot call a class as a function")})(this,T),this.init()}var t,e;return t=T,(e=[{key:"init",value:function(){this.TCP_CONNECTION="TcpList",this.HTTP_REQUEST="HttpList",this.TRACK_SWITCH="RepSwitchList",this.BUFFER_LEVEL="BufferLevel",this.BUFFER_LOADED="bufferLoaded",this.ABANDON_LOAD="abandonload",this.ALLOW_LOAD="allowload",this.BUFFER_EMPTY="bufferStalled",this.BUFFER_STATE="BufferState",this.DVR_INFO="DVRInfo",this.DROPPED_FRAMES="DroppedFrames",this.SCHEDULING_INFO="SchedulingInfo",this.REQUESTS_QUEUE="RequestsQueue",this.MANIFEST_UPDATE="ManifestUpdate",this.MANIFEST_UPDATE_STREAM_INFO="ManifestUpdatePeriodInfo",this.MANIFEST_UPDATE_TRACK_INFO="ManifestUpdateRepresentationInfo",this.PLAY_LIST="PlayList",this.DVB_ERRORS="DVBErrors",this.HTTP_REQUEST_DVB_REPORTING_TYPE="DVBReporting"}}])&&P(t.prototype,e),T}());we.Z=ae},8080:function(at,we,P){P.d(we,{default:function(){return v}});var ae=function S(){(function(W,V){if(!(W instanceof V))throw new TypeError("Cannot call a class as a function")})(this,S),this.mpdurl=null,this.errorcode=null,this.terror=null,this.url=null,this.ipaddress=null,this.servicelocation=null};ae.SSL_CONNECTION_FAILED_PREFIX="SSL",ae.DNS_RESOLUTION_FAILED="C00",ae.HOST_UNREACHABLE="C01",ae.CONNECTION_REFUSED="C02",ae.CONNECTION_ERROR="C03",ae.CORRUPT_MEDIA_ISOBMFF="M00",ae.CORRUPT_MEDIA_OTHER="M01",ae.BASE_URL_CHANGED="F00",ae.BECAME_REPORTER="S00";var T=ae,t=P(1180);function e(S){var W,V,Se=(S=S||{}).eventBus,ze=S.dashMetrics,Me=S.metricsConstants,De=S.events;function be(It){var Ft=new T;if(V){for(var Pt in It)It.hasOwnProperty(Pt)&&(Ft[Pt]=It[Pt]);Ft.mpdurl||(Ft.mpdurl=V.originalUrl||V.url),Ft.terror||(Ft.terror=new Date),ze.addDVBErrors(Ft)}}function xe(It){It.error||(V=It.manifest)}function Qe(It){be({errorcode:T.BASE_URL_CHANGED,servicelocation:It.entry})}function mt(){be({errorcode:T.BECAME_REPORTER})}function it(It){var Ft;It.metric===Me.HTTP_REQUEST&&((Ft=It.value).responsecode===0||Ft.responsecode==null||Ft.responsecode>=400||Ft.responsecode<100||Ft.responsecode>=600)&&be({errorcode:Ft.responsecode||T.CONNECTION_ERROR,url:Ft.url,terror:Ft.tresponse,servicelocation:Ft._serviceLocation})}function Ut(It){var Ft;switch(It.error?It.error.code:0){case MediaError.MEDIA_ERR_NETWORK:Ft=T.CONNECTION_ERROR;break;case MediaError.MEDIA_ERR_DECODE:Ft=T.CORRUPT_MEDIA_OTHER;break;default:return}be({errorcode:Ft})}return W={initialize:function(){Se.on(De.MANIFEST_UPDATED,xe,W),Se.on(De.SERVICE_LOCATION_BASE_URL_BLACKLIST_CHANGED,Qe,W),Se.on(De.METRIC_ADDED,it,W),Se.on(De.METRIC_UPDATED,it,W),Se.on(De.PLAYBACK_ERROR,Ut,W),Se.on(t.Z.BECAME_REPORTING_PLAYER,mt,W)},reset:function(){Se.off(De.MANIFEST_UPDATED,xe,W),Se.off(De.SERVICE_LOCATION_BASE_URL_BLACKLIST_CHANGED,Qe,W),Se.off(De.METRIC_ADDED,it,W),Se.off(De.METRIC_UPDATED,it,W),Se.off(De.PLAYBACK_ERROR,Ut,W),Se.off(t.Z.BECAME_REPORTING_PLAYER,mt,W)}}}e.__dashjs_factory_name="DVBErrorsTranslator";var y=dashjs.FactoryMaker.getSingletonFactory(e),p=P(2295);function u(S){S=S||{};var W,V,Se=!1,ze=this.context,Me=S.mediaElement;return W={initialize:function(De){De&&De.length&&(De.forEach(function(be){var xe=be.starttime,Qe=xe+be.duration;V.add(xe,Qe)}),Se=!!De[0]._useWallClockTime)},reset:function(){V.clear()},isEnabled:function(){var De,be=V.length;if(!be)return!0;De=Se?new Date().getTime()/1e3:Me.currentTime;for(var xe=0;xe<be;xe+=1){var Qe=V.start(xe),mt=V.end(xe);if(Qe<=De&&De<mt)return!0}return!1}},V=(0,p.Z)(ze).create(),W}u.__dashjs_factory_name="RangeController";var _=dashjs.FactoryMaker.getClassFactory(u);function m(){return{serialise:function S(W){var V,Se,ze=[],Me=[];for(V in W)if(W.hasOwnProperty(V)&&V.indexOf("_")!==0){if((Se=W[V])==null&&(Se=""),Array.isArray(Se)){if(!Se.length)continue;Me=[],Se.forEach(function(De){var be=Object.prototype.toString.call(De).slice(8,-1)!=="Object";Me.push(be?De:S(De))}),Se=Me.map(encodeURIComponent).join(",")}else typeof Se=="string"?Se=encodeURIComponent(Se):Se instanceof Date?Se=Se.toISOString():typeof Se=="number"&&(Se=Math.round(Se));ze.push(V+"="+Se)}return ze.join("&")}}}m.__dashjs_factory_name="MetricSerialiser";var n=dashjs.FactoryMaker.getSingletonFactory(m);function c(){var S,W,V,Se=window.crypto||window.msCrypto,ze=Uint32Array,Me=Math.pow(2,8*ze.BYTES_PER_ELEMENT)-1;function De(){Se&&(S||(S=new ze(10)),Se.getRandomValues(S),W=0)}return V={random:function(be,xe){var Qe;return be||(be=0),xe||(xe=1),Se?(W===S.length&&De(),Qe=S[W]/Me,W+=1):Qe=Math.random(),Qe*(xe-be)+be}},De(),V}c.__dashjs_factory_name="RNG";var d=dashjs.FactoryMaker.getSingletonFactory(c),I=P(5717);function k(S){var W;S=S||{};var V,Se,ze,Me,De,be,xe,Qe=this.context,mt=[],it=S.metricsConstants;function Ut(){Me=!1,De=!1,be=null,xe=null}return W={report:function(It,Ft){Array.isArray(Ft)||(Ft=[Ft]),De&&xe.isEnabled()&&Ft.forEach(function(Pt){var tn=V.serialise(Pt);It!==it.DVB_ERRORS&&(tn="metricname=".concat(It,"&").concat(tn)),function(dn,An,_n){var Rn=new XMLHttpRequest;Rn.withCredentials=Se.getXHRWithCredentialsForType(it.HTTP_REQUEST_DVB_REPORTING_TYPE);var qn=function(){var yn=mt.indexOf(Rn);yn!==-1&&(mt.splice(yn,1),!(Rn.status>=200&&Rn.status<300)&&_n&&_n())};mt.push(Rn);try{Rn.open("GET",dn),Rn.onloadend=qn,Rn.onerror=qn,Rn.send()}catch{Rn.onerror()}}(tn="".concat(be,"?").concat(tn),0,function(){De=!1})})},initialize:function(It,Ft){var Pt;if(xe=Ft,!(be=It.dvbReportingUrl))throw new Error("required parameter missing (dvb:reportingUrl)");Me||((Pt=It.dvbProbability)&&(Pt===1e3||Pt/1e3>=ze.random())&&(De=!0),Me=!0)},reset:function(){Ut()}},V=n(Qe).getInstance(),ze=d(Qe).getInstance(),Se=(0,I.Z)(Qe).getInstance(),Ut(),W}k.__dashjs_factory_name="DVBReporting";var q=dashjs.FactoryMaker.getClassFactory(k);function F(S){S=S||{};var W,V={"urn:dvb:dash:reporting:2014":q},Se=this.context,ze=S.debug?S.debug.getLogger(W):{},Me=S.metricsConstants,De=S.mediaPlayerModel||{};return{create:function(be,xe){var Qe;try{(Qe=V[be.schemeIdUri](Se).create({metricsConstants:Me,mediaPlayerModel:De})).initialize(be,xe)}catch(mt){Qe=null,ze.error("ReportingFactory: could not create Reporting with schemeIdUri ".concat(be.schemeIdUri," (").concat(mt.message,")"))}return Qe},register:function(be,xe){V[be]=xe},unregister:function(be){delete V[be]}}}F.__dashjs_factory_name="ReportingFactory";var $=dashjs.FactoryMaker.getSingletonFactory(F);function O(S){var W=[],V=$(this.context).getInstance(S);return{initialize:function(Se,ze){Se.some(function(Me){var De=V.create(Me,ze);if(De)return W.push(De),!0})},reset:function(){W.forEach(function(Se){return Se.reset()}),W=[]},report:function(Se,ze){W.forEach(function(Me){return Me.report(Se,ze)})}}}O.__dashjs_factory_name="ReportingController";var K=dashjs.FactoryMaker.getClassFactory(O);function re(){return{reconstructFullMetricName:function(S,W,V){var Se=S;return W&&(Se+="("+W,V&&V.length&&(Se+=","+V),Se+=")"),Se},validateN:function(S){if(!S)throw new Error("missing n");if(isNaN(S))throw new Error("n is NaN");if(S<0)throw new Error("n must be positive");return S}}}re.__dashjs_factory_name="HandlerHelpers";var H=dashjs.FactoryMaker.getSingletonFactory(re);function ee(S){var W,V,Se,ze,Me;S=S||{};var De=this.context,be=H(De).getInstance(),xe=[],Qe=S.metricsConstants;function mt(){var it=function(){try{return Object.keys(xe).map(function(Ut){return xe[Ut]}).reduce(function(Ut,It){return Ut.level<It.level?Ut:It})}catch{return}}();it&&Me!==it.t&&(Me=it.t,W.report(Se,it))}return{initialize:function(it,Ut,It){Ut&&(V=be.validateN(It),W=Ut,Se=be.reconstructFullMetricName(it,It),ze=setInterval(mt,V))},reset:function(){clearInterval(ze),ze=null,V=0,W=null,Me=null},handleNewMetric:function(it,Ut,It){it===Qe.BUFFER_LEVEL&&(xe[It]=Ut)}}}ee.__dashjs_factory_name="BufferLevelHandler";var se=dashjs.FactoryMaker.getClassFactory(ee),_e=dashjs.FactoryMaker.getClassFactory(function(S){var W,V=(S=S||{}).eventBus,Se=S.metricsConstants;function ze(){V.off(t.Z.METRICS_INITIALISATION_COMPLETE,ze,this),V.trigger(t.Z.BECAME_REPORTING_PLAYER)}return{initialize:function(Me,De){De&&(W=De,V.on(t.Z.METRICS_INITIALISATION_COMPLETE,ze,this))},reset:function(){W=null},handleNewMetric:function(Me,De){Me===Se.DVB_ERRORS&&W&&W.report(Me,De)}}});function X(S){var W,V,Se,ze,Me;S=S||{};var De=[],be=H(this.context).getInstance(),xe=S.metricsConstants;function Qe(){var mt=De;mt.length&&W&&W.report(ze,mt),De=[]}return{initialize:function(mt,it,Ut,It){it&&(V=be.validateN(Ut),W=it,It&&It.length&&(Se=It),ze=be.reconstructFullMetricName(mt,Ut,It),Me=setInterval(Qe,V))},reset:function(){clearInterval(Me),Me=null,V=null,Se=null,De=[],W=null},handleNewMetric:function(mt,it){mt===xe.HTTP_REQUEST&&(Se&&Se!==it.type||De.push(it))}}}X.__dashjs_factory_name="HttpListHandler";var Ae=dashjs.FactoryMaker.getClassFactory(X);function Le(){var S,W;return{initialize:function(V,Se){S=V,W=Se},reset:function(){W=null,S=void 0},handleNewMetric:function(V,Se){V===S&&W&&W.report(S,Se)}}}Le.__dashjs_factory_name="GenericMetricHandler";var Ye=dashjs.FactoryMaker.getClassFactory(Le);function ye(S){var W,V=(S=S||{}).debug?S.debug.getLogger(W):{},Se=/([a-zA-Z]*)(\(([0-9]*)(\,\s*([a-zA-Z]*))?\))?/,ze=this.context,Me={BufferLevel:se,DVBErrors:_e,HttpList:Ae,PlayList:Ye,RepSwitchList:Ye,TcpList:Ye};return{create:function(De,be){var xe,Qe=De.match(Se);if(Qe){try{(xe=Me[Qe[1]](ze).create({eventBus:S.eventBus,metricsConstants:S.metricsConstants})).initialize(Qe[1],be,Qe[3],Qe[5])}catch(mt){xe=null,V.error("MetricsHandlerFactory: Could not create handler for type ".concat(Qe[1]," with args ").concat(Qe[3],", ").concat(Qe[5]," (").concat(mt.message,")"))}return xe}},register:function(De,be){Me[De]=be},unregister:function(De){delete Me[De]}}}ye.__dashjs_factory_name="MetricsHandlerFactory";var Pe=dashjs.FactoryMaker.getSingletonFactory(ye);function He(S){S=S||{};var W,V=[],Se=this.context,ze=S.eventBus,Me=S.events,De=Pe(Se).getInstance({debug:S.debug,eventBus:S.eventBus,metricsConstants:S.metricsConstants});function be(xe){V.forEach(function(Qe){Qe.handleNewMetric(xe.metric,xe.value,xe.mediaType)})}return W={initialize:function(xe,Qe){xe.split(",").forEach(function(mt,it,Ut){var It;if(mt.indexOf("(")!==-1&&mt.indexOf(")")===-1){var Ft=Ut[it+1];Ft&&Ft.indexOf("(")===-1&&Ft.indexOf(")")!==-1&&(mt+=","+Ft,delete Ut[it+1])}(It=De.create(mt,Qe))&&V.push(It)}),ze.on(Me.METRIC_ADDED,be,W),ze.on(Me.METRIC_UPDATED,be,W)},reset:function(){ze.off(Me.METRIC_ADDED,be,W),ze.off(Me.METRIC_UPDATED,be,W),V.forEach(function(xe){return xe.reset()}),V=[]}}}He.__dashjs_factory_name="MetricsHandlersController";var tt=dashjs.FactoryMaker.getClassFactory(He);function ve(S){var W,V,Se;S=S||{};var ze=this.context;function Me(){W&&W.reset(),V&&V.reset(),Se&&Se.reset()}return{initialize:function(De){try{(Se=_(ze).create({mediaElement:S.mediaElement})).initialize(De.Range),(V=K(ze).create({debug:S.debug,metricsConstants:S.metricsConstants,mediaPlayerModel:S.mediaPlayerModel})).initialize(De.Reporting,Se),(W=tt(ze).create({debug:S.debug,eventBus:S.eventBus,metricsConstants:S.metricsConstants,events:S.events})).initialize(De.metrics,V)}catch(be){throw Me(),be}},reset:Me}}ve.__dashjs_factory_name="MetricsController";var Oe=dashjs.FactoryMaker.getClassFactory(ve),_t=function S(){(function(W,V){if(!(W instanceof V))throw new TypeError("Cannot call a class as a function")})(this,S),this.metrics="",this.Range=[],this.Reporting=[]},dt=function S(){(function(W,V){if(!(W instanceof V))throw new TypeError("Cannot call a class as a function")})(this,S),this.starttime=0,this.duration=1/0,this._useWallClockTime=!1},ke=function S(){(function(W,V){if(!(W instanceof V))throw new TypeError("Cannot call a class as a function")})(this,S),this.schemeIdUri="",this.value="",this.dvbReportingUrl="",this.dvbProbability=1e3};function Je(S){var W=(S=S||{}).adapter,V=S.constants;return{getMetrics:function(Se){var ze=[];return Se&&Se.Metrics_asArray&&Se.Metrics_asArray.forEach(function(Me){var De=new _t,be=W.getIsDynamic(Se);Me.hasOwnProperty("metrics")&&(De.metrics=Me.metrics,Me.Range_asArray&&Me.Range_asArray.forEach(function(xe){var Qe=new dt;Qe.starttime=function(mt,it,Ut){var It,Ft,Pt=0;return it?Pt=W.getAvailabilityStartTime(mt)/1e3:(It=W.getRegularPeriods(mt)).length&&(Pt=It[0].start),Ft=Pt,Ut&&Ut.hasOwnProperty(V.START_TIME)&&(Ft+=Ut.starttime),Ft}(Se,be,xe),xe.hasOwnProperty("duration")?Qe.duration=xe.duration:Qe.duration=W.getDuration(Se),Qe._useWallClockTime=be,De.Range.push(Qe)}),Me.Reporting_asArray&&(Me.Reporting_asArray.forEach(function(xe){var Qe=new ke;xe.hasOwnProperty(V.SCHEME_ID_URI)&&(Qe.schemeIdUri=xe.schemeIdUri,xe.hasOwnProperty("value")&&(Qe.value=xe.value),xe.hasOwnProperty(V.DVB_REPORTING_URL)&&(Qe.dvbReportingUrl=xe[V.DVB_REPORTING_URL]),xe.hasOwnProperty(V.DVB_PROBABILITY)&&(Qe.dvbProbability=xe[V.DVB_PROBABILITY]),De.Reporting.push(Qe))}),ze.push(De)))}),ze}}}Je.__dashjs_factory_name="ManifestParsing";var ge=dashjs.FactoryMaker.getSingletonFactory(Je);function me(S){var W;S=S||{};var V={},Se=this.context,ze=S.eventBus,Me=S.events;function De(xe){if(!xe.error){var Qe=Object.keys(V);ge(Se).getInstance({adapter:S.adapter,constants:S.constants}).getMetrics(xe.manifest).forEach(function(mt){var it=JSON.stringify(mt);if(V.hasOwnProperty(it))Qe.splice(it,1);else try{var Ut=Oe(Se).create(S);Ut.initialize(mt),V[it]=Ut}catch{}}),Qe.forEach(function(mt){V[mt].reset(),delete V[mt]}),ze.trigger(t.Z.METRICS_INITIALISATION_COMPLETE)}}function be(){Object.keys(V).forEach(function(xe){V[xe].reset()}),V={}}return W={reset:function(){ze.off(Me.MANIFEST_UPDATED,De,W),ze.off(Me.STREAM_TEARDOWN_COMPLETE,be,W)}},ze.on(Me.MANIFEST_UPDATED,De,W),ze.on(Me.STREAM_TEARDOWN_COMPLETE,be,W),W}me.__dashjs_factory_name="MetricsCollectionController";var Ue=dashjs.FactoryMaker.getClassFactory(me);function f(){var S=this.context;return{createMetricsReporting:function(W){return y(S).getInstance({eventBus:W.eventBus,dashMetrics:W.dashMetrics,metricsConstants:W.metricsConstants,events:W.events}).initialize(),Ue(S).create(W)},getReportingFactory:function(){return $(S).getInstance()},getMetricsHandlerFactory:function(){return Pe(S).getInstance()}}}f.__dashjs_factory_name="MetricsReporting";var o=dashjs.FactoryMaker.getClassFactory(f);o.events=t.Z,dashjs.FactoryMaker.updateClassFactory(f.__dashjs_factory_name,o);var v=o},1180:function(at,we,P){function ae(p){return ae=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(u){return typeof u}:function(u){return u&&typeof Symbol=="function"&&u.constructor===Symbol&&u!==Symbol.prototype?"symbol":typeof u},ae(p)}function T(p,u){return T=Object.setPrototypeOf||function(_,m){return _.__proto__=m,_},T(p,u)}function t(p,u){return!u||ae(u)!=="object"&&typeof u!="function"?function(_){if(_===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return _}(p):u}function e(p){return e=Object.setPrototypeOf?Object.getPrototypeOf:function(u){return u.__proto__||Object.getPrototypeOf(u)},e(p)}var y=new(function(p){(function(c,d){if(typeof d!="function"&&d!==null)throw new TypeError("Super expression must either be null or a function");c.prototype=Object.create(d&&d.prototype,{constructor:{value:c,writable:!0,configurable:!0}}),d&&T(c,d)})(n,p);var u,_,m=(u=n,_=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var c,d=e(u);if(_){var I=e(this).constructor;c=Reflect.construct(d,arguments,I)}else c=d.apply(this,arguments);return t(this,c)});function n(){var c;return function(d,I){if(!(d instanceof I))throw new TypeError("Cannot call a class as a function")}(this,n),(c=m.call(this)).METRICS_INITIALISATION_COMPLETE="internal_metricsReportingInitialized",c.BECAME_REPORTING_PLAYER="internal_becameReportingPlayer",c.CMCD_DATA_GENERATED="cmcdDataGenerated",c}return n}(P(8342).Z));we.Z=y},5717:function(at,we,P){var ae=P(2610),T=P(5448),t=P(1264),e=P(3106),y=P(1767),p=P(3393);function u(){var _,m,n,c,d,I,k,q,F=this.context,$=(0,t.Z)(F).getInstance();function O(){c=[],d=[],I=[],q=[],k=null,m=[]}function K(se,_e){var X=-1;se.some(function(Ae,Le){if(Ae===_e)return X=Le,!0}),X<0||se.splice(X,1)}function re(se){var _e;for(_e=0;_e<q.length;_e++)if(q[_e].rulename===se)return _e;return-1}function H(se,_e){ee(se,_e);var X=new ae.Z;X.schemeIdUri=se,X.value=_e,m.push(X)}function ee(se,_e){(0,e.PS)(se,"string"),(0,e.PS)(_e,"string"),m.forEach(function(X,Ae){X.schemeIdUri===se&&X.value===_e&&m.splice(Ae,1)})}return _={getCustomInitialTrackSelectionFunction:function(){return k},setCustomInitialTrackSelectionFunction:function(se){k=se},resetCustomInitialTrackSelectionFunction:function(){k=null},getLicenseResponseFilters:function(){return d},getLicenseRequestFilters:function(){return c},getCustomCapabilitiesFilters:function(){return I},registerCustomCapabilitiesFilter:function(se){I.push(se)},registerLicenseResponseFilter:function(se){d.push(se)},registerLicenseRequestFilter:function(se){c.push(se)},unregisterCustomCapabilitiesFilter:function(se){K(I,se)},unregisterLicenseResponseFilter:function(se){K(d,se)},unregisterLicenseRequestFilter:function(se){K(c,se)},addAbrCustomRule:function(se,_e,X){if(typeof se!="string"||se!==y.Z.ABANDON_FRAGMENT_RULES&&se!==y.Z.QUALITY_SWITCH_RULES||typeof _e!="string")throw p.Z.BAD_ARGUMENT_ERROR;var Ae=re(_e);Ae===-1?q.push({type:se,rulename:_e,rule:X}):(q[Ae].type=se,q[Ae].rule=X)},removeAllAbrCustomRule:function(){q=[]},removeAbrCustomRule:function(se){if(se){var _e=re(se);_e!==-1&&q.splice(_e,1)}else q=[]},getAbrCustomRules:function(){return q},addUTCTimingSource:H,removeUTCTimingSource:ee,getUTCTimingSources:function(){return m},clearDefaultUTCTimingSources:function(){m=[]},restoreDefaultUTCTimingSources:function(){var se=$.get().streaming.utcSynchronization.defaultTimingSource;H(se.scheme,se.value)},setXHRWithCredentialsForType:function se(_e,X){_e?n[_e]=!!X:Object.keys(n).forEach(function(Ae){se(Ae,X)})},getXHRWithCredentialsForType:function(se){var _e=n[se];return _e===void 0?n.default:_e},setConfig:function(){},reset:function(){O()}},n={default:!1},O(),_}u.__dashjs_factory_name="CustomParametersModel",we.Z=T.Z.getSingletonFactory(u)},9032:function(at,we,P){var ae=P(5448),T=P(7473);function t(y){var p=(y=y||{}).requestModifier;function u(_){var m=new Date,n=_.request,c=new XMLHttpRequest;if(c.open(_.method,_.url,!0),n.responseType&&(c.responseType=n.responseType),n.range&&c.setRequestHeader("Range","bytes="+n.range),n.requestStartDate||(n.requestStartDate=m),p&&p.modifyRequestHeader&&(c=p.modifyRequestHeader(c,{url:_.url})),_.headers)for(var d in _.headers){var I=_.headers[d];I&&c.setRequestHeader(d,I)}c.withCredentials=_.withCredentials,c.onload=_.onload,c.onloadend=_.onend,c.onerror=_.onerror,c.onprogress=_.progress,c.onabort=_.onabort,c.ontimeout=_.ontimeout,c.timeout=_.timeout,c.send(),_.response=c}return{load:function(_){p&&p.modifyRequest?(0,T.k)(_,p).then(function(){return u(_)}):u(_)},abort:function(_){var m=_.response;m.onloadend=m.onerror=m.onprogress=void 0,m.abort()}}}t.__dashjs_factory_name="XHRLoader";var e=ae.Z.getClassFactory(t);we.Z=e},1737:function(at,we,P){function ae(bt,Et){for(var Tt=0;Tt<Et.length;Tt++){var Ze=Et[Tt];Ze.enumerable=Ze.enumerable||!1,Ze.configurable=!0,"value"in Ze&&(Ze.writable=!0),Object.defineProperty(bt,Ze.key,Ze)}}P.d(we,{default:function(){return Cr}});var T={attributes:["Laurl","laurl"],prefixes:["clearkey","dashif"]},t=function(){function bt(){(function(Ze,ct){if(!(Ze instanceof ct))throw new TypeError("Cannot call a class as a function")})(this,bt)}var Et,Tt;return Et=bt,Tt=[{key:"findCencContentProtection",value:function(Ze){for(var ct=null,je=0;je<Ze.length;++je){var ot=Ze[je];ot.schemeIdUri.toLowerCase()!=="urn:mpeg:dash:mp4protection:2011"||ot.value.toLowerCase()!=="cenc"&&ot.value.toLowerCase()!=="cbcs"||(ct=ot)}return ct}},{key:"getPSSHData",value:function(Ze){var ct=8,je=new DataView(Ze),ot=je.getUint8(ct);return ct+=20,ot>0&&(ct+=4+16*je.getUint32(ct)),ct+=4,Ze.slice(ct)}},{key:"getPSSHForKeySystem",value:function(Ze,ct){var je=bt.parsePSSHList(ct);return Ze&&je.hasOwnProperty(Ze.uuid.toLowerCase())?je[Ze.uuid.toLowerCase()]:null}},{key:"parseInitDataFromContentProtection",value:function(Ze,ct){return"pssh"in Ze?(Ze.pssh.__text=Ze.pssh.__text.replace(/\r?\n|\r/g,"").replace(/\s+/g,""),ct.decodeArray(Ze.pssh.__text).buffer):null}},{key:"parsePSSHList",value:function(Ze){if(Ze==null)return[];for(var ct=new DataView(Ze.buffer||Ze),je={},ot=0;;){var Ot,Lt,Wt=void 0,Xt=ot;if(ot>=ct.buffer.byteLength)break;if(Ot=ot+ct.getUint32(ot),ot+=4,ct.getUint32(ot)===1886614376)if(ot+=4,(Lt=ct.getUint8(ot))===0||Lt===1){ot++,ot+=3,Wt="";var Bt=void 0,yt=void 0;for(Bt=0;Bt<4;Bt++)Wt+=(yt=ct.getUint8(ot+Bt).toString(16)).length===1?"0"+yt:yt;for(ot+=4,Wt+="-",Bt=0;Bt<2;Bt++)Wt+=(yt=ct.getUint8(ot+Bt).toString(16)).length===1?"0"+yt:yt;for(ot+=2,Wt+="-",Bt=0;Bt<2;Bt++)Wt+=(yt=ct.getUint8(ot+Bt).toString(16)).length===1?"0"+yt:yt;for(ot+=2,Wt+="-",Bt=0;Bt<2;Bt++)Wt+=(yt=ct.getUint8(ot+Bt).toString(16)).length===1?"0"+yt:yt;for(ot+=2,Wt+="-",Bt=0;Bt<6;Bt++)Wt+=(yt=ct.getUint8(ot+Bt).toString(16)).length===1?"0"+yt:yt;ot+=6,ot+=4,je[Wt=Wt.toLowerCase()]=ct.buffer.slice(Xt,Ot),ot=Ot}else ot=Ot;else ot=Ot}return je}},{key:"getLicenseServerUrlFromMediaInfo",value:function(Ze,ct){try{if(!Ze||Ze.length===0)return null;for(var je=0,ot=null;je<Ze.length&&!ot;){var Ot=Ze[je];if(Ot&&Ot.contentProtection&&Ot.contentProtection.length>0){var Lt=Ot.contentProtection.filter(function(rn){return rn.schemeIdUri&&rn.schemeIdUri===ct});if(Lt&&Lt.length>0)for(var Wt=0;Wt<Lt.length&&!ot;){for(var Xt=Lt[Wt],Bt=0;Bt<T.attributes.length&&!ot;){for(var yt=0,zt=T.attributes[Bt];yt<T.prefixes.length&&!ot;){var Vt=T.prefixes[yt];Xt[zt]&&Xt[zt].__prefix&&Xt[zt].__prefix===Vt&&Xt[zt].__text&&(ot=Xt[zt].__text),yt+=1}Bt+=1}Wt+=1}}je+=1}return ot}catch{return null}}}],Tt&&ae(Et,Tt),bt}(),e=function bt(Et,Tt){(function(Ze,ct){if(!(Ze instanceof ct))throw new TypeError("Cannot call a class as a function")})(this,bt),this.contentType=Et,this.robustness=Tt},y=function bt(Et,Tt,Ze,ct,je){(function(ot,Ot){if(!(ot instanceof Ot))throw new TypeError("Cannot call a class as a function")})(this,bt),this.initDataTypes=["cenc"],Et&&Et.length&&(this.audioCapabilities=Et),Tt&&Tt.length&&(this.videoCapabilities=Tt),this.distinctiveIdentifier=Ze,this.persistentState=ct,this.sessionTypes=je};function p(bt){return p=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(Et){return typeof Et}:function(Et){return Et&&typeof Symbol=="function"&&Et.constructor===Symbol&&Et!==Symbol.prototype?"symbol":typeof Et},p(bt)}function u(bt,Et){return u=Object.setPrototypeOf||function(Tt,Ze){return Tt.__proto__=Ze,Tt},u(bt,Et)}function _(bt,Et){return!Et||p(Et)!=="object"&&typeof Et!="function"?function(Tt){if(Tt===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return Tt}(bt):Et}function m(bt){return m=Object.setPrototypeOf?Object.getPrototypeOf:function(Et){return Et.__proto__||Object.getPrototypeOf(Et)},m(bt)}var n=new(function(bt){(function(je,ot){if(typeof ot!="function"&&ot!==null)throw new TypeError("Super expression must either be null or a function");je.prototype=Object.create(ot&&ot.prototype,{constructor:{value:je,writable:!0,configurable:!0}}),ot&&u(je,ot)})(ct,bt);var Et,Tt,Ze=(Et=ct,Tt=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var je,ot=m(Et);if(Tt){var Ot=m(this).constructor;je=Reflect.construct(ot,arguments,Ot)}else je=ot.apply(this,arguments);return _(this,je)});function ct(){var je;return function(ot,Ot){if(!(ot instanceof Ot))throw new TypeError("Cannot call a class as a function")}(this,ct),(je=Ze.call(this)).MEDIA_KEYERR_CODE=100,je.MEDIA_KEYERR_UNKNOWN_CODE=101,je.MEDIA_KEYERR_CLIENT_CODE=102,je.MEDIA_KEYERR_SERVICE_CODE=103,je.MEDIA_KEYERR_OUTPUT_CODE=104,je.MEDIA_KEYERR_HARDWARECHANGE_CODE=105,je.MEDIA_KEYERR_DOMAIN_CODE=106,je.MEDIA_KEY_MESSAGE_ERROR_CODE=107,je.MEDIA_KEY_MESSAGE_NO_CHALLENGE_ERROR_CODE=108,je.SERVER_CERTIFICATE_UPDATED_ERROR_CODE=109,je.KEY_STATUS_CHANGED_EXPIRED_ERROR_CODE=110,je.MEDIA_KEY_MESSAGE_NO_LICENSE_SERVER_URL_ERROR_CODE=111,je.KEY_SYSTEM_ACCESS_DENIED_ERROR_CODE=112,je.KEY_SESSION_CREATED_ERROR_CODE=113,je.MEDIA_KEY_MESSAGE_LICENSER_ERROR_CODE=114,je.MEDIA_KEYERR_UNKNOWN_MESSAGE="An unspecified error occurred. This value is used for errors that don't match any of the other codes.",je.MEDIA_KEYERR_CLIENT_MESSAGE="The Key System could not be installed or updated.",je.MEDIA_KEYERR_SERVICE_MESSAGE="The message passed into update indicated an error from the license service.",je.MEDIA_KEYERR_OUTPUT_MESSAGE="There is no available output device with the required characteristics for the content protection system.",je.MEDIA_KEYERR_HARDWARECHANGE_MESSAGE="A hardware configuration change caused a content protection error.",je.MEDIA_KEYERR_DOMAIN_MESSAGE="An error occurred in a multi-device domain licensing configuration. The most common error is a failure to join the domain.",je.MEDIA_KEY_MESSAGE_ERROR_MESSAGE="Multiple key sessions were creates with a user-agent that does not support sessionIDs!! Unpredictable behavior ahead!",je.MEDIA_KEY_MESSAGE_NO_CHALLENGE_ERROR_MESSAGE="DRM: Empty key message from CDM",je.SERVER_CERTIFICATE_UPDATED_ERROR_MESSAGE="Error updating server certificate -- ",je.KEY_STATUS_CHANGED_EXPIRED_ERROR_MESSAGE="DRM: KeyStatusChange error! -- License has expired",je.MEDIA_KEY_MESSAGE_NO_LICENSE_SERVER_URL_ERROR_MESSAGE="DRM: No license server URL specified!",je.KEY_SYSTEM_ACCESS_DENIED_ERROR_MESSAGE="DRM: KeySystem Access Denied! -- ",je.KEY_SESSION_CREATED_ERROR_MESSAGE="DRM: unable to create session! --",je.MEDIA_KEY_MESSAGE_LICENSER_ERROR_MESSAGE="DRM: licenser error! --",je}return ct}(P(2230).Z)),c=P(5459),d=function bt(Et,Tt,Ze,ct,je,ot,Ot,Lt){(function(Wt,Xt){if(!(Wt instanceof Xt))throw new TypeError("Cannot call a class as a function")})(this,bt),this.url=Et,this.method=Tt,this.responseType=Ze,this.headers=ct,this.withCredentials=je,this.messageType=ot,this.sessionId=Ot,this.data=Lt},I=function bt(Et,Tt,Ze){(function(ct,je){if(!(ct instanceof je))throw new TypeError("Cannot call a class as a function")})(this,bt),this.url=Et,this.headers=Tt,this.data=Ze},k=P(7855),q=P(703),F=P(3393),$=P(5448);function O(bt){return O=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(Et){return typeof Et}:function(Et){return Et&&typeof Symbol=="function"&&Et.constructor===Symbol&&Et!==Symbol.prototype?"symbol":typeof Et},O(bt)}function K(bt){var Et,Tt,Ze,ct,je,ot,Ot,Lt,Wt,Xt,Bt,yt=(bt=bt||{}).protectionKeyController,zt=bt.protectionModel,Vt=bt.eventBus,rn=bt.events,gn=bt.debug,vn=bt.BASE64,$t=bt.constants,pt=[],At=bt.cmcdModel,Zt=bt.settings,nn=bt.customParametersModel;function sn(){if(!(Vt&&Vt.hasOwnProperty("on")&&yt&&yt.hasOwnProperty("getSupportedKeySystemsFromContentProtection")))throw new Error("Missing config parameter(s)")}function pn(Ct,en){Lt||Wt?Lt&&En():function(fn,Ln){if(!Wt){Wt=!0;var Tn,Bn=[];fn=fn.sort(function(kn,Dn){return(je&&je[kn.ks.systemString]&&je[kn.ks.systemString].priority>=0?je[kn.ks.systemString].priority:fn.length)-(je&&je[Dn.ks.systemString]&&je[Dn.ks.systemString].priority>=0?je[Dn.ks.systemString].priority:fn.length)});for(var wn=0;wn<fn.length;wn++){var tr=mr(fn[wn]);Bn.push({ks:fn[wn].ks,configs:[tr],protData:fn[wn].protData})}zt.requestKeySystemAccess(Bn).then(function(kn){var Dn=(Tn=kn.data).mksa&&Tn.mksa.selectedSystemString?Tn.mksa.selectedSystemString:Tn.keySystem.systemString;return Tt.info("DRM: KeySystem Access Granted for system string ("+Dn+")!  Selecting key system..."),zt.selectKeySystem(Tn)}).then(function(kn){if(Lt=kn,Wt=!1,zt){Vt.trigger(rn.KEY_SYSTEM_SELECTED,{data:Tn});var Dn=Un(Lt);Dn&&Dn.serverCertificate&&Dn.serverCertificate.length>0&&zt.setServerCertificate(vn.decodeArray(Dn.serverCertificate).buffer),En()}}).catch(function(kn){Lt=null,Wt=!1,Ln||Vt.trigger(rn.KEY_SYSTEM_SELECTED,{data:null,error:new c.Z(n.KEY_SYSTEM_ACCESS_DENIED_ERROR_CODE,n.KEY_SYSTEM_ACCESS_DENIED_ERROR_MESSAGE+"Error selecting key system! -- "+kn.error)})})}}(Ct,en)}function En(){for(var Ct,en=0;en<Ze.length;en++)for(Ct=0;Ct<Ze[en].length;Ct++)if(Lt===Ze[en][Ct].ks){Yn(Ze[en][Ct]);break}Ze=[]}function Yn(Ct){if(yt.isClearKey(Lt)&&Ct.protData&&Ct.protData.hasOwnProperty("clearkeys")&&Object.keys(Ct.protData.clearkeys).length!==0){var en={kids:Object.keys(Ct.protData.clearkeys)};Ct.initData=new TextEncoder().encode(JSON.stringify(en))}Ct.sessionId?jn(Ct):Ct.initData!==null&&Cn(Ct)}function jn(Ct){sn(),zt.loadKeySession(Ct)}function Cn(Ct){var en=t.getPSSHForKeySystem(Lt,Ct?Ct.initData:null);if(en){if(function(fn){if(!fn)return!1;try{for(var Ln=zt.getSessions(),Tn=0;Tn<Ln.length;Tn++)if(Ln[Tn].getKeyId()===fn)return!0;return!1}catch{return!1}}(Ct.keyId)||Pn(en))return;try{Ct.initData=en,zt.createKeySession(Ct)}catch(fn){Vt.trigger(rn.KEY_SESSION_CREATED,{data:null,error:new c.Z(n.KEY_SESSION_CREATED_ERROR_CODE,n.KEY_SESSION_CREATED_ERROR_MESSAGE+fn.message)})}}else Ct&&Ct.initData?zt.createKeySession(Ct):Vt.trigger(rn.KEY_SESSION_CREATED,{data:null,error:new c.Z(n.KEY_SESSION_CREATED_ERROR_CODE,n.KEY_SESSION_CREATED_ERROR_MESSAGE+"Selected key system is "+(Lt?Lt.systemString:null)+".  needkey/encrypted event contains no initData corresponding to that key system!")})}function Un(Ct){if(Ct){var en=Ct.systemString;if(je)return en in je?je[en]:null}return null}function Pn(Ct){if(!Ct)return!1;try{for(var en=zt.getAllInitData(),fn=0;fn<en.length;fn++)if(yt.initDataEquals(Ct,en[fn]))return Tt.debug("DRM: Ignoring initData because we have already seen it!"),!0;return!1}catch{return!1}}function Hn(Ct){sn(),Ct?(zt.setMediaElement(Ct),Vt.on(rn.NEED_KEY,Or,Et)):Ct===null&&(zt.setMediaElement(Ct),Vt.off(rn.NEED_KEY,Or,Et))}function mr(Ct){var en=Ct.protData,fn=[],Ln=[],Tn=en&&en.audioRobustness&&en.audioRobustness.length>0?en.audioRobustness:Ot,Bn=en&&en.videoRobustness&&en.videoRobustness.length>0?en.videoRobustness:Ot,wn=Ct.sessionType,tr=en&&en.distinctiveIdentifier?en.distinctiveIdentifier:"optional",kn=en&&en.persistentState?en.persistentState:wn==="temporary"?"optional":"required";return ct.forEach(function(Dn){Dn.type===$t.AUDIO?fn.push(new e(Dn.codec,Tn)):Dn.type===$t.VIDEO&&Ln.push(new e(Dn.codec,Bn))}),new y(fn,Ln,tr,kn,[wn])}function ir(Ct){Ct.error?Vt.trigger(rn.KEY_STATUSES_CHANGED,{data:null,error:Ct.error}):Tt.debug("DRM: key status = "+Ct.status)}function ur(Ct){Tt.debug("DRM: onKeyMessage");var en=Ct.data;Vt.trigger(rn.KEY_MESSAGE,{data:en});var fn=en.messageType?en.messageType:"license-request",Ln=en.message,Tn=en.sessionToken,Bn=Un(Lt),wn=yt.getLicenseServerModelInstance(Lt,Bn,fn),tr={sessionToken:Tn,messageType:fn};if(Ln&&Ln.byteLength!==0){if(!wn)return Tt.debug("DRM: License server request not required for this message (type = "+Ct.data.messageType+").  Session ID = "+Tn.getSessionId()),void zn(tr);if(yt.isClearKey(Lt)){var kn=yt.processClearKeyLicenseRequest(Lt,Bn,Ln);if(kn&&kn.keyPairs&&kn.keyPairs.length>0)return Tt.debug("DRM: ClearKey license request handled by application!"),zn(tr),void zt.updateKeySession(Tn,kn)}(function(Dn,Wn,Xn){var lr=Dn.sessionToken,ar=Dn.messageType?Dn.messageType:"license-request",cr={sessionToken:lr,messageType:ar},pr=Lt?Lt.systemString:null,qr=function(Nn,Tr,Fr,Sr,ri){var or=null,ii=Sr.message;if(Nn&&Nn.serverURL){var yr=Nn.serverURL;typeof yr=="string"&&yr!==""?or=yr:O(yr)==="object"&&yr.hasOwnProperty(Tr)&&(or=yr[Tr])}else if(Nn&&Nn.laURL&&Nn.laURL!=="")or=Nn.laURL;else if(!(or=t.getLicenseServerUrlFromMediaInfo(ct,Lt.schemeIdURI))&&!yt.isClearKey(Lt)){var ai=t.getPSSHData(Fr.initData);(or=Lt.getLicenseServerURLFromInitData(ai))||(or=Sr.laURL)}return or=ri.getServerURLFromMessage(or,ii,Tr)}(Xn,ar,lr,Dn,Wn);if(qr){var Mr={},Pr=!1;Xn&&Wr(Mr,Xn.httpRequestHeaders);var Jr=Dn.message;Wr(Mr,Lt.getRequestHeadersFromMessage(Jr)),Object.keys(Mr).forEach(function(Nn){Nn.toLowerCase()==="authorization"&&(Pr=!0)}),Xn&&typeof Xn.withCredentials=="boolean"&&(Pr=Xn.withCredentials);var $r=function(Nn){if(zt)if(Nn.status>=200&&Nn.status<=299){var Tr=q.Z.parseHttpHeaders(Nn.getAllResponseHeaders?Nn.getAllResponseHeaders():null),Fr=new I(Nn.responseURL,Tr,Nn.response);Qr(nn.getLicenseResponseFilters(),Fr).then(function(){var Sr=Wn.getLicenseMessage(Fr.data,pr,ar);Sr!==null?(zn(cr),zt.updateKeySession(lr,Sr)):Xr(Nn,cr,pr,ar,Wn)})}else Xr(Nn,cr,pr,ar,Wn)},Ai=function(Nn){zn(cr,new c.Z(n.MEDIA_KEY_MESSAGE_LICENSER_ERROR_CODE,n.MEDIA_KEY_MESSAGE_LICENSER_ERROR_MESSAGE+pr+' update, XHR aborted. status is "'+Nn.statusText+'" ('+Nn.status+"), readyState is "+Nn.readyState))},Ii=function(Nn){zn(cr,new c.Z(n.MEDIA_KEY_MESSAGE_LICENSER_ERROR_CODE,n.MEDIA_KEY_MESSAGE_LICENSER_ERROR_MESSAGE+pr+' update, XHR error. status is "'+Nn.statusText+'" ('+Nn.status+"), readyState is "+Nn.readyState))},ei=Lt.getLicenseRequestFromMessage(Jr),ti=Wn.getHTTPMethod(ar),Ri=Wn.getResponseType(pr,ar),Yr=Xn&&!isNaN(Xn.httpTimeout)?Xn.httpTimeout:8e3,ni=lr.getSessionId()||null,Lr=new d(qr,ti,Ri,Mr,Pr,ar,ni,ei),wi=isNaN(Zt.get().streaming.retryAttempts[k.w.LICENSE])?3:Zt.get().streaming.retryAttempts[k.w.LICENSE];Qr(nn.getLicenseRequestFilters(),Lr).then(function(){zr(Lr,wi,Yr,$r,Ai,Ii)})}else zn(cr,new c.Z(n.MEDIA_KEY_MESSAGE_NO_LICENSE_SERVER_URL_ERROR_CODE,n.MEDIA_KEY_MESSAGE_NO_LICENSE_SERVER_URL_ERROR_MESSAGE))})(en,wn,Bn)}else zn(tr,new c.Z(n.MEDIA_KEY_MESSAGE_NO_CHALLENGE_ERROR_CODE,n.MEDIA_KEY_MESSAGE_NO_CHALLENGE_ERROR_MESSAGE))}function zn(Ct,en){Vt.trigger(rn.LICENSE_REQUEST_COMPLETE,{data:Ct,error:en})}function zr(Ct,en,fn,Ln,Tn,Bn){var wn=new XMLHttpRequest;if(Zt.get().streaming.cmcd&&Zt.get().streaming.cmcd.enabled&&Zt.get().streaming.cmcd.mode===F.Z.CMCD_MODE_QUERY){var tr=At.getQueryParameter({url:Ct.url,type:k.w.LICENSE});tr&&(Ct.url=q.Z.addAditionalQueryParameterToUrl(Ct.url,[tr]))}for(var kn in wn.open(Ct.method,Ct.url,!0),wn.responseType=Ct.responseType,wn.withCredentials=Ct.withCredentials,fn>0&&(wn.timeout=fn),Ct.headers)wn.setRequestHeader(kn,Ct.headers[kn]);if(Zt.get().streaming.cmcd&&Zt.get().streaming.cmcd.enabled&&Zt.get().streaming.cmcd.mode===F.Z.CMCD_MODE_HEADER){var Dn=At.getHeaderParameters({url:Ct.url,type:k.w.LICENSE});if(Dn)for(var Wn in Dn){var Xn=Dn[Wn];Xn&&wn.setRequestHeader(Wn,Xn)}}var lr=function(){en--;var ar=isNaN(Zt.get().streaming.retryIntervals[k.w.LICENSE])?1e3:Zt.get().streaming.retryIntervals[k.w.LICENSE];Bt=setTimeout(function(){zr(Ct,en,fn,Ln,Tn,Bn)},ar)};wn.onload=function(){Xt=null,this.status>=200&&this.status<=299||en<=0?Ln(this):(Tt.warn("License request failed ("+this.status+"). Retrying it... Pending retries: "+en),lr())},wn.ontimeout=wn.onerror=function(){Xt=null,en<=0?Bn(this):(Tt.warn("License request network request failed . Retrying it... Pending retries: "+en),lr())},wn.onabort=function(){Tn(this)},Vt.trigger(rn.LICENSE_REQUEST_SENDING,{url:Ct.url,headers:Ct.headers,payload:Ct.data,sessionId:Ct.sessionId}),Xt=wn,wn.send(Ct.data)}function Dr(){Xt&&(Xt.onloadend=Xt.onerror=Xt.onprogress=void 0,Xt.abort(),Xt=null),Bt&&(clearTimeout(Bt),Bt=null)}function Wr(Ct,en){if(en)for(var fn in en)Ct[fn]=en[fn]}function Xr(Ct,en,fn,Ln,Tn){var Bn="NONE",wn=null;Ct.response&&(Bn=Tn.getErrorResponse(Ct.response,fn,Ln),wn={serverResponse:Ct.response||null,responseCode:Ct.status||null,responseText:Ct.statusText||null}),zn(en,new c.Z(n.MEDIA_KEY_MESSAGE_LICENSER_ERROR_CODE,n.MEDIA_KEY_MESSAGE_LICENSER_ERROR_MESSAGE+fn+' update, XHR complete. status is "'+Ct.statusText+'" ('+Ct.status+"), readyState is "+Ct.readyState+".  Response is "+Bn,wn))}function Qr(Ct,en){return Ct?Ct.reduce(function(fn,Ln){return fn.then(function(){return Ln(en)})},Promise.resolve()):Promise.resolve()}function Or(Ct,en){if(!Zt.get().streaming.protection.ignoreEmeEncryptedEvent){if(Tt.debug("DRM: onNeedKey"),Ct.key.initDataType!=="cenc")return void Tt.warn("DRM:  Only 'cenc' initData is supported!  Ignoring initData of type: "+Ct.key.initDataType);if(ct.length===0&&(Tt.warn("DRM: onNeedKey called before initializeForMedia, wait until initialized"),(en=en===void 0?1:en+1)<5))return void pt.push(setTimeout(function(){Or(Ct,en)},500));var fn=Ct.key.initData;if(ArrayBuffer.isView(fn)&&(fn=fn.buffer),Lt){var Ln=t.getPSSHForKeySystem(Lt,fn);if(Ln&&Pn(Ln))return}Tt.debug("DRM: initData:",String.fromCharCode.apply(null,new Uint8Array(fn)));var Tn=yt.getSupportedKeySystemsFromSegmentPssh(fn,je,ot);if(Tn.length===0)return void Tt.debug("DRM: Received needkey event with initData, but we don't support any of the key systems!");(function(Bn){Ze.push(Bn),pn(Bn,!1)})(Tn)}}return Et={initializeForMedia:function(Ct){if(!Ct)throw new Error("mediaInfo can not be null or undefined");sn(),ct.push(Ct)},clearMediaInfoArray:function(){ct=[]},handleKeySystemFromManifest:function(){if(ct&&ct.length!==0){var Ct=[];ct.forEach(function(en){var fn=yt.getSupportedKeySystemsFromContentProtection(en.contentProtection,je,ot);fn.length>0&&(Ct.length===0&&(Ct=fn),Ze.push(fn))}),Ct&&Ct.length>0&&pn(Ct,!0)}},createKeySession:Cn,loadKeySession:jn,removeKeySession:function(Ct){sn(),zt.removeKeySession(Ct)},closeKeySession:function(Ct){sn(),zt.closeKeySession(Ct)},setServerCertificate:function(Ct){sn(),zt.setServerCertificate(Ct)},setMediaElement:Hn,setSessionType:function(Ct){ot=Ct},setRobustnessLevel:function(Ct){Ot=Ct},setProtectionData:function(Ct){je=Ct,yt.setProtectionData(Ct)},getSupportedKeySystemsFromContentProtection:function(Ct){return sn(),yt.getSupportedKeySystemsFromContentProtection(Ct,je,ot)},getKeySystems:function(){return yt?yt.getKeySystems():[]},setKeySystems:function(Ct){yt&&yt.setKeySystems(Ct)},stop:function(){Dr(),zt&&zt.stop()},reset:function(){Vt.off(rn.INTERNAL_KEY_MESSAGE,ur,Et),Vt.off(rn.INTERNAL_KEY_STATUS_CHANGED,ir,Et),sn(),Dr(),Hn(null),Lt=null,Wt=!1,zt&&(zt.reset(),zt=null),pt.forEach(function(Ct){return clearTimeout(Ct)}),pt=[],ct=[],Ze=[]}},Tt=gn.getLogger(Et),Ze=[],ct=[],ot="temporary",Ot="",Xt=null,Bt=null,Vt.on(rn.INTERNAL_KEY_MESSAGE,ur,Et),Vt.on(rn.INTERNAL_KEY_STATUS_CHANGED,ir,Et),Et}K.__dashjs_factory_name="ProtectionController";var re=$.Z.getClassFactory(K),H=function bt(Et,Tt){(function(Ze,ct){if(!(Ze instanceof ct))throw new TypeError("Cannot call a class as a function")})(this,bt),this.keyID=Et,this.key=Tt};function ee(bt,Et){for(var Tt=0;Tt<Et.length;Tt++){var Ze=Et[Tt];Ze.enumerable=Ze.enumerable||!1,Ze.configurable=!0,"value"in Ze&&(Ze.writable=!0),Object.defineProperty(bt,Ze.key,Ze)}}var se=function(){function bt(Ze,ct){if(function(je,ot){if(!(je instanceof ot))throw new TypeError("Cannot call a class as a function")}(this,bt),ct&&ct!=="persistent"&&ct!=="temporary")throw new Error("Invalid ClearKey key set type!  Must be one of 'persistent' or 'temporary'");this.keyPairs=Ze,this.type=ct}var Et,Tt;return Et=bt,(Tt=[{key:"toJWK",value:function(){var Ze,ct=this.keyPairs.length,je={keys:[]};for(Ze=0;Ze<ct;Ze++){var ot={kty:"oct",alg:"A128KW",kid:this.keyPairs[Ze].keyID,k:this.keyPairs[Ze].key};je.keys.push(ot)}this.type&&(je.type=this.type);var Ot=JSON.stringify(je),Lt=Ot.length,Wt=new ArrayBuffer(Lt),Xt=new Uint8Array(Wt);for(Ze=0;Ze<Lt;Ze++)Xt[Ze]=Ot.charCodeAt(Ze);return Wt}}])&&ee(Et.prototype,Tt),bt}();function _e(bt,Et){for(var Tt=0;Tt<Et.length;Tt++){var Ze=Et[Tt];Ze.enumerable=Ze.enumerable||!1,Ze.configurable=!0,"value"in Ze&&(Ze.writable=!0),Object.defineProperty(bt,Ze.key,Ze)}}var X=new(function(){function bt(){(function(Ze,ct){if(!(Ze instanceof ct))throw new TypeError("Cannot call a class as a function")})(this,bt),this.init()}var Et,Tt;return Et=bt,(Tt=[{key:"init",value:function(){this.CLEARKEY_KEYSTEM_STRING="org.w3.clearkey",this.WIDEVINE_KEYSTEM_STRING="com.widevine.alpha",this.PLAYREADY_KEYSTEM_STRING="com.microsoft.playready",this.PLAYREADY_RECOMMENDATION_KEYSTEM_STRING="com.microsoft.playready.recommendation",this.INITIALIZATION_DATA_TYPE_CENC="cenc",this.INITIALIZATION_DATA_TYPE_KEYIDS="keyids",this.INITIALIZATION_DATA_TYPE_WEBM="webm"}}])&&_e(Et.prototype,Tt),bt}()),Ae="e2719d58-a985-b3c9-781a-b030af78d30e",Le=X.CLEARKEY_KEYSTEM_STRING,Ye="urn:uuid:"+Ae;function ye(bt){var Et=(bt=bt||{}).BASE64;return{uuid:Ae,schemeIdURI:Ye,systemString:Le,getInitData:function(Tt,Ze){try{var ct=t.parseInitDataFromContentProtection(Tt,Et);if(!ct&&Ze){var je={kids:[function(ot){try{var Ot=ot.replace(/-/g,"");return(Ot=btoa(Ot.match(/\w{2}/g).map(function(Lt){return String.fromCharCode(parseInt(Lt,16))}).join(""))).replace(/=/g,"").replace(/\//g,"_").replace(/\+/g,"-")}catch{return null}}(Ze["cenc:default_KID"])]};ct=new TextEncoder().encode(JSON.stringify(je))}return ct}catch{return null}},getRequestHeadersFromMessage:function(){return{"Content-Type":"application/json"}},getLicenseRequestFromMessage:function(Tt){return JSON.stringify(JSON.parse(String.fromCharCode.apply(null,new Uint8Array(Tt))))},getLicenseServerURLFromInitData:function(){return null},getCDMData:function(){return null},getClearKeysFromProtectionData:function(Tt,Ze){var ct=null;if(Tt){for(var je=JSON.parse(String.fromCharCode.apply(null,new Uint8Array(Ze))),ot=[],Ot=0;Ot<je.kids.length;Ot++){var Lt=je.kids[Ot],Wt=Tt.clearkeys&&Tt.clearkeys.hasOwnProperty(Lt)?Tt.clearkeys[Lt]:null;if(!Wt)throw new Error("DRM: ClearKey keyID ("+Lt+") is not known!");ot.push(new H(Lt,Wt))}ct=new se(ot)}return ct}}}ye.__dashjs_factory_name="KeySystemClearKey";var Pe=dashjs.FactoryMaker.getSingletonFactory(ye),He="1077efec-c0b2-4d02-ace3-3c1e52e2fb4b",tt=X.CLEARKEY_KEYSTEM_STRING,ve="urn:uuid:"+He;function Oe(bt){var Et,Tt=bt.BASE64,Ze=bt.debug.getLogger(Et);return{uuid:He,schemeIdURI:ve,systemString:tt,getInitData:function(ct){return t.parseInitDataFromContentProtection(ct,Tt)},getRequestHeadersFromMessage:function(){return null},getLicenseRequestFromMessage:function(ct){return new Uint8Array(ct)},getLicenseServerURLFromInitData:function(){return null},getCDMData:function(){return null},getClearKeysFromProtectionData:function(ct,je){var ot=null;if(ct){for(var Ot=JSON.parse(String.fromCharCode.apply(null,new Uint8Array(je))),Lt=[],Wt=0;Wt<Ot.kids.length;Wt++){var Xt=Ot.kids[Wt],Bt=ct.clearkeys&&ct.clearkeys.hasOwnProperty(Xt)?ct.clearkeys[Xt]:null;if(!Bt)throw new Error("DRM: ClearKey keyID ("+Xt+") is not known!");Lt.push(new H(Xt,Bt))}ot=new se(Lt),Ze.warn("ClearKey schemeIdURI is using W3C Common PSSH systemID (1077efec-c0b2-4d02-ace3-3c1e52e2fb4b) in Content Protection. See DASH-IF IOP v4.1 section 7.6.2.4")}return ot}}}Oe.__dashjs_factory_name="KeySystemW3CClearKey";var _t=dashjs.FactoryMaker.getSingletonFactory(Oe),dt="edef8ba9-79d6-4ace-a3c8-27dcd51d21ed",ke=X.WIDEVINE_KEYSTEM_STRING,Je="urn:uuid:"+dt;function ge(bt){var Et=(bt=bt||{}).BASE64;return{uuid:dt,schemeIdURI:Je,systemString:ke,getInitData:function(Tt){return t.parseInitDataFromContentProtection(Tt,Et)},getRequestHeadersFromMessage:function(){return null},getLicenseRequestFromMessage:function(Tt){return new Uint8Array(Tt)},getLicenseServerURLFromInitData:function(){return null},getCDMData:function(){return null}}}ge.__dashjs_factory_name="KeySystemWidevine";var me=dashjs.FactoryMaker.getSingletonFactory(ge),Ue="9a04f079-9840-4286-ab92-e65be0885f95",f=X.PLAYREADY_KEYSTEM_STRING,o="urn:uuid:"+Ue;function v(bt){var Et="utf-16",Tt=(bt=bt||{}).BASE64,Ze=bt.settings;function ct(){if(!Tt||!Tt.hasOwnProperty("decodeArray")||!Tt.hasOwnProperty("decodeArray"))throw new Error("Missing config parameter(s)")}return{uuid:Ue,schemeIdURI:o,systemString:f,getInitData:function(je){var ot,Ot,Lt,Wt,Xt,Bt=new Uint8Array([112,115,115,104,0,0,0,0]),yt=new Uint8Array([154,4,240,121,152,64,66,134,171,146,230,91,224,136,95,149]),zt=0,Vt=null;if(ct(),!je)return null;if("pssh"in je)return t.parseInitDataFromContentProtection(je,Tt);if("pro"in je)Vt=Tt.decodeArray(je.pro.__text);else{if(!("prheader"in je))return null;Vt=Tt.decodeArray(je.prheader.__text)}return ot=Vt.length,Ot=4+Bt.length+yt.length+4+ot,Lt=new ArrayBuffer(Ot),Wt=new Uint8Array(Lt),(Xt=new DataView(Lt)).setUint32(zt,Ot),zt+=4,Wt.set(Bt,zt),zt+=Bt.length,Wt.set(yt,zt),zt+=yt.length,Xt.setUint32(zt,ot),zt+=4,Wt.set(Vt,zt),zt+=ot,Wt.buffer},getRequestHeadersFromMessage:function(je){var ot,Ot,Lt={},Wt=new DOMParser;if(Ze&&Ze.get().streaming.protection.detectPlayreadyMessageFormat&&Et==="utf-16"&&je&&je.byteLength%2==1)return Lt["Content-Type"]="text/xml; charset=utf-8",Lt;var Xt=Et==="utf-16"?new Uint16Array(je):new Uint8Array(je);ot=String.fromCharCode.apply(null,Xt);for(var Bt=(Ot=Wt.parseFromString(ot,"application/xml")).getElementsByTagName("name"),yt=Ot.getElementsByTagName("value"),zt=0;zt<Bt.length;zt++)Lt[Bt[zt].childNodes[0].nodeValue]=yt[zt].childNodes[0].nodeValue;return Lt.hasOwnProperty("Content")&&(Lt["Content-Type"]=Lt.Content,delete Lt.Content),Lt.hasOwnProperty("Content-Type")||(Lt["Content-Type"]="text/xml; charset=utf-8"),Lt},getLicenseRequestFromMessage:function(je){var ot=null,Ot=new DOMParser;if(Ze&&Ze.get().streaming.protection.detectPlayreadyMessageFormat&&Et==="utf-16"&&je&&je.byteLength%2==1)return je;var Lt=Et==="utf-16"?new Uint16Array(je):new Uint8Array(je);ct();var Wt=String.fromCharCode.apply(null,Lt),Xt=Ot.parseFromString(Wt,"application/xml");if(!Xt.getElementsByTagName("PlayReadyKeyMessage")[0])return je;var Bt=Xt.getElementsByTagName("Challenge")[0].childNodes[0].nodeValue;return Bt&&(ot=Tt.decode(Bt)),ot},getLicenseServerURLFromInitData:function(je){if(je)for(var ot=new DataView(je),Ot=ot.getUint16(4,!0),Lt=6,Wt=new DOMParser,Xt=0;Xt<Ot;Xt++){var Bt=ot.getUint16(Lt,!0);Lt+=2;var yt=ot.getUint16(Lt,!0);if(Lt+=2,Bt===1){var zt=je.slice(Lt,Lt+yt),Vt=String.fromCharCode.apply(null,new Uint16Array(zt)),rn=Wt.parseFromString(Vt,"application/xml");if(rn.getElementsByTagName("LA_URL")[0]){var gn=rn.getElementsByTagName("LA_URL")[0].childNodes[0].nodeValue;if(gn)return gn}if(rn.getElementsByTagName("LUI_URL")[0]){var vn=rn.getElementsByTagName("LUI_URL")[0].childNodes[0].nodeValue;if(vn)return vn}}else Lt+=yt}return null},getCDMData:function(je){var ot,Ot,Lt,Wt;if(ct(),!je)return null;for(ot=[],Wt=0;Wt<je.length;++Wt)ot.push(je.charCodeAt(Wt)),ot.push(0);for(ot=String.fromCharCode.apply(null,ot),ot=Tt.encode(ot),Ot='<PlayReadyCDMData type="LicenseAcquisition"><LicenseAcquisition version="1.0" Proactive="false"><CustomData encoding="base64encoded">%CUSTOMDATA%</CustomData></LicenseAcquisition></PlayReadyCDMData>'.replace("%CUSTOMDATA%",ot),Lt=[],Wt=0;Wt<Ot.length;++Wt)Lt.push(Ot.charCodeAt(Wt)),Lt.push(0);return new Uint8Array(Lt).buffer},setPlayReadyMessageFormat:function(je){if(je!=="utf-8"&&je!=="utf-16")throw new Error('Specified message format is not one of "utf-8" or "utf-16"');Et=je}}}v.__dashjs_factory_name="KeySystemPlayReady";var S=dashjs.FactoryMaker.getSingletonFactory(v);function W(bt){var Et=(bt=bt||{}).BASE64,Tt={};return Tt[X.WIDEVINE_KEYSTEM_STRING]={responseType:"json",getLicenseMessage:function(Ze){return Et.decodeArray(Ze.license)},getErrorResponse:function(Ze){return Ze}},Tt[X.PLAYREADY_KEYSTEM_STRING]={responseType:"arraybuffer",getLicenseMessage:function(Ze){return Ze},getErrorResponse:function(Ze){return String.fromCharCode.apply(null,new Uint8Array(Ze))}},{getServerURLFromMessage:function(Ze){return Ze},getHTTPMethod:function(){return"POST"},getResponseType:function(Ze){return Tt[Ze].responseType},getLicenseMessage:function(Ze,ct){return function(){if(!Et||!Et.hasOwnProperty("decodeArray"))throw new Error("Missing config parameter(s)")}(),Tt[ct].getLicenseMessage(Ze)},getErrorResponse:function(Ze,ct){return Tt[ct].getErrorResponse(Ze)}}}W.__dashjs_factory_name="DRMToday";var V=dashjs.FactoryMaker.getSingletonFactory(W);function Se(){var bt="http://schemas.xmlsoap.org/soap/envelope/";function Et(ct){var je=String.fromCharCode.apply(null,new Uint8Array(ct));return decodeURIComponent(escape(je))}function Tt(ct){if(window.DOMParser){var je=Et(ct),ot=new window.DOMParser().parseFromString(je,"text/xml"),Ot=ot?ot.getElementsByTagNameNS(bt,"Envelope")[0]:null,Lt=Ot?Ot.getElementsByTagNameNS(bt,"Body")[0]:null;if(Lt&&Lt.getElementsByTagNameNS(bt,"Fault")[0])return null}return ct}function Ze(ct){var je="",ot="",Ot="",Lt=-1,Wt=-1;if(window.DOMParser){var Xt=Et(ct),Bt=new window.DOMParser().parseFromString(Xt,"text/xml"),yt=Bt?Bt.getElementsByTagNameNS(bt,"Envelope")[0]:null,zt=yt?yt.getElementsByTagNameNS(bt,"Body")[0]:null,Vt=zt?zt.getElementsByTagNameNS(bt,"Fault")[0]:null,rn=Vt?Vt.getElementsByTagName("detail")[0]:null,gn=rn?rn.getElementsByTagName("Exception")[0]:null,vn=null;if(Vt===null)return Xt;je=(vn=Vt.getElementsByTagName("faultstring")[0].firstChild)?vn.nodeValue:null,gn!==null&&(ot=(vn=gn.getElementsByTagName("StatusCode")[0])?vn.firstChild.nodeValue:null,Lt=(Ot=(vn=gn.getElementsByTagName("Message")[0])?vn.firstChild.nodeValue:null)?Ot.lastIndexOf("[")+1:-1,Wt=Ot?Ot.indexOf("]"):-1,Ot=Ot?Ot.substring(Lt,Wt):"")}var $t="code: ".concat(ot,", name: ").concat(je);return Ot&&($t+=", message: ".concat(Ot)),$t}return{getServerURLFromMessage:function(ct){return ct},getHTTPMethod:function(){return"POST"},getResponseType:function(){return"arraybuffer"},getLicenseMessage:function(ct){return Tt.call(this,ct)},getErrorResponse:function(ct){return Ze.call(this,ct)}}}Se.__dashjs_factory_name="PlayReady";var ze=$.Z.getSingletonFactory(Se);function Me(){return{getServerURLFromMessage:function(bt){return bt},getHTTPMethod:function(){return"POST"},getResponseType:function(){return"arraybuffer"},getLicenseMessage:function(bt){return bt},getErrorResponse:function(bt){return String.fromCharCode.apply(null,new Uint8Array(bt))}}}Me.__dashjs_factory_name="Widevine";var De=dashjs.FactoryMaker.getSingletonFactory(Me);function be(){return{getServerURLFromMessage:function(bt){return bt},getHTTPMethod:function(){return"POST"},getResponseType:function(){return"json"},getLicenseMessage:function(bt){if(!bt.hasOwnProperty("keys"))return null;for(var Et=[],Tt=0;Tt<bt.keys.length;Tt++){var Ze=bt.keys[Tt],ct=Ze.kid.replace(/=/g,""),je=Ze.k.replace(/=/g,"");Et.push(new H(ct,je))}return new se(Et)},getErrorResponse:function(bt){return String.fromCharCode.apply(null,new Uint8Array(bt))}}}be.__dashjs_factory_name="ClearKey";var xe=dashjs.FactoryMaker.getSingletonFactory(be);function Qe(){var bt,Et,Tt,Ze,ct,je,ot,Ot,Lt=this.context;function Wt(yt,zt){return zt&&yt in zt?zt[yt]:null}function Xt(yt,zt){return yt&&yt.sessionId?yt.sessionId:zt&&zt.sessionId?zt.sessionId:null}function Bt(yt,zt){return yt&&yt.sessionType?yt.sessionType:zt}return bt={initialize:function(){var yt;Ze=[],yt=S(Lt).getInstance({BASE64:ct,settings:je}),Ze.push(yt),yt=me(Lt).getInstance({BASE64:ct}),Ze.push(yt),yt=Pe(Lt).getInstance({BASE64:ct}),Ze.push(yt),ot=yt,yt=_t(Lt).getInstance({BASE64:ct,debug:Et}),Ze.push(yt),Ot=yt},setProtectionData:function(yt){for(var zt,Vt,rn=0;rn<Ze.length;rn++){var gn=Ze[rn];gn.hasOwnProperty("init")&&gn.init((zt=gn.systemString,Vt=void 0,Vt=null,yt&&(Vt=zt in yt?yt[zt]:null),Vt))}},isClearKey:function(yt){return yt===ot||yt===Ot},initDataEquals:function(yt,zt){if(yt.byteLength===zt.byteLength){for(var Vt=new Uint8Array(yt),rn=new Uint8Array(zt),gn=0;gn<Vt.length;gn++)if(Vt[gn]!==rn[gn])return!1;return!0}return!1},getKeySystems:function(){return Ze},setKeySystems:function(yt){Ze=yt},getKeySystemBySystemString:function(yt){for(var zt=0;zt<Ze.length;zt++)if(Ze[zt].systemString===yt)return Ze[zt];return null},getSupportedKeySystemsFromContentProtection:function(yt,zt,Vt){var rn,gn,vn,$t,pt=[];if(yt){var At=t.findCencContentProtection(yt);for(vn=0;vn<Ze.length;++vn){var Zt=Wt((gn=Ze[vn]).systemString,zt);for($t=0;$t<yt.length;++$t)if((rn=yt[$t]).schemeIdUri.toLowerCase()===gn.schemeIdURI){var nn=gn.getInitData(rn,At);pt.push({ks:Ze[vn],keyId:rn.keyId,initData:nn,protData:Zt,cdmData:gn.getCDMData(Zt?Zt.cdmData:null),sessionId:Xt(Zt,rn),sessionType:Bt(Zt,Vt)})}}}return pt},getSupportedKeySystemsFromSegmentPssh:function(yt,zt,Vt){for(var rn,gn=[],vn=t.parsePSSHList(yt),$t=0;$t<Ze.length;++$t){var pt=Wt((rn=Ze[$t]).systemString,zt);rn.uuid in vn&&gn.push({ks:rn,initData:vn[rn.uuid],protData:pt,cdmData:rn.getCDMData(pt?pt.cdmData:null),sessionId:Xt(pt),sessionType:Bt(pt,Vt)})}return gn},getLicenseServerModelInstance:function(yt,zt,Vt){if(Vt==="license-release"||Vt==="individualization-request")return null;var rn=null;return zt&&zt.hasOwnProperty("drmtoday")?rn=V(Lt).getInstance({BASE64:ct}):yt.systemString===X.WIDEVINE_KEYSTEM_STRING?rn=De(Lt).getInstance():yt.systemString===X.PLAYREADY_KEYSTEM_STRING?rn=ze(Lt).getInstance():yt.systemString===X.CLEARKEY_KEYSTEM_STRING&&(rn=xe(Lt).getInstance()),rn},processClearKeyLicenseRequest:function(yt,zt,Vt){try{return yt.getClearKeysFromProtectionData(zt,Vt)}catch{return Tt.error("Failed to retrieve clearkeys from ProtectionData"),null}},setConfig:function(yt){yt&&(yt.debug&&(Et=yt.debug,Tt=Et.getLogger(bt)),yt.BASE64&&(ct=yt.BASE64),yt.settings&&(je=yt.settings))}},bt}Qe.__dashjs_factory_name="ProtectionKeyController";var mt=dashjs.FactoryMaker.getSingletonFactory(Qe);function it(bt){return it=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(Et){return typeof Et}:function(Et){return Et&&typeof Symbol=="function"&&Et.constructor===Symbol&&Et!==Symbol.prototype?"symbol":typeof Et},it(bt)}function Ut(bt,Et){return Ut=Object.setPrototypeOf||function(Tt,Ze){return Tt.__proto__=Ze,Tt},Ut(bt,Et)}function It(bt,Et){return!Et||it(Et)!=="object"&&typeof Et!="function"?function(Tt){if(Tt===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return Tt}(bt):Et}function Ft(bt){return Ft=Object.setPrototypeOf?Object.getPrototypeOf:function(Et){return Et.__proto__||Object.getPrototypeOf(Et)},Ft(bt)}var Pt=new(function(bt){(function(je,ot){if(typeof ot!="function"&&ot!==null)throw new TypeError("Super expression must either be null or a function");je.prototype=Object.create(ot&&ot.prototype,{constructor:{value:je,writable:!0,configurable:!0}}),ot&&Ut(je,ot)})(ct,bt);var Et,Tt,Ze=(Et=ct,Tt=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var je,ot=Ft(Et);if(Tt){var Ot=Ft(this).constructor;je=Reflect.construct(ot,arguments,Ot)}else je=ot.apply(this,arguments);return It(this,je)});function ct(){var je;return function(ot,Ot){if(!(ot instanceof Ot))throw new TypeError("Cannot call a class as a function")}(this,ct),(je=Ze.call(this)).INTERNAL_KEY_MESSAGE="internalKeyMessage",je.INTERNAL_KEY_STATUS_CHANGED="internalkeyStatusChanged",je.KEY_ADDED="public_keyAdded",je.KEY_ERROR="public_keyError",je.KEY_MESSAGE="public_keyMessage",je.KEY_SESSION_CLOSED="public_keySessionClosed",je.KEY_SESSION_CREATED="public_keySessionCreated",je.KEY_SESSION_REMOVED="public_keySessionRemoved",je.KEY_STATUSES_CHANGED="public_keyStatusesChanged",je.KEY_SYSTEM_ACCESS_COMPLETE="public_keySystemAccessComplete",je.KEY_SYSTEM_SELECTED="public_keySystemSelected",je.LICENSE_REQUEST_COMPLETE="public_licenseRequestComplete",je.LICENSE_REQUEST_SENDING="public_licenseRequestSending",je.NEED_KEY="needkey",je.PROTECTION_CREATED="public_protectioncreated",je.PROTECTION_DESTROYED="public_protectiondestroyed",je.SERVER_CERTIFICATE_UPDATED="serverCertificateUpdated",je.TEARDOWN_COMPLETE="protectionTeardownComplete",je.VIDEO_ELEMENT_SELECTED="videoElementSelected",je.KEY_SESSION_UPDATED="public_keySessionUpdated",je}return ct}(P(8342).Z)),tn=function bt(Et,Tt){(function(Ze,ct){if(!(Ze instanceof ct))throw new TypeError("Cannot call a class as a function")})(this,bt),this.initData=Et,this.initDataType=Tt},dn=function bt(Et,Tt,Ze,ct){(function(je,ot){if(!(je instanceof ot))throw new TypeError("Cannot call a class as a function")})(this,bt),this.sessionToken=Et,this.message=Tt,this.defaultURL=Ze,this.messageType=ct||"license-request"},An=function bt(Et,Tt){(function(Ze,ct){if(!(Ze instanceof ct))throw new TypeError("Cannot call a class as a function")})(this,bt),this.keySystem=Et,this.ksConfiguration=Tt},_n={};function Rn(bt){bt=bt||{};var Et,Tt,Ze,ct,je,ot,Ot,Lt,Wt=this.context,Xt=bt.eventBus,Bt=bt.events,yt=bt.debug;function zt(pt,At,Zt,nn){if(navigator.requestMediaKeySystemAccess===void 0||typeof navigator.requestMediaKeySystemAccess!="function"){var sn="Insecure origins are not allowed";return Xt.trigger(Bt.KEY_SYSTEM_ACCESS_COMPLETE,{error:sn}),void nn({error:sn})}var pn=pt[At].protData&&pt[At].protData.systemStringPriority?pt[At].protData.systemStringPriority:null,En=pt[At].configs,Yn=pt[At].ks,jn=Yn.systemString;(function(Cn,Un){return new Promise(function(Pn,Hn){Vt(Cn,Un,0,Pn,Hn)})})(pn||(_n[jn]?_n[jn]:[jn]),En).then(function(Cn){var Un=typeof Cn.getConfiguration=="function"?Cn.getConfiguration():null,Pn=new An(Yn,Un);Pn.mksa=Cn,Xt.trigger(Bt.KEY_SYSTEM_ACCESS_COMPLETE,{data:Pn}),Zt({data:Pn})}).catch(function(Cn){if(At+1<pt.length)zt(pt,At+1,Zt,nn);else{var Un="Key system access denied! ";Xt.trigger(Bt.KEY_SYSTEM_ACCESS_COMPLETE,{error:Un+Cn.message}),nn({error:Un+Cn.message})}})}function Vt(pt,At,Zt,nn,sn){var pn=pt[Zt];Tt.debug("Requesting key system access for system string ".concat(pn)),navigator.requestMediaKeySystemAccess(pn,At).then(function(En){En.selectedSystemString=pn,nn(En)}).catch(function(En){Zt+1<pt.length?Vt(pt,At,Zt+1,nn,sn):sn(En)})}function rn(pt){if(!pt||!pt.session)return Promise.resolve;var At=pt.session;return At.removeEventListener("keystatuseschange",pt),At.removeEventListener("message",pt),At.close()}function gn(pt){for(var At=0;At<ot.length;At++)if(ot[At]===pt){ot.splice(At,1);break}}function vn(pt){var At,Zt;return pt&&pt.length>0&&(pt[0]&&(typeof pt[0]=="string"?At=pt[0]:Zt=pt[0]),pt[1]&&(typeof pt[1]=="string"?At=pt[1]:Zt=pt[1])),{status:At,keyId:Zt}}function $t(pt,At){var Zt={session:pt,keyId:At.keyId,initData:At.initData,sessionId:At.sessionId,sessionType:At.sessionType,handleEvent:function(nn){switch(nn.type){case"keystatuseschange":Xt.trigger(Bt.KEY_STATUSES_CHANGED,{data:this}),nn.target.keyStatuses.forEach(function(){var pn=vn(arguments);pn.status==="expired"?Xt.trigger(Bt.INTERNAL_KEY_STATUS_CHANGED,{error:new c.Z(n.KEY_STATUS_CHANGED_EXPIRED_ERROR_CODE,n.KEY_STATUS_CHANGED_EXPIRED_ERROR_MESSAGE)}):Xt.trigger(Bt.INTERNAL_KEY_STATUS_CHANGED,pn)});break;case"message":var sn=ArrayBuffer.isView(nn.message)?nn.message.buffer:nn.message;Xt.trigger(Bt.INTERNAL_KEY_MESSAGE,{data:new dn(this,sn,void 0,nn.messageType)})}},getKeyId:function(){return this.keyId},getSessionId:function(){return pt.sessionId},getSessionType:function(){return this.sessionType},getExpirationTime:function(){return pt.expiration},getKeyStatuses:function(){return pt.keyStatuses},getUsable:function(){var nn=!1;return pt.keyStatuses.forEach(function(){var sn=vn(arguments);sn.status==="usable"&&(nn=!0)}),nn}};return pt.addEventListener("keystatuseschange",Zt),pt.addEventListener("message",Zt),pt.closed.then(function(){gn(Zt),Tt.debug("DRM: Session closed.  SessionID = "+Zt.getSessionId()),Xt.trigger(Bt.KEY_SESSION_CLOSED,{data:Zt.getSessionId()})}),ot.push(Zt),Zt}return Et={getAllInitData:function(){for(var pt=[],At=0;At<ot.length;At++)ot[At].initData&&pt.push(ot[At].initData);return pt},getSessions:function(){return ot},requestKeySystemAccess:function(pt){return new Promise(function(At,Zt){zt(pt,0,At,Zt)})},selectKeySystem:function(pt){return new Promise(function(At,Zt){pt.mksa.createMediaKeys().then(function(nn){return Ze=pt.keySystem,je=nn,ct?ct.setMediaKeys(je):Promise.resolve()}).then(function(){At(Ze)}).catch(function(){Zt({error:"Error selecting keys system ("+pt.keySystem.systemString+")! Could not create MediaKeys -- TODO"})})})},setMediaElement:function(pt){ct!==pt&&(ct&&(ct.removeEventListener("encrypted",Ot),ct.setMediaKeys&&ct.setMediaKeys(null)),(ct=pt)&&(ct.addEventListener("encrypted",Ot),ct.setMediaKeys&&je&&ct.setMediaKeys(je)))},setServerCertificate:function(pt){if(!Ze||!je)throw new Error("Can not set server certificate until you have selected a key system");je.setServerCertificate(pt).then(function(){Tt.info("DRM: License server certificate successfully updated."),Xt.trigger(Bt.SERVER_CERTIFICATE_UPDATED)}).catch(function(At){Xt.trigger(Bt.SERVER_CERTIFICATE_UPDATED,{error:new c.Z(n.SERVER_CERTIFICATE_UPDATED_ERROR_CODE,n.SERVER_CERTIFICATE_UPDATED_ERROR_MESSAGE+At.name)})})},createKeySession:function(pt){if(!Ze||!je)throw new Error("Can not create sessions until you have selected a key system");var At=je.createSession(pt.sessionType),Zt=$t(At,pt),nn=Ze.systemString===X.CLEARKEY_KEYSTEM_STRING&&(pt.initData||pt.protData&&pt.protData.clearkeys)?X.INITIALIZATION_DATA_TYPE_KEYIDS:X.INITIALIZATION_DATA_TYPE_CENC;At.generateRequest(nn,pt.initData).then(function(){Tt.debug("DRM: Session created.  SessionID = "+Zt.getSessionId()),Xt.trigger(Bt.KEY_SESSION_CREATED,{data:Zt})}).catch(function(sn){gn(Zt),Xt.trigger(Bt.KEY_SESSION_CREATED,{data:null,error:new c.Z(n.KEY_SESSION_CREATED_ERROR_CODE,n.KEY_SESSION_CREATED_ERROR_MESSAGE+"Error generating key request -- "+sn.name)})})},updateKeySession:function(pt,At){var Zt=pt.session;Lt.isClearKey(Ze)&&(At=At.toJWK()),Zt.update(At).then(function(){Xt.trigger(Bt.KEY_SESSION_UPDATED)}).catch(function(nn){Xt.trigger(Bt.KEY_ERROR,{error:new c.Z(n.MEDIA_KEYERR_CODE,"Error sending update() message! "+nn.name,pt)})})},loadKeySession:function(pt){if(!Ze||!je)throw new Error("Can not load sessions until you have selected a key system");for(var At=pt.sessionId,Zt=0;Zt<ot.length;Zt++)if(At===ot[Zt].sessionId)return void Tt.warn("DRM: Ignoring session ID because we have already seen it!");var nn=je.createSession(pt.sessionType),sn=$t(nn,pt);nn.load(At).then(function(pn){pn?(Tt.debug("DRM: Session loaded.  SessionID = "+sn.getSessionId()),Xt.trigger(Bt.KEY_SESSION_CREATED,{data:sn})):(gn(sn),Xt.trigger(Bt.KEY_SESSION_CREATED,{data:null,error:new c.Z(n.KEY_SESSION_CREATED_ERROR_CODE,n.KEY_SESSION_CREATED_ERROR_MESSAGE+"Could not load session! Invalid Session ID ("+At+")")}))}).catch(function(pn){gn(sn),Xt.trigger(Bt.KEY_SESSION_CREATED,{data:null,error:new c.Z(n.KEY_SESSION_CREATED_ERROR_CODE,n.KEY_SESSION_CREATED_ERROR_MESSAGE+"Could not load session ("+At+")! "+pn.name)})})},removeKeySession:function(pt){pt.session.remove().then(function(){Tt.debug("DRM: Session removed.  SessionID = "+pt.getSessionId()),Xt.trigger(Bt.KEY_SESSION_REMOVED,{data:pt.getSessionId()})},function(At){Xt.trigger(Bt.KEY_SESSION_REMOVED,{data:null,error:"Error removing session ("+pt.getSessionId()+"). "+At.name})})},closeKeySession:function(pt){rn(pt).catch(function(At){gn(pt),Xt.trigger(Bt.KEY_SESSION_CLOSED,{data:null,error:"Error closing session ("+pt.getSessionId()+") "+At.name})})},stop:function(){for(var pt,At=0;At<ot.length;At++)(pt=ot[At]).getUsable()||(rn(pt),gn(pt))},reset:function(){var pt,At=ot.length;At!==0?function(){for(var Zt=function(sn){gn(sn),ot.length===0&&(ct?(ct.removeEventListener("encrypted",Ot),ct.setMediaKeys(null).then(function(){Xt.trigger(Bt.TEARDOWN_COMPLETE)})):Xt.trigger(Bt.TEARDOWN_COMPLETE))},nn=0;nn<At;nn++)(function(sn){rn(pt),Zt(sn)})(pt=ot[nn])}():Xt.trigger(Bt.TEARDOWN_COMPLETE)}},Tt=yt.getLogger(Et),Ze=null,ct=null,je=null,ot=[],Lt=mt(Wt).getInstance(),Ot={handleEvent:function(pt){if(pt.type==="encrypted"&&pt.initData){var At=ArrayBuffer.isView(pt.initData)?pt.initData.buffer:pt.initData;Xt.trigger(Bt.NEED_KEY,{key:new tn(At,pt.initDataType)})}}},Et}_n[X.PLAYREADY_KEYSTEM_STRING]=[X.PLAYREADY_KEYSTEM_STRING,X.PLAYREADY_RECOMMENDATION_KEYSTEM_STRING],_n[X.WIDEVINE_KEYSTEM_STRING]=[X.WIDEVINE_KEYSTEM_STRING],_n[X.CLEARKEY_KEYSTEM_STRING]=[X.CLEARKEY_KEYSTEM_STRING],Rn.__dashjs_factory_name="ProtectionModel_21Jan2015";var qn=dashjs.FactoryMaker.getClassFactory(Rn);function yn(bt){bt=bt||{};var Et,Tt,Ze,ct,je,ot,Ot,Lt,Wt,Xt=this.context,Bt=bt.eventBus,yt=bt.events,zt=bt.debug,Vt=bt.api;function rn(){try{for(var $t=0;$t<Ot.length;$t++)gn(Ot[$t]);Ze&&Ze.removeEventListener(Vt.needkey,Lt),Bt.trigger(yt.TEARDOWN_COMPLETE)}catch(pt){Bt.trigger(yt.TEARDOWN_COMPLETE,{error:"Error tearing down key sessions and MediaKeys! -- "+pt.message})}}function gn($t){var pt=$t.session;pt.removeEventListener(Vt.error,$t),pt.removeEventListener(Vt.message,$t),pt.removeEventListener(Vt.ready,$t),pt.removeEventListener(Vt.close,$t);for(var At=0;At<Ot.length;At++)if(Ot[At]===$t){Ot.splice(At,1);break}pt[Vt.release]()}function vn(){var $t=null,pt=function(){Ze.removeEventListener("loadedmetadata",$t),Ze[Vt.setMediaKeys](je),Bt.trigger(yt.VIDEO_ELEMENT_SELECTED)};Ze.readyState>=1?pt():($t=pt.bind(this),Ze.addEventListener("loadedmetadata",$t))}return Et={getAllInitData:function(){for(var $t=[],pt=0;pt<Ot.length;pt++)$t.push(Ot[pt].initData);return $t},getSessions:function(){return Ot},requestKeySystemAccess:function($t){return new Promise(function(pt,At){for(var Zt=!1,nn=0;nn<$t.length;nn++)for(var sn=$t[nn].ks.systemString,pn=$t[nn].configs,En=null,Yn=null,jn=0;jn<pn.length;jn++){var Cn=pn[jn].audioCapabilities,Un=pn[jn].videoCapabilities;if(Cn&&Cn.length!==0){En=[];for(var Pn=0;Pn<Cn.length;Pn++)window[Vt.MediaKeys].isTypeSupported(sn,Cn[Pn].contentType)&&En.push(Cn[Pn])}if(Un&&Un.length!==0){Yn=[];for(var Hn=0;Hn<Un.length;Hn++)window[Vt.MediaKeys].isTypeSupported(sn,Un[Hn].contentType)&&Yn.push(Un[Hn])}if(!(!En&&!Yn||En&&En.length===0||Yn&&Yn.length===0)){Zt=!0;var mr=new y(En,Yn),ir=Wt.getKeySystemBySystemString(sn),ur=new An(ir,mr);Bt.trigger(yt.KEY_SYSTEM_ACCESS_COMPLETE,{data:ur}),pt({data:ur});break}}if(!Zt){var zn="Key system access denied! -- No valid audio/video content configurations detected!";Bt.trigger(yt.KEY_SYSTEM_ACCESS_COMPLETE,{error:zn}),At({error:zn})}})},selectKeySystem:function($t){return new Promise(function(pt,At){try{je=$t.mediaKeys=new window[Vt.MediaKeys]($t.keySystem.systemString),ct=$t.keySystem,ot=$t,Ze&&vn(),pt(ct)}catch{At({error:"Error selecting keys system ("+ct.systemString+")! Could not create MediaKeys -- TODO"})}})},setMediaElement:function($t){Ze!==$t&&(Ze&&Ze.removeEventListener(Vt.needkey,Lt),(Ze=$t)&&(Ze.addEventListener(Vt.needkey,Lt),je&&vn()))},createKeySession:function($t){if(!ct||!je||!ot)throw new Error("Can not create sessions until you have selected a key system");var pt=null;if(ot.ksConfiguration.videoCapabilities&&ot.ksConfiguration.videoCapabilities.length>0&&(pt=ot.ksConfiguration.videoCapabilities[0]),pt===null&&ot.ksConfiguration.audioCapabilities&&ot.ksConfiguration.audioCapabilities.length>0&&(pt=ot.ksConfiguration.audioCapabilities[0]),pt===null)throw new Error("Can not create sessions for unknown content types.");var At=pt.contentType,Zt=je.createSession(At,new Uint8Array($t.initData),$t.cdmData?new Uint8Array($t.cdmData):null),nn=function(sn,pn){return{session:sn,keyId:pn.keyId,initData:pn.initData,getKeyId:function(){return this.keyId},getSessionId:function(){return this.session.sessionId},getExpirationTime:function(){return NaN},getSessionType:function(){return"temporary"},handleEvent:function(En){switch(En.type){case Vt.error:Bt.trigger(yt.KEY_ERROR,{error:new c.Z(n.MEDIA_KEYERR_CODE,"KeyError",this)});break;case Vt.message:var Yn=ArrayBuffer.isView(En.message)?En.message.buffer:En.message;Bt.trigger(yt.INTERNAL_KEY_MESSAGE,{data:new dn(this,Yn,En.destinationURL)});break;case Vt.ready:Tt.debug("DRM: Key added."),Bt.trigger(yt.KEY_ADDED);break;case Vt.close:Tt.debug("DRM: Session closed.  SessionID = "+this.getSessionId()),Bt.trigger(yt.KEY_SESSION_CLOSED,{data:this.getSessionId()})}}}}(Zt,$t);Zt.addEventListener(Vt.error,nn),Zt.addEventListener(Vt.message,nn),Zt.addEventListener(Vt.ready,nn),Zt.addEventListener(Vt.close,nn),Ot.push(nn),Tt.debug("DRM: Session created.  SessionID = "+nn.getSessionId()),Bt.trigger(yt.KEY_SESSION_CREATED,{data:nn})},updateKeySession:function($t,pt){var At=$t.session;Wt.isClearKey(ct)?At.update(new Uint8Array(pt.toJWK())):At.update(new Uint8Array(pt)),Bt.trigger(yt.KEY_SESSION_UPDATED)},closeKeySession:gn,setServerCertificate:function(){},loadKeySession:function(){},removeKeySession:function(){},stop:rn,reset:rn},Tt=zt.getLogger(Et),Ze=null,ct=null,je=null,ot=null,Ot=[],Wt=mt(Xt).getInstance(),Lt={handleEvent:function($t){if($t.type===Vt.needkey&&$t.initData){var pt=ArrayBuffer.isView($t.initData)?$t.initData.buffer:$t.initData;Bt.trigger(yt.NEED_KEY,{key:new tn(pt,"cenc")})}}},Et}yn.__dashjs_factory_name="ProtectionModel_3Feb2014";var Qn=dashjs.FactoryMaker.getClassFactory(yn);function xn(bt){bt=bt||{};var Et,Tt,Ze,ct,je,ot,Ot,Lt,Wt,Xt=this.context,Bt=bt.eventBus,yt=bt.events,zt=bt.debug,Vt=bt.api,rn=bt.errHandler;function gn(){Ze&&pt();for(var At=0;At<Ot.length;At++)vn(Ot[At]);Bt.trigger(yt.TEARDOWN_COMPLETE)}function vn(At){try{Ze[Vt.cancelKeyRequest](ct.systemString,At.sessionId)}catch(Zt){Bt.trigger(yt.KEY_SESSION_CLOSED,{data:null,error:"Error closing session ("+At.sessionId+") "+Zt.message})}}function $t(At,Zt){if(Zt&&At){for(var nn=At.length,sn=0;sn<nn;sn++)if(At[sn].sessionId==Zt)return At[sn];return null}return null}function pt(){Ze.removeEventListener(Vt.keyerror,Wt),Ze.removeEventListener(Vt.needkey,Wt),Ze.removeEventListener(Vt.keymessage,Wt),Ze.removeEventListener(Vt.keyadded,Wt)}return Et={getAllInitData:function(){for(var At=[],Zt=0;Zt<ot.length;Zt++)At.push(ot[Zt].initData);for(var nn=0;nn<Ot.length;nn++)At.push(Ot[nn].initData);return At},getSessions:function(){return Ot.concat(ot)},requestKeySystemAccess:function(At){return new Promise(function(Zt,nn){var sn=Ze;sn||(sn=document.createElement("video"));for(var pn=!1,En=0;En<At.length;En++)for(var Yn=At[En].ks.systemString,jn=At[En].configs,Cn=null,Un=0;Un<jn.length;Un++){var Pn=jn[Un].videoCapabilities;if(Pn&&Pn.length!==0){Cn=[];for(var Hn=0;Hn<Pn.length;Hn++)sn.canPlayType(Pn[Hn].contentType,Yn)!==""&&Cn.push(Pn[Hn])}if(Cn&&(!Cn||Cn.length!==0)){pn=!0;var mr=new y(null,Cn),ir=je.getKeySystemBySystemString(Yn),ur=new An(ir,mr);Bt.trigger(yt.KEY_SYSTEM_ACCESS_COMPLETE,{data:ur}),Zt({data:ur});break}}if(!pn){var zn="Key system access denied! -- No valid audio/video content configurations detected!";Bt.trigger(yt.KEY_SYSTEM_ACCESS_COMPLETE,{error:zn}),nn({error:zn})}})},selectKeySystem:function(At){return ct=At.keySystem,Promise.resolve(ct)},setMediaElement:function(At){if(Ze!==At){if(Ze){pt();for(var Zt=0;Zt<Ot.length;Zt++)vn(Ot[Zt]);Ot=[]}(Ze=At)&&(Ze.addEventListener(Vt.keyerror,Wt),Ze.addEventListener(Vt.needkey,Wt),Ze.addEventListener(Vt.keymessage,Wt),Ze.addEventListener(Vt.keyadded,Wt),Bt.trigger(yt.VIDEO_ELEMENT_SELECTED))}},createKeySession:function(At){if(!ct)throw new Error("Can not create sessions until you have selected a key system");if(Lt||Ot.length===0){var Zt={sessionId:null,keyId:At.keyId,initData:At.initData,getKeyId:function(){return this.keyId},getSessionId:function(){return this.sessionId},getExpirationTime:function(){return NaN},getSessionType:function(){return"temporary"}};return ot.push(Zt),Ze[Vt.generateKeyRequest](ct.systemString,new Uint8Array(At.initData)),Zt}throw new Error("Multiple sessions not allowed!")},updateKeySession:function(At,Zt){var nn=At.sessionId;if(je.isClearKey(ct))for(var sn=0;sn<Zt.keyPairs.length;sn++)Ze[Vt.addKey](ct.systemString,Zt.keyPairs[sn].key,Zt.keyPairs[sn].keyID,nn);else Ze[Vt.addKey](ct.systemString,new Uint8Array(Zt),new Uint8Array(At.initData),nn);Bt.trigger(yt.KEY_SESSION_UPDATED)},closeKeySession:vn,setServerCertificate:function(){},loadKeySession:function(){},removeKeySession:function(){},stop:gn,reset:gn},Tt=zt.getLogger(Et),Ze=null,ct=null,ot=[],Ot=[],je=mt(Xt).getInstance(),Wt={handleEvent:function(At){var Zt=null;switch(At.type){case Vt.needkey:var nn=ArrayBuffer.isView(At.initData)?At.initData.buffer:At.initData;Bt.trigger(yt.NEED_KEY,{key:new tn(nn,"cenc")});break;case Vt.keyerror:if((Zt=$t(Ot,At.sessionId))||(Zt=$t(ot,At.sessionId)),Zt){var sn=n.MEDIA_KEYERR_CODE,pn="";switch(At.errorCode.code){case 1:sn=n.MEDIA_KEYERR_UNKNOWN_CODE,pn+="MEDIA_KEYERR_UNKNOWN - "+n.MEDIA_KEYERR_UNKNOWN_MESSAGE;break;case 2:sn=n.MEDIA_KEYERR_CLIENT_CODE,pn+="MEDIA_KEYERR_CLIENT - "+n.MEDIA_KEYERR_CLIENT_MESSAGE;break;case 3:sn=n.MEDIA_KEYERR_SERVICE_CODE,pn+="MEDIA_KEYERR_SERVICE - "+n.MEDIA_KEYERR_SERVICE_MESSAGE;break;case 4:sn=n.MEDIA_KEYERR_OUTPUT_CODE,pn+="MEDIA_KEYERR_OUTPUT - "+n.MEDIA_KEYERR_OUTPUT_MESSAGE;break;case 5:sn=n.MEDIA_KEYERR_HARDWARECHANGE_CODE,pn+="MEDIA_KEYERR_HARDWARECHANGE - "+n.MEDIA_KEYERR_HARDWARECHANGE_MESSAGE;break;case 6:sn=n.MEDIA_KEYERR_DOMAIN_CODE,pn+="MEDIA_KEYERR_DOMAIN - "+n.MEDIA_KEYERR_DOMAIN_MESSAGE}pn+="  System Code = "+At.systemCode,Bt.trigger(yt.KEY_ERROR,{error:new c.Z(sn,pn,Zt)})}else Tt.error("No session token found for key error");break;case Vt.keyadded:(Zt=$t(Ot,At.sessionId))||(Zt=$t(ot,At.sessionId)),Zt?(Tt.debug("DRM: Key added."),Bt.trigger(yt.KEY_ADDED,{data:Zt})):Tt.debug("No session token found for key added");break;case Vt.keymessage:if((Lt=At.sessionId!==null&&At.sessionId!==void 0)?!(Zt=$t(Ot,At.sessionId))&&ot.length>0&&(Zt=ot.shift(),Ot.push(Zt),Zt.sessionId=At.sessionId,Bt.trigger(yt.KEY_SESSION_CREATED,{data:Zt})):ot.length>0&&(Zt=ot.shift(),Ot.push(Zt),ot.length!==0&&rn.error(new c.Z(n.MEDIA_KEY_MESSAGE_ERROR_CODE,n.MEDIA_KEY_MESSAGE_ERROR_MESSAGE))),Zt){var En=ArrayBuffer.isView(At.message)?At.message.buffer:At.message;Zt.keyMessage=En,Bt.trigger(yt.INTERNAL_KEY_MESSAGE,{data:new dn(Zt,En,At.defaultURL)})}else Tt.warn("No session token found for key message")}}},Et}xn.__dashjs_factory_name="ProtectionModel_01b";var Vn=dashjs.FactoryMaker.getClassFactory(xn),er=[{generateKeyRequest:"generateKeyRequest",addKey:"addKey",cancelKeyRequest:"cancelKeyRequest",needkey:"needkey",keyerror:"keyerror",keyadded:"keyadded",keymessage:"keymessage"},{generateKeyRequest:"webkitGenerateKeyRequest",addKey:"webkitAddKey",cancelKeyRequest:"webkitCancelKeyRequest",needkey:"webkitneedkey",keyerror:"webkitkeyerror",keyadded:"webkitkeyadded",keymessage:"webkitkeymessage"}],Kn=[{setMediaKeys:"setMediaKeys",MediaKeys:"MediaKeys",release:"close",needkey:"needkey",error:"keyerror",message:"keymessage",ready:"keyadded",close:"keyclose"},{setMediaKeys:"msSetMediaKeys",MediaKeys:"MSMediaKeys",release:"close",needkey:"msneedkey",error:"mskeyerror",message:"mskeymessage",ready:"mskeyadded",close:"mskeyclose"}];function nr(){var bt,Et=this.context;function Tt(Ze,ct){for(var je=0;je<ct.length;je++){var ot=ct[je];if(typeof Ze[ot[Object.keys(ot)[0]]]=="function")return ot}return null}return bt={createProtectionSystem:function(Ze){var ct=null,je=mt(Et).getInstance();je.setConfig({debug:Ze.debug,BASE64:Ze.BASE64,settings:Ze.settings}),je.initialize();var ot=function(Ot){var Lt=Ot.debug,Wt=Lt.getLogger(bt),Xt=Ot.eventBus,Bt=Ot.errHandler,yt=Ot.videoModel?Ot.videoModel.getElement():null;return yt&&yt.onencrypted===void 0||yt&&yt.mediaKeys===void 0?Tt(yt,Kn)?(Wt.info("EME detected on this user agent! (ProtectionModel_3Feb2014)"),Qn(Et).create({debug:Lt,eventBus:Xt,events:Ot.events,api:Tt(yt,Kn)})):Tt(yt,er)?(Wt.info("EME detected on this user agent! (ProtectionModel_01b)"),Vn(Et).create({debug:Lt,eventBus:Xt,errHandler:Bt,events:Ot.events,api:Tt(yt,er)})):(Wt.warn("No supported version of EME detected on this user agent! - Attempts to play encrypted content will fail!"),null):(Wt.info("EME detected on this user agent! (ProtectionModel_21Jan2015)"),qn(Et).create({debug:Lt,eventBus:Xt,events:Ot.events}))}(Ze);return!ct&&ot&&(ct=re(Et).create({protectionModel:ot,protectionKeyController:je,eventBus:Ze.eventBus,debug:Ze.debug,events:Ze.events,BASE64:Ze.BASE64,constants:Ze.constants,cmcdModel:Ze.cmcdModel,customParametersModel:Ze.customParametersModel,settings:Ze.settings}),Ze.capabilities.setEncryptedMediaSupported(!0)),ct}}}nr.__dashjs_factory_name="Protection";var rr=dashjs.FactoryMaker.getClassFactory(nr);rr.events=Pt,rr.errors=n,dashjs.FactoryMaker.updateClassFactory(nr.__dashjs_factory_name,rr);var Cr=rr},2068:function(at,we,P){var ae=P(5448),T={DEFAULT:.5,STRONG:1,WEAK:0};function t(y,p,u){var _,m;return _=y===void 0?-1:y,m=function(n){var c=T.DEFAULT;return n!==T.DEFAULT&&n!==T.STRONG&&n!==T.WEAK||(c=n),c}(u),{quality:_,reason:p===void 0?null:p,priority:m}}t.__dashjs_factory_name="SwitchRequest";var e=ae.Z.getClassFactory(t);e.NO_CHANGE=-1,e.PRIORITY=T,ae.Z.updateClassFactory(t.__dashjs_factory_name,e),we.Z=e},1767:function(at,we,P){var ae=P(5628),T=P(6535),t=P(7423),e=P(895),y=P(6070),p=P(3112),u=P(1914),_=P(5435),m=P(5448),n=P(2068),c=P(3393),d="qualitySwitchRules",I="abandonFragmentRules";function k(F){F=F||{};var $,O,K=this.context,re=F.mediaPlayerModel,H=F.customParametersModel,ee=F.dashMetrics,se=F.settings;function _e(Ae){return Ae.filter(function(Le){return Le.quality>n.Z.NO_CHANGE})}function X(Ae){var Le,Ye,ye,Pe,He,tt={},ve=null;if(Ae.length!==0){for(tt[n.Z.PRIORITY.STRONG]={quality:n.Z.NO_CHANGE,reason:null},tt[n.Z.PRIORITY.WEAK]={quality:n.Z.NO_CHANGE,reason:null},tt[n.Z.PRIORITY.DEFAULT]={quality:n.Z.NO_CHANGE,reason:null},Le=0,Ye=Ae.length;Le<Ye;Le+=1)(ye=Ae[Le]).quality!==n.Z.NO_CHANGE&&(tt[ye.priority].quality===n.Z.NO_CHANGE||tt[ye.priority].quality>ye.quality)&&(tt[ye.priority].quality=ye.quality,tt[ye.priority].reason=ye.reason||null);return tt[n.Z.PRIORITY.WEAK].quality!==n.Z.NO_CHANGE&&(ve=tt[n.Z.PRIORITY.WEAK]),tt[n.Z.PRIORITY.DEFAULT].quality!==n.Z.NO_CHANGE&&(ve=tt[n.Z.PRIORITY.DEFAULT]),tt[n.Z.PRIORITY.STRONG].quality!==n.Z.NO_CHANGE&&(ve=tt[n.Z.PRIORITY.STRONG]),ve&&(Pe=ve.quality,He=ve.reason),(0,n.Z)(K).create(Pe,He)}}return{initialize:function(){$=[],O=[],se.get().streaming.abr.useDefaultABRRules&&(se.get().streaming.abr.ABRStrategy===c.Z.ABR_STRATEGY_L2A?$.push((0,u.Z)(K).create({dashMetrics:ee,settings:se})):se.get().streaming.abr.ABRStrategy===c.Z.ABR_STRATEGY_LoLP?$.push((0,_.Z)(K).create({dashMetrics:ee})):($.push((0,p.Z)(K).create({dashMetrics:ee,mediaPlayerModel:re,settings:se})),$.push((0,ae.Z)(K).create({dashMetrics:ee})),se.get().streaming.abr.additionalAbrRules.insufficientBufferRule&&$.push((0,T.Z)(K).create({dashMetrics:ee,settings:se})),se.get().streaming.abr.additionalAbrRules.switchHistoryRule&&$.push((0,y.Z)(K).create()),se.get().streaming.abr.additionalAbrRules.droppedFramesRule&&$.push((0,e.Z)(K).create()),se.get().streaming.abr.additionalAbrRules.abandonRequestsRule&&O.push((0,t.Z)(K).create({dashMetrics:ee,mediaPlayerModel:re,settings:se})))),H.getAbrCustomRules().forEach(function(Ae){Ae.type===d&&$.push(Ae.rule(K).create()),Ae.type===I&&O.push(Ae.rule(K).create())})},reset:function(){[$,O].forEach(function(Ae){Ae&&Ae.length&&Ae.forEach(function(Le){return Le.reset&&Le.reset()})}),$=[],O=[]},getMaxQuality:function(Ae){return X(_e($.map(function(Le){return Le.getMaxIndex(Ae)})))||(0,n.Z)(K).create()},getMinSwitchRequest:X,shouldAbandonFragment:function(Ae,Le){var Ye=X(_e(O.map(function(ye){return ye.shouldAbandon(Ae,Le)})));return Ye&&(Ye.reason.forceAbandon=!0),Ye||(0,n.Z)(K).create()},getQualitySwitchRules:function(){return $}}}k.__dashjs_factory_name="ABRRulesCollection";var q=m.Z.getClassFactory(k);q.QUALITY_SWITCH_RULES=d,q.ABANDON_FRAGMENT_RULES=I,m.Z.updateSingletonFactory(k.__dashjs_factory_name,q),we.Z=q},7423:function(at,we,P){var ae=P(2068),T=P(5448),t=P(6398);function e(y){y=y||{};var p,u,_,m,n,c=this.context,d=y.mediaPlayerModel,I=y.dashMetrics,k=y.settings;function q(){_={},m={},n=[]}return p={shouldAbandon:function(F){var $=(0,ae.Z)(c).create(ae.Z.NO_CHANGE,{name:e.__dashjs_factory_name});if(!(F&&F.hasOwnProperty("getMediaInfo")&&F.hasOwnProperty("getMediaType")&&F.hasOwnProperty("getCurrentRequest")&&F.hasOwnProperty("getRepresentationInfo")&&F.hasOwnProperty("getAbrController")))return $;var O,K,re=F.getMediaInfo(),H=F.getMediaType(),ee=F.getStreamInfo(),se=ee?ee.id:null,_e=F.getCurrentRequest();if(!isNaN(_e.index)){O=H,K=_e.index,_[O]=_[O]||{},_[O][K]=_[O][K]||{};var X=d.getStableBufferTime();if(I.getCurrentBufferLevel(H)>X)return $;var Ae=_[H][_e.index];if(Ae===null||_e.firstByteDate===null||m.hasOwnProperty(Ae.id))return $;if(Ae.firstByteTime===void 0&&(n[H]=[],Ae.firstByteTime=_e.firstByteDate.getTime(),Ae.segmentDuration=_e.duration,Ae.bytesTotal=_e.bytesTotal,Ae.id=_e.index),Ae.bytesLoaded=_e.bytesLoaded,Ae.elapsedTime=new Date().getTime()-Ae.firstByteTime,Ae.bytesLoaded>0&&Ae.elapsedTime>0&&function(Oe,_t){n[Oe]=n[Oe]||[],n[Oe].push(_t)}(H,Math.round(8*Ae.bytesLoaded/Ae.elapsedTime)),n[H].length>=k.get().streaming.abr.abrRulesParameters.abandonRequestsRule.minLengthToAverage&&Ae.elapsedTime>k.get().streaming.abr.abrRulesParameters.abandonRequestsRule.graceTimeThreshold&&Ae.bytesLoaded<Ae.bytesTotal){var Le=n[H].reduce(function(Oe,_t){return Oe+_t},0);if(Ae.measuredBandwidthInKbps=Math.round(Le/n[H].length),Ae.estimatedTimeOfDownload=+(8*Ae.bytesTotal/Ae.measuredBandwidthInKbps/1e3).toFixed(2),Ae.estimatedTimeOfDownload<Ae.segmentDuration*k.get().streaming.abr.abrRulesParameters.abandonRequestsRule.abandonMultiplier||F.getRepresentationInfo().quality===0)return $;if(!m.hasOwnProperty(Ae.id)){var Ye=F.getAbrController(),ye=Ae.bytesTotal-Ae.bytesLoaded,Pe=Ye.getBitrateList(re),He=Ye.getQualityForBitrate(re,Ae.measuredBandwidthInKbps*k.get().streaming.abr.bandwidthSafetyFactor,se),tt=Ye.getMinAllowedIndexFor(H,se),ve=tt!==void 0?Math.max(tt,He):He;ye>Ae.bytesTotal*Pe[ve].bitrate/Pe[Ye.getQualityFor(H,se)].bitrate&&($.quality=ve,$.reason.throughput=Ae.measuredBandwidthInKbps,$.reason.fragmentID=Ae.id,$.reason.rule=this.getClassName(),m[Ae.id]=Ae,u.debug("["+H+"] frag id",Ae.id," is asking to abandon and switch to quality to ",ve," measured bandwidth was",Ae.measuredBandwidthInKbps),delete _[H][Ae.id])}}else Ae.bytesLoaded===Ae.bytesTotal&&delete _[H][Ae.id]}return $},reset:q},u=(0,t.Z)(c).getInstance().getLogger(p),q(),p}e.__dashjs_factory_name="AbandonRequestsRule",we.Z=T.Z.getClassFactory(e)},3112:function(at,we,P){var ae=P(3860),T=P(2068),t=P(5448),e=P(7855),y=P(5595),p=P(8512),u=P(6398),_=P(8825),m=P(3393),n=10;function c(d){d=d||{};var I,k,q,F=this.context,$=d.dashMetrics,O=d.mediaPlayerModel,K=(0,y.Z)(F).getInstance();function re(ve,Oe,_t){var dt=_t.reduce(function(ge,me,Ue){return me>_t[ge]?Ue:ge},0);if(dt===0)return null;var ke=Math.max(ve,n+2*Oe.length),Je=(_t[dt]-1)/(ke/n-1);return{gp:Je,Vp:n/Je}}function H(ve){ve.placeholderBuffer=0,ve.mostAdvancedSegmentStart=NaN,ve.lastSegmentWasReplacement=!1,ve.lastSegmentStart=NaN,ve.lastSegmentDurationS=NaN,ve.lastSegmentRequestTimeMs=NaN,ve.lastSegmentFinishTimeMs=NaN}function ee(ve,Oe){var _t=O.getStableBufferTime();if(ve.stableBufferTime!==_t){var dt=re(_t,ve.bitrates,ve.utilities);if(dt.Vp!==ve.Vp||dt.gp!==ve.gp){var ke=$.getCurrentBufferLevel(Oe),Je=ke+ve.placeholderBuffer;Je-=n,Je*=dt.Vp/ve.Vp,Je+=n,ve.stableBufferTime=_t,ve.Vp=dt.Vp,ve.gp=dt.gp,ve.placeholderBuffer=Math.max(0,Je-ke)}}}function se(ve,Oe){return ve.Vp*(ve.utilities[Oe]+ve.gp)}function _e(ve,Oe){for(var _t=ve.bitrates[Oe],dt=ve.utilities[Oe],ke=0,Je=Oe-1;Je>=0;--Je)if(ve.utilities[Je]<ve.utilities[Oe]){var ge=ve.bitrates[Je],me=ve.utilities[Je],Ue=ve.Vp*(ve.gp+(_t*me-ge*dt)/(_t-ge));ke=Math.max(ke,Ue)}return ke}function X(ve){var Oe=ve.mediaType===m.Z.AUDIO?[m.Z.AUDIO]:q;for(var _t in Oe)q.hasOwnProperty(_t)&&q[_t].state===2&&(q[_t].placeholderBuffer=0)}function Ae(){for(var ve in q)if(q.hasOwnProperty(ve)){var Oe=q[ve];Oe.state!==0&&(Oe.state=1,H(Oe))}}function Le(ve){if(ve&&ve.chunk&&ve.chunk.mediaInfo){var Oe=q[ve.chunk.mediaInfo.type];if(Oe&&Oe.state!==0){var _t=ve.chunk.start;isNaN(Oe.mostAdvancedSegmentStart)||_t>Oe.mostAdvancedSegmentStart?(Oe.mostAdvancedSegmentStart=_t,Oe.lastSegmentWasReplacement=!1):Oe.lastSegmentWasReplacement=!0,Oe.lastSegmentStart=_t,Oe.lastSegmentDurationS=ve.chunk.duration,Oe.lastQuality=ve.chunk.quality,ye(Oe,ve.chunk.mediaInfo.type)}}}function Ye(ve){if(ve&&ve.metric===ae.Z.HTTP_REQUEST&&ve.value&&ve.value.type===e.w.MEDIA_SEGMENT_TYPE&&ve.value.trace&&ve.value.trace.length){var Oe=q[ve.mediaType];Oe&&Oe.state!==0&&(Oe.lastSegmentRequestTimeMs=ve.value.trequest.getTime(),Oe.lastSegmentFinishTimeMs=ve.value._tfinish.getTime(),ye(Oe,ve.mediaType))}}function ye(ve,Oe){if(!isNaN(ve.lastSegmentStart)&&!isNaN(ve.lastSegmentRequestTimeMs)&&!isNaN(ve.placeholderBuffer)){if(ve.placeholderBuffer*=.99,!isNaN(ve.lastSegmentFinishTimeMs)){var _t=$.getCurrentBufferLevel(Oe)+.001*(ve.lastSegmentFinishTimeMs-ve.lastSegmentRequestTimeMs),dt=se(ve,ve.lastQuality),ke=Math.max(0,dt-_t);ve.placeholderBuffer=Math.min(ke,ve.placeholderBuffer)}ve.lastSegmentWasReplacement&&!isNaN(ve.lastSegmentDurationS)&&(ve.placeholderBuffer+=ve.lastSegmentDurationS),ve.lastSegmentStart=NaN,ve.lastSegmentRequestTimeMs=NaN}}function Pe(ve){if(ve){var Oe=q[ve.mediaType];Oe&&Oe.state!==0&&(Oe.abrQuality=ve.newQuality)}}function He(ve){if(ve){var Oe=q[ve.mediaType];if(Oe&&Oe.state!==0){var _t,dt=$.getCurrentBufferLevel(ve.mediaType);_t=Oe.abrQuality>0?_e(Oe,Oe.abrQuality):n;var ke=Math.max(0,_t-dt);Oe.placeholderBuffer=Math.min(Oe.placeholderBuffer,ke)}}}function tt(){q={}}return I={getMaxIndex:function(ve){var Oe=(0,T.Z)(F).create();if(!(ve&&ve.hasOwnProperty("getMediaInfo")&&ve.hasOwnProperty("getMediaType")&&ve.hasOwnProperty("getScheduleController")&&ve.hasOwnProperty("getStreamInfo")&&ve.hasOwnProperty("getAbrController")&&ve.hasOwnProperty("useBufferOccupancyABR")))return Oe;var _t=ve.getMediaInfo(),dt=ve.getMediaType(),ke=ve.getScheduleController(),Je=ve.getStreamInfo(),ge=ve.getAbrController(),me=ge.getThroughputHistory(),Ue=Je?Je.id:null,f=Je&&Je.manifestInfo&&Je.manifestInfo.isDynamic,o=ve.useBufferOccupancyABR();if(Oe.reason=Oe.reason||{},!o)return Oe;ke.setTimeToLoadDelay(0);var v=function(be){var xe=be.getMediaType(),Qe=q[xe];return Qe?Qe.state!==0&&ee(Qe,xe):(Qe=function(mt){var it={},Ut=mt.getMediaInfo().bitrateList.map(function(tn){return tn.bandwidth}),It=function(tn){return tn.map(function(dn){return Math.log(dn)})}(Ut);It=It.map(function(tn){return tn-It[0]+1});var Ft=O.getStableBufferTime(),Pt=re(Ft,Ut,It);return Pt?(it.state=1,it.bitrates=Ut,it.utilities=It,it.stableBufferTime=Ft,it.Vp=Pt.Vp,it.gp=Pt.gp,it.lastQuality=0,H(it)):it.state=0,it}(be),q[xe]=Qe),Qe}(ve);if(v.state===0)return Oe;var S,W=$.getCurrentBufferLevel(dt),V=me.getAverageThroughput(dt,f),Se=me.getSafeAverageThroughput(dt,f),ze=me.getAverageLatency(dt);if(Oe.reason.state=v.state,Oe.reason.throughput=V,Oe.reason.latency=ze,isNaN(V))return Oe;switch(v.state){case 1:S=ge.getQualityForBitrate(_t,Se,Ue,ze),Oe.quality=S,Oe.reason.throughput=Se,v.placeholderBuffer=Math.max(0,_e(v,S)-W),v.lastQuality=S,!isNaN(v.lastSegmentDurationS)&&W>=v.lastSegmentDurationS&&(v.state=2);break;case 2:(function(be,xe){var Qe=Date.now();if(isNaN(be.lastSegmentFinishTimeMs)){if(!isNaN(be.lastCallTimeMs)){var mt=.001*(Qe-be.lastCallTimeMs);be.placeholderBuffer+=Math.max(0,mt)}}else{var it=.001*(Qe-be.lastSegmentFinishTimeMs);be.placeholderBuffer+=Math.max(0,it)}be.lastCallTimeMs=Qe,be.lastSegmentStart=NaN,be.lastSegmentRequestTimeMs=NaN,be.lastSegmentFinishTimeMs=NaN,ee(be,xe)})(v,dt),S=function(be,xe){for(var Qe=be.bitrates.length,mt=NaN,it=NaN,Ut=0;Ut<Qe;++Ut){var It=(be.Vp*(be.utilities[Ut]+be.gp)-xe)/be.bitrates[Ut];(isNaN(it)||It>=it)&&(it=It,mt=Ut)}return mt}(v,W+v.placeholderBuffer);var Me=ge.getQualityForBitrate(_t,Se,Ue,ze);S>v.lastQuality&&S>Me&&(S=Math.max(Me,v.lastQuality));var De=Math.max(0,W+v.placeholderBuffer-se(v,S));De<=v.placeholderBuffer?(v.placeholderBuffer-=De,De=0):(De-=v.placeholderBuffer,v.placeholderBuffer=0,S<ge.getMaxAllowedIndexFor(dt,Ue)?ke.setTimeToLoadDelay(1e3*De):De=0),Oe.quality=S,Oe.reason.throughput=V,Oe.reason.latency=ze,Oe.reason.bufferLevel=W,Oe.reason.placeholderBuffer=v.placeholderBuffer,Oe.reason.delay=De,v.lastQuality=S;break;default:k.debug("BOLA ABR rule invoked in bad state."),Oe.quality=ge.getQualityForBitrate(_t,Se,Ue,ze),Oe.reason.state=v.state,Oe.reason.throughput=Se,Oe.reason.latency=ze,v.state=1,H(v)}return Oe},reset:function(){tt(),K.off(_.Z.BUFFER_EMPTY,X,I),K.off(_.Z.PLAYBACK_SEEKING,Ae,I),K.off(_.Z.METRIC_ADDED,Ye,I),K.off(_.Z.QUALITY_CHANGE_REQUESTED,Pe,I),K.off(_.Z.FRAGMENT_LOADING_ABANDONED,He,I),K.off(p.Z.MEDIA_FRAGMENT_LOADED,Le,I)}},k=(0,u.Z)(F).getInstance().getLogger(I),tt(),K.on(_.Z.BUFFER_EMPTY,X,I),K.on(_.Z.PLAYBACK_SEEKING,Ae,I),K.on(_.Z.METRIC_ADDED,Ye,I),K.on(_.Z.QUALITY_CHANGE_REQUESTED,Pe,I),K.on(_.Z.FRAGMENT_LOADING_ABANDONED,He,I),K.on(p.Z.MEDIA_FRAGMENT_LOADED,Le,I),I}c.__dashjs_factory_name="BolaRule",we.Z=t.Z.getClassFactory(c)},895:function(at,we,P){var ae=P(5448),T=P(2068),t=P(6398);function e(){var y,p,u=this.context;return y={getMaxIndex:function(_){var m=(0,T.Z)(u).create();if(!_||!_.hasOwnProperty("getDroppedFramesHistory"))return m;var n=_.getDroppedFramesHistory(),c=_.getStreamInfo().id;if(n){var d=n.getFrameHistory(c);if(!d||d.length===0)return m;for(var I=0,k=0,q=T.Z.NO_CHANGE,F=1;F<d.length;F++)if(d[F]&&(I=d[F].droppedVideoFrames,(k=d[F].totalVideoFrames)>375&&I/k>.15)){q=F-1,p.debug("index: "+q+" Dropped Frames: "+I+" Total Frames: "+k);break}return(0,T.Z)(u).create(q,{droppedFrames:I})}return m}},p=(0,t.Z)(u).getInstance().getLogger(y),y}e.__dashjs_factory_name="DroppedFramesRule",we.Z=ae.Z.getClassFactory(e)},6535:function(at,we,P){var ae=P(5595),T=P(8512),t=P(5448),e=P(6398),y=P(2068),p=P(3393),u=P(3860),_=P(8825);function m(n){n=n||{};var c,d,I,k=this.context,q=(0,ae.Z)(k).getInstance(),F=n.dashMetrics;function $(){(I={})[p.Z.VIDEO]={ignoreCount:2},I[p.Z.AUDIO]={ignoreCount:2}}function O(){$()}function K(re){isNaN(re.startTime)||re.mediaType!==p.Z.AUDIO&&re.mediaType!==p.Z.VIDEO||I[re.mediaType].ignoreCount>0&&I[re.mediaType].ignoreCount--}return c={getMaxIndex:function(re){var H=(0,y.Z)(k).create();if(!re||!re.hasOwnProperty("getMediaType"))return H;(function(){if(!F||!F.hasOwnProperty("getCurrentBufferLevel")||!F.hasOwnProperty("getCurrentBufferState"))throw new Error(p.Z.MISSING_CONFIG_ERROR)})();var ee=re.getMediaType(),se=F.getCurrentBufferState(ee),_e=re.getRepresentationInfo().fragmentDuration,X=re.getStreamInfo(),Ae=X?X.id:null,Le=re.getScheduleController(),Ye=X&&X.manifestInfo&&X.manifestInfo.isDynamic;if(function(dt,ke){return!dt&&I[ke].ignoreCount>0}(Le.getPlaybackController().getLowLatencyModeEnabled(),ee)||!_e)return H;if(se&&se.state===u.Z.BUFFER_EMPTY)d.debug("["+ee+"] Switch to index 0; buffer is empty."),H.quality=0,H.reason="InsufficientBufferRule: Buffer is empty";else{var ye=re.getMediaInfo(),Pe=re.getAbrController(),He=Pe.getThroughputHistory(),tt=F.getCurrentBufferLevel(ee),ve=He.getAverageThroughput(ee,Ye),Oe=He.getAverageLatency(ee),_t=ve*(tt/_e)*.5;H.quality=Pe.getQualityForBitrate(ye,_t,Ae,Oe),H.reason="InsufficientBufferRule: being conservative to avoid immediate rebuffering"}return H},reset:function(){$(),q.off(_.Z.PLAYBACK_SEEKING,O,c),q.off(T.Z.BYTES_APPENDED_END_FRAGMENT,K,c)}},d=(0,e.Z)(k).getInstance().getLogger(c),$(),q.on(_.Z.PLAYBACK_SEEKING,O,c),q.on(T.Z.BYTES_APPENDED_END_FRAGMENT,K,c),c}m.__dashjs_factory_name="InsufficientBufferRule",we.Z=t.Z.getClassFactory(m)},1914:function(at,we,P){var ae=P(3860),T=P(2068),t=P(5448),e=P(7855),y=P(5595),p=P(8512),u=P(6398),_=P(3393);function m(n){n=n||{};var c,d,I,k,q=this.context,F=n.dashMetrics,$=(0,y.Z)(q).getInstance();function O(Ae){Ae.placeholderBuffer=0,Ae.mostAdvancedSegmentStart=NaN,Ae.lastSegmentWasReplacement=!1,Ae.lastSegmentStart=NaN,Ae.lastSegmentDurationS=NaN,Ae.lastSegmentRequestTimeMs=NaN,Ae.lastSegmentFinishTimeMs=NaN,Ae.lastSegmentUrl=""}function K(){for(var Ae in d)if(d.hasOwnProperty(Ae)){var Le=d[Ae];Le.state!==0&&(Le.state=1,O(Le))}}function re(Ae){if(Ae&&Ae.chunk&&Ae.chunk.mediaInfo){var Le=d[Ae.chunk.mediaInfo.type],Ye=I[Ae.chunk.mediaInfo.type];if(Le&&Le.state!==0){var ye=Ae.chunk.start;isNaN(Le.mostAdvancedSegmentStart)||ye>Le.mostAdvancedSegmentStart?(Le.mostAdvancedSegmentStart=ye,Le.lastSegmentWasReplacement=!1):Le.lastSegmentWasReplacement=!0,Le.lastSegmentStart=ye,Le.lastSegmentDurationS=Ae.chunk.duration,Le.lastQuality=Ae.chunk.quality,ee(Le,Ye)}}}function H(Ae){if(Ae&&Ae.metric===ae.Z.HTTP_REQUEST&&Ae.value&&Ae.value.type===e.w.MEDIA_SEGMENT_TYPE&&Ae.value.trace&&Ae.value.trace.length){var Le=d[Ae.mediaType],Ye=I[Ae.mediaType];Le&&Le.state!==0&&(Le.lastSegmentRequestTimeMs=Ae.value.trequest.getTime(),Le.lastSegmentFinishTimeMs=Ae.value._tfinish.getTime(),ee(Le,Ye))}}function ee(Ae,Le){isNaN(Ae.lastSegmentStart)||isNaN(Ae.lastSegmentRequestTimeMs)||(Le.segment_request_start_s=.001*Ae.lastSegmentRequestTimeMs,Le.segment_download_finish_s=.001*Ae.lastSegmentFinishTimeMs,Ae.lastSegmentStart=NaN,Ae.lastSegmentRequestTimeMs=NaN)}function se(Ae){if(Ae&&Ae.mediaType){var Le=d[Ae.mediaType];Le&&Le.state!==0&&(Le.abrQuality=Ae.newQuality)}}function _e(Ae,Le){if(Ae.length!==Le.length)return-1;for(var Ye=0,ye=0;ye<Ae.length;ye++)Ye+=Ae[ye]*Le[ye];return Ye}function X(){d={},I={}}return c={getMaxIndex:function(Ae){var Le,Ye=(0,T.Z)(q).create(),ye=Math.pow(4,.99),Pe=Math.max(Math.pow(4,1),ye*Math.sqrt(4)),He=Ae.getMediaInfo(),tt=Ae.getMediaType(),ve=He.bitrateList.map(function(Pt){return Pt.bandwidth}),Oe=ve.length,_t=Ae.getScheduleController(),dt=Ae.getStreamInfo(),ke=Ae.getAbrController(),Je=ke.getThroughputHistory(),ge=dt&&dt.manifestInfo&&dt.manifestInfo.isDynamic,me=Ae.useL2AABR(),Ue=F.getCurrentBufferLevel(tt,!0),f=Je.getSafeAverageThroughput(tt,ge),o=Je.getAverageThroughput(tt,ge),v=Je.getAverageLatency(tt),S=Ae.getVideoModel().getPlaybackRate();if(!(Ae&&Ae.hasOwnProperty("getMediaInfo")&&Ae.hasOwnProperty("getMediaType")&&Ae.hasOwnProperty("getScheduleController")&&Ae.hasOwnProperty("getStreamInfo")&&Ae.hasOwnProperty("getAbrController")&&Ae.hasOwnProperty("useL2AABR"))||(Ye.reason=Ye.reason||{},!me||tt===_.Z.AUDIO))return Ye;_t.setTimeToLoadDelay(0);var W=function(Pt){var tn=Pt.getMediaType(),dn=d[tn];return dn||(dn=function(An){var _n={},Rn=An.getMediaInfo(),qn=Rn.bitrateList.map(function(yn){return yn.bandwidth/1e3});return _n.state=1,_n.bitrates=qn,_n.lastQuality=0,function(yn){yn&&yn.type&&(I[yn.type]={},I[yn.type].w=[],I[yn.type].prev_w=[],I[yn.type].Q=0,I[yn.type].segment_request_start_s=0,I[yn.type].segment_download_finish_s=0,I[yn.type].B_target=1.5)}(Rn),O(_n),_n}(Pt),d[tn]=dn),dn}(Ae);if(W.state===0)return Ye;var V=I[tt];if(!V||(Ye.reason.state=W.state,Ye.reason.throughput=o,Ye.reason.latency=v,isNaN(o)))return Ye;switch(W.state){case 1:if(Le=ke.getQualityForBitrate(He,f,dt.id,v),Ye.quality=Le,Ye.reason.throughput=f,W.lastQuality=Le,!isNaN(W.lastSegmentDurationS)&&Ue>=V.B_target){W.state=2,V.Q=ye;for(var Se=0;Se<Oe;++Se)Se===W.lastQuality?V.prev_w[Se]=1:V.prev_w[Se]=0}break;case 2:var ze=[],Me=F.getCurrentHttpRequest(tt).trace.reduce(function(Pt,tn){return Pt+tn.d},0),De=F.getCurrentHttpRequest(tt).trace.reduce(function(Pt,tn){return Pt+tn.b[0]},0),be=Math.round(8*De/Me),xe=F.getCurrentHttpRequest(tt);if(be<1&&(be=1),xe.url===W.lastSegmentUrl||xe.type===e.w.INIT_SEGMENT_TYPE)Le=W.lastQuality;else{for(var Qe=W.lastSegmentDurationS,mt=1,it=0;it<Oe;++it)ve[it]=ve[it]/1e3,S*ve[it]>be&&(mt=-1),V.w[it]=V.prev_w[it]+mt*(Qe/(2*Pe))*((V.Q+ye)*(S*ve[it]/be));V.w=function(Pt){for(var tn=Pt.length,dn=!1,An=[],_n=0;_n<tn;++_n)An[_n]=Pt[_n];for(var Rn=Pt.sort(function(er,Kn){return Kn-er}),qn=0,yn=0,Qn=[],xn=0;xn<tn-1;++xn)if((yn=((qn+=Rn[xn])-1)/(xn+1))>=Rn[xn+1]){dn=!0;break}dn||(yn=(qn+Rn[tn-1]-1)/tn);for(var Vn=0;Vn<tn;++Vn)Qn[Vn]=Math.max(An[Vn]-yn,0);return Qn}(V.w);for(var Ut=0;Ut<Oe;++Ut)ze[Ut]=V.w[Ut]-V.prev_w[Ut],V.prev_w[Ut]=V.w[Ut];V.Q=Math.max(0,V.Q-Qe+Qe*S*((_e(ve,V.prev_w)+_e(ve,ze))/be));for(var It=[],Ft=0;Ft<Oe;++Ft)It[Ft]=Math.abs(ve[Ft]-_e(V.w,ve));(Le=It.indexOf(Math.min.apply(Math,It)))>W.lastQuality&&ve[W.lastQuality+1]<=be&&(Le=W.lastQuality+1),ve[Le]>=be&&(V.Q=2*Math.max(ye,V.Q)),W.lastSegmentUrl=xe.url}Ye.quality=Le,Ye.reason.throughput=o,Ye.reason.latency=v,Ye.reason.bufferLevel=Ue,W.lastQuality=Ye.quality;break;default:k.debug("L2A ABR rule invoked in bad state."),Ye.quality=ke.getQualityForBitrate(He,f,dt.id,v),Ye.reason.state=W.state,Ye.reason.throughput=f,Ye.reason.latency=v,W.state=1,O(W)}return Ye},reset:function(){X(),$.off(p.Z.PLAYBACK_SEEKING,K,c),$.off(p.Z.MEDIA_FRAGMENT_LOADED,re,c),$.off(p.Z.METRIC_ADDED,H,c),$.off(p.Z.QUALITY_CHANGE_REQUESTED,se,c)}},k=(0,u.Z)(q).getInstance().getLogger(c),X(),$.on(p.Z.PLAYBACK_SEEKING,K,c),$.on(p.Z.MEDIA_FRAGMENT_LOADED,re,c),$.on(p.Z.METRIC_ADDED,H,c),$.on(p.Z.QUALITY_CHANGE_REQUESTED,se,c),c}m.__dashjs_factory_name="L2ARule",we.Z=t.Z.getClassFactory(m)},6070:function(at,we,P){var ae=P(5448),T=P(6398),t=P(2068);function e(){var y,p,u=this.context;return y={getMaxIndex:function(_){for(var m=_?_.getSwitchHistory():null,n=m?m.getSwitchRequests():[],c=0,d=0,I=0,k=(0,t.Z)(u).create(),q=0;q<n.length;q++)if(n[q]!==void 0&&(c+=n[q].drops,d+=n[q].noDrops,I+=n[q].dropSize,c+d>=6&&c/d>.075)){k.quality=q>0&&n[q].drops>0?q-1:q,k.reason={index:k.quality,drops:c,noDrops:d,dropSize:I},p.debug("Switch history rule index: "+k.quality+" samples: "+(c+d)+" drops: "+c);break}return k}},p=(0,T.Z)(u).getInstance().getLogger(y),y}e.__dashjs_factory_name="SwitchHistoryRule",we.Z=ae.Z.getClassFactory(e)},5628:function(at,we,P){var ae=P(5448),T=P(2068),t=P(3393),e=P(3860);function y(p){p=p||{};var u=this.context,_=p.dashMetrics;return{getMaxIndex:function(m){var n=(0,T.Z)(u).create();if(!(m&&m.hasOwnProperty("getMediaInfo")&&m.hasOwnProperty("getMediaType")&&m.hasOwnProperty("useBufferOccupancyABR")&&m.hasOwnProperty("getAbrController")&&m.hasOwnProperty("getScheduleController")))return n;(function(){if(!_||!_.hasOwnProperty("getCurrentBufferState"))throw new Error(t.Z.MISSING_CONFIG_ERROR)})();var c=m.getMediaInfo(),d=m.getMediaType(),I=_.getCurrentBufferState(d),k=m.getScheduleController(),q=m.getAbrController(),F=m.getStreamInfo(),$=F?F.id:null,O=F&&F.manifestInfo?F.manifestInfo.isDynamic:null,K=q.getThroughputHistory(),re=K.getSafeAverageThroughput(d,O),H=K.getAverageLatency(d),ee=m.useBufferOccupancyABR();return isNaN(re)||!I||ee||q.getAbandonmentStateFor($,d)!==e.Z.ABANDON_LOAD&&(I.state===e.Z.BUFFER_LOADED||O)&&(n.quality=q.getQualityForBitrate(c,re,$,H),k.setTimeToLoadDelay(0),n.reason={throughput:re,latency:H}),n},reset:function(){}}}y.__dashjs_factory_name="ThroughputRule",we.Z=ae.Z.getClassFactory(y)},4722:function(at,we,P){var ae=P(5448),T=P(6398);function t(){var e,y,p,u,_,m,n,c,d,I=this.context;function k(){p=null,u=1,_=100,m=0,n=null,c=null,d="dynamic_weight_selection"}function q(){var re=0;if(p)for(var H=0;H<p.length;H++){var ee=p[H];ee.state.throughput>re&&(re=ee.state.throughput)}return re}function F(re,H,ee){var se=re.map(function(_e,X){return ee[X]*Math.pow(_e-H[X],2)}).reduce(function(_e,X){return _e+X});return(se<0?-1:1)*Math.sqrt(Math.abs(se))}function $(re,H){return F([re.state.throughput,re.state.latency,re.state.rebuffer,re.state.switch],[H.state.throughput,H.state.latency,H.state.rebuffer,H.state.switch],[1,1,1,1])}function O(re,H,ee){for(var se=0;se<H.length;se++){var _e=H[se],X=$(_e,re);K(_e,ee,Math.exp(-1*Math.pow(X,2)/(2*Math.pow(.1,2))))}}function K(re,H,ee){var se=re.state,_e=[.01,.01,.01,.01];se.throughput=se.throughput+(H[0]-se.throughput)*_e[0]*ee,se.latency=se.latency+(H[1]-se.latency)*_e[1]*ee,se.rebuffer=se.rebuffer+(H[2]-se.rebuffer)*_e[2]*ee,se.switch=se.switch+(H[3]-se.switch)*_e[3]*ee}return e={getNextQuality:function(re,H,ee,se,_e,X,Ae){var Le=ee,Ye=se,ye=H,Pe=function(V){if(!p){p=[];var Se=V.bitrateList,ze=[];m=Se[0].bandwidth,Se.forEach(function(xe){ze.push(xe.bandwidth),xe.bandwidth<m&&(m=xe.bandwidth)}),be=ze.map(function(xe){return Math.pow(xe,2)}).reduce(function(xe,Qe){return xe+Qe}),u=Math.sqrt(be);for(var Me=0;Me<Se.length;Me++){var De={qualityIndex:Me,bitrate:Se[Me].bandwidth,state:{throughput:Se[Me].bandwidth/u,latency:0,rebuffer:0,switch:0}};p.push(De)}c=function(xe){var Qe=[],mt=function(Cr){for(var bt=[],Et=0;Et<Cr;Et++){var Tt=[Math.random()*q(),Math.random(),Math.random(),Math.random()];bt.push(Tt)}return bt}(Math.pow(xe.length,2));Qe.push(mt[0]);for(var it=[1,1,1,1],Ut=1;Ut<xe.length;Ut++){for(var It=null,Ft=null,Pt=0;Pt<mt.length;Pt++){for(var tn=mt[Pt],dn=null,An=0;An<Qe.length;An++){var _n=F(tn,Qe[An],it);(dn===null||_n<dn)&&(dn=_n)}(Ft===null||dn>Ft)&&(It=tn,Ft=dn)}Qe.push(It)}for(var Rn=null,qn=null,yn=0;yn<Qe.length;yn++){for(var Qn=0,xn=0;xn<Qe.length;xn++)yn!==xn&&(Qn+=F(Qe[yn],Qe[xn],it));(Rn===null||Qn>Rn)&&(Rn=Qn,qn=yn)}var Vn=[];for(Vn.push(Qe[qn]),Qe.splice(qn,1);Qe.length>0;){for(var er=null,Kn=null,nr=0;nr<Qe.length;nr++){var rr=F(Vn[0],Qe[nr],it);(er===null||rr<er)&&(er=rr,Kn=nr)}Vn.push(Qe[Kn]),Qe.splice(Kn,1)}return Vn}(p)}var be;return p}(re),He=H/u;He>1&&(He=q()),ee/=_,y.debug("getNextQuality called throughput:".concat(He," latency:").concat(ee," bufferSize:").concat(se," currentQualityIndex:").concat(X," playbackRate:").concat(_e));var tt=Pe[X],ve=tt.bitrate*Ae.getSegmentDuration()/ye,Oe=Math.max(0,ve-Ye);if(Ye-ve<Ae.getMinBuffer())return y.debug("Buffer is low for bitrate= ".concat(tt.bitrate," downloadTime=").concat(ve," currentBuffer=").concat(Ye," rebuffer=").concat(Oe)),function(V,Se){var ze=0,Me=V;if(p)for(var De=0;De<p.length;De++){var be=p[De];be.bitrate<V.bitrate&&be.bitrate>ze&&Se>be.bitrate&&(ze=be.bitrate,Me=be)}return Me}(tt,ye).qualityIndex;switch(d){case"manual_weight_selection":n=[.4,.4,.4,.4];break;case"random_weight_selection":(function(V){n=function(Se,ze){for(var Me=[],De=Math.sqrt(2/Se),be=0;be<4;be++)Me.push(Math.random()*De);return n=Me}(V.length)})(Pe);break;default:(function(V,Se,ze,Me,De,be,xe){n||(n=c[c.length-1]);var Qe=V.findWeightVector(Se,ze,Me,De,be,xe);Qe!==null&&Qe!==-1&&(n=Qe)})(Ae,Pe,Le,Ye,Oe,ye,_e)}for(var _t=null,dt=null,ke=null,Je=0;Je<Pe.length;Je++){var ge=Pe[Je],me=ge.state,Ue=[me.throughput,me.latency,me.rebuffer,me.switch],f=n.slice(),o=Ae.getNextBufferWithBitrate(ge.bitrate,Ye,ye),v=o<Ae.getMinBuffer();v&&y.debug("Buffer is low for bitrate=".concat(ge.bitrate," downloadTime=").concat(ve," currentBuffer=").concat(Ye," nextBuffer=").concat(o)),(ge.bitrate>H-1e4||v)&&ge.bitrate!==m&&(f[0]=100);var S=F(Ue,[He,0,0,0],f);(_t===null||S<_t)&&(_t=S,dt=ge.qualityIndex,ke=ge)}var W=Math.abs(tt.bitrate-ke.bitrate)/u;return O(tt,Pe,[He,ee,Oe,W]),O(ke,Pe,[He,0,0,W]),dt},reset:function(){k()}},y=(0,T.Z)(I).getInstance().getLogger(e),k(),e}t.__dashjs_factory_name="LearningAbrController",we.Z=ae.Z.getClassFactory(t)},5317:function(at,we,P){var ae=P(5448),T=P(2298);function t(){var e,y,p,u,_;function m(){y=null,p=null,u=null,_=null}function n(d,I,k,q){var F=new T.Z;return F.type=d,F.weights.bitrateReward=I||1,F.weights.bitrateSwitchPenalty=1,F.weights.rebufferPenalty=k||1e3,F.weights.latencyPenalty=[],F.weights.latencyPenalty.push({threshold:1.1,penalty:.05*q}),F.weights.latencyPenalty.push({threshold:1e8,penalty:.1*k}),F.weights.playbackSpeedPenalty=q||200,F}function c(d,I,k,q,F){F.bitrateWSum+=F.weights.bitrateReward*d,F.lastBitrate&&(F.bitrateSwitchWSum+=F.weights.bitrateSwitchPenalty*Math.abs(d-F.lastBitrate)),F.lastBitrate=d,F.rebufferWSum+=F.weights.rebufferPenalty*I;for(var $=0;$<F.weights.latencyPenalty.length;$++){var O=F.weights.latencyPenalty[$];if(k<=O.threshold){F.latencyWSum+=O.penalty*k;break}}F.playbackSpeedWSum+=F.weights.playbackSpeedPenalty*Math.abs(1-q),F.totalQoe=F.bitrateWSum-F.bitrateSwitchWSum-F.rebufferWSum-F.latencyWSum-F.playbackSpeedWSum}return e={setupPerSegmentQoe:function(d,I,k){y=n("segment",d,I,k),p=d,u=I,_=k},logSegmentMetrics:function(d,I,k,q){y&&c(d,I,k,q,y)},getPerSegmentQoe:function(){return y},calculateSingleUseQoe:function(d,I,k,q){var F=null;return p&&u&&_&&(F=n("segment",p,u,_)),F?(c(d,I,k,q,F),F.totalQoe):0},reset:function(){m()}},m(),e}t.__dashjs_factory_name="LoLpQoeEvaluator",we.Z=ae.Z.getClassFactory(t)},5435:function(at,we,P){var ae=P(6398),T=P(5448),t=P(4722),e=P(5317),y=P(2068),p=P(3860),u=P(6523),_=P(3393);function m(n){var c,d,I,k,q=(n=n||{}).dashMetrics,F=this.context;return d={getMaxIndex:function($){try{var O=(0,y.Z)(F).create(),K=$.getMediaInfo().type,re=$.getAbrController(),H=$.getStreamInfo(),ee=re.getQualityFor(K,H.id),se=$.getMediaInfo(),_e=q.getCurrentBufferState(K),X=$.getScheduleController(),Ae=q.getCurrentBufferLevel(K,!0),Le=H&&H.manifestInfo?H.manifestInfo.isDynamic:null,Ye=X.getPlaybackController(),ye=Ye.getCurrentLiveLatency();if(!$.useLoLPABR()||K===_.Z.AUDIO)return O;ye||(ye=0);var Pe=Ye.getPlaybackRate(),He=re.getThroughputHistory().getSafeAverageThroughput(K,Le);if(c.debug("Throughput ".concat(Math.round(He)," kbps")),isNaN(He)||!_e||re.getAbandonmentStateFor(H.id,K)===p.Z.ABANDON_LOAD)return O;for(var tt=se.bitrateList,ve=$.getRepresentationInfo().fragmentDuration,Oe=tt[0].bandwidth/1e3,_t=tt[tt.length-1].bandwidth/1e3,dt=0;dt<tt.length;dt++){var ke=tt[dt].bandwidth/1e3;ke>_t?_t=ke:ke<Oe&&(Oe=ke)}var Je=tt[ee].bandwidth/1e3,ge=q.getCurrentHttpRequest(K,!0),me=(ge.tresponse.getTime()-ge.trequest.getTime())/1e3,Ue=me>ve?me-ve:0;k.setupPerSegmentQoe(ve,_t,Oe),k.logSegmentMetrics(Je,Ue,ye,Pe);var f=(0,u.Z)(F).create({targetLatency:1.5,bufferMin:.3,segmentDuration:ve,qoeEvaluator:k});return O.quality=I.getNextQuality(se,1e3*He,ye,Ae,Pe,ee,f),O.reason={throughput:He,latency:ye},O.priority=y.Z.PRIORITY.STRONG,X.setTimeToLoadDelay(0),O.quality!==ee&&c.debug("[TgcLearningRule]["+K+"] requesting switch to index: ",O.quality,"Average throughput",Math.round(He),"kbps"),O}catch(o){throw o}},reset:function(){I.reset(),k.reset()}},c=(0,ae.Z)(F).getInstance().getLogger(d),I=(0,t.Z)(F).create(),k=(0,e.Z)(F).create(),d}m.__dashjs_factory_name="LoLPRule",we.Z=T.Z.getClassFactory(m)},6523:function(at,we,P){var ae=P(5448);function T(t){var e,y,p,u,_=t.targetLatency,m=t.bufferMin,n=t.segmentDuration,c=t.qoeEvaluator;function d(){return n}function I(k,q){var F=d();return q>F?k-F:k+F-q}return e={getMinBuffer:function(){return m},getSegmentDuration:d,getNextBufferWithBitrate:function(k,q,F){return I(q,k*n/F)},getNextBuffer:I,findWeightVector:function(k,q,F,$,O,K){var re=null,H=null,ee=null,se=Math.abs(q-p);return k.forEach(function(_e){y.forEach(function(X){X[0];var Ae=X[1],Le=X[2],Ye=(X[3],_e.bitrate*n/O),ye=I(F,Ye),Pe=(Le===0?10:1/Le)*Math.max(1e-5,Ye-ye),He=(Ae===0?10:1/Ae)*_e.state.latency,tt=c.calculateSingleUseQoe(_e.bitrate,Pe,He,K);(re===null||tt>re)&&function(ve,Oe,_t){return!(ve>_+_t)&&Oe>=m}(q,ye,se)&&(re=tt,H=X,ee=_e.bitrate)})}),H===null&&ee===null&&(H=-1),p=q,H}},y=function k(q,F,$){if($===F)return q;for(var O=q.length,K=0;K<O;K++)for(var re=q.shift(),H=0;H<u.length;H++)q.push(re.concat(u[H]));return k(q,F,$+1)}((u=[.2,.4,.6,.8,1]).map(function(k){return[k]}),4,1),p=0,e}T.__dashjs_factory_name="LoLpWeightSelector",we.Z=ae.Z.getClassFactory(T)},2298:function(at,we){we.Z=function P(){(function(ae,T){if(!(ae instanceof T))throw new TypeError("Cannot call a class as a function")})(this,P),this.type=null,this.lastBitrate=null,this.weights={},this.weights.bitrateReward=null,this.weights.bitrateSwitchPenalty=null,this.weights.rebufferPenalty=null,this.weights.latencyPenalty=null,this.weights.playbackSpeedPenalty=null,this.bitrateWSum=0,this.bitrateSwitchWSum=0,this.rebufferWSum=0,this.latencyWSum=0,this.playbackSpeedWSum=0,this.totalQoe=0}},7803:function(at,we,P){P.d(we,{Y:function(){return c}});var ae=P(3393),T=P(1553),t=P(5448),e=P(2128),y=P(2594),p=P(7387),u=P(7417),_=P(9032),m=P(9326),n=P(7802),c=["http://dashif.org/thumbnail_tile","http://dashif.org/guidelines/thumbnail_tile"];function d(I){var k,q,F,$,O,K,re,H,ee=this.context,se=I.adapter,_e=I.baseURLController,X=I.streamInfo,Ae=I.timelineConverter,Le=I.debug,Ye=I.eventBus,ye=I.events,Pe=I.dashConstants,He=(0,y.Z)(ee).getInstance();function tt(Oe,_t){var dt=new e.Z;dt.id=Oe.id,dt.bitrate=Oe.bandwidth,dt.width=Oe.width,dt.height=Oe.height,dt.tilesHor=1,dt.tilesVert=1,Oe.essentialProperties&&Oe.essentialProperties.forEach(function(ke){if(c.indexOf(ke.schemeIdUri)>=0&&ke.value){var Je=ke.value.split("x");Je.length!==2||isNaN(Je[0])||isNaN(Je[1])||(dt.tilesHor=parseInt(Je[0],10),dt.tilesVert=parseInt(Je[1],10))}}),_t?K.updateSegmentData(Oe).then(function(ke){(function(Je,ge,me){var Ue=[],f=function(o,v){var S,W,V,Se,ze=[],Me=0;for(S=0,W=o.segments.length;S<W;S++)V=o.segments[S],(Se=(0,p.TJ)(Ae,se.getIsDynamic(),v,V.startTime,V.duration,V.timescale,V.media,V.mediaRange,Me))&&(ze.push(Se),Se=null,Me++);return ze}(me,ge);ge.segments=f,Je.segmentDuration=ge.segments[0].duration,Je.readThumbnail=function(o,v){var S=null;Ue.some(function(W){if(W.start<=o&&W.end>o)return S=W.url,!0}),S?v(S):ge.segments.some(function(W){if(W.mediaStartTime<=o&&W.mediaStartTime+W.duration>o){var V=_e.resolve(ge.path);return re.load({method:"get",url:V.url,request:{range:W.mediaRange,responseType:"arraybuffer"},onload:function(Se){var ze=H.getSamplesInfo(Se.target.response),Me=new Blob([Se.target.response.slice(ze.sampleList[0].offset,ze.sampleList[0].offset+ze.sampleList[0].size)],{type:"image/jpeg"}),De=window.URL.createObjectURL(Me);Ue.push({start:W.mediaStartTime,end:W.mediaStartTime+W.duration,url:De}),v&&v(De)}}),!0}})}})(dt,Oe,ke)}):(dt.startNumber=Oe.startNumber,dt.segmentDuration=Oe.segmentDuration,dt.timescale=Oe.timescale,dt.templateUrl=function(ke){var Je=He.isRelative(ke.media)?He.resolve(ke.media,_e.resolve(ke.path).url):ke.media;return Je?(0,p.Aj)(Je,ke.id):""}(Oe)),dt.tilesHor>0&&dt.tilesVert>0&&(dt.widthPerTile=dt.width/dt.tilesHor,dt.heightPerTile=dt.height/dt.tilesVert,q.push(dt))}function ve(){q=[],$=-1,O=null}return k={getTracks:function(){return q},addTracks:function(){if(X&&se&&(O=se.getMediaInfoForType(X,ae.Z.IMAGE))){var Oe=se.getVoRepresentations(O);Oe&&Oe.length>0&&Oe.forEach(function(_t){(_t.segmentInfoType===T.Z.SEGMENT_TEMPLATE&&_t.segmentDuration>0&&_t.media||_t.segmentInfoType===T.Z.SEGMENT_TIMELINE)&&tt(_t),_t.segmentInfoType===T.Z.SEGMENT_BASE&&tt(_t,!0)}),q.length>0&&q.sort(function(_t,dt){return _t.bitrate-dt.bitrate})}},reset:ve,setTrackByIndex:function(Oe){q&&q.length!==0&&(Oe>=q.length&&(Oe=q.length-1),$=Oe)},getCurrentTrack:function(){return $<0?null:q[$]},getCurrentTrackIndex:function(){return $},getThumbnailRequestForTime:function(Oe){for(var _t,dt=se.getVoRepresentations(O),ke=0;ke<dt.length;ke++)if(q[$].id===dt[ke].id){_t=dt[ke];break}return F.getSegmentRequestForTime(O,_t,Oe)}},ve(),re=(0,_.Z)(ee).create({}),H=(0,u.Z)(ee).getInstance(),K=(0,n.Z)(ee).create({events:ye,eventBus:Ye,streamInfo:X,timelineConverter:Ae,dashConstants:Pe,dashMetrics:I.dashMetrics,segmentBaseController:I.segmentBaseController,type:ae.Z.IMAGE}),(F=(0,m.Z)(ee).create({streamInfo:X,type:ae.Z.IMAGE,timelineConverter:Ae,segmentsController:K,baseURLController:_e,debug:Le,eventBus:Ye,events:ye,dashConstants:Pe,urlUtils:He})).initialize(!!se&&se.getIsDynamic()),k}d.__dashjs_factory_name="ThumbnailTracks",we.Z=t.Z.getClassFactory(d)},7417:function(at,we,P){var ae=P(6398),T=P(8260),t=P(5448),e=P(6934),y=P(9597);function p(){var u,_,m=this.context;function n(I){if(!I)return null;I.fileStart===void 0&&(I.fileStart=0);var k=e.parseBuffer(I),q=(0,T.Z)(m).create();return q.setData(k),q}function c(I,k){return I[k+3]>>>0|I[k+2]<<8>>>0|I[k+1]<<16>>>0|I[k]<<24>>>0}function d(I,k){return String.fromCharCode(I[k++])+String.fromCharCode(I[k++])+String.fromCharCode(I[k++])+String.fromCharCode(I[k])}return _={parse:n,findLastTopIsoBoxCompleted:function(I,k,q){if(q===void 0&&(q=0),!k||q+8>=k.byteLength)return new y.Z(0,!1);for(var F,$=k instanceof ArrayBuffer?new Uint8Array(k):k,O=0;q<$.byteLength;){var K=c($,q),re=d($,q+4);if(K===0)break;q+K<=$.byteLength&&(I.indexOf(re)>=0?F=new y.Z(q,!0,K):O=q+K),q+=K}return F||new y.Z(O,!1)},getMediaTimescaleFromMoov:function(I){var k=n(I),q=k?k.getBox("mdhd"):void 0;return q?q.timescale:NaN},getSamplesInfo:function(I){if(!I||I.byteLength===0)return{sampleList:[],lastSequenceNumber:NaN,totalDuration:NaN,numSequences:NaN};var k,q,F,$,O,K,re,H,ee,se,_e,X,Ae,Le,Ye,ye,Pe=n(I),He=Pe.getBoxes("moof"),tt=Pe.getBoxes("mfhd");Ye=Pe.getBoxes("moof").length,Le=tt[tt.length-1].sequence_number,q=0,O=[];var ve=-1,Oe=-1;for(se=0;se<He.length;se++){var _t=He[se],dt=_t.getChildBoxes("traf");for(H=0;H<dt.length;H++){var ke=dt[H],Je=ke.getChildBox("tfhd"),ge=ke.getChildBox("tfdt");$=ge.baseMediaDecodeTime;var me=ke.getChildBoxes("trun"),Ue=ke.getChildBoxes("subs");for(ee=0;ee<me.length;ee++){var f=me[ee];for(q=f.sample_count,Ae=(Je.base_data_offset||0)+(f.data_offset||0),re=0;re<q;re++){k=(K=f.samples[re]).sample_duration!==void 0?K.sample_duration:Je.default_sample_duration,F=K.sample_size!==void 0?K.sample_size:Je.default_sample_size;var o={dts:$,cts:$+(K.sample_composition_time_offset!==void 0?K.sample_composition_time_offset:0),duration:k,offset:_t.offset+Ae,size:F,subSizes:[F]};if(Ue)for(_e=0;_e<Ue.length;_e++){var v=Ue[_e];if(ve<v.entry_count-1&&re>Oe&&(ve++,Oe+=v.entries[ve].sample_delta),re==Oe){o.subSizes=[];var S=v.entries[ve];for(X=0;X<S.subsample_count;X++)o.subSizes.push(S.subsamples[X].subsample_size)}}O.push(o),Ae+=F,$+=k}}ye=$-ge.baseMediaDecodeTime}}return{sampleList:O,lastSequenceNumber:Le,totalDuration:ye,numSequences:Ye}},findInitRange:function(I){var k=null,q=n(I);if(!q)return k;var F=q.getBox("ftyp"),$=q.getBox("moov");return u.debug("Searching for initialization."),$&&$.isComplete&&(k=(F?F.offset:$.offset)+"-"+($.offset+$.size-1),u.debug("Found the initialization.  Range: "+k)),k},parsePayload:function(I,k,q){if(q===void 0&&(q=0),!k||q+8>=k.byteLength)return new y.Z(0,!1);for(var F,$=k instanceof ArrayBuffer?new Uint8Array(k):k,O=0;q<$.byteLength;){var K=c($,q),re=d($,q+4);if(K===0)break;q+K<=$.byteLength&&(I.indexOf(re)>=0?F=new y.Z(q,!0,K,re):O=q+K),q+=K}return F||new y.Z(O,!1)}},u=(0,ae.Z)(m).getInstance().getLogger(_),_}p.__dashjs_factory_name="BoxParser",we.Z=t.Z.getSingletonFactory(p)},1715:function(at,we,P){P.d(we,{B:function(){return y}});var ae=P(5448),T=P(7803),t=P(3393),e=[{codec:"avc1",compatibleCodecs:["avc3"]},{codec:"avc3",compatibleCodecs:["avc1"]}];function y(){var u="ManagedMediaSource"in window,_="WebKitMediaSource"in window,m="MediaSource"in window;return u||_||m}function p(){var u,_,m;return u={setConfig:function(n){n&&n.settings&&(_=n.settings)},supportsMediaSource:y,supportsEncryptedMedia:function(){return m},supportsCodec:function(n,c){return c!==t.Z.AUDIO&&c!==t.Z.VIDEO?Promise.resolve(!0):function(d,I){return _.get().streaming.capabilities.useMediaCapabilitiesApi&&navigator.mediaCapabilities&&navigator.mediaCapabilities.decodingInfo&&(d.codec&&I===t.Z.AUDIO||I===t.Z.VIDEO&&d.codec&&d.width&&d.height&&d.bitrate&&d.framerate)}(n,c)?function(d,I){return new Promise(function(k){if(d&&d.codec){var q={type:"media-source"};q[I]={},q[I].contentType=d.codec,q[I].width=d.width,q[I].height=d.height,q[I].bitrate=parseInt(d.bitrate),q[I].framerate=parseFloat(d.framerate),navigator.mediaCapabilities.decodingInfo(q).then(function(F){k(F.supported)}).catch(function(){k(!1)})}else k(!1)})}(n,c):function(d){return new Promise(function(I){if(d&&d.codec){var k=d.codec;d.width&&d.height&&(k+=';width="'+d.width+'";height="'+d.height+'"'),"ManagedMediaSource"in window&&ManagedMediaSource.isTypeSupported(k)||"MediaSource"in window&&MediaSource.isTypeSupported(k)||"WebKitMediaSource"in window&&WebKitMediaSource.isTypeSupported(k)?I(!0):I(!1)}else I(!1)})}(n)},setEncryptedMediaSupported:function(n){m=n},supportsEssentialProperty:function(n){try{return T.Y.indexOf(n.schemeIdUri)!==-1||t.Z.FONT_DOWNLOAD_DVB_SCHEME===n.schemeIdUri}catch{return!0}},codecRootCompatibleWithCodec:function(n,c){for(var d,I=n.split(".")[0],k=c.indexOf(I)===0,q=0;q<e.length;q++)if(e[q].codec===I){d=e[q];break}return d?k||d.compatibleCodecs.some(function(F){return c.indexOf(F)===0}):k}},m=!1,u}p.__dashjs_factory_name="Capabilities",we.Z=ae.Z.getSingletonFactory(p)},2295:function(at,we,P){var ae=P(5448),T=P(3106);function t(){return{customTimeRangeArray:[],length:0,add:function(e,y){var p;for(p=0;p<this.customTimeRangeArray.length&&e>this.customTimeRangeArray[p].start;p++);for(this.customTimeRangeArray.splice(p,0,{start:e,end:y}),p=0;p<this.customTimeRangeArray.length-1;p++)this.mergeRanges(p,p+1)&&p--;this.length=this.customTimeRangeArray.length},clear:function(){this.customTimeRangeArray=[],this.length=0},remove:function(e,y){for(var p=0;p<this.customTimeRangeArray.length;p++)if(e<=this.customTimeRangeArray[p].start&&y>=this.customTimeRangeArray[p].end)this.customTimeRangeArray.splice(p,1),p--;else{if(e>this.customTimeRangeArray[p].start&&y<this.customTimeRangeArray[p].end){this.customTimeRangeArray.splice(p+1,0,{start:y,end:this.customTimeRangeArray[p].end}),this.customTimeRangeArray[p].end=e;break}e>this.customTimeRangeArray[p].start&&e<this.customTimeRangeArray[p].end?this.customTimeRangeArray[p].end=e:y>this.customTimeRangeArray[p].start&&y<this.customTimeRangeArray[p].end&&(this.customTimeRangeArray[p].start=y)}this.length=this.customTimeRangeArray.length},mergeRanges:function(e,y){var p=this.customTimeRangeArray[e],u=this.customTimeRangeArray[y];return p.start<=u.start&&u.start<=p.end&&p.end<=u.end?(p.end=u.end,this.customTimeRangeArray.splice(y,1),!0):u.start<=p.start&&p.start<=u.end&&u.end<=p.end?(p.start=u.start,this.customTimeRangeArray.splice(y,1),!0):u.start<=p.start&&p.start<=u.end&&p.end<=u.end?(this.customTimeRangeArray.splice(e,1),!0):p.start<=u.start&&u.start<=p.end&&u.end<=p.end&&(this.customTimeRangeArray.splice(y,1),!0)},start:function(e){return(0,T.SE)(e),e>=this.customTimeRangeArray.length||e<0?NaN:this.customTimeRangeArray[e].start},end:function(e){return(0,T.SE)(e),e>=this.customTimeRangeArray.length||e<0?NaN:this.customTimeRangeArray[e].end}}}t.__dashjs_factory_name="CustomTimeRanges",we.Z=ae.Z.getClassFactory(t)},5:function(at,we,P){var ae=P(5448);function T(){var t,e=/^[a-z][a-z0-9+\-_.]*:/i,y=/^https?:\/\//i,p=/^https:\/\//i,u=/^([a-z][a-z0-9+\-_.]*:\/\/[^\/]+)\/?/i,_=function(F,$){try{return new window.URL(F,$).toString()}catch{return F}},m=function(F,$){var O=n;if(!$||!I(F))return F;k(F)&&(O=c),q(F)&&(O=d);var K=O($),re=K.charAt(K.length-1)!=="/"&&F.charAt(0)!=="/"?"/":"";return[K,F].join(re)};function n(F){var $=F.indexOf("/"),O=F.lastIndexOf("/");return $!==-1?O===$+1?F:(F.indexOf("?")!==-1&&(F=F.substring(0,F.indexOf("?"))),F.substring(0,O+1)):""}function c(F){var $=F.match(u);return $?$[1]:""}function d(F){var $=F.match(e);return $?$[0]:""}function I(F){return!e.test(F)}function k(F){return I(F)&&F.charAt(0)==="/"}function q(F){return F.indexOf("//")===0}return function(){try{new window.URL("x","http://y"),t=_}catch{}finally{t=t||m}}(),{parseBaseUrl:n,parseOrigin:c,parseScheme:d,isRelative:I,isPathAbsolute:k,isSchemeRelative:q,isHTTPURL:function(F){return y.test(F)},isHTTPS:function(F){return p.test(F)},removeHostname:function(F){return/^(?:\w+\:\/\/)?([^\/]+)(.*)$/.exec(F)[2].substring(1)},resolve:function(F,$){return t(F,$)}}}T.__dashjs_factory_name="DefaultURLUtils",we.Z=ae.Z.getSingletonFactory(T)},8260:function(at,we,P){var ae=P(2839),T=P(5448);function t(){var e;function y(u){var _=[];if(!u||!e||typeof e.fetchAll!="function")return _;for(var m,n=e.fetchAll(u),c=0,d=n.length;c<d;c++)(m=p(n[c]))&&_.push(m);return _}function p(u){if(!u)return null;var _=new ae.Z(u);return u.hasOwnProperty("_incomplete")&&(_.isComplete=!u._incomplete),_}return{getBox:function(u){return u&&e&&e.boxes&&e.boxes.length!==0&&typeof e.fetch=="function"?p(e.fetch(u)):null},getBoxes:y,setData:function(u){e=u},getLastBox:function(){if(!e||!e.boxes||!e.boxes.length)return null;var u=y(e.boxes[e.boxes.length-1].type);return u.length>0?u[u.length-1]:null}}}t.__dashjs_factory_name="IsoFile",we.Z=T.Z.getClassFactory(t)},7473:function(at,we,P){P.d(we,{k:function(){return T}});var ae=P(5448);function T(e,y){var p={url:e.url,method:e.method,headers:Object.assign({},e.headers),credentials:e.withCredentials?"include":void 0,range:e.request.range};return Promise.resolve(y.modifyRequest(p)).then(function(){return Object.assign(e,p,{withCredentials:p.credentials==="include"})})}function t(){return{modifyRequest:null,modifyRequestURL:function(e){return e},modifyRequestHeader:function(e,y){return y.url,e}}}t.__dashjs_factory_name="RequestModifier",we.Z=ae.Z.getSingletonFactory(t)},3106:function(at,we,P){P.d(we,{PS:function(){return t},SE:function(){return e}});var ae=P(3393);function T(y){return T=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(p){return typeof p}:function(p){return p&&typeof Symbol=="function"&&p.constructor===Symbol&&p!==Symbol.prototype?"symbol":typeof p},T(y)}function t(y,p){if(T(y)!==p)throw ae.Z.BAD_ARGUMENT_ERROR}function e(y){if(y===null||isNaN(y)||y%1!=0)throw ae.Z.BAD_ARGUMENT_ERROR+" : argument is not an integer"}},2594:function(at,we,P){var ae=P(5448),T=P(5);function t(){var y,p=[],u=this.context;function _(m,n,c){var d=function(I){var k;for(k=0;k<p.length;k++)if(p[k].regex.test(I))return p[k].utils;return y}(c||n);return d&&typeof d[m]=="function"?d[m](n,c):y[m](n,c)}return y=(0,T.Z)(u).getInstance(),{registerUrlRegex:function(m,n){p.push({regex:m,utils:n})},parseBaseUrl:function(m){return _("parseBaseUrl",m)},parseOrigin:function(m){return _("parseOrigin",m)},parseScheme:function(m){return _("parseScheme",m)},isRelative:function(m){return _("isRelative",m)},isPathAbsolute:function(m){return _("isPathAbsolute",m)},isSchemeRelative:function(m){return _("isSchemeRelative",m)},isHTTPURL:function(m){return _("isHTTPURL",m)},isHTTPS:function(m){return _("isHTTPS",m)},removeHostname:function(m){return _("removeHostname",m)},resolve:function(m,n){return _("resolve",m,n)}}}t.__dashjs_factory_name="URLUtils";var e=ae.Z.getSingletonFactory(t);we.Z=e},5459:function(at,we){we.Z=function P(ae,T,t){(function(e,y){if(!(e instanceof y))throw new TypeError("Cannot call a class as a function")})(this,P),this.code=ae||null,this.message=T||null,this.data=t||null}},3186:function(at,we,P){var ae=P(7855);function T(e,y){for(var p=0;p<y.length;p++){var u=y[p];u.enumerable=u.enumerable||!1,u.configurable=!0,"value"in u&&(u.writable=!0),Object.defineProperty(e,u.key,u)}}var t=function(){function e(u){(function(_,m){if(!(_ instanceof m))throw new TypeError("Cannot call a class as a function")})(this,e),this.action=e.ACTION_DOWNLOAD,this.startTime=NaN,this.mediaStartTime=NaN,this.mediaType=null,this.mediaInfo=null,this.type=null,this.duration=NaN,this.timescale=NaN,this.range=null,this.url=u||null,this.serviceLocation=null,this.requestStartDate=null,this.firstByteDate=null,this.requestEndDate=null,this.quality=NaN,this.index=NaN,this.availabilityStartTime=null,this.availabilityEndTime=null,this.wallStartTime=null,this.bytesLoaded=NaN,this.bytesTotal=NaN,this.delayLoadingTime=NaN,this.responseType="arraybuffer",this.representationId=null}var y,p;return y=e,(p=[{key:"isInitializationRequest",value:function(){return this.type&&this.type===ae.w.INIT_SEGMENT_TYPE}},{key:"setInfo",value:function(u){this.type=u&&u.init?ae.w.INIT_SEGMENT_TYPE:ae.w.MEDIA_SEGMENT_TYPE,this.url=u&&u.url?u.url:null,this.range=u&&u.range?u.range.start+"-"+u.range.end:null,this.mediaType=u&&u.mediaType?u.mediaType:null}}])&&T(y.prototype,p),e}();t.ACTION_DOWNLOAD="download",t.ACTION_COMPLETE="complete",we.Z=t},2839:function(at,we){function P(T,t){for(var e=0;e<t.length;e++){var y=t[e];y.enumerable=y.enumerable||!1,y.configurable=!0,"value"in y&&(y.writable=!0),Object.defineProperty(T,y.key,y)}}var ae=function(){function T(y){if(function(d,I){if(!(d instanceof I))throw new TypeError("Cannot call a class as a function")}(this,T),this.offset=y._offset,this.type=y.type,this.size=y.size,this.boxes=[],y.boxes)for(var p=0;p<y.boxes.length;p++)this.boxes.push(new T(y.boxes[p]));switch(this.isComplete=!0,y.type){case"sidx":if(this.timescale=y.timescale,this.earliest_presentation_time=y.earliest_presentation_time,this.first_offset=y.first_offset,this.references=y.references,y.references){this.references=[];for(var u=0;u<y.references.length;u++){var _={reference_type:y.references[u].reference_type,referenced_size:y.references[u].referenced_size,subsegment_duration:y.references[u].subsegment_duration};this.references.push(_)}}break;case"emsg":this.id=y.id,this.version=y.version===1?1:0,this.value=y.value,this.timescale=y.timescale,this.scheme_id_uri=y.scheme_id_uri,this.presentation_time_delta=y.version===1?y.presentation_time:y.presentation_time_delta,this.event_duration=y.event_duration,this.message_data=y.message_data;break;case"mdhd":this.timescale=y.timescale;break;case"mfhd":this.sequence_number=y.sequence_number;break;case"subs":this.entry_count=y.entry_count,this.entries=y.entries;break;case"tfhd":this.base_data_offset=y.base_data_offset,this.sample_description_index=y.sample_description_index,this.default_sample_duration=y.default_sample_duration,this.default_sample_size=y.default_sample_size,this.default_sample_flags=y.default_sample_flags,this.flags=y.flags;break;case"tfdt":this.version=y.version,this.baseMediaDecodeTime=y.baseMediaDecodeTime,this.flags=y.flags;break;case"trun":if(this.sample_count=y.sample_count,this.first_sample_flags=y.first_sample_flags,this.data_offset=y.data_offset,this.flags=y.flags,this.samples=y.samples,y.samples){this.samples=[];for(var m=0,n=y.samples.length;m<n;m++){var c={sample_size:y.samples[m].sample_size,sample_duration:y.samples[m].sample_duration,sample_composition_time_offset:y.samples[m].sample_composition_time_offset};this.samples.push(c)}}break;case"prft":this.version=y.version,this.reference_track_ID=y.reference_track_ID,this.ntp_timestamp_sec=y.ntp_timestamp_sec,this.ntp_timestamp_frac=y.ntp_timestamp_frac,this.media_time=y.media_time,this.flags=y.flags}}var t,e;return t=T,(e=[{key:"getChildBox",value:function(y){for(var p=0;p<this.boxes.length;p++)if(this.boxes[p].type===y)return this.boxes[p]}},{key:"getChildBoxes",value:function(y){for(var p=[],u=0;u<this.boxes.length;u++)this.boxes[u].type===y&&p.push(this.boxes[u]);return p}}])&&P(t.prototype,e),T}();we.Z=ae},9597:function(at,we){we.Z=function P(ae,T,t){(function(e,y){if(!(e instanceof y))throw new TypeError("Cannot call a class as a function")})(this,P),this.lastCompletedOffset=ae,this.found=T,this.size=t}},2128:function(at,we){we.Z=function P(){(function(ae,T){if(!(ae instanceof T))throw new TypeError("Cannot call a class as a function")})(this,P),this.bitrate=0,this.width=0,this.height=0,this.tilesHor=0,this.tilesVert=0,this.widthPerTile=0,this.heightPerTile=0,this.startNumber=0,this.segmentDuration=0,this.timescale=0,this.templateUrl="",this.id=""}},7855:function(at,we,P){function ae(e,y){if(!(e instanceof y))throw new TypeError("Cannot call a class as a function")}P.d(we,{O:function(){return t},w:function(){return T}});var T=function e(){ae(this,e),this.tcpid=null,this.type=null,this.url=null,this.actualurl=null,this.range=null,this.trequest=null,this.tresponse=null,this.responsecode=null,this.interval=null,this.trace=[],this.cmsd=null,this._stream=null,this._tfinish=null,this._mediaduration=null,this._quality=null,this._responseHeaders=null,this._serviceLocation=null,this._fileLoaderType=null},t=function e(){ae(this,e),this.s=null,this.d=null,this.b=[]};T.GET="GET",T.HEAD="HEAD",T.MPD_TYPE="MPD",T.XLINK_EXPANSION_TYPE="XLinkExpansion",T.INIT_SEGMENT_TYPE="InitializationSegment",T.INDEX_SEGMENT_TYPE="IndexSegment",T.MEDIA_SEGMENT_TYPE="MediaSegment",T.BITSTREAM_SWITCHING_SEGMENT_TYPE="BitstreamSwitchingSegment",T.MSS_FRAGMENT_INFO_SEGMENT_TYPE="FragmentInfoSegment",T.DVB_REPORTING_TYPE="DVBReporting",T.LICENSE="license",T.CONTENT_STEERING_TYPE="ContentSteering",T.OTHER_TYPE="other"},3039:function(at,we){function P(T,t){return function(e,y){for(var p,u,_,m=ae(e,"tag"),n=ae(y??"*","range"),c=[],d=-1;++d<n.length;)if(p=n[d].toLowerCase(),t||p!=="*"){for(u=-1,_=[];++u<m.length;)if(T(m[u].toLowerCase(),p)){if(!t)return m[u];c.push(m[u])}else _.push(m[u]);m=_}return t?c:void 0}}function ae(T,t){var e=T&&typeof T=="string"?[T]:T;if(!e||typeof e!="object"||!("length"in e))throw new Error("Invalid "+t+" `"+e+"`, expected non-empty string");return e}we.basicFilter=P(function(T,t){return t==="*"||T===t||T.indexOf(t+"-")>-1},!0),we.extendedFilter=P(function(T,t){var e=T.split("-"),y=t.split("-"),p=0,u=0;if(y[u]!=="*"&&e[p]!==y[u])return!1;for(p++,u++;u<y.length;)if(y[u]!=="*"){if(!e[p])return!1;if(e[p]!==y[u]){if(e[p].length===1)return!1;p++}else p++,u++}else u++;return!0},!0),we.lookup=P(function(T,t){for(var e,y=t;;){if(y==="*"||T===y)return!0;if((e=y.lastIndexOf("-"))<0)return!1;y.charAt(e-2)==="-"&&(e-=2),y=y.slice(0,e)}})},3973:function(at,we,P){at.exports=P(3854)},3854:function(at,we,P){var ae=P(2415),T=P(3039),t=P(7778),e=P(5813),y=P(3165),p=P(9460);at.exports=function(k,q){var F,$=q||{},O=ae.parse(String(k||"").toLowerCase(),$),K=ae.stringify(O),re=-1;if(!K)return K;for(;++re<t.length;)T.extendedFilter(K,t[re].from).length&&(n(O,t[re].from,t[re].to),K=ae.stringify(O));for(re=-1;++re<e.length;)c(O,e[re].from.field,e[re].from.value)&&d(O,e[re].to.field,e[re].to.value);for(K=ae.stringify(Object.assign({},O,m)),re=-1;++re<y.length;)K===y[re]&&(n(O,y[re],y[re].split("-").slice(0,-1).join("-")),K=ae.stringify(Object.assign({},O,m)));if(O.extensions.sort(I),$.warning)for(F in p)u.call(p[F],O[F])&&$.warning("Deprecated "+F+" `"+O[F]+"`, expected one of `"+p[F][O[F]].join("`, `")+"`",null,7);return O.script&&(O.script=O.script.charAt(0).toUpperCase()+O.script.slice(1)),O.region&&(O.region=O.region.toUpperCase()),ae.stringify(O)};var u={}.hasOwnProperty,_=new Intl.Collator,m={variants:[],extensions:[],privateuse:[],irregular:null,regular:null};function n(k,q,F){var $,O=ae.parse(q),K=ae.parse(F),re=[];for($ in O)O[$]&&O[$].length&&c(k,$,O[$])&&re.push($);for($ in K)K[$]&&K[$].length&&(re.indexOf($)>-1||!k[$]||!k[$].length)&&d(k,$,K[$])}function c(k,q,F){var $,O,K,re,H=!1;if(F){if(O=$=k[q],$&&typeof $=="object")for(O=[],K=-1;++K<$.length;)re=$[K],F.indexOf(re)<0?O.push(re):H=!0;else $===F&&(O=null,H=!0);k[q]=O}return H}function d(k,q,F){var $,O,K,re=k[q];if(re&&typeof re=="object")for($=[].concat(F),O=-1;++O<$.length;)K=$[O],re.indexOf(K)<0&&re.push(K);else k[q]=F}function I(k,q){return _.compare(k.singleton,q.singleton)}},2415:function(at,we,P){we.parse=P(6903),we.stringify=P(6713)},6903:function(at,we,P){var ae=P(2219),T=P(3516),t=P(395),e=P(858),y=P(8589);at.exports=function u(_,m){var n,c,d,I=m||{},k={language:null,extendedLanguageSubtags:[],script:null,region:null,variants:[],extensions:[],privateuse:[],irregular:null,regular:null},q=String(_),F=q.toLowerCase(),$=0;if(_==null)throw new Error("Expected string, got `"+_+"`");if(p.call(y,F))return(I.normalize==null||I.normalize)&&y[F]?u(y[F]):(k[e.indexOf(F)===-1?"irregular":"regular"]=q,k);for(;T(F.charCodeAt($))&&$<9;)$++;if($>1&&$<9){if(k.language=q.slice(0,$),$<4)for(c=0;F.charCodeAt($)===45&&T(F.charCodeAt($+1))&&T(F.charCodeAt($+2))&&T(F.charCodeAt($+3))&&!T(F.charCodeAt($+4));){if(c>2)return O($,3,"Too many extended language subtags, expected at most 3 subtags");k.extendedLanguageSubtags.push(q.slice($+1,$+4)),$+=4,c++}for(F.charCodeAt($)===45&&T(F.charCodeAt($+1))&&T(F.charCodeAt($+2))&&T(F.charCodeAt($+3))&&T(F.charCodeAt($+4))&&!T(F.charCodeAt($+5))&&(k.script=q.slice($+1,$+5),$+=5),F.charCodeAt($)===45&&(T(F.charCodeAt($+1))&&T(F.charCodeAt($+2))&&!T(F.charCodeAt($+3))?(k.region=q.slice($+1,$+3),$+=3):t(F.charCodeAt($+1))&&t(F.charCodeAt($+2))&&t(F.charCodeAt($+3))&&!t(F.charCodeAt($+4))&&(k.region=q.slice($+1,$+4),$+=4));F.charCodeAt($)===45;){for(d=n=$+1;ae(F.charCodeAt(d));){if(d-n>7)return O(d,1,"Too long variant, expected at most 8 characters");d++}if(!(d-n>4||d-n>3&&t(F.charCodeAt(n))))break;k.variants.push(q.slice(n,d)),$=d}for(;F.charCodeAt($)===45&&F.charCodeAt($+1)!==120&&ae(F.charCodeAt($+1))&&F.charCodeAt($+2)===45&&ae(F.charCodeAt($+3));){for(d=$+2,c=0;F.charCodeAt(d)===45&&ae(F.charCodeAt(d+1))&&ae(F.charCodeAt(d+2));)for(d=(n=d+1)+2,c++;ae(F.charCodeAt(d));){if(d-n>7)return O(d,2,"Too long extension, expected at most 8 characters");d++}if(!c)return O(d,4,"Empty extension, extensions must have at least 2 characters of content");k.extensions.push({singleton:q.charAt($+1),extensions:q.slice($+3,d).split("-")}),$=d}}else $=0;if($===0&&F.charCodeAt($)===120||F.charCodeAt($)===45&&F.charCodeAt($+1)===120)for(d=$=$?$+2:1;F.charCodeAt(d)===45&&ae(F.charCodeAt(d+1));){for(d=n=$+1;ae(F.charCodeAt(d));){if(d-n>7)return O(d,5,"Too long private-use area, expected at most 8 characters");d++}k.privateuse.push(q.slice($+1,d)),$=d}return $!==q.length?O($,6,"Found superfluous content after tag"):k;function O(K,re,H){return I.warning&&I.warning(H,re,K),I.forgiving?k:{language:null,extendedLanguageSubtags:[],script:null,region:null,variants:[],extensions:[],privateuse:[],irregular:null,regular:null}}};var p={}.hasOwnProperty},6713:function(at){at.exports=function(we){var P,ae,T,t=we||{},e=[];if(t.irregular||t.regular)return t.irregular||t.regular;if(t.language)for(e=e.concat(t.language,t.extendedLanguageSubtags||[],t.script||[],t.region||[],t.variants||[]),P=t.extensions||[],ae=-1;++ae<P.length;)(T=P[ae]).singleton&&T.extensions&&T.extensions.length&&(e=e.concat(T.singleton,T.extensions));return t.privateuse&&t.privateuse.length&&(e=e.concat("x",t.privateuse)),e.join("-")}},1549:function(at,we,P){var ae=P(6693),T=P(2165),t=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;we.Buffer=p,we.SlowBuffer=function(f){return+f!=f&&(f=0),p.alloc(+f)},we.INSPECT_MAX_BYTES=50;var e=2147483647;function y(f){if(f>e)throw new RangeError('The value "'+f+'" is invalid for option "size"');var o=new Uint8Array(f);return Object.setPrototypeOf(o,p.prototype),o}function p(f,o,v){if(typeof f=="number"){if(typeof o=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return m(f)}return u(f,o,v)}function u(f,o,v){if(typeof f=="string")return function(V,Se){if(typeof Se=="string"&&Se!==""||(Se="utf8"),!p.isEncoding(Se))throw new TypeError("Unknown encoding: "+Se);var ze=0|I(V,Se),Me=y(ze),De=Me.write(V,Se);return De!==ze&&(Me=Me.slice(0,De)),Me}(f,o);if(ArrayBuffer.isView(f))return function(V){if(ge(V,Uint8Array)){var Se=new Uint8Array(V);return c(Se.buffer,Se.byteOffset,Se.byteLength)}return n(V)}(f);if(f==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof f);if(ge(f,ArrayBuffer)||f&&ge(f.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(ge(f,SharedArrayBuffer)||f&&ge(f.buffer,SharedArrayBuffer)))return c(f,o,v);if(typeof f=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');var S=f.valueOf&&f.valueOf();if(S!=null&&S!==f)return p.from(S,o,v);var W=function(V){if(p.isBuffer(V)){var Se=0|d(V.length),ze=y(Se);return ze.length===0||V.copy(ze,0,0,Se),ze}return V.length!==void 0?typeof V.length!="number"||me(V.length)?y(0):n(V):V.type==="Buffer"&&Array.isArray(V.data)?n(V.data):void 0}(f);if(W)return W;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof f[Symbol.toPrimitive]=="function")return p.from(f[Symbol.toPrimitive]("string"),o,v);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof f)}function _(f){if(typeof f!="number")throw new TypeError('"size" argument must be of type number');if(f<0)throw new RangeError('The value "'+f+'" is invalid for option "size"')}function m(f){return _(f),y(f<0?0:0|d(f))}function n(f){for(var o=f.length<0?0:0|d(f.length),v=y(o),S=0;S<o;S+=1)v[S]=255&f[S];return v}function c(f,o,v){if(o<0||f.byteLength<o)throw new RangeError('"offset" is outside of buffer bounds');if(f.byteLength<o+(v||0))throw new RangeError('"length" is outside of buffer bounds');var S;return S=o===void 0&&v===void 0?new Uint8Array(f):v===void 0?new Uint8Array(f,o):new Uint8Array(f,o,v),Object.setPrototypeOf(S,p.prototype),S}function d(f){if(f>=e)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+e.toString(16)+" bytes");return 0|f}function I(f,o){if(p.isBuffer(f))return f.length;if(ArrayBuffer.isView(f)||ge(f,ArrayBuffer))return f.byteLength;if(typeof f!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof f);var v=f.length,S=arguments.length>2&&arguments[2]===!0;if(!S&&v===0)return 0;for(var W=!1;;)switch(o){case"ascii":case"latin1":case"binary":return v;case"utf8":case"utf-8":return dt(f).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*v;case"hex":return v>>>1;case"base64":return ke(f).length;default:if(W)return S?-1:dt(f).length;o=(""+o).toLowerCase(),W=!0}}function k(f,o,v){var S=!1;if((o===void 0||o<0)&&(o=0),o>this.length||((v===void 0||v>this.length)&&(v=this.length),v<=0)||(v>>>=0)<=(o>>>=0))return"";for(f||(f="utf8");;)switch(f){case"hex":return Ye(this,o,v);case"utf8":case"utf-8":return _e(this,o,v);case"ascii":return Ae(this,o,v);case"latin1":case"binary":return Le(this,o,v);case"base64":return se(this,o,v);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ye(this,o,v);default:if(S)throw new TypeError("Unknown encoding: "+f);f=(f+"").toLowerCase(),S=!0}}function q(f,o,v){var S=f[o];f[o]=f[v],f[v]=S}function F(f,o,v,S,W){if(f.length===0)return-1;if(typeof v=="string"?(S=v,v=0):v>2147483647?v=2147483647:v<-2147483648&&(v=-2147483648),me(v=+v)&&(v=W?0:f.length-1),v<0&&(v=f.length+v),v>=f.length){if(W)return-1;v=f.length-1}else if(v<0){if(!W)return-1;v=0}if(typeof o=="string"&&(o=p.from(o,S)),p.isBuffer(o))return o.length===0?-1:$(f,o,v,S,W);if(typeof o=="number")return o&=255,typeof Uint8Array.prototype.indexOf=="function"?W?Uint8Array.prototype.indexOf.call(f,o,v):Uint8Array.prototype.lastIndexOf.call(f,o,v):$(f,[o],v,S,W);throw new TypeError("val must be string, number or Buffer")}function $(f,o,v,S,W){var V,Se=1,ze=f.length,Me=o.length;if(S!==void 0&&((S=String(S).toLowerCase())==="ucs2"||S==="ucs-2"||S==="utf16le"||S==="utf-16le")){if(f.length<2||o.length<2)return-1;Se=2,ze/=2,Me/=2,v/=2}function De(mt,it){return Se===1?mt[it]:mt.readUInt16BE(it*Se)}if(W){var be=-1;for(V=v;V<ze;V++)if(De(f,V)===De(o,be===-1?0:V-be)){if(be===-1&&(be=V),V-be+1===Me)return be*Se}else be!==-1&&(V-=V-be),be=-1}else for(v+Me>ze&&(v=ze-Me),V=v;V>=0;V--){for(var xe=!0,Qe=0;Qe<Me;Qe++)if(De(f,V+Qe)!==De(o,Qe)){xe=!1;break}if(xe)return V}return-1}function O(f,o,v,S){v=Number(v)||0;var W=f.length-v;S?(S=Number(S))>W&&(S=W):S=W;var V=o.length;S>V/2&&(S=V/2);for(var Se=0;Se<S;++Se){var ze=parseInt(o.substr(2*Se,2),16);if(me(ze))return Se;f[v+Se]=ze}return Se}function K(f,o,v,S){return Je(dt(o,f.length-v),f,v,S)}function re(f,o,v,S){return Je(function(W){for(var V=[],Se=0;Se<W.length;++Se)V.push(255&W.charCodeAt(Se));return V}(o),f,v,S)}function H(f,o,v,S){return Je(ke(o),f,v,S)}function ee(f,o,v,S){return Je(function(W,V){for(var Se,ze,Me,De=[],be=0;be<W.length&&!((V-=2)<0);++be)ze=(Se=W.charCodeAt(be))>>8,Me=Se%256,De.push(Me),De.push(ze);return De}(o,f.length-v),f,v,S)}function se(f,o,v){return o===0&&v===f.length?ae.fromByteArray(f):ae.fromByteArray(f.slice(o,v))}function _e(f,o,v){v=Math.min(f.length,v);for(var S=[],W=o;W<v;){var V,Se,ze,Me,De=f[W],be=null,xe=De>239?4:De>223?3:De>191?2:1;if(W+xe<=v)switch(xe){case 1:De<128&&(be=De);break;case 2:(192&(V=f[W+1]))==128&&(Me=(31&De)<<6|63&V)>127&&(be=Me);break;case 3:V=f[W+1],Se=f[W+2],(192&V)==128&&(192&Se)==128&&(Me=(15&De)<<12|(63&V)<<6|63&Se)>2047&&(Me<55296||Me>57343)&&(be=Me);break;case 4:V=f[W+1],Se=f[W+2],ze=f[W+3],(192&V)==128&&(192&Se)==128&&(192&ze)==128&&(Me=(15&De)<<18|(63&V)<<12|(63&Se)<<6|63&ze)>65535&&Me<1114112&&(be=Me)}be===null?(be=65533,xe=1):be>65535&&(be-=65536,S.push(be>>>10&1023|55296),be=56320|1023&be),S.push(be),W+=xe}return function(Qe){var mt=Qe.length;if(mt<=X)return String.fromCharCode.apply(String,Qe);for(var it="",Ut=0;Ut<mt;)it+=String.fromCharCode.apply(String,Qe.slice(Ut,Ut+=X));return it}(S)}we.kMaxLength=e,p.TYPED_ARRAY_SUPPORT=function(){try{var f=new Uint8Array(1),o={foo:function(){return 42}};return Object.setPrototypeOf(o,Uint8Array.prototype),Object.setPrototypeOf(f,o),f.foo()===42}catch{return!1}}(),p.TYPED_ARRAY_SUPPORT||typeof console>"u"||typeof console.error!="function"||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(p.prototype,"parent",{enumerable:!0,get:function(){if(p.isBuffer(this))return this.buffer}}),Object.defineProperty(p.prototype,"offset",{enumerable:!0,get:function(){if(p.isBuffer(this))return this.byteOffset}}),p.poolSize=8192,p.from=function(f,o,v){return u(f,o,v)},Object.setPrototypeOf(p.prototype,Uint8Array.prototype),Object.setPrototypeOf(p,Uint8Array),p.alloc=function(f,o,v){return function(S,W,V){return _(S),S<=0?y(S):W!==void 0?typeof V=="string"?y(S).fill(W,V):y(S).fill(W):y(S)}(f,o,v)},p.allocUnsafe=function(f){return m(f)},p.allocUnsafeSlow=function(f){return m(f)},p.isBuffer=function(f){return f!=null&&f._isBuffer===!0&&f!==p.prototype},p.compare=function(f,o){if(ge(f,Uint8Array)&&(f=p.from(f,f.offset,f.byteLength)),ge(o,Uint8Array)&&(o=p.from(o,o.offset,o.byteLength)),!p.isBuffer(f)||!p.isBuffer(o))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(f===o)return 0;for(var v=f.length,S=o.length,W=0,V=Math.min(v,S);W<V;++W)if(f[W]!==o[W]){v=f[W],S=o[W];break}return v<S?-1:S<v?1:0},p.isEncoding=function(f){switch(String(f).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},p.concat=function(f,o){if(!Array.isArray(f))throw new TypeError('"list" argument must be an Array of Buffers');if(f.length===0)return p.alloc(0);var v;if(o===void 0)for(o=0,v=0;v<f.length;++v)o+=f[v].length;var S=p.allocUnsafe(o),W=0;for(v=0;v<f.length;++v){var V=f[v];if(ge(V,Uint8Array))W+V.length>S.length?p.from(V).copy(S,W):Uint8Array.prototype.set.call(S,V,W);else{if(!p.isBuffer(V))throw new TypeError('"list" argument must be an Array of Buffers');V.copy(S,W)}W+=V.length}return S},p.byteLength=I,p.prototype._isBuffer=!0,p.prototype.swap16=function(){var f=this.length;if(f%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var o=0;o<f;o+=2)q(this,o,o+1);return this},p.prototype.swap32=function(){var f=this.length;if(f%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var o=0;o<f;o+=4)q(this,o,o+3),q(this,o+1,o+2);return this},p.prototype.swap64=function(){var f=this.length;if(f%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var o=0;o<f;o+=8)q(this,o,o+7),q(this,o+1,o+6),q(this,o+2,o+5),q(this,o+3,o+4);return this},p.prototype.toString=function(){var f=this.length;return f===0?"":arguments.length===0?_e(this,0,f):k.apply(this,arguments)},p.prototype.toLocaleString=p.prototype.toString,p.prototype.equals=function(f){if(!p.isBuffer(f))throw new TypeError("Argument must be a Buffer");return this===f||p.compare(this,f)===0},p.prototype.inspect=function(){var f="",o=we.INSPECT_MAX_BYTES;return f=this.toString("hex",0,o).replace(/(.{2})/g,"$1 ").trim(),this.length>o&&(f+=" ... "),"<Buffer "+f+">"},t&&(p.prototype[t]=p.prototype.inspect),p.prototype.compare=function(f,o,v,S,W){if(ge(f,Uint8Array)&&(f=p.from(f,f.offset,f.byteLength)),!p.isBuffer(f))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof f);if(o===void 0&&(o=0),v===void 0&&(v=f?f.length:0),S===void 0&&(S=0),W===void 0&&(W=this.length),o<0||v>f.length||S<0||W>this.length)throw new RangeError("out of range index");if(S>=W&&o>=v)return 0;if(S>=W)return-1;if(o>=v)return 1;if(this===f)return 0;for(var V=(W>>>=0)-(S>>>=0),Se=(v>>>=0)-(o>>>=0),ze=Math.min(V,Se),Me=this.slice(S,W),De=f.slice(o,v),be=0;be<ze;++be)if(Me[be]!==De[be]){V=Me[be],Se=De[be];break}return V<Se?-1:Se<V?1:0},p.prototype.includes=function(f,o,v){return this.indexOf(f,o,v)!==-1},p.prototype.indexOf=function(f,o,v){return F(this,f,o,v,!0)},p.prototype.lastIndexOf=function(f,o,v){return F(this,f,o,v,!1)},p.prototype.write=function(f,o,v,S){if(o===void 0)S="utf8",v=this.length,o=0;else if(v===void 0&&typeof o=="string")S=o,v=this.length,o=0;else{if(!isFinite(o))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");o>>>=0,isFinite(v)?(v>>>=0,S===void 0&&(S="utf8")):(S=v,v=void 0)}var W=this.length-o;if((v===void 0||v>W)&&(v=W),f.length>0&&(v<0||o<0)||o>this.length)throw new RangeError("Attempt to write outside buffer bounds");S||(S="utf8");for(var V=!1;;)switch(S){case"hex":return O(this,f,o,v);case"utf8":case"utf-8":return K(this,f,o,v);case"ascii":case"latin1":case"binary":return re(this,f,o,v);case"base64":return H(this,f,o,v);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ee(this,f,o,v);default:if(V)throw new TypeError("Unknown encoding: "+S);S=(""+S).toLowerCase(),V=!0}},p.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var X=4096;function Ae(f,o,v){var S="";v=Math.min(f.length,v);for(var W=o;W<v;++W)S+=String.fromCharCode(127&f[W]);return S}function Le(f,o,v){var S="";v=Math.min(f.length,v);for(var W=o;W<v;++W)S+=String.fromCharCode(f[W]);return S}function Ye(f,o,v){var S=f.length;(!o||o<0)&&(o=0),(!v||v<0||v>S)&&(v=S);for(var W="",V=o;V<v;++V)W+=Ue[f[V]];return W}function ye(f,o,v){for(var S=f.slice(o,v),W="",V=0;V<S.length-1;V+=2)W+=String.fromCharCode(S[V]+256*S[V+1]);return W}function Pe(f,o,v){if(f%1!=0||f<0)throw new RangeError("offset is not uint");if(f+o>v)throw new RangeError("Trying to access beyond buffer length")}function He(f,o,v,S,W,V){if(!p.isBuffer(f))throw new TypeError('"buffer" argument must be a Buffer instance');if(o>W||o<V)throw new RangeError('"value" argument is out of bounds');if(v+S>f.length)throw new RangeError("Index out of range")}function tt(f,o,v,S,W,V){if(v+S>f.length)throw new RangeError("Index out of range");if(v<0)throw new RangeError("Index out of range")}function ve(f,o,v,S,W){return o=+o,v>>>=0,W||tt(f,0,v,4),T.write(f,o,v,S,23,4),v+4}function Oe(f,o,v,S,W){return o=+o,v>>>=0,W||tt(f,0,v,8),T.write(f,o,v,S,52,8),v+8}p.prototype.slice=function(f,o){var v=this.length;(f=~~f)<0?(f+=v)<0&&(f=0):f>v&&(f=v),(o=o===void 0?v:~~o)<0?(o+=v)<0&&(o=0):o>v&&(o=v),o<f&&(o=f);var S=this.subarray(f,o);return Object.setPrototypeOf(S,p.prototype),S},p.prototype.readUintLE=p.prototype.readUIntLE=function(f,o,v){f>>>=0,o>>>=0,v||Pe(f,o,this.length);for(var S=this[f],W=1,V=0;++V<o&&(W*=256);)S+=this[f+V]*W;return S},p.prototype.readUintBE=p.prototype.readUIntBE=function(f,o,v){f>>>=0,o>>>=0,v||Pe(f,o,this.length);for(var S=this[f+--o],W=1;o>0&&(W*=256);)S+=this[f+--o]*W;return S},p.prototype.readUint8=p.prototype.readUInt8=function(f,o){return f>>>=0,o||Pe(f,1,this.length),this[f]},p.prototype.readUint16LE=p.prototype.readUInt16LE=function(f,o){return f>>>=0,o||Pe(f,2,this.length),this[f]|this[f+1]<<8},p.prototype.readUint16BE=p.prototype.readUInt16BE=function(f,o){return f>>>=0,o||Pe(f,2,this.length),this[f]<<8|this[f+1]},p.prototype.readUint32LE=p.prototype.readUInt32LE=function(f,o){return f>>>=0,o||Pe(f,4,this.length),(this[f]|this[f+1]<<8|this[f+2]<<16)+16777216*this[f+3]},p.prototype.readUint32BE=p.prototype.readUInt32BE=function(f,o){return f>>>=0,o||Pe(f,4,this.length),16777216*this[f]+(this[f+1]<<16|this[f+2]<<8|this[f+3])},p.prototype.readIntLE=function(f,o,v){f>>>=0,o>>>=0,v||Pe(f,o,this.length);for(var S=this[f],W=1,V=0;++V<o&&(W*=256);)S+=this[f+V]*W;return S>=(W*=128)&&(S-=Math.pow(2,8*o)),S},p.prototype.readIntBE=function(f,o,v){f>>>=0,o>>>=0,v||Pe(f,o,this.length);for(var S=o,W=1,V=this[f+--S];S>0&&(W*=256);)V+=this[f+--S]*W;return V>=(W*=128)&&(V-=Math.pow(2,8*o)),V},p.prototype.readInt8=function(f,o){return f>>>=0,o||Pe(f,1,this.length),128&this[f]?-1*(255-this[f]+1):this[f]},p.prototype.readInt16LE=function(f,o){f>>>=0,o||Pe(f,2,this.length);var v=this[f]|this[f+1]<<8;return 32768&v?4294901760|v:v},p.prototype.readInt16BE=function(f,o){f>>>=0,o||Pe(f,2,this.length);var v=this[f+1]|this[f]<<8;return 32768&v?4294901760|v:v},p.prototype.readInt32LE=function(f,o){return f>>>=0,o||Pe(f,4,this.length),this[f]|this[f+1]<<8|this[f+2]<<16|this[f+3]<<24},p.prototype.readInt32BE=function(f,o){return f>>>=0,o||Pe(f,4,this.length),this[f]<<24|this[f+1]<<16|this[f+2]<<8|this[f+3]},p.prototype.readFloatLE=function(f,o){return f>>>=0,o||Pe(f,4,this.length),T.read(this,f,!0,23,4)},p.prototype.readFloatBE=function(f,o){return f>>>=0,o||Pe(f,4,this.length),T.read(this,f,!1,23,4)},p.prototype.readDoubleLE=function(f,o){return f>>>=0,o||Pe(f,8,this.length),T.read(this,f,!0,52,8)},p.prototype.readDoubleBE=function(f,o){return f>>>=0,o||Pe(f,8,this.length),T.read(this,f,!1,52,8)},p.prototype.writeUintLE=p.prototype.writeUIntLE=function(f,o,v,S){f=+f,o>>>=0,v>>>=0,S||He(this,f,o,v,Math.pow(2,8*v)-1,0);var W=1,V=0;for(this[o]=255&f;++V<v&&(W*=256);)this[o+V]=f/W&255;return o+v},p.prototype.writeUintBE=p.prototype.writeUIntBE=function(f,o,v,S){f=+f,o>>>=0,v>>>=0,S||He(this,f,o,v,Math.pow(2,8*v)-1,0);var W=v-1,V=1;for(this[o+W]=255&f;--W>=0&&(V*=256);)this[o+W]=f/V&255;return o+v},p.prototype.writeUint8=p.prototype.writeUInt8=function(f,o,v){return f=+f,o>>>=0,v||He(this,f,o,1,255,0),this[o]=255&f,o+1},p.prototype.writeUint16LE=p.prototype.writeUInt16LE=function(f,o,v){return f=+f,o>>>=0,v||He(this,f,o,2,65535,0),this[o]=255&f,this[o+1]=f>>>8,o+2},p.prototype.writeUint16BE=p.prototype.writeUInt16BE=function(f,o,v){return f=+f,o>>>=0,v||He(this,f,o,2,65535,0),this[o]=f>>>8,this[o+1]=255&f,o+2},p.prototype.writeUint32LE=p.prototype.writeUInt32LE=function(f,o,v){return f=+f,o>>>=0,v||He(this,f,o,4,4294967295,0),this[o+3]=f>>>24,this[o+2]=f>>>16,this[o+1]=f>>>8,this[o]=255&f,o+4},p.prototype.writeUint32BE=p.prototype.writeUInt32BE=function(f,o,v){return f=+f,o>>>=0,v||He(this,f,o,4,4294967295,0),this[o]=f>>>24,this[o+1]=f>>>16,this[o+2]=f>>>8,this[o+3]=255&f,o+4},p.prototype.writeIntLE=function(f,o,v,S){if(f=+f,o>>>=0,!S){var W=Math.pow(2,8*v-1);He(this,f,o,v,W-1,-W)}var V=0,Se=1,ze=0;for(this[o]=255&f;++V<v&&(Se*=256);)f<0&&ze===0&&this[o+V-1]!==0&&(ze=1),this[o+V]=(f/Se>>0)-ze&255;return o+v},p.prototype.writeIntBE=function(f,o,v,S){if(f=+f,o>>>=0,!S){var W=Math.pow(2,8*v-1);He(this,f,o,v,W-1,-W)}var V=v-1,Se=1,ze=0;for(this[o+V]=255&f;--V>=0&&(Se*=256);)f<0&&ze===0&&this[o+V+1]!==0&&(ze=1),this[o+V]=(f/Se>>0)-ze&255;return o+v},p.prototype.writeInt8=function(f,o,v){return f=+f,o>>>=0,v||He(this,f,o,1,127,-128),f<0&&(f=255+f+1),this[o]=255&f,o+1},p.prototype.writeInt16LE=function(f,o,v){return f=+f,o>>>=0,v||He(this,f,o,2,32767,-32768),this[o]=255&f,this[o+1]=f>>>8,o+2},p.prototype.writeInt16BE=function(f,o,v){return f=+f,o>>>=0,v||He(this,f,o,2,32767,-32768),this[o]=f>>>8,this[o+1]=255&f,o+2},p.prototype.writeInt32LE=function(f,o,v){return f=+f,o>>>=0,v||He(this,f,o,4,2147483647,-2147483648),this[o]=255&f,this[o+1]=f>>>8,this[o+2]=f>>>16,this[o+3]=f>>>24,o+4},p.prototype.writeInt32BE=function(f,o,v){return f=+f,o>>>=0,v||He(this,f,o,4,2147483647,-2147483648),f<0&&(f=4294967295+f+1),this[o]=f>>>24,this[o+1]=f>>>16,this[o+2]=f>>>8,this[o+3]=255&f,o+4},p.prototype.writeFloatLE=function(f,o,v){return ve(this,f,o,!0,v)},p.prototype.writeFloatBE=function(f,o,v){return ve(this,f,o,!1,v)},p.prototype.writeDoubleLE=function(f,o,v){return Oe(this,f,o,!0,v)},p.prototype.writeDoubleBE=function(f,o,v){return Oe(this,f,o,!1,v)},p.prototype.copy=function(f,o,v,S){if(!p.isBuffer(f))throw new TypeError("argument should be a Buffer");if(v||(v=0),S||S===0||(S=this.length),o>=f.length&&(o=f.length),o||(o=0),S>0&&S<v&&(S=v),S===v||f.length===0||this.length===0)return 0;if(o<0)throw new RangeError("targetStart out of bounds");if(v<0||v>=this.length)throw new RangeError("Index out of range");if(S<0)throw new RangeError("sourceEnd out of bounds");S>this.length&&(S=this.length),f.length-o<S-v&&(S=f.length-o+v);var W=S-v;return this===f&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(o,v,S):Uint8Array.prototype.set.call(f,this.subarray(v,S),o),W},p.prototype.fill=function(f,o,v,S){if(typeof f=="string"){if(typeof o=="string"?(S=o,o=0,v=this.length):typeof v=="string"&&(S=v,v=this.length),S!==void 0&&typeof S!="string")throw new TypeError("encoding must be a string");if(typeof S=="string"&&!p.isEncoding(S))throw new TypeError("Unknown encoding: "+S);if(f.length===1){var W=f.charCodeAt(0);(S==="utf8"&&W<128||S==="latin1")&&(f=W)}}else typeof f=="number"?f&=255:typeof f=="boolean"&&(f=Number(f));if(o<0||this.length<o||this.length<v)throw new RangeError("Out of range index");if(v<=o)return this;var V;if(o>>>=0,v=v===void 0?this.length:v>>>0,f||(f=0),typeof f=="number")for(V=o;V<v;++V)this[V]=f;else{var Se=p.isBuffer(f)?f:p.from(f,S),ze=Se.length;if(ze===0)throw new TypeError('The value "'+f+'" is invalid for argument "value"');for(V=0;V<v-o;++V)this[V+o]=Se[V%ze]}return this};var _t=/[^+/0-9A-Za-z-_]/g;function dt(f,o){var v;o=o||1/0;for(var S=f.length,W=null,V=[],Se=0;Se<S;++Se){if((v=f.charCodeAt(Se))>55295&&v<57344){if(!W){if(v>56319){(o-=3)>-1&&V.push(239,191,189);continue}if(Se+1===S){(o-=3)>-1&&V.push(239,191,189);continue}W=v;continue}if(v<56320){(o-=3)>-1&&V.push(239,191,189),W=v;continue}v=65536+(W-55296<<10|v-56320)}else W&&(o-=3)>-1&&V.push(239,191,189);if(W=null,v<128){if((o-=1)<0)break;V.push(v)}else if(v<2048){if((o-=2)<0)break;V.push(v>>6|192,63&v|128)}else if(v<65536){if((o-=3)<0)break;V.push(v>>12|224,v>>6&63|128,63&v|128)}else{if(!(v<1114112))throw new Error("Invalid code point");if((o-=4)<0)break;V.push(v>>18|240,v>>12&63|128,v>>6&63|128,63&v|128)}}return V}function ke(f){return ae.toByteArray(function(o){if((o=(o=o.split("=")[0]).trim().replace(_t,"")).length<2)return"";for(;o.length%4!=0;)o+="=";return o}(f))}function Je(f,o,v,S){for(var W=0;W<S&&!(W+v>=o.length||W>=f.length);++W)o[W+v]=f[W];return W}function ge(f,o){return f instanceof o||f!=null&&f.constructor!=null&&f.constructor.name!=null&&f.constructor.name===o.name}function me(f){return f!=f}var Ue=function(){for(var f="0123456789abcdef",o=new Array(256),v=0;v<16;++v)for(var S=16*v,W=0;W<16;++W)o[S+W]=f[v]+f[W];return o}()},6693:function(at,we){we.byteLength=function(_){var m=p(_),n=m[0],c=m[1];return 3*(n+c)/4-c},we.toByteArray=function(_){var m,n,c=p(_),d=c[0],I=c[1],k=new T(function($,O,K){return 3*(O+K)/4-K}(0,d,I)),q=0,F=I>0?d-4:d;for(n=0;n<F;n+=4)m=ae[_.charCodeAt(n)]<<18|ae[_.charCodeAt(n+1)]<<12|ae[_.charCodeAt(n+2)]<<6|ae[_.charCodeAt(n+3)],k[q++]=m>>16&255,k[q++]=m>>8&255,k[q++]=255&m;return I===2&&(m=ae[_.charCodeAt(n)]<<2|ae[_.charCodeAt(n+1)]>>4,k[q++]=255&m),I===1&&(m=ae[_.charCodeAt(n)]<<10|ae[_.charCodeAt(n+1)]<<4|ae[_.charCodeAt(n+2)]>>2,k[q++]=m>>8&255,k[q++]=255&m),k},we.fromByteArray=function(_){for(var m,n=_.length,c=n%3,d=[],I=16383,k=0,q=n-c;k<q;k+=I)d.push(u(_,k,k+I>q?q:k+I));return c===1?(m=_[n-1],d.push(P[m>>2]+P[m<<4&63]+"==")):c===2&&(m=(_[n-2]<<8)+_[n-1],d.push(P[m>>10]+P[m>>4&63]+P[m<<2&63]+"=")),d.join("")};for(var P=[],ae=[],T=typeof Uint8Array<"u"?Uint8Array:Array,t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",e=0,y=t.length;e<y;++e)P[e]=t[e],ae[t.charCodeAt(e)]=e;function p(_){var m=_.length;if(m%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var n=_.indexOf("=");return n===-1&&(n=m),[n,n===m?0:4-n%4]}function u(_,m,n){for(var c,d,I=[],k=m;k<n;k+=3)c=(_[k]<<16&16711680)+(_[k+1]<<8&65280)+(255&_[k+2]),I.push(P[(d=c)>>18&63]+P[d>>12&63]+P[d>>6&63]+P[63&d]);return I.join("")}ae[45]=62,ae[95]=63},2165:function(at,we){we.read=function(P,ae,T,t,e){var y,p,u=8*e-t-1,_=(1<<u)-1,m=_>>1,n=-7,c=T?e-1:0,d=T?-1:1,I=P[ae+c];for(c+=d,y=I&(1<<-n)-1,I>>=-n,n+=u;n>0;y=256*y+P[ae+c],c+=d,n-=8);for(p=y&(1<<-n)-1,y>>=-n,n+=t;n>0;p=256*p+P[ae+c],c+=d,n-=8);if(y===0)y=1-m;else{if(y===_)return p?NaN:1/0*(I?-1:1);p+=Math.pow(2,t),y-=m}return(I?-1:1)*p*Math.pow(2,y-t)},we.write=function(P,ae,T,t,e,y){var p,u,_,m=8*y-e-1,n=(1<<m)-1,c=n>>1,d=e===23?Math.pow(2,-24)-Math.pow(2,-77):0,I=t?0:y-1,k=t?1:-1,q=ae<0||ae===0&&1/ae<0?1:0;for(ae=Math.abs(ae),isNaN(ae)||ae===1/0?(u=isNaN(ae)?1:0,p=n):(p=Math.floor(Math.log(ae)/Math.LN2),ae*(_=Math.pow(2,-p))<1&&(p--,_*=2),(ae+=p+c>=1?d/_:d*Math.pow(2,1-c))*_>=2&&(p++,_/=2),p+c>=n?(u=0,p=n):p+c>=1?(u=(ae*_-1)*Math.pow(2,e),p+=c):(u=ae*Math.pow(2,c-1)*Math.pow(2,e),p=0));e>=8;P[T+I]=255&u,I+=k,u/=256,e-=8);for(p=p<<e|u,m+=e;m>0;P[T+I]=255&p,I+=k,p/=256,m-=8);P[T+I-k]|=128*q}},6934:function(at,we){var P={parseBuffer:function(t){return new ae(t).parse()},addBoxProcessor:function(t,e){typeof t=="string"&&typeof e=="function"&&(T.prototype._boxProcessors[t]=e)},createFile:function(){return new ae},createBox:function(t,e,y){var p=T.create(t);return e&&e.append(p,y),p},createFullBox:function(t,e,y){var p=P.createBox(t,e,y);return p.version=0,p.flags=0,p},Utils:{}};P.Utils.dataViewToString=function(t,e){var y=e||"utf-8";if(typeof TextDecoder<"u")return new TextDecoder(y).decode(t);var p=[],u=0;if(y==="utf-8")for(;u<t.byteLength;){var _=t.getUint8(u++);_<128||(_<224?(_=(31&_)<<6,_|=63&t.getUint8(u++)):_<240?(_=(15&_)<<12,_|=(63&t.getUint8(u++))<<6,_|=63&t.getUint8(u++)):(_=(7&_)<<18,_|=(63&t.getUint8(u++))<<12,_|=(63&t.getUint8(u++))<<6,_|=63&t.getUint8(u++))),p.push(String.fromCharCode(_))}else for(;u<t.byteLength;)p.push(String.fromCharCode(t.getUint8(u++)));return p.join("")},P.Utils.utf8ToByteArray=function(t){var e,y;if(typeof TextEncoder<"u")e=new TextEncoder().encode(t);else for(e=[],y=0;y<t.length;++y){var p=t.charCodeAt(y);p<128?e.push(p):p<2048?(e.push(192|p>>6),e.push(128|63&p)):p<65536?(e.push(224|p>>12),e.push(128|63&p>>6),e.push(128|63&p)):(e.push(240|p>>18),e.push(128|63&p>>12),e.push(128|63&p>>6),e.push(128|63&p))}return e},P.Utils.appendBox=function(t,e,y){if(e._offset=t._cursor.offset,e._root=t._root?t._root:t,e._raw=t._raw,e._parent=t,y!==-1)if(y!=null){var p,u=-1;if(typeof y=="number")u=y;else{if(typeof y=="string")p=y;else{if(typeof y!="object"||!y.type)return void t.boxes.push(e);p=y.type}for(var _=0;_<t.boxes.length;_++)if(p===t.boxes[_].type){u=_+1;break}}t.boxes.splice(u,0,e)}else t.boxes.push(e)},we.parseBuffer=P.parseBuffer,we.addBoxProcessor=P.addBoxProcessor,we.createFile=P.createFile,we.createBox=P.createBox,we.createFullBox=P.createFullBox,we.Utils=P.Utils,P.Cursor=function(t){this.offset=t===void 0?0:t};var ae=function(t){this._cursor=new P.Cursor,this.boxes=[],t&&(this._raw=new DataView(t))};ae.prototype.fetch=function(t){var e=this.fetchAll(t,!0);return e.length?e[0]:null},ae.prototype.fetchAll=function(t,e){var y=[];return ae._sweep.call(this,t,y,e),y},ae.prototype.parse=function(){for(this._cursor.offset=0,this.boxes=[];this._cursor.offset<this._raw.byteLength;){var t=T.parse(this);if(t.type===void 0)break;this.boxes.push(t)}return this},ae._sweep=function(t,e,y){for(var p in this.type&&this.type==t&&e.push(this),this.boxes){if(e.length&&y)return;ae._sweep.call(this.boxes[p],t,e,y)}},ae.prototype.write=function(){var t,e=0;for(t=0;t<this.boxes.length;t++)e+=this.boxes[t].getLength(!1);var y=new Uint8Array(e);for(this._rawo=new DataView(y.buffer),this.bytes=y,this._cursor.offset=0,t=0;t<this.boxes.length;t++)this.boxes[t].write();return y.buffer},ae.prototype.append=function(t,e){P.Utils.appendBox(this,t,e)};var T=function(){this._cursor=new P.Cursor};T.parse=function(t){var e=new T;return e._offset=t._cursor.offset,e._root=t._root?t._root:t,e._raw=t._raw,e._parent=t,e._parseBox(),t._cursor.offset=e._raw.byteOffset+e._raw.byteLength,e},T.create=function(t){var e=new T;return e.type=t,e.boxes=[],e},T.prototype._boxContainers=["dinf","edts","mdia","meco","mfra","minf","moof","moov","mvex","stbl","strk","traf","trak","tref","udta","vttc","sinf","schi","encv","enca"],T.prototype._boxProcessors={},T.prototype._procField=function(t,e,y){this._parsing?this[t]=this._readField(e,y):this._writeField(e,y,this[t])},T.prototype._procFieldArray=function(t,e,y,p){var u;if(this._parsing)for(this[t]=[],u=0;u<e;u++)this[t][u]=this._readField(y,p);else for(u=0;u<this[t].length;u++)this._writeField(y,p,this[t][u])},T.prototype._procFullBox=function(){this._procField("version","uint",8),this._procField("flags","uint",24)},T.prototype._procEntries=function(t,e,y){var p;if(this._parsing)for(this[t]=[],p=0;p<e;p++)this[t].push({}),y.call(this,this[t][p]);else for(p=0;p<e;p++)y.call(this,this[t][p])},T.prototype._procSubEntries=function(t,e,y,p){var u;if(this._parsing)for(t[e]=[],u=0;u<y;u++)t[e].push({}),p.call(this,t[e][u]);else for(u=0;u<y;u++)p.call(this,t[e][u])},T.prototype._procEntryField=function(t,e,y,p){this._parsing?t[e]=this._readField(y,p):this._writeField(y,p,t[e])},T.prototype._procSubBoxes=function(t,e){var y;if(this._parsing)for(this[t]=[],y=0;y<e;y++)this[t].push(T.parse(this));else for(y=0;y<e;y++)this._rawo?this[t][y].write():this.size+=this[t][y].getLength()},T.prototype._readField=function(t,e){switch(t){case"uint":return this._readUint(e);case"int":return this._readInt(e);case"template":return this._readTemplate(e);case"string":return e===-1?this._readTerminatedString():this._readString(e);case"data":return this._readData(e);case"utf8":return this._readUTF8String();default:return-1}},T.prototype._readInt=function(t){var e=null,y=this._cursor.offset-this._raw.byteOffset;switch(t){case 8:e=this._raw.getInt8(y);break;case 16:e=this._raw.getInt16(y);break;case 32:e=this._raw.getInt32(y);break;case 64:var p=this._raw.getInt32(y),u=this._raw.getInt32(y+4);e=p*Math.pow(2,32)+u}return this._cursor.offset+=t>>3,e},T.prototype._readUint=function(t){var e,y,p=null,u=this._cursor.offset-this._raw.byteOffset;switch(t){case 8:p=this._raw.getUint8(u);break;case 16:p=this._raw.getUint16(u);break;case 24:p=((e=this._raw.getUint16(u))<<8)+(y=this._raw.getUint8(u+2));break;case 32:p=this._raw.getUint32(u);break;case 64:e=this._raw.getUint32(u),y=this._raw.getUint32(u+4),p=e*Math.pow(2,32)+y}return this._cursor.offset+=t>>3,p},T.prototype._readString=function(t){for(var e="",y=0;y<t;y++){var p=this._readUint(8);e+=String.fromCharCode(p)}return e},T.prototype._readTemplate=function(t){return this._readUint(t/2)+this._readUint(t/2)/Math.pow(2,t/2)},T.prototype._readTerminatedString=function(){for(var t="";this._cursor.offset-this._offset<this._raw.byteLength;){var e=this._readUint(8);if(e===0)break;t+=String.fromCharCode(e)}return t},T.prototype._readData=function(t){var e=t>0?t:this._raw.byteLength-(this._cursor.offset-this._offset);if(e>0){var y=new Uint8Array(this._raw.buffer,this._cursor.offset,e);return this._cursor.offset+=e,y}return null},T.prototype._readUTF8String=function(){var t=this._raw.byteLength-(this._cursor.offset-this._offset),e=null;return t>0&&(e=new DataView(this._raw.buffer,this._cursor.offset,t),this._cursor.offset+=t),e&&P.Utils.dataViewToString(e)},T.prototype._parseBox=function(){if(this._parsing=!0,this._cursor.offset=this._offset,this._offset+8>this._raw.buffer.byteLength)this._root._incomplete=!0;else{switch(this._procField("size","uint",32),this._procField("type","string",4),this.size===1&&this._procField("largesize","uint",64),this.type==="uuid"&&this._procFieldArray("usertype",16,"uint",8),this.size){case 0:this._raw=new DataView(this._raw.buffer,this._offset);break;case 1:this._offset+this.size>this._raw.buffer.byteLength?(this._incomplete=!0,this._root._incomplete=!0):this._raw=new DataView(this._raw.buffer,this._offset,this.largesize);break;default:this._offset+this.size>this._raw.buffer.byteLength?(this._incomplete=!0,this._root._incomplete=!0):this._raw=new DataView(this._raw.buffer,this._offset,this.size)}this._incomplete||(this._boxProcessors[this.type]&&this._boxProcessors[this.type].call(this),this._boxContainers.indexOf(this.type)!==-1?this._parseContainerBox():this._data=this._readData())}},T.prototype._parseFullBox=function(){this.version=this._readUint(8),this.flags=this._readUint(24)},T.prototype._parseContainerBox=function(){for(this.boxes=[];this._cursor.offset-this._raw.byteOffset<this._raw.byteLength;)this.boxes.push(T.parse(this))},T.prototype.append=function(t,e){P.Utils.appendBox(this,t,e)},T.prototype.getLength=function(){if(this._parsing=!1,this._rawo=null,this.size=0,this._procField("size","uint",32),this._procField("type","string",4),this.size===1&&this._procField("largesize","uint",64),this.type==="uuid"&&this._procFieldArray("usertype",16,"uint",8),this._boxProcessors[this.type]&&this._boxProcessors[this.type].call(this),this._boxContainers.indexOf(this.type)!==-1)for(var t=0;t<this.boxes.length;t++)this.size+=this.boxes[t].getLength();return this._data&&this._writeData(this._data),this.size},T.prototype.write=function(){switch(this._parsing=!1,this._cursor.offset=this._parent._cursor.offset,this.size){case 0:this._rawo=new DataView(this._parent._rawo.buffer,this._cursor.offset,this.parent._rawo.byteLength-this._cursor.offset);break;case 1:this._rawo=new DataView(this._parent._rawo.buffer,this._cursor.offset,this.largesize);break;default:this._rawo=new DataView(this._parent._rawo.buffer,this._cursor.offset,this.size)}if(this._procField("size","uint",32),this._procField("type","string",4),this.size===1&&this._procField("largesize","uint",64),this.type==="uuid"&&this._procFieldArray("usertype",16,"uint",8),this._boxProcessors[this.type]&&this._boxProcessors[this.type].call(this),this._boxContainers.indexOf(this.type)!==-1)for(var t=0;t<this.boxes.length;t++)this.boxes[t].write();return this._data&&this._writeData(this._data),this._parent._cursor.offset+=this.size,this.size},T.prototype._writeInt=function(t,e){if(this._rawo){var y=this._cursor.offset-this._rawo.byteOffset;switch(t){case 8:this._rawo.setInt8(y,e);break;case 16:this._rawo.setInt16(y,e);break;case 32:this._rawo.setInt32(y,e);break;case 64:var p=Math.floor(e/Math.pow(2,32)),u=e-p*Math.pow(2,32);this._rawo.setUint32(y,p),this._rawo.setUint32(y+4,u)}this._cursor.offset+=t>>3}else this.size+=t>>3},T.prototype._writeUint=function(t,e){if(this._rawo){var y,p,u=this._cursor.offset-this._rawo.byteOffset;switch(t){case 8:this._rawo.setUint8(u,e);break;case 16:this._rawo.setUint16(u,e);break;case 24:y=(16776960&e)>>8,p=255&e,this._rawo.setUint16(u,y),this._rawo.setUint8(u+2,p);break;case 32:this._rawo.setUint32(u,e);break;case 64:p=e-(y=Math.floor(e/Math.pow(2,32)))*Math.pow(2,32),this._rawo.setUint32(u,y),this._rawo.setUint32(u+4,p)}this._cursor.offset+=t>>3}else this.size+=t>>3},T.prototype._writeString=function(t,e){for(var y=0;y<t;y++)this._writeUint(8,e.charCodeAt(y))},T.prototype._writeTerminatedString=function(t){if(t.length!==0){for(var e=0;e<t.length;e++)this._writeUint(8,t.charCodeAt(e));this._writeUint(8,0)}},T.prototype._writeTemplate=function(t,e){var y=Math.floor(e),p=(e-y)*Math.pow(2,t/2);this._writeUint(t/2,y),this._writeUint(t/2,p)},T.prototype._writeData=function(t){if(t)if(this._rawo){if(t instanceof Array){for(var e=this._cursor.offset-this._rawo.byteOffset,y=0;y<t.length;y++)this._rawo.setInt8(e+y,t[y]);this._cursor.offset+=t.length}t instanceof Uint8Array&&(this._root.bytes.set(t,this._cursor.offset),this._cursor.offset+=t.length)}else this.size+=t.length},T.prototype._writeUTF8String=function(t){var e=P.Utils.utf8ToByteArray(t);if(this._rawo)for(var y=new DataView(this._rawo.buffer,this._cursor.offset,e.length),p=0;p<e.length;p++)y.setUint8(p,e[p]);else this.size+=e.length},T.prototype._writeField=function(t,e,y){switch(t){case"uint":this._writeUint(e,y);break;case"int":this._writeInt(e,y);break;case"template":this._writeTemplate(e,y);break;case"string":e==-1?this._writeTerminatedString(y):this._writeString(e,y);break;case"data":this._writeData(y);break;case"utf8":this._writeUTF8String(y)}},T.prototype._boxProcessors.avc1=T.prototype._boxProcessors.avc2=T.prototype._boxProcessors.avc3=T.prototype._boxProcessors.avc4=T.prototype._boxProcessors.hvc1=T.prototype._boxProcessors.hev1=T.prototype._boxProcessors.encv=function(){this._procFieldArray("reserved1",6,"uint",8),this._procField("data_reference_index","uint",16),this._procField("pre_defined1","uint",16),this._procField("reserved2","uint",16),this._procFieldArray("pre_defined2",3,"uint",32),this._procField("width","uint",16),this._procField("height","uint",16),this._procField("horizresolution","template",32),this._procField("vertresolution","template",32),this._procField("reserved3","uint",32),this._procField("frame_count","uint",16),this._procFieldArray("compressorname",32,"uint",8),this._procField("depth","uint",16),this._procField("pre_defined3","int",16),this._procField("config","data",-1)},T.prototype._boxProcessors.ctts=function(){this._procFullBox(),this._procField("entry_count","uint",32),this._procEntries("entries",this.entry_count,function(t){this._procEntryField(t,"sample_count","uint",32),this._procEntryField(t,"sample_offset",this.version===1?"int":"uint",32)})},T.prototype._boxProcessors.dref=function(){this._procFullBox(),this._procField("entry_count","uint",32),this._procSubBoxes("entries",this.entry_count)},T.prototype._boxProcessors.elst=function(){this._procFullBox(),this._procField("entry_count","uint",32),this._procEntries("entries",this.entry_count,function(t){this._procEntryField(t,"segment_duration","uint",this.version===1?64:32),this._procEntryField(t,"media_time","int",this.version===1?64:32),this._procEntryField(t,"media_rate_integer","int",16),this._procEntryField(t,"media_rate_fraction","int",16)})},T.prototype._boxProcessors.emsg=function(){this._procFullBox(),this.version==1?(this._procField("timescale","uint",32),this._procField("presentation_time","uint",64),this._procField("event_duration","uint",32),this._procField("id","uint",32),this._procField("scheme_id_uri","string",-1),this._procField("value","string",-1)):(this._procField("scheme_id_uri","string",-1),this._procField("value","string",-1),this._procField("timescale","uint",32),this._procField("presentation_time_delta","uint",32),this._procField("event_duration","uint",32),this._procField("id","uint",32)),this._procField("message_data","data",-1)},T.prototype._boxProcessors.free=T.prototype._boxProcessors.skip=function(){this._procField("data","data",-1)},T.prototype._boxProcessors.frma=function(){this._procField("data_format","uint",32)},T.prototype._boxProcessors.ftyp=T.prototype._boxProcessors.styp=function(){this._procField("major_brand","string",4),this._procField("minor_version","uint",32);var t=-1;this._parsing&&(t=(this._raw.byteLength-(this._cursor.offset-this._raw.byteOffset))/4),this._procFieldArray("compatible_brands",t,"string",4)},T.prototype._boxProcessors.hdlr=function(){this._procFullBox(),this._procField("pre_defined","uint",32),this._procField("handler_type","string",4),this._procFieldArray("reserved",3,"uint",32),this._procField("name","string",-1)},T.prototype._boxProcessors.mdat=function(){this._procField("data","data",-1)},T.prototype._boxProcessors.mdhd=function(){this._procFullBox(),this._procField("creation_time","uint",this.version==1?64:32),this._procField("modification_time","uint",this.version==1?64:32),this._procField("timescale","uint",32),this._procField("duration","uint",this.version==1?64:32),this._parsing||typeof this.language!="string"||(this.language=this.language.charCodeAt(0)-96<<10|this.language.charCodeAt(1)-96<<5|this.language.charCodeAt(2)-96),this._procField("language","uint",16),this._parsing&&(this.language=String.fromCharCode(96+(this.language>>10&31),96+(this.language>>5&31),96+(31&this.language))),this._procField("pre_defined","uint",16)},T.prototype._boxProcessors.mehd=function(){this._procFullBox(),this._procField("fragment_duration","uint",this.version==1?64:32)},T.prototype._boxProcessors.mfhd=function(){this._procFullBox(),this._procField("sequence_number","uint",32)},T.prototype._boxProcessors.mfro=function(){this._procFullBox(),this._procField("mfra_size","uint",32)},T.prototype._boxProcessors.mp4a=T.prototype._boxProcessors.enca=function(){this._procFieldArray("reserved1",6,"uint",8),this._procField("data_reference_index","uint",16),this._procFieldArray("reserved2",2,"uint",32),this._procField("channelcount","uint",16),this._procField("samplesize","uint",16),this._procField("pre_defined","uint",16),this._procField("reserved3","uint",16),this._procField("samplerate","template",32),this._procField("esds","data",-1)},T.prototype._boxProcessors.mvhd=function(){this._procFullBox(),this._procField("creation_time","uint",this.version==1?64:32),this._procField("modification_time","uint",this.version==1?64:32),this._procField("timescale","uint",32),this._procField("duration","uint",this.version==1?64:32),this._procField("rate","template",32),this._procField("volume","template",16),this._procField("reserved1","uint",16),this._procFieldArray("reserved2",2,"uint",32),this._procFieldArray("matrix",9,"template",32),this._procFieldArray("pre_defined",6,"uint",32),this._procField("next_track_ID","uint",32)},T.prototype._boxProcessors.payl=function(){this._procField("cue_text","utf8")},T.prototype._boxProcessors.prft=function(){this._procFullBox(),this._procField("reference_track_ID","uint",32),this._procField("ntp_timestamp_sec","uint",32),this._procField("ntp_timestamp_frac","uint",32),this._procField("media_time","uint",this.version==1?64:32)},T.prototype._boxProcessors.pssh=function(){this._procFullBox(),this._procFieldArray("SystemID",16,"uint",8),this._procField("DataSize","uint",32),this._procFieldArray("Data",this.DataSize,"uint",8)},T.prototype._boxProcessors.schm=function(){this._procFullBox(),this._procField("scheme_type","uint",32),this._procField("scheme_version","uint",32),1&this.flags&&this._procField("scheme_uri","string",-1)},T.prototype._boxProcessors.sdtp=function(){this._procFullBox();var t=-1;this._parsing&&(t=this._raw.byteLength-(this._cursor.offset-this._raw.byteOffset)),this._procFieldArray("sample_dependency_table",t,"uint",8)},T.prototype._boxProcessors.sidx=function(){this._procFullBox(),this._procField("reference_ID","uint",32),this._procField("timescale","uint",32),this._procField("earliest_presentation_time","uint",this.version==1?64:32),this._procField("first_offset","uint",this.version==1?64:32),this._procField("reserved","uint",16),this._procField("reference_count","uint",16),this._procEntries("references",this.reference_count,function(t){this._parsing||(t.reference=(1&t.reference_type)<<31,t.reference|=2147483647&t.referenced_size,t.sap=(1&t.starts_with_SAP)<<31,t.sap|=(3&t.SAP_type)<<28,t.sap|=268435455&t.SAP_delta_time),this._procEntryField(t,"reference","uint",32),this._procEntryField(t,"subsegment_duration","uint",32),this._procEntryField(t,"sap","uint",32),this._parsing&&(t.reference_type=t.reference>>31&1,t.referenced_size=2147483647&t.reference,t.starts_with_SAP=t.sap>>31&1,t.SAP_type=t.sap>>28&7,t.SAP_delta_time=268435455&t.sap)})},T.prototype._boxProcessors.smhd=function(){this._procFullBox(),this._procField("balance","uint",16),this._procField("reserved","uint",16)},T.prototype._boxProcessors.ssix=function(){this._procFullBox(),this._procField("subsegment_count","uint",32),this._procEntries("subsegments",this.subsegment_count,function(t){this._procEntryField(t,"ranges_count","uint",32),this._procSubEntries(t,"ranges",t.ranges_count,function(e){this._procEntryField(e,"level","uint",8),this._procEntryField(e,"range_size","uint",24)})})},T.prototype._boxProcessors.stsd=function(){this._procFullBox(),this._procField("entry_count","uint",32),this._procSubBoxes("entries",this.entry_count)},T.prototype._boxProcessors.sttg=function(){this._procField("settings","utf8")},T.prototype._boxProcessors.stts=function(){this._procFullBox(),this._procField("entry_count","uint",32),this._procEntries("entries",this.entry_count,function(t){this._procEntryField(t,"sample_count","uint",32),this._procEntryField(t,"sample_delta","uint",32)})},T.prototype._boxProcessors.subs=function(){this._procFullBox(),this._procField("entry_count","uint",32),this._procEntries("entries",this.entry_count,function(t){this._procEntryField(t,"sample_delta","uint",32),this._procEntryField(t,"subsample_count","uint",16),this._procSubEntries(t,"subsamples",t.subsample_count,function(e){this._procEntryField(e,"subsample_size","uint",this.version===1?32:16),this._procEntryField(e,"subsample_priority","uint",8),this._procEntryField(e,"discardable","uint",8),this._procEntryField(e,"codec_specific_parameters","uint",32)})})},T.prototype._boxProcessors.tenc=function(){this._procFullBox(),this._procField("default_IsEncrypted","uint",24),this._procField("default_IV_size","uint",8),this._procFieldArray("default_KID",16,"uint",8)},T.prototype._boxProcessors.tfdt=function(){this._procFullBox(),this._procField("baseMediaDecodeTime","uint",this.version==1?64:32)},T.prototype._boxProcessors.tfhd=function(){this._procFullBox(),this._procField("track_ID","uint",32),1&this.flags&&this._procField("base_data_offset","uint",64),2&this.flags&&this._procField("sample_description_offset","uint",32),8&this.flags&&this._procField("default_sample_duration","uint",32),16&this.flags&&this._procField("default_sample_size","uint",32),32&this.flags&&this._procField("default_sample_flags","uint",32)},T.prototype._boxProcessors.tfra=function(){this._procFullBox(),this._procField("track_ID","uint",32),this._parsing||(this.reserved=0,this.reserved|=(48&this.length_size_of_traf_num)<<4,this.reserved|=(12&this.length_size_of_trun_num)<<2,this.reserved|=3&this.length_size_of_sample_num),this._procField("reserved","uint",32),this._parsing&&(this.length_size_of_traf_num=(48&this.reserved)>>4,this.length_size_of_trun_num=(12&this.reserved)>>2,this.length_size_of_sample_num=3&this.reserved),this._procField("number_of_entry","uint",32),this._procEntries("entries",this.number_of_entry,function(t){this._procEntryField(t,"time","uint",this.version===1?64:32),this._procEntryField(t,"moof_offset","uint",this.version===1?64:32),this._procEntryField(t,"traf_number","uint",8*(this.length_size_of_traf_num+1)),this._procEntryField(t,"trun_number","uint",8*(this.length_size_of_trun_num+1)),this._procEntryField(t,"sample_number","uint",8*(this.length_size_of_sample_num+1))})},T.prototype._boxProcessors.tkhd=function(){this._procFullBox(),this._procField("creation_time","uint",this.version==1?64:32),this._procField("modification_time","uint",this.version==1?64:32),this._procField("track_ID","uint",32),this._procField("reserved1","uint",32),this._procField("duration","uint",this.version==1?64:32),this._procFieldArray("reserved2",2,"uint",32),this._procField("layer","uint",16),this._procField("alternate_group","uint",16),this._procField("volume","template",16),this._procField("reserved3","uint",16),this._procFieldArray("matrix",9,"template",32),this._procField("width","template",32),this._procField("height","template",32)},T.prototype._boxProcessors.trex=function(){this._procFullBox(),this._procField("track_ID","uint",32),this._procField("default_sample_description_index","uint",32),this._procField("default_sample_duration","uint",32),this._procField("default_sample_size","uint",32),this._procField("default_sample_flags","uint",32)},T.prototype._boxProcessors.trun=function(){this._procFullBox(),this._procField("sample_count","uint",32),1&this.flags&&this._procField("data_offset","int",32),4&this.flags&&this._procField("first_sample_flags","uint",32),this._procEntries("samples",this.sample_count,function(t){256&this.flags&&this._procEntryField(t,"sample_duration","uint",32),512&this.flags&&this._procEntryField(t,"sample_size","uint",32),1024&this.flags&&this._procEntryField(t,"sample_flags","uint",32),2048&this.flags&&this._procEntryField(t,"sample_composition_time_offset",this.version===1?"int":"uint",32)})},T.prototype._boxProcessors["url "]=T.prototype._boxProcessors["urn "]=function(){this._procFullBox(),this.type==="urn "&&this._procField("name","string",-1),this._procField("location","string",-1)},T.prototype._boxProcessors.vlab=function(){this._procField("source_label","utf8")},T.prototype._boxProcessors.vmhd=function(){this._procFullBox(),this._procField("graphicsmode","uint",16),this._procFieldArray("opcolor",3,"uint",16)},T.prototype._boxProcessors.vttC=function(){this._procField("config","utf8")},T.prototype._boxProcessors.vtte=function(){}},5530:function(at,we,P){at.exports=P(6146).polyfill()},6146:function(at,we,P){at.exports=function(){function ae(ke){return typeof ke=="function"}var T=Array.isArray?Array.isArray:function(ke){return Object.prototype.toString.call(ke)==="[object Array]"},t=0,e=void 0,y=void 0,p=function(ke,Je){I[t]=ke,I[t+1]=Je,(t+=2)===2&&(y?y(k):K())},u=typeof window<"u"?window:void 0,_=u||{},m=_.MutationObserver||_.WebKitMutationObserver,n=typeof self>"u"&&typeof process<"u"&&{}.toString.call(process)==="[object process]",c=typeof Uint8ClampedArray<"u"&&typeof importScripts<"u"&&typeof MessageChannel<"u";function d(){var ke=setTimeout;return function(){return ke(k,1)}}var I=new Array(1e3);function k(){for(var ke=0;ke<t;ke+=2)(0,I[ke])(I[ke+1]),I[ke]=void 0,I[ke+1]=void 0;t=0}var q,F,$,O,K=void 0;function re(ke,Je){var ge=this,me=new this.constructor(se);me[ee]===void 0&&Oe(me);var Ue=ge._state;if(Ue){var f=arguments[Ue-1];p(function(){return tt(Ue,me,f,ge._result)})}else Pe(ge,me,ke,Je);return me}function H(ke){if(ke&&typeof ke=="object"&&ke.constructor===this)return ke;var Je=new this(se);return Ae(Je,ke),Je}K=n?function(){return process.nextTick(k)}:m?(F=0,$=new m(k),O=document.createTextNode(""),$.observe(O,{characterData:!0}),function(){O.data=F=++F%2}):c?((q=new MessageChannel).port1.onmessage=k,function(){return q.port2.postMessage(0)}):u===void 0?function(){try{var ke=Function("return this")().require("vertx");return(e=ke.runOnLoop||ke.runOnContext)!==void 0?function(){e(k)}:d()}catch{return d()}}():d();var ee=Math.random().toString(36).substring(2);function se(){}var _e=void 0;function X(ke,Je,ge){Je.constructor===ke.constructor&&ge===re&&Je.constructor.resolve===H?function(me,Ue){Ue._state===1?Ye(me,Ue._result):Ue._state===2?ye(me,Ue._result):Pe(Ue,void 0,function(f){return Ae(me,f)},function(f){return ye(me,f)})}(ke,Je):ge===void 0?Ye(ke,Je):ae(ge)?function(me,Ue,f){p(function(o){var v=!1,S=function(W,V,Se,ze){try{W.call(V,Se,ze)}catch(Me){return Me}}(f,Ue,function(W){v||(v=!0,Ue!==W?Ae(o,W):Ye(o,W))},function(W){v||(v=!0,ye(o,W))},o._label);!v&&S&&(v=!0,ye(o,S))},me)}(ke,Je,ge):Ye(ke,Je)}function Ae(ke,Je){if(ke===Je)ye(ke,new TypeError("You cannot resolve a promise with itself"));else if(Ue=typeof(me=Je),me===null||Ue!=="object"&&Ue!=="function")Ye(ke,Je);else{var ge=void 0;try{ge=Je.then}catch(f){return void ye(ke,f)}X(ke,Je,ge)}var me,Ue}function Le(ke){ke._onerror&&ke._onerror(ke._result),He(ke)}function Ye(ke,Je){ke._state===_e&&(ke._result=Je,ke._state=1,ke._subscribers.length!==0&&p(He,ke))}function ye(ke,Je){ke._state===_e&&(ke._state=2,ke._result=Je,p(Le,ke))}function Pe(ke,Je,ge,me){var Ue=ke._subscribers,f=Ue.length;ke._onerror=null,Ue[f]=Je,Ue[f+1]=ge,Ue[f+2]=me,f===0&&ke._state&&p(He,ke)}function He(ke){var Je=ke._subscribers,ge=ke._state;if(Je.length!==0){for(var me=void 0,Ue=void 0,f=ke._result,o=0;o<Je.length;o+=3)me=Je[o],Ue=Je[o+ge],me?tt(ge,me,Ue,f):Ue(f);ke._subscribers.length=0}}function tt(ke,Je,ge,me){var Ue=ae(ge),f=void 0,o=void 0,v=!0;if(Ue){try{f=ge(me)}catch(S){v=!1,o=S}if(Je===f)return void ye(Je,new TypeError("A promises callback cannot return that same promise."))}else f=me;Je._state!==_e||(Ue&&v?Ae(Je,f):v===!1?ye(Je,o):ke===1?Ye(Je,f):ke===2&&ye(Je,f))}var ve=0;function Oe(ke){ke[ee]=ve++,ke._state=void 0,ke._result=void 0,ke._subscribers=[]}var _t=function(){function ke(Je,ge){this._instanceConstructor=Je,this.promise=new Je(se),this.promise[ee]||Oe(this.promise),T(ge)?(this.length=ge.length,this._remaining=ge.length,this._result=new Array(this.length),this.length===0?Ye(this.promise,this._result):(this.length=this.length||0,this._enumerate(ge),this._remaining===0&&Ye(this.promise,this._result))):ye(this.promise,new Error("Array Methods must be provided an Array"))}return ke.prototype._enumerate=function(Je){for(var ge=0;this._state===_e&&ge<Je.length;ge++)this._eachEntry(Je[ge],ge)},ke.prototype._eachEntry=function(Je,ge){var me=this._instanceConstructor,Ue=me.resolve;if(Ue===H){var f=void 0,o=void 0,v=!1;try{f=Je.then}catch(W){v=!0,o=W}if(f===re&&Je._state!==_e)this._settledAt(Je._state,ge,Je._result);else if(typeof f!="function")this._remaining--,this._result[ge]=Je;else if(me===dt){var S=new me(se);v?ye(S,o):X(S,Je,f),this._willSettleAt(S,ge)}else this._willSettleAt(new me(function(W){return W(Je)}),ge)}else this._willSettleAt(Ue(Je),ge)},ke.prototype._settledAt=function(Je,ge,me){var Ue=this.promise;Ue._state===_e&&(this._remaining--,Je===2?ye(Ue,me):this._result[ge]=me),this._remaining===0&&Ye(Ue,this._result)},ke.prototype._willSettleAt=function(Je,ge){var me=this;Pe(Je,void 0,function(Ue){return me._settledAt(1,ge,Ue)},function(Ue){return me._settledAt(2,ge,Ue)})},ke}(),dt=function(){function ke(Je){this[ee]=ve++,this._result=this._state=void 0,this._subscribers=[],se!==Je&&(typeof Je!="function"&&function(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}(),this instanceof ke?function(ge,me){try{me(function(Ue){Ae(ge,Ue)},function(Ue){ye(ge,Ue)})}catch(Ue){ye(ge,Ue)}}(this,Je):function(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}())}return ke.prototype.catch=function(Je){return this.then(null,Je)},ke.prototype.finally=function(Je){var ge=this,me=ge.constructor;return ae(Je)?ge.then(function(Ue){return me.resolve(Je()).then(function(){return Ue})},function(Ue){return me.resolve(Je()).then(function(){throw Ue})}):ge.then(Je,Je)},ke}();return dt.prototype.then=re,dt.all=function(ke){return new _t(this,ke).promise},dt.race=function(ke){var Je=this;return T(ke)?new Je(function(ge,me){for(var Ue=ke.length,f=0;f<Ue;f++)Je.resolve(ke[f]).then(ge,me)}):new Je(function(ge,me){return me(new TypeError("You must pass an array to race."))})},dt.resolve=H,dt.reject=function(ke){var Je=new this(se);return ye(Je,ke),Je},dt._setScheduler=function(ke){y=ke},dt._setAsap=function(ke){p=ke},dt._asap=p,dt.polyfill=function(){var ke=void 0;if(P.g!==void 0)ke=P.g;else if(typeof self<"u")ke=self;else try{ke=Function("return this")()}catch{throw new Error("polyfill failed because global object is unavailable in this environment")}var Je=ke.Promise;if(Je){var ge=null;try{ge=Object.prototype.toString.call(Je.resolve())}catch{}if(ge==="[object Promise]"&&!Je.cast)return}ke.Promise=dt},dt.Promise=dt,dt}()},1159:function(at){var we,P=typeof Reflect=="object"?Reflect:null,ae=P&&typeof P.apply=="function"?P.apply:function(k,q,F){return Function.prototype.apply.call(k,q,F)};we=P&&typeof P.ownKeys=="function"?P.ownKeys:Object.getOwnPropertySymbols?function(k){return Object.getOwnPropertyNames(k).concat(Object.getOwnPropertySymbols(k))}:function(k){return Object.getOwnPropertyNames(k)};var T=Number.isNaN||function(k){return k!=k};function t(){t.init.call(this)}at.exports=t,at.exports.once=function(k,q){return new Promise(function(F,$){function O(re){k.removeListener(q,K),$(re)}function K(){typeof k.removeListener=="function"&&k.removeListener("error",O),F([].slice.call(arguments))}I(k,q,K,{once:!0}),q!=="error"&&function(re,H,ee){typeof re.on=="function"&&I(re,"error",H,{once:!0})}(k,O)})},t.EventEmitter=t,t.prototype._events=void 0,t.prototype._eventsCount=0,t.prototype._maxListeners=void 0;var e=10;function y(k){if(typeof k!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof k)}function p(k){return k._maxListeners===void 0?t.defaultMaxListeners:k._maxListeners}function u(k,q,F,$){var O,K,re,H;if(y(F),(K=k._events)===void 0?(K=k._events=Object.create(null),k._eventsCount=0):(K.newListener!==void 0&&(k.emit("newListener",q,F.listener?F.listener:F),K=k._events),re=K[q]),re===void 0)re=K[q]=F,++k._eventsCount;else if(typeof re=="function"?re=K[q]=$?[F,re]:[re,F]:$?re.unshift(F):re.push(F),(O=p(k))>0&&re.length>O&&!re.warned){re.warned=!0;var ee=new Error("Possible EventEmitter memory leak detected. "+re.length+" "+String(q)+" listeners added. Use emitter.setMaxListeners() to increase limit");ee.name="MaxListenersExceededWarning",ee.emitter=k,ee.type=q,ee.count=re.length,H=ee,console&&console.warn&&console.warn(H)}return k}function _(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function m(k,q,F){var $={fired:!1,wrapFn:void 0,target:k,type:q,listener:F},O=_.bind($);return O.listener=F,$.wrapFn=O,O}function n(k,q,F){var $=k._events;if($===void 0)return[];var O=$[q];return O===void 0?[]:typeof O=="function"?F?[O.listener||O]:[O]:F?function(K){for(var re=new Array(K.length),H=0;H<re.length;++H)re[H]=K[H].listener||K[H];return re}(O):d(O,O.length)}function c(k){var q=this._events;if(q!==void 0){var F=q[k];if(typeof F=="function")return 1;if(F!==void 0)return F.length}return 0}function d(k,q){for(var F=new Array(q),$=0;$<q;++$)F[$]=k[$];return F}function I(k,q,F,$){if(typeof k.on=="function")$.once?k.once(q,F):k.on(q,F);else{if(typeof k.addEventListener!="function")throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof k);k.addEventListener(q,function O(K){$.once&&k.removeEventListener(q,O),F(K)})}}Object.defineProperty(t,"defaultMaxListeners",{enumerable:!0,get:function(){return e},set:function(k){if(typeof k!="number"||k<0||T(k))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+k+".");e=k}}),t.init=function(){this._events!==void 0&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},t.prototype.setMaxListeners=function(k){if(typeof k!="number"||k<0||T(k))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+k+".");return this._maxListeners=k,this},t.prototype.getMaxListeners=function(){return p(this)},t.prototype.emit=function(k){for(var q=[],F=1;F<arguments.length;F++)q.push(arguments[F]);var $=k==="error",O=this._events;if(O!==void 0)$=$&&O.error===void 0;else if(!$)return!1;if($){var K;if(q.length>0&&(K=q[0]),K instanceof Error)throw K;var re=new Error("Unhandled error."+(K?" ("+K.message+")":""));throw re.context=K,re}var H=O[k];if(H===void 0)return!1;if(typeof H=="function")ae(H,this,q);else{var ee=H.length,se=d(H,ee);for(F=0;F<ee;++F)ae(se[F],this,q)}return!0},t.prototype.addListener=function(k,q){return u(this,k,q,!1)},t.prototype.on=t.prototype.addListener,t.prototype.prependListener=function(k,q){return u(this,k,q,!0)},t.prototype.once=function(k,q){return y(q),this.on(k,m(this,k,q)),this},t.prototype.prependOnceListener=function(k,q){return y(q),this.prependListener(k,m(this,k,q)),this},t.prototype.removeListener=function(k,q){var F,$,O,K,re;if(y(q),($=this._events)===void 0)return this;if((F=$[k])===void 0)return this;if(F===q||F.listener===q)--this._eventsCount==0?this._events=Object.create(null):(delete $[k],$.removeListener&&this.emit("removeListener",k,F.listener||q));else if(typeof F!="function"){for(O=-1,K=F.length-1;K>=0;K--)if(F[K]===q||F[K].listener===q){re=F[K].listener,O=K;break}if(O<0)return this;O===0?F.shift():function(H,ee){for(;ee+1<H.length;ee++)H[ee]=H[ee+1];H.pop()}(F,O),F.length===1&&($[k]=F[0]),$.removeListener!==void 0&&this.emit("removeListener",k,re||q)}return this},t.prototype.off=t.prototype.removeListener,t.prototype.removeAllListeners=function(k){var q,F,$;if((F=this._events)===void 0)return this;if(F.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):F[k]!==void 0&&(--this._eventsCount==0?this._events=Object.create(null):delete F[k]),this;if(arguments.length===0){var O,K=Object.keys(F);for($=0;$<K.length;++$)(O=K[$])!=="removeListener"&&this.removeAllListeners(O);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(typeof(q=F[k])=="function")this.removeListener(k,q);else if(q!==void 0)for($=q.length-1;$>=0;$--)this.removeListener(k,q[$]);return this},t.prototype.listeners=function(k){return n(this,k,!0)},t.prototype.rawListeners=function(k){return n(this,k,!1)},t.listenerCount=function(k,q){return typeof k.listenerCount=="function"?k.listenerCount(q):c.call(k,q)},t.prototype.listenerCount=c,t.prototype.eventNames=function(){return this._eventsCount>0?we(this._events):[]}},3101:function(at){var we=Array.isArray,P=Object.keys,ae=Object.prototype.hasOwnProperty;at.exports=function T(t,e){if(t===e)return!0;if(t&&e&&typeof t=="object"&&typeof e=="object"){var y,p,u,_=we(t),m=we(e);if(_&&m){if((p=t.length)!=e.length)return!1;for(y=p;y--!=0;)if(!T(t[y],e[y]))return!1;return!0}if(_!=m)return!1;var n=t instanceof Date,c=e instanceof Date;if(n!=c)return!1;if(n&&c)return t.getTime()==e.getTime();var d=t instanceof RegExp,I=e instanceof RegExp;if(d!=I)return!1;if(d&&I)return t.toString()==e.toString();var k=P(t);if((p=k.length)!==P(e).length)return!1;for(y=p;y--!=0;)if(!ae.call(e,k[y]))return!1;for(y=p;y--!=0;)if(!T(t[u=k[y]],e[u]))return!1;return!0}return t!=t&&e!=e}},3362:function(at,we,P){(function(ae,T,t,e,y){function p(o){if("contents"in o)for(var v=("styleAttrs"in o)?o.styleAttrs[e.byName.ruby.qname]:null,S=o.kind==="span"&&(v==="container"||v==="textContainer"||v==="baseContainer"),W=o.contents.length-1;W>=0;W--)!S||"styleAttrs"in o.contents[W]&&e.byName.ruby.qname in o.contents[W].styleAttrs?p(o.contents[W]):delete o.contents[W]}function u(o,v,S,W){var V=W&&W.timeContainer==="seq",Se=0;W&&(Se=V&&S?S.end:W.begin),v.begin=v.explicit_begin?v.explicit_begin+Se:Se;var ze=v.begin,Me=null;if("sets"in v)for(var De=0;De<v.sets.length;De++)u(o,v.sets[De],Me,v),ze=v.timeContainer==="seq"?v.sets[De].end:Math.max(ze,v.sets[De].end),Me=v.sets[De];if("contents"in v){if("contents"in v)for(var be=0;be<v.contents.length;be++)u(o,v.contents[be],Me,v),ze=v.timeContainer==="seq"?v.contents[be].end:Math.max(ze,v.contents[be].end),Me=v.contents[be]}else ze=V?v.begin:Number.POSITIVE_INFINITY;v.explicit_end!==null&&v.explicit_dur!==null?v.end=Math.min(v.begin+v.explicit_dur,Se+v.explicit_end):v.explicit_end===null&&v.explicit_dur!==null?v.end=v.begin+v.explicit_dur:v.explicit_end!==null&&v.explicit_dur===null?v.end=Se+v.explicit_end:v.end=ze,delete v.explicit_begin,delete v.explicit_dur,delete v.explicit_end,o._registerEvent(v)}function _(o){this.node=o}function m(){this.events=[],this.head=new n,this.body=null}function n(){this.styling=new c,this.layout=new k}function c(){this.styles={},this.initials={}}function d(){this.id=null,this.styleAttrs=null,this.styleRefs=null}function I(){this.styleAttrs=null}function k(){this.regions={}}function q(o,v){F.call(this,"image"),this.src=o,this.type=v}function F(o){this.kind=o}function $(o){this.id=o}function O(o){this.regionID=o}function K(o){this.styleAttrs=o}function re(o){this.sets=o}function H(o){this.contents=o}function ee(o,v,S){this.explicit_begin=o,this.explicit_end=v,this.explicit_dur=S}function se(){F.call(this,"body")}function _e(){F.call(this,"div")}function X(){F.call(this,"p")}function Ae(){F.call(this,"span")}function Le(){F.call(this,"span")}function Ye(){F.call(this,"br")}function ye(){}function Pe(){}function He(o){return o&&"xml:id"in o.attributes&&o.attributes["xml:id"].value||null}function tt(o){return o&&"style"in o.attributes?o.attributes.style.value.split(" "):[]}function ve(o,v){var S={};if(o!==null)for(var W in o.attributes){var V=o.attributes[W].uri+" "+o.attributes[W].local,Se=e.byQName[V];if(Se!==void 0){var ze=Se.parse(o.attributes[W].value);ze!==null?(S[V]=ze,Se===e.byName.zIndex&&ge(v,"zIndex attribute present but not used by IMSC1 since regions do not overlap")):me(v,"Cannot parse styling attribute "+V+" --> "+o.attributes[W].value)}}return S}function Oe(o,v,S){for(var W in o.attributes)if(o.attributes[W].uri===v&&o.attributes[W].local===S)return o.attributes[W].value;return null}function _t(o,v,S){var W,V=null;return(W=/^(\d+(?:\.\d+)?)f$/.exec(S))!==null?v!==null&&(V=parseFloat(W[1])/v):(W=/^(\d+(?:\.\d+)?)t$/.exec(S))!==null?o!==null&&(V=parseFloat(W[1])/o):(W=/^(\d+(?:\.\d+)?)ms$/.exec(S))!==null?V=parseFloat(W[1])/1e3:(W=/^(\d+(?:\.\d+)?)s$/.exec(S))!==null?V=parseFloat(W[1]):(W=/^(\d+(?:\.\d+)?)h$/.exec(S))!==null?V=3600*parseFloat(W[1]):(W=/^(\d+(?:\.\d+)?)m$/.exec(S))!==null?V=60*parseFloat(W[1]):(W=/^(\d{2,}):(\d\d):(\d\d(?:\.\d+)?)$/.exec(S))!==null?V=3600*parseInt(W[1])+60*parseInt(W[2])+parseFloat(W[3]):(W=/^(\d{2,}):(\d\d):(\d\d)\:(\d{2,})$/.exec(S))!==null&&v!==null&&(V=3600*parseInt(W[1])+60*parseInt(W[2])+parseInt(W[3])+(W[4]===null?0:parseInt(W[4])/v)),V}function dt(o,v,S){for(;v.styleRefs.length>0;){var W=v.styleRefs.pop();W in o.styles?(dt(o,o.styles[W],S),Je(o.styles[W].styleAttrs,v.styleAttrs)):me(S,"Non-existant style id referenced")}}function ke(o,v,S,W){for(var V=v.length-1;V>=0;V--){var Se=v[V];Se in o.styles?Je(o.styles[Se].styleAttrs,S):me(W,"Non-existant style id referenced")}}function Je(o,v){for(var S in o)o.hasOwnProperty(S)&&(S in v||(v[S]=o[S]))}function ge(o,v){if(o&&o.warn&&o.warn(v))throw v}function me(o,v){if(o&&o.error&&o.error(v))throw v}function Ue(o,v){throw o&&o.fatal&&o.fatal(v),v}function f(o,v){for(var S,W=0,V=o.length-1;W<=V;){var Se=o[S=Math.floor((W+V)/2)];if(Se<v)W=S+1;else{if(!(Se>v))return{found:!0,index:S};V=S-1}}return{found:!1,index:W}}ae.fromXML=function(o,v,S){var W=T.parser(!0,{xmlns:!0}),V=[],Se=[],ze=[],Me=0,De=null;W.onclosetag=function(it){if(V[0]instanceof ye)De.head!==null&&De.head.styling!==null&&ke(De.head.styling,V[0].styleRefs,V[0].styleAttrs,v),delete V[0].styleRefs;else if(V[0]instanceof c)for(var Ut in V[0].styles)V[0].styles.hasOwnProperty(Ut)&&dt(V[0],V[0].styles[Ut],v);else if(V[0]instanceof X||V[0]instanceof Ae){if(V[0].contents.length>1){var It,Ft=[V[0].contents[0]];for(It=1;It<V[0].contents.length;It++)V[0].contents[It]instanceof Le&&Ft[Ft.length-1]instanceof Le?Ft[Ft.length-1].text+=V[0].contents[It].text:Ft.push(V[0].contents[It]);V[0].contents=Ft}V[0]instanceof Ae&&V[0].contents.length===1&&V[0].contents[0]instanceof Le&&(V[0].text=V[0].contents[0].text,delete V[0].contents)}else V[0]instanceof _&&(V[0].node.uri===t.ns_tt&&V[0].node.local==="metadata"?Me--:Me>0&&S&&"onCloseTag"in S&&S.onCloseTag());ze.shift(),Se.shift(),V.shift()},W.ontext=function(it){if(V[0]!==void 0)if(V[0]instanceof Ae||V[0]instanceof X){if(V[0]instanceof Ae){var Ut=V[0].styleAttrs[e.byName.ruby.qname];if(Ut==="container"||Ut==="textContainer"||Ut==="baseContainer")return}var It=new Le;It.initFromText(De,V[0],it,Se[0],ze[0],v),V[0].contents.push(It)}else V[0]instanceof _&&Me>0&&S&&"onText"in S&&S.onText(it)},W.onopentag=function(it){var Ut=it.attributes["xml:space"];Ut?ze.unshift(Ut.value):ze.length===0?ze.unshift("default"):ze.unshift(ze[0]);var It=it.attributes["xml:lang"];if(It?Se.unshift(It.value):Se.length===0?Se.unshift(""):Se.unshift(Se[0]),it.uri===t.ns_tt)if(it.local==="tt")De!==null&&Ue(v,"Two <tt> elements at ("+this.line+","+this.column+")"),(De=new m).initFromNode(it,Se[0],v),V.unshift(De);else if(it.local==="head")V[0]instanceof m||Ue(v,"Parent of <head> element is not <tt> at ("+this.line+","+this.column+")"),V.unshift(De.head);else if(it.local==="styling")V[0]instanceof n||Ue(v,"Parent of <styling> element is not <head> at ("+this.line+","+this.column+")"),V.unshift(De.head.styling);else if(it.local==="style"){var Ft;V[0]instanceof c?((Ft=new d).initFromNode(it,v),Ft.id?De.head.styling.styles[Ft.id]=Ft:me(v,"<style> element missing @id attribute"),V.unshift(Ft)):V[0]instanceof ye?((Ft=new d).initFromNode(it,v),Je(Ft.styleAttrs,V[0].styleAttrs),V.unshift(Ft)):Ue(v,"Parent of <style> element is not <styling> or <region> at ("+this.line+","+this.column+")")}else if(it.local==="initial"){var Pt;if(V[0]instanceof c){for(var tn in(Pt=new I).initFromNode(it,v),Pt.styleAttrs)Pt.styleAttrs.hasOwnProperty(tn)&&(De.head.styling.initials[tn]=Pt.styleAttrs[tn]);V.unshift(Pt)}else Ue(v,"Parent of <initial> element is not <styling> at ("+this.line+","+this.column+")")}else if(it.local==="layout")V[0]instanceof n||Ue(v,"Parent of <layout> element is not <head> at "+this.line+","+this.column+")"),V.unshift(De.head.layout);else if(it.local==="region"){V[0]instanceof k||Ue(v,"Parent of <region> element is not <layout> at "+this.line+","+this.column+")");var dn=new ye;dn.initFromNode(De,it,Se[0],v),!dn.id||dn.id in De.head.layout.regions?me(v,"Ignoring <region> with duplicate or missing @id at "+this.line+","+this.column+")"):De.head.layout.regions[dn.id]=dn,V.unshift(dn)}else if(it.local==="body"){V[0]instanceof m||Ue(v,"Parent of <body> element is not <tt> at "+this.line+","+this.column+")"),De.body!==null&&Ue(v,"Second <body> element at "+this.line+","+this.column+")");var An=new se;An.initFromNode(De,it,Se[0],v),De.body=An,V.unshift(An)}else if(it.local==="div"){V[0]instanceof _e||V[0]instanceof se||Ue(v,"Parent of <div> element is not <body> or <div> at "+this.line+","+this.column+")");var _n=new _e;_n.initFromNode(De,V[0],it,Se[0],v);var Rn=_n.styleAttrs[e.byName.backgroundImage.qname];Rn&&(_n.contents.push(new q(Rn)),delete _n.styleAttrs[e.byName.backgroundImage.qname]),V[0].contents.push(_n),V.unshift(_n)}else if(it.local==="image"){V[0]instanceof _e||Ue(v,"Parent of <image> element is not <div> at "+this.line+","+this.column+")");var qn=new q;qn.initFromNode(De,V[0],it,Se[0],v),V[0].contents.push(qn),V.unshift(qn)}else if(it.local==="p"){V[0]instanceof _e||Ue(v,"Parent of <p> element is not <div> at "+this.line+","+this.column+")");var yn=new X;yn.initFromNode(De,V[0],it,Se[0],v),V[0].contents.push(yn),V.unshift(yn)}else if(it.local==="span"){V[0]instanceof Ae||V[0]instanceof X||Ue(v,"Parent of <span> element is not <span> or <p> at "+this.line+","+this.column+")");var Qn=new Ae;Qn.initFromNode(De,V[0],it,Se[0],ze[0],v),V[0].contents.push(Qn),V.unshift(Qn)}else if(it.local==="br"){V[0]instanceof Ae||V[0]instanceof X||Ue(v,"Parent of <br> element is not <span> or <p> at "+this.line+","+this.column+")");var xn=new Ye;xn.initFromNode(De,V[0],it,Se[0],v),V[0].contents.push(xn),V.unshift(xn)}else if(it.local==="set"){V[0]instanceof Ae||V[0]instanceof X||V[0]instanceof _e||V[0]instanceof se||V[0]instanceof ye||V[0]instanceof Ye||Ue(v,"Parent of <set> element is not a content element or a region at "+this.line+","+this.column+")");var Vn=new Pe;Vn.initFromNode(De,V[0],it,v),V[0].sets.push(Vn),V.unshift(Vn)}else V.unshift(new _(it));else V.unshift(new _(it));if(V[0]instanceof _){if(it.uri===t.ns_tt&&it.local==="metadata")Me++;else if(Me>0&&S&&"onOpenTag"in S){var er=[];for(var Kn in it.attributes)er[it.attributes[Kn].uri+" "+it.attributes[Kn].local]={uri:it.attributes[Kn].uri,local:it.attributes[Kn].local,value:it.attributes[Kn].value};S.onOpenTag(it.uri,it.local,er)}}},W.write(o).close(),delete De.head.styling.styles;var be=!1;for(var xe in De.head.layout.regions)if(De.head.layout.regions.hasOwnProperty(xe)){be=!0;break}if(!be){var Qe=ye.prototype.createDefaultRegion(De.lang);De.head.layout.regions[Qe.id]=Qe}for(var mt in De.head.layout.regions)De.head.layout.regions.hasOwnProperty(mt)&&u(De,De.head.layout.regions[mt],null,null);return De.body&&u(De,De.body,null,null),De.body&&p(De.body),De},m.prototype.initFromNode=function(o,v,S){var W=function(Me,De){var be=Oe(Me,t.ns_ttp,"cellResolution"),xe=15,Qe=32;if(be!==null){var mt=/(\d+) (\d+)/.exec(be);mt!==null?(Qe=parseInt(mt[1]),xe=parseInt(mt[2])):ge(De,"Malformed cellResolution value (using initial value instead)")}return{w:Qe,h:xe}}(o,S);this.cellLength={h:new y.ComputedLength(0,1/W.h),w:new y.ComputedLength(1/W.w,0)};var V=function(Me,De){var be,xe=Oe(Me,t.ns_ttp,"frameRate"),Qe=30;xe!==null&&((be=/(\d+)/.exec(xe))!==null?Qe=parseInt(be[1]):ge(De,"Malformed frame rate attribute (using initial value instead)"));var mt=Oe(Me,t.ns_ttp,"frameRateMultiplier"),it=1;mt!==null&&((be=/(\d+) (\d+)/.exec(mt))!==null?it=parseInt(be[1])/parseInt(be[2]):ge(De,"Malformed frame rate multiplier attribute (using initial value instead)"));var Ut=it*Qe,It=1,Ft=Oe(Me,t.ns_ttp,"tickRate");return Ft===null?xe!==null&&(It=Ut):(be=/(\d+)/.exec(Ft))!==null?It=parseInt(be[1]):ge(De,"Malformed tick rate attribute (using initial value instead)"),{effectiveFrameRate:Ut,tickRate:It}}(o,S);this.effectiveFrameRate=V.effectiveFrameRate,this.tickRate=V.tickRate,this.aspectRatio=function(Me,De){var be=Oe(Me,t.ns_ittp,"aspectRatio");be===null&&(be=Oe(Me,t.ns_ttp,"displayAspectRatio"));var xe=null;if(be!==null){var Qe=/(\d+)\s+(\d+)/.exec(be);if(Qe!==null){var mt=parseInt(Qe[1]),it=parseInt(Qe[2]);mt!==0&&it!==0?xe=mt/it:me(De,"Illegal aspectRatio values (ignoring)")}else me(De,"Malformed aspectRatio attribute (ignoring)")}return xe}(o,S);var Se=Oe(o,t.ns_ttp,"timeBase");Se!==null&&Se!=="media"&&Ue(S,"Unsupported time base");var ze=function(Me,De){var be=Oe(Me,t.ns_tts,"extent");if(be===null)return null;var xe=be.split(" ");if(xe.length!==2)return ge(De,"Malformed extent (ignoring)"),null;var Qe=y.parseLength(xe[0]),mt=y.parseLength(xe[1]);return mt&&Qe?{h:mt,w:Qe}:(ge(De,"Malformed extent values (ignoring)"),null)}(o,S);ze===null?this.pxLength={h:null,w:null}:(ze.h.unit==="px"&&ze.w.unit==="px"||Ue(S,"Extent on TT must be in px or absent"),this.pxLength={h:new y.ComputedLength(0,1/ze.h.value),w:new y.ComputedLength(1/ze.w.value,0)}),this.dimensions={h:new y.ComputedLength(0,1),w:new y.ComputedLength(1,0)},this.lang=v},m.prototype._registerEvent=function(o){if(!(o.end<=o.begin)){var v=f(this.events,o.begin);if(v.found||this.events.splice(v.index,0,o.begin),o.end!==Number.POSITIVE_INFINITY){var S=f(this.events,o.end);S.found||this.events.splice(S.index,0,o.end)}}},m.prototype.getMediaTimeRange=function(){return[this.events[0],this.events[this.events.length-1]]},m.prototype.getMediaTimeEvents=function(){return this.events},d.prototype.initFromNode=function(o,v){this.id=He(o),this.styleAttrs=ve(o,v),this.styleRefs=tt(o)},I.prototype.initFromNode=function(o,v){for(var S in this.styleAttrs={},o.attributes)if(o.attributes[S].uri===t.ns_itts||o.attributes[S].uri===t.ns_ebutts||o.attributes[S].uri===t.ns_tts){var W=o.attributes[S].uri+" "+o.attributes[S].local;this.styleAttrs[W]=o.attributes[S].value}},q.prototype.initFromNode=function(o,v,S,W,V){this.src="src"in S.attributes?S.attributes.src.value:null,this.src||me(V,"Invalid image@src attribute"),this.type="type"in S.attributes?S.attributes.type.value:null,this.type||me(V,"Invalid image@type attribute"),K.prototype.initFromNode.call(this,o,v,S,V),ee.prototype.initFromNode.call(this,o,v,S,V),re.prototype.initFromNode.call(this,o,v,S,V),O.prototype.initFromNode.call(this,o,v,S,V),this.lang=W},$.prototype.initFromNode=function(o,v,S,W){this.id=He(S)},O.prototype.initFromNode=function(o,v,S,W){this.regionID=function(V){return V&&"region"in V.attributes?V.attributes.region.value:""}(S)},K.prototype.initFromNode=function(o,v,S,W){this.styleAttrs=ve(S,W),o.head!==null&&o.head.styling!==null&&ke(o.head.styling,tt(S),this.styleAttrs,W)},re.prototype.initFromNode=function(o,v,S,W){this.sets=[]},H.prototype.initFromNode=function(o,v,S,W){this.contents=[]},ee.prototype.initFromNode=function(o,v,S,W){var V=function(Se,ze,Me,De){var be=null;Me&&"begin"in Me.attributes&&(be=_t(Se.tickRate,Se.effectiveFrameRate,Me.attributes.begin.value))===null&&ge(De,"Malformed begin value "+Me.attributes.begin.value+" (using 0)");var xe=null;Me&&"dur"in Me.attributes&&(xe=_t(Se.tickRate,Se.effectiveFrameRate,Me.attributes.dur.value))===null&&ge(De,"Malformed dur value "+Me.attributes.dur.value+" (ignoring)");var Qe=null;return Me&&"end"in Me.attributes&&(Qe=_t(Se.tickRate,Se.effectiveFrameRate,Me.attributes.end.value))===null&&ge(De,"Malformed end value (ignoring)"),{explicit_begin:be,explicit_end:Qe,explicit_dur:xe}}(o,0,S,W);this.explicit_begin=V.explicit_begin,this.explicit_end=V.explicit_end,this.explicit_dur=V.explicit_dur,this.timeContainer=function(Se,ze){var Me=Se&&"timeContainer"in Se.attributes?Se.attributes.timeContainer.value:null;return Me&&Me!=="par"?Me==="seq"?"seq":(me(ze,"Illegal value of timeContainer (assuming 'par')"),"par"):"par"}(S,W)},se.prototype.initFromNode=function(o,v,S,W){K.prototype.initFromNode.call(this,o,null,v,W),ee.prototype.initFromNode.call(this,o,null,v,W),re.prototype.initFromNode.call(this,o,null,v,W),O.prototype.initFromNode.call(this,o,null,v,W),H.prototype.initFromNode.call(this,o,null,v,W),this.lang=S},_e.prototype.initFromNode=function(o,v,S,W,V){K.prototype.initFromNode.call(this,o,v,S,V),ee.prototype.initFromNode.call(this,o,v,S,V),re.prototype.initFromNode.call(this,o,v,S,V),O.prototype.initFromNode.call(this,o,v,S,V),H.prototype.initFromNode.call(this,o,v,S,V),this.lang=W},X.prototype.initFromNode=function(o,v,S,W,V){K.prototype.initFromNode.call(this,o,v,S,V),ee.prototype.initFromNode.call(this,o,v,S,V),re.prototype.initFromNode.call(this,o,v,S,V),O.prototype.initFromNode.call(this,o,v,S,V),H.prototype.initFromNode.call(this,o,v,S,V),this.lang=W},Ae.prototype.initFromNode=function(o,v,S,W,V,Se){K.prototype.initFromNode.call(this,o,v,S,Se),ee.prototype.initFromNode.call(this,o,v,S,Se),re.prototype.initFromNode.call(this,o,v,S,Se),O.prototype.initFromNode.call(this,o,v,S,Se),H.prototype.initFromNode.call(this,o,v,S,Se),this.space=V,this.lang=W},Le.prototype.initFromText=function(o,v,S,W,V,Se){ee.prototype.initFromNode.call(this,o,v,null,Se),this.text=S,this.space=V,this.lang=W},Ye.prototype.initFromNode=function(o,v,S,W,V){O.prototype.initFromNode.call(this,o,v,S,V),ee.prototype.initFromNode.call(this,o,v,S,V),this.lang=W},ye.prototype.createDefaultRegion=function(o){var v=new ye;return $.call(v,""),K.call(v,{}),re.call(v,[]),ee.call(v,0,Number.POSITIVE_INFINITY,null),this.lang=o,v},ye.prototype.initFromNode=function(o,v,S,W){$.prototype.initFromNode.call(this,o,null,v,W),ee.prototype.initFromNode.call(this,o,null,v,W),re.prototype.initFromNode.call(this,o,null,v,W),this.styleAttrs=ve(v,W),this.styleRefs=tt(v),this.lang=S},Pe.prototype.initFromNode=function(o,v,S,W){ee.prototype.initFromNode.call(this,o,v,S,W);var V=ve(S,W);for(var Se in this.qname=null,this.value=null,V)if(V.hasOwnProperty(Se)){if(this.qname){me(W,"More than one style specified on set");break}this.qname=Se,this.value=V[Se]}}})(we,typeof sax>"u"?P(5378):sax,typeof imscNames>"u"?P(210):imscNames,typeof imscStyles>"u"?P(6811):imscStyles,typeof imscUtils>"u"?P(5926):imscUtils)},506:function(at,we,P){var ae=/firefox/i.test(navigator.userAgent);(function(T,t,e){function y(H,ee,se,_e){var X;if(se.kind==="region")(X=document.createElement("div")).style.position="absolute";else if(se.kind==="body")X=document.createElement("div");else if(se.kind==="div")X=document.createElement("div");else if(se.kind==="image"){if(X=document.createElement("img"),H.imgResolver!==null&&se.src!==null){var Ae=H.imgResolver(se.src,X);Ae&&(X.src=Ae),X.height=H.regionH,X.width=H.regionW}}else if(se.kind==="p")X=document.createElement("p");else if(se.kind==="span")if(se.styleAttrs[e.byName.ruby.qname]==="container")X=document.createElement("ruby"),H.ruby=!0;else if(se.styleAttrs[e.byName.ruby.qname]==="base")X=document.createElement("span");else if(se.styleAttrs[e.byName.ruby.qname]==="text")X=document.createElement("rt");else if(se.styleAttrs[e.byName.ruby.qname]==="baseContainer")X=document.createElement("rbc");else if(se.styleAttrs[e.byName.ruby.qname]==="textContainer")X=document.createElement("rtc");else{if(se.styleAttrs[e.byName.ruby.qname]==="delimiter")return;X=document.createElement("span")}else se.kind==="br"&&(X=document.createElement("br"));if(X){if(se.lang&&(se.kind!=="region"&&se.lang===_e.lang||(X.lang=se.lang)),ee.appendChild(X),X.style.margin="0",se.kind==="region"){var Le=se.styleAttrs[e.byName.writingMode.qname];Le==="lrtb"||Le==="lr"?(H.ipd="lr",H.bpd="tb"):Le==="rltb"||Le==="rl"?(H.ipd="rl",H.bpd="tb"):Le==="tblr"?(H.ipd="tb",H.bpd="lr"):Le!=="tbrl"&&Le!=="tb"||(H.ipd="tb",H.bpd="rl")}else if(se.kind==="p"&&H.bpd==="tb"){var Ye=se.styleAttrs[e.byName.direction.qname];H.ipd=Ye==="ltr"?"lr":"rl"}for(var ye=0;ye<I.length;ye++){var Pe=I[ye],He=se.styleAttrs[Pe.qname];He!==void 0&&Pe.map!==null&&Pe.map(H,X,se,He)}var tt=X,ve=se.styleAttrs[e.byName.linePadding.qname];if(ve&&!ve.isZero()){var Oe=ve.toUsedLength(H.w,H.h);if(Oe>0){var _t=Math.ceil(Oe)+"px";H.bpd==="tb"?(tt.style.paddingLeft=_t,tt.style.paddingRight=_t):(tt.style.paddingTop=_t,tt.style.paddingBottom=_t),H.lp=ve}}var dt=se.styleAttrs[e.byName.multiRowAlign.qname];if(dt&&dt!=="auto"){var ke=document.createElement("span");ke.style.display="inline-block",ke.style.textAlign=dt,X.appendChild(ke),tt=ke,H.mra=dt}var Je=se.styleAttrs[e.byName.rubyReserve.qname];if(Je&&Je[0]!=="none"&&(H.rubyReserve=Je),se.styleAttrs[e.byName.fillLineGap.qname]&&(H.flg=!0),se.kind==="span"&&se.text){var ge=se.styleAttrs[e.byName.textEmphasis.qname];if(ge&&ge.style!=="none"&&(H.textEmphasis=!0),e.byName.textCombine.qname in se.styleAttrs&&se.styleAttrs[e.byName.textCombine.qname]==="all")X.textContent=se.text,X._isd_element=se,ge&&c(H,X,0,ge);else for(var me="",Ue=0;Ue<se.text.length;Ue++){me+=se.text.charAt(Ue);var f=se.text.charCodeAt(Ue);if(f<55296||f>56319||Ue===se.text.length-1){var o=document.createElement("span");o.textContent=me,ge&&c(H,o,0,ge),X.appendChild(o),me="",o._isd_element=se}}}if("contents"in se)for(var v=0;v<se.contents.length;v++)y(H,tt,se.contents[v],se);var S=[];if(se.kind==="p"&&(n(H,tt,S,null),H.rubyReserve&&(function(Me,De){for(var be=0;be<Me.length;be++){var xe,Qe,mt=document.createElement("ruby"),it=document.createElement("span");it.textContent="​",mt.appendChild(it);var Ut,It=De.rubyReserve[1].toUsedLength(De.w,De.h)+"px";De.rubyReserve[0]==="both"||De.rubyReserve[0]==="outside"&&Me.length==1?((xe=document.createElement("rtc")).style[$]=F?"after":"under",xe.textContent="​",xe.style.fontSize=It,(Qe=document.createElement("rtc")).style[$]=F?"before":"over",Qe.textContent="​",Qe.style.fontSize=It,mt.appendChild(xe),mt.appendChild(Qe)):((xe=document.createElement("rtc")).textContent="​",xe.style.fontSize=It,Ut=De.rubyReserve[0]==="after"||De.rubyReserve[0]==="outside"&&be>0?F?"after":De.bpd==="tb"||De.bpd==="rl"?"under":"over":F?"before":De.bpd==="tb"||De.bpd==="rl"?"over":"under",xe.style[$]=Ut,mt.appendChild(xe));for(var Ft=null,Pt=0;Pt<Me[be].rbc.length;Pt++)if(Me[be].rbc[Pt].localName==="ruby"){Ft=Me[be].rbc[Pt];for(var tn=0;tn<Ft.style.length;tn++)mt.style.setProperty(Ft.style.item(tn),Ft.style.getPropertyValue(Ft.style.item(tn)));break}(Ft=Ft||Me[be].elements[0].node).parentElement.insertBefore(mt,Ft)}}(S,H),H.rubyReserve=null),(H.ruby||H.rubyReserve)&&(function(Me,De){for(var be=0;be<Me.length;be++)for(var xe=0;xe<Me[be].rbc.length;xe++){var Qe;Me[be].rbc[xe].style[$]||(Qe=F?be===0?"before":"after":De.bpd==="tb"||De.bpd==="rl"?be===0?"over":"under":be===0?"under":"over",Me[be].rbc[xe].style[$]=Qe)}}(S,H),H.ruby=null),H.textEmphasis&&(function(Me,De){for(var be=0;be<Me.length;be++)for(var xe=0;xe<Me[be].te.length;xe++){var Qe;Me[be].te[xe].style[K]&&Me[be].te[xe].style[K]!=="none"||(Qe=De.bpd==="tb"?be===0?"left over":"left under":De.bpd==="rl"?be===0?"right under":"left under":be===0?"left under":"right under",Me[be].te[xe].style[K]=Qe)}}(S,H),H.textEmphasis=null),H.mra&&(function(Me){for(var De=0;De<Me.length-1;De++){var be=Me[De].elements.length;if(be!==0&&Me[De].br===!1){var xe=document.createElement("br"),Qe=Me[De].elements[be-1].node;Qe.parentElement.insertBefore(xe,Qe.nextSibling)}}}(S),H.mra=null),H.lp&&(function(Me,De,be){if(Me!==null)for(var xe=0;xe<Me.length;xe++){var Qe=Me[xe].elements.length,mt=Math.ceil(De)+"px",it="-"+Math.ceil(De)+"px";if(Qe!==0){var Ut=Me[xe].elements[Me[xe].start_elem],It=Me[xe].elements[Me[xe].end_elem];if(Ut===It){var Ft=Ut.node.getBoundingClientRect();if(Ft.width==0||Ft.height==0)continue}be.ipd==="lr"?(Ut.node.style.marginLeft=it,Ut.node.style.paddingLeft=mt):be.ipd==="rl"?(Ut.node.style.paddingRight=mt,Ut.node.style.marginRight=it):be.ipd==="tb"&&(Ut.node.style.paddingTop=mt,Ut.node.style.marginTop=it),be.ipd==="lr"?(ae||(It.node.style.marginRight=it),It.node.style.paddingRight=mt):be.ipd==="rl"?(It.node.style.paddingLeft=mt,ae||(It.node.style.marginLeft=it)):be.ipd==="tb"&&(It.node.style.paddingBottom=mt,It.node.style.marginBottom=it)}}}(S,H.lp.toUsedLength(H.w,H.h),H),H.lp=null),function(Me,De){for(var be=0;be<Me.length;be++)for(var xe=Me[be],Qe=1;Qe<xe.elements.length;){var mt=xe.elements[Qe-1],it=xe.elements[Qe];u(mt.node,it.node,De)?xe.elements.splice(Qe,1):Qe++}for(var Ut,It,Ft=[],Pt=0;Pt<Me.length;Pt++)for(var tn=0;tn<Me[Pt].elements.length;tn++)(It=p(Ut=Me[Pt].elements[tn].node,Ft,!1))&&(Ut.style.backgroundColor=It);for(var dn=0;dn<Ft.length;dn++)Ft[dn].style.backgroundColor=""}(S,H),H.flg)){var W=m(tt.getBoundingClientRect(),H);(function(Me,De,be,xe,Qe){for(var mt=Math.sign(be-De),it=0;it<=Me.length;it++){var Ut,It,Ft,Pt;if(Ut=it===0?Math.round(De):it===Me.length?Math.round(be):Math.round((Me[it-1].after+Me[it].before)/2),it>0&&Me[it-1])for(Ft=0;Ft<Me[it-1].elements.length;Ft++)It=mt*(Ut-(Pt=Me[it-1].elements[Ft]).after)+"px",xe.bpd==="lr"?Pt.node.style.paddingRight=It:xe.bpd==="rl"?Pt.node.style.paddingLeft=It:xe.bpd==="tb"&&(Pt.node.style.paddingBottom=It);if(it<Me.length)for(Ft=0;Ft<Me[it].elements.length;Ft++)It=mt*((Pt=Me[it].elements[Ft]).before-Ut)+"px",xe.bpd==="lr"?Pt.node.style.paddingLeft=It:xe.bpd==="rl"?Pt.node.style.paddingRight=It:xe.bpd==="tb"&&(Pt.node.style.paddingTop=It)}})(S,W.before,W.after,H),H.flg=null}if(se.kind==="region"&&H.bpd==="tb"&&H.enableRollUp&&se.contents.length>0&&se.styleAttrs[e.byName.displayAlign.qname]==="after"){n(H,tt,S,null);var V=new _(se.id===""?"_":se.id,S);if(H.currentISDState[V.id]=V,H.previousISDState&&V.id in H.previousISDState&&H.previousISDState[V.id].plist.length>0&&V.plist.length>1&&V.plist[V.plist.length-2].text===H.previousISDState[V.id].plist[H.previousISDState[V.id].plist.length-1].text){var Se=X.firstElementChild,ze=V.plist[V.plist.length-1].after-V.plist[V.plist.length-1].before;Se.style.bottom="-"+ze+"px",Se.style.transition="transform 0.4s",Se.style.position="relative",Se.style.transform="translateY(-"+ze+"px)"}}}else re(H.errorHandler,"Error processing ISD element kind: "+se.kind)}function p(H,ee,se){return H.style.backgroundColor?(se&&!ee.includes(H)&&ee.push(H),H.style.backgroundColor):H.parentElement.nodeName==="SPAN"||H.parentElement.nodeName==="RUBY"||H.parentElement.nodeName==="RBC"||H.parentElement.nodeName==="RTC"||H.parentElement.nodeName==="RT"?p(H.parentElement,ee,!0):void 0}function u(H,ee,se){if(H.tagName==="SPAN"&&ee.tagName==="SPAN"&&H._isd_element===ee._isd_element){if(!H._isd_element)return re(se.errorHandler,"Internal error: HTML span is not linked to a source element; cannot merge spans."),!1;H.textContent+=ee.textContent;for(var _e=0;_e<ee.style.length;_e++){var X=ee.style[_e];(X.indexOf("border")>=0||X.indexOf("padding")>=0||X.indexOf("margin")>=0)&&(H.style[X]=ee.style[X])}return ee.parentElement.removeChild(ee),!0}return!1}function _(H,ee){this.id=H,this.plist=ee}function m(H,ee){var se={before:null,after:null,start:null,end:null};return ee.bpd==="tb"?(se.before=H.top,se.after=H.bottom,ee.ipd==="lr"?(se.start=H.left,se.end=H.right):(se.start=H.right,se.end=H.left)):ee.bpd==="lr"?(se.before=H.left,se.after=H.right,se.start=H.top,se.end=H.bottom):ee.bpd==="rl"&&(se.before=H.right,se.after=H.left,se.start=H.top,se.end=H.bottom),se}function n(H,ee,se,_e){if(ee.localName!=="rt"&&ee.localName!=="rtc"){var X,Ae,Le,Ye,ye=ee.style.backgroundColor||_e;if(ee.childElementCount===0)if(ee.localName==="span"||ee.localName==="rb"){var Pe=m(ee.getBoundingClientRect(),H);if(se.length!==0&&(X=Pe.before,Ae=Pe.after,Le=se[se.length-1].before,Ae<(Ye=se[se.length-1].after)&&X>Le||Ye<=Ae&&Le>=X)){var He=Math.sign(Pe.after-Pe.before),tt=Math.sign(Pe.end-Pe.start);He*(Pe.before-se[se.length-1].before)<0&&(se[se.length-1].before=Pe.before),He*(Pe.after-se[se.length-1].after)>0&&(se[se.length-1].after=Pe.after),tt*(Pe.start-se[se.length-1].start)<0&&(se[se.length-1].start=Pe.start,se[se.length-1].start_elem=se[se.length-1].elements.length),tt*(Pe.end-se[se.length-1].end)>0&&(se[se.length-1].end=Pe.end,se[se.length-1].end_elem=se[se.length-1].elements.length)}else se.push({before:Pe.before,after:Pe.after,start:Pe.start,end:Pe.end,start_elem:0,end_elem:0,elements:[],rbc:[],te:[],text:"",br:!1});se[se.length-1].text+=ee.textContent,se[se.length-1].elements.push({node:ee,bgcolor:ye,before:Pe.before,after:Pe.after})}else ee.localName==="br"&&se.length!==0&&(se[se.length-1].br=!0);else for(var ve=ee.firstChild;ve;)ve.nodeType===Node.ELEMENT_NODE&&(n(H,ve,se,ye),ve.localName==="ruby"||ve.localName==="rtc"?se.length>0&&se[se.length-1].rbc.push(ve):ve.localName==="span"&&ve.style[O]&&ve.style[O]!=="none"&&se.length>0&&se[se.length-1].te.push(ve)),ve=ve.nextSibling}}function c(H,ee,se,_e){var X;_e.style!=="none"&&(_e.style==="auto"?ee.style[O]="filled":ee.style[O]=_e.style+" "+_e.symbol,(_e.position==="before"||_e.position==="after")&&(X=H.bpd==="tb"?_e.position==="before"?"left over":"left under":H.bpd==="rl"?_e.position==="before"?"right under":"left under":_e.position==="before"?"left under":"right under",ee.style[K]=X))}function d(H,ee){this.qname=H,this.map=ee}T.render=function(H,ee,se,_e,X,Ae,Le,Ye,ye){var Pe=_e||ee.clientHeight,He=X||ee.clientWidth;if(H.aspectRatio!==null){var tt=Pe*H.aspectRatio;tt>He?Pe=Math.round(He/H.aspectRatio):He=tt}var ve=document.createElement("div");ve.style.position="relative",ve.style.width=He+"px",ve.style.height=Pe+"px",ve.style.margin="auto",ve.style.top=0,ve.style.bottom=0,ve.style.left=0,ve.style.right=0,ve.style.zIndex=0;var Oe={h:Pe,w:He,regionH:null,regionW:null,imgResolver:se,displayForcedOnlyMode:Ae||!1,isd:H,errorHandler:Le,previousISDState:Ye,enableRollUp:ye||!1,currentISDState:{},flg:null,lp:null,mra:null,ipd:null,bpd:null,ruby:null,textEmphasis:null,rubyReserve:null};if(ee.appendChild(ve),"contents"in H)for(var _t=0;_t<H.contents.length;_t++)y(Oe,ve,H.contents[_t],H);return Oe.currentISDState};for(var I=[new d("http://www.w3.org/ns/ttml#styling backgroundColor",function(H,ee,se,_e){_e[3]!==0&&(ee.style.backgroundColor="rgba("+_e[0].toString()+","+_e[1].toString()+","+_e[2].toString()+","+(_e[3]/255).toString()+")")}),new d("http://www.w3.org/ns/ttml#styling color",function(H,ee,se,_e){ee.style.color="rgba("+_e[0].toString()+","+_e[1].toString()+","+_e[2].toString()+","+(_e[3]/255).toString()+")"}),new d("http://www.w3.org/ns/ttml#styling direction",function(H,ee,se,_e){ee.style.direction=_e}),new d("http://www.w3.org/ns/ttml#styling display",function(H,ee,se,_e){}),new d("http://www.w3.org/ns/ttml#styling displayAlign",function(H,ee,se,_e){ee.style.display="flex",ee.style.flexDirection="column",_e==="before"?ee.style.justifyContent="flex-start":_e==="center"?ee.style.justifyContent="center":_e==="after"&&(ee.style.justifyContent="flex-end")}),new d("http://www.w3.org/ns/ttml#styling extent",function(H,ee,se,_e){H.regionH=_e.h.toUsedLength(H.w,H.h),H.regionW=_e.w.toUsedLength(H.w,H.h);var X=0,Ae=0,Le=se.styleAttrs["http://www.w3.org/ns/ttml#styling padding"];Le&&(X=Le[0].toUsedLength(H.w,H.h)+Le[2].toUsedLength(H.w,H.h),Ae=Le[1].toUsedLength(H.w,H.h)+Le[3].toUsedLength(H.w,H.h)),ee.style.height=H.regionH-X+"px",ee.style.width=H.regionW-Ae+"px"}),new d("http://www.w3.org/ns/ttml#styling fontFamily",function(H,ee,se,_e){for(var X=[],Ae=0;Ae<_e.length;Ae++)_e[Ae]=_e[Ae].trim(),_e[Ae]==="monospaceSerif"?(X.push("Courier New"),X.push('"Liberation Mono"'),X.push("Courier"),X.push("monospace")):_e[Ae]==="proportionalSansSerif"?(X.push("Arial"),X.push("Helvetica"),X.push('"Liberation Sans"'),X.push("sans-serif")):_e[Ae]==="monospace"?X.push("monospace"):_e[Ae]==="sansSerif"?X.push("sans-serif"):_e[Ae]==="serif"?X.push("serif"):_e[Ae]==="monospaceSansSerif"?(X.push("Consolas"),X.push("monospace")):_e[Ae]==="proportionalSerif"?X.push("serif"):X.push(_e[Ae]);if(X.length>0){for(var Le=[X[0]],Ye=1;Ye<X.length;Ye++)Le.indexOf(X[Ye])==-1&&Le.push(X[Ye]);X=Le}ee.style.fontFamily=X.join(",")}),new d("http://www.w3.org/ns/ttml#styling shear",function(H,ee,se,_e){if(_e!==0){var X=-.9*_e;H.bpd==="tb"?ee.style.transform="skewX("+X+"deg)":ee.style.transform="skewY("+X+"deg)"}}),new d("http://www.w3.org/ns/ttml#styling fontSize",function(H,ee,se,_e){ee.style.fontSize=_e.toUsedLength(H.w,H.h)+"px"}),new d("http://www.w3.org/ns/ttml#styling fontStyle",function(H,ee,se,_e){ee.style.fontStyle=_e}),new d("http://www.w3.org/ns/ttml#styling fontWeight",function(H,ee,se,_e){ee.style.fontWeight=_e}),new d("http://www.w3.org/ns/ttml#styling lineHeight",function(H,ee,se,_e){ee.style.lineHeight=_e==="normal"?"normal":_e.toUsedLength(H.w,H.h)+"px"}),new d("http://www.w3.org/ns/ttml#styling opacity",function(H,ee,se,_e){ee.style.opacity=_e}),new d("http://www.w3.org/ns/ttml#styling origin",function(H,ee,se,_e){ee.style.top=_e.h.toUsedLength(H.w,H.h)+"px",ee.style.left=_e.w.toUsedLength(H.w,H.h)+"px"}),new d("http://www.w3.org/ns/ttml#styling overflow",function(H,ee,se,_e){ee.style.overflow=_e}),new d("http://www.w3.org/ns/ttml#styling padding",function(H,ee,se,_e){var X=[];X[0]=_e[0].toUsedLength(H.w,H.h)+"px",X[1]=_e[3].toUsedLength(H.w,H.h)+"px",X[2]=_e[2].toUsedLength(H.w,H.h)+"px",X[3]=_e[1].toUsedLength(H.w,H.h)+"px",ee.style.padding=X.join(" ")}),new d("http://www.w3.org/ns/ttml#styling position",function(H,ee,se,_e){ee.style.top=_e.h.toUsedLength(H.w,H.h)+"px",ee.style.left=_e.w.toUsedLength(H.w,H.h)+"px"}),new d("http://www.w3.org/ns/ttml#styling rubyAlign",function(H,ee,se,_e){ee.style.rubyAlign=_e==="spaceAround"?"space-around":"center"}),new d("http://www.w3.org/ns/ttml#styling rubyPosition",function(H,ee,se,_e){var X;_e!=="before"&&_e!=="after"||(X=F?_e:H.bpd==="tb"||H.bpd==="rl"?_e==="before"?"over":"under":_e==="before"?"under":"over",ee.parentElement.style[$]=X)}),new d("http://www.w3.org/ns/ttml#styling showBackground",null),new d("http://www.w3.org/ns/ttml#styling textAlign",function(H,ee,se,_e){var X;X=_e==="start"?H.ipd==="rl"?"right":"left":_e==="end"?H.ipd==="rl"?"left":"right":_e,ee.style.textAlign=X}),new d("http://www.w3.org/ns/ttml#styling textDecoration",function(H,ee,se,_e){ee.style.textDecoration=_e.join(" ").replace("lineThrough","line-through")}),new d("http://www.w3.org/ns/ttml#styling textOutline",function(H,ee,se,_e){}),new d("http://www.w3.org/ns/ttml#styling textShadow",function(H,ee,se,_e){var X=se.styleAttrs[e.byName.textOutline.qname];if(_e==="none"&&X==="none")ee.style.textShadow="";else{var Ae=[];if(X!=="none"){var Le="rgba("+X.color[0].toString()+","+X.color[1].toString()+","+X.color[2].toString()+","+(X.color[3]/255).toString()+")";Ae.push("1px 1px 1px "+Le),Ae.push("-1px 1px 1px "+Le),Ae.push("1px -1px 1px "+Le),Ae.push("-1px -1px 1px "+Le)}if(_e!=="none")for(var Ye=0;Ye<_e.length;Ye++)Ae.push(_e[Ye].x_off.toUsedLength(H.w,H.h)+"px "+_e[Ye].y_off.toUsedLength(H.w,H.h)+"px "+_e[Ye].b_radius.toUsedLength(H.w,H.h)+"px rgba("+_e[Ye].color[0].toString()+","+_e[Ye].color[1].toString()+","+_e[Ye].color[2].toString()+","+(_e[Ye].color[3]/255).toString()+")");ee.style.textShadow=Ae.join(",")}}),new d("http://www.w3.org/ns/ttml#styling textCombine",function(H,ee,se,_e){ee.style.textCombineUpright=_e}),new d("http://www.w3.org/ns/ttml#styling textEmphasis",function(H,ee,se,_e){}),new d("http://www.w3.org/ns/ttml#styling unicodeBidi",function(H,ee,se,_e){var X;X=_e==="bidiOverride"?"bidi-override":_e,ee.style.unicodeBidi=X}),new d("http://www.w3.org/ns/ttml#styling visibility",function(H,ee,se,_e){ee.style.visibility=_e}),new d("http://www.w3.org/ns/ttml#styling wrapOption",function(H,ee,se,_e){_e==="wrap"?se.space==="preserve"?ee.style.whiteSpace="pre-wrap":ee.style.whiteSpace="normal":se.space==="preserve"?ee.style.whiteSpace="pre":ee.style.whiteSpace="noWrap"}),new d("http://www.w3.org/ns/ttml#styling writingMode",function(H,ee,se,_e){_e==="lrtb"||_e==="lr"||_e==="rltb"||_e==="rl"?ee.style.writingMode="horizontal-tb":_e==="tblr"?ee.style.writingMode="vertical-lr":_e!=="tbrl"&&_e!=="tb"||(ee.style.writingMode="vertical-rl")}),new d("http://www.w3.org/ns/ttml#styling zIndex",function(H,ee,se,_e){ee.style.zIndex=_e}),new d("http://www.w3.org/ns/ttml/profile/imsc1#styling forcedDisplay",function(H,ee,se,_e){H.displayForcedOnlyMode&&_e===!1&&(ee.style.visibility="hidden")})],k={},q=0;q<I.length;q++)k[I[q].qname]=I[q];var F="webkitRubyPosition"in window.getComputedStyle(document.documentElement),$=F?"webkitRubyPosition":"rubyPosition",O="webkitTextEmphasisStyle"in window.getComputedStyle(document.documentElement)?"webkitTextEmphasisStyle":"textEmphasisStyle",K="webkitTextEmphasisPosition"in window.getComputedStyle(document.documentElement)?"webkitTextEmphasisPosition":"textEmphasisPosition";function re(H,ee){if(H&&H.error&&H.error(ee))throw ee}})(we,typeof imscNames>"u"?P(210):imscNames,typeof imscStyles>"u"?P(6811):imscStyles,typeof imscUtils>"u"?P(5926):imscUtils)},4080:function(at,we,P){(function(ae,T,t,e){ae.generateISD=function(d,I,k){var q,F=new m(d),$={},O={},K=d.head.styling.initials[t.byName.showBackground.qname],re=d.head.styling.initials[t.byName.backgroundColor.qname];for(var H in d.head.layout.regions)if(d.head.layout.regions.hasOwnProperty(H)){var ee=d.head.layout.regions[H],se=ee.styleAttrs[t.byName.showBackground.qname]||K,_e=ee.styleAttrs[t.byName.backgroundColor.qname]||re;O[ee.id]=(se==="always"||se===void 0)&&_e!==void 0&&!(I<ee.begin||I>=ee.end)}for(var X in d.body&&d.body.regionID&&(O[d.body.regionID]=!0),q=d.body!==null?function Le(Ye,ye){if(ye.contents){var Pe={};for(var He in ye)ye.hasOwnProperty(He)&&(Pe[He]=ye[He]);return Pe.contents=[],ye.contents.filter(function(tt){return!(Ye<tt.begin||Ye>=tt.end)}).forEach(function(tt){var ve=Le(Ye,tt);ve.regionID&&(O[ve.regionID]=!0),ve!==null&&Pe.contents.push(ve)}),Pe}return ye}(I,d.body):null,O[""]!==void 0&&(O[""]=!0),O)if(O[X]){var Ae=p(d,I,d.head.layout.regions[X],q,null,"",d.head.layout.regions[X],k,$);Ae!==null&&F.contents.push(Ae.element)}return F};var y=[t.byName.color.qname,t.byName.textCombine.qname,t.byName.textDecoration.qname,t.byName.textEmphasis.qname,t.byName.textOutline.qname,t.byName.textShadow.qname];function p(d,I,k,q,F,$,O,K,re){if(I<O.begin||I>=O.end)return null;var H="regionID"in O&&O.regionID!==""?O.regionID:$;if(F!==null&&H!==k.id&&(!("contents"in O)||"contents"in O&&O.contents.length===0||H!==""))return null;var ee=new n(O);if("sets"in O)for(var se=0;se<O.sets.length;se++)I<O.sets[se].begin||I>=O.sets[se].end||(ee.styleAttrs[O.sets[se].qname]=O.sets[se].value);var _e={};for(var X in ee.styleAttrs)if(ee.styleAttrs.hasOwnProperty(X)&&(_e[X]=!0,ee.kind==="region"&&X===t.byName.writingMode.qname&&!(t.byName.direction.qname in ee.styleAttrs))){var Ae=ee.styleAttrs[X];Ae==="lrtb"||Ae==="lr"?ee.styleAttrs[t.byName.direction.qname]="ltr":Ae!=="rltb"&&Ae!=="rl"||(ee.styleAttrs[t.byName.direction.qname]="rtl")}if(F!==null)for(var Le=0;Le<t.all.length;Le++){var Ye=t.all[Le];if(Ye.qname===t.byName.textDecoration.qname){var ye=F.styleAttrs[Ye.qname],Pe=ee.styleAttrs[Ye.qname],He=[];Pe===void 0?He=ye:Pe.indexOf("none")===-1?((Pe.indexOf("noUnderline")===-1&&ye.indexOf("underline")!==-1||Pe.indexOf("underline")!==-1)&&He.push("underline"),(Pe.indexOf("noLineThrough")===-1&&ye.indexOf("lineThrough")!==-1||Pe.indexOf("lineThrough")!==-1)&&He.push("lineThrough"),(Pe.indexOf("noOverline")===-1&&ye.indexOf("overline")!==-1||Pe.indexOf("overline")!==-1)&&He.push("overline")):He.push("none"),ee.styleAttrs[Ye.qname]=He}else if(Ye.qname!==t.byName.fontSize.qname||Ye.qname in ee.styleAttrs||ee.kind!=="span"||ee.styleAttrs[t.byName.ruby.qname]!=="textContainer")if(Ye.qname!==t.byName.fontSize.qname||Ye.qname in ee.styleAttrs||ee.kind!=="span"||ee.styleAttrs[t.byName.ruby.qname]!=="text")Ye.inherit&&Ye.qname in F.styleAttrs&&!(Ye.qname in ee.styleAttrs)&&(ee.styleAttrs[Ye.qname]=F.styleAttrs[Ye.qname]);else{var tt=F.styleAttrs[t.byName.fontSize.qname];F.styleAttrs[t.byName.ruby.qname]==="textContainer"?ee.styleAttrs[Ye.qname]=tt:ee.styleAttrs[Ye.qname]=new e.ComputedLength(.5*tt.rw,.5*tt.rh)}else{var ve=F.styleAttrs[t.byName.fontSize.qname];ee.styleAttrs[Ye.qname]=new e.ComputedLength(.5*ve.rw,.5*ve.rh)}}for(var Oe=0;Oe<t.all.length;Oe++){var _t=t.all[Oe];if(!(_t.qname in ee.styleAttrs)&&!(_t.qname===t.byName.position.qname&&t.byName.origin.qname in ee.styleAttrs||_t.qname===t.byName.origin.qname&&t.byName.position.qname in ee.styleAttrs)){var dt=d.head.styling.initials[_t.qname]||_t.initial;if(dt!==null&&(ee.kind==="region"||_t.inherit===!1&&dt!==null)){var ke=_t.parse(dt);ke!==null?(ee.styleAttrs[_t.qname]=ke,_e[_t.qname]=!0):c(K,"Invalid initial value for '"+_t.qname+"' on element '"+ee.kind)}}}for(var Je=0;Je<t.all.length;Je++){var ge=t.all[Je];if(ge.qname in _e&&ge.compute!==null){var me=ge.compute(d,F,ee,ee.styleAttrs[ge.qname],re);me!==null?ee.styleAttrs[ge.qname]=me:(ee.styleAttrs[ge.qname]=ge.compute(d,F,ee,ge.parse(ge.initial),re),c(K,"Style '"+ge.qname+"' on element '"+ee.kind+"' cannot be computed"))}}if(ee.styleAttrs[t.byName.display.qname]==="none")return null;var Ue=null;F===null?Ue=q===null?[]:[q]:"contents"in O&&(Ue=O.contents);for(var f=0;Ue!==null&&f<Ue.length;f++){var o=p(d,I,k,q,ee,H,Ue[f],K,re);o!==null&&ee.contents.push(o.element)}for(var v in ee.styleAttrs)if(ee.styleAttrs.hasOwnProperty(v)){var S=!1;if(ee.kind==="span"){var W=ee.styleAttrs[t.byName.ruby.qname];(S=(W==="container"||W==="textContainer"||W==="baseContainer")&&y.indexOf(v)!==-1)||(S=W!=="container"&&v===t.byName.rubyAlign.qname),S||(S=!(W==="textContainer"||W==="text")&&v===t.byName.rubyPosition.qname)}if(!S){var V=t.byQName[v];"applies"in V&&(S=V.applies.indexOf(ee.kind)===-1)}S&&delete ee.styleAttrs[v]}var Se=ee.styleAttrs[t.byName.ruby.qname];if(ee.kind==="p"||ee.kind==="span"&&(Se==="textContainer"||Se==="text")){var ze=[];u(ee,ze),function(Me){for(var De,be=0;be<Me.length;)if((De=Me[be]).kind!=="br"&&De.space!=="preserve"){var xe=De.text.replace(/[\t\r\n ]+/g," ");/^[ ]/.test(xe)&&(be===0||(Qe=Me[be-1]).kind==="br"||/[\r\n\t ]$/.test(Qe.text))&&(xe=xe.substring(1)),De.text=xe,xe.length===0?Me.splice(be,1):be++}else be++;var Qe,mt;for(be=0;be<Me.length;be++)(De=Me[be]).kind!=="br"&&De.space!=="preserve"?/[ ]$/.test(De.text)&&(be===Me.length-1||(mt=Me[be+1]).kind==="br"||mt.space==="preserve"&&/^[\r\n]/.test(mt.text))&&(De.text=De.text.slice(0,-1)):be++}(ze),_(ee)}return ee.kind==="div"&&t.byName.backgroundImage.qname in ee.styleAttrs||ee.kind==="br"||ee.kind==="image"||"contents"in ee&&ee.contents.length>0||ee.kind==="span"&&ee.text!==null||ee.kind==="region"&&ee.styleAttrs[t.byName.showBackground.qname]==="always"?{region_id:H,element:ee}:null}function u(d,I){if("contents"in d)for(var k=0;k<d.contents.length;k++){var q=d.contents[k],F=q.styleAttrs[t.byName.ruby.qname];(q.kind!=="span"||F!=="textContainer"&&F!=="text")&&("contents"in q?u(q,I):(q.kind==="span"&&q.text.length!==0||q.kind==="br")&&I.push(q))}}function _(d){if(d.kind==="br")return!1;if("text"in d)return d.text.length===0;if("contents"in d){for(var I=d.contents.length;I--;)_(d.contents[I])&&d.contents.splice(I,1);return d.contents.length===0}}function m(d){this.contents=[],this.aspectRatio=d.aspectRatio,this.lang=d.lang}function n(d){for(var I in this.kind=d.kind||"region",this.lang=d.lang,d.id&&(this.id=d.id),this.styleAttrs={},d.styleAttrs)d.styleAttrs.hasOwnProperty(I)&&(this.styleAttrs[I]=d.styleAttrs[I]);"src"in d&&(this.src=d.src),"type"in d&&(this.type=d.type),"text"in d?this.text=d.text:(this.kind==="region"||"contents"in d)&&(this.contents=[]),"space"in d&&(this.space=d.space)}function c(d,I){if(d&&d.error&&d.error(I))throw I}})(we,typeof imscNames>"u"?P(210):imscNames,typeof imscStyles>"u"?P(6811):imscStyles,typeof imscUtils>"u"?P(5926):imscUtils)},4403:function(at,we,P){we.generateISD=P(4080).generateISD,we.fromXML=P(3362).fromXML,we.renderHTML=P(506).render},210:function(at,we){(function(P){P.ns_tt="http://www.w3.org/ns/ttml",P.ns_tts="http://www.w3.org/ns/ttml#styling",P.ns_ttp="http://www.w3.org/ns/ttml#parameter",P.ns_xml="http://www.w3.org/XML/1998/namespace",P.ns_itts="http://www.w3.org/ns/ttml/profile/imsc1#styling",P.ns_ittp="http://www.w3.org/ns/ttml/profile/imsc1#parameter",P.ns_smpte="http://www.smpte-ra.org/schemas/2052-1/2010/smpte-tt",P.ns_ebutts="urn:ebu:tt:style"})(we)},6811:function(at,we,P){(function(ae,T,t){function e(u,_,m,n,c,d,I,k){this.name=_,this.ns=u,this.qname=u+" "+_,this.inherit=c,this.animatable=d,this.initial=m,this.applies=n,this.parse=I,this.compute=k}for(var y in ae.all=[new e(T.ns_tts,"backgroundColor","transparent",["body","div","p","region","span"],!1,!0,t.parseColor,null),new e(T.ns_tts,"color","white",["span"],!0,!0,t.parseColor,null),new e(T.ns_tts,"direction","ltr",["p","span"],!0,!0,function(u){return u},null),new e(T.ns_tts,"display","auto",["body","div","p","region","span"],!1,!0,function(u){return u},null),new e(T.ns_tts,"displayAlign","before",["region"],!1,!0,function(u){return u},null),new e(T.ns_tts,"extent","auto",["tt","region"],!1,!0,function(u){if(u==="auto")return u;var _=u.split(" ");if(_.length!==2)return null;var m=t.parseLength(_[0]),n=t.parseLength(_[1]);return n&&m?{h:n,w:m}:null},function(u,_,m,n,c){var d,I;if(n==="auto")d=new t.ComputedLength(0,1);else if((d=t.toComputedLength(n.h.value,n.h.unit,null,u.dimensions.h,null,u.pxLength.h))===null)return null;if(n==="auto")I=new t.ComputedLength(1,0);else if((I=t.toComputedLength(n.w.value,n.w.unit,null,u.dimensions.w,null,u.pxLength.w))===null)return null;return{h:d,w:I}}),new e(T.ns_tts,"fontFamily","default",["span","p"],!0,!0,function(u){for(var _=u.split(","),m=[],n=0;n<_.length;n++)_[n]=_[n].trim(),_[n].charAt(0)!=="'"&&_[n].charAt(0)!=='"'&&_[n]==="default"?m.push("monospaceSerif"):m.push(_[n]);return m},null),new e(T.ns_tts,"shear","0%",["p"],!0,!0,t.parseLength,function(u,_,m,n){return n.unit!=="%"?null:Math.abs(n.value)>100?100*Math.sign(n.value):n.value}),new e(T.ns_tts,"fontSize","1c",["span","p"],!0,!0,t.parseLength,function(u,_,m,n,c){return t.toComputedLength(n.value,n.unit,_!==null?_.styleAttrs[ae.byName.fontSize.qname]:u.cellLength.h,_!==null?_.styleAttrs[ae.byName.fontSize.qname]:u.cellLength.h,u.cellLength.h,u.pxLength.h)}),new e(T.ns_tts,"fontStyle","normal",["span","p"],!0,!0,function(u){return u},null),new e(T.ns_tts,"fontWeight","normal",["span","p"],!0,!0,function(u){return u},null),new e(T.ns_tts,"lineHeight","normal",["p"],!0,!0,function(u){return u==="normal"?u:t.parseLength(u)},function(u,_,m,n,c){var d;if(n==="normal")d=n;else if((d=t.toComputedLength(n.value,n.unit,m.styleAttrs[ae.byName.fontSize.qname],m.styleAttrs[ae.byName.fontSize.qname],u.cellLength.h,u.pxLength.h))===null)return null;return d}),new e(T.ns_tts,"opacity",1,["region"],!1,!0,parseFloat,null),new e(T.ns_tts,"origin","auto",["region"],!1,!0,function(u){if(u==="auto")return u;var _=u.split(" ");if(_.length!==2)return null;var m=t.parseLength(_[0]),n=t.parseLength(_[1]);return n&&m?{h:n,w:m}:null},function(u,_,m,n,c){var d,I;if(n==="auto")d=new t.ComputedLength(0,0);else if((d=t.toComputedLength(n.h.value,n.h.unit,null,u.dimensions.h,null,u.pxLength.h))===null)return null;if(n==="auto")I=new t.ComputedLength(0,0);else if((I=t.toComputedLength(n.w.value,n.w.unit,null,u.dimensions.w,null,u.pxLength.w))===null)return null;return{h:d,w:I}}),new e(T.ns_tts,"overflow","hidden",["region"],!1,!0,function(u){return u},null),new e(T.ns_tts,"padding","0px",["region"],!1,!0,function(u){var _=u.split(" ");if(_.length>4)return null;for(var m=[],n=0;n<_.length;n++){var c=t.parseLength(_[n]);if(!c)return null;m.push(c)}return m},function(u,_,m,n,c){var d;if(n.length===1)d=[n[0],n[0],n[0],n[0]];else if(n.length===2)d=[n[0],n[1],n[0],n[1]];else if(n.length===3)d=[n[0],n[1],n[2],n[1]];else{if(n.length!==4)return null;d=[n[0],n[1],n[2],n[3]]}var I=m.styleAttrs[ae.byName.writingMode.qname];if(I==="lrtb"||I==="lr")d=[d[0],d[3],d[2],d[1]];else if(I==="rltb"||I==="rl")d=[d[0],d[1],d[2],d[3]];else if(I==="tblr")d=[d[3],d[0],d[1],d[2]];else{if(I!=="tbrl"&&I!=="tb")return null;d=[d[3],d[2],d[1],d[0]]}for(var k=[],q=0;q<d.length;q++)if(d[q].value===0)k[q]=new t.ComputedLength(0,0);else if(k[q]=t.toComputedLength(d[q].value,d[q].unit,m.styleAttrs[ae.byName.fontSize.qname],q===0||q===2?m.styleAttrs[ae.byName.extent.qname].h:m.styleAttrs[ae.byName.extent.qname].w,q===0||q===2?u.cellLength.h:u.cellLength.w,q===0||q===2?u.pxLength.h:u.pxLength.w),k[q]===null)return null;return k}),new e(T.ns_tts,"position","top left",["region"],!1,!0,function(u){return t.parsePosition(u)},function(u,_,m,n){var c,d;return(c=t.toComputedLength(n.v.offset.value,n.v.offset.unit,null,new t.ComputedLength(-m.styleAttrs[ae.byName.extent.qname].h.rw,u.dimensions.h.rh-m.styleAttrs[ae.byName.extent.qname].h.rh),null,u.pxLength.h))===null?null:(n.v.edge==="bottom"&&(c=new t.ComputedLength(-c.rw-m.styleAttrs[ae.byName.extent.qname].h.rw,u.dimensions.h.rh-c.rh-m.styleAttrs[ae.byName.extent.qname].h.rh)),d=t.toComputedLength(n.h.offset.value,n.h.offset.unit,null,new t.ComputedLength(u.dimensions.w.rw-m.styleAttrs[ae.byName.extent.qname].w.rw,-m.styleAttrs[ae.byName.extent.qname].w.rh),null,u.pxLength.w),c===null?null:(n.h.edge==="right"&&(d=new t.ComputedLength(u.dimensions.w.rw-d.rw-m.styleAttrs[ae.byName.extent.qname].w.rw,-d.rh-m.styleAttrs[ae.byName.extent.qname].w.rh)),{h:c,w:d}))}),new e(T.ns_tts,"ruby","none",["span"],!1,!0,function(u){return u},null),new e(T.ns_tts,"rubyAlign","center",["span"],!0,!0,function(u){return u!=="center"&&u!=="spaceAround"?null:u},null),new e(T.ns_tts,"rubyPosition","outside",["span"],!0,!0,function(u){return u},null),new e(T.ns_tts,"rubyReserve","none",["p"],!0,!0,function(u){var _=u.split(" "),m=[null,null];if(_.length===0||_.length>2||_[0]!=="none"&&_[0]!=="both"&&_[0]!=="after"&&_[0]!=="before"&&_[0]!=="outside")return null;if(m[0]=_[0],_.length===2&&_[0]!=="none"){var n=t.parseLength(_[1]);if(!n)return null;m[1]=n}return m},function(u,_,m,n,c){if(n[0]==="none")return n;var d;return(d=n[1]===null?new t.ComputedLength(.5*m.styleAttrs[ae.byName.fontSize.qname].rw,.5*m.styleAttrs[ae.byName.fontSize.qname].rh):t.toComputedLength(n[1].value,n[1].unit,m.styleAttrs[ae.byName.fontSize.qname],m.styleAttrs[ae.byName.fontSize.qname],u.cellLength.h,u.pxLength.h))===null?null:[n[0],d]}),new e(T.ns_tts,"showBackground","always",["region"],!1,!0,function(u){return u},null),new e(T.ns_tts,"textAlign","start",["p"],!0,!0,function(u){return u},function(u,_,m,n,c){return n==="left"?"start":n==="right"?"end":n}),new e(T.ns_tts,"textCombine","none",["span"],!0,!0,function(u){return u==="none"||u==="all"?u:null},null),new e(T.ns_tts,"textDecoration","none",["span"],!0,!0,function(u){return u.split(" ")},null),new e(T.ns_tts,"textEmphasis","none",["span"],!0,!0,function(u){for(var _=u.split(" "),m={style:null,symbol:null,color:null,position:null},n=0;n<_.length;n++)if(_[n]==="none"||_[n]==="auto")m.style=_[n];else if(_[n]==="filled"||_[n]==="open")m.style=_[n];else if(_[n]==="circle"||_[n]==="dot"||_[n]==="sesame")m.symbol=_[n];else if(_[n]==="current")m.color=_[n];else if(_[n]==="outside"||_[n]==="before"||_[n]==="after")m.position=_[n];else if(m.color=t.parseColor(_[n]),m.color===null)return null;return m.style==null&&m.symbol==null?m.style="auto":(m.symbol=m.symbol||"circle",m.style=m.style||"filled"),m.position=m.position||"outside",m.color=m.color||"current",m},null),new e(T.ns_tts,"textOutline","none",["span"],!0,!0,function(u){if(u==="none")return u;var _={},m=u.split(" ");if(m.length===0||m.length>2)return null;var n=t.parseColor(m[0]);if(_.color=n,n!==null&&m.shift(),m.length!==1)return null;var c=t.parseLength(m[0]);return c?(_.thickness=c,_):null},function(u,_,m,n,c){if(n==="none")return n;var d={};return n.color===null?d.color=m.styleAttrs[ae.byName.color.qname]:d.color=n.color,d.thickness=t.toComputedLength(n.thickness.value,n.thickness.unit,m.styleAttrs[ae.byName.fontSize.qname],m.styleAttrs[ae.byName.fontSize.qname],u.cellLength.h,u.pxLength.h),d.thickness===null?null:d}),new e(T.ns_tts,"textShadow","none",["span"],!0,!0,t.parseTextShadow,function(u,_,m,n){if(n==="none")return n;for(var c=[],d=0;d<n.length;d++){var I={};if(I.x_off=t.toComputedLength(n[d][0].value,n[d][0].unit,null,m.styleAttrs[ae.byName.fontSize.qname],null,u.pxLength.w),I.x_off===null||(I.y_off=t.toComputedLength(n[d][1].value,n[d][1].unit,null,m.styleAttrs[ae.byName.fontSize.qname],null,u.pxLength.h),I.y_off===null))return null;if(n[d][2]===null)I.b_radius=0;else if(I.b_radius=t.toComputedLength(n[d][2].value,n[d][2].unit,null,m.styleAttrs[ae.byName.fontSize.qname],null,u.pxLength.h),I.b_radius===null)return null;n[d][3]===null?I.color=m.styleAttrs[ae.byName.color.qname]:I.color=n[d][3],c.push(I)}return c}),new e(T.ns_tts,"unicodeBidi","normal",["span","p"],!1,!0,function(u){return u},null),new e(T.ns_tts,"visibility","visible",["body","div","p","region","span"],!0,!0,function(u){return u},null),new e(T.ns_tts,"wrapOption","wrap",["span"],!0,!0,function(u){return u},null),new e(T.ns_tts,"writingMode","lrtb",["region"],!1,!0,function(u){return u},null),new e(T.ns_tts,"zIndex","auto",["region"],!1,!0,function(u){var _;return u==="auto"?_=u:(_=parseInt(u),isNaN(_)&&(_=null)),_},null),new e(T.ns_ebutts,"linePadding","0c",["p"],!0,!1,t.parseLength,function(u,_,m,n,c){return t.toComputedLength(n.value,n.unit,null,null,u.cellLength.w,null)}),new e(T.ns_ebutts,"multiRowAlign","auto",["p"],!0,!1,function(u){return u},null),new e(T.ns_smpte,"backgroundImage",null,["div"],!1,!1,function(u){return u},null),new e(T.ns_itts,"forcedDisplay","false",["body","div","p","region","span"],!0,!0,function(u){return u==="true"},null),new e(T.ns_itts,"fillLineGap","false",["p"],!0,!0,function(u){return u==="true"},null)],ae.byQName={},ae.all)ae.byQName[ae.all[y].qname]=ae.all[y];for(var p in ae.byName={},ae.all)ae.byName[ae.all[p].name]=ae.all[p]})(we,typeof imscNames>"u"?P(210):imscNames,typeof imscUtils>"u"?P(5926):imscUtils)},5926:function(at,we){(function(P){var ae=/#([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})?/,T=/rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/,t=/rgba\(\s*(\d+),\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/,e={transparent:[0,0,0,0],black:[0,0,0,255],silver:[192,192,192,255],gray:[128,128,128,255],white:[255,255,255,255],maroon:[128,0,0,255],red:[255,0,0,255],purple:[128,0,128,255],fuchsia:[255,0,255,255],magenta:[255,0,255,255],green:[0,128,0,255],lime:[0,255,0,255],olive:[128,128,0,255],yellow:[255,255,0,255],navy:[0,0,128,255],blue:[0,0,255,255],teal:[0,128,128,255],aqua:[0,255,255,255],cyan:[0,255,255,255]};P.parseColor=function(p){var u,_=null,m=e[p.toLowerCase()];return m!==void 0?_=m:(u=ae.exec(p))!==null?_=[parseInt(u[1],16),parseInt(u[2],16),parseInt(u[3],16),u[4]!==void 0?parseInt(u[4],16):255]:(u=T.exec(p))!==null?_=[parseInt(u[1]),parseInt(u[2]),parseInt(u[3]),255]:(u=t.exec(p))!==null&&(_=[parseInt(u[1]),parseInt(u[2]),parseInt(u[3]),parseInt(u[4])]),_};var y=/^((?:\+|\-)?\d*(?:\.\d+)?)(px|em|c|%|rh|rw)$/;P.parseLength=function(p){var u,_=null;return(u=y.exec(p))!==null&&(_={value:parseFloat(u[1]),unit:u[2]}),_},P.parseTextShadow=function(p){for(var u=p.match(/([^\(,\)]|\([^\)]+\))+/g),_=[],m=0;m<u.length;m++){var n=u[m].split(" ");if(n.length===1&&n[0]==="none")return"none";if(n.length>1&&n.length<5){var c=[null,null,null,null],d=P.parseLength(n.shift());if(d===null||(c[0]=d,(d=P.parseLength(n.shift()))===null))return null;if(c[1]=d,n.length===0){_.push(c);continue}if((d=P.parseLength(n[0]))!==null&&(c[2]=d,n.shift()),n.length===0){_.push(c);continue}var I=P.parseColor(n[0]);if(I===null)return null;c[3]=I,_.push(c)}}return _},P.parsePosition=function(p){var u=p.split(" "),_=function(q){return q==="center"||q==="left"||q==="top"||q==="bottom"||q==="right"};if(u.length>4)return null;for(var m=0;m<u.length;m++)if(!_(u[m])){var n=P.parseLength(u[m]);if(n===null)return null;u[m]=n}for(var c={h:{edge:"left",offset:{value:50,unit:"%"}},v:{edge:"top",offset:{value:50,unit:"%"}}},d=0;d<u.length;){var I=u[d++];if(_(I)){var k={value:0,unit:"%"};u.length!==2&&d<u.length&&!_(u[d])&&(k=u[d++]),I==="right"?(c.h.edge=I,c.h.offset=k):I==="bottom"?(c.v.edge=I,c.v.offset=k):I==="left"?c.h.offset=k:I==="top"&&(c.v.offset=k)}else{if(u.length!==1&&u.length!==2)return null;d===1?c.h.offset=I:c.v.offset=I}}return c},P.ComputedLength=function(p,u){this.rw=p,this.rh=u},P.ComputedLength.prototype.toUsedLength=function(p,u){return p*this.rw+u*this.rh},P.ComputedLength.prototype.isZero=function(){return this.rw===0&&this.rh===0},P.toComputedLength=function(p,u,_,m,n,c){return u==="%"&&m?new P.ComputedLength(m.rw*p/100,m.rh*p/100):u==="em"&&_?new P.ComputedLength(_.rw*p,_.rh*p):u==="c"&&n?new P.ComputedLength(p*n.rw,p*n.rh):u==="px"&&c?new P.ComputedLength(p*c.rw,p*c.rh):u==="rh"?new P.ComputedLength(0,p/100):u==="rw"?new P.ComputedLength(p/100,0):null}})(we)},3516:function(at){at.exports=function(we){var P=typeof we=="string"?we.charCodeAt(0):we;return P>=97&&P<=122||P>=65&&P<=90}},2219:function(at,we,P){var ae=P(3516),T=P(395);at.exports=function(t){return ae(t)||T(t)}},395:function(at){at.exports=function(we){var P=typeof we=="string"?we.charCodeAt(0):we;return P>=48&&P<=57}},3875:function(at){function we(T){if(typeof T!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(T))}function P(T,t){for(var e,y="",p=0,u=-1,_=0,m=0;m<=T.length;++m){if(m<T.length)e=T.charCodeAt(m);else{if(e===47)break;e=47}if(e===47){if(!(u===m-1||_===1))if(u!==m-1&&_===2){if(y.length<2||p!==2||y.charCodeAt(y.length-1)!==46||y.charCodeAt(y.length-2)!==46){if(y.length>2){var n=y.lastIndexOf("/");if(n!==y.length-1){n===-1?(y="",p=0):p=(y=y.slice(0,n)).length-1-y.lastIndexOf("/"),u=m,_=0;continue}}else if(y.length===2||y.length===1){y="",p=0,u=m,_=0;continue}}t&&(y.length>0?y+="/..":y="..",p=2)}else y.length>0?y+="/"+T.slice(u+1,m):y=T.slice(u+1,m),p=m-u-1;u=m,_=0}else e===46&&_!==-1?++_:_=-1}return y}var ae={resolve:function(){for(var T,t="",e=!1,y=arguments.length-1;y>=-1&&!e;y--){var p;y>=0?p=arguments[y]:(T===void 0&&(T=process.cwd()),p=T),we(p),p.length!==0&&(t=p+"/"+t,e=p.charCodeAt(0)===47)}return t=P(t,!e),e?t.length>0?"/"+t:"/":t.length>0?t:"."},normalize:function(T){if(we(T),T.length===0)return".";var t=T.charCodeAt(0)===47,e=T.charCodeAt(T.length-1)===47;return(T=P(T,!t)).length!==0||t||(T="."),T.length>0&&e&&(T+="/"),t?"/"+T:T},isAbsolute:function(T){return we(T),T.length>0&&T.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var T,t=0;t<arguments.length;++t){var e=arguments[t];we(e),e.length>0&&(T===void 0?T=e:T+="/"+e)}return T===void 0?".":ae.normalize(T)},relative:function(T,t){if(we(T),we(t),T===t||(T=ae.resolve(T))===(t=ae.resolve(t)))return"";for(var e=1;e<T.length&&T.charCodeAt(e)===47;++e);for(var y=T.length,p=y-e,u=1;u<t.length&&t.charCodeAt(u)===47;++u);for(var _=t.length-u,m=p<_?p:_,n=-1,c=0;c<=m;++c){if(c===m){if(_>m){if(t.charCodeAt(u+c)===47)return t.slice(u+c+1);if(c===0)return t.slice(u+c)}else p>m&&(T.charCodeAt(e+c)===47?n=c:c===0&&(n=0));break}var d=T.charCodeAt(e+c);if(d!==t.charCodeAt(u+c))break;d===47&&(n=c)}var I="";for(c=e+n+1;c<=y;++c)c!==y&&T.charCodeAt(c)!==47||(I.length===0?I+="..":I+="/..");return I.length>0?I+t.slice(u+n):(u+=n,t.charCodeAt(u)===47&&++u,t.slice(u))},_makeLong:function(T){return T},dirname:function(T){if(we(T),T.length===0)return".";for(var t=T.charCodeAt(0),e=t===47,y=-1,p=!0,u=T.length-1;u>=1;--u)if((t=T.charCodeAt(u))===47){if(!p){y=u;break}}else p=!1;return y===-1?e?"/":".":e&&y===1?"//":T.slice(0,y)},basename:function(T,t){if(t!==void 0&&typeof t!="string")throw new TypeError('"ext" argument must be a string');we(T);var e,y=0,p=-1,u=!0;if(t!==void 0&&t.length>0&&t.length<=T.length){if(t.length===T.length&&t===T)return"";var _=t.length-1,m=-1;for(e=T.length-1;e>=0;--e){var n=T.charCodeAt(e);if(n===47){if(!u){y=e+1;break}}else m===-1&&(u=!1,m=e+1),_>=0&&(n===t.charCodeAt(_)?--_==-1&&(p=e):(_=-1,p=m))}return y===p?p=m:p===-1&&(p=T.length),T.slice(y,p)}for(e=T.length-1;e>=0;--e)if(T.charCodeAt(e)===47){if(!u){y=e+1;break}}else p===-1&&(u=!1,p=e+1);return p===-1?"":T.slice(y,p)},extname:function(T){we(T);for(var t=-1,e=0,y=-1,p=!0,u=0,_=T.length-1;_>=0;--_){var m=T.charCodeAt(_);if(m!==47)y===-1&&(p=!1,y=_+1),m===46?t===-1?t=_:u!==1&&(u=1):t!==-1&&(u=-1);else if(!p){e=_+1;break}}return t===-1||y===-1||u===0||u===1&&t===y-1&&t===e+1?"":T.slice(t,y)},format:function(T){if(T===null||typeof T!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof T);return function(t,e){var y=e.dir||e.root,p=e.base||(e.name||"")+(e.ext||"");return y?y===e.root?y+p:y+"/"+p:p}(0,T)},parse:function(T){we(T);var t={root:"",dir:"",base:"",ext:"",name:""};if(T.length===0)return t;var e,y=T.charCodeAt(0),p=y===47;p?(t.root="/",e=1):e=0;for(var u=-1,_=0,m=-1,n=!0,c=T.length-1,d=0;c>=e;--c)if((y=T.charCodeAt(c))!==47)m===-1&&(n=!1,m=c+1),y===46?u===-1?u=c:d!==1&&(d=1):u!==-1&&(d=-1);else if(!n){_=c+1;break}return u===-1||m===-1||d===0||d===1&&u===m-1&&u===_+1?m!==-1&&(t.base=t.name=_===0&&p?T.slice(1,m):T.slice(_,m)):(_===0&&p?(t.name=T.slice(1,u),t.base=T.slice(1,m)):(t.name=T.slice(_,u),t.base=T.slice(_,m)),t.ext=T.slice(u,m)),_>0?t.dir=T.slice(0,_-1):p&&(t.dir="/"),t},sep:"/",delimiter:":",win32:null,posix:null};ae.posix=ae,at.exports=ae},8387:function(at,we,P){var ae=P(1549),T=ae.Buffer;function t(y,p){for(var u in y)p[u]=y[u]}function e(y,p,u){return T(y,p,u)}T.from&&T.alloc&&T.allocUnsafe&&T.allocUnsafeSlow?at.exports=ae:(t(ae,we),we.Buffer=e),t(T,e),e.from=function(y,p,u){if(typeof y=="number")throw new TypeError("Argument must not be a number");return T(y,p,u)},e.alloc=function(y,p,u){if(typeof y!="number")throw new TypeError("Argument must be a number");var _=T(y);return p!==void 0?typeof u=="string"?_.fill(p,u):_.fill(p):_.fill(0),_},e.allocUnsafe=function(y){if(typeof y!="number")throw new TypeError("Argument must be a number");return T(y)},e.allocUnsafeSlow=function(y){if(typeof y!="number")throw new TypeError("Argument must be a number");return ae.SlowBuffer(y)}},5378:function(at,we,P){(function(ae){ae.parser=function(f,o){return new e(f,o)},ae.SAXParser=e,ae.SAXStream=p,ae.createStream=function(f,o){return new p(f,o)},ae.MAX_BUFFER_LENGTH=65536;var T,t=["comment","sgmlDecl","textNode","tagName","doctype","procInstName","procInstBody","entity","attribName","attribValue","cdata","script"];function e(f,o){if(!(this instanceof e))return new e(f,o);var v=this;(function(S){for(var W=0,V=t.length;W<V;W++)S[t[W]]=""})(v),v.q=v.c="",v.bufferCheckPosition=ae.MAX_BUFFER_LENGTH,v.opt=o||{},v.opt.lowercase=v.opt.lowercase||v.opt.lowercasetags,v.looseCase=v.opt.lowercase?"toLowerCase":"toUpperCase",v.tags=[],v.closed=v.closedRoot=v.sawRoot=!1,v.tag=v.error=null,v.strict=!!f,v.noscript=!(!f&&!v.opt.noscript),v.state=X.BEGIN,v.strictEntities=v.opt.strictEntities,v.ENTITIES=v.strictEntities?Object.create(ae.XML_ENTITIES):Object.create(ae.ENTITIES),v.attribList=[],v.opt.xmlns&&(v.ns=Object.create(k)),v.trackPosition=v.opt.position!==!1,v.trackPosition&&(v.position=v.line=v.column=0),Le(v,"onready")}ae.EVENTS=["text","processinginstruction","sgmldeclaration","doctype","comment","opentagstart","attribute","opentag","closetag","opencdata","cdata","closecdata","error","end","ready","script","opennamespace","closenamespace"],Object.create||(Object.create=function(f){function o(){}return o.prototype=f,new o}),Object.keys||(Object.keys=function(f){var o=[];for(var v in f)f.hasOwnProperty(v)&&o.push(v);return o}),e.prototype={end:function(){tt(this)},write:function(f){var o=this;if(this.error)throw this.error;if(o.closed)return He(o,"Cannot write after close. Assign an onready handler.");if(f===null)return tt(o);typeof f=="object"&&(f=f.toString());for(var v=0,S="";S=Ue(f,v++),o.c=S,S;)switch(o.trackPosition&&(o.position++,S===`
 `?(o.line++,o.column=0):o.column++),o.state){case X.BEGIN:if(o.state=X.BEGIN_WHITESPACE,S==="\uFEFF")continue;me(o,S);continue;case X.BEGIN_WHITESPACE:me(o,S);continue;case X.TEXT:if(o.sawRoot&&!o.closedRoot){for(var W=v-1;S&&S!=="<"&&S!=="&";)(S=Ue(f,v++))&&o.trackPosition&&(o.position++,S===`
 `?(o.line++,o.column=0):o.column++);o.textNode+=f.substring(W,v-1)}S!=="<"||o.sawRoot&&o.closedRoot&&!o.strict?(!H(u,S)||o.sawRoot&&!o.closedRoot||ve(o,"Text data outside of root node."),S==="&"?o.state=X.TEXT_ENTITY:o.textNode+=S):(o.state=X.OPEN_WAKA,o.startTagPosition=o.position);continue;case X.SCRIPT:S==="<"?o.state=X.SCRIPT_ENDING:o.script+=S;continue;case X.SCRIPT_ENDING:S==="/"?o.state=X.CLOSE_TAG:(o.script+="<"+S,o.state=X.SCRIPT);continue;case X.OPEN_WAKA:if(S==="!")o.state=X.SGML_DECL,o.sgmlDecl="";else if(!re(u,S))if(re(q,S))o.state=X.OPEN_TAG,o.tagName=S;else if(S==="/")o.state=X.CLOSE_TAG,o.tagName="";else if(S==="?")o.state=X.PROC_INST,o.procInstName=o.procInstBody="";else{if(ve(o,"Unencoded <"),o.startTagPosition+1<o.position){var V=o.position-o.startTagPosition;S=new Array(V).join(" ")+S}o.textNode+="<"+S,o.state=X.TEXT}continue;case X.SGML_DECL:(o.sgmlDecl+S).toUpperCase()==="[CDATA["?(Ye(o,"onopencdata"),o.state=X.CDATA,o.sgmlDecl="",o.cdata=""):o.sgmlDecl+S==="--"?(o.state=X.COMMENT,o.comment="",o.sgmlDecl=""):(o.sgmlDecl+S).toUpperCase()==="DOCTYPE"?(o.state=X.DOCTYPE,(o.doctype||o.sawRoot)&&ve(o,"Inappropriately located doctype declaration"),o.doctype="",o.sgmlDecl=""):S===">"?(Ye(o,"onsgmldeclaration",o.sgmlDecl),o.sgmlDecl="",o.state=X.TEXT):(re(n,S)&&(o.state=X.SGML_DECL_QUOTED),o.sgmlDecl+=S);continue;case X.SGML_DECL_QUOTED:S===o.q&&(o.state=X.SGML_DECL,o.q=""),o.sgmlDecl+=S;continue;case X.DOCTYPE:S===">"?(o.state=X.TEXT,Ye(o,"ondoctype",o.doctype),o.doctype=!0):(o.doctype+=S,S==="["?o.state=X.DOCTYPE_DTD:re(n,S)&&(o.state=X.DOCTYPE_QUOTED,o.q=S));continue;case X.DOCTYPE_QUOTED:o.doctype+=S,S===o.q&&(o.q="",o.state=X.DOCTYPE);continue;case X.DOCTYPE_DTD:o.doctype+=S,S==="]"?o.state=X.DOCTYPE:re(n,S)&&(o.state=X.DOCTYPE_DTD_QUOTED,o.q=S);continue;case X.DOCTYPE_DTD_QUOTED:o.doctype+=S,S===o.q&&(o.state=X.DOCTYPE_DTD,o.q="");continue;case X.COMMENT:S==="-"?o.state=X.COMMENT_ENDING:o.comment+=S;continue;case X.COMMENT_ENDING:S==="-"?(o.state=X.COMMENT_ENDED,o.comment=Pe(o.opt,o.comment),o.comment&&Ye(o,"oncomment",o.comment),o.comment=""):(o.comment+="-"+S,o.state=X.COMMENT);continue;case X.COMMENT_ENDED:S!==">"?(ve(o,"Malformed comment"),o.comment+="--"+S,o.state=X.COMMENT):o.state=X.TEXT;continue;case X.CDATA:S==="]"?o.state=X.CDATA_ENDING:o.cdata+=S;continue;case X.CDATA_ENDING:S==="]"?o.state=X.CDATA_ENDING_2:(o.cdata+="]"+S,o.state=X.CDATA);continue;case X.CDATA_ENDING_2:S===">"?(o.cdata&&Ye(o,"oncdata",o.cdata),Ye(o,"onclosecdata"),o.cdata="",o.state=X.TEXT):S==="]"?o.cdata+="]":(o.cdata+="]]"+S,o.state=X.CDATA);continue;case X.PROC_INST:S==="?"?o.state=X.PROC_INST_ENDING:re(u,S)?o.state=X.PROC_INST_BODY:o.procInstName+=S;continue;case X.PROC_INST_BODY:if(!o.procInstBody&&re(u,S))continue;S==="?"?o.state=X.PROC_INST_ENDING:o.procInstBody+=S;continue;case X.PROC_INST_ENDING:S===">"?(Ye(o,"onprocessinginstruction",{name:o.procInstName,body:o.procInstBody}),o.procInstName=o.procInstBody="",o.state=X.TEXT):(o.procInstBody+="?"+S,o.state=X.PROC_INST_BODY);continue;case X.OPEN_TAG:re(F,S)?o.tagName+=S:(Oe(o),S===">"?ke(o):S==="/"?o.state=X.OPEN_TAG_SLASH:(H(u,S)&&ve(o,"Invalid character in tag name"),o.state=X.ATTRIB));continue;case X.OPEN_TAG_SLASH:S===">"?(ke(o,!0),Je(o)):(ve(o,"Forward-slash in opening tag not followed by >"),o.state=X.ATTRIB);continue;case X.ATTRIB:if(re(u,S))continue;S===">"?ke(o):S==="/"?o.state=X.OPEN_TAG_SLASH:re(q,S)?(o.attribName=S,o.attribValue="",o.state=X.ATTRIB_NAME):ve(o,"Invalid attribute name");continue;case X.ATTRIB_NAME:S==="="?o.state=X.ATTRIB_VALUE:S===">"?(ve(o,"Attribute without value"),o.attribValue=o.attribName,dt(o),ke(o)):re(u,S)?o.state=X.ATTRIB_NAME_SAW_WHITE:re(F,S)?o.attribName+=S:ve(o,"Invalid attribute name");continue;case X.ATTRIB_NAME_SAW_WHITE:if(S==="=")o.state=X.ATTRIB_VALUE;else{if(re(u,S))continue;ve(o,"Attribute without value"),o.tag.attributes[o.attribName]="",o.attribValue="",Ye(o,"onattribute",{name:o.attribName,value:""}),o.attribName="",S===">"?ke(o):re(q,S)?(o.attribName=S,o.state=X.ATTRIB_NAME):(ve(o,"Invalid attribute name"),o.state=X.ATTRIB)}continue;case X.ATTRIB_VALUE:if(re(u,S))continue;re(n,S)?(o.q=S,o.state=X.ATTRIB_VALUE_QUOTED):(ve(o,"Unquoted attribute value"),o.state=X.ATTRIB_VALUE_UNQUOTED,o.attribValue=S);continue;case X.ATTRIB_VALUE_QUOTED:if(S!==o.q){S==="&"?o.state=X.ATTRIB_VALUE_ENTITY_Q:o.attribValue+=S;continue}dt(o),o.q="",o.state=X.ATTRIB_VALUE_CLOSED;continue;case X.ATTRIB_VALUE_CLOSED:re(u,S)?o.state=X.ATTRIB:S===">"?ke(o):S==="/"?o.state=X.OPEN_TAG_SLASH:re(q,S)?(ve(o,"No whitespace between attributes"),o.attribName=S,o.attribValue="",o.state=X.ATTRIB_NAME):ve(o,"Invalid attribute name");continue;case X.ATTRIB_VALUE_UNQUOTED:if(H(c,S)){S==="&"?o.state=X.ATTRIB_VALUE_ENTITY_U:o.attribValue+=S;continue}dt(o),S===">"?ke(o):o.state=X.ATTRIB;continue;case X.CLOSE_TAG:if(o.tagName)S===">"?Je(o):re(F,S)?o.tagName+=S:o.script?(o.script+="</"+o.tagName,o.tagName="",o.state=X.SCRIPT):(H(u,S)&&ve(o,"Invalid tagname in closing tag"),o.state=X.CLOSE_TAG_SAW_WHITE);else{if(re(u,S))continue;H(q,S)?o.script?(o.script+="</"+S,o.state=X.SCRIPT):ve(o,"Invalid tagname in closing tag."):o.tagName=S}continue;case X.CLOSE_TAG_SAW_WHITE:if(re(u,S))continue;S===">"?Je(o):ve(o,"Invalid characters in closing tag");continue;case X.TEXT_ENTITY:case X.ATTRIB_VALUE_ENTITY_Q:case X.ATTRIB_VALUE_ENTITY_U:var Se,ze;switch(o.state){case X.TEXT_ENTITY:Se=X.TEXT,ze="textNode";break;case X.ATTRIB_VALUE_ENTITY_Q:Se=X.ATTRIB_VALUE_QUOTED,ze="attribValue";break;case X.ATTRIB_VALUE_ENTITY_U:Se=X.ATTRIB_VALUE_UNQUOTED,ze="attribValue"}S===";"?(o[ze]+=ge(o),o.entity="",o.state=Se):re(o.entity.length?O:$,S)?o.entity+=S:(ve(o,"Invalid character in entity name"),o[ze]+="&"+o.entity+S,o.entity="",o.state=Se);continue;default:throw new Error(o,"Unknown state: "+o.state)}return o.position>=o.bufferCheckPosition&&function(Me){for(var De=Math.max(ae.MAX_BUFFER_LENGTH,10),be=0,xe=0,Qe=t.length;xe<Qe;xe++){var mt=Me[t[xe]].length;if(mt>De)switch(t[xe]){case"textNode":ye(Me);break;case"cdata":Ye(Me,"oncdata",Me.cdata),Me.cdata="";break;case"script":Ye(Me,"onscript",Me.script),Me.script="";break;default:He(Me,"Max buffer length exceeded: "+t[xe])}be=Math.max(be,mt)}var it=ae.MAX_BUFFER_LENGTH-be;Me.bufferCheckPosition=it+Me.position}(o),o},resume:function(){return this.error=null,this},close:function(){return this.write(null)},flush:function(){var f;ye(f=this),f.cdata!==""&&(Ye(f,"oncdata",f.cdata),f.cdata=""),f.script!==""&&(Ye(f,"onscript",f.script),f.script="")}};try{T=P(182).Stream}catch{T=function(){}}var y=ae.EVENTS.filter(function(f){return f!=="error"&&f!=="end"});function p(f,o){if(!(this instanceof p))return new p(f,o);T.apply(this),this._parser=new e(f,o),this.writable=!0,this.readable=!0;var v=this;this._parser.onend=function(){v.emit("end")},this._parser.onerror=function(S){v.emit("error",S),v._parser.error=null},this._decoder=null,y.forEach(function(S){Object.defineProperty(v,"on"+S,{get:function(){return v._parser["on"+S]},set:function(W){if(!W)return v.removeAllListeners(S),v._parser["on"+S]=W,W;v.on(S,W)},enumerable:!0,configurable:!1})})}p.prototype=Object.create(T.prototype,{constructor:{value:p}}),p.prototype.write=function(f){if(typeof Buffer=="function"&&typeof Buffer.isBuffer=="function"&&Buffer.isBuffer(f)){if(!this._decoder){var o=P(7503).s;this._decoder=new o("utf8")}f=this._decoder.write(f)}return this._parser.write(f.toString()),this.emit("data",f),!0},p.prototype.end=function(f){return f&&f.length&&this.write(f),this._parser.end(),!0},p.prototype.on=function(f,o){var v=this;return v._parser["on"+f]||y.indexOf(f)===-1||(v._parser["on"+f]=function(){var S=arguments.length===1?[arguments[0]]:Array.apply(null,arguments);S.splice(0,0,f),v.emit.apply(v,S)}),T.prototype.on.call(v,f,o)};var u=`\r
-	 `,_="0124356789",m="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",n=`'"`,c=u+">",d="http://www.w3.org/XML/1998/namespace",I="http://www.w3.org/2000/xmlns/",k={xml:d,xmlns:I};u=K(u),_=K(_),m=K(m);var q=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,F=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040\.\d-]/,$=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,O=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040\.\d-]/;function K(f){return f.split("").reduce(function(o,v){return o[v]=!0,o},{})}function re(f,o){return function(v){return Object.prototype.toString.call(v)==="[object RegExp]"}(f)?!!o.match(f):f[o]}function H(f,o){return!re(f,o)}n=K(n),c=K(c);var ee,ue,_e,X=0;for(var Ae in ae.STATE={BEGIN:X++,BEGIN_WHITESPACE:X++,TEXT:X++,TEXT_ENTITY:X++,OPEN_WAKA:X++,SGML_DECL:X++,SGML_DECL_QUOTED:X++,DOCTYPE:X++,DOCTYPE_QUOTED:X++,DOCTYPE_DTD:X++,DOCTYPE_DTD_QUOTED:X++,COMMENT_STARTING:X++,COMMENT:X++,COMMENT_ENDING:X++,COMMENT_ENDED:X++,CDATA:X++,CDATA_ENDING:X++,CDATA_ENDING_2:X++,PROC_INST:X++,PROC_INST_BODY:X++,PROC_INST_ENDING:X++,OPEN_TAG:X++,OPEN_TAG_SLASH:X++,ATTRIB:X++,ATTRIB_NAME:X++,ATTRIB_NAME_SAW_WHITE:X++,ATTRIB_VALUE:X++,ATTRIB_VALUE_QUOTED:X++,ATTRIB_VALUE_CLOSED:X++,ATTRIB_VALUE_UNQUOTED:X++,ATTRIB_VALUE_ENTITY_Q:X++,ATTRIB_VALUE_ENTITY_U:X++,CLOSE_TAG:X++,CLOSE_TAG_SAW_WHITE:X++,SCRIPT:X++,SCRIPT_ENDING:X++},ae.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},ae.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(ae.ENTITIES).forEach(function(f){var o=ae.ENTITIES[f],v=typeof o=="number"?String.fromCharCode(o):o;ae.ENTITIES[f]=v}),ae.STATE)ae.STATE[ae.STATE[Ae]]=Ae;function Le(f,o,v){f[o]&&f[o](v)}function Ye(f,o,v){f.textNode&&ye(f),Le(f,o,v)}function ye(f){f.textNode=Pe(f.opt,f.textNode),f.textNode&&Le(f,"ontext",f.textNode),f.textNode=""}function Pe(f,o){return f.trim&&(o=o.trim()),f.normalize&&(o=o.replace(/\s+/g," ")),o}function He(f,o){return ye(f),f.trackPosition&&(o+=`
+	 `,_="0124356789",m="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",n=`'"`,c=u+">",d="http://www.w3.org/XML/1998/namespace",I="http://www.w3.org/2000/xmlns/",k={xml:d,xmlns:I};u=K(u),_=K(_),m=K(m);var q=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,F=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040\.\d-]/,$=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,O=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040\.\d-]/;function K(f){return f.split("").reduce(function(o,v){return o[v]=!0,o},{})}function re(f,o){return function(v){return Object.prototype.toString.call(v)==="[object RegExp]"}(f)?!!o.match(f):f[o]}function H(f,o){return!re(f,o)}n=K(n),c=K(c);var ee,se,_e,X=0;for(var Ae in ae.STATE={BEGIN:X++,BEGIN_WHITESPACE:X++,TEXT:X++,TEXT_ENTITY:X++,OPEN_WAKA:X++,SGML_DECL:X++,SGML_DECL_QUOTED:X++,DOCTYPE:X++,DOCTYPE_QUOTED:X++,DOCTYPE_DTD:X++,DOCTYPE_DTD_QUOTED:X++,COMMENT_STARTING:X++,COMMENT:X++,COMMENT_ENDING:X++,COMMENT_ENDED:X++,CDATA:X++,CDATA_ENDING:X++,CDATA_ENDING_2:X++,PROC_INST:X++,PROC_INST_BODY:X++,PROC_INST_ENDING:X++,OPEN_TAG:X++,OPEN_TAG_SLASH:X++,ATTRIB:X++,ATTRIB_NAME:X++,ATTRIB_NAME_SAW_WHITE:X++,ATTRIB_VALUE:X++,ATTRIB_VALUE_QUOTED:X++,ATTRIB_VALUE_CLOSED:X++,ATTRIB_VALUE_UNQUOTED:X++,ATTRIB_VALUE_ENTITY_Q:X++,ATTRIB_VALUE_ENTITY_U:X++,CLOSE_TAG:X++,CLOSE_TAG_SAW_WHITE:X++,SCRIPT:X++,SCRIPT_ENDING:X++},ae.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},ae.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(ae.ENTITIES).forEach(function(f){var o=ae.ENTITIES[f],v=typeof o=="number"?String.fromCharCode(o):o;ae.ENTITIES[f]=v}),ae.STATE)ae.STATE[ae.STATE[Ae]]=Ae;function Le(f,o,v){f[o]&&f[o](v)}function Ye(f,o,v){f.textNode&&ye(f),Le(f,o,v)}function ye(f){f.textNode=Pe(f.opt,f.textNode),f.textNode&&Le(f,"ontext",f.textNode),f.textNode=""}function Pe(f,o){return f.trim&&(o=o.trim()),f.normalize&&(o=o.replace(/\s+/g," ")),o}function He(f,o){return ye(f),f.trackPosition&&(o+=`
 Line: `+f.line+`
 Column: `+f.column+`
 Char: `+f.c),o=new Error(o),f.error=o,Le(f,"onerror",o),f}function tt(f){return f.sawRoot&&!f.closedRoot&&ve(f,"Unclosed root tag"),f.state!==X.BEGIN&&f.state!==X.BEGIN_WHITESPACE&&f.state!==X.TEXT&&He(f,"Unexpected end"),ye(f),f.c="",f.closed=!0,Le(f,"onend"),e.call(f,f.strict,f.opt),f}function ve(f,o){if(typeof f!="object"||!(f instanceof e))throw new Error("bad call to strictFail");f.strict&&He(f,o)}function Oe(f){f.strict||(f.tagName=f.tagName[f.looseCase]());var o=f.tags[f.tags.length-1]||f,v=f.tag={name:f.tagName,attributes:{}};f.opt.xmlns&&(v.ns=o.ns),f.attribList.length=0,Ye(f,"onopentagstart",v)}function _t(f,o){var v=f.indexOf(":")<0?["",f]:f.split(":"),S=v[0],W=v[1];return o&&f==="xmlns"&&(S="xmlns",W=""),{prefix:S,local:W}}function dt(f){if(f.strict||(f.attribName=f.attribName[f.looseCase]()),f.attribList.indexOf(f.attribName)!==-1||f.tag.attributes.hasOwnProperty(f.attribName))f.attribName=f.attribValue="";else{if(f.opt.xmlns){var o=_t(f.attribName,!0),v=o.prefix,S=o.local;if(v==="xmlns")if(S==="xml"&&f.attribValue!==d)ve(f,"xml: prefix must be bound to "+d+`
 Actual: `+f.attribValue);else if(S==="xmlns"&&f.attribValue!==I)ve(f,"xmlns: prefix must be bound to "+I+`
-Actual: `+f.attribValue);else{var W=f.tag,V=f.tags[f.tags.length-1]||f;W.ns===V.ns&&(W.ns=Object.create(V.ns)),W.ns[S]=f.attribValue}f.attribList.push([f.attribName,f.attribValue])}else f.tag.attributes[f.attribName]=f.attribValue,Ye(f,"onattribute",{name:f.attribName,value:f.attribValue});f.attribName=f.attribValue=""}}function ke(f,o){if(f.opt.xmlns){var v=f.tag,S=_t(f.tagName);v.prefix=S.prefix,v.local=S.local,v.uri=v.ns[S.prefix]||"",v.prefix&&!v.uri&&(ve(f,"Unbound namespace prefix: "+JSON.stringify(f.tagName)),v.uri=S.prefix);var W=f.tags[f.tags.length-1]||f;v.ns&&W.ns!==v.ns&&Object.keys(v.ns).forEach(function(Ut){Ye(f,"onopennamespace",{prefix:Ut,uri:v.ns[Ut]})});for(var V=0,Se=f.attribList.length;V<Se;V++){var ze=f.attribList[V],Me=ze[0],De=ze[1],be=_t(Me,!0),xe=be.prefix,Qe=be.local,mt=xe===""?"":v.ns[xe]||"",it={name:Me,value:De,prefix:xe,local:Qe,uri:mt};xe&&xe!=="xmlns"&&!mt&&(ve(f,"Unbound namespace prefix: "+JSON.stringify(xe)),it.uri=xe),f.tag.attributes[Me]=it,Ye(f,"onattribute",it)}f.attribList.length=0}f.tag.isSelfClosing=!!o,f.sawRoot=!0,f.tags.push(f.tag),Ye(f,"onopentag",f.tag),o||(f.noscript||f.tagName.toLowerCase()!=="script"?f.state=X.TEXT:f.state=X.SCRIPT,f.tag=null,f.tagName=""),f.attribName=f.attribValue="",f.attribList.length=0}function Je(f){if(!f.tagName)return ve(f,"Weird empty close tag."),f.textNode+="</>",void(f.state=X.TEXT);if(f.script){if(f.tagName!=="script")return f.script+="</"+f.tagName+">",f.tagName="",void(f.state=X.SCRIPT);Ye(f,"onscript",f.script),f.script=""}var o=f.tags.length,v=f.tagName;f.strict||(v=v[f.looseCase]());for(var S=v;o--&&f.tags[o].name!==S;)ve(f,"Unexpected close tag");if(o<0)return ve(f,"Unmatched closing tag: "+f.tagName),f.textNode+="</"+f.tagName+">",void(f.state=X.TEXT);f.tagName=v;for(var W=f.tags.length;W-- >o;){var V=f.tag=f.tags.pop();f.tagName=f.tag.name,Ye(f,"onclosetag",f.tagName);var Se={};for(var ze in V.ns)Se[ze]=V.ns[ze];var Me=f.tags[f.tags.length-1]||f;f.opt.xmlns&&V.ns!==Me.ns&&Object.keys(V.ns).forEach(function(De){var be=V.ns[De];Ye(f,"onclosenamespace",{prefix:De,uri:be})})}o===0&&(f.closedRoot=!0),f.tagName=f.attribValue=f.attribName="",f.attribList.length=0,f.state=X.TEXT}function ge(f){var o,v=f.entity,S=v.toLowerCase(),W="";return f.ENTITIES[v]?f.ENTITIES[v]:f.ENTITIES[S]?f.ENTITIES[S]:((v=S).charAt(0)==="#"&&(v.charAt(1)==="x"?(v=v.slice(2),W=(o=parseInt(v,16)).toString(16)):(v=v.slice(1),W=(o=parseInt(v,10)).toString(10))),v=v.replace(/^0+/,""),W.toLowerCase()!==v?(ve(f,"Invalid character entity"),"&"+f.entity+";"):String.fromCodePoint(o))}function me(f,o){o==="<"?(f.state=X.OPEN_WAKA,f.startTagPosition=f.position):H(u,o)&&(ve(f,"Non-whitespace before first tag."),f.textNode=o,f.state=X.TEXT)}function Ue(f,o){var v="";return o<f.length&&(v=f.charAt(o)),v}X=ae.STATE,String.fromCodePoint||(ee=String.fromCharCode,ue=Math.floor,_e=function(){var f,o,v=16384,S=[],W=-1,V=arguments.length;if(!V)return"";for(var Se="";++W<V;){var ze=Number(arguments[W]);if(!isFinite(ze)||ze<0||ze>1114111||ue(ze)!==ze)throw RangeError("Invalid code point: "+ze);ze<=65535?S.push(ze):(f=55296+((ze-=65536)>>10),o=ze%1024+56320,S.push(f,o)),(W+1===V||S.length>v)&&(Se+=ee.apply(null,S),S.length=0)}return Se},Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:_e,configurable:!0,writable:!0}):String.fromCodePoint=_e)})(we)},182:function(at,we,P){at.exports=T;var ae=P(1159).EventEmitter;function T(){ae.call(this)}P(1765)(T,ae),T.Readable=P(2846),T.Writable=P(8318),T.Duplex=P(6138),T.Transform=P(9798),T.PassThrough=P(5472),T.finished=P(8800),T.pipeline=P(7295),T.Stream=T,T.prototype.pipe=function(t,e){var y=this;function p(I){t.writable&&t.write(I)===!1&&y.pause&&y.pause()}function u(){y.readable&&y.resume&&y.resume()}y.on("data",p),t.on("drain",u),t._isStdio||e&&e.end===!1||(y.on("end",m),y.on("close",n));var _=!1;function m(){_||(_=!0,t.end())}function n(){_||(_=!0,typeof t.destroy=="function"&&t.destroy())}function c(I){if(d(),ae.listenerCount(this,"error")===0)throw I}function d(){y.removeListener("data",p),t.removeListener("drain",u),y.removeListener("end",m),y.removeListener("close",n),y.removeListener("error",c),t.removeListener("error",c),y.removeListener("end",d),y.removeListener("close",d),t.removeListener("close",d)}return y.on("error",c),t.on("error",c),y.on("end",d),y.on("close",d),t.on("close",d),t.emit("pipe",y),t}},1765:function(at){typeof Object.create=="function"?at.exports=function(we,P){P&&(we.super_=P,we.prototype=Object.create(P.prototype,{constructor:{value:we,enumerable:!1,writable:!0,configurable:!0}}))}:at.exports=function(we,P){if(P){we.super_=P;var ae=function(){};ae.prototype=P.prototype,we.prototype=new ae,we.prototype.constructor=we}}},3690:function(at){var we={};function P(T,t,e){e||(e=Error);var y=function(p){var u,_;function m(n,c,d){return p.call(this,function(I,k,q){return typeof t=="string"?t:t(I,k,q)}(n,c,d))||this}return _=p,(u=m).prototype=Object.create(_.prototype),u.prototype.constructor=u,u.__proto__=_,m}(e);y.prototype.name=e.name,y.prototype.code=T,we[T]=y}function ae(T,t){if(Array.isArray(T)){var e=T.length;return T=T.map(function(y){return String(y)}),e>2?"one of ".concat(t," ").concat(T.slice(0,e-1).join(", "),", or ")+T[e-1]:e===2?"one of ".concat(t," ").concat(T[0]," or ").concat(T[1]):"of ".concat(t," ").concat(T[0])}return"of ".concat(t," ").concat(String(T))}P("ERR_INVALID_OPT_VALUE",function(T,t){return'The value "'+t+'" is invalid for option "'+T+'"'},TypeError),P("ERR_INVALID_ARG_TYPE",function(T,t,e){var y,p,u,_,m;if(typeof t=="string"&&(p="not ",t.substr(0,p.length)===p)?(y="must not be",t=t.replace(/^not /,"")):y="must be",function(c,d,I){return(I===void 0||I>c.length)&&(I=c.length),c.substring(I-d.length,I)===d}(T," argument"))u="The ".concat(T," ").concat(y," ").concat(ae(t,"type"));else{var n=(typeof m!="number"&&(m=0),m+1>(_=T).length||_.indexOf(".",m)===-1?"argument":"property");u='The "'.concat(T,'" ').concat(n," ").concat(y," ").concat(ae(t,"type"))}return u+". Received type ".concat(typeof e)},TypeError),P("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),P("ERR_METHOD_NOT_IMPLEMENTED",function(T){return"The "+T+" method is not implemented"}),P("ERR_STREAM_PREMATURE_CLOSE","Premature close"),P("ERR_STREAM_DESTROYED",function(T){return"Cannot call "+T+" after a stream was destroyed"}),P("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),P("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),P("ERR_STREAM_WRITE_AFTER_END","write after end"),P("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),P("ERR_UNKNOWN_ENCODING",function(T){return"Unknown encoding: "+T},TypeError),P("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),at.exports.q=we},6138:function(at,we,P){var ae=Object.keys||function(n){var c=[];for(var d in n)c.push(d);return c};at.exports=u;var T=P(2846),t=P(8318);P(1765)(u,T);for(var e=ae(t.prototype),y=0;y<e.length;y++){var p=e[y];u.prototype[p]||(u.prototype[p]=t.prototype[p])}function u(n){if(!(this instanceof u))return new u(n);T.call(this,n),t.call(this,n),this.allowHalfOpen=!0,n&&(n.readable===!1&&(this.readable=!1),n.writable===!1&&(this.writable=!1),n.allowHalfOpen===!1&&(this.allowHalfOpen=!1,this.once("end",_)))}function _(){this._writableState.ended||process.nextTick(m,this)}function m(n){n.end()}Object.defineProperty(u.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(u.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(u.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(u.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState!==void 0&&this._writableState!==void 0&&this._readableState.destroyed&&this._writableState.destroyed},set:function(n){this._readableState!==void 0&&this._writableState!==void 0&&(this._readableState.destroyed=n,this._writableState.destroyed=n)}})},5472:function(at,we,P){at.exports=T;var ae=P(9798);function T(t){if(!(this instanceof T))return new T(t);ae.call(this,t)}P(1765)(T,ae),T.prototype._transform=function(t,e,y){y(null,t)}},2846:function(at,we,P){var ae;at.exports=ee,ee.ReadableState=H,P(1159).EventEmitter;var T,t=function(ge,me){return ge.listeners(me).length},e=P(9299),y=P(1549).Buffer,p=P.g.Uint8Array||function(){},u=P(964);T=u&&u.debuglog?u.debuglog("stream"):function(){};var _,m,n,c=P(8393),d=P(6163),I=P(7269).getHighWaterMark,k=P(3690).q,q=k.ERR_INVALID_ARG_TYPE,F=k.ERR_STREAM_PUSH_AFTER_EOF,$=k.ERR_METHOD_NOT_IMPLEMENTED,O=k.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;P(1765)(ee,e);var K=d.errorOrDestroy,re=["error","close","destroy","pause","resume"];function H(ge,me,Ue){ae=ae||P(6138),ge=ge||{},typeof Ue!="boolean"&&(Ue=me instanceof ae),this.objectMode=!!ge.objectMode,Ue&&(this.objectMode=this.objectMode||!!ge.readableObjectMode),this.highWaterMark=I(this,ge,"readableHighWaterMark",Ue),this.buffer=new c,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=ge.emitClose!==!1,this.autoDestroy=!!ge.autoDestroy,this.destroyed=!1,this.defaultEncoding=ge.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,ge.encoding&&(_||(_=P(7503).s),this.decoder=new _(ge.encoding),this.encoding=ge.encoding)}function ee(ge){if(ae=ae||P(6138),!(this instanceof ee))return new ee(ge);var me=this instanceof ae;this._readableState=new H(ge,this,me),this.readable=!0,ge&&(typeof ge.read=="function"&&(this._read=ge.read),typeof ge.destroy=="function"&&(this._destroy=ge.destroy)),e.call(this)}function ue(ge,me,Ue,f,o){T("readableAddChunk",me);var v,S=ge._readableState;if(me===null)S.reading=!1,function(W,V){if(T("onEofChunk"),!V.ended){if(V.decoder){var Se=V.decoder.end();Se&&Se.length&&(V.buffer.push(Se),V.length+=V.objectMode?1:Se.length)}V.ended=!0,V.sync?Le(W):(V.needReadable=!1,V.emittedReadable||(V.emittedReadable=!0,Ye(W)))}}(ge,S);else if(o||(v=function(W,V){var Se,ze;return ze=V,y.isBuffer(ze)||ze instanceof p||typeof V=="string"||V===void 0||W.objectMode||(Se=new q("chunk",["string","Buffer","Uint8Array"],V)),Se}(S,me)),v)K(ge,v);else if(S.objectMode||me&&me.length>0)if(typeof me=="string"||S.objectMode||Object.getPrototypeOf(me)===y.prototype||(me=function(W){return y.from(W)}(me)),f)S.endEmitted?K(ge,new O):_e(ge,S,me,!0);else if(S.ended)K(ge,new F);else{if(S.destroyed)return!1;S.reading=!1,S.decoder&&!Ue?(me=S.decoder.write(me),S.objectMode||me.length!==0?_e(ge,S,me,!1):ye(ge,S)):_e(ge,S,me,!1)}else f||(S.reading=!1,ye(ge,S));return!S.ended&&(S.length<S.highWaterMark||S.length===0)}function _e(ge,me,Ue,f){me.flowing&&me.length===0&&!me.sync?(me.awaitDrain=0,ge.emit("data",Ue)):(me.length+=me.objectMode?1:Ue.length,f?me.buffer.unshift(Ue):me.buffer.push(Ue),me.needReadable&&Le(ge)),ye(ge,me)}Object.defineProperty(ee.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState!==void 0&&this._readableState.destroyed},set:function(ge){this._readableState&&(this._readableState.destroyed=ge)}}),ee.prototype.destroy=d.destroy,ee.prototype._undestroy=d.undestroy,ee.prototype._destroy=function(ge,me){me(ge)},ee.prototype.push=function(ge,me){var Ue,f=this._readableState;return f.objectMode?Ue=!0:typeof ge=="string"&&((me=me||f.defaultEncoding)!==f.encoding&&(ge=y.from(ge,me),me=""),Ue=!0),ue(this,ge,me,!1,Ue)},ee.prototype.unshift=function(ge){return ue(this,ge,null,!0,!1)},ee.prototype.isPaused=function(){return this._readableState.flowing===!1},ee.prototype.setEncoding=function(ge){_||(_=P(7503).s);var me=new _(ge);this._readableState.decoder=me,this._readableState.encoding=this._readableState.decoder.encoding;for(var Ue=this._readableState.buffer.head,f="";Ue!==null;)f+=me.write(Ue.data),Ue=Ue.next;return this._readableState.buffer.clear(),f!==""&&this._readableState.buffer.push(f),this._readableState.length=f.length,this};var X=1073741824;function Ae(ge,me){return ge<=0||me.length===0&&me.ended?0:me.objectMode?1:ge!=ge?me.flowing&&me.length?me.buffer.head.data.length:me.length:(ge>me.highWaterMark&&(me.highWaterMark=function(Ue){return Ue>=X?Ue=X:(Ue--,Ue|=Ue>>>1,Ue|=Ue>>>2,Ue|=Ue>>>4,Ue|=Ue>>>8,Ue|=Ue>>>16,Ue++),Ue}(ge)),ge<=me.length?ge:me.ended?me.length:(me.needReadable=!0,0))}function Le(ge){var me=ge._readableState;T("emitReadable",me.needReadable,me.emittedReadable),me.needReadable=!1,me.emittedReadable||(T("emitReadable",me.flowing),me.emittedReadable=!0,process.nextTick(Ye,ge))}function Ye(ge){var me=ge._readableState;T("emitReadable_",me.destroyed,me.length,me.ended),me.destroyed||!me.length&&!me.ended||(ge.emit("readable"),me.emittedReadable=!1),me.needReadable=!me.flowing&&!me.ended&&me.length<=me.highWaterMark,Oe(ge)}function ye(ge,me){me.readingMore||(me.readingMore=!0,process.nextTick(Pe,ge,me))}function Pe(ge,me){for(;!me.reading&&!me.ended&&(me.length<me.highWaterMark||me.flowing&&me.length===0);){var Ue=me.length;if(T("maybeReadMore read 0"),ge.read(0),Ue===me.length)break}me.readingMore=!1}function He(ge){var me=ge._readableState;me.readableListening=ge.listenerCount("readable")>0,me.resumeScheduled&&!me.paused?me.flowing=!0:ge.listenerCount("data")>0&&ge.resume()}function tt(ge){T("readable nexttick read 0"),ge.read(0)}function ve(ge,me){T("resume",me.reading),me.reading||ge.read(0),me.resumeScheduled=!1,ge.emit("resume"),Oe(ge),me.flowing&&!me.reading&&ge.read(0)}function Oe(ge){var me=ge._readableState;for(T("flow",me.flowing);me.flowing&&ge.read()!==null;);}function _t(ge,me){return me.length===0?null:(me.objectMode?Ue=me.buffer.shift():!ge||ge>=me.length?(Ue=me.decoder?me.buffer.join(""):me.buffer.length===1?me.buffer.first():me.buffer.concat(me.length),me.buffer.clear()):Ue=me.buffer.consume(ge,me.decoder),Ue);var Ue}function dt(ge){var me=ge._readableState;T("endReadable",me.endEmitted),me.endEmitted||(me.ended=!0,process.nextTick(ke,me,ge))}function ke(ge,me){if(T("endReadableNT",ge.endEmitted,ge.length),!ge.endEmitted&&ge.length===0&&(ge.endEmitted=!0,me.readable=!1,me.emit("end"),ge.autoDestroy)){var Ue=me._writableState;(!Ue||Ue.autoDestroy&&Ue.finished)&&me.destroy()}}function Je(ge,me){for(var Ue=0,f=ge.length;Ue<f;Ue++)if(ge[Ue]===me)return Ue;return-1}ee.prototype.read=function(ge){T("read",ge),ge=parseInt(ge,10);var me=this._readableState,Ue=ge;if(ge!==0&&(me.emittedReadable=!1),ge===0&&me.needReadable&&((me.highWaterMark!==0?me.length>=me.highWaterMark:me.length>0)||me.ended))return T("read: emitReadable",me.length,me.ended),me.length===0&&me.ended?dt(this):Le(this),null;if((ge=Ae(ge,me))===0&&me.ended)return me.length===0&&dt(this),null;var f,o=me.needReadable;return T("need readable",o),(me.length===0||me.length-ge<me.highWaterMark)&&T("length less than watermark",o=!0),me.ended||me.reading?T("reading or ended",o=!1):o&&(T("do read"),me.reading=!0,me.sync=!0,me.length===0&&(me.needReadable=!0),this._read(me.highWaterMark),me.sync=!1,me.reading||(ge=Ae(Ue,me))),(f=ge>0?_t(ge,me):null)===null?(me.needReadable=me.length<=me.highWaterMark,ge=0):(me.length-=ge,me.awaitDrain=0),me.length===0&&(me.ended||(me.needReadable=!0),Ue!==ge&&me.ended&&dt(this)),f!==null&&this.emit("data",f),f},ee.prototype._read=function(ge){K(this,new $("_read()"))},ee.prototype.pipe=function(ge,me){var Ue=this,f=this._readableState;switch(f.pipesCount){case 0:f.pipes=ge;break;case 1:f.pipes=[f.pipes,ge];break;default:f.pipes.push(ge)}f.pipesCount+=1,T("pipe count=%d opts=%j",f.pipesCount,me);var o=me&&me.end===!1||ge===process.stdout||ge===process.stderr?De:v;function v(){T("onend"),ge.end()}f.endEmitted?process.nextTick(o):Ue.once("end",o),ge.on("unpipe",function be(xe,Qe){T("onunpipe"),xe===Ue&&Qe&&Qe.hasUnpiped===!1&&(Qe.hasUnpiped=!0,T("cleanup"),ge.removeListener("close",ze),ge.removeListener("finish",Me),ge.removeListener("drain",S),ge.removeListener("error",Se),ge.removeListener("unpipe",be),Ue.removeListener("end",v),Ue.removeListener("end",De),Ue.removeListener("data",V),W=!0,!f.awaitDrain||ge._writableState&&!ge._writableState.needDrain||S())});var S=function(be){return function(){var xe=be._readableState;T("pipeOnDrain",xe.awaitDrain),xe.awaitDrain&&xe.awaitDrain--,xe.awaitDrain===0&&t(be,"data")&&(xe.flowing=!0,Oe(be))}}(Ue);ge.on("drain",S);var W=!1;function V(be){T("ondata");var xe=ge.write(be);T("dest.write",xe),xe===!1&&((f.pipesCount===1&&f.pipes===ge||f.pipesCount>1&&Je(f.pipes,ge)!==-1)&&!W&&(T("false write response, pause",f.awaitDrain),f.awaitDrain++),Ue.pause())}function Se(be){T("onerror",be),De(),ge.removeListener("error",Se),t(ge,"error")===0&&K(ge,be)}function ze(){ge.removeListener("finish",Me),De()}function Me(){T("onfinish"),ge.removeListener("close",ze),De()}function De(){T("unpipe"),Ue.unpipe(ge)}return Ue.on("data",V),function(be,xe,Qe){if(typeof be.prependListener=="function")return be.prependListener(xe,Qe);be._events&&be._events[xe]?Array.isArray(be._events[xe])?be._events[xe].unshift(Qe):be._events[xe]=[Qe,be._events[xe]]:be.on(xe,Qe)}(ge,"error",Se),ge.once("close",ze),ge.once("finish",Me),ge.emit("pipe",Ue),f.flowing||(T("pipe resume"),Ue.resume()),ge},ee.prototype.unpipe=function(ge){var me=this._readableState,Ue={hasUnpiped:!1};if(me.pipesCount===0)return this;if(me.pipesCount===1)return ge&&ge!==me.pipes||(ge||(ge=me.pipes),me.pipes=null,me.pipesCount=0,me.flowing=!1,ge&&ge.emit("unpipe",this,Ue)),this;if(!ge){var f=me.pipes,o=me.pipesCount;me.pipes=null,me.pipesCount=0,me.flowing=!1;for(var v=0;v<o;v++)f[v].emit("unpipe",this,{hasUnpiped:!1});return this}var S=Je(me.pipes,ge);return S===-1||(me.pipes.splice(S,1),me.pipesCount-=1,me.pipesCount===1&&(me.pipes=me.pipes[0]),ge.emit("unpipe",this,Ue)),this},ee.prototype.on=function(ge,me){var Ue=e.prototype.on.call(this,ge,me),f=this._readableState;return ge==="data"?(f.readableListening=this.listenerCount("readable")>0,f.flowing!==!1&&this.resume()):ge==="readable"&&(f.endEmitted||f.readableListening||(f.readableListening=f.needReadable=!0,f.flowing=!1,f.emittedReadable=!1,T("on readable",f.length,f.reading),f.length?Le(this):f.reading||process.nextTick(tt,this))),Ue},ee.prototype.addListener=ee.prototype.on,ee.prototype.removeListener=function(ge,me){var Ue=e.prototype.removeListener.call(this,ge,me);return ge==="readable"&&process.nextTick(He,this),Ue},ee.prototype.removeAllListeners=function(ge){var me=e.prototype.removeAllListeners.apply(this,arguments);return ge!=="readable"&&ge!==void 0||process.nextTick(He,this),me},ee.prototype.resume=function(){var ge=this._readableState;return ge.flowing||(T("resume"),ge.flowing=!ge.readableListening,function(me,Ue){Ue.resumeScheduled||(Ue.resumeScheduled=!0,process.nextTick(ve,me,Ue))}(this,ge)),ge.paused=!1,this},ee.prototype.pause=function(){return T("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(T("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},ee.prototype.wrap=function(ge){var me=this,Ue=this._readableState,f=!1;for(var o in ge.on("end",function(){if(T("wrapped end"),Ue.decoder&&!Ue.ended){var S=Ue.decoder.end();S&&S.length&&me.push(S)}me.push(null)}),ge.on("data",function(S){T("wrapped data"),Ue.decoder&&(S=Ue.decoder.write(S)),Ue.objectMode&&S==null||(Ue.objectMode||S&&S.length)&&(me.push(S)||(f=!0,ge.pause()))}),ge)this[o]===void 0&&typeof ge[o]=="function"&&(this[o]=function(S){return function(){return ge[S].apply(ge,arguments)}}(o));for(var v=0;v<re.length;v++)ge.on(re[v],this.emit.bind(this,re[v]));return this._read=function(S){T("wrapped _read",S),f&&(f=!1,ge.resume())},this},typeof Symbol=="function"&&(ee.prototype[Symbol.asyncIterator]=function(){return m===void 0&&(m=P(7299)),m(this)}),Object.defineProperty(ee.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),Object.defineProperty(ee.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}}),Object.defineProperty(ee.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(ge){this._readableState&&(this._readableState.flowing=ge)}}),ee._fromList=_t,Object.defineProperty(ee.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length}}),typeof Symbol=="function"&&(ee.from=function(ge,me){return n===void 0&&(n=P(6233)),n(ee,ge,me)})},9798:function(at,we,P){at.exports=_;var ae=P(3690).q,T=ae.ERR_METHOD_NOT_IMPLEMENTED,t=ae.ERR_MULTIPLE_CALLBACK,e=ae.ERR_TRANSFORM_ALREADY_TRANSFORMING,y=ae.ERR_TRANSFORM_WITH_LENGTH_0,p=P(6138);function u(c,d){var I=this._transformState;I.transforming=!1;var k=I.writecb;if(k===null)return this.emit("error",new t);I.writechunk=null,I.writecb=null,d!=null&&this.push(d),k(c);var q=this._readableState;q.reading=!1,(q.needReadable||q.length<q.highWaterMark)&&this._read(q.highWaterMark)}function _(c){if(!(this instanceof _))return new _(c);p.call(this,c),this._transformState={afterTransform:u.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,c&&(typeof c.transform=="function"&&(this._transform=c.transform),typeof c.flush=="function"&&(this._flush=c.flush)),this.on("prefinish",m)}function m(){var c=this;typeof this._flush!="function"||this._readableState.destroyed?n(this,null,null):this._flush(function(d,I){n(c,d,I)})}function n(c,d,I){if(d)return c.emit("error",d);if(I!=null&&c.push(I),c._writableState.length)throw new y;if(c._transformState.transforming)throw new e;return c.push(null)}P(1765)(_,p),_.prototype.push=function(c,d){return this._transformState.needTransform=!1,p.prototype.push.call(this,c,d)},_.prototype._transform=function(c,d,I){I(new T("_transform()"))},_.prototype._write=function(c,d,I){var k=this._transformState;if(k.writecb=I,k.writechunk=c,k.writeencoding=d,!k.transforming){var q=this._readableState;(k.needTransform||q.needReadable||q.length<q.highWaterMark)&&this._read(q.highWaterMark)}},_.prototype._read=function(c){var d=this._transformState;d.writechunk===null||d.transforming?d.needTransform=!0:(d.transforming=!0,this._transform(d.writechunk,d.writeencoding,d.afterTransform))},_.prototype._destroy=function(c,d){p.prototype._destroy.call(this,c,function(I){d(I)})}},8318:function(at,we,P){function ae(ye){var Pe=this;this.next=null,this.entry=null,this.finish=function(){(function(He,tt,ve){var Oe=He.entry;for(He.entry=null;Oe;){var _t=Oe.callback;tt.pendingcb--,_t(void 0),Oe=Oe.next}tt.corkedRequestsFree.next=He})(Pe,ye)}}var T;at.exports=ee,ee.WritableState=H;var t,e={deprecate:P(7839)},y=P(9299),p=P(1549).Buffer,u=P.g.Uint8Array||function(){},_=P(6163),m=P(7269).getHighWaterMark,n=P(3690).q,c=n.ERR_INVALID_ARG_TYPE,d=n.ERR_METHOD_NOT_IMPLEMENTED,I=n.ERR_MULTIPLE_CALLBACK,k=n.ERR_STREAM_CANNOT_PIPE,q=n.ERR_STREAM_DESTROYED,F=n.ERR_STREAM_NULL_VALUES,$=n.ERR_STREAM_WRITE_AFTER_END,O=n.ERR_UNKNOWN_ENCODING,K=_.errorOrDestroy;function re(){}function H(ye,Pe,He){T=T||P(6138),ye=ye||{},typeof He!="boolean"&&(He=Pe instanceof T),this.objectMode=!!ye.objectMode,He&&(this.objectMode=this.objectMode||!!ye.writableObjectMode),this.highWaterMark=m(this,ye,"writableHighWaterMark",He),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var tt=ye.decodeStrings===!1;this.decodeStrings=!tt,this.defaultEncoding=ye.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(ve){(function(Oe,_t){var dt=Oe._writableState,ke=dt.sync,Je=dt.writecb;if(typeof Je!="function")throw new I;if(function(me){me.writing=!1,me.writecb=null,me.length-=me.writelen,me.writelen=0}(dt),_t)(function(me,Ue,f,o,v){--Ue.pendingcb,f?(process.nextTick(v,o),process.nextTick(Ye,me,Ue),me._writableState.errorEmitted=!0,K(me,o)):(v(o),me._writableState.errorEmitted=!0,K(me,o),Ye(me,Ue))})(Oe,dt,ke,_t,Je);else{var ge=Ae(dt)||Oe.destroyed;ge||dt.corked||dt.bufferProcessing||!dt.bufferedRequest||X(Oe,dt),ke?process.nextTick(_e,Oe,dt,ge,Je):_e(Oe,dt,ge,Je)}})(Pe,ve)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=ye.emitClose!==!1,this.autoDestroy=!!ye.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new ae(this)}function ee(ye){var Pe=this instanceof(T=T||P(6138));if(!Pe&&!t.call(ee,this))return new ee(ye);this._writableState=new H(ye,this,Pe),this.writable=!0,ye&&(typeof ye.write=="function"&&(this._write=ye.write),typeof ye.writev=="function"&&(this._writev=ye.writev),typeof ye.destroy=="function"&&(this._destroy=ye.destroy),typeof ye.final=="function"&&(this._final=ye.final)),y.call(this)}function ue(ye,Pe,He,tt,ve,Oe,_t){Pe.writelen=tt,Pe.writecb=_t,Pe.writing=!0,Pe.sync=!0,Pe.destroyed?Pe.onwrite(new q("write")):He?ye._writev(ve,Pe.onwrite):ye._write(ve,Oe,Pe.onwrite),Pe.sync=!1}function _e(ye,Pe,He,tt){He||function(ve,Oe){Oe.length===0&&Oe.needDrain&&(Oe.needDrain=!1,ve.emit("drain"))}(ye,Pe),Pe.pendingcb--,tt(),Ye(ye,Pe)}function X(ye,Pe){Pe.bufferProcessing=!0;var He=Pe.bufferedRequest;if(ye._writev&&He&&He.next){var tt=Pe.bufferedRequestCount,ve=new Array(tt),Oe=Pe.corkedRequestsFree;Oe.entry=He;for(var _t=0,dt=!0;He;)ve[_t]=He,He.isBuf||(dt=!1),He=He.next,_t+=1;ve.allBuffers=dt,ue(ye,Pe,!0,Pe.length,ve,"",Oe.finish),Pe.pendingcb++,Pe.lastBufferedRequest=null,Oe.next?(Pe.corkedRequestsFree=Oe.next,Oe.next=null):Pe.corkedRequestsFree=new ae(Pe),Pe.bufferedRequestCount=0}else{for(;He;){var ke=He.chunk,Je=He.encoding,ge=He.callback;if(ue(ye,Pe,!1,Pe.objectMode?1:ke.length,ke,Je,ge),He=He.next,Pe.bufferedRequestCount--,Pe.writing)break}He===null&&(Pe.lastBufferedRequest=null)}Pe.bufferedRequest=He,Pe.bufferProcessing=!1}function Ae(ye){return ye.ending&&ye.length===0&&ye.bufferedRequest===null&&!ye.finished&&!ye.writing}function Le(ye,Pe){ye._final(function(He){Pe.pendingcb--,He&&K(ye,He),Pe.prefinished=!0,ye.emit("prefinish"),Ye(ye,Pe)})}function Ye(ye,Pe){var He=Ae(Pe);if(He&&(function(ve,Oe){Oe.prefinished||Oe.finalCalled||(typeof ve._final!="function"||Oe.destroyed?(Oe.prefinished=!0,ve.emit("prefinish")):(Oe.pendingcb++,Oe.finalCalled=!0,process.nextTick(Le,ve,Oe)))}(ye,Pe),Pe.pendingcb===0&&(Pe.finished=!0,ye.emit("finish"),Pe.autoDestroy))){var tt=ye._readableState;(!tt||tt.autoDestroy&&tt.endEmitted)&&ye.destroy()}return He}P(1765)(ee,y),H.prototype.getBuffer=function(){for(var ye=this.bufferedRequest,Pe=[];ye;)Pe.push(ye),ye=ye.next;return Pe},function(){try{Object.defineProperty(H.prototype,"buffer",{get:e.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}}(),typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(t=Function.prototype[Symbol.hasInstance],Object.defineProperty(ee,Symbol.hasInstance,{value:function(ye){return!!t.call(this,ye)||this===ee&&ye&&ye._writableState instanceof H}})):t=function(ye){return ye instanceof this},ee.prototype.pipe=function(){K(this,new k)},ee.prototype.write=function(ye,Pe,He){var tt,ve=this._writableState,Oe=!1,_t=!ve.objectMode&&(tt=ye,p.isBuffer(tt)||tt instanceof u);return _t&&!p.isBuffer(ye)&&(ye=function(dt){return p.from(dt)}(ye)),typeof Pe=="function"&&(He=Pe,Pe=null),_t?Pe="buffer":Pe||(Pe=ve.defaultEncoding),typeof He!="function"&&(He=re),ve.ending?function(dt,ke){var Je=new $;K(dt,Je),process.nextTick(ke,Je)}(this,He):(_t||function(dt,ke,Je,ge){var me;return Je===null?me=new F:typeof Je=="string"||ke.objectMode||(me=new c("chunk",["string","Buffer"],Je)),!me||(K(dt,me),process.nextTick(ge,me),!1)}(this,ve,ye,He))&&(ve.pendingcb++,Oe=function(dt,ke,Je,ge,me,Ue){if(!Je){var f=function(W,V,Se){return W.objectMode||W.decodeStrings===!1||typeof V!="string"||(V=p.from(V,Se)),V}(ke,ge,me);ge!==f&&(Je=!0,me="buffer",ge=f)}var o=ke.objectMode?1:ge.length;ke.length+=o;var v=ke.length<ke.highWaterMark;if(v||(ke.needDrain=!0),ke.writing||ke.corked){var S=ke.lastBufferedRequest;ke.lastBufferedRequest={chunk:ge,encoding:me,isBuf:Je,callback:Ue,next:null},S?S.next=ke.lastBufferedRequest:ke.bufferedRequest=ke.lastBufferedRequest,ke.bufferedRequestCount+=1}else ue(dt,ke,!1,o,ge,me,Ue);return v}(this,ve,_t,ye,Pe,He)),Oe},ee.prototype.cork=function(){this._writableState.corked++},ee.prototype.uncork=function(){var ye=this._writableState;ye.corked&&(ye.corked--,ye.writing||ye.corked||ye.bufferProcessing||!ye.bufferedRequest||X(this,ye))},ee.prototype.setDefaultEncoding=function(ye){if(typeof ye=="string"&&(ye=ye.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((ye+"").toLowerCase())>-1))throw new O(ye);return this._writableState.defaultEncoding=ye,this},Object.defineProperty(ee.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(ee.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),ee.prototype._write=function(ye,Pe,He){He(new d("_write()"))},ee.prototype._writev=null,ee.prototype.end=function(ye,Pe,He){var tt=this._writableState;return typeof ye=="function"?(He=ye,ye=null,Pe=null):typeof Pe=="function"&&(He=Pe,Pe=null),ye!=null&&this.write(ye,Pe),tt.corked&&(tt.corked=1,this.uncork()),tt.ending||function(ve,Oe,_t){Oe.ending=!0,Ye(ve,Oe),_t&&(Oe.finished?process.nextTick(_t):ve.once("finish",_t)),Oe.ended=!0,ve.writable=!1}(this,tt,He),this},Object.defineProperty(ee.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(ee.prototype,"destroyed",{enumerable:!1,get:function(){return this._writableState!==void 0&&this._writableState.destroyed},set:function(ye){this._writableState&&(this._writableState.destroyed=ye)}}),ee.prototype.destroy=_.destroy,ee.prototype._undestroy=_.undestroy,ee.prototype._destroy=function(ye,Pe){Pe(ye)}},7299:function(at,we,P){var ae;function T(F,$,O){return $ in F?Object.defineProperty(F,$,{value:O,enumerable:!0,configurable:!0,writable:!0}):F[$]=O,F}var t=P(8800),e=Symbol("lastResolve"),y=Symbol("lastReject"),p=Symbol("error"),u=Symbol("ended"),_=Symbol("lastPromise"),m=Symbol("handlePromise"),n=Symbol("stream");function c(F,$){return{value:F,done:$}}function d(F){var $=F[e];if($!==null){var O=F[n].read();O!==null&&(F[_]=null,F[e]=null,F[y]=null,$(c(O,!1)))}}function I(F){process.nextTick(d,F)}var k=Object.getPrototypeOf(function(){}),q=Object.setPrototypeOf((T(ae={get stream(){return this[n]},next:function(){var F=this,$=this[p];if($!==null)return Promise.reject($);if(this[u])return Promise.resolve(c(void 0,!0));if(this[n].destroyed)return new Promise(function(H,ee){process.nextTick(function(){F[p]?ee(F[p]):H(c(void 0,!0))})});var O,K=this[_];if(K)O=new Promise(function(H,ee){return function(ue,_e){H.then(function(){ee[u]?ue(c(void 0,!0)):ee[m](ue,_e)},_e)}}(K,this));else{var re=this[n].read();if(re!==null)return Promise.resolve(c(re,!1));O=new Promise(this[m])}return this[_]=O,O}},Symbol.asyncIterator,function(){return this}),T(ae,"return",function(){var F=this;return new Promise(function($,O){F[n].destroy(null,function(K){K?O(K):$(c(void 0,!0))})})}),ae),k);at.exports=function(F){var $,O=Object.create(q,(T($={},n,{value:F,writable:!0}),T($,e,{value:null,writable:!0}),T($,y,{value:null,writable:!0}),T($,p,{value:null,writable:!0}),T($,u,{value:F._readableState.endEmitted,writable:!0}),T($,m,{value:function(K,re){var H=O[n].read();H?(O[_]=null,O[e]=null,O[y]=null,K(c(H,!1))):(O[e]=K,O[y]=re)},writable:!0}),$));return O[_]=null,t(F,function(K){if(K&&K.code!=="ERR_STREAM_PREMATURE_CLOSE"){var re=O[y];return re!==null&&(O[_]=null,O[e]=null,O[y]=null,re(K)),void(O[p]=K)}var H=O[e];H!==null&&(O[_]=null,O[e]=null,O[y]=null,H(c(void 0,!0))),O[u]=!0}),F.on("readable",I.bind(null,O)),O}},8393:function(at,we,P){function ae(u,_){var m=Object.keys(u);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(u);_&&(n=n.filter(function(c){return Object.getOwnPropertyDescriptor(u,c).enumerable})),m.push.apply(m,n)}return m}function T(u,_,m){return _ in u?Object.defineProperty(u,_,{value:m,enumerable:!0,configurable:!0,writable:!0}):u[_]=m,u}function t(u,_){for(var m=0;m<_.length;m++){var n=_[m];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(u,n.key,n)}}var e=P(1549).Buffer,y=P(9862).inspect,p=y&&y.custom||"inspect";at.exports=function(){function u(){(function(n,c){if(!(n instanceof c))throw new TypeError("Cannot call a class as a function")})(this,u),this.head=null,this.tail=null,this.length=0}var _,m;return _=u,m=[{key:"push",value:function(n){var c={data:n,next:null};this.length>0?this.tail.next=c:this.head=c,this.tail=c,++this.length}},{key:"unshift",value:function(n){var c={data:n,next:this.head};this.length===0&&(this.tail=c),this.head=c,++this.length}},{key:"shift",value:function(){if(this.length!==0){var n=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,n}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(n){if(this.length===0)return"";for(var c=this.head,d=""+c.data;c=c.next;)d+=n+c.data;return d}},{key:"concat",value:function(n){if(this.length===0)return e.alloc(0);for(var c,d,I,k=e.allocUnsafe(n>>>0),q=this.head,F=0;q;)c=q.data,d=k,I=F,e.prototype.copy.call(c,d,I),F+=q.data.length,q=q.next;return k}},{key:"consume",value:function(n,c){var d;return n<this.head.data.length?(d=this.head.data.slice(0,n),this.head.data=this.head.data.slice(n)):d=n===this.head.data.length?this.shift():c?this._getString(n):this._getBuffer(n),d}},{key:"first",value:function(){return this.head.data}},{key:"_getString",value:function(n){var c=this.head,d=1,I=c.data;for(n-=I.length;c=c.next;){var k=c.data,q=n>k.length?k.length:n;if(q===k.length?I+=k:I+=k.slice(0,n),(n-=q)==0){q===k.length?(++d,c.next?this.head=c.next:this.head=this.tail=null):(this.head=c,c.data=k.slice(q));break}++d}return this.length-=d,I}},{key:"_getBuffer",value:function(n){var c=e.allocUnsafe(n),d=this.head,I=1;for(d.data.copy(c),n-=d.data.length;d=d.next;){var k=d.data,q=n>k.length?k.length:n;if(k.copy(c,c.length-n,0,q),(n-=q)==0){q===k.length?(++I,d.next?this.head=d.next:this.head=this.tail=null):(this.head=d,d.data=k.slice(q));break}++I}return this.length-=I,c}},{key:p,value:function(n,c){return y(this,function(d){for(var I=1;I<arguments.length;I++){var k=arguments[I]!=null?arguments[I]:{};I%2?ae(Object(k),!0).forEach(function(q){T(d,q,k[q])}):Object.getOwnPropertyDescriptors?Object.defineProperties(d,Object.getOwnPropertyDescriptors(k)):ae(Object(k)).forEach(function(q){Object.defineProperty(d,q,Object.getOwnPropertyDescriptor(k,q))})}return d}({},c,{depth:0,customInspect:!1}))}}],m&&t(_.prototype,m),u}()},6163:function(at){function we(T,t){ae(T,t),P(T)}function P(T){T._writableState&&!T._writableState.emitClose||T._readableState&&!T._readableState.emitClose||T.emit("close")}function ae(T,t){T.emit("error",t)}at.exports={destroy:function(T,t){var e=this,y=this._readableState&&this._readableState.destroyed,p=this._writableState&&this._writableState.destroyed;return y||p?(t?t(T):T&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(ae,this,T)):process.nextTick(ae,this,T)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(T||null,function(u){!t&&u?e._writableState?e._writableState.errorEmitted?process.nextTick(P,e):(e._writableState.errorEmitted=!0,process.nextTick(we,e,u)):process.nextTick(we,e,u):t?(process.nextTick(P,e),t(u)):process.nextTick(P,e)}),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)},errorOrDestroy:function(T,t){var e=T._readableState,y=T._writableState;e&&e.autoDestroy||y&&y.autoDestroy?T.destroy(t):T.emit("error",t)}}},8800:function(at,we,P){var ae=P(3690).q.ERR_STREAM_PREMATURE_CLOSE;function T(){}at.exports=function t(e,y,p){if(typeof y=="function")return t(e,null,y);y||(y={}),p=function($){var O=!1;return function(){if(!O){O=!0;for(var K=arguments.length,re=new Array(K),H=0;H<K;H++)re[H]=arguments[H];$.apply(this,re)}}}(p||T);var u=y.readable||y.readable!==!1&&e.readable,_=y.writable||y.writable!==!1&&e.writable,m=function(){e.writable||c()},n=e._writableState&&e._writableState.finished,c=function(){_=!1,n=!0,u||p.call(e)},d=e._readableState&&e._readableState.endEmitted,I=function(){u=!1,d=!0,_||p.call(e)},k=function($){p.call(e,$)},q=function(){var $;return u&&!d?(e._readableState&&e._readableState.ended||($=new ae),p.call(e,$)):_&&!n?(e._writableState&&e._writableState.ended||($=new ae),p.call(e,$)):void 0},F=function(){e.req.on("finish",c)};return function($){return $.setHeader&&typeof $.abort=="function"}(e)?(e.on("complete",c),e.on("abort",q),e.req?F():e.on("request",F)):_&&!e._writableState&&(e.on("end",m),e.on("close",m)),e.on("end",I),e.on("finish",c),y.error!==!1&&e.on("error",k),e.on("close",q),function(){e.removeListener("complete",c),e.removeListener("abort",q),e.removeListener("request",F),e.req&&e.req.removeListener("finish",c),e.removeListener("end",m),e.removeListener("close",m),e.removeListener("finish",c),e.removeListener("end",I),e.removeListener("error",k),e.removeListener("close",q)}}},6233:function(at){at.exports=function(){throw new Error("Readable.from is not available in the browser")}},7295:function(at,we,P){var ae,T=P(3690).q,t=T.ERR_MISSING_ARGS,e=T.ERR_STREAM_DESTROYED;function y(n){if(n)throw n}function p(n,c,d,I){I=function(F){var $=!1;return function(){$||($=!0,F.apply(void 0,arguments))}}(I);var k=!1;n.on("close",function(){k=!0}),ae===void 0&&(ae=P(8800)),ae(n,{readable:c,writable:d},function(F){if(F)return I(F);k=!0,I()});var q=!1;return function(F){if(!k&&!q)return q=!0,function($){return $.setHeader&&typeof $.abort=="function"}(n)?n.abort():typeof n.destroy=="function"?n.destroy():void I(F||new e("pipe"))}}function u(n){n()}function _(n,c){return n.pipe(c)}function m(n){return n.length?typeof n[n.length-1]!="function"?y:n.pop():y}at.exports=function(){for(var n=arguments.length,c=new Array(n),d=0;d<n;d++)c[d]=arguments[d];var I,k=m(c);if(Array.isArray(c[0])&&(c=c[0]),c.length<2)throw new t("streams");var q=c.map(function(F,$){var O=$<c.length-1;return p(F,O,$>0,function(K){I||(I=K),K&&q.forEach(u),O||(q.forEach(u),k(I))})});return c.reduce(_)}},7269:function(at,we,P){var ae=P(3690).q.ERR_INVALID_OPT_VALUE;at.exports={getHighWaterMark:function(T,t,e,y){var p=function(u,_,m){return u.highWaterMark!=null?u.highWaterMark:_?u[m]:null}(t,y,e);if(p!=null){if(!isFinite(p)||Math.floor(p)!==p||p<0)throw new ae(y?e:"highWaterMark",p);return Math.floor(p)}return T.objectMode?16:16384}}},9299:function(at,we,P){at.exports=P(1159).EventEmitter},7503:function(at,we,P){var ae=P(8387).Buffer,T=ae.isEncoding||function(d){switch((d=""+d)&&d.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function t(d){var I;switch(this.encoding=function(k){var q=function(F){if(!F)return"utf8";for(var $;;)switch(F){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return F;default:if($)return;F=(""+F).toLowerCase(),$=!0}}(k);if(typeof q!="string"&&(ae.isEncoding===T||!T(k)))throw new Error("Unknown encoding: "+k);return q||k}(d),this.encoding){case"utf16le":this.text=p,this.end=u,I=4;break;case"utf8":this.fillLast=y,I=4;break;case"base64":this.text=_,this.end=m,I=3;break;default:return this.write=n,void(this.end=c)}this.lastNeed=0,this.lastTotal=0,this.lastChar=ae.allocUnsafe(I)}function e(d){return d<=127?0:d>>5==6?2:d>>4==14?3:d>>3==30?4:d>>6==2?-1:-2}function y(d){var I=this.lastTotal-this.lastNeed,k=function(q,F,$){if((192&F[0])!=128)return q.lastNeed=0,"�";if(q.lastNeed>1&&F.length>1){if((192&F[1])!=128)return q.lastNeed=1,"�";if(q.lastNeed>2&&F.length>2&&(192&F[2])!=128)return q.lastNeed=2,"�"}}(this,d);return k!==void 0?k:this.lastNeed<=d.length?(d.copy(this.lastChar,I,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(d.copy(this.lastChar,I,0,d.length),void(this.lastNeed-=d.length))}function p(d,I){if((d.length-I)%2==0){var k=d.toString("utf16le",I);if(k){var q=k.charCodeAt(k.length-1);if(q>=55296&&q<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=d[d.length-2],this.lastChar[1]=d[d.length-1],k.slice(0,-1)}return k}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=d[d.length-1],d.toString("utf16le",I,d.length-1)}function u(d){var I=d&&d.length?this.write(d):"";if(this.lastNeed){var k=this.lastTotal-this.lastNeed;return I+this.lastChar.toString("utf16le",0,k)}return I}function _(d,I){var k=(d.length-I)%3;return k===0?d.toString("base64",I):(this.lastNeed=3-k,this.lastTotal=3,k===1?this.lastChar[0]=d[d.length-1]:(this.lastChar[0]=d[d.length-2],this.lastChar[1]=d[d.length-1]),d.toString("base64",I,d.length-k))}function m(d){var I=d&&d.length?this.write(d):"";return this.lastNeed?I+this.lastChar.toString("base64",0,3-this.lastNeed):I}function n(d){return d.toString(this.encoding)}function c(d){return d&&d.length?this.write(d):""}we.s=t,t.prototype.write=function(d){if(d.length===0)return"";var I,k;if(this.lastNeed){if((I=this.fillLast(d))===void 0)return"";k=this.lastNeed,this.lastNeed=0}else k=0;return k<d.length?I?I+this.text(d,k):this.text(d,k):I||""},t.prototype.end=function(d){var I=d&&d.length?this.write(d):"";return this.lastNeed?I+"�":I},t.prototype.text=function(d,I){var k=function(F,$,O){var K=$.length-1;if(K<O)return 0;var re=e($[K]);return re>=0?(re>0&&(F.lastNeed=re-1),re):--K<O||re===-2?0:(re=e($[K]))>=0?(re>0&&(F.lastNeed=re-2),re):--K<O||re===-2?0:(re=e($[K]))>=0?(re>0&&(re===2?re=0:F.lastNeed=re-3),re):0}(this,d,I);if(!this.lastNeed)return d.toString("utf8",I);this.lastTotal=k;var q=d.length-(k-this.lastNeed);return d.copy(this.lastChar,0,q),d.toString("utf8",I,q)},t.prototype.fillLast=function(d){if(this.lastNeed<=d.length)return d.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);d.copy(this.lastChar,this.lastTotal-this.lastNeed,0,d.length),this.lastNeed-=d.length}},1067:function(at,we,P){var ae;(function(T,t){var e="function",y="undefined",p="object",u="string",_="major",m="model",n="name",c="type",d="vendor",I="version",k="architecture",q="console",F="mobile",$="tablet",O="smarttv",K="wearable",re="embedded",H="Amazon",ee="Apple",ue="ASUS",_e="BlackBerry",X="Browser",Ae="Chrome",Le="Firefox",Ye="Google",ye="Huawei",Pe="LG",He="Microsoft",tt="Motorola",ve="Opera",Oe="Samsung",_t="Sharp",dt="Sony",ke="Xiaomi",Je="Zebra",ge="Facebook",me="Chromium OS",Ue="Mac OS",f=function(xe){for(var Qe={},mt=0;mt<xe.length;mt++)Qe[xe[mt].toUpperCase()]=xe[mt];return Qe},o=function(xe,Qe){return typeof xe===u&&v(Qe).indexOf(v(xe))!==-1},v=function(xe){return xe.toLowerCase()},S=function(xe,Qe){if(typeof xe===u)return xe=xe.replace(/^\s\s*/,""),typeof Qe===y?xe:xe.substring(0,500)},W=function(xe,Qe){for(var mt,it,Ut,It,Ft,Pt,tn=0;tn<Qe.length&&!Ft;){var dn=Qe[tn],An=Qe[tn+1];for(mt=it=0;mt<dn.length&&!Ft&&dn[mt];)if(Ft=dn[mt++].exec(xe))for(Ut=0;Ut<An.length;Ut++)Pt=Ft[++it],typeof(It=An[Ut])===p&&It.length>0?It.length===2?typeof It[1]==e?this[It[0]]=It[1].call(this,Pt):this[It[0]]=It[1]:It.length===3?typeof It[1]!==e||It[1].exec&&It[1].test?this[It[0]]=Pt?Pt.replace(It[1],It[2]):t:this[It[0]]=Pt?It[1].call(this,Pt,It[2]):t:It.length===4&&(this[It[0]]=Pt?It[3].call(this,Pt.replace(It[1],It[2])):t):this[It]=Pt||t;tn+=2}},V=function(xe,Qe){for(var mt in Qe)if(typeof Qe[mt]===p&&Qe[mt].length>0){for(var it=0;it<Qe[mt].length;it++)if(o(Qe[mt][it],xe))return mt==="?"?t:mt}else if(o(Qe[mt],xe))return mt==="?"?t:mt;return xe},Se={ME:"4.90","NT 3.11":"NT3.51","NT 4.0":"NT4.0",2e3:"NT 5.0",XP:["NT 5.1","NT 5.2"],Vista:"NT 6.0",7:"NT 6.1",8:"NT 6.2",8.1:"NT 6.3",10:["NT 6.4","NT 10.0"],RT:"ARM"},ze={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[I,[n,"Chrome"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[I,[n,"Edge"]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[n,I],[/opios[\/ ]+([\w\.]+)/i],[I,[n,ve+" Mini"]],[/\bopr\/([\w\.]+)/i],[I,[n,ve]],[/\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\/ ]?([\w\.]+)/i],[I,[n,"Baidu"]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer)[\/ ]?([\w\.]*)/i,/(avant|iemobile|slim)\s?(?:browser)?[\/ ]?([\w\.]*)/i,/(?:ms|\()(ie) ([\w\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|qq|duckduckgo)\/([-\w\.]+)/i,/(heytap|ovi)browser\/([\d\.]+)/i,/(weibo)__([\d\.]+)/i],[n,I],[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],[I,[n,"UC"+X]],[/microm.+\bqbcore\/([\w\.]+)/i,/\bqbcore\/([\w\.]+).+microm/i,/micromessenger\/([\w\.]+)/i],[I,[n,"WeChat"]],[/konqueror\/([\w\.]+)/i],[I,[n,"Konqueror"]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[I,[n,"IE"]],[/ya(?:search)?browser\/([\w\.]+)/i],[I,[n,"Yandex"]],[/slbrowser\/([\w\.]+)/i],[I,[n,"Smart Lenovo "+X]],[/(avast|avg)\/([\w\.]+)/i],[[n,/(.+)/,"$1 Secure "+X],I],[/\bfocus\/([\w\.]+)/i],[I,[n,Le+" Focus"]],[/\bopt\/([\w\.]+)/i],[I,[n,ve+" Touch"]],[/coc_coc\w+\/([\w\.]+)/i],[I,[n,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[I,[n,"Dolphin"]],[/coast\/([\w\.]+)/i],[I,[n,ve+" Coast"]],[/miuibrowser\/([\w\.]+)/i],[I,[n,"MIUI "+X]],[/fxios\/([-\w\.]+)/i],[I,[n,Le]],[/\bqihu|(qi?ho?o?|360)browser/i],[[n,"360 "+X]],[/(oculus|sailfish|huawei|vivo)browser\/([\w\.]+)/i],[[n,/(.+)/,"$1 "+X],I],[/samsungbrowser\/([\w\.]+)/i],[I,[n,Oe+" Internet"]],[/(comodo_dragon)\/([\w\.]+)/i],[[n,/_/g," "],I],[/metasr[\/ ]?([\d\.]+)/i],[I,[n,"Sogou Explorer"]],[/(sogou)mo\w+\/([\d\.]+)/i],[[n,"Sogou Mobile"],I],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|2345Explorer)[\/ ]?([\w\.]+)/i],[n,I],[/(lbbrowser)/i,/\[(linkedin)app\]/i],[n],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[n,ge],I],[/(Klarna)\/([\w\.]+)/i,/(kakao(?:talk|story))[\/ ]([\w\.]+)/i,/(naver)\(.*?(\d+\.[\w\.]+).*\)/i,/safari (line)\/([\w\.]+)/i,/\b(line)\/([\w\.]+)\/iab/i,/(alipay)client\/([\w\.]+)/i,/(chromium|instagram|snapchat)[\/ ]([-\w\.]+)/i],[n,I],[/\bgsa\/([\w\.]+) .*safari\//i],[I,[n,"GSA"]],[/musical_ly(?:.+app_?version\/|_)([\w\.]+)/i],[I,[n,"TikTok"]],[/headlesschrome(?:\/([\w\.]+)| )/i],[I,[n,Ae+" Headless"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[n,Ae+" WebView"],I],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[I,[n,"Android "+X]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[n,I],[/version\/([\w\.\,]+) .*mobile\/\w+ (safari)/i],[I,[n,"Mobile Safari"]],[/version\/([\w(\.|\,)]+) .*(mobile ?safari|safari)/i],[I,n],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[n,[I,V,{"1.0":"/8",1.2:"/1",1.3:"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"}]],[/(webkit|khtml)\/([\w\.]+)/i],[n,I],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[n,"Netscape"],I],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[I,[n,Le+" Reality"]],[/ekiohf.+(flow)\/([\w\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\/ ]?([\w\.\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,/(firefox)\/([\w\.]+)/i,/(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/(links) \(([\w\.]+)/i,/panasonic;(viera)/i],[n,I],[/(cobalt)\/([\w\.]+)/i],[n,[I,/master.|lts./,""]]],cpu:[[/(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\)]/i],[[k,"amd64"]],[/(ia32(?=;))/i],[[k,v]],[/((?:i[346]|x)86)[;\)]/i],[[k,"ia32"]],[/\b(aarch64|arm(v?8e?l?|_?64))\b/i],[[k,"arm64"]],[/\b(arm(?:v[67])?ht?n?[fl]p?)\b/i],[[k,"armhf"]],[/windows (ce|mobile); ppc;/i],[[k,"arm"]],[/((?:ppc|powerpc)(?:64)?)(?: mac|;|\))/i],[[k,/ower/,"",v]],[/(sun4\w)[;\)]/i],[[k,"sparc"]],[/((?:avr32|ia64(?=;))|68k(?=\))|\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\b|pa-risc)/i],[[k,v]]],device:[[/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i],[m,[d,Oe],[c,$]],[/\b((?:s[cgp]h|gt|sm)-\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,/samsung[- ]([-\w]+)/i,/sec-(sgh\w+)/i],[m,[d,Oe],[c,F]],[/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i],[m,[d,ee],[c,F]],[/\((ipad);[-\w\),; ]+apple/i,/applecoremedia\/[\w\.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[m,[d,ee],[c,$]],[/(macintosh);/i],[m,[d,ee]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[m,[d,_t],[c,F]],[/\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\d{2})\b(?!.+d\/s)/i],[m,[d,ye],[c,$]],[/(?:huawei|honor)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i],[m,[d,ye],[c,F]],[/\b(poco[\w ]+|m2\d{3}j\d\d[a-z]{2})(?: bui|\))/i,/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,/oid[^\)]+; (m?[12][0-389][01]\w{3,6}[c-y])( bui|; wv|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\))/i],[[m,/_/g," "],[d,ke],[c,F]],[/oid[^\)]+; (2\d{4}(283|rpbf)[cgl])( bui|\))/i,/\b(mi[-_ ]?(?:pad)(?:[\w_ ]+))(?: bui|\))/i],[[m,/_/g," "],[d,ke],[c,$]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[m,[d,"OPPO"],[c,F]],[/vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[m,[d,"Vivo"],[c,F]],[/\b(rmx[1-3]\d{3})(?: bui|;|\))/i],[m,[d,"Realme"],[c,F]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ](\w*)/i,/((?:moto[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i],[m,[d,tt],[c,F]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[m,[d,tt],[c,$]],[/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[m,[d,Pe],[c,$]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+((?!browser|netcast|android tv)\w+)/i,/\blg-?([\d\w]+) bui/i],[m,[d,Pe],[c,F]],[/(ideatab[-\w ]+)/i,/lenovo ?(s[56]000[-\w]+|tab(?:[\w ]+)|yt[-\d\w]{6}|tb[-\d\w]{6})/i],[m,[d,"Lenovo"],[c,$]],[/(?:maemo|nokia).*(n900|lumia \d+)/i,/nokia[-_ ]?([-\w\.]*)/i],[[m,/_/g," "],[d,"Nokia"],[c,F]],[/(pixel c)\b/i],[m,[d,Ye],[c,$]],[/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i],[m,[d,Ye],[c,F]],[/droid.+ (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i],[m,[d,dt],[c,F]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[m,"Xperia Tablet"],[d,dt],[c,$]],[/ (kb2005|in20[12]5|be20[12][59])\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[m,[d,"OnePlus"],[c,F]],[/(alexa)webm/i,/(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[m,[d,H],[c,$]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[m,/(.+)/g,"Fire Phone $1"],[d,H],[c,F]],[/(playbook);[-\w\),; ]+(rim)/i],[m,d,[c,$]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10; (\w+)/i],[m,[d,_e],[c,F]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[m,[d,ue],[c,$]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[m,[d,ue],[c,F]],[/(nexus 9)/i],[m,[d,"HTC"],[c,$]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i],[d,[m,/_/g," "],[c,F]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[m,[d,"Acer"],[c,$]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[m,[d,"Meizu"],[c,F]],[/; ((?:power )?armor(?:[\w ]{0,8}))(?: bui|\))/i],[m,[d,"Ulefone"],[c,F]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron|infinix|tecno)[-_ ]?([-\w]*)/i,/(hp) ([\w ]+\w)/i,/(asus)-?(\w+)/i,/(microsoft); (lumia[\w ]+)/i,/(lenovo)[-_ ]?([-\w]+)/i,/(jolla)/i,/(oppo) ?([\w ]+) bui/i],[d,m,[c,F]],[/(kobo)\s(ereader|touch)/i,/(archos) (gamepad2?)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i,/(nook)[\w ]+build\/(\w+)/i,/(dell) (strea[kpr\d ]*[\dko])/i,/(le[- ]+pan)[- ]+(\w{1,9}) bui/i,/(trinity)[- ]*(t\d{3}) bui/i,/(gigaset)[- ]+(q\w{1,9}) bui/i,/(vodafone) ([\w ]+)(?:\)| bui)/i],[d,m,[c,$]],[/(surface duo)/i],[m,[d,He],[c,$]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[m,[d,"Fairphone"],[c,F]],[/(u304aa)/i],[m,[d,"AT&T"],[c,F]],[/\bsie-(\w*)/i],[m,[d,"Siemens"],[c,F]],[/\b(rct\w+) b/i],[m,[d,"RCA"],[c,$]],[/\b(venue[\d ]{2,7}) b/i],[m,[d,"Dell"],[c,$]],[/\b(q(?:mv|ta)\w+) b/i],[m,[d,"Verizon"],[c,$]],[/\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i],[m,[d,"Barnes & Noble"],[c,$]],[/\b(tm\d{3}\w+) b/i],[m,[d,"NuVision"],[c,$]],[/\b(k88) b/i],[m,[d,"ZTE"],[c,$]],[/\b(nx\d{3}j) b/i],[m,[d,"ZTE"],[c,F]],[/\b(gen\d{3}) b.+49h/i],[m,[d,"Swiss"],[c,F]],[/\b(zur\d{3}) b/i],[m,[d,"Swiss"],[c,$]],[/\b((zeki)?tb.*\b) b/i],[m,[d,"Zeki"],[c,$]],[/\b([yr]\d{2}) b/i,/\b(dragon[- ]+touch |dt)(\w{5}) b/i],[[d,"Dragon Touch"],m,[c,$]],[/\b(ns-?\w{0,9}) b/i],[m,[d,"Insignia"],[c,$]],[/\b((nxa|next)-?\w{0,9}) b/i],[m,[d,"NextBook"],[c,$]],[/\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i],[[d,"Voice"],m,[c,F]],[/\b(lvtel\-)?(v1[12]) b/i],[[d,"LvTel"],m,[c,F]],[/\b(ph-1) /i],[m,[d,"Essential"],[c,F]],[/\b(v(100md|700na|7011|917g).*\b) b/i],[m,[d,"Envizen"],[c,$]],[/\b(trio[-\w\. ]+) b/i],[m,[d,"MachSpeed"],[c,$]],[/\btu_(1491) b/i],[m,[d,"Rotor"],[c,$]],[/(shield[\w ]+) b/i],[m,[d,"Nvidia"],[c,$]],[/(sprint) (\w+)/i],[d,m,[c,F]],[/(kin\.[onetw]{3})/i],[[m,/\./g," "],[d,He],[c,F]],[/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[m,[d,Je],[c,$]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[m,[d,Je],[c,F]],[/smart-tv.+(samsung)/i],[d,[c,O]],[/hbbtv.+maple;(\d+)/i],[[m,/^/,"SmartTV"],[d,Oe],[c,O]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[d,Pe],[c,O]],[/(apple) ?tv/i],[d,[m,ee+" TV"],[c,O]],[/crkey/i],[[m,Ae+"cast"],[d,Ye],[c,O]],[/droid.+aft(\w+)( bui|\))/i],[m,[d,H],[c,O]],[/\(dtv[\);].+(aquos)/i,/(aquos-tv[\w ]+)\)/i],[m,[d,_t],[c,O]],[/(bravia[\w ]+)( bui|\))/i],[m,[d,dt],[c,O]],[/(mitv-\w{5}) bui/i],[m,[d,ke],[c,O]],[/Hbbtv.*(technisat) (.*);/i],[d,m,[c,O]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i],[[d,S],[m,S],[c,O]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i],[[c,O]],[/(ouya)/i,/(nintendo) ([wids3utch]+)/i],[d,m,[c,q]],[/droid.+; (shield) bui/i],[m,[d,"Nvidia"],[c,q]],[/(playstation [345portablevi]+)/i],[m,[d,dt],[c,q]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[m,[d,He],[c,q]],[/((pebble))app/i],[d,m,[c,K]],[/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i],[m,[d,ee],[c,K]],[/droid.+; (glass) \d/i],[m,[d,Ye],[c,K]],[/droid.+; (wt63?0{2,3})\)/i],[m,[d,Je],[c,K]],[/(quest( 2| pro)?)/i],[m,[d,ge],[c,K]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[d,[c,re]],[/(aeobc)\b/i],[m,[d,H],[c,re]],[/droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew).+? mobile safari/i],[m,[c,F]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i],[m,[c,$]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[c,$]],[/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i],[[c,F]],[/(android[-\w\. ]{0,9});.+buil/i],[m,[d,"Generic"]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[I,[n,"EdgeHTML"]],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[I,[n,"Blink"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\/([\w\.]+)/i,/ekioh(flow)\/([\w\.]+)/i,/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,/(icab)[\/ ]([23]\.[\d\.]+)/i,/\b(libweb)/i],[n,I],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[I,n]],os:[[/microsoft (windows) (vista|xp)/i],[n,I],[/(windows (?:phone(?: os)?|mobile))[\/ ]?([\d\.\w ]*)/i],[n,[I,V,Se]],[/windows nt 6\.2; (arm)/i,/windows[\/ ]?([ntce\d\. ]+\w)(?!.+xbox)/i,/(?:win(?=3|9|n)|win 9x )([nt\d\.]+)/i],[[I,V,Se],[n,"Windows"]],[/ip[honead]{2,4}\b(?:.*os ([\w]+) like mac|; opera)/i,/(?:ios;fbsv\/|iphone.+ios[\/ ])([\d\.]+)/i,/cfnetwork\/.+darwin/i],[[I,/_/g,"."],[n,"iOS"]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+haiku)/i],[[n,Ue],[I,/_/g,"."]],[/droid ([\w\.]+)\b.+(android[- ]x86|harmonyos)/i],[I,n],[/(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\/ ]?([\w\.]*)/i,/(blackberry)\w*\/([\w\.]*)/i,/(tizen|kaios)[\/ ]([\w\.]+)/i,/\((series40);/i],[n,I],[/\(bb(10);/i],[I,[n,_e]],[/(?:symbian ?os|symbos|s60(?=;)|series60)[-\/ ]?([\w\.]*)/i],[I,[n,"Symbian"]],[/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i],[I,[n,Le+" OS"]],[/web0s;.+rt(tv)/i,/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i],[I,[n,"webOS"]],[/watch(?: ?os[,\/]|\d,\d\/)([\d\.]+)/i],[I,[n,"watchOS"]],[/crkey\/([\d\.]+)/i],[I,[n,Ae+"cast"]],[/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i],[[n,me],I],[/panasonic;(viera)/i,/(netrange)mmh/i,/(nettv)\/(\d+\.[\w\.]+)/i,/(nintendo|playstation) ([wids345portablevuch]+)/i,/(xbox); +xbox ([^\);]+)/i,/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,/(mint)[\/\(\) ]?(\w*)/i,/(mageia|vectorlinux)[; ]/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,/(hurd|linux) ?([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) (\w+)/i],[n,I],[/(sunos) ?([\w\.\d]*)/i],[[n,"Solaris"],I],[/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/(aix) ((\d)(?=\.|\)| )[\w\.])*/i,/\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i,/(unix) ?([\w\.]*)/i],[n,I]]},Me=function(xe,Qe){if(typeof xe===p&&(Qe=xe,xe=t),!(this instanceof Me))return new Me(xe,Qe).getResult();var mt=typeof T!==y&&T.navigator?T.navigator:t,it=xe||(mt&&mt.userAgent?mt.userAgent:""),Ut=mt&&mt.userAgentData?mt.userAgentData:t,It=Qe?function(Pt,tn){var dn={};for(var An in Pt)tn[An]&&tn[An].length%2==0?dn[An]=tn[An].concat(Pt[An]):dn[An]=Pt[An];return dn}(ze,Qe):ze,Ft=mt&&mt.userAgent==it;return this.getBrowser=function(){var Pt,tn={};return tn[n]=t,tn[I]=t,W.call(tn,it,It.browser),tn[_]=typeof(Pt=tn[I])===u?Pt.replace(/[^\d\.]/g,"").split(".")[0]:t,Ft&&mt&&mt.brave&&typeof mt.brave.isBrave==e&&(tn[n]="Brave"),tn},this.getCPU=function(){var Pt={};return Pt[k]=t,W.call(Pt,it,It.cpu),Pt},this.getDevice=function(){var Pt={};return Pt[d]=t,Pt[m]=t,Pt[c]=t,W.call(Pt,it,It.device),Ft&&!Pt[c]&&Ut&&Ut.mobile&&(Pt[c]=F),Ft&&Pt[m]=="Macintosh"&&mt&&typeof mt.standalone!==y&&mt.maxTouchPoints&&mt.maxTouchPoints>2&&(Pt[m]="iPad",Pt[c]=$),Pt},this.getEngine=function(){var Pt={};return Pt[n]=t,Pt[I]=t,W.call(Pt,it,It.engine),Pt},this.getOS=function(){var Pt={};return Pt[n]=t,Pt[I]=t,W.call(Pt,it,It.os),Ft&&!Pt[n]&&Ut&&Ut.platform!="Unknown"&&(Pt[n]=Ut.platform.replace(/chrome os/i,me).replace(/macos/i,Ue)),Pt},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return it},this.setUA=function(Pt){return it=typeof Pt===u&&Pt.length>500?S(Pt,500):Pt,this},this.setUA(it),this};Me.VERSION="1.0.37",Me.BROWSER=f([n,I,_]),Me.CPU=f([k]),Me.DEVICE=f([m,d,c,q,F,O,$,K,re]),Me.ENGINE=Me.OS=f([n,I]),typeof we!==y?(at.exports&&(we=at.exports=Me),we.UAParser=Me):P.amdO?(ae=(function(){return Me}).call(we,P,we,at))===t||(at.exports=ae):typeof T!==y&&(T.UAParser=Me);var De=typeof T!==y&&(T.jQuery||T.Zepto);if(De&&!De.ua){var be=new Me;De.ua=be.getResult(),De.ua.get=function(){return be.getUA()},De.ua.set=function(xe){be.setUA(xe);var Qe=be.getResult();for(var mt in Qe)De.ua[mt]=Qe[mt]}}})(typeof window=="object"?window:this)},7839:function(at,we,P){function ae(T){try{if(!P.g.localStorage)return!1}catch{return!1}var t=P.g.localStorage[T];return t!=null&&String(t).toLowerCase()==="true"}at.exports=function(T,t){if(ae("noDeprecation"))return T;var e=!1;return function(){if(!e){if(ae("throwDeprecation"))throw new Error(t);ae("traceDeprecation")?console.trace(t):console.warn(t),e=!0}return T.apply(this,arguments)}}},9862:function(){},964:function(){},3165:function(at){at.exports=JSON.parse('["mni-beng-in","mni-mtei-in","sat-deva-in","sat-olck-in","shi-latn-ma","shi-tfng-ma","vai-latn-lr","vai-vaii-lr","yue-hans-cn","yue-hant-hk","az-arab-ir","az-cyrl-az","az-latn-az","bm-nkoo-ml","bs-cyrl-ba","bs-latn-ba","en-dsrt-us","ff-adlm-gn","ff-latn-sn","ha-arab-ng","hi-latn-in","iu-latn-ca","ks-arab-in","ks-deva-in","mn-mong-cn","ms-arab-my","pa-arab-pk","pa-guru-in","sd-arab-pk","sd-deva-in","sr-cyrl-rs","sr-latn-rs","su-latn-id","uz-arab-af","uz-cyrl-uz","uz-latn-uz","zh-hans-cn","zh-hant-tw","mni-beng","sat-olck","shi-tfng","vai-vaii","yue-hant","az-latn","bs-latn","ff-latn","jbo-001","ks-arab","pa-guru","prg-001","sd-arab","sr-cyrl","su-latn","uz-latn","zh-hans","agq-cm","ar-001","arn-cl","asa-tz","ast-es","bas-cm","bem-zm","bez-tz","bgn-pk","blt-vn","brx-in","bss-cm","byn-er","cad-us","cch-ng","ccp-bd","ceb-ph","cgg-ug","chr-us","cic-us","ckb-iq","dav-ke","dje-ne","doi-in","dsb-de","dua-cm","dyo-sn","ebu-ke","eo-001","ewo-cm","fil-ph","fur-it","gaa-gh","gez-et","gsw-ch","guz-ke","haw-us","hsb-de","ia-001","ife-tg","io-001","jgo-cm","jmc-tz","kab-dz","kaj-ng","kam-ke","kcg-ng","kde-tz","kea-cv","ken-cm","khq-ml","kkj-cm","kln-ke","kok-in","kpe-lr","ksb-tz","ksf-cm","ksh-de","lag-tz","lkt-us","lrc-ir","luo-ke","luy-ke","mai-in","mas-ke","mer-ke","mfe-mu","mgh-mz","mgo-cm","moh-ca","mua-cm","mus-us","myv-ru","mzn-ir","naq-na","nds-de","nmg-cm","nnh-cm","nqo-gn","nso-za","nus-ss","nyn-ug","osa-us","pcm-ng","quc-gt","rof-tz","rwk-tz","sah-ru","saq-ke","sbp-tz","scn-it","sdh-ir","seh-mz","ses-ml","sid-et","sma-se","smj-se","smn-fi","sms-fi","ssy-er","syr-iq","szl-pl","teo-ug","tig-er","trv-tw","trw-pk","twq-ne","tzm-ma","vo-001","vun-tz","wae-ch","wal-et","wbp-au","xog-ug","yav-cm","yi-001","zgh-ma","aa-et","af-za","ak-gh","am-et","an-es","as-in","ba-ru","be-by","bg-bg","bm-ml","bn-bd","bo-cn","br-fr","ca-es","ce-ru","co-fr","cs-cz","cu-ru","cv-ru","cy-gb","da-dk","de-de","dv-mv","dz-bt","ee-gh","el-gr","en-us","es-es","et-ee","eu-es","fa-ir","fi-fi","fo-fo","fr-fr","fy-nl","ga-ie","gd-gb","gl-es","gn-py","gu-in","gv-im","ha-ng","he-il","hi-in","hr-hr","hu-hu","hy-am","id-id","ig-ng","ii-cn","is-is","it-it","iu-ca","ja-jp","jv-id","ka-ge","ki-ke","kk-kz","kl-gl","km-kh","kn-in","ko-kr","ku-tr","kw-gb","ky-kg","lb-lu","lg-ug","ln-cd","lo-la","lt-lt","lu-cd","lv-lv","mg-mg","mi-nz","mk-mk","ml-in","mn-mn","mr-in","ms-my","mt-mt","my-mm","nb-no","nd-zw","ne-np","nl-nl","nn-no","nr-za","nv-us","ny-mw","oc-fr","om-et","or-in","os-ge","pl-pl","ps-af","pt-br","qu-pe","rm-ch","rn-bi","ro-ro","ru-ru","rw-rw","sa-in","sc-it","se-no","sg-cf","si-lk","sk-sk","sl-si","sn-zw","so-so","sq-al","ss-za","st-za","sv-se","sw-tz","ta-in","te-in","tg-tj","th-th","ti-et","tk-tm","tn-za","to-to","tr-tr","ts-za","tt-ru","ug-cn","uk-ua","ur-pk","ve-za","vi-vn","wa-be","wo-sn","xh-za","yo-ng","zu-za"]')},5813:function(at){at.exports=JSON.parse('[{"from":{"field":"script","value":"qaai"},"to":{"field":"script","value":"zinh"}},{"from":{"field":"region","value":"bu"},"to":{"field":"region","value":"mm"}},{"from":{"field":"region","value":"ct"},"to":{"field":"region","value":"ki"}},{"from":{"field":"region","value":"dd"},"to":{"field":"region","value":"de"}},{"from":{"field":"region","value":"dy"},"to":{"field":"region","value":"bj"}},{"from":{"field":"region","value":"fx"},"to":{"field":"region","value":"fr"}},{"from":{"field":"region","value":"hv"},"to":{"field":"region","value":"bf"}},{"from":{"field":"region","value":"jt"},"to":{"field":"region","value":"um"}},{"from":{"field":"region","value":"mi"},"to":{"field":"region","value":"um"}},{"from":{"field":"region","value":"nh"},"to":{"field":"region","value":"vu"}},{"from":{"field":"region","value":"nq"},"to":{"field":"region","value":"aq"}},{"from":{"field":"region","value":"pu"},"to":{"field":"region","value":"um"}},{"from":{"field":"region","value":"pz"},"to":{"field":"region","value":"pa"}},{"from":{"field":"region","value":"qu"},"to":{"field":"region","value":"eu"}},{"from":{"field":"region","value":"rh"},"to":{"field":"region","value":"zw"}},{"from":{"field":"region","value":"tp"},"to":{"field":"region","value":"tl"}},{"from":{"field":"region","value":"uk"},"to":{"field":"region","value":"gb"}},{"from":{"field":"region","value":"vd"},"to":{"field":"region","value":"vn"}},{"from":{"field":"region","value":"wk"},"to":{"field":"region","value":"um"}},{"from":{"field":"region","value":"yd"},"to":{"field":"region","value":"ye"}},{"from":{"field":"region","value":"zr"},"to":{"field":"region","value":"cd"}},{"from":{"field":"region","value":"230"},"to":{"field":"region","value":"et"}},{"from":{"field":"region","value":"280"},"to":{"field":"region","value":"de"}},{"from":{"field":"region","value":"736"},"to":{"field":"region","value":"sd"}},{"from":{"field":"region","value":"886"},"to":{"field":"region","value":"ye"}},{"from":{"field":"region","value":"958"},"to":{"field":"region","value":"aa"}},{"from":{"field":"region","value":"020"},"to":{"field":"region","value":"ad"}},{"from":{"field":"region","value":"784"},"to":{"field":"region","value":"ae"}},{"from":{"field":"region","value":"004"},"to":{"field":"region","value":"af"}},{"from":{"field":"region","value":"028"},"to":{"field":"region","value":"ag"}},{"from":{"field":"region","value":"660"},"to":{"field":"region","value":"ai"}},{"from":{"field":"region","value":"008"},"to":{"field":"region","value":"al"}},{"from":{"field":"region","value":"051"},"to":{"field":"region","value":"am"}},{"from":{"field":"region","value":"024"},"to":{"field":"region","value":"ao"}},{"from":{"field":"region","value":"010"},"to":{"field":"region","value":"aq"}},{"from":{"field":"region","value":"032"},"to":{"field":"region","value":"ar"}},{"from":{"field":"region","value":"016"},"to":{"field":"region","value":"as"}},{"from":{"field":"region","value":"040"},"to":{"field":"region","value":"at"}},{"from":{"field":"region","value":"036"},"to":{"field":"region","value":"au"}},{"from":{"field":"region","value":"533"},"to":{"field":"region","value":"aw"}},{"from":{"field":"region","value":"248"},"to":{"field":"region","value":"ax"}},{"from":{"field":"region","value":"031"},"to":{"field":"region","value":"az"}},{"from":{"field":"region","value":"070"},"to":{"field":"region","value":"ba"}},{"from":{"field":"region","value":"052"},"to":{"field":"region","value":"bb"}},{"from":{"field":"region","value":"050"},"to":{"field":"region","value":"bd"}},{"from":{"field":"region","value":"056"},"to":{"field":"region","value":"be"}},{"from":{"field":"region","value":"854"},"to":{"field":"region","value":"bf"}},{"from":{"field":"region","value":"100"},"to":{"field":"region","value":"bg"}},{"from":{"field":"region","value":"048"},"to":{"field":"region","value":"bh"}},{"from":{"field":"region","value":"108"},"to":{"field":"region","value":"bi"}},{"from":{"field":"region","value":"204"},"to":{"field":"region","value":"bj"}},{"from":{"field":"region","value":"652"},"to":{"field":"region","value":"bl"}},{"from":{"field":"region","value":"060"},"to":{"field":"region","value":"bm"}},{"from":{"field":"region","value":"096"},"to":{"field":"region","value":"bn"}},{"from":{"field":"region","value":"068"},"to":{"field":"region","value":"bo"}},{"from":{"field":"region","value":"535"},"to":{"field":"region","value":"bq"}},{"from":{"field":"region","value":"076"},"to":{"field":"region","value":"br"}},{"from":{"field":"region","value":"044"},"to":{"field":"region","value":"bs"}},{"from":{"field":"region","value":"064"},"to":{"field":"region","value":"bt"}},{"from":{"field":"region","value":"104"},"to":{"field":"region","value":"mm"}},{"from":{"field":"region","value":"074"},"to":{"field":"region","value":"bv"}},{"from":{"field":"region","value":"072"},"to":{"field":"region","value":"bw"}},{"from":{"field":"region","value":"112"},"to":{"field":"region","value":"by"}},{"from":{"field":"region","value":"084"},"to":{"field":"region","value":"bz"}},{"from":{"field":"region","value":"124"},"to":{"field":"region","value":"ca"}},{"from":{"field":"region","value":"166"},"to":{"field":"region","value":"cc"}},{"from":{"field":"region","value":"180"},"to":{"field":"region","value":"cd"}},{"from":{"field":"region","value":"140"},"to":{"field":"region","value":"cf"}},{"from":{"field":"region","value":"178"},"to":{"field":"region","value":"cg"}},{"from":{"field":"region","value":"756"},"to":{"field":"region","value":"ch"}},{"from":{"field":"region","value":"384"},"to":{"field":"region","value":"ci"}},{"from":{"field":"region","value":"184"},"to":{"field":"region","value":"ck"}},{"from":{"field":"region","value":"152"},"to":{"field":"region","value":"cl"}},{"from":{"field":"region","value":"120"},"to":{"field":"region","value":"cm"}},{"from":{"field":"region","value":"156"},"to":{"field":"region","value":"cn"}},{"from":{"field":"region","value":"170"},"to":{"field":"region","value":"co"}},{"from":{"field":"region","value":"188"},"to":{"field":"region","value":"cr"}},{"from":{"field":"region","value":"192"},"to":{"field":"region","value":"cu"}},{"from":{"field":"region","value":"132"},"to":{"field":"region","value":"cv"}},{"from":{"field":"region","value":"531"},"to":{"field":"region","value":"cw"}},{"from":{"field":"region","value":"162"},"to":{"field":"region","value":"cx"}},{"from":{"field":"region","value":"196"},"to":{"field":"region","value":"cy"}},{"from":{"field":"region","value":"203"},"to":{"field":"region","value":"cz"}},{"from":{"field":"region","value":"278"},"to":{"field":"region","value":"de"}},{"from":{"field":"region","value":"276"},"to":{"field":"region","value":"de"}},{"from":{"field":"region","value":"262"},"to":{"field":"region","value":"dj"}},{"from":{"field":"region","value":"208"},"to":{"field":"region","value":"dk"}},{"from":{"field":"region","value":"212"},"to":{"field":"region","value":"dm"}},{"from":{"field":"region","value":"214"},"to":{"field":"region","value":"do"}},{"from":{"field":"region","value":"012"},"to":{"field":"region","value":"dz"}},{"from":{"field":"region","value":"218"},"to":{"field":"region","value":"ec"}},{"from":{"field":"region","value":"233"},"to":{"field":"region","value":"ee"}},{"from":{"field":"region","value":"818"},"to":{"field":"region","value":"eg"}},{"from":{"field":"region","value":"732"},"to":{"field":"region","value":"eh"}},{"from":{"field":"region","value":"232"},"to":{"field":"region","value":"er"}},{"from":{"field":"region","value":"724"},"to":{"field":"region","value":"es"}},{"from":{"field":"region","value":"231"},"to":{"field":"region","value":"et"}},{"from":{"field":"region","value":"246"},"to":{"field":"region","value":"fi"}},{"from":{"field":"region","value":"242"},"to":{"field":"region","value":"fj"}},{"from":{"field":"region","value":"238"},"to":{"field":"region","value":"fk"}},{"from":{"field":"region","value":"583"},"to":{"field":"region","value":"fm"}},{"from":{"field":"region","value":"234"},"to":{"field":"region","value":"fo"}},{"from":{"field":"region","value":"250"},"to":{"field":"region","value":"fr"}},{"from":{"field":"region","value":"249"},"to":{"field":"region","value":"fr"}},{"from":{"field":"region","value":"266"},"to":{"field":"region","value":"ga"}},{"from":{"field":"region","value":"826"},"to":{"field":"region","value":"gb"}},{"from":{"field":"region","value":"308"},"to":{"field":"region","value":"gd"}},{"from":{"field":"region","value":"268"},"to":{"field":"region","value":"ge"}},{"from":{"field":"region","value":"254"},"to":{"field":"region","value":"gf"}},{"from":{"field":"region","value":"831"},"to":{"field":"region","value":"gg"}},{"from":{"field":"region","value":"288"},"to":{"field":"region","value":"gh"}},{"from":{"field":"region","value":"292"},"to":{"field":"region","value":"gi"}},{"from":{"field":"region","value":"304"},"to":{"field":"region","value":"gl"}},{"from":{"field":"region","value":"270"},"to":{"field":"region","value":"gm"}},{"from":{"field":"region","value":"324"},"to":{"field":"region","value":"gn"}},{"from":{"field":"region","value":"312"},"to":{"field":"region","value":"gp"}},{"from":{"field":"region","value":"226"},"to":{"field":"region","value":"gq"}},{"from":{"field":"region","value":"300"},"to":{"field":"region","value":"gr"}},{"from":{"field":"region","value":"239"},"to":{"field":"region","value":"gs"}},{"from":{"field":"region","value":"320"},"to":{"field":"region","value":"gt"}},{"from":{"field":"region","value":"316"},"to":{"field":"region","value":"gu"}},{"from":{"field":"region","value":"624"},"to":{"field":"region","value":"gw"}},{"from":{"field":"region","value":"328"},"to":{"field":"region","value":"gy"}},{"from":{"field":"region","value":"344"},"to":{"field":"region","value":"hk"}},{"from":{"field":"region","value":"334"},"to":{"field":"region","value":"hm"}},{"from":{"field":"region","value":"340"},"to":{"field":"region","value":"hn"}},{"from":{"field":"region","value":"191"},"to":{"field":"region","value":"hr"}},{"from":{"field":"region","value":"332"},"to":{"field":"region","value":"ht"}},{"from":{"field":"region","value":"348"},"to":{"field":"region","value":"hu"}},{"from":{"field":"region","value":"360"},"to":{"field":"region","value":"id"}},{"from":{"field":"region","value":"372"},"to":{"field":"region","value":"ie"}},{"from":{"field":"region","value":"376"},"to":{"field":"region","value":"il"}},{"from":{"field":"region","value":"833"},"to":{"field":"region","value":"im"}},{"from":{"field":"region","value":"356"},"to":{"field":"region","value":"in"}},{"from":{"field":"region","value":"086"},"to":{"field":"region","value":"io"}},{"from":{"field":"region","value":"368"},"to":{"field":"region","value":"iq"}},{"from":{"field":"region","value":"364"},"to":{"field":"region","value":"ir"}},{"from":{"field":"region","value":"352"},"to":{"field":"region","value":"is"}},{"from":{"field":"region","value":"380"},"to":{"field":"region","value":"it"}},{"from":{"field":"region","value":"832"},"to":{"field":"region","value":"je"}},{"from":{"field":"region","value":"388"},"to":{"field":"region","value":"jm"}},{"from":{"field":"region","value":"400"},"to":{"field":"region","value":"jo"}},{"from":{"field":"region","value":"392"},"to":{"field":"region","value":"jp"}},{"from":{"field":"region","value":"404"},"to":{"field":"region","value":"ke"}},{"from":{"field":"region","value":"417"},"to":{"field":"region","value":"kg"}},{"from":{"field":"region","value":"116"},"to":{"field":"region","value":"kh"}},{"from":{"field":"region","value":"296"},"to":{"field":"region","value":"ki"}},{"from":{"field":"region","value":"174"},"to":{"field":"region","value":"km"}},{"from":{"field":"region","value":"659"},"to":{"field":"region","value":"kn"}},{"from":{"field":"region","value":"408"},"to":{"field":"region","value":"kp"}},{"from":{"field":"region","value":"410"},"to":{"field":"region","value":"kr"}},{"from":{"field":"region","value":"414"},"to":{"field":"region","value":"kw"}},{"from":{"field":"region","value":"136"},"to":{"field":"region","value":"ky"}},{"from":{"field":"region","value":"398"},"to":{"field":"region","value":"kz"}},{"from":{"field":"region","value":"418"},"to":{"field":"region","value":"la"}},{"from":{"field":"region","value":"422"},"to":{"field":"region","value":"lb"}},{"from":{"field":"region","value":"662"},"to":{"field":"region","value":"lc"}},{"from":{"field":"region","value":"438"},"to":{"field":"region","value":"li"}},{"from":{"field":"region","value":"144"},"to":{"field":"region","value":"lk"}},{"from":{"field":"region","value":"430"},"to":{"field":"region","value":"lr"}},{"from":{"field":"region","value":"426"},"to":{"field":"region","value":"ls"}},{"from":{"field":"region","value":"440"},"to":{"field":"region","value":"lt"}},{"from":{"field":"region","value":"442"},"to":{"field":"region","value":"lu"}},{"from":{"field":"region","value":"428"},"to":{"field":"region","value":"lv"}},{"from":{"field":"region","value":"434"},"to":{"field":"region","value":"ly"}},{"from":{"field":"region","value":"504"},"to":{"field":"region","value":"ma"}},{"from":{"field":"region","value":"492"},"to":{"field":"region","value":"mc"}},{"from":{"field":"region","value":"498"},"to":{"field":"region","value":"md"}},{"from":{"field":"region","value":"499"},"to":{"field":"region","value":"me"}},{"from":{"field":"region","value":"663"},"to":{"field":"region","value":"mf"}},{"from":{"field":"region","value":"450"},"to":{"field":"region","value":"mg"}},{"from":{"field":"region","value":"584"},"to":{"field":"region","value":"mh"}},{"from":{"field":"region","value":"807"},"to":{"field":"region","value":"mk"}},{"from":{"field":"region","value":"466"},"to":{"field":"region","value":"ml"}},{"from":{"field":"region","value":"496"},"to":{"field":"region","value":"mn"}},{"from":{"field":"region","value":"446"},"to":{"field":"region","value":"mo"}},{"from":{"field":"region","value":"580"},"to":{"field":"region","value":"mp"}},{"from":{"field":"region","value":"474"},"to":{"field":"region","value":"mq"}},{"from":{"field":"region","value":"478"},"to":{"field":"region","value":"mr"}},{"from":{"field":"region","value":"500"},"to":{"field":"region","value":"ms"}},{"from":{"field":"region","value":"470"},"to":{"field":"region","value":"mt"}},{"from":{"field":"region","value":"480"},"to":{"field":"region","value":"mu"}},{"from":{"field":"region","value":"462"},"to":{"field":"region","value":"mv"}},{"from":{"field":"region","value":"454"},"to":{"field":"region","value":"mw"}},{"from":{"field":"region","value":"484"},"to":{"field":"region","value":"mx"}},{"from":{"field":"region","value":"458"},"to":{"field":"region","value":"my"}},{"from":{"field":"region","value":"508"},"to":{"field":"region","value":"mz"}},{"from":{"field":"region","value":"516"},"to":{"field":"region","value":"na"}},{"from":{"field":"region","value":"540"},"to":{"field":"region","value":"nc"}},{"from":{"field":"region","value":"562"},"to":{"field":"region","value":"ne"}},{"from":{"field":"region","value":"574"},"to":{"field":"region","value":"nf"}},{"from":{"field":"region","value":"566"},"to":{"field":"region","value":"ng"}},{"from":{"field":"region","value":"558"},"to":{"field":"region","value":"ni"}},{"from":{"field":"region","value":"528"},"to":{"field":"region","value":"nl"}},{"from":{"field":"region","value":"578"},"to":{"field":"region","value":"no"}},{"from":{"field":"region","value":"524"},"to":{"field":"region","value":"np"}},{"from":{"field":"region","value":"520"},"to":{"field":"region","value":"nr"}},{"from":{"field":"region","value":"570"},"to":{"field":"region","value":"nu"}},{"from":{"field":"region","value":"554"},"to":{"field":"region","value":"nz"}},{"from":{"field":"region","value":"512"},"to":{"field":"region","value":"om"}},{"from":{"field":"region","value":"591"},"to":{"field":"region","value":"pa"}},{"from":{"field":"region","value":"604"},"to":{"field":"region","value":"pe"}},{"from":{"field":"region","value":"258"},"to":{"field":"region","value":"pf"}},{"from":{"field":"region","value":"598"},"to":{"field":"region","value":"pg"}},{"from":{"field":"region","value":"608"},"to":{"field":"region","value":"ph"}},{"from":{"field":"region","value":"586"},"to":{"field":"region","value":"pk"}},{"from":{"field":"region","value":"616"},"to":{"field":"region","value":"pl"}},{"from":{"field":"region","value":"666"},"to":{"field":"region","value":"pm"}},{"from":{"field":"region","value":"612"},"to":{"field":"region","value":"pn"}},{"from":{"field":"region","value":"630"},"to":{"field":"region","value":"pr"}},{"from":{"field":"region","value":"275"},"to":{"field":"region","value":"ps"}},{"from":{"field":"region","value":"620"},"to":{"field":"region","value":"pt"}},{"from":{"field":"region","value":"585"},"to":{"field":"region","value":"pw"}},{"from":{"field":"region","value":"600"},"to":{"field":"region","value":"py"}},{"from":{"field":"region","value":"634"},"to":{"field":"region","value":"qa"}},{"from":{"field":"region","value":"959"},"to":{"field":"region","value":"qm"}},{"from":{"field":"region","value":"960"},"to":{"field":"region","value":"qn"}},{"from":{"field":"region","value":"962"},"to":{"field":"region","value":"qp"}},{"from":{"field":"region","value":"963"},"to":{"field":"region","value":"qq"}},{"from":{"field":"region","value":"964"},"to":{"field":"region","value":"qr"}},{"from":{"field":"region","value":"965"},"to":{"field":"region","value":"qs"}},{"from":{"field":"region","value":"966"},"to":{"field":"region","value":"qt"}},{"from":{"field":"region","value":"967"},"to":{"field":"region","value":"eu"}},{"from":{"field":"region","value":"968"},"to":{"field":"region","value":"qv"}},{"from":{"field":"region","value":"969"},"to":{"field":"region","value":"qw"}},{"from":{"field":"region","value":"970"},"to":{"field":"region","value":"qx"}},{"from":{"field":"region","value":"971"},"to":{"field":"region","value":"qy"}},{"from":{"field":"region","value":"972"},"to":{"field":"region","value":"qz"}},{"from":{"field":"region","value":"638"},"to":{"field":"region","value":"re"}},{"from":{"field":"region","value":"642"},"to":{"field":"region","value":"ro"}},{"from":{"field":"region","value":"688"},"to":{"field":"region","value":"rs"}},{"from":{"field":"region","value":"643"},"to":{"field":"region","value":"ru"}},{"from":{"field":"region","value":"646"},"to":{"field":"region","value":"rw"}},{"from":{"field":"region","value":"682"},"to":{"field":"region","value":"sa"}},{"from":{"field":"region","value":"090"},"to":{"field":"region","value":"sb"}},{"from":{"field":"region","value":"690"},"to":{"field":"region","value":"sc"}},{"from":{"field":"region","value":"729"},"to":{"field":"region","value":"sd"}},{"from":{"field":"region","value":"752"},"to":{"field":"region","value":"se"}},{"from":{"field":"region","value":"702"},"to":{"field":"region","value":"sg"}},{"from":{"field":"region","value":"654"},"to":{"field":"region","value":"sh"}},{"from":{"field":"region","value":"705"},"to":{"field":"region","value":"si"}},{"from":{"field":"region","value":"744"},"to":{"field":"region","value":"sj"}},{"from":{"field":"region","value":"703"},"to":{"field":"region","value":"sk"}},{"from":{"field":"region","value":"694"},"to":{"field":"region","value":"sl"}},{"from":{"field":"region","value":"674"},"to":{"field":"region","value":"sm"}},{"from":{"field":"region","value":"686"},"to":{"field":"region","value":"sn"}},{"from":{"field":"region","value":"706"},"to":{"field":"region","value":"so"}},{"from":{"field":"region","value":"740"},"to":{"field":"region","value":"sr"}},{"from":{"field":"region","value":"728"},"to":{"field":"region","value":"ss"}},{"from":{"field":"region","value":"678"},"to":{"field":"region","value":"st"}},{"from":{"field":"region","value":"222"},"to":{"field":"region","value":"sv"}},{"from":{"field":"region","value":"534"},"to":{"field":"region","value":"sx"}},{"from":{"field":"region","value":"760"},"to":{"field":"region","value":"sy"}},{"from":{"field":"region","value":"748"},"to":{"field":"region","value":"sz"}},{"from":{"field":"region","value":"796"},"to":{"field":"region","value":"tc"}},{"from":{"field":"region","value":"148"},"to":{"field":"region","value":"td"}},{"from":{"field":"region","value":"260"},"to":{"field":"region","value":"tf"}},{"from":{"field":"region","value":"768"},"to":{"field":"region","value":"tg"}},{"from":{"field":"region","value":"764"},"to":{"field":"region","value":"th"}},{"from":{"field":"region","value":"762"},"to":{"field":"region","value":"tj"}},{"from":{"field":"region","value":"772"},"to":{"field":"region","value":"tk"}},{"from":{"field":"region","value":"626"},"to":{"field":"region","value":"tl"}},{"from":{"field":"region","value":"795"},"to":{"field":"region","value":"tm"}},{"from":{"field":"region","value":"788"},"to":{"field":"region","value":"tn"}},{"from":{"field":"region","value":"776"},"to":{"field":"region","value":"to"}},{"from":{"field":"region","value":"792"},"to":{"field":"region","value":"tr"}},{"from":{"field":"region","value":"780"},"to":{"field":"region","value":"tt"}},{"from":{"field":"region","value":"798"},"to":{"field":"region","value":"tv"}},{"from":{"field":"region","value":"158"},"to":{"field":"region","value":"tw"}},{"from":{"field":"region","value":"834"},"to":{"field":"region","value":"tz"}},{"from":{"field":"region","value":"804"},"to":{"field":"region","value":"ua"}},{"from":{"field":"region","value":"800"},"to":{"field":"region","value":"ug"}},{"from":{"field":"region","value":"581"},"to":{"field":"region","value":"um"}},{"from":{"field":"region","value":"840"},"to":{"field":"region","value":"us"}},{"from":{"field":"region","value":"858"},"to":{"field":"region","value":"uy"}},{"from":{"field":"region","value":"860"},"to":{"field":"region","value":"uz"}},{"from":{"field":"region","value":"336"},"to":{"field":"region","value":"va"}},{"from":{"field":"region","value":"670"},"to":{"field":"region","value":"vc"}},{"from":{"field":"region","value":"862"},"to":{"field":"region","value":"ve"}},{"from":{"field":"region","value":"092"},"to":{"field":"region","value":"vg"}},{"from":{"field":"region","value":"850"},"to":{"field":"region","value":"vi"}},{"from":{"field":"region","value":"704"},"to":{"field":"region","value":"vn"}},{"from":{"field":"region","value":"548"},"to":{"field":"region","value":"vu"}},{"from":{"field":"region","value":"876"},"to":{"field":"region","value":"wf"}},{"from":{"field":"region","value":"882"},"to":{"field":"region","value":"ws"}},{"from":{"field":"region","value":"973"},"to":{"field":"region","value":"xa"}},{"from":{"field":"region","value":"974"},"to":{"field":"region","value":"xb"}},{"from":{"field":"region","value":"975"},"to":{"field":"region","value":"xc"}},{"from":{"field":"region","value":"976"},"to":{"field":"region","value":"xd"}},{"from":{"field":"region","value":"977"},"to":{"field":"region","value":"xe"}},{"from":{"field":"region","value":"978"},"to":{"field":"region","value":"xf"}},{"from":{"field":"region","value":"979"},"to":{"field":"region","value":"xg"}},{"from":{"field":"region","value":"980"},"to":{"field":"region","value":"xh"}},{"from":{"field":"region","value":"981"},"to":{"field":"region","value":"xi"}},{"from":{"field":"region","value":"982"},"to":{"field":"region","value":"xj"}},{"from":{"field":"region","value":"983"},"to":{"field":"region","value":"xk"}},{"from":{"field":"region","value":"984"},"to":{"field":"region","value":"xl"}},{"from":{"field":"region","value":"985"},"to":{"field":"region","value":"xm"}},{"from":{"field":"region","value":"986"},"to":{"field":"region","value":"xn"}},{"from":{"field":"region","value":"987"},"to":{"field":"region","value":"xo"}},{"from":{"field":"region","value":"988"},"to":{"field":"region","value":"xp"}},{"from":{"field":"region","value":"989"},"to":{"field":"region","value":"xq"}},{"from":{"field":"region","value":"990"},"to":{"field":"region","value":"xr"}},{"from":{"field":"region","value":"991"},"to":{"field":"region","value":"xs"}},{"from":{"field":"region","value":"992"},"to":{"field":"region","value":"xt"}},{"from":{"field":"region","value":"993"},"to":{"field":"region","value":"xu"}},{"from":{"field":"region","value":"994"},"to":{"field":"region","value":"xv"}},{"from":{"field":"region","value":"995"},"to":{"field":"region","value":"xw"}},{"from":{"field":"region","value":"996"},"to":{"field":"region","value":"xx"}},{"from":{"field":"region","value":"997"},"to":{"field":"region","value":"xy"}},{"from":{"field":"region","value":"998"},"to":{"field":"region","value":"xz"}},{"from":{"field":"region","value":"720"},"to":{"field":"region","value":"ye"}},{"from":{"field":"region","value":"887"},"to":{"field":"region","value":"ye"}},{"from":{"field":"region","value":"175"},"to":{"field":"region","value":"yt"}},{"from":{"field":"region","value":"710"},"to":{"field":"region","value":"za"}},{"from":{"field":"region","value":"894"},"to":{"field":"region","value":"zm"}},{"from":{"field":"region","value":"716"},"to":{"field":"region","value":"zw"}},{"from":{"field":"region","value":"999"},"to":{"field":"region","value":"zz"}},{"from":{"field":"variants","value":"aaland"},"to":{"field":"region","value":"ax"}},{"from":{"field":"variants","value":"polytoni"},"to":{"field":"variants","value":"polyton"}},{"from":{"field":"variants","value":"heploc"},"to":{"field":"variants","value":"alalc97"}},{"from":{"field":"variants","value":"arevela"},"to":{"field":"language","value":"hy"}},{"from":{"field":"variants","value":"arevmda"},"to":{"field":"language","value":"hyw"}}]')},9460:function(at){at.exports=JSON.parse('{"region":{"172":["ru","am","az","by","ge","kg","kz","md","tj","tm","ua","uz"],"200":["cz","sk"],"530":["cw","sx","bq"],"532":["cw","sx","bq"],"536":["sa","iq"],"582":["fm","mh","mp","pw"],"810":["ru","am","az","by","ee","ge","kz","kg","lv","lt","md","tj","tm","ua","uz"],"830":["je","gg"],"890":["rs","me","si","hr","mk","ba"],"891":["rs","me"],"an":["cw","sx","bq"],"cs":["rs","me"],"fq":["aq","tf"],"nt":["sa","iq"],"pc":["fm","mh","mp","pw"],"su":["ru","am","az","by","ee","ge","kz","kg","lv","lt","md","tj","tm","ua","uz"],"yu":["rs","me"],"062":["034","143"],"ant":["cw","sx","bq"],"scg":["rs","me"],"ntz":["sa","iq"],"sun":["ru","am","az","by","ee","ge","kz","kg","lv","lt","md","tj","tm","ua","uz"],"yug":["rs","me"]}}')},7778:function(at){at.exports=JSON.parse('[{"from":"in","to":"id"},{"from":"iw","to":"he"},{"from":"ji","to":"yi"},{"from":"jw","to":"jv"},{"from":"mo","to":"ro"},{"from":"scc","to":"sr"},{"from":"scr","to":"hr"},{"from":"aam","to":"aas"},{"from":"adp","to":"dz"},{"from":"aue","to":"ktz"},{"from":"ayx","to":"nun"},{"from":"bgm","to":"bcg"},{"from":"bjd","to":"drl"},{"from":"ccq","to":"rki"},{"from":"cjr","to":"mom"},{"from":"cka","to":"cmr"},{"from":"cmk","to":"xch"},{"from":"coy","to":"pij"},{"from":"cqu","to":"quh"},{"from":"drh","to":"mn"},{"from":"drw","to":"fa-af"},{"from":"gav","to":"dev"},{"from":"gfx","to":"vaj"},{"from":"ggn","to":"gvr"},{"from":"gti","to":"nyc"},{"from":"guv","to":"duz"},{"from":"hrr","to":"jal"},{"from":"ibi","to":"opa"},{"from":"ilw","to":"gal"},{"from":"jeg","to":"oyb"},{"from":"kgc","to":"tdf"},{"from":"kgh","to":"kml"},{"from":"koj","to":"kwv"},{"from":"krm","to":"bmf"},{"from":"ktr","to":"dtp"},{"from":"kvs","to":"gdj"},{"from":"kwq","to":"yam"},{"from":"kxe","to":"tvd"},{"from":"kzj","to":"dtp"},{"from":"kzt","to":"dtp"},{"from":"lii","to":"raq"},{"from":"lmm","to":"rmx"},{"from":"meg","to":"cir"},{"from":"mst","to":"mry"},{"from":"mwj","to":"vaj"},{"from":"myt","to":"mry"},{"from":"nad","to":"xny"},{"from":"ncp","to":"kdz"},{"from":"nnx","to":"ngv"},{"from":"nts","to":"pij"},{"from":"oun","to":"vaj"},{"from":"pcr","to":"adx"},{"from":"pmc","to":"huw"},{"from":"pmu","to":"phr"},{"from":"ppa","to":"bfy"},{"from":"ppr","to":"lcq"},{"from":"pry","to":"prt"},{"from":"puz","to":"pub"},{"from":"sca","to":"hle"},{"from":"skk","to":"oyb"},{"from":"tdu","to":"dtp"},{"from":"thc","to":"tpo"},{"from":"thx","to":"oyb"},{"from":"tie","to":"ras"},{"from":"tkk","to":"twm"},{"from":"tlw","to":"weo"},{"from":"tmp","to":"tyj"},{"from":"tne","to":"kak"},{"from":"tnf","to":"fa-af"},{"from":"tsf","to":"taj"},{"from":"uok","to":"ema"},{"from":"xba","to":"cax"},{"from":"xia","to":"acn"},{"from":"xkh","to":"waw"},{"from":"xsj","to":"suj"},{"from":"ybd","to":"rki"},{"from":"yma","to":"lrr"},{"from":"ymt","to":"mtm"},{"from":"yos","to":"zom"},{"from":"yuu","to":"yug"},{"from":"asd","to":"snz"},{"from":"dit","to":"dif"},{"from":"llo","to":"ngt"},{"from":"myd","to":"aog"},{"from":"nns","to":"nbr"},{"from":"sgn-br","to":"bzs"},{"from":"sgn-co","to":"csn"},{"from":"sgn-de","to":"gsg"},{"from":"sgn-dk","to":"dsl"},{"from":"sgn-fr","to":"fsl"},{"from":"sgn-gb","to":"bfi"},{"from":"sgn-gr","to":"gss"},{"from":"sgn-ie","to":"isg"},{"from":"sgn-it","to":"ise"},{"from":"sgn-jp","to":"jsl"},{"from":"sgn-mx","to":"mfs"},{"from":"sgn-ni","to":"ncs"},{"from":"sgn-nl","to":"dse"},{"from":"sgn-no","to":"nsi"},{"from":"sgn-pt","to":"psr"},{"from":"sgn-se","to":"swl"},{"from":"sgn-us","to":"ase"},{"from":"sgn-za","to":"sfs"},{"from":"no-bokmal","to":"nb"},{"from":"no-nynorsk","to":"nn"},{"from":"aa-saaho","to":"ssy"},{"from":"sh","to":"sr-latn"},{"from":"cnr","to":"sr-me"},{"from":"no","to":"nb"},{"from":"tl","to":"fil"},{"from":"az-az","to":"az-latn-az"},{"from":"bs-ba","to":"bs-latn-ba"},{"from":"ha-latn-gh","to":"ha-gh"},{"from":"ha-latn-ne","to":"ha-ne"},{"from":"ha-latn-ng","to":"ha-ng"},{"from":"kk-cyrl-kz","to":"kk-kz"},{"from":"ky-cyrl-kg","to":"ky-kg"},{"from":"ks-arab-in","to":"ks-in"},{"from":"mn-cyrl-mn","to":"mn-mn"},{"from":"ms-latn-bn","to":"ms-bn"},{"from":"ms-latn-my","to":"ms-my"},{"from":"ms-latn-sg","to":"ms-sg"},{"from":"pa-in","to":"pa-guru-in"},{"from":"pa-pk","to":"pa-arab-pk"},{"from":"shi-ma","to":"shi-tfng-ma"},{"from":"sr-ba","to":"sr-cyrl-ba"},{"from":"sr-me","to":"sr-latn-me"},{"from":"sr-rs","to":"sr-cyrl-rs"},{"from":"sr-xk","to":"sr-cyrl-xk"},{"from":"tzm-latn-ma","to":"tzm-ma"},{"from":"ug-arab-cn","to":"ug-cn"},{"from":"uz-af","to":"uz-arab-af"},{"from":"uz-uz","to":"uz-latn-uz"},{"from":"vai-lr","to":"vai-vaii-lr"},{"from":"yue-cn","to":"yue-hans-cn"},{"from":"yue-hk","to":"yue-hant-hk"},{"from":"zh-cn","to":"zh-hans-cn"},{"from":"zh-hk","to":"zh-hant-hk"},{"from":"zh-mo","to":"zh-hant-mo"},{"from":"zh-sg","to":"zh-hans-sg"},{"from":"zh-tw","to":"zh-hant-tw"},{"from":"aju","to":"jrb"},{"from":"als","to":"sq"},{"from":"arb","to":"ar"},{"from":"ayr","to":"ay"},{"from":"azj","to":"az"},{"from":"bcc","to":"bal"},{"from":"bcl","to":"bik"},{"from":"bxk","to":"luy"},{"from":"bxr","to":"bua"},{"from":"cld","to":"syr"},{"from":"cmn","to":"zh"},{"from":"cwd","to":"cr"},{"from":"dgo","to":"doi"},{"from":"dhd","to":"mwr"},{"from":"dik","to":"din"},{"from":"diq","to":"zza"},{"from":"lbk","to":"bnc"},{"from":"ekk","to":"et"},{"from":"emk","to":"man"},{"from":"esk","to":"ik"},{"from":"fat","to":"ak"},{"from":"fuc","to":"ff"},{"from":"gaz","to":"om"},{"from":"gbo","to":"grb"},{"from":"gno","to":"gon"},{"from":"gug","to":"gn"},{"from":"gya","to":"gba"},{"from":"hdn","to":"hai"},{"from":"hea","to":"hmn"},{"from":"ike","to":"iu"},{"from":"kmr","to":"ku"},{"from":"knc","to":"kr"},{"from":"kng","to":"kg"},{"from":"knn","to":"kok"},{"from":"kpv","to":"kv"},{"from":"lvs","to":"lv"},{"from":"mhr","to":"chm"},{"from":"mup","to":"raj"},{"from":"khk","to":"mn"},{"from":"npi","to":"ne"},{"from":"ojg","to":"oj"},{"from":"ory","to":"or"},{"from":"pbu","to":"ps"},{"from":"pes","to":"fa"},{"from":"plt","to":"mg"},{"from":"pnb","to":"lah"},{"from":"quz","to":"qu"},{"from":"rmy","to":"rom"},{"from":"spy","to":"kln"},{"from":"src","to":"sc"},{"from":"swh","to":"sw"},{"from":"ttq","to":"tmh"},{"from":"tw","to":"ak"},{"from":"umu","to":"del"},{"from":"uzn","to":"uz"},{"from":"xpe","to":"kpe"},{"from":"xsl","to":"den"},{"from":"ydd","to":"yi"},{"from":"zai","to":"zap"},{"from":"zsm","to":"ms"},{"from":"zyb","to":"za"},{"from":"him","to":"srx"},{"from":"mnk","to":"man"},{"from":"bh","to":"bho"},{"from":"prs","to":"fa-af"},{"from":"swc","to":"sw-cd"},{"from":"aar","to":"aa"},{"from":"abk","to":"ab"},{"from":"ave","to":"ae"},{"from":"afr","to":"af"},{"from":"aka","to":"ak"},{"from":"amh","to":"am"},{"from":"arg","to":"an"},{"from":"ara","to":"ar"},{"from":"asm","to":"as"},{"from":"ava","to":"av"},{"from":"aym","to":"ay"},{"from":"aze","to":"az"},{"from":"bak","to":"ba"},{"from":"bel","to":"be"},{"from":"bul","to":"bg"},{"from":"bih","to":"bho"},{"from":"bis","to":"bi"},{"from":"bam","to":"bm"},{"from":"ben","to":"bn"},{"from":"bod","to":"bo"},{"from":"bre","to":"br"},{"from":"bos","to":"bs"},{"from":"cat","to":"ca"},{"from":"che","to":"ce"},{"from":"cha","to":"ch"},{"from":"cos","to":"co"},{"from":"cre","to":"cr"},{"from":"ces","to":"cs"},{"from":"chu","to":"cu"},{"from":"chv","to":"cv"},{"from":"cym","to":"cy"},{"from":"dan","to":"da"},{"from":"deu","to":"de"},{"from":"div","to":"dv"},{"from":"dzo","to":"dz"},{"from":"ewe","to":"ee"},{"from":"ell","to":"el"},{"from":"eng","to":"en"},{"from":"epo","to":"eo"},{"from":"spa","to":"es"},{"from":"est","to":"et"},{"from":"eus","to":"eu"},{"from":"fas","to":"fa"},{"from":"ful","to":"ff"},{"from":"fin","to":"fi"},{"from":"fij","to":"fj"},{"from":"fao","to":"fo"},{"from":"fra","to":"fr"},{"from":"fry","to":"fy"},{"from":"gle","to":"ga"},{"from":"gla","to":"gd"},{"from":"glg","to":"gl"},{"from":"grn","to":"gn"},{"from":"guj","to":"gu"},{"from":"glv","to":"gv"},{"from":"hau","to":"ha"},{"from":"heb","to":"he"},{"from":"hin","to":"hi"},{"from":"hmo","to":"ho"},{"from":"hrv","to":"hr"},{"from":"hat","to":"ht"},{"from":"hun","to":"hu"},{"from":"hye","to":"hy"},{"from":"her","to":"hz"},{"from":"ina","to":"ia"},{"from":"ind","to":"id"},{"from":"ile","to":"ie"},{"from":"ibo","to":"ig"},{"from":"iii","to":"ii"},{"from":"ipk","to":"ik"},{"from":"ido","to":"io"},{"from":"isl","to":"is"},{"from":"ita","to":"it"},{"from":"iku","to":"iu"},{"from":"jpn","to":"ja"},{"from":"jav","to":"jv"},{"from":"kat","to":"ka"},{"from":"kon","to":"kg"},{"from":"kik","to":"ki"},{"from":"kua","to":"kj"},{"from":"kaz","to":"kk"},{"from":"kal","to":"kl"},{"from":"khm","to":"km"},{"from":"kan","to":"kn"},{"from":"kor","to":"ko"},{"from":"kau","to":"kr"},{"from":"kas","to":"ks"},{"from":"kur","to":"ku"},{"from":"kom","to":"kv"},{"from":"cor","to":"kw"},{"from":"kir","to":"ky"},{"from":"lat","to":"la"},{"from":"ltz","to":"lb"},{"from":"lug","to":"lg"},{"from":"lim","to":"li"},{"from":"lin","to":"ln"},{"from":"lao","to":"lo"},{"from":"lit","to":"lt"},{"from":"lub","to":"lu"},{"from":"lav","to":"lv"},{"from":"mlg","to":"mg"},{"from":"mah","to":"mh"},{"from":"mri","to":"mi"},{"from":"mkd","to":"mk"},{"from":"mal","to":"ml"},{"from":"mon","to":"mn"},{"from":"mol","to":"ro"},{"from":"mar","to":"mr"},{"from":"msa","to":"ms"},{"from":"mlt","to":"mt"},{"from":"mya","to":"my"},{"from":"nau","to":"na"},{"from":"nob","to":"nb"},{"from":"nde","to":"nd"},{"from":"nep","to":"ne"},{"from":"ndo","to":"ng"},{"from":"nld","to":"nl"},{"from":"nno","to":"nn"},{"from":"nor","to":"nb"},{"from":"nbl","to":"nr"},{"from":"nav","to":"nv"},{"from":"nya","to":"ny"},{"from":"oci","to":"oc"},{"from":"oji","to":"oj"},{"from":"orm","to":"om"},{"from":"ori","to":"or"},{"from":"oss","to":"os"},{"from":"pan","to":"pa"},{"from":"pli","to":"pi"},{"from":"pol","to":"pl"},{"from":"pus","to":"ps"},{"from":"por","to":"pt"},{"from":"que","to":"qu"},{"from":"roh","to":"rm"},{"from":"run","to":"rn"},{"from":"ron","to":"ro"},{"from":"rus","to":"ru"},{"from":"kin","to":"rw"},{"from":"san","to":"sa"},{"from":"srd","to":"sc"},{"from":"snd","to":"sd"},{"from":"sme","to":"se"},{"from":"sag","to":"sg"},{"from":"hbs","to":"sr-latn"},{"from":"sin","to":"si"},{"from":"slk","to":"sk"},{"from":"slv","to":"sl"},{"from":"smo","to":"sm"},{"from":"sna","to":"sn"},{"from":"som","to":"so"},{"from":"sqi","to":"sq"},{"from":"srp","to":"sr"},{"from":"ssw","to":"ss"},{"from":"sot","to":"st"},{"from":"sun","to":"su"},{"from":"swe","to":"sv"},{"from":"swa","to":"sw"},{"from":"tam","to":"ta"},{"from":"tel","to":"te"},{"from":"tgk","to":"tg"},{"from":"tha","to":"th"},{"from":"tir","to":"ti"},{"from":"tuk","to":"tk"},{"from":"tgl","to":"fil"},{"from":"tsn","to":"tn"},{"from":"ton","to":"to"},{"from":"tur","to":"tr"},{"from":"tso","to":"ts"},{"from":"tat","to":"tt"},{"from":"twi","to":"ak"},{"from":"tah","to":"ty"},{"from":"uig","to":"ug"},{"from":"ukr","to":"uk"},{"from":"urd","to":"ur"},{"from":"uzb","to":"uz"},{"from":"ven","to":"ve"},{"from":"vie","to":"vi"},{"from":"vol","to":"vo"},{"from":"wln","to":"wa"},{"from":"wol","to":"wo"},{"from":"xho","to":"xh"},{"from":"yid","to":"yi"},{"from":"yor","to":"yo"},{"from":"zha","to":"za"},{"from":"zho","to":"zh"},{"from":"zul","to":"zu"},{"from":"alb","to":"sq"},{"from":"arm","to":"hy"},{"from":"baq","to":"eu"},{"from":"bur","to":"my"},{"from":"chi","to":"zh"},{"from":"cze","to":"cs"},{"from":"dut","to":"nl"},{"from":"fre","to":"fr"},{"from":"geo","to":"ka"},{"from":"ger","to":"de"},{"from":"gre","to":"el"},{"from":"ice","to":"is"},{"from":"mac","to":"mk"},{"from":"mao","to":"mi"},{"from":"may","to":"ms"},{"from":"per","to":"fa"},{"from":"rum","to":"ro"},{"from":"slo","to":"sk"},{"from":"tib","to":"bo"},{"from":"wel","to":"cy"}]')},8589:function(at){at.exports=JSON.parse('{"en-gb-oed":"en-GB-oxendict","i-ami":"ami","i-bnn":"bnn","i-default":null,"i-enochian":null,"i-hak":"hak","i-klingon":"tlh","i-lux":"lb","i-mingo":null,"i-navajo":"nv","i-pwn":"pwn","i-tao":"tao","i-tay":"tay","i-tsu":"tsu","sgn-be-fr":"sfb","sgn-be-nl":"vgt","sgn-ch-de":"sgg","art-lojban":"jbo","cel-gaulish":null,"no-bok":"nb","no-nyn":"nn","zh-guoyu":"cmn","zh-hakka":"hak","zh-min":null,"zh-min-nan":"nan","zh-xiang":"hsn"}')},858:function(at){at.exports=JSON.parse('["art-lojban","cel-gaulish","no-bok","no-nyn","zh-guoyu","zh-hakka","zh-min","zh-min-nan","zh-xiang"]')}},dr={};function Fn(at){var we=dr[at];if(we!==void 0)return we.exports;var P=dr[at]={exports:{}};return wr[at].call(P.exports,P,P.exports,Fn),P.exports}Fn.amdO={},Fn.n=function(at){var we=at&&at.__esModule?function(){return at.default}:function(){return at};return Fn.d(we,{a:we}),we},Fn.d=function(at,we){for(var P in we)Fn.o(we,P)&&!Fn.o(at,P)&&Object.defineProperty(at,P,{enumerable:!0,get:we[P]})},Fn.g=function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch{if(typeof window=="object")return window}}(),Fn.o=function(at,we){return Object.prototype.hasOwnProperty.call(at,we)};var Nr={};return function(){Fn.d(Nr,{default:function(){return p}}),Fn(8416);var at,we=Fn(1715),P=Fn(8080),ae=Fn(1737),T=Fn(1139),t=function(){var u,_="application/dash+xml";function m(c,d,I){if(!c||!/^VIDEO$/i.test(c.nodeName))return null;if(c._dashjs_player)return c._dashjs_player;var k,q=c.id||c.name||"video element";if(!(d=d||[].slice.call(c.querySelectorAll("source")).filter(function(F){return F.type==_})[0])&&c.src)(d=document.createElement("source")).src=c.src;else if(!d&&!c.src)return null;return I=I||{},(k=(0,T.Z)(I).create()).initialize(c,d.src,c.autoplay),u||(u=k.getDebug().getLogger()),u.debug("Converted "+q+" to dash.js player and added content: "+d.src),c._dashjs_player=k,k}function n(c){return/^VIDEO$/i.test(c.nodeName)?c:n(c.parentNode)}return{create:m,createAll:function(c,d){var I=[];c=c||"[data-dashjs-player]";for(var k=(d=d||document).querySelectorAll(c),q=0;q<k.length;q++){var F=m(k[q],null);I.push(F)}for(var $=d.querySelectorAll('source[type="'+_+'"]'),O=0;O<$.length;O++){var K=m(n($[O]),null);I.push(K)}return I}}}();!(typeof window<"u"&&window&&window.dashjs&&window.dashjs.skipAutoCreate)&&typeof window<"u"&&window&&window.addEventListener&&(window.document.readyState==="complete"?window.dashjs?t.createAll():at=window.setInterval(function(){window.dashjs&&(window.clearInterval(at),t.createAll())},500):window.addEventListener("load",function u(){window.removeEventListener("load",u),t.createAll()}));var e=t,y=Fn(6398);dashjs.Protection=ae.default,dashjs.MetricsReporting=P.default,dashjs.MediaPlayerFactory=e,dashjs.Debug=y.Z,dashjs.supportsMediaSource=we.B;var p=dashjs}(),Nr.default}()})})(To);var So=To.exports;const gu=fu(So),mu=du({__proto__:null,default:gu},[So]);export{mu as d};
+Actual: `+f.attribValue);else{var W=f.tag,V=f.tags[f.tags.length-1]||f;W.ns===V.ns&&(W.ns=Object.create(V.ns)),W.ns[S]=f.attribValue}f.attribList.push([f.attribName,f.attribValue])}else f.tag.attributes[f.attribName]=f.attribValue,Ye(f,"onattribute",{name:f.attribName,value:f.attribValue});f.attribName=f.attribValue=""}}function ke(f,o){if(f.opt.xmlns){var v=f.tag,S=_t(f.tagName);v.prefix=S.prefix,v.local=S.local,v.uri=v.ns[S.prefix]||"",v.prefix&&!v.uri&&(ve(f,"Unbound namespace prefix: "+JSON.stringify(f.tagName)),v.uri=S.prefix);var W=f.tags[f.tags.length-1]||f;v.ns&&W.ns!==v.ns&&Object.keys(v.ns).forEach(function(Ut){Ye(f,"onopennamespace",{prefix:Ut,uri:v.ns[Ut]})});for(var V=0,Se=f.attribList.length;V<Se;V++){var ze=f.attribList[V],Me=ze[0],De=ze[1],be=_t(Me,!0),xe=be.prefix,Qe=be.local,mt=xe===""?"":v.ns[xe]||"",it={name:Me,value:De,prefix:xe,local:Qe,uri:mt};xe&&xe!=="xmlns"&&!mt&&(ve(f,"Unbound namespace prefix: "+JSON.stringify(xe)),it.uri=xe),f.tag.attributes[Me]=it,Ye(f,"onattribute",it)}f.attribList.length=0}f.tag.isSelfClosing=!!o,f.sawRoot=!0,f.tags.push(f.tag),Ye(f,"onopentag",f.tag),o||(f.noscript||f.tagName.toLowerCase()!=="script"?f.state=X.TEXT:f.state=X.SCRIPT,f.tag=null,f.tagName=""),f.attribName=f.attribValue="",f.attribList.length=0}function Je(f){if(!f.tagName)return ve(f,"Weird empty close tag."),f.textNode+="</>",void(f.state=X.TEXT);if(f.script){if(f.tagName!=="script")return f.script+="</"+f.tagName+">",f.tagName="",void(f.state=X.SCRIPT);Ye(f,"onscript",f.script),f.script=""}var o=f.tags.length,v=f.tagName;f.strict||(v=v[f.looseCase]());for(var S=v;o--&&f.tags[o].name!==S;)ve(f,"Unexpected close tag");if(o<0)return ve(f,"Unmatched closing tag: "+f.tagName),f.textNode+="</"+f.tagName+">",void(f.state=X.TEXT);f.tagName=v;for(var W=f.tags.length;W-- >o;){var V=f.tag=f.tags.pop();f.tagName=f.tag.name,Ye(f,"onclosetag",f.tagName);var Se={};for(var ze in V.ns)Se[ze]=V.ns[ze];var Me=f.tags[f.tags.length-1]||f;f.opt.xmlns&&V.ns!==Me.ns&&Object.keys(V.ns).forEach(function(De){var be=V.ns[De];Ye(f,"onclosenamespace",{prefix:De,uri:be})})}o===0&&(f.closedRoot=!0),f.tagName=f.attribValue=f.attribName="",f.attribList.length=0,f.state=X.TEXT}function ge(f){var o,v=f.entity,S=v.toLowerCase(),W="";return f.ENTITIES[v]?f.ENTITIES[v]:f.ENTITIES[S]?f.ENTITIES[S]:((v=S).charAt(0)==="#"&&(v.charAt(1)==="x"?(v=v.slice(2),W=(o=parseInt(v,16)).toString(16)):(v=v.slice(1),W=(o=parseInt(v,10)).toString(10))),v=v.replace(/^0+/,""),W.toLowerCase()!==v?(ve(f,"Invalid character entity"),"&"+f.entity+";"):String.fromCodePoint(o))}function me(f,o){o==="<"?(f.state=X.OPEN_WAKA,f.startTagPosition=f.position):H(u,o)&&(ve(f,"Non-whitespace before first tag."),f.textNode=o,f.state=X.TEXT)}function Ue(f,o){var v="";return o<f.length&&(v=f.charAt(o)),v}X=ae.STATE,String.fromCodePoint||(ee=String.fromCharCode,se=Math.floor,_e=function(){var f,o,v=16384,S=[],W=-1,V=arguments.length;if(!V)return"";for(var Se="";++W<V;){var ze=Number(arguments[W]);if(!isFinite(ze)||ze<0||ze>1114111||se(ze)!==ze)throw RangeError("Invalid code point: "+ze);ze<=65535?S.push(ze):(f=55296+((ze-=65536)>>10),o=ze%1024+56320,S.push(f,o)),(W+1===V||S.length>v)&&(Se+=ee.apply(null,S),S.length=0)}return Se},Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:_e,configurable:!0,writable:!0}):String.fromCodePoint=_e)})(we)},182:function(at,we,P){at.exports=T;var ae=P(1159).EventEmitter;function T(){ae.call(this)}P(1765)(T,ae),T.Readable=P(2846),T.Writable=P(8318),T.Duplex=P(6138),T.Transform=P(9798),T.PassThrough=P(5472),T.finished=P(8800),T.pipeline=P(7295),T.Stream=T,T.prototype.pipe=function(t,e){var y=this;function p(I){t.writable&&t.write(I)===!1&&y.pause&&y.pause()}function u(){y.readable&&y.resume&&y.resume()}y.on("data",p),t.on("drain",u),t._isStdio||e&&e.end===!1||(y.on("end",m),y.on("close",n));var _=!1;function m(){_||(_=!0,t.end())}function n(){_||(_=!0,typeof t.destroy=="function"&&t.destroy())}function c(I){if(d(),ae.listenerCount(this,"error")===0)throw I}function d(){y.removeListener("data",p),t.removeListener("drain",u),y.removeListener("end",m),y.removeListener("close",n),y.removeListener("error",c),t.removeListener("error",c),y.removeListener("end",d),y.removeListener("close",d),t.removeListener("close",d)}return y.on("error",c),t.on("error",c),y.on("end",d),y.on("close",d),t.on("close",d),t.emit("pipe",y),t}},1765:function(at){typeof Object.create=="function"?at.exports=function(we,P){P&&(we.super_=P,we.prototype=Object.create(P.prototype,{constructor:{value:we,enumerable:!1,writable:!0,configurable:!0}}))}:at.exports=function(we,P){if(P){we.super_=P;var ae=function(){};ae.prototype=P.prototype,we.prototype=new ae,we.prototype.constructor=we}}},3690:function(at){var we={};function P(T,t,e){e||(e=Error);var y=function(p){var u,_;function m(n,c,d){return p.call(this,function(I,k,q){return typeof t=="string"?t:t(I,k,q)}(n,c,d))||this}return _=p,(u=m).prototype=Object.create(_.prototype),u.prototype.constructor=u,u.__proto__=_,m}(e);y.prototype.name=e.name,y.prototype.code=T,we[T]=y}function ae(T,t){if(Array.isArray(T)){var e=T.length;return T=T.map(function(y){return String(y)}),e>2?"one of ".concat(t," ").concat(T.slice(0,e-1).join(", "),", or ")+T[e-1]:e===2?"one of ".concat(t," ").concat(T[0]," or ").concat(T[1]):"of ".concat(t," ").concat(T[0])}return"of ".concat(t," ").concat(String(T))}P("ERR_INVALID_OPT_VALUE",function(T,t){return'The value "'+t+'" is invalid for option "'+T+'"'},TypeError),P("ERR_INVALID_ARG_TYPE",function(T,t,e){var y,p,u,_,m;if(typeof t=="string"&&(p="not ",t.substr(0,p.length)===p)?(y="must not be",t=t.replace(/^not /,"")):y="must be",function(c,d,I){return(I===void 0||I>c.length)&&(I=c.length),c.substring(I-d.length,I)===d}(T," argument"))u="The ".concat(T," ").concat(y," ").concat(ae(t,"type"));else{var n=(typeof m!="number"&&(m=0),m+1>(_=T).length||_.indexOf(".",m)===-1?"argument":"property");u='The "'.concat(T,'" ').concat(n," ").concat(y," ").concat(ae(t,"type"))}return u+". Received type ".concat(typeof e)},TypeError),P("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),P("ERR_METHOD_NOT_IMPLEMENTED",function(T){return"The "+T+" method is not implemented"}),P("ERR_STREAM_PREMATURE_CLOSE","Premature close"),P("ERR_STREAM_DESTROYED",function(T){return"Cannot call "+T+" after a stream was destroyed"}),P("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),P("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),P("ERR_STREAM_WRITE_AFTER_END","write after end"),P("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),P("ERR_UNKNOWN_ENCODING",function(T){return"Unknown encoding: "+T},TypeError),P("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),at.exports.q=we},6138:function(at,we,P){var ae=Object.keys||function(n){var c=[];for(var d in n)c.push(d);return c};at.exports=u;var T=P(2846),t=P(8318);P(1765)(u,T);for(var e=ae(t.prototype),y=0;y<e.length;y++){var p=e[y];u.prototype[p]||(u.prototype[p]=t.prototype[p])}function u(n){if(!(this instanceof u))return new u(n);T.call(this,n),t.call(this,n),this.allowHalfOpen=!0,n&&(n.readable===!1&&(this.readable=!1),n.writable===!1&&(this.writable=!1),n.allowHalfOpen===!1&&(this.allowHalfOpen=!1,this.once("end",_)))}function _(){this._writableState.ended||process.nextTick(m,this)}function m(n){n.end()}Object.defineProperty(u.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(u.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(u.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(u.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState!==void 0&&this._writableState!==void 0&&this._readableState.destroyed&&this._writableState.destroyed},set:function(n){this._readableState!==void 0&&this._writableState!==void 0&&(this._readableState.destroyed=n,this._writableState.destroyed=n)}})},5472:function(at,we,P){at.exports=T;var ae=P(9798);function T(t){if(!(this instanceof T))return new T(t);ae.call(this,t)}P(1765)(T,ae),T.prototype._transform=function(t,e,y){y(null,t)}},2846:function(at,we,P){var ae;at.exports=ee,ee.ReadableState=H,P(1159).EventEmitter;var T,t=function(ge,me){return ge.listeners(me).length},e=P(9299),y=P(1549).Buffer,p=P.g.Uint8Array||function(){},u=P(964);T=u&&u.debuglog?u.debuglog("stream"):function(){};var _,m,n,c=P(8393),d=P(6163),I=P(7269).getHighWaterMark,k=P(3690).q,q=k.ERR_INVALID_ARG_TYPE,F=k.ERR_STREAM_PUSH_AFTER_EOF,$=k.ERR_METHOD_NOT_IMPLEMENTED,O=k.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;P(1765)(ee,e);var K=d.errorOrDestroy,re=["error","close","destroy","pause","resume"];function H(ge,me,Ue){ae=ae||P(6138),ge=ge||{},typeof Ue!="boolean"&&(Ue=me instanceof ae),this.objectMode=!!ge.objectMode,Ue&&(this.objectMode=this.objectMode||!!ge.readableObjectMode),this.highWaterMark=I(this,ge,"readableHighWaterMark",Ue),this.buffer=new c,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=ge.emitClose!==!1,this.autoDestroy=!!ge.autoDestroy,this.destroyed=!1,this.defaultEncoding=ge.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,ge.encoding&&(_||(_=P(7503).s),this.decoder=new _(ge.encoding),this.encoding=ge.encoding)}function ee(ge){if(ae=ae||P(6138),!(this instanceof ee))return new ee(ge);var me=this instanceof ae;this._readableState=new H(ge,this,me),this.readable=!0,ge&&(typeof ge.read=="function"&&(this._read=ge.read),typeof ge.destroy=="function"&&(this._destroy=ge.destroy)),e.call(this)}function se(ge,me,Ue,f,o){T("readableAddChunk",me);var v,S=ge._readableState;if(me===null)S.reading=!1,function(W,V){if(T("onEofChunk"),!V.ended){if(V.decoder){var Se=V.decoder.end();Se&&Se.length&&(V.buffer.push(Se),V.length+=V.objectMode?1:Se.length)}V.ended=!0,V.sync?Le(W):(V.needReadable=!1,V.emittedReadable||(V.emittedReadable=!0,Ye(W)))}}(ge,S);else if(o||(v=function(W,V){var Se,ze;return ze=V,y.isBuffer(ze)||ze instanceof p||typeof V=="string"||V===void 0||W.objectMode||(Se=new q("chunk",["string","Buffer","Uint8Array"],V)),Se}(S,me)),v)K(ge,v);else if(S.objectMode||me&&me.length>0)if(typeof me=="string"||S.objectMode||Object.getPrototypeOf(me)===y.prototype||(me=function(W){return y.from(W)}(me)),f)S.endEmitted?K(ge,new O):_e(ge,S,me,!0);else if(S.ended)K(ge,new F);else{if(S.destroyed)return!1;S.reading=!1,S.decoder&&!Ue?(me=S.decoder.write(me),S.objectMode||me.length!==0?_e(ge,S,me,!1):ye(ge,S)):_e(ge,S,me,!1)}else f||(S.reading=!1,ye(ge,S));return!S.ended&&(S.length<S.highWaterMark||S.length===0)}function _e(ge,me,Ue,f){me.flowing&&me.length===0&&!me.sync?(me.awaitDrain=0,ge.emit("data",Ue)):(me.length+=me.objectMode?1:Ue.length,f?me.buffer.unshift(Ue):me.buffer.push(Ue),me.needReadable&&Le(ge)),ye(ge,me)}Object.defineProperty(ee.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState!==void 0&&this._readableState.destroyed},set:function(ge){this._readableState&&(this._readableState.destroyed=ge)}}),ee.prototype.destroy=d.destroy,ee.prototype._undestroy=d.undestroy,ee.prototype._destroy=function(ge,me){me(ge)},ee.prototype.push=function(ge,me){var Ue,f=this._readableState;return f.objectMode?Ue=!0:typeof ge=="string"&&((me=me||f.defaultEncoding)!==f.encoding&&(ge=y.from(ge,me),me=""),Ue=!0),se(this,ge,me,!1,Ue)},ee.prototype.unshift=function(ge){return se(this,ge,null,!0,!1)},ee.prototype.isPaused=function(){return this._readableState.flowing===!1},ee.prototype.setEncoding=function(ge){_||(_=P(7503).s);var me=new _(ge);this._readableState.decoder=me,this._readableState.encoding=this._readableState.decoder.encoding;for(var Ue=this._readableState.buffer.head,f="";Ue!==null;)f+=me.write(Ue.data),Ue=Ue.next;return this._readableState.buffer.clear(),f!==""&&this._readableState.buffer.push(f),this._readableState.length=f.length,this};var X=1073741824;function Ae(ge,me){return ge<=0||me.length===0&&me.ended?0:me.objectMode?1:ge!=ge?me.flowing&&me.length?me.buffer.head.data.length:me.length:(ge>me.highWaterMark&&(me.highWaterMark=function(Ue){return Ue>=X?Ue=X:(Ue--,Ue|=Ue>>>1,Ue|=Ue>>>2,Ue|=Ue>>>4,Ue|=Ue>>>8,Ue|=Ue>>>16,Ue++),Ue}(ge)),ge<=me.length?ge:me.ended?me.length:(me.needReadable=!0,0))}function Le(ge){var me=ge._readableState;T("emitReadable",me.needReadable,me.emittedReadable),me.needReadable=!1,me.emittedReadable||(T("emitReadable",me.flowing),me.emittedReadable=!0,process.nextTick(Ye,ge))}function Ye(ge){var me=ge._readableState;T("emitReadable_",me.destroyed,me.length,me.ended),me.destroyed||!me.length&&!me.ended||(ge.emit("readable"),me.emittedReadable=!1),me.needReadable=!me.flowing&&!me.ended&&me.length<=me.highWaterMark,Oe(ge)}function ye(ge,me){me.readingMore||(me.readingMore=!0,process.nextTick(Pe,ge,me))}function Pe(ge,me){for(;!me.reading&&!me.ended&&(me.length<me.highWaterMark||me.flowing&&me.length===0);){var Ue=me.length;if(T("maybeReadMore read 0"),ge.read(0),Ue===me.length)break}me.readingMore=!1}function He(ge){var me=ge._readableState;me.readableListening=ge.listenerCount("readable")>0,me.resumeScheduled&&!me.paused?me.flowing=!0:ge.listenerCount("data")>0&&ge.resume()}function tt(ge){T("readable nexttick read 0"),ge.read(0)}function ve(ge,me){T("resume",me.reading),me.reading||ge.read(0),me.resumeScheduled=!1,ge.emit("resume"),Oe(ge),me.flowing&&!me.reading&&ge.read(0)}function Oe(ge){var me=ge._readableState;for(T("flow",me.flowing);me.flowing&&ge.read()!==null;);}function _t(ge,me){return me.length===0?null:(me.objectMode?Ue=me.buffer.shift():!ge||ge>=me.length?(Ue=me.decoder?me.buffer.join(""):me.buffer.length===1?me.buffer.first():me.buffer.concat(me.length),me.buffer.clear()):Ue=me.buffer.consume(ge,me.decoder),Ue);var Ue}function dt(ge){var me=ge._readableState;T("endReadable",me.endEmitted),me.endEmitted||(me.ended=!0,process.nextTick(ke,me,ge))}function ke(ge,me){if(T("endReadableNT",ge.endEmitted,ge.length),!ge.endEmitted&&ge.length===0&&(ge.endEmitted=!0,me.readable=!1,me.emit("end"),ge.autoDestroy)){var Ue=me._writableState;(!Ue||Ue.autoDestroy&&Ue.finished)&&me.destroy()}}function Je(ge,me){for(var Ue=0,f=ge.length;Ue<f;Ue++)if(ge[Ue]===me)return Ue;return-1}ee.prototype.read=function(ge){T("read",ge),ge=parseInt(ge,10);var me=this._readableState,Ue=ge;if(ge!==0&&(me.emittedReadable=!1),ge===0&&me.needReadable&&((me.highWaterMark!==0?me.length>=me.highWaterMark:me.length>0)||me.ended))return T("read: emitReadable",me.length,me.ended),me.length===0&&me.ended?dt(this):Le(this),null;if((ge=Ae(ge,me))===0&&me.ended)return me.length===0&&dt(this),null;var f,o=me.needReadable;return T("need readable",o),(me.length===0||me.length-ge<me.highWaterMark)&&T("length less than watermark",o=!0),me.ended||me.reading?T("reading or ended",o=!1):o&&(T("do read"),me.reading=!0,me.sync=!0,me.length===0&&(me.needReadable=!0),this._read(me.highWaterMark),me.sync=!1,me.reading||(ge=Ae(Ue,me))),(f=ge>0?_t(ge,me):null)===null?(me.needReadable=me.length<=me.highWaterMark,ge=0):(me.length-=ge,me.awaitDrain=0),me.length===0&&(me.ended||(me.needReadable=!0),Ue!==ge&&me.ended&&dt(this)),f!==null&&this.emit("data",f),f},ee.prototype._read=function(ge){K(this,new $("_read()"))},ee.prototype.pipe=function(ge,me){var Ue=this,f=this._readableState;switch(f.pipesCount){case 0:f.pipes=ge;break;case 1:f.pipes=[f.pipes,ge];break;default:f.pipes.push(ge)}f.pipesCount+=1,T("pipe count=%d opts=%j",f.pipesCount,me);var o=me&&me.end===!1||ge===process.stdout||ge===process.stderr?De:v;function v(){T("onend"),ge.end()}f.endEmitted?process.nextTick(o):Ue.once("end",o),ge.on("unpipe",function be(xe,Qe){T("onunpipe"),xe===Ue&&Qe&&Qe.hasUnpiped===!1&&(Qe.hasUnpiped=!0,T("cleanup"),ge.removeListener("close",ze),ge.removeListener("finish",Me),ge.removeListener("drain",S),ge.removeListener("error",Se),ge.removeListener("unpipe",be),Ue.removeListener("end",v),Ue.removeListener("end",De),Ue.removeListener("data",V),W=!0,!f.awaitDrain||ge._writableState&&!ge._writableState.needDrain||S())});var S=function(be){return function(){var xe=be._readableState;T("pipeOnDrain",xe.awaitDrain),xe.awaitDrain&&xe.awaitDrain--,xe.awaitDrain===0&&t(be,"data")&&(xe.flowing=!0,Oe(be))}}(Ue);ge.on("drain",S);var W=!1;function V(be){T("ondata");var xe=ge.write(be);T("dest.write",xe),xe===!1&&((f.pipesCount===1&&f.pipes===ge||f.pipesCount>1&&Je(f.pipes,ge)!==-1)&&!W&&(T("false write response, pause",f.awaitDrain),f.awaitDrain++),Ue.pause())}function Se(be){T("onerror",be),De(),ge.removeListener("error",Se),t(ge,"error")===0&&K(ge,be)}function ze(){ge.removeListener("finish",Me),De()}function Me(){T("onfinish"),ge.removeListener("close",ze),De()}function De(){T("unpipe"),Ue.unpipe(ge)}return Ue.on("data",V),function(be,xe,Qe){if(typeof be.prependListener=="function")return be.prependListener(xe,Qe);be._events&&be._events[xe]?Array.isArray(be._events[xe])?be._events[xe].unshift(Qe):be._events[xe]=[Qe,be._events[xe]]:be.on(xe,Qe)}(ge,"error",Se),ge.once("close",ze),ge.once("finish",Me),ge.emit("pipe",Ue),f.flowing||(T("pipe resume"),Ue.resume()),ge},ee.prototype.unpipe=function(ge){var me=this._readableState,Ue={hasUnpiped:!1};if(me.pipesCount===0)return this;if(me.pipesCount===1)return ge&&ge!==me.pipes||(ge||(ge=me.pipes),me.pipes=null,me.pipesCount=0,me.flowing=!1,ge&&ge.emit("unpipe",this,Ue)),this;if(!ge){var f=me.pipes,o=me.pipesCount;me.pipes=null,me.pipesCount=0,me.flowing=!1;for(var v=0;v<o;v++)f[v].emit("unpipe",this,{hasUnpiped:!1});return this}var S=Je(me.pipes,ge);return S===-1||(me.pipes.splice(S,1),me.pipesCount-=1,me.pipesCount===1&&(me.pipes=me.pipes[0]),ge.emit("unpipe",this,Ue)),this},ee.prototype.on=function(ge,me){var Ue=e.prototype.on.call(this,ge,me),f=this._readableState;return ge==="data"?(f.readableListening=this.listenerCount("readable")>0,f.flowing!==!1&&this.resume()):ge==="readable"&&(f.endEmitted||f.readableListening||(f.readableListening=f.needReadable=!0,f.flowing=!1,f.emittedReadable=!1,T("on readable",f.length,f.reading),f.length?Le(this):f.reading||process.nextTick(tt,this))),Ue},ee.prototype.addListener=ee.prototype.on,ee.prototype.removeListener=function(ge,me){var Ue=e.prototype.removeListener.call(this,ge,me);return ge==="readable"&&process.nextTick(He,this),Ue},ee.prototype.removeAllListeners=function(ge){var me=e.prototype.removeAllListeners.apply(this,arguments);return ge!=="readable"&&ge!==void 0||process.nextTick(He,this),me},ee.prototype.resume=function(){var ge=this._readableState;return ge.flowing||(T("resume"),ge.flowing=!ge.readableListening,function(me,Ue){Ue.resumeScheduled||(Ue.resumeScheduled=!0,process.nextTick(ve,me,Ue))}(this,ge)),ge.paused=!1,this},ee.prototype.pause=function(){return T("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(T("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},ee.prototype.wrap=function(ge){var me=this,Ue=this._readableState,f=!1;for(var o in ge.on("end",function(){if(T("wrapped end"),Ue.decoder&&!Ue.ended){var S=Ue.decoder.end();S&&S.length&&me.push(S)}me.push(null)}),ge.on("data",function(S){T("wrapped data"),Ue.decoder&&(S=Ue.decoder.write(S)),Ue.objectMode&&S==null||(Ue.objectMode||S&&S.length)&&(me.push(S)||(f=!0,ge.pause()))}),ge)this[o]===void 0&&typeof ge[o]=="function"&&(this[o]=function(S){return function(){return ge[S].apply(ge,arguments)}}(o));for(var v=0;v<re.length;v++)ge.on(re[v],this.emit.bind(this,re[v]));return this._read=function(S){T("wrapped _read",S),f&&(f=!1,ge.resume())},this},typeof Symbol=="function"&&(ee.prototype[Symbol.asyncIterator]=function(){return m===void 0&&(m=P(7299)),m(this)}),Object.defineProperty(ee.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),Object.defineProperty(ee.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}}),Object.defineProperty(ee.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(ge){this._readableState&&(this._readableState.flowing=ge)}}),ee._fromList=_t,Object.defineProperty(ee.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length}}),typeof Symbol=="function"&&(ee.from=function(ge,me){return n===void 0&&(n=P(6233)),n(ee,ge,me)})},9798:function(at,we,P){at.exports=_;var ae=P(3690).q,T=ae.ERR_METHOD_NOT_IMPLEMENTED,t=ae.ERR_MULTIPLE_CALLBACK,e=ae.ERR_TRANSFORM_ALREADY_TRANSFORMING,y=ae.ERR_TRANSFORM_WITH_LENGTH_0,p=P(6138);function u(c,d){var I=this._transformState;I.transforming=!1;var k=I.writecb;if(k===null)return this.emit("error",new t);I.writechunk=null,I.writecb=null,d!=null&&this.push(d),k(c);var q=this._readableState;q.reading=!1,(q.needReadable||q.length<q.highWaterMark)&&this._read(q.highWaterMark)}function _(c){if(!(this instanceof _))return new _(c);p.call(this,c),this._transformState={afterTransform:u.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,c&&(typeof c.transform=="function"&&(this._transform=c.transform),typeof c.flush=="function"&&(this._flush=c.flush)),this.on("prefinish",m)}function m(){var c=this;typeof this._flush!="function"||this._readableState.destroyed?n(this,null,null):this._flush(function(d,I){n(c,d,I)})}function n(c,d,I){if(d)return c.emit("error",d);if(I!=null&&c.push(I),c._writableState.length)throw new y;if(c._transformState.transforming)throw new e;return c.push(null)}P(1765)(_,p),_.prototype.push=function(c,d){return this._transformState.needTransform=!1,p.prototype.push.call(this,c,d)},_.prototype._transform=function(c,d,I){I(new T("_transform()"))},_.prototype._write=function(c,d,I){var k=this._transformState;if(k.writecb=I,k.writechunk=c,k.writeencoding=d,!k.transforming){var q=this._readableState;(k.needTransform||q.needReadable||q.length<q.highWaterMark)&&this._read(q.highWaterMark)}},_.prototype._read=function(c){var d=this._transformState;d.writechunk===null||d.transforming?d.needTransform=!0:(d.transforming=!0,this._transform(d.writechunk,d.writeencoding,d.afterTransform))},_.prototype._destroy=function(c,d){p.prototype._destroy.call(this,c,function(I){d(I)})}},8318:function(at,we,P){function ae(ye){var Pe=this;this.next=null,this.entry=null,this.finish=function(){(function(He,tt,ve){var Oe=He.entry;for(He.entry=null;Oe;){var _t=Oe.callback;tt.pendingcb--,_t(void 0),Oe=Oe.next}tt.corkedRequestsFree.next=He})(Pe,ye)}}var T;at.exports=ee,ee.WritableState=H;var t,e={deprecate:P(7839)},y=P(9299),p=P(1549).Buffer,u=P.g.Uint8Array||function(){},_=P(6163),m=P(7269).getHighWaterMark,n=P(3690).q,c=n.ERR_INVALID_ARG_TYPE,d=n.ERR_METHOD_NOT_IMPLEMENTED,I=n.ERR_MULTIPLE_CALLBACK,k=n.ERR_STREAM_CANNOT_PIPE,q=n.ERR_STREAM_DESTROYED,F=n.ERR_STREAM_NULL_VALUES,$=n.ERR_STREAM_WRITE_AFTER_END,O=n.ERR_UNKNOWN_ENCODING,K=_.errorOrDestroy;function re(){}function H(ye,Pe,He){T=T||P(6138),ye=ye||{},typeof He!="boolean"&&(He=Pe instanceof T),this.objectMode=!!ye.objectMode,He&&(this.objectMode=this.objectMode||!!ye.writableObjectMode),this.highWaterMark=m(this,ye,"writableHighWaterMark",He),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var tt=ye.decodeStrings===!1;this.decodeStrings=!tt,this.defaultEncoding=ye.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(ve){(function(Oe,_t){var dt=Oe._writableState,ke=dt.sync,Je=dt.writecb;if(typeof Je!="function")throw new I;if(function(me){me.writing=!1,me.writecb=null,me.length-=me.writelen,me.writelen=0}(dt),_t)(function(me,Ue,f,o,v){--Ue.pendingcb,f?(process.nextTick(v,o),process.nextTick(Ye,me,Ue),me._writableState.errorEmitted=!0,K(me,o)):(v(o),me._writableState.errorEmitted=!0,K(me,o),Ye(me,Ue))})(Oe,dt,ke,_t,Je);else{var ge=Ae(dt)||Oe.destroyed;ge||dt.corked||dt.bufferProcessing||!dt.bufferedRequest||X(Oe,dt),ke?process.nextTick(_e,Oe,dt,ge,Je):_e(Oe,dt,ge,Je)}})(Pe,ve)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=ye.emitClose!==!1,this.autoDestroy=!!ye.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new ae(this)}function ee(ye){var Pe=this instanceof(T=T||P(6138));if(!Pe&&!t.call(ee,this))return new ee(ye);this._writableState=new H(ye,this,Pe),this.writable=!0,ye&&(typeof ye.write=="function"&&(this._write=ye.write),typeof ye.writev=="function"&&(this._writev=ye.writev),typeof ye.destroy=="function"&&(this._destroy=ye.destroy),typeof ye.final=="function"&&(this._final=ye.final)),y.call(this)}function se(ye,Pe,He,tt,ve,Oe,_t){Pe.writelen=tt,Pe.writecb=_t,Pe.writing=!0,Pe.sync=!0,Pe.destroyed?Pe.onwrite(new q("write")):He?ye._writev(ve,Pe.onwrite):ye._write(ve,Oe,Pe.onwrite),Pe.sync=!1}function _e(ye,Pe,He,tt){He||function(ve,Oe){Oe.length===0&&Oe.needDrain&&(Oe.needDrain=!1,ve.emit("drain"))}(ye,Pe),Pe.pendingcb--,tt(),Ye(ye,Pe)}function X(ye,Pe){Pe.bufferProcessing=!0;var He=Pe.bufferedRequest;if(ye._writev&&He&&He.next){var tt=Pe.bufferedRequestCount,ve=new Array(tt),Oe=Pe.corkedRequestsFree;Oe.entry=He;for(var _t=0,dt=!0;He;)ve[_t]=He,He.isBuf||(dt=!1),He=He.next,_t+=1;ve.allBuffers=dt,se(ye,Pe,!0,Pe.length,ve,"",Oe.finish),Pe.pendingcb++,Pe.lastBufferedRequest=null,Oe.next?(Pe.corkedRequestsFree=Oe.next,Oe.next=null):Pe.corkedRequestsFree=new ae(Pe),Pe.bufferedRequestCount=0}else{for(;He;){var ke=He.chunk,Je=He.encoding,ge=He.callback;if(se(ye,Pe,!1,Pe.objectMode?1:ke.length,ke,Je,ge),He=He.next,Pe.bufferedRequestCount--,Pe.writing)break}He===null&&(Pe.lastBufferedRequest=null)}Pe.bufferedRequest=He,Pe.bufferProcessing=!1}function Ae(ye){return ye.ending&&ye.length===0&&ye.bufferedRequest===null&&!ye.finished&&!ye.writing}function Le(ye,Pe){ye._final(function(He){Pe.pendingcb--,He&&K(ye,He),Pe.prefinished=!0,ye.emit("prefinish"),Ye(ye,Pe)})}function Ye(ye,Pe){var He=Ae(Pe);if(He&&(function(ve,Oe){Oe.prefinished||Oe.finalCalled||(typeof ve._final!="function"||Oe.destroyed?(Oe.prefinished=!0,ve.emit("prefinish")):(Oe.pendingcb++,Oe.finalCalled=!0,process.nextTick(Le,ve,Oe)))}(ye,Pe),Pe.pendingcb===0&&(Pe.finished=!0,ye.emit("finish"),Pe.autoDestroy))){var tt=ye._readableState;(!tt||tt.autoDestroy&&tt.endEmitted)&&ye.destroy()}return He}P(1765)(ee,y),H.prototype.getBuffer=function(){for(var ye=this.bufferedRequest,Pe=[];ye;)Pe.push(ye),ye=ye.next;return Pe},function(){try{Object.defineProperty(H.prototype,"buffer",{get:e.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}}(),typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(t=Function.prototype[Symbol.hasInstance],Object.defineProperty(ee,Symbol.hasInstance,{value:function(ye){return!!t.call(this,ye)||this===ee&&ye&&ye._writableState instanceof H}})):t=function(ye){return ye instanceof this},ee.prototype.pipe=function(){K(this,new k)},ee.prototype.write=function(ye,Pe,He){var tt,ve=this._writableState,Oe=!1,_t=!ve.objectMode&&(tt=ye,p.isBuffer(tt)||tt instanceof u);return _t&&!p.isBuffer(ye)&&(ye=function(dt){return p.from(dt)}(ye)),typeof Pe=="function"&&(He=Pe,Pe=null),_t?Pe="buffer":Pe||(Pe=ve.defaultEncoding),typeof He!="function"&&(He=re),ve.ending?function(dt,ke){var Je=new $;K(dt,Je),process.nextTick(ke,Je)}(this,He):(_t||function(dt,ke,Je,ge){var me;return Je===null?me=new F:typeof Je=="string"||ke.objectMode||(me=new c("chunk",["string","Buffer"],Je)),!me||(K(dt,me),process.nextTick(ge,me),!1)}(this,ve,ye,He))&&(ve.pendingcb++,Oe=function(dt,ke,Je,ge,me,Ue){if(!Je){var f=function(W,V,Se){return W.objectMode||W.decodeStrings===!1||typeof V!="string"||(V=p.from(V,Se)),V}(ke,ge,me);ge!==f&&(Je=!0,me="buffer",ge=f)}var o=ke.objectMode?1:ge.length;ke.length+=o;var v=ke.length<ke.highWaterMark;if(v||(ke.needDrain=!0),ke.writing||ke.corked){var S=ke.lastBufferedRequest;ke.lastBufferedRequest={chunk:ge,encoding:me,isBuf:Je,callback:Ue,next:null},S?S.next=ke.lastBufferedRequest:ke.bufferedRequest=ke.lastBufferedRequest,ke.bufferedRequestCount+=1}else se(dt,ke,!1,o,ge,me,Ue);return v}(this,ve,_t,ye,Pe,He)),Oe},ee.prototype.cork=function(){this._writableState.corked++},ee.prototype.uncork=function(){var ye=this._writableState;ye.corked&&(ye.corked--,ye.writing||ye.corked||ye.bufferProcessing||!ye.bufferedRequest||X(this,ye))},ee.prototype.setDefaultEncoding=function(ye){if(typeof ye=="string"&&(ye=ye.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((ye+"").toLowerCase())>-1))throw new O(ye);return this._writableState.defaultEncoding=ye,this},Object.defineProperty(ee.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(ee.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),ee.prototype._write=function(ye,Pe,He){He(new d("_write()"))},ee.prototype._writev=null,ee.prototype.end=function(ye,Pe,He){var tt=this._writableState;return typeof ye=="function"?(He=ye,ye=null,Pe=null):typeof Pe=="function"&&(He=Pe,Pe=null),ye!=null&&this.write(ye,Pe),tt.corked&&(tt.corked=1,this.uncork()),tt.ending||function(ve,Oe,_t){Oe.ending=!0,Ye(ve,Oe),_t&&(Oe.finished?process.nextTick(_t):ve.once("finish",_t)),Oe.ended=!0,ve.writable=!1}(this,tt,He),this},Object.defineProperty(ee.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(ee.prototype,"destroyed",{enumerable:!1,get:function(){return this._writableState!==void 0&&this._writableState.destroyed},set:function(ye){this._writableState&&(this._writableState.destroyed=ye)}}),ee.prototype.destroy=_.destroy,ee.prototype._undestroy=_.undestroy,ee.prototype._destroy=function(ye,Pe){Pe(ye)}},7299:function(at,we,P){var ae;function T(F,$,O){return $ in F?Object.defineProperty(F,$,{value:O,enumerable:!0,configurable:!0,writable:!0}):F[$]=O,F}var t=P(8800),e=Symbol("lastResolve"),y=Symbol("lastReject"),p=Symbol("error"),u=Symbol("ended"),_=Symbol("lastPromise"),m=Symbol("handlePromise"),n=Symbol("stream");function c(F,$){return{value:F,done:$}}function d(F){var $=F[e];if($!==null){var O=F[n].read();O!==null&&(F[_]=null,F[e]=null,F[y]=null,$(c(O,!1)))}}function I(F){process.nextTick(d,F)}var k=Object.getPrototypeOf(function(){}),q=Object.setPrototypeOf((T(ae={get stream(){return this[n]},next:function(){var F=this,$=this[p];if($!==null)return Promise.reject($);if(this[u])return Promise.resolve(c(void 0,!0));if(this[n].destroyed)return new Promise(function(H,ee){process.nextTick(function(){F[p]?ee(F[p]):H(c(void 0,!0))})});var O,K=this[_];if(K)O=new Promise(function(H,ee){return function(se,_e){H.then(function(){ee[u]?se(c(void 0,!0)):ee[m](se,_e)},_e)}}(K,this));else{var re=this[n].read();if(re!==null)return Promise.resolve(c(re,!1));O=new Promise(this[m])}return this[_]=O,O}},Symbol.asyncIterator,function(){return this}),T(ae,"return",function(){var F=this;return new Promise(function($,O){F[n].destroy(null,function(K){K?O(K):$(c(void 0,!0))})})}),ae),k);at.exports=function(F){var $,O=Object.create(q,(T($={},n,{value:F,writable:!0}),T($,e,{value:null,writable:!0}),T($,y,{value:null,writable:!0}),T($,p,{value:null,writable:!0}),T($,u,{value:F._readableState.endEmitted,writable:!0}),T($,m,{value:function(K,re){var H=O[n].read();H?(O[_]=null,O[e]=null,O[y]=null,K(c(H,!1))):(O[e]=K,O[y]=re)},writable:!0}),$));return O[_]=null,t(F,function(K){if(K&&K.code!=="ERR_STREAM_PREMATURE_CLOSE"){var re=O[y];return re!==null&&(O[_]=null,O[e]=null,O[y]=null,re(K)),void(O[p]=K)}var H=O[e];H!==null&&(O[_]=null,O[e]=null,O[y]=null,H(c(void 0,!0))),O[u]=!0}),F.on("readable",I.bind(null,O)),O}},8393:function(at,we,P){function ae(u,_){var m=Object.keys(u);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(u);_&&(n=n.filter(function(c){return Object.getOwnPropertyDescriptor(u,c).enumerable})),m.push.apply(m,n)}return m}function T(u,_,m){return _ in u?Object.defineProperty(u,_,{value:m,enumerable:!0,configurable:!0,writable:!0}):u[_]=m,u}function t(u,_){for(var m=0;m<_.length;m++){var n=_[m];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(u,n.key,n)}}var e=P(1549).Buffer,y=P(9862).inspect,p=y&&y.custom||"inspect";at.exports=function(){function u(){(function(n,c){if(!(n instanceof c))throw new TypeError("Cannot call a class as a function")})(this,u),this.head=null,this.tail=null,this.length=0}var _,m;return _=u,m=[{key:"push",value:function(n){var c={data:n,next:null};this.length>0?this.tail.next=c:this.head=c,this.tail=c,++this.length}},{key:"unshift",value:function(n){var c={data:n,next:this.head};this.length===0&&(this.tail=c),this.head=c,++this.length}},{key:"shift",value:function(){if(this.length!==0){var n=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,n}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(n){if(this.length===0)return"";for(var c=this.head,d=""+c.data;c=c.next;)d+=n+c.data;return d}},{key:"concat",value:function(n){if(this.length===0)return e.alloc(0);for(var c,d,I,k=e.allocUnsafe(n>>>0),q=this.head,F=0;q;)c=q.data,d=k,I=F,e.prototype.copy.call(c,d,I),F+=q.data.length,q=q.next;return k}},{key:"consume",value:function(n,c){var d;return n<this.head.data.length?(d=this.head.data.slice(0,n),this.head.data=this.head.data.slice(n)):d=n===this.head.data.length?this.shift():c?this._getString(n):this._getBuffer(n),d}},{key:"first",value:function(){return this.head.data}},{key:"_getString",value:function(n){var c=this.head,d=1,I=c.data;for(n-=I.length;c=c.next;){var k=c.data,q=n>k.length?k.length:n;if(q===k.length?I+=k:I+=k.slice(0,n),(n-=q)==0){q===k.length?(++d,c.next?this.head=c.next:this.head=this.tail=null):(this.head=c,c.data=k.slice(q));break}++d}return this.length-=d,I}},{key:"_getBuffer",value:function(n){var c=e.allocUnsafe(n),d=this.head,I=1;for(d.data.copy(c),n-=d.data.length;d=d.next;){var k=d.data,q=n>k.length?k.length:n;if(k.copy(c,c.length-n,0,q),(n-=q)==0){q===k.length?(++I,d.next?this.head=d.next:this.head=this.tail=null):(this.head=d,d.data=k.slice(q));break}++I}return this.length-=I,c}},{key:p,value:function(n,c){return y(this,function(d){for(var I=1;I<arguments.length;I++){var k=arguments[I]!=null?arguments[I]:{};I%2?ae(Object(k),!0).forEach(function(q){T(d,q,k[q])}):Object.getOwnPropertyDescriptors?Object.defineProperties(d,Object.getOwnPropertyDescriptors(k)):ae(Object(k)).forEach(function(q){Object.defineProperty(d,q,Object.getOwnPropertyDescriptor(k,q))})}return d}({},c,{depth:0,customInspect:!1}))}}],m&&t(_.prototype,m),u}()},6163:function(at){function we(T,t){ae(T,t),P(T)}function P(T){T._writableState&&!T._writableState.emitClose||T._readableState&&!T._readableState.emitClose||T.emit("close")}function ae(T,t){T.emit("error",t)}at.exports={destroy:function(T,t){var e=this,y=this._readableState&&this._readableState.destroyed,p=this._writableState&&this._writableState.destroyed;return y||p?(t?t(T):T&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(ae,this,T)):process.nextTick(ae,this,T)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(T||null,function(u){!t&&u?e._writableState?e._writableState.errorEmitted?process.nextTick(P,e):(e._writableState.errorEmitted=!0,process.nextTick(we,e,u)):process.nextTick(we,e,u):t?(process.nextTick(P,e),t(u)):process.nextTick(P,e)}),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)},errorOrDestroy:function(T,t){var e=T._readableState,y=T._writableState;e&&e.autoDestroy||y&&y.autoDestroy?T.destroy(t):T.emit("error",t)}}},8800:function(at,we,P){var ae=P(3690).q.ERR_STREAM_PREMATURE_CLOSE;function T(){}at.exports=function t(e,y,p){if(typeof y=="function")return t(e,null,y);y||(y={}),p=function($){var O=!1;return function(){if(!O){O=!0;for(var K=arguments.length,re=new Array(K),H=0;H<K;H++)re[H]=arguments[H];$.apply(this,re)}}}(p||T);var u=y.readable||y.readable!==!1&&e.readable,_=y.writable||y.writable!==!1&&e.writable,m=function(){e.writable||c()},n=e._writableState&&e._writableState.finished,c=function(){_=!1,n=!0,u||p.call(e)},d=e._readableState&&e._readableState.endEmitted,I=function(){u=!1,d=!0,_||p.call(e)},k=function($){p.call(e,$)},q=function(){var $;return u&&!d?(e._readableState&&e._readableState.ended||($=new ae),p.call(e,$)):_&&!n?(e._writableState&&e._writableState.ended||($=new ae),p.call(e,$)):void 0},F=function(){e.req.on("finish",c)};return function($){return $.setHeader&&typeof $.abort=="function"}(e)?(e.on("complete",c),e.on("abort",q),e.req?F():e.on("request",F)):_&&!e._writableState&&(e.on("end",m),e.on("close",m)),e.on("end",I),e.on("finish",c),y.error!==!1&&e.on("error",k),e.on("close",q),function(){e.removeListener("complete",c),e.removeListener("abort",q),e.removeListener("request",F),e.req&&e.req.removeListener("finish",c),e.removeListener("end",m),e.removeListener("close",m),e.removeListener("finish",c),e.removeListener("end",I),e.removeListener("error",k),e.removeListener("close",q)}}},6233:function(at){at.exports=function(){throw new Error("Readable.from is not available in the browser")}},7295:function(at,we,P){var ae,T=P(3690).q,t=T.ERR_MISSING_ARGS,e=T.ERR_STREAM_DESTROYED;function y(n){if(n)throw n}function p(n,c,d,I){I=function(F){var $=!1;return function(){$||($=!0,F.apply(void 0,arguments))}}(I);var k=!1;n.on("close",function(){k=!0}),ae===void 0&&(ae=P(8800)),ae(n,{readable:c,writable:d},function(F){if(F)return I(F);k=!0,I()});var q=!1;return function(F){if(!k&&!q)return q=!0,function($){return $.setHeader&&typeof $.abort=="function"}(n)?n.abort():typeof n.destroy=="function"?n.destroy():void I(F||new e("pipe"))}}function u(n){n()}function _(n,c){return n.pipe(c)}function m(n){return n.length?typeof n[n.length-1]!="function"?y:n.pop():y}at.exports=function(){for(var n=arguments.length,c=new Array(n),d=0;d<n;d++)c[d]=arguments[d];var I,k=m(c);if(Array.isArray(c[0])&&(c=c[0]),c.length<2)throw new t("streams");var q=c.map(function(F,$){var O=$<c.length-1;return p(F,O,$>0,function(K){I||(I=K),K&&q.forEach(u),O||(q.forEach(u),k(I))})});return c.reduce(_)}},7269:function(at,we,P){var ae=P(3690).q.ERR_INVALID_OPT_VALUE;at.exports={getHighWaterMark:function(T,t,e,y){var p=function(u,_,m){return u.highWaterMark!=null?u.highWaterMark:_?u[m]:null}(t,y,e);if(p!=null){if(!isFinite(p)||Math.floor(p)!==p||p<0)throw new ae(y?e:"highWaterMark",p);return Math.floor(p)}return T.objectMode?16:16384}}},9299:function(at,we,P){at.exports=P(1159).EventEmitter},7503:function(at,we,P){var ae=P(8387).Buffer,T=ae.isEncoding||function(d){switch((d=""+d)&&d.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function t(d){var I;switch(this.encoding=function(k){var q=function(F){if(!F)return"utf8";for(var $;;)switch(F){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return F;default:if($)return;F=(""+F).toLowerCase(),$=!0}}(k);if(typeof q!="string"&&(ae.isEncoding===T||!T(k)))throw new Error("Unknown encoding: "+k);return q||k}(d),this.encoding){case"utf16le":this.text=p,this.end=u,I=4;break;case"utf8":this.fillLast=y,I=4;break;case"base64":this.text=_,this.end=m,I=3;break;default:return this.write=n,void(this.end=c)}this.lastNeed=0,this.lastTotal=0,this.lastChar=ae.allocUnsafe(I)}function e(d){return d<=127?0:d>>5==6?2:d>>4==14?3:d>>3==30?4:d>>6==2?-1:-2}function y(d){var I=this.lastTotal-this.lastNeed,k=function(q,F,$){if((192&F[0])!=128)return q.lastNeed=0,"�";if(q.lastNeed>1&&F.length>1){if((192&F[1])!=128)return q.lastNeed=1,"�";if(q.lastNeed>2&&F.length>2&&(192&F[2])!=128)return q.lastNeed=2,"�"}}(this,d);return k!==void 0?k:this.lastNeed<=d.length?(d.copy(this.lastChar,I,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(d.copy(this.lastChar,I,0,d.length),void(this.lastNeed-=d.length))}function p(d,I){if((d.length-I)%2==0){var k=d.toString("utf16le",I);if(k){var q=k.charCodeAt(k.length-1);if(q>=55296&&q<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=d[d.length-2],this.lastChar[1]=d[d.length-1],k.slice(0,-1)}return k}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=d[d.length-1],d.toString("utf16le",I,d.length-1)}function u(d){var I=d&&d.length?this.write(d):"";if(this.lastNeed){var k=this.lastTotal-this.lastNeed;return I+this.lastChar.toString("utf16le",0,k)}return I}function _(d,I){var k=(d.length-I)%3;return k===0?d.toString("base64",I):(this.lastNeed=3-k,this.lastTotal=3,k===1?this.lastChar[0]=d[d.length-1]:(this.lastChar[0]=d[d.length-2],this.lastChar[1]=d[d.length-1]),d.toString("base64",I,d.length-k))}function m(d){var I=d&&d.length?this.write(d):"";return this.lastNeed?I+this.lastChar.toString("base64",0,3-this.lastNeed):I}function n(d){return d.toString(this.encoding)}function c(d){return d&&d.length?this.write(d):""}we.s=t,t.prototype.write=function(d){if(d.length===0)return"";var I,k;if(this.lastNeed){if((I=this.fillLast(d))===void 0)return"";k=this.lastNeed,this.lastNeed=0}else k=0;return k<d.length?I?I+this.text(d,k):this.text(d,k):I||""},t.prototype.end=function(d){var I=d&&d.length?this.write(d):"";return this.lastNeed?I+"�":I},t.prototype.text=function(d,I){var k=function(F,$,O){var K=$.length-1;if(K<O)return 0;var re=e($[K]);return re>=0?(re>0&&(F.lastNeed=re-1),re):--K<O||re===-2?0:(re=e($[K]))>=0?(re>0&&(F.lastNeed=re-2),re):--K<O||re===-2?0:(re=e($[K]))>=0?(re>0&&(re===2?re=0:F.lastNeed=re-3),re):0}(this,d,I);if(!this.lastNeed)return d.toString("utf8",I);this.lastTotal=k;var q=d.length-(k-this.lastNeed);return d.copy(this.lastChar,0,q),d.toString("utf8",I,q)},t.prototype.fillLast=function(d){if(this.lastNeed<=d.length)return d.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);d.copy(this.lastChar,this.lastTotal-this.lastNeed,0,d.length),this.lastNeed-=d.length}},1067:function(at,we,P){var ae;(function(T,t){var e="function",y="undefined",p="object",u="string",_="major",m="model",n="name",c="type",d="vendor",I="version",k="architecture",q="console",F="mobile",$="tablet",O="smarttv",K="wearable",re="embedded",H="Amazon",ee="Apple",se="ASUS",_e="BlackBerry",X="Browser",Ae="Chrome",Le="Firefox",Ye="Google",ye="Huawei",Pe="LG",He="Microsoft",tt="Motorola",ve="Opera",Oe="Samsung",_t="Sharp",dt="Sony",ke="Xiaomi",Je="Zebra",ge="Facebook",me="Chromium OS",Ue="Mac OS",f=function(xe){for(var Qe={},mt=0;mt<xe.length;mt++)Qe[xe[mt].toUpperCase()]=xe[mt];return Qe},o=function(xe,Qe){return typeof xe===u&&v(Qe).indexOf(v(xe))!==-1},v=function(xe){return xe.toLowerCase()},S=function(xe,Qe){if(typeof xe===u)return xe=xe.replace(/^\s\s*/,""),typeof Qe===y?xe:xe.substring(0,500)},W=function(xe,Qe){for(var mt,it,Ut,It,Ft,Pt,tn=0;tn<Qe.length&&!Ft;){var dn=Qe[tn],An=Qe[tn+1];for(mt=it=0;mt<dn.length&&!Ft&&dn[mt];)if(Ft=dn[mt++].exec(xe))for(Ut=0;Ut<An.length;Ut++)Pt=Ft[++it],typeof(It=An[Ut])===p&&It.length>0?It.length===2?typeof It[1]==e?this[It[0]]=It[1].call(this,Pt):this[It[0]]=It[1]:It.length===3?typeof It[1]!==e||It[1].exec&&It[1].test?this[It[0]]=Pt?Pt.replace(It[1],It[2]):t:this[It[0]]=Pt?It[1].call(this,Pt,It[2]):t:It.length===4&&(this[It[0]]=Pt?It[3].call(this,Pt.replace(It[1],It[2])):t):this[It]=Pt||t;tn+=2}},V=function(xe,Qe){for(var mt in Qe)if(typeof Qe[mt]===p&&Qe[mt].length>0){for(var it=0;it<Qe[mt].length;it++)if(o(Qe[mt][it],xe))return mt==="?"?t:mt}else if(o(Qe[mt],xe))return mt==="?"?t:mt;return xe},Se={ME:"4.90","NT 3.11":"NT3.51","NT 4.0":"NT4.0",2e3:"NT 5.0",XP:["NT 5.1","NT 5.2"],Vista:"NT 6.0",7:"NT 6.1",8:"NT 6.2",8.1:"NT 6.3",10:["NT 6.4","NT 10.0"],RT:"ARM"},ze={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[I,[n,"Chrome"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[I,[n,"Edge"]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[n,I],[/opios[\/ ]+([\w\.]+)/i],[I,[n,ve+" Mini"]],[/\bopr\/([\w\.]+)/i],[I,[n,ve]],[/\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\/ ]?([\w\.]+)/i],[I,[n,"Baidu"]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer)[\/ ]?([\w\.]*)/i,/(avant|iemobile|slim)\s?(?:browser)?[\/ ]?([\w\.]*)/i,/(?:ms|\()(ie) ([\w\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|qq|duckduckgo)\/([-\w\.]+)/i,/(heytap|ovi)browser\/([\d\.]+)/i,/(weibo)__([\d\.]+)/i],[n,I],[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],[I,[n,"UC"+X]],[/microm.+\bqbcore\/([\w\.]+)/i,/\bqbcore\/([\w\.]+).+microm/i,/micromessenger\/([\w\.]+)/i],[I,[n,"WeChat"]],[/konqueror\/([\w\.]+)/i],[I,[n,"Konqueror"]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[I,[n,"IE"]],[/ya(?:search)?browser\/([\w\.]+)/i],[I,[n,"Yandex"]],[/slbrowser\/([\w\.]+)/i],[I,[n,"Smart Lenovo "+X]],[/(avast|avg)\/([\w\.]+)/i],[[n,/(.+)/,"$1 Secure "+X],I],[/\bfocus\/([\w\.]+)/i],[I,[n,Le+" Focus"]],[/\bopt\/([\w\.]+)/i],[I,[n,ve+" Touch"]],[/coc_coc\w+\/([\w\.]+)/i],[I,[n,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[I,[n,"Dolphin"]],[/coast\/([\w\.]+)/i],[I,[n,ve+" Coast"]],[/miuibrowser\/([\w\.]+)/i],[I,[n,"MIUI "+X]],[/fxios\/([-\w\.]+)/i],[I,[n,Le]],[/\bqihu|(qi?ho?o?|360)browser/i],[[n,"360 "+X]],[/(oculus|sailfish|huawei|vivo)browser\/([\w\.]+)/i],[[n,/(.+)/,"$1 "+X],I],[/samsungbrowser\/([\w\.]+)/i],[I,[n,Oe+" Internet"]],[/(comodo_dragon)\/([\w\.]+)/i],[[n,/_/g," "],I],[/metasr[\/ ]?([\d\.]+)/i],[I,[n,"Sogou Explorer"]],[/(sogou)mo\w+\/([\d\.]+)/i],[[n,"Sogou Mobile"],I],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|2345Explorer)[\/ ]?([\w\.]+)/i],[n,I],[/(lbbrowser)/i,/\[(linkedin)app\]/i],[n],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[n,ge],I],[/(Klarna)\/([\w\.]+)/i,/(kakao(?:talk|story))[\/ ]([\w\.]+)/i,/(naver)\(.*?(\d+\.[\w\.]+).*\)/i,/safari (line)\/([\w\.]+)/i,/\b(line)\/([\w\.]+)\/iab/i,/(alipay)client\/([\w\.]+)/i,/(chromium|instagram|snapchat)[\/ ]([-\w\.]+)/i],[n,I],[/\bgsa\/([\w\.]+) .*safari\//i],[I,[n,"GSA"]],[/musical_ly(?:.+app_?version\/|_)([\w\.]+)/i],[I,[n,"TikTok"]],[/headlesschrome(?:\/([\w\.]+)| )/i],[I,[n,Ae+" Headless"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[n,Ae+" WebView"],I],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[I,[n,"Android "+X]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[n,I],[/version\/([\w\.\,]+) .*mobile\/\w+ (safari)/i],[I,[n,"Mobile Safari"]],[/version\/([\w(\.|\,)]+) .*(mobile ?safari|safari)/i],[I,n],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[n,[I,V,{"1.0":"/8",1.2:"/1",1.3:"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"}]],[/(webkit|khtml)\/([\w\.]+)/i],[n,I],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[n,"Netscape"],I],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[I,[n,Le+" Reality"]],[/ekiohf.+(flow)\/([\w\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\/ ]?([\w\.\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,/(firefox)\/([\w\.]+)/i,/(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/(links) \(([\w\.]+)/i,/panasonic;(viera)/i],[n,I],[/(cobalt)\/([\w\.]+)/i],[n,[I,/master.|lts./,""]]],cpu:[[/(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\)]/i],[[k,"amd64"]],[/(ia32(?=;))/i],[[k,v]],[/((?:i[346]|x)86)[;\)]/i],[[k,"ia32"]],[/\b(aarch64|arm(v?8e?l?|_?64))\b/i],[[k,"arm64"]],[/\b(arm(?:v[67])?ht?n?[fl]p?)\b/i],[[k,"armhf"]],[/windows (ce|mobile); ppc;/i],[[k,"arm"]],[/((?:ppc|powerpc)(?:64)?)(?: mac|;|\))/i],[[k,/ower/,"",v]],[/(sun4\w)[;\)]/i],[[k,"sparc"]],[/((?:avr32|ia64(?=;))|68k(?=\))|\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\b|pa-risc)/i],[[k,v]]],device:[[/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i],[m,[d,Oe],[c,$]],[/\b((?:s[cgp]h|gt|sm)-\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,/samsung[- ]([-\w]+)/i,/sec-(sgh\w+)/i],[m,[d,Oe],[c,F]],[/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i],[m,[d,ee],[c,F]],[/\((ipad);[-\w\),; ]+apple/i,/applecoremedia\/[\w\.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[m,[d,ee],[c,$]],[/(macintosh);/i],[m,[d,ee]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[m,[d,_t],[c,F]],[/\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\d{2})\b(?!.+d\/s)/i],[m,[d,ye],[c,$]],[/(?:huawei|honor)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i],[m,[d,ye],[c,F]],[/\b(poco[\w ]+|m2\d{3}j\d\d[a-z]{2})(?: bui|\))/i,/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,/oid[^\)]+; (m?[12][0-389][01]\w{3,6}[c-y])( bui|; wv|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\))/i],[[m,/_/g," "],[d,ke],[c,F]],[/oid[^\)]+; (2\d{4}(283|rpbf)[cgl])( bui|\))/i,/\b(mi[-_ ]?(?:pad)(?:[\w_ ]+))(?: bui|\))/i],[[m,/_/g," "],[d,ke],[c,$]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[m,[d,"OPPO"],[c,F]],[/vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[m,[d,"Vivo"],[c,F]],[/\b(rmx[1-3]\d{3})(?: bui|;|\))/i],[m,[d,"Realme"],[c,F]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ](\w*)/i,/((?:moto[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i],[m,[d,tt],[c,F]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[m,[d,tt],[c,$]],[/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[m,[d,Pe],[c,$]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+((?!browser|netcast|android tv)\w+)/i,/\blg-?([\d\w]+) bui/i],[m,[d,Pe],[c,F]],[/(ideatab[-\w ]+)/i,/lenovo ?(s[56]000[-\w]+|tab(?:[\w ]+)|yt[-\d\w]{6}|tb[-\d\w]{6})/i],[m,[d,"Lenovo"],[c,$]],[/(?:maemo|nokia).*(n900|lumia \d+)/i,/nokia[-_ ]?([-\w\.]*)/i],[[m,/_/g," "],[d,"Nokia"],[c,F]],[/(pixel c)\b/i],[m,[d,Ye],[c,$]],[/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i],[m,[d,Ye],[c,F]],[/droid.+ (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i],[m,[d,dt],[c,F]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[m,"Xperia Tablet"],[d,dt],[c,$]],[/ (kb2005|in20[12]5|be20[12][59])\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[m,[d,"OnePlus"],[c,F]],[/(alexa)webm/i,/(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[m,[d,H],[c,$]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[m,/(.+)/g,"Fire Phone $1"],[d,H],[c,F]],[/(playbook);[-\w\),; ]+(rim)/i],[m,d,[c,$]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10; (\w+)/i],[m,[d,_e],[c,F]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[m,[d,se],[c,$]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[m,[d,se],[c,F]],[/(nexus 9)/i],[m,[d,"HTC"],[c,$]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i],[d,[m,/_/g," "],[c,F]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[m,[d,"Acer"],[c,$]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[m,[d,"Meizu"],[c,F]],[/; ((?:power )?armor(?:[\w ]{0,8}))(?: bui|\))/i],[m,[d,"Ulefone"],[c,F]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron|infinix|tecno)[-_ ]?([-\w]*)/i,/(hp) ([\w ]+\w)/i,/(asus)-?(\w+)/i,/(microsoft); (lumia[\w ]+)/i,/(lenovo)[-_ ]?([-\w]+)/i,/(jolla)/i,/(oppo) ?([\w ]+) bui/i],[d,m,[c,F]],[/(kobo)\s(ereader|touch)/i,/(archos) (gamepad2?)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i,/(nook)[\w ]+build\/(\w+)/i,/(dell) (strea[kpr\d ]*[\dko])/i,/(le[- ]+pan)[- ]+(\w{1,9}) bui/i,/(trinity)[- ]*(t\d{3}) bui/i,/(gigaset)[- ]+(q\w{1,9}) bui/i,/(vodafone) ([\w ]+)(?:\)| bui)/i],[d,m,[c,$]],[/(surface duo)/i],[m,[d,He],[c,$]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[m,[d,"Fairphone"],[c,F]],[/(u304aa)/i],[m,[d,"AT&T"],[c,F]],[/\bsie-(\w*)/i],[m,[d,"Siemens"],[c,F]],[/\b(rct\w+) b/i],[m,[d,"RCA"],[c,$]],[/\b(venue[\d ]{2,7}) b/i],[m,[d,"Dell"],[c,$]],[/\b(q(?:mv|ta)\w+) b/i],[m,[d,"Verizon"],[c,$]],[/\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i],[m,[d,"Barnes & Noble"],[c,$]],[/\b(tm\d{3}\w+) b/i],[m,[d,"NuVision"],[c,$]],[/\b(k88) b/i],[m,[d,"ZTE"],[c,$]],[/\b(nx\d{3}j) b/i],[m,[d,"ZTE"],[c,F]],[/\b(gen\d{3}) b.+49h/i],[m,[d,"Swiss"],[c,F]],[/\b(zur\d{3}) b/i],[m,[d,"Swiss"],[c,$]],[/\b((zeki)?tb.*\b) b/i],[m,[d,"Zeki"],[c,$]],[/\b([yr]\d{2}) b/i,/\b(dragon[- ]+touch |dt)(\w{5}) b/i],[[d,"Dragon Touch"],m,[c,$]],[/\b(ns-?\w{0,9}) b/i],[m,[d,"Insignia"],[c,$]],[/\b((nxa|next)-?\w{0,9}) b/i],[m,[d,"NextBook"],[c,$]],[/\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i],[[d,"Voice"],m,[c,F]],[/\b(lvtel\-)?(v1[12]) b/i],[[d,"LvTel"],m,[c,F]],[/\b(ph-1) /i],[m,[d,"Essential"],[c,F]],[/\b(v(100md|700na|7011|917g).*\b) b/i],[m,[d,"Envizen"],[c,$]],[/\b(trio[-\w\. ]+) b/i],[m,[d,"MachSpeed"],[c,$]],[/\btu_(1491) b/i],[m,[d,"Rotor"],[c,$]],[/(shield[\w ]+) b/i],[m,[d,"Nvidia"],[c,$]],[/(sprint) (\w+)/i],[d,m,[c,F]],[/(kin\.[onetw]{3})/i],[[m,/\./g," "],[d,He],[c,F]],[/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[m,[d,Je],[c,$]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[m,[d,Je],[c,F]],[/smart-tv.+(samsung)/i],[d,[c,O]],[/hbbtv.+maple;(\d+)/i],[[m,/^/,"SmartTV"],[d,Oe],[c,O]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[d,Pe],[c,O]],[/(apple) ?tv/i],[d,[m,ee+" TV"],[c,O]],[/crkey/i],[[m,Ae+"cast"],[d,Ye],[c,O]],[/droid.+aft(\w+)( bui|\))/i],[m,[d,H],[c,O]],[/\(dtv[\);].+(aquos)/i,/(aquos-tv[\w ]+)\)/i],[m,[d,_t],[c,O]],[/(bravia[\w ]+)( bui|\))/i],[m,[d,dt],[c,O]],[/(mitv-\w{5}) bui/i],[m,[d,ke],[c,O]],[/Hbbtv.*(technisat) (.*);/i],[d,m,[c,O]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i],[[d,S],[m,S],[c,O]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i],[[c,O]],[/(ouya)/i,/(nintendo) ([wids3utch]+)/i],[d,m,[c,q]],[/droid.+; (shield) bui/i],[m,[d,"Nvidia"],[c,q]],[/(playstation [345portablevi]+)/i],[m,[d,dt],[c,q]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[m,[d,He],[c,q]],[/((pebble))app/i],[d,m,[c,K]],[/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i],[m,[d,ee],[c,K]],[/droid.+; (glass) \d/i],[m,[d,Ye],[c,K]],[/droid.+; (wt63?0{2,3})\)/i],[m,[d,Je],[c,K]],[/(quest( 2| pro)?)/i],[m,[d,ge],[c,K]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[d,[c,re]],[/(aeobc)\b/i],[m,[d,H],[c,re]],[/droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew).+? mobile safari/i],[m,[c,F]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i],[m,[c,$]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[c,$]],[/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i],[[c,F]],[/(android[-\w\. ]{0,9});.+buil/i],[m,[d,"Generic"]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[I,[n,"EdgeHTML"]],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[I,[n,"Blink"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\/([\w\.]+)/i,/ekioh(flow)\/([\w\.]+)/i,/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,/(icab)[\/ ]([23]\.[\d\.]+)/i,/\b(libweb)/i],[n,I],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[I,n]],os:[[/microsoft (windows) (vista|xp)/i],[n,I],[/(windows (?:phone(?: os)?|mobile))[\/ ]?([\d\.\w ]*)/i],[n,[I,V,Se]],[/windows nt 6\.2; (arm)/i,/windows[\/ ]?([ntce\d\. ]+\w)(?!.+xbox)/i,/(?:win(?=3|9|n)|win 9x )([nt\d\.]+)/i],[[I,V,Se],[n,"Windows"]],[/ip[honead]{2,4}\b(?:.*os ([\w]+) like mac|; opera)/i,/(?:ios;fbsv\/|iphone.+ios[\/ ])([\d\.]+)/i,/cfnetwork\/.+darwin/i],[[I,/_/g,"."],[n,"iOS"]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+haiku)/i],[[n,Ue],[I,/_/g,"."]],[/droid ([\w\.]+)\b.+(android[- ]x86|harmonyos)/i],[I,n],[/(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\/ ]?([\w\.]*)/i,/(blackberry)\w*\/([\w\.]*)/i,/(tizen|kaios)[\/ ]([\w\.]+)/i,/\((series40);/i],[n,I],[/\(bb(10);/i],[I,[n,_e]],[/(?:symbian ?os|symbos|s60(?=;)|series60)[-\/ ]?([\w\.]*)/i],[I,[n,"Symbian"]],[/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i],[I,[n,Le+" OS"]],[/web0s;.+rt(tv)/i,/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i],[I,[n,"webOS"]],[/watch(?: ?os[,\/]|\d,\d\/)([\d\.]+)/i],[I,[n,"watchOS"]],[/crkey\/([\d\.]+)/i],[I,[n,Ae+"cast"]],[/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i],[[n,me],I],[/panasonic;(viera)/i,/(netrange)mmh/i,/(nettv)\/(\d+\.[\w\.]+)/i,/(nintendo|playstation) ([wids345portablevuch]+)/i,/(xbox); +xbox ([^\);]+)/i,/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,/(mint)[\/\(\) ]?(\w*)/i,/(mageia|vectorlinux)[; ]/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,/(hurd|linux) ?([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) (\w+)/i],[n,I],[/(sunos) ?([\w\.\d]*)/i],[[n,"Solaris"],I],[/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/(aix) ((\d)(?=\.|\)| )[\w\.])*/i,/\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i,/(unix) ?([\w\.]*)/i],[n,I]]},Me=function(xe,Qe){if(typeof xe===p&&(Qe=xe,xe=t),!(this instanceof Me))return new Me(xe,Qe).getResult();var mt=typeof T!==y&&T.navigator?T.navigator:t,it=xe||(mt&&mt.userAgent?mt.userAgent:""),Ut=mt&&mt.userAgentData?mt.userAgentData:t,It=Qe?function(Pt,tn){var dn={};for(var An in Pt)tn[An]&&tn[An].length%2==0?dn[An]=tn[An].concat(Pt[An]):dn[An]=Pt[An];return dn}(ze,Qe):ze,Ft=mt&&mt.userAgent==it;return this.getBrowser=function(){var Pt,tn={};return tn[n]=t,tn[I]=t,W.call(tn,it,It.browser),tn[_]=typeof(Pt=tn[I])===u?Pt.replace(/[^\d\.]/g,"").split(".")[0]:t,Ft&&mt&&mt.brave&&typeof mt.brave.isBrave==e&&(tn[n]="Brave"),tn},this.getCPU=function(){var Pt={};return Pt[k]=t,W.call(Pt,it,It.cpu),Pt},this.getDevice=function(){var Pt={};return Pt[d]=t,Pt[m]=t,Pt[c]=t,W.call(Pt,it,It.device),Ft&&!Pt[c]&&Ut&&Ut.mobile&&(Pt[c]=F),Ft&&Pt[m]=="Macintosh"&&mt&&typeof mt.standalone!==y&&mt.maxTouchPoints&&mt.maxTouchPoints>2&&(Pt[m]="iPad",Pt[c]=$),Pt},this.getEngine=function(){var Pt={};return Pt[n]=t,Pt[I]=t,W.call(Pt,it,It.engine),Pt},this.getOS=function(){var Pt={};return Pt[n]=t,Pt[I]=t,W.call(Pt,it,It.os),Ft&&!Pt[n]&&Ut&&Ut.platform!="Unknown"&&(Pt[n]=Ut.platform.replace(/chrome os/i,me).replace(/macos/i,Ue)),Pt},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return it},this.setUA=function(Pt){return it=typeof Pt===u&&Pt.length>500?S(Pt,500):Pt,this},this.setUA(it),this};Me.VERSION="1.0.37",Me.BROWSER=f([n,I,_]),Me.CPU=f([k]),Me.DEVICE=f([m,d,c,q,F,O,$,K,re]),Me.ENGINE=Me.OS=f([n,I]),typeof we!==y?(at.exports&&(we=at.exports=Me),we.UAParser=Me):P.amdO?(ae=(function(){return Me}).call(we,P,we,at))===t||(at.exports=ae):typeof T!==y&&(T.UAParser=Me);var De=typeof T!==y&&(T.jQuery||T.Zepto);if(De&&!De.ua){var be=new Me;De.ua=be.getResult(),De.ua.get=function(){return be.getUA()},De.ua.set=function(xe){be.setUA(xe);var Qe=be.getResult();for(var mt in Qe)De.ua[mt]=Qe[mt]}}})(typeof window=="object"?window:this)},7839:function(at,we,P){function ae(T){try{if(!P.g.localStorage)return!1}catch{return!1}var t=P.g.localStorage[T];return t!=null&&String(t).toLowerCase()==="true"}at.exports=function(T,t){if(ae("noDeprecation"))return T;var e=!1;return function(){if(!e){if(ae("throwDeprecation"))throw new Error(t);ae("traceDeprecation")?console.trace(t):console.warn(t),e=!0}return T.apply(this,arguments)}}},9862:function(){},964:function(){},3165:function(at){at.exports=JSON.parse('["mni-beng-in","mni-mtei-in","sat-deva-in","sat-olck-in","shi-latn-ma","shi-tfng-ma","vai-latn-lr","vai-vaii-lr","yue-hans-cn","yue-hant-hk","az-arab-ir","az-cyrl-az","az-latn-az","bm-nkoo-ml","bs-cyrl-ba","bs-latn-ba","en-dsrt-us","ff-adlm-gn","ff-latn-sn","ha-arab-ng","hi-latn-in","iu-latn-ca","ks-arab-in","ks-deva-in","mn-mong-cn","ms-arab-my","pa-arab-pk","pa-guru-in","sd-arab-pk","sd-deva-in","sr-cyrl-rs","sr-latn-rs","su-latn-id","uz-arab-af","uz-cyrl-uz","uz-latn-uz","zh-hans-cn","zh-hant-tw","mni-beng","sat-olck","shi-tfng","vai-vaii","yue-hant","az-latn","bs-latn","ff-latn","jbo-001","ks-arab","pa-guru","prg-001","sd-arab","sr-cyrl","su-latn","uz-latn","zh-hans","agq-cm","ar-001","arn-cl","asa-tz","ast-es","bas-cm","bem-zm","bez-tz","bgn-pk","blt-vn","brx-in","bss-cm","byn-er","cad-us","cch-ng","ccp-bd","ceb-ph","cgg-ug","chr-us","cic-us","ckb-iq","dav-ke","dje-ne","doi-in","dsb-de","dua-cm","dyo-sn","ebu-ke","eo-001","ewo-cm","fil-ph","fur-it","gaa-gh","gez-et","gsw-ch","guz-ke","haw-us","hsb-de","ia-001","ife-tg","io-001","jgo-cm","jmc-tz","kab-dz","kaj-ng","kam-ke","kcg-ng","kde-tz","kea-cv","ken-cm","khq-ml","kkj-cm","kln-ke","kok-in","kpe-lr","ksb-tz","ksf-cm","ksh-de","lag-tz","lkt-us","lrc-ir","luo-ke","luy-ke","mai-in","mas-ke","mer-ke","mfe-mu","mgh-mz","mgo-cm","moh-ca","mua-cm","mus-us","myv-ru","mzn-ir","naq-na","nds-de","nmg-cm","nnh-cm","nqo-gn","nso-za","nus-ss","nyn-ug","osa-us","pcm-ng","quc-gt","rof-tz","rwk-tz","sah-ru","saq-ke","sbp-tz","scn-it","sdh-ir","seh-mz","ses-ml","sid-et","sma-se","smj-se","smn-fi","sms-fi","ssy-er","syr-iq","szl-pl","teo-ug","tig-er","trv-tw","trw-pk","twq-ne","tzm-ma","vo-001","vun-tz","wae-ch","wal-et","wbp-au","xog-ug","yav-cm","yi-001","zgh-ma","aa-et","af-za","ak-gh","am-et","an-es","as-in","ba-ru","be-by","bg-bg","bm-ml","bn-bd","bo-cn","br-fr","ca-es","ce-ru","co-fr","cs-cz","cu-ru","cv-ru","cy-gb","da-dk","de-de","dv-mv","dz-bt","ee-gh","el-gr","en-us","es-es","et-ee","eu-es","fa-ir","fi-fi","fo-fo","fr-fr","fy-nl","ga-ie","gd-gb","gl-es","gn-py","gu-in","gv-im","ha-ng","he-il","hi-in","hr-hr","hu-hu","hy-am","id-id","ig-ng","ii-cn","is-is","it-it","iu-ca","ja-jp","jv-id","ka-ge","ki-ke","kk-kz","kl-gl","km-kh","kn-in","ko-kr","ku-tr","kw-gb","ky-kg","lb-lu","lg-ug","ln-cd","lo-la","lt-lt","lu-cd","lv-lv","mg-mg","mi-nz","mk-mk","ml-in","mn-mn","mr-in","ms-my","mt-mt","my-mm","nb-no","nd-zw","ne-np","nl-nl","nn-no","nr-za","nv-us","ny-mw","oc-fr","om-et","or-in","os-ge","pl-pl","ps-af","pt-br","qu-pe","rm-ch","rn-bi","ro-ro","ru-ru","rw-rw","sa-in","sc-it","se-no","sg-cf","si-lk","sk-sk","sl-si","sn-zw","so-so","sq-al","ss-za","st-za","sv-se","sw-tz","ta-in","te-in","tg-tj","th-th","ti-et","tk-tm","tn-za","to-to","tr-tr","ts-za","tt-ru","ug-cn","uk-ua","ur-pk","ve-za","vi-vn","wa-be","wo-sn","xh-za","yo-ng","zu-za"]')},5813:function(at){at.exports=JSON.parse('[{"from":{"field":"script","value":"qaai"},"to":{"field":"script","value":"zinh"}},{"from":{"field":"region","value":"bu"},"to":{"field":"region","value":"mm"}},{"from":{"field":"region","value":"ct"},"to":{"field":"region","value":"ki"}},{"from":{"field":"region","value":"dd"},"to":{"field":"region","value":"de"}},{"from":{"field":"region","value":"dy"},"to":{"field":"region","value":"bj"}},{"from":{"field":"region","value":"fx"},"to":{"field":"region","value":"fr"}},{"from":{"field":"region","value":"hv"},"to":{"field":"region","value":"bf"}},{"from":{"field":"region","value":"jt"},"to":{"field":"region","value":"um"}},{"from":{"field":"region","value":"mi"},"to":{"field":"region","value":"um"}},{"from":{"field":"region","value":"nh"},"to":{"field":"region","value":"vu"}},{"from":{"field":"region","value":"nq"},"to":{"field":"region","value":"aq"}},{"from":{"field":"region","value":"pu"},"to":{"field":"region","value":"um"}},{"from":{"field":"region","value":"pz"},"to":{"field":"region","value":"pa"}},{"from":{"field":"region","value":"qu"},"to":{"field":"region","value":"eu"}},{"from":{"field":"region","value":"rh"},"to":{"field":"region","value":"zw"}},{"from":{"field":"region","value":"tp"},"to":{"field":"region","value":"tl"}},{"from":{"field":"region","value":"uk"},"to":{"field":"region","value":"gb"}},{"from":{"field":"region","value":"vd"},"to":{"field":"region","value":"vn"}},{"from":{"field":"region","value":"wk"},"to":{"field":"region","value":"um"}},{"from":{"field":"region","value":"yd"},"to":{"field":"region","value":"ye"}},{"from":{"field":"region","value":"zr"},"to":{"field":"region","value":"cd"}},{"from":{"field":"region","value":"230"},"to":{"field":"region","value":"et"}},{"from":{"field":"region","value":"280"},"to":{"field":"region","value":"de"}},{"from":{"field":"region","value":"736"},"to":{"field":"region","value":"sd"}},{"from":{"field":"region","value":"886"},"to":{"field":"region","value":"ye"}},{"from":{"field":"region","value":"958"},"to":{"field":"region","value":"aa"}},{"from":{"field":"region","value":"020"},"to":{"field":"region","value":"ad"}},{"from":{"field":"region","value":"784"},"to":{"field":"region","value":"ae"}},{"from":{"field":"region","value":"004"},"to":{"field":"region","value":"af"}},{"from":{"field":"region","value":"028"},"to":{"field":"region","value":"ag"}},{"from":{"field":"region","value":"660"},"to":{"field":"region","value":"ai"}},{"from":{"field":"region","value":"008"},"to":{"field":"region","value":"al"}},{"from":{"field":"region","value":"051"},"to":{"field":"region","value":"am"}},{"from":{"field":"region","value":"024"},"to":{"field":"region","value":"ao"}},{"from":{"field":"region","value":"010"},"to":{"field":"region","value":"aq"}},{"from":{"field":"region","value":"032"},"to":{"field":"region","value":"ar"}},{"from":{"field":"region","value":"016"},"to":{"field":"region","value":"as"}},{"from":{"field":"region","value":"040"},"to":{"field":"region","value":"at"}},{"from":{"field":"region","value":"036"},"to":{"field":"region","value":"au"}},{"from":{"field":"region","value":"533"},"to":{"field":"region","value":"aw"}},{"from":{"field":"region","value":"248"},"to":{"field":"region","value":"ax"}},{"from":{"field":"region","value":"031"},"to":{"field":"region","value":"az"}},{"from":{"field":"region","value":"070"},"to":{"field":"region","value":"ba"}},{"from":{"field":"region","value":"052"},"to":{"field":"region","value":"bb"}},{"from":{"field":"region","value":"050"},"to":{"field":"region","value":"bd"}},{"from":{"field":"region","value":"056"},"to":{"field":"region","value":"be"}},{"from":{"field":"region","value":"854"},"to":{"field":"region","value":"bf"}},{"from":{"field":"region","value":"100"},"to":{"field":"region","value":"bg"}},{"from":{"field":"region","value":"048"},"to":{"field":"region","value":"bh"}},{"from":{"field":"region","value":"108"},"to":{"field":"region","value":"bi"}},{"from":{"field":"region","value":"204"},"to":{"field":"region","value":"bj"}},{"from":{"field":"region","value":"652"},"to":{"field":"region","value":"bl"}},{"from":{"field":"region","value":"060"},"to":{"field":"region","value":"bm"}},{"from":{"field":"region","value":"096"},"to":{"field":"region","value":"bn"}},{"from":{"field":"region","value":"068"},"to":{"field":"region","value":"bo"}},{"from":{"field":"region","value":"535"},"to":{"field":"region","value":"bq"}},{"from":{"field":"region","value":"076"},"to":{"field":"region","value":"br"}},{"from":{"field":"region","value":"044"},"to":{"field":"region","value":"bs"}},{"from":{"field":"region","value":"064"},"to":{"field":"region","value":"bt"}},{"from":{"field":"region","value":"104"},"to":{"field":"region","value":"mm"}},{"from":{"field":"region","value":"074"},"to":{"field":"region","value":"bv"}},{"from":{"field":"region","value":"072"},"to":{"field":"region","value":"bw"}},{"from":{"field":"region","value":"112"},"to":{"field":"region","value":"by"}},{"from":{"field":"region","value":"084"},"to":{"field":"region","value":"bz"}},{"from":{"field":"region","value":"124"},"to":{"field":"region","value":"ca"}},{"from":{"field":"region","value":"166"},"to":{"field":"region","value":"cc"}},{"from":{"field":"region","value":"180"},"to":{"field":"region","value":"cd"}},{"from":{"field":"region","value":"140"},"to":{"field":"region","value":"cf"}},{"from":{"field":"region","value":"178"},"to":{"field":"region","value":"cg"}},{"from":{"field":"region","value":"756"},"to":{"field":"region","value":"ch"}},{"from":{"field":"region","value":"384"},"to":{"field":"region","value":"ci"}},{"from":{"field":"region","value":"184"},"to":{"field":"region","value":"ck"}},{"from":{"field":"region","value":"152"},"to":{"field":"region","value":"cl"}},{"from":{"field":"region","value":"120"},"to":{"field":"region","value":"cm"}},{"from":{"field":"region","value":"156"},"to":{"field":"region","value":"cn"}},{"from":{"field":"region","value":"170"},"to":{"field":"region","value":"co"}},{"from":{"field":"region","value":"188"},"to":{"field":"region","value":"cr"}},{"from":{"field":"region","value":"192"},"to":{"field":"region","value":"cu"}},{"from":{"field":"region","value":"132"},"to":{"field":"region","value":"cv"}},{"from":{"field":"region","value":"531"},"to":{"field":"region","value":"cw"}},{"from":{"field":"region","value":"162"},"to":{"field":"region","value":"cx"}},{"from":{"field":"region","value":"196"},"to":{"field":"region","value":"cy"}},{"from":{"field":"region","value":"203"},"to":{"field":"region","value":"cz"}},{"from":{"field":"region","value":"278"},"to":{"field":"region","value":"de"}},{"from":{"field":"region","value":"276"},"to":{"field":"region","value":"de"}},{"from":{"field":"region","value":"262"},"to":{"field":"region","value":"dj"}},{"from":{"field":"region","value":"208"},"to":{"field":"region","value":"dk"}},{"from":{"field":"region","value":"212"},"to":{"field":"region","value":"dm"}},{"from":{"field":"region","value":"214"},"to":{"field":"region","value":"do"}},{"from":{"field":"region","value":"012"},"to":{"field":"region","value":"dz"}},{"from":{"field":"region","value":"218"},"to":{"field":"region","value":"ec"}},{"from":{"field":"region","value":"233"},"to":{"field":"region","value":"ee"}},{"from":{"field":"region","value":"818"},"to":{"field":"region","value":"eg"}},{"from":{"field":"region","value":"732"},"to":{"field":"region","value":"eh"}},{"from":{"field":"region","value":"232"},"to":{"field":"region","value":"er"}},{"from":{"field":"region","value":"724"},"to":{"field":"region","value":"es"}},{"from":{"field":"region","value":"231"},"to":{"field":"region","value":"et"}},{"from":{"field":"region","value":"246"},"to":{"field":"region","value":"fi"}},{"from":{"field":"region","value":"242"},"to":{"field":"region","value":"fj"}},{"from":{"field":"region","value":"238"},"to":{"field":"region","value":"fk"}},{"from":{"field":"region","value":"583"},"to":{"field":"region","value":"fm"}},{"from":{"field":"region","value":"234"},"to":{"field":"region","value":"fo"}},{"from":{"field":"region","value":"250"},"to":{"field":"region","value":"fr"}},{"from":{"field":"region","value":"249"},"to":{"field":"region","value":"fr"}},{"from":{"field":"region","value":"266"},"to":{"field":"region","value":"ga"}},{"from":{"field":"region","value":"826"},"to":{"field":"region","value":"gb"}},{"from":{"field":"region","value":"308"},"to":{"field":"region","value":"gd"}},{"from":{"field":"region","value":"268"},"to":{"field":"region","value":"ge"}},{"from":{"field":"region","value":"254"},"to":{"field":"region","value":"gf"}},{"from":{"field":"region","value":"831"},"to":{"field":"region","value":"gg"}},{"from":{"field":"region","value":"288"},"to":{"field":"region","value":"gh"}},{"from":{"field":"region","value":"292"},"to":{"field":"region","value":"gi"}},{"from":{"field":"region","value":"304"},"to":{"field":"region","value":"gl"}},{"from":{"field":"region","value":"270"},"to":{"field":"region","value":"gm"}},{"from":{"field":"region","value":"324"},"to":{"field":"region","value":"gn"}},{"from":{"field":"region","value":"312"},"to":{"field":"region","value":"gp"}},{"from":{"field":"region","value":"226"},"to":{"field":"region","value":"gq"}},{"from":{"field":"region","value":"300"},"to":{"field":"region","value":"gr"}},{"from":{"field":"region","value":"239"},"to":{"field":"region","value":"gs"}},{"from":{"field":"region","value":"320"},"to":{"field":"region","value":"gt"}},{"from":{"field":"region","value":"316"},"to":{"field":"region","value":"gu"}},{"from":{"field":"region","value":"624"},"to":{"field":"region","value":"gw"}},{"from":{"field":"region","value":"328"},"to":{"field":"region","value":"gy"}},{"from":{"field":"region","value":"344"},"to":{"field":"region","value":"hk"}},{"from":{"field":"region","value":"334"},"to":{"field":"region","value":"hm"}},{"from":{"field":"region","value":"340"},"to":{"field":"region","value":"hn"}},{"from":{"field":"region","value":"191"},"to":{"field":"region","value":"hr"}},{"from":{"field":"region","value":"332"},"to":{"field":"region","value":"ht"}},{"from":{"field":"region","value":"348"},"to":{"field":"region","value":"hu"}},{"from":{"field":"region","value":"360"},"to":{"field":"region","value":"id"}},{"from":{"field":"region","value":"372"},"to":{"field":"region","value":"ie"}},{"from":{"field":"region","value":"376"},"to":{"field":"region","value":"il"}},{"from":{"field":"region","value":"833"},"to":{"field":"region","value":"im"}},{"from":{"field":"region","value":"356"},"to":{"field":"region","value":"in"}},{"from":{"field":"region","value":"086"},"to":{"field":"region","value":"io"}},{"from":{"field":"region","value":"368"},"to":{"field":"region","value":"iq"}},{"from":{"field":"region","value":"364"},"to":{"field":"region","value":"ir"}},{"from":{"field":"region","value":"352"},"to":{"field":"region","value":"is"}},{"from":{"field":"region","value":"380"},"to":{"field":"region","value":"it"}},{"from":{"field":"region","value":"832"},"to":{"field":"region","value":"je"}},{"from":{"field":"region","value":"388"},"to":{"field":"region","value":"jm"}},{"from":{"field":"region","value":"400"},"to":{"field":"region","value":"jo"}},{"from":{"field":"region","value":"392"},"to":{"field":"region","value":"jp"}},{"from":{"field":"region","value":"404"},"to":{"field":"region","value":"ke"}},{"from":{"field":"region","value":"417"},"to":{"field":"region","value":"kg"}},{"from":{"field":"region","value":"116"},"to":{"field":"region","value":"kh"}},{"from":{"field":"region","value":"296"},"to":{"field":"region","value":"ki"}},{"from":{"field":"region","value":"174"},"to":{"field":"region","value":"km"}},{"from":{"field":"region","value":"659"},"to":{"field":"region","value":"kn"}},{"from":{"field":"region","value":"408"},"to":{"field":"region","value":"kp"}},{"from":{"field":"region","value":"410"},"to":{"field":"region","value":"kr"}},{"from":{"field":"region","value":"414"},"to":{"field":"region","value":"kw"}},{"from":{"field":"region","value":"136"},"to":{"field":"region","value":"ky"}},{"from":{"field":"region","value":"398"},"to":{"field":"region","value":"kz"}},{"from":{"field":"region","value":"418"},"to":{"field":"region","value":"la"}},{"from":{"field":"region","value":"422"},"to":{"field":"region","value":"lb"}},{"from":{"field":"region","value":"662"},"to":{"field":"region","value":"lc"}},{"from":{"field":"region","value":"438"},"to":{"field":"region","value":"li"}},{"from":{"field":"region","value":"144"},"to":{"field":"region","value":"lk"}},{"from":{"field":"region","value":"430"},"to":{"field":"region","value":"lr"}},{"from":{"field":"region","value":"426"},"to":{"field":"region","value":"ls"}},{"from":{"field":"region","value":"440"},"to":{"field":"region","value":"lt"}},{"from":{"field":"region","value":"442"},"to":{"field":"region","value":"lu"}},{"from":{"field":"region","value":"428"},"to":{"field":"region","value":"lv"}},{"from":{"field":"region","value":"434"},"to":{"field":"region","value":"ly"}},{"from":{"field":"region","value":"504"},"to":{"field":"region","value":"ma"}},{"from":{"field":"region","value":"492"},"to":{"field":"region","value":"mc"}},{"from":{"field":"region","value":"498"},"to":{"field":"region","value":"md"}},{"from":{"field":"region","value":"499"},"to":{"field":"region","value":"me"}},{"from":{"field":"region","value":"663"},"to":{"field":"region","value":"mf"}},{"from":{"field":"region","value":"450"},"to":{"field":"region","value":"mg"}},{"from":{"field":"region","value":"584"},"to":{"field":"region","value":"mh"}},{"from":{"field":"region","value":"807"},"to":{"field":"region","value":"mk"}},{"from":{"field":"region","value":"466"},"to":{"field":"region","value":"ml"}},{"from":{"field":"region","value":"496"},"to":{"field":"region","value":"mn"}},{"from":{"field":"region","value":"446"},"to":{"field":"region","value":"mo"}},{"from":{"field":"region","value":"580"},"to":{"field":"region","value":"mp"}},{"from":{"field":"region","value":"474"},"to":{"field":"region","value":"mq"}},{"from":{"field":"region","value":"478"},"to":{"field":"region","value":"mr"}},{"from":{"field":"region","value":"500"},"to":{"field":"region","value":"ms"}},{"from":{"field":"region","value":"470"},"to":{"field":"region","value":"mt"}},{"from":{"field":"region","value":"480"},"to":{"field":"region","value":"mu"}},{"from":{"field":"region","value":"462"},"to":{"field":"region","value":"mv"}},{"from":{"field":"region","value":"454"},"to":{"field":"region","value":"mw"}},{"from":{"field":"region","value":"484"},"to":{"field":"region","value":"mx"}},{"from":{"field":"region","value":"458"},"to":{"field":"region","value":"my"}},{"from":{"field":"region","value":"508"},"to":{"field":"region","value":"mz"}},{"from":{"field":"region","value":"516"},"to":{"field":"region","value":"na"}},{"from":{"field":"region","value":"540"},"to":{"field":"region","value":"nc"}},{"from":{"field":"region","value":"562"},"to":{"field":"region","value":"ne"}},{"from":{"field":"region","value":"574"},"to":{"field":"region","value":"nf"}},{"from":{"field":"region","value":"566"},"to":{"field":"region","value":"ng"}},{"from":{"field":"region","value":"558"},"to":{"field":"region","value":"ni"}},{"from":{"field":"region","value":"528"},"to":{"field":"region","value":"nl"}},{"from":{"field":"region","value":"578"},"to":{"field":"region","value":"no"}},{"from":{"field":"region","value":"524"},"to":{"field":"region","value":"np"}},{"from":{"field":"region","value":"520"},"to":{"field":"region","value":"nr"}},{"from":{"field":"region","value":"570"},"to":{"field":"region","value":"nu"}},{"from":{"field":"region","value":"554"},"to":{"field":"region","value":"nz"}},{"from":{"field":"region","value":"512"},"to":{"field":"region","value":"om"}},{"from":{"field":"region","value":"591"},"to":{"field":"region","value":"pa"}},{"from":{"field":"region","value":"604"},"to":{"field":"region","value":"pe"}},{"from":{"field":"region","value":"258"},"to":{"field":"region","value":"pf"}},{"from":{"field":"region","value":"598"},"to":{"field":"region","value":"pg"}},{"from":{"field":"region","value":"608"},"to":{"field":"region","value":"ph"}},{"from":{"field":"region","value":"586"},"to":{"field":"region","value":"pk"}},{"from":{"field":"region","value":"616"},"to":{"field":"region","value":"pl"}},{"from":{"field":"region","value":"666"},"to":{"field":"region","value":"pm"}},{"from":{"field":"region","value":"612"},"to":{"field":"region","value":"pn"}},{"from":{"field":"region","value":"630"},"to":{"field":"region","value":"pr"}},{"from":{"field":"region","value":"275"},"to":{"field":"region","value":"ps"}},{"from":{"field":"region","value":"620"},"to":{"field":"region","value":"pt"}},{"from":{"field":"region","value":"585"},"to":{"field":"region","value":"pw"}},{"from":{"field":"region","value":"600"},"to":{"field":"region","value":"py"}},{"from":{"field":"region","value":"634"},"to":{"field":"region","value":"qa"}},{"from":{"field":"region","value":"959"},"to":{"field":"region","value":"qm"}},{"from":{"field":"region","value":"960"},"to":{"field":"region","value":"qn"}},{"from":{"field":"region","value":"962"},"to":{"field":"region","value":"qp"}},{"from":{"field":"region","value":"963"},"to":{"field":"region","value":"qq"}},{"from":{"field":"region","value":"964"},"to":{"field":"region","value":"qr"}},{"from":{"field":"region","value":"965"},"to":{"field":"region","value":"qs"}},{"from":{"field":"region","value":"966"},"to":{"field":"region","value":"qt"}},{"from":{"field":"region","value":"967"},"to":{"field":"region","value":"eu"}},{"from":{"field":"region","value":"968"},"to":{"field":"region","value":"qv"}},{"from":{"field":"region","value":"969"},"to":{"field":"region","value":"qw"}},{"from":{"field":"region","value":"970"},"to":{"field":"region","value":"qx"}},{"from":{"field":"region","value":"971"},"to":{"field":"region","value":"qy"}},{"from":{"field":"region","value":"972"},"to":{"field":"region","value":"qz"}},{"from":{"field":"region","value":"638"},"to":{"field":"region","value":"re"}},{"from":{"field":"region","value":"642"},"to":{"field":"region","value":"ro"}},{"from":{"field":"region","value":"688"},"to":{"field":"region","value":"rs"}},{"from":{"field":"region","value":"643"},"to":{"field":"region","value":"ru"}},{"from":{"field":"region","value":"646"},"to":{"field":"region","value":"rw"}},{"from":{"field":"region","value":"682"},"to":{"field":"region","value":"sa"}},{"from":{"field":"region","value":"090"},"to":{"field":"region","value":"sb"}},{"from":{"field":"region","value":"690"},"to":{"field":"region","value":"sc"}},{"from":{"field":"region","value":"729"},"to":{"field":"region","value":"sd"}},{"from":{"field":"region","value":"752"},"to":{"field":"region","value":"se"}},{"from":{"field":"region","value":"702"},"to":{"field":"region","value":"sg"}},{"from":{"field":"region","value":"654"},"to":{"field":"region","value":"sh"}},{"from":{"field":"region","value":"705"},"to":{"field":"region","value":"si"}},{"from":{"field":"region","value":"744"},"to":{"field":"region","value":"sj"}},{"from":{"field":"region","value":"703"},"to":{"field":"region","value":"sk"}},{"from":{"field":"region","value":"694"},"to":{"field":"region","value":"sl"}},{"from":{"field":"region","value":"674"},"to":{"field":"region","value":"sm"}},{"from":{"field":"region","value":"686"},"to":{"field":"region","value":"sn"}},{"from":{"field":"region","value":"706"},"to":{"field":"region","value":"so"}},{"from":{"field":"region","value":"740"},"to":{"field":"region","value":"sr"}},{"from":{"field":"region","value":"728"},"to":{"field":"region","value":"ss"}},{"from":{"field":"region","value":"678"},"to":{"field":"region","value":"st"}},{"from":{"field":"region","value":"222"},"to":{"field":"region","value":"sv"}},{"from":{"field":"region","value":"534"},"to":{"field":"region","value":"sx"}},{"from":{"field":"region","value":"760"},"to":{"field":"region","value":"sy"}},{"from":{"field":"region","value":"748"},"to":{"field":"region","value":"sz"}},{"from":{"field":"region","value":"796"},"to":{"field":"region","value":"tc"}},{"from":{"field":"region","value":"148"},"to":{"field":"region","value":"td"}},{"from":{"field":"region","value":"260"},"to":{"field":"region","value":"tf"}},{"from":{"field":"region","value":"768"},"to":{"field":"region","value":"tg"}},{"from":{"field":"region","value":"764"},"to":{"field":"region","value":"th"}},{"from":{"field":"region","value":"762"},"to":{"field":"region","value":"tj"}},{"from":{"field":"region","value":"772"},"to":{"field":"region","value":"tk"}},{"from":{"field":"region","value":"626"},"to":{"field":"region","value":"tl"}},{"from":{"field":"region","value":"795"},"to":{"field":"region","value":"tm"}},{"from":{"field":"region","value":"788"},"to":{"field":"region","value":"tn"}},{"from":{"field":"region","value":"776"},"to":{"field":"region","value":"to"}},{"from":{"field":"region","value":"792"},"to":{"field":"region","value":"tr"}},{"from":{"field":"region","value":"780"},"to":{"field":"region","value":"tt"}},{"from":{"field":"region","value":"798"},"to":{"field":"region","value":"tv"}},{"from":{"field":"region","value":"158"},"to":{"field":"region","value":"tw"}},{"from":{"field":"region","value":"834"},"to":{"field":"region","value":"tz"}},{"from":{"field":"region","value":"804"},"to":{"field":"region","value":"ua"}},{"from":{"field":"region","value":"800"},"to":{"field":"region","value":"ug"}},{"from":{"field":"region","value":"581"},"to":{"field":"region","value":"um"}},{"from":{"field":"region","value":"840"},"to":{"field":"region","value":"us"}},{"from":{"field":"region","value":"858"},"to":{"field":"region","value":"uy"}},{"from":{"field":"region","value":"860"},"to":{"field":"region","value":"uz"}},{"from":{"field":"region","value":"336"},"to":{"field":"region","value":"va"}},{"from":{"field":"region","value":"670"},"to":{"field":"region","value":"vc"}},{"from":{"field":"region","value":"862"},"to":{"field":"region","value":"ve"}},{"from":{"field":"region","value":"092"},"to":{"field":"region","value":"vg"}},{"from":{"field":"region","value":"850"},"to":{"field":"region","value":"vi"}},{"from":{"field":"region","value":"704"},"to":{"field":"region","value":"vn"}},{"from":{"field":"region","value":"548"},"to":{"field":"region","value":"vu"}},{"from":{"field":"region","value":"876"},"to":{"field":"region","value":"wf"}},{"from":{"field":"region","value":"882"},"to":{"field":"region","value":"ws"}},{"from":{"field":"region","value":"973"},"to":{"field":"region","value":"xa"}},{"from":{"field":"region","value":"974"},"to":{"field":"region","value":"xb"}},{"from":{"field":"region","value":"975"},"to":{"field":"region","value":"xc"}},{"from":{"field":"region","value":"976"},"to":{"field":"region","value":"xd"}},{"from":{"field":"region","value":"977"},"to":{"field":"region","value":"xe"}},{"from":{"field":"region","value":"978"},"to":{"field":"region","value":"xf"}},{"from":{"field":"region","value":"979"},"to":{"field":"region","value":"xg"}},{"from":{"field":"region","value":"980"},"to":{"field":"region","value":"xh"}},{"from":{"field":"region","value":"981"},"to":{"field":"region","value":"xi"}},{"from":{"field":"region","value":"982"},"to":{"field":"region","value":"xj"}},{"from":{"field":"region","value":"983"},"to":{"field":"region","value":"xk"}},{"from":{"field":"region","value":"984"},"to":{"field":"region","value":"xl"}},{"from":{"field":"region","value":"985"},"to":{"field":"region","value":"xm"}},{"from":{"field":"region","value":"986"},"to":{"field":"region","value":"xn"}},{"from":{"field":"region","value":"987"},"to":{"field":"region","value":"xo"}},{"from":{"field":"region","value":"988"},"to":{"field":"region","value":"xp"}},{"from":{"field":"region","value":"989"},"to":{"field":"region","value":"xq"}},{"from":{"field":"region","value":"990"},"to":{"field":"region","value":"xr"}},{"from":{"field":"region","value":"991"},"to":{"field":"region","value":"xs"}},{"from":{"field":"region","value":"992"},"to":{"field":"region","value":"xt"}},{"from":{"field":"region","value":"993"},"to":{"field":"region","value":"xu"}},{"from":{"field":"region","value":"994"},"to":{"field":"region","value":"xv"}},{"from":{"field":"region","value":"995"},"to":{"field":"region","value":"xw"}},{"from":{"field":"region","value":"996"},"to":{"field":"region","value":"xx"}},{"from":{"field":"region","value":"997"},"to":{"field":"region","value":"xy"}},{"from":{"field":"region","value":"998"},"to":{"field":"region","value":"xz"}},{"from":{"field":"region","value":"720"},"to":{"field":"region","value":"ye"}},{"from":{"field":"region","value":"887"},"to":{"field":"region","value":"ye"}},{"from":{"field":"region","value":"175"},"to":{"field":"region","value":"yt"}},{"from":{"field":"region","value":"710"},"to":{"field":"region","value":"za"}},{"from":{"field":"region","value":"894"},"to":{"field":"region","value":"zm"}},{"from":{"field":"region","value":"716"},"to":{"field":"region","value":"zw"}},{"from":{"field":"region","value":"999"},"to":{"field":"region","value":"zz"}},{"from":{"field":"variants","value":"aaland"},"to":{"field":"region","value":"ax"}},{"from":{"field":"variants","value":"polytoni"},"to":{"field":"variants","value":"polyton"}},{"from":{"field":"variants","value":"heploc"},"to":{"field":"variants","value":"alalc97"}},{"from":{"field":"variants","value":"arevela"},"to":{"field":"language","value":"hy"}},{"from":{"field":"variants","value":"arevmda"},"to":{"field":"language","value":"hyw"}}]')},9460:function(at){at.exports=JSON.parse('{"region":{"172":["ru","am","az","by","ge","kg","kz","md","tj","tm","ua","uz"],"200":["cz","sk"],"530":["cw","sx","bq"],"532":["cw","sx","bq"],"536":["sa","iq"],"582":["fm","mh","mp","pw"],"810":["ru","am","az","by","ee","ge","kz","kg","lv","lt","md","tj","tm","ua","uz"],"830":["je","gg"],"890":["rs","me","si","hr","mk","ba"],"891":["rs","me"],"an":["cw","sx","bq"],"cs":["rs","me"],"fq":["aq","tf"],"nt":["sa","iq"],"pc":["fm","mh","mp","pw"],"su":["ru","am","az","by","ee","ge","kz","kg","lv","lt","md","tj","tm","ua","uz"],"yu":["rs","me"],"062":["034","143"],"ant":["cw","sx","bq"],"scg":["rs","me"],"ntz":["sa","iq"],"sun":["ru","am","az","by","ee","ge","kz","kg","lv","lt","md","tj","tm","ua","uz"],"yug":["rs","me"]}}')},7778:function(at){at.exports=JSON.parse('[{"from":"in","to":"id"},{"from":"iw","to":"he"},{"from":"ji","to":"yi"},{"from":"jw","to":"jv"},{"from":"mo","to":"ro"},{"from":"scc","to":"sr"},{"from":"scr","to":"hr"},{"from":"aam","to":"aas"},{"from":"adp","to":"dz"},{"from":"aue","to":"ktz"},{"from":"ayx","to":"nun"},{"from":"bgm","to":"bcg"},{"from":"bjd","to":"drl"},{"from":"ccq","to":"rki"},{"from":"cjr","to":"mom"},{"from":"cka","to":"cmr"},{"from":"cmk","to":"xch"},{"from":"coy","to":"pij"},{"from":"cqu","to":"quh"},{"from":"drh","to":"mn"},{"from":"drw","to":"fa-af"},{"from":"gav","to":"dev"},{"from":"gfx","to":"vaj"},{"from":"ggn","to":"gvr"},{"from":"gti","to":"nyc"},{"from":"guv","to":"duz"},{"from":"hrr","to":"jal"},{"from":"ibi","to":"opa"},{"from":"ilw","to":"gal"},{"from":"jeg","to":"oyb"},{"from":"kgc","to":"tdf"},{"from":"kgh","to":"kml"},{"from":"koj","to":"kwv"},{"from":"krm","to":"bmf"},{"from":"ktr","to":"dtp"},{"from":"kvs","to":"gdj"},{"from":"kwq","to":"yam"},{"from":"kxe","to":"tvd"},{"from":"kzj","to":"dtp"},{"from":"kzt","to":"dtp"},{"from":"lii","to":"raq"},{"from":"lmm","to":"rmx"},{"from":"meg","to":"cir"},{"from":"mst","to":"mry"},{"from":"mwj","to":"vaj"},{"from":"myt","to":"mry"},{"from":"nad","to":"xny"},{"from":"ncp","to":"kdz"},{"from":"nnx","to":"ngv"},{"from":"nts","to":"pij"},{"from":"oun","to":"vaj"},{"from":"pcr","to":"adx"},{"from":"pmc","to":"huw"},{"from":"pmu","to":"phr"},{"from":"ppa","to":"bfy"},{"from":"ppr","to":"lcq"},{"from":"pry","to":"prt"},{"from":"puz","to":"pub"},{"from":"sca","to":"hle"},{"from":"skk","to":"oyb"},{"from":"tdu","to":"dtp"},{"from":"thc","to":"tpo"},{"from":"thx","to":"oyb"},{"from":"tie","to":"ras"},{"from":"tkk","to":"twm"},{"from":"tlw","to":"weo"},{"from":"tmp","to":"tyj"},{"from":"tne","to":"kak"},{"from":"tnf","to":"fa-af"},{"from":"tsf","to":"taj"},{"from":"uok","to":"ema"},{"from":"xba","to":"cax"},{"from":"xia","to":"acn"},{"from":"xkh","to":"waw"},{"from":"xsj","to":"suj"},{"from":"ybd","to":"rki"},{"from":"yma","to":"lrr"},{"from":"ymt","to":"mtm"},{"from":"yos","to":"zom"},{"from":"yuu","to":"yug"},{"from":"asd","to":"snz"},{"from":"dit","to":"dif"},{"from":"llo","to":"ngt"},{"from":"myd","to":"aog"},{"from":"nns","to":"nbr"},{"from":"sgn-br","to":"bzs"},{"from":"sgn-co","to":"csn"},{"from":"sgn-de","to":"gsg"},{"from":"sgn-dk","to":"dsl"},{"from":"sgn-fr","to":"fsl"},{"from":"sgn-gb","to":"bfi"},{"from":"sgn-gr","to":"gss"},{"from":"sgn-ie","to":"isg"},{"from":"sgn-it","to":"ise"},{"from":"sgn-jp","to":"jsl"},{"from":"sgn-mx","to":"mfs"},{"from":"sgn-ni","to":"ncs"},{"from":"sgn-nl","to":"dse"},{"from":"sgn-no","to":"nsi"},{"from":"sgn-pt","to":"psr"},{"from":"sgn-se","to":"swl"},{"from":"sgn-us","to":"ase"},{"from":"sgn-za","to":"sfs"},{"from":"no-bokmal","to":"nb"},{"from":"no-nynorsk","to":"nn"},{"from":"aa-saaho","to":"ssy"},{"from":"sh","to":"sr-latn"},{"from":"cnr","to":"sr-me"},{"from":"no","to":"nb"},{"from":"tl","to":"fil"},{"from":"az-az","to":"az-latn-az"},{"from":"bs-ba","to":"bs-latn-ba"},{"from":"ha-latn-gh","to":"ha-gh"},{"from":"ha-latn-ne","to":"ha-ne"},{"from":"ha-latn-ng","to":"ha-ng"},{"from":"kk-cyrl-kz","to":"kk-kz"},{"from":"ky-cyrl-kg","to":"ky-kg"},{"from":"ks-arab-in","to":"ks-in"},{"from":"mn-cyrl-mn","to":"mn-mn"},{"from":"ms-latn-bn","to":"ms-bn"},{"from":"ms-latn-my","to":"ms-my"},{"from":"ms-latn-sg","to":"ms-sg"},{"from":"pa-in","to":"pa-guru-in"},{"from":"pa-pk","to":"pa-arab-pk"},{"from":"shi-ma","to":"shi-tfng-ma"},{"from":"sr-ba","to":"sr-cyrl-ba"},{"from":"sr-me","to":"sr-latn-me"},{"from":"sr-rs","to":"sr-cyrl-rs"},{"from":"sr-xk","to":"sr-cyrl-xk"},{"from":"tzm-latn-ma","to":"tzm-ma"},{"from":"ug-arab-cn","to":"ug-cn"},{"from":"uz-af","to":"uz-arab-af"},{"from":"uz-uz","to":"uz-latn-uz"},{"from":"vai-lr","to":"vai-vaii-lr"},{"from":"yue-cn","to":"yue-hans-cn"},{"from":"yue-hk","to":"yue-hant-hk"},{"from":"zh-cn","to":"zh-hans-cn"},{"from":"zh-hk","to":"zh-hant-hk"},{"from":"zh-mo","to":"zh-hant-mo"},{"from":"zh-sg","to":"zh-hans-sg"},{"from":"zh-tw","to":"zh-hant-tw"},{"from":"aju","to":"jrb"},{"from":"als","to":"sq"},{"from":"arb","to":"ar"},{"from":"ayr","to":"ay"},{"from":"azj","to":"az"},{"from":"bcc","to":"bal"},{"from":"bcl","to":"bik"},{"from":"bxk","to":"luy"},{"from":"bxr","to":"bua"},{"from":"cld","to":"syr"},{"from":"cmn","to":"zh"},{"from":"cwd","to":"cr"},{"from":"dgo","to":"doi"},{"from":"dhd","to":"mwr"},{"from":"dik","to":"din"},{"from":"diq","to":"zza"},{"from":"lbk","to":"bnc"},{"from":"ekk","to":"et"},{"from":"emk","to":"man"},{"from":"esk","to":"ik"},{"from":"fat","to":"ak"},{"from":"fuc","to":"ff"},{"from":"gaz","to":"om"},{"from":"gbo","to":"grb"},{"from":"gno","to":"gon"},{"from":"gug","to":"gn"},{"from":"gya","to":"gba"},{"from":"hdn","to":"hai"},{"from":"hea","to":"hmn"},{"from":"ike","to":"iu"},{"from":"kmr","to":"ku"},{"from":"knc","to":"kr"},{"from":"kng","to":"kg"},{"from":"knn","to":"kok"},{"from":"kpv","to":"kv"},{"from":"lvs","to":"lv"},{"from":"mhr","to":"chm"},{"from":"mup","to":"raj"},{"from":"khk","to":"mn"},{"from":"npi","to":"ne"},{"from":"ojg","to":"oj"},{"from":"ory","to":"or"},{"from":"pbu","to":"ps"},{"from":"pes","to":"fa"},{"from":"plt","to":"mg"},{"from":"pnb","to":"lah"},{"from":"quz","to":"qu"},{"from":"rmy","to":"rom"},{"from":"spy","to":"kln"},{"from":"src","to":"sc"},{"from":"swh","to":"sw"},{"from":"ttq","to":"tmh"},{"from":"tw","to":"ak"},{"from":"umu","to":"del"},{"from":"uzn","to":"uz"},{"from":"xpe","to":"kpe"},{"from":"xsl","to":"den"},{"from":"ydd","to":"yi"},{"from":"zai","to":"zap"},{"from":"zsm","to":"ms"},{"from":"zyb","to":"za"},{"from":"him","to":"srx"},{"from":"mnk","to":"man"},{"from":"bh","to":"bho"},{"from":"prs","to":"fa-af"},{"from":"swc","to":"sw-cd"},{"from":"aar","to":"aa"},{"from":"abk","to":"ab"},{"from":"ave","to":"ae"},{"from":"afr","to":"af"},{"from":"aka","to":"ak"},{"from":"amh","to":"am"},{"from":"arg","to":"an"},{"from":"ara","to":"ar"},{"from":"asm","to":"as"},{"from":"ava","to":"av"},{"from":"aym","to":"ay"},{"from":"aze","to":"az"},{"from":"bak","to":"ba"},{"from":"bel","to":"be"},{"from":"bul","to":"bg"},{"from":"bih","to":"bho"},{"from":"bis","to":"bi"},{"from":"bam","to":"bm"},{"from":"ben","to":"bn"},{"from":"bod","to":"bo"},{"from":"bre","to":"br"},{"from":"bos","to":"bs"},{"from":"cat","to":"ca"},{"from":"che","to":"ce"},{"from":"cha","to":"ch"},{"from":"cos","to":"co"},{"from":"cre","to":"cr"},{"from":"ces","to":"cs"},{"from":"chu","to":"cu"},{"from":"chv","to":"cv"},{"from":"cym","to":"cy"},{"from":"dan","to":"da"},{"from":"deu","to":"de"},{"from":"div","to":"dv"},{"from":"dzo","to":"dz"},{"from":"ewe","to":"ee"},{"from":"ell","to":"el"},{"from":"eng","to":"en"},{"from":"epo","to":"eo"},{"from":"spa","to":"es"},{"from":"est","to":"et"},{"from":"eus","to":"eu"},{"from":"fas","to":"fa"},{"from":"ful","to":"ff"},{"from":"fin","to":"fi"},{"from":"fij","to":"fj"},{"from":"fao","to":"fo"},{"from":"fra","to":"fr"},{"from":"fry","to":"fy"},{"from":"gle","to":"ga"},{"from":"gla","to":"gd"},{"from":"glg","to":"gl"},{"from":"grn","to":"gn"},{"from":"guj","to":"gu"},{"from":"glv","to":"gv"},{"from":"hau","to":"ha"},{"from":"heb","to":"he"},{"from":"hin","to":"hi"},{"from":"hmo","to":"ho"},{"from":"hrv","to":"hr"},{"from":"hat","to":"ht"},{"from":"hun","to":"hu"},{"from":"hye","to":"hy"},{"from":"her","to":"hz"},{"from":"ina","to":"ia"},{"from":"ind","to":"id"},{"from":"ile","to":"ie"},{"from":"ibo","to":"ig"},{"from":"iii","to":"ii"},{"from":"ipk","to":"ik"},{"from":"ido","to":"io"},{"from":"isl","to":"is"},{"from":"ita","to":"it"},{"from":"iku","to":"iu"},{"from":"jpn","to":"ja"},{"from":"jav","to":"jv"},{"from":"kat","to":"ka"},{"from":"kon","to":"kg"},{"from":"kik","to":"ki"},{"from":"kua","to":"kj"},{"from":"kaz","to":"kk"},{"from":"kal","to":"kl"},{"from":"khm","to":"km"},{"from":"kan","to":"kn"},{"from":"kor","to":"ko"},{"from":"kau","to":"kr"},{"from":"kas","to":"ks"},{"from":"kur","to":"ku"},{"from":"kom","to":"kv"},{"from":"cor","to":"kw"},{"from":"kir","to":"ky"},{"from":"lat","to":"la"},{"from":"ltz","to":"lb"},{"from":"lug","to":"lg"},{"from":"lim","to":"li"},{"from":"lin","to":"ln"},{"from":"lao","to":"lo"},{"from":"lit","to":"lt"},{"from":"lub","to":"lu"},{"from":"lav","to":"lv"},{"from":"mlg","to":"mg"},{"from":"mah","to":"mh"},{"from":"mri","to":"mi"},{"from":"mkd","to":"mk"},{"from":"mal","to":"ml"},{"from":"mon","to":"mn"},{"from":"mol","to":"ro"},{"from":"mar","to":"mr"},{"from":"msa","to":"ms"},{"from":"mlt","to":"mt"},{"from":"mya","to":"my"},{"from":"nau","to":"na"},{"from":"nob","to":"nb"},{"from":"nde","to":"nd"},{"from":"nep","to":"ne"},{"from":"ndo","to":"ng"},{"from":"nld","to":"nl"},{"from":"nno","to":"nn"},{"from":"nor","to":"nb"},{"from":"nbl","to":"nr"},{"from":"nav","to":"nv"},{"from":"nya","to":"ny"},{"from":"oci","to":"oc"},{"from":"oji","to":"oj"},{"from":"orm","to":"om"},{"from":"ori","to":"or"},{"from":"oss","to":"os"},{"from":"pan","to":"pa"},{"from":"pli","to":"pi"},{"from":"pol","to":"pl"},{"from":"pus","to":"ps"},{"from":"por","to":"pt"},{"from":"que","to":"qu"},{"from":"roh","to":"rm"},{"from":"run","to":"rn"},{"from":"ron","to":"ro"},{"from":"rus","to":"ru"},{"from":"kin","to":"rw"},{"from":"san","to":"sa"},{"from":"srd","to":"sc"},{"from":"snd","to":"sd"},{"from":"sme","to":"se"},{"from":"sag","to":"sg"},{"from":"hbs","to":"sr-latn"},{"from":"sin","to":"si"},{"from":"slk","to":"sk"},{"from":"slv","to":"sl"},{"from":"smo","to":"sm"},{"from":"sna","to":"sn"},{"from":"som","to":"so"},{"from":"sqi","to":"sq"},{"from":"srp","to":"sr"},{"from":"ssw","to":"ss"},{"from":"sot","to":"st"},{"from":"sun","to":"su"},{"from":"swe","to":"sv"},{"from":"swa","to":"sw"},{"from":"tam","to":"ta"},{"from":"tel","to":"te"},{"from":"tgk","to":"tg"},{"from":"tha","to":"th"},{"from":"tir","to":"ti"},{"from":"tuk","to":"tk"},{"from":"tgl","to":"fil"},{"from":"tsn","to":"tn"},{"from":"ton","to":"to"},{"from":"tur","to":"tr"},{"from":"tso","to":"ts"},{"from":"tat","to":"tt"},{"from":"twi","to":"ak"},{"from":"tah","to":"ty"},{"from":"uig","to":"ug"},{"from":"ukr","to":"uk"},{"from":"urd","to":"ur"},{"from":"uzb","to":"uz"},{"from":"ven","to":"ve"},{"from":"vie","to":"vi"},{"from":"vol","to":"vo"},{"from":"wln","to":"wa"},{"from":"wol","to":"wo"},{"from":"xho","to":"xh"},{"from":"yid","to":"yi"},{"from":"yor","to":"yo"},{"from":"zha","to":"za"},{"from":"zho","to":"zh"},{"from":"zul","to":"zu"},{"from":"alb","to":"sq"},{"from":"arm","to":"hy"},{"from":"baq","to":"eu"},{"from":"bur","to":"my"},{"from":"chi","to":"zh"},{"from":"cze","to":"cs"},{"from":"dut","to":"nl"},{"from":"fre","to":"fr"},{"from":"geo","to":"ka"},{"from":"ger","to":"de"},{"from":"gre","to":"el"},{"from":"ice","to":"is"},{"from":"mac","to":"mk"},{"from":"mao","to":"mi"},{"from":"may","to":"ms"},{"from":"per","to":"fa"},{"from":"rum","to":"ro"},{"from":"slo","to":"sk"},{"from":"tib","to":"bo"},{"from":"wel","to":"cy"}]')},8589:function(at){at.exports=JSON.parse('{"en-gb-oed":"en-GB-oxendict","i-ami":"ami","i-bnn":"bnn","i-default":null,"i-enochian":null,"i-hak":"hak","i-klingon":"tlh","i-lux":"lb","i-mingo":null,"i-navajo":"nv","i-pwn":"pwn","i-tao":"tao","i-tay":"tay","i-tsu":"tsu","sgn-be-fr":"sfb","sgn-be-nl":"vgt","sgn-ch-de":"sgg","art-lojban":"jbo","cel-gaulish":null,"no-bok":"nb","no-nyn":"nn","zh-guoyu":"cmn","zh-hakka":"hak","zh-min":null,"zh-min-nan":"nan","zh-xiang":"hsn"}')},858:function(at){at.exports=JSON.parse('["art-lojban","cel-gaulish","no-bok","no-nyn","zh-guoyu","zh-hakka","zh-min","zh-min-nan","zh-xiang"]')}},dr={};function Fn(at){var we=dr[at];if(we!==void 0)return we.exports;var P=dr[at]={exports:{}};return wr[at].call(P.exports,P,P.exports,Fn),P.exports}Fn.amdO={},Fn.n=function(at){var we=at&&at.__esModule?function(){return at.default}:function(){return at};return Fn.d(we,{a:we}),we},Fn.d=function(at,we){for(var P in we)Fn.o(we,P)&&!Fn.o(at,P)&&Object.defineProperty(at,P,{enumerable:!0,get:we[P]})},Fn.g=function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch{if(typeof window=="object")return window}}(),Fn.o=function(at,we){return Object.prototype.hasOwnProperty.call(at,we)};var Nr={};return function(){Fn.d(Nr,{default:function(){return p}}),Fn(8416);var at,we=Fn(1715),P=Fn(8080),ae=Fn(1737),T=Fn(1139),t=function(){var u,_="application/dash+xml";function m(c,d,I){if(!c||!/^VIDEO$/i.test(c.nodeName))return null;if(c._dashjs_player)return c._dashjs_player;var k,q=c.id||c.name||"video element";if(!(d=d||[].slice.call(c.querySelectorAll("source")).filter(function(F){return F.type==_})[0])&&c.src)(d=document.createElement("source")).src=c.src;else if(!d&&!c.src)return null;return I=I||{},(k=(0,T.Z)(I).create()).initialize(c,d.src,c.autoplay),u||(u=k.getDebug().getLogger()),u.debug("Converted "+q+" to dash.js player and added content: "+d.src),c._dashjs_player=k,k}function n(c){return/^VIDEO$/i.test(c.nodeName)?c:n(c.parentNode)}return{create:m,createAll:function(c,d){var I=[];c=c||"[data-dashjs-player]";for(var k=(d=d||document).querySelectorAll(c),q=0;q<k.length;q++){var F=m(k[q],null);I.push(F)}for(var $=d.querySelectorAll('source[type="'+_+'"]'),O=0;O<$.length;O++){var K=m(n($[O]),null);I.push(K)}return I}}}();!(typeof window<"u"&&window&&window.dashjs&&window.dashjs.skipAutoCreate)&&typeof window<"u"&&window&&window.addEventListener&&(window.document.readyState==="complete"?window.dashjs?t.createAll():at=window.setInterval(function(){window.dashjs&&(window.clearInterval(at),t.createAll())},500):window.addEventListener("load",function u(){window.removeEventListener("load",u),t.createAll()}));var e=t,y=Fn(6398);dashjs.Protection=ae.default,dashjs.MetricsReporting=P.default,dashjs.MediaPlayerFactory=e,dashjs.Debug=y.Z,dashjs.supportsMediaSource=we.B;var p=dashjs}(),Nr.default}()})})(To);var So=To.exports;const gu=fu(So),mu=du({__proto__:null,default:gu},[So]);export{mu as d};
diff --git a/assets/errors-DMVIUcT9.js b/assets/errors-DznrJICi.js
similarity index 89%
rename from assets/errors-DMVIUcT9.js
rename to assets/errors-DznrJICi.js
index 6a546eb..c9774b3 100644
--- a/assets/errors-DMVIUcT9.js
+++ b/assets/errors-DznrJICi.js
@@ -1 +1 @@
-import{P as t,c as a}from"./prod-xvsVbB4U.js";import"./app-ClwIkahu.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-BwnsjH-l.js";import"./app-Flo2gZk8.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/giscus-7BMGhbDA.js b/assets/giscus-D-fkNSKD.js
similarity index 76%
rename from assets/giscus-7BMGhbDA.js
rename to assets/giscus-D-fkNSKD.js
index db345b1..fe7247b 100644
--- a/assets/giscus-7BMGhbDA.js
+++ b/assets/giscus-D-fkNSKD.js
@@ -2,21 +2,21 @@
  * @license
  * Copyright 2019 Google LLC
  * SPDX-License-Identifier: BSD-3-Clause
- */const H=globalThis,V=H.ShadowRoot&&(H.ShadyCSS===void 0||H.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,q=Symbol(),J=new WeakMap;let ot=class{constructor(t,e,s){if(this._$cssResult$=!0,s!==q)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const e=this.t;if(V&&t===void 0){const s=e!==void 0&&e.length===1;s&&(t=J.get(e)),t===void 0&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),s&&J.set(e,t))}return t}toString(){return this.cssText}};const ut=i=>new ot(typeof i=="string"?i:i+"",void 0,q),$t=(i,...t)=>{const e=i.length===1?i[0]:t.reduce((s,r,o)=>s+(n=>{if(n._$cssResult$===!0)return n.cssText;if(typeof n=="number")return n;throw Error("Value passed to 'css' function must be a 'css' function result: "+n+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(r)+i[o+1],i[0]);return new ot(e,i,q)},_t=(i,t)=>{if(V)i.adoptedStyleSheets=t.map(e=>e instanceof CSSStyleSheet?e:e.styleSheet);else for(const e of t){const s=document.createElement("style"),r=H.litNonce;r!==void 0&&s.setAttribute("nonce",r),s.textContent=e.cssText,i.appendChild(s)}},F=V?i=>i:i=>i instanceof CSSStyleSheet?(t=>{let e="";for(const s of t.cssRules)e+=s.cssText;return ut(e)})(i):i;/**
+ */const H=globalThis,V=H.ShadowRoot&&(H.ShadyCSS===void 0||H.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,q=Symbol(),F=new WeakMap;let ot=class{constructor(t,e,s){if(this._$cssResult$=!0,s!==q)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const e=this.t;if(V&&t===void 0){const s=e!==void 0&&e.length===1;s&&(t=F.get(e)),t===void 0&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),s&&F.set(e,t))}return t}toString(){return this.cssText}};const ut=i=>new ot(typeof i=="string"?i:i+"",void 0,q),$t=(i,...t)=>{const e=i.length===1?i[0]:t.reduce((s,r,o)=>s+(n=>{if(n._$cssResult$===!0)return n.cssText;if(typeof n=="number")return n;throw Error("Value passed to 'css' function must be a 'css' function result: "+n+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(r)+i[o+1],i[0]);return new ot(e,i,q)},_t=(i,t)=>{if(V)i.adoptedStyleSheets=t.map(e=>e instanceof CSSStyleSheet?e:e.styleSheet);else for(const e of t){const s=document.createElement("style"),r=H.litNonce;r!==void 0&&s.setAttribute("nonce",r),s.textContent=e.cssText,i.appendChild(s)}},J=V?i=>i:i=>i instanceof CSSStyleSheet?(t=>{let e="";for(const s of t.cssRules)e+=s.cssText;return ut(e)})(i):i;/**
  * @license
  * Copyright 2017 Google LLC
  * SPDX-License-Identifier: BSD-3-Clause
- */const{is:gt,defineProperty:ft,getOwnPropertyDescriptor:mt,getOwnPropertyNames:At,getOwnPropertySymbols:yt,getPrototypeOf:St}=Object,A=globalThis,Q=A.trustedTypes,vt=Q?Q.emptyScript:"",Y=A.reactiveElementPolyfillSupport,U=(i,t)=>i,L={toAttribute(i,t){switch(t){case Boolean:i=i?vt:null;break;case Object:case Array:i=i==null?i:JSON.stringify(i)}return i},fromAttribute(i,t){let e=i;switch(t){case Boolean:e=i!==null;break;case Number:e=i===null?null:Number(i);break;case Object:case Array:try{e=JSON.parse(i)}catch{e=null}}return e}},K=(i,t)=>!gt(i,t),Z={attribute:!0,type:String,converter:L,reflect:!1,hasChanged:K};Symbol.metadata??(Symbol.metadata=Symbol("metadata")),A.litPropertyMetadata??(A.litPropertyMetadata=new WeakMap);class E extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??(this.l=[])).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,e=Z){if(e.state&&(e.attribute=!1),this._$Ei(),this.elementProperties.set(t,e),!e.noAccessor){const s=Symbol(),r=this.getPropertyDescriptor(t,s,e);r!==void 0&&ft(this.prototype,t,r)}}static getPropertyDescriptor(t,e,s){const{get:r,set:o}=mt(this.prototype,t)??{get(){return this[e]},set(n){this[e]=n}};return{get(){return r==null?void 0:r.call(this)},set(n){const a=r==null?void 0:r.call(this);o.call(this,n),this.requestUpdate(t,a,s)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??Z}static _$Ei(){if(this.hasOwnProperty(U("elementProperties")))return;const t=St(this);t.finalize(),t.l!==void 0&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(U("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(U("properties"))){const e=this.properties,s=[...At(e),...yt(e)];for(const r of s)this.createProperty(r,e[r])}const t=this[Symbol.metadata];if(t!==null){const e=litPropertyMetadata.get(t);if(e!==void 0)for(const[s,r]of e)this.elementProperties.set(s,r)}this._$Eh=new Map;for(const[e,s]of this.elementProperties){const r=this._$Eu(e,s);r!==void 0&&this._$Eh.set(r,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const s=new Set(t.flat(1/0).reverse());for(const r of s)e.unshift(F(r))}else t!==void 0&&e.push(F(t));return e}static _$Eu(t,e){const s=e.attribute;return s===!1?void 0:typeof s=="string"?s:typeof t=="string"?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){var t;this._$ES=new Promise(e=>this.enableUpdating=e),this._$AL=new Map,this._$E_(),this.requestUpdate(),(t=this.constructor.l)==null||t.forEach(e=>e(this))}addController(t){var e;(this._$EO??(this._$EO=new Set)).add(t),this.renderRoot!==void 0&&this.isConnected&&((e=t.hostConnected)==null||e.call(t))}removeController(t){var e;(e=this._$EO)==null||e.delete(t)}_$E_(){const t=new Map,e=this.constructor.elementProperties;for(const s of e.keys())this.hasOwnProperty(s)&&(t.set(s,this[s]),delete this[s]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return _t(t,this.constructor.elementStyles),t}connectedCallback(){var t;this.renderRoot??(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),(t=this._$EO)==null||t.forEach(e=>{var s;return(s=e.hostConnected)==null?void 0:s.call(e)})}enableUpdating(t){}disconnectedCallback(){var t;(t=this._$EO)==null||t.forEach(e=>{var s;return(s=e.hostDisconnected)==null?void 0:s.call(e)})}attributeChangedCallback(t,e,s){this._$AK(t,s)}_$EC(t,e){var o;const s=this.constructor.elementProperties.get(t),r=this.constructor._$Eu(t,s);if(r!==void 0&&s.reflect===!0){const n=(((o=s.converter)==null?void 0:o.toAttribute)!==void 0?s.converter:L).toAttribute(e,s.type);this._$Em=t,n==null?this.removeAttribute(r):this.setAttribute(r,n),this._$Em=null}}_$AK(t,e){var o;const s=this.constructor,r=s._$Eh.get(t);if(r!==void 0&&this._$Em!==r){const n=s.getPropertyOptions(r),a=typeof n.converter=="function"?{fromAttribute:n.converter}:((o=n.converter)==null?void 0:o.fromAttribute)!==void 0?n.converter:L;this._$Em=r,this[r]=a.fromAttribute(e,n.type),this._$Em=null}}requestUpdate(t,e,s){if(t!==void 0){if(s??(s=this.constructor.getPropertyOptions(t)),!(s.hasChanged??K)(this[t],e))return;this.P(t,e,s)}this.isUpdatePending===!1&&(this._$ES=this._$ET())}P(t,e,s){this._$AL.has(t)||this._$AL.set(t,e),s.reflect===!0&&this._$Em!==t&&(this._$Ej??(this._$Ej=new Set)).add(t)}async _$ET(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}const t=this.scheduleUpdate();return t!=null&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var s;if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??(this.renderRoot=this.createRenderRoot()),this._$Ep){for(const[o,n]of this._$Ep)this[o]=n;this._$Ep=void 0}const r=this.constructor.elementProperties;if(r.size>0)for(const[o,n]of r)n.wrapped!==!0||this._$AL.has(o)||this[o]===void 0||this.P(o,this[o],n)}let t=!1;const e=this._$AL;try{t=this.shouldUpdate(e),t?(this.willUpdate(e),(s=this._$EO)==null||s.forEach(r=>{var o;return(o=r.hostUpdate)==null?void 0:o.call(r)}),this.update(e)):this._$EU()}catch(r){throw t=!1,this._$EU(),r}t&&this._$AE(e)}willUpdate(t){}_$AE(t){var e;(e=this._$EO)==null||e.forEach(s=>{var r;return(r=s.hostUpdated)==null?void 0:r.call(s)}),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Ej&&(this._$Ej=this._$Ej.forEach(e=>this._$EC(e,this[e]))),this._$EU()}updated(t){}firstUpdated(t){}}E.elementStyles=[],E.shadowRootOptions={mode:"open"},E[U("elementProperties")]=new Map,E[U("finalized")]=new Map,Y==null||Y({ReactiveElement:E}),(A.reactiveElementVersions??(A.reactiveElementVersions=[])).push("2.0.4");/**
+ */const{is:gt,defineProperty:ft,getOwnPropertyDescriptor:mt,getOwnPropertyNames:At,getOwnPropertySymbols:yt,getPrototypeOf:St}=Object,A=globalThis,Q=A.trustedTypes,vt=Q?Q.emptyScript:"",Y=A.reactiveElementPolyfillSupport,U=(i,t)=>i,L={toAttribute(i,t){switch(t){case Boolean:i=i?vt:null;break;case Object:case Array:i=i==null?i:JSON.stringify(i)}return i},fromAttribute(i,t){let e=i;switch(t){case Boolean:e=i!==null;break;case Number:e=i===null?null:Number(i);break;case Object:case Array:try{e=JSON.parse(i)}catch{e=null}}return e}},K=(i,t)=>!gt(i,t),Z={attribute:!0,type:String,converter:L,reflect:!1,hasChanged:K};Symbol.metadata??(Symbol.metadata=Symbol("metadata")),A.litPropertyMetadata??(A.litPropertyMetadata=new WeakMap);class E extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??(this.l=[])).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,e=Z){if(e.state&&(e.attribute=!1),this._$Ei(),this.elementProperties.set(t,e),!e.noAccessor){const s=Symbol(),r=this.getPropertyDescriptor(t,s,e);r!==void 0&&ft(this.prototype,t,r)}}static getPropertyDescriptor(t,e,s){const{get:r,set:o}=mt(this.prototype,t)??{get(){return this[e]},set(n){this[e]=n}};return{get(){return r==null?void 0:r.call(this)},set(n){const a=r==null?void 0:r.call(this);o.call(this,n),this.requestUpdate(t,a,s)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??Z}static _$Ei(){if(this.hasOwnProperty(U("elementProperties")))return;const t=St(this);t.finalize(),t.l!==void 0&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(U("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(U("properties"))){const e=this.properties,s=[...At(e),...yt(e)];for(const r of s)this.createProperty(r,e[r])}const t=this[Symbol.metadata];if(t!==null){const e=litPropertyMetadata.get(t);if(e!==void 0)for(const[s,r]of e)this.elementProperties.set(s,r)}this._$Eh=new Map;for(const[e,s]of this.elementProperties){const r=this._$Eu(e,s);r!==void 0&&this._$Eh.set(r,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const s=new Set(t.flat(1/0).reverse());for(const r of s)e.unshift(J(r))}else t!==void 0&&e.push(J(t));return e}static _$Eu(t,e){const s=e.attribute;return s===!1?void 0:typeof s=="string"?s:typeof t=="string"?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){var t;this._$ES=new Promise(e=>this.enableUpdating=e),this._$AL=new Map,this._$E_(),this.requestUpdate(),(t=this.constructor.l)==null||t.forEach(e=>e(this))}addController(t){var e;(this._$EO??(this._$EO=new Set)).add(t),this.renderRoot!==void 0&&this.isConnected&&((e=t.hostConnected)==null||e.call(t))}removeController(t){var e;(e=this._$EO)==null||e.delete(t)}_$E_(){const t=new Map,e=this.constructor.elementProperties;for(const s of e.keys())this.hasOwnProperty(s)&&(t.set(s,this[s]),delete this[s]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return _t(t,this.constructor.elementStyles),t}connectedCallback(){var t;this.renderRoot??(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),(t=this._$EO)==null||t.forEach(e=>{var s;return(s=e.hostConnected)==null?void 0:s.call(e)})}enableUpdating(t){}disconnectedCallback(){var t;(t=this._$EO)==null||t.forEach(e=>{var s;return(s=e.hostDisconnected)==null?void 0:s.call(e)})}attributeChangedCallback(t,e,s){this._$AK(t,s)}_$EC(t,e){var o;const s=this.constructor.elementProperties.get(t),r=this.constructor._$Eu(t,s);if(r!==void 0&&s.reflect===!0){const n=(((o=s.converter)==null?void 0:o.toAttribute)!==void 0?s.converter:L).toAttribute(e,s.type);this._$Em=t,n==null?this.removeAttribute(r):this.setAttribute(r,n),this._$Em=null}}_$AK(t,e){var o;const s=this.constructor,r=s._$Eh.get(t);if(r!==void 0&&this._$Em!==r){const n=s.getPropertyOptions(r),a=typeof n.converter=="function"?{fromAttribute:n.converter}:((o=n.converter)==null?void 0:o.fromAttribute)!==void 0?n.converter:L;this._$Em=r,this[r]=a.fromAttribute(e,n.type),this._$Em=null}}requestUpdate(t,e,s){if(t!==void 0){if(s??(s=this.constructor.getPropertyOptions(t)),!(s.hasChanged??K)(this[t],e))return;this.P(t,e,s)}this.isUpdatePending===!1&&(this._$ES=this._$ET())}P(t,e,s){this._$AL.has(t)||this._$AL.set(t,e),s.reflect===!0&&this._$Em!==t&&(this._$Ej??(this._$Ej=new Set)).add(t)}async _$ET(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}const t=this.scheduleUpdate();return t!=null&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var s;if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??(this.renderRoot=this.createRenderRoot()),this._$Ep){for(const[o,n]of this._$Ep)this[o]=n;this._$Ep=void 0}const r=this.constructor.elementProperties;if(r.size>0)for(const[o,n]of r)n.wrapped!==!0||this._$AL.has(o)||this[o]===void 0||this.P(o,this[o],n)}let t=!1;const e=this._$AL;try{t=this.shouldUpdate(e),t?(this.willUpdate(e),(s=this._$EO)==null||s.forEach(r=>{var o;return(o=r.hostUpdate)==null?void 0:o.call(r)}),this.update(e)):this._$EU()}catch(r){throw t=!1,this._$EU(),r}t&&this._$AE(e)}willUpdate(t){}_$AE(t){var e;(e=this._$EO)==null||e.forEach(s=>{var r;return(r=s.hostUpdated)==null?void 0:r.call(s)}),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Ej&&(this._$Ej=this._$Ej.forEach(e=>this._$EC(e,this[e]))),this._$EU()}updated(t){}firstUpdated(t){}}E.elementStyles=[],E.shadowRootOptions={mode:"open"},E[U("elementProperties")]=new Map,E[U("finalized")]=new Map,Y==null||Y({ReactiveElement:E}),(A.reactiveElementVersions??(A.reactiveElementVersions=[])).push("2.0.4");/**
  * @license
  * Copyright 2017 Google LLC
  * SPDX-License-Identifier: BSD-3-Clause
- */const P=globalThis,k=P.trustedTypes,X=k?k.createPolicy("lit-html",{createHTML:i=>i}):void 0,ht="$lit$",m=`lit$${(Math.random()+"").slice(9)}$`,at="?"+m,Et=`<${at}>`,v=document,N=()=>v.createComment(""),R=i=>i===null||typeof i!="object"&&typeof i!="function",ct=Array.isArray,bt=i=>ct(i)||typeof(i==null?void 0:i[Symbol.iterator])=="function",j=`[ 	
+ */const P=globalThis,k=P.trustedTypes,X=k?k.createPolicy("lit-html",{createHTML:i=>i}):void 0,ht="$lit$",m=`lit$${Math.random().toFixed(9).slice(2)}$`,at="?"+m,Et=`<${at}>`,v=document,N=()=>v.createComment(""),R=i=>i===null||typeof i!="object"&&typeof i!="function",ct=Array.isArray,bt=i=>ct(i)||typeof(i==null?void 0:i[Symbol.iterator])=="function",j=`[ 	
 \f\r]`,w=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,tt=/-->/g,et=/>/g,y=RegExp(`>|${j}(?:([^\\s"'>=/]+)(${j}*=${j}*(?:[^ 	
-\f\r"'\`<>=]|("|')|))|$)`,"g"),st=/'/g,it=/"/g,lt=/^(?:script|style|textarea|title)$/i,Ct=i=>(t,...e)=>({_$litType$:i,strings:t,values:e}),wt=Ct(1),b=Symbol.for("lit-noChange"),l=Symbol.for("lit-nothing"),rt=new WeakMap,S=v.createTreeWalker(v,129);function dt(i,t){if(!Array.isArray(i)||!i.hasOwnProperty("raw"))throw Error("invalid template strings array");return X!==void 0?X.createHTML(t):t}const Ut=(i,t)=>{const e=i.length-1,s=[];let r,o=t===2?"<svg>":"",n=w;for(let a=0;a<e;a++){const h=i[a];let d,u,c=-1,g=0;for(;g<h.length&&(n.lastIndex=g,u=n.exec(h),u!==null);)g=n.lastIndex,n===w?u[1]==="!--"?n=tt:u[1]!==void 0?n=et:u[2]!==void 0?(lt.test(u[2])&&(r=RegExp("</"+u[2],"g")),n=y):u[3]!==void 0&&(n=y):n===y?u[0]===">"?(n=r??w,c=-1):u[1]===void 0?c=-2:(c=n.lastIndex-u[2].length,d=u[1],n=u[3]===void 0?y:u[3]==='"'?it:st):n===it||n===st?n=y:n===tt||n===et?n=w:(n=y,r=void 0);const f=n===y&&i[a+1].startsWith("/>")?" ":"";o+=n===w?h+Et:c>=0?(s.push(d),h.slice(0,c)+ht+h.slice(c)+m+f):h+m+(c===-2?a:f)}return[dt(i,o+(i[e]||"<?>")+(t===2?"</svg>":"")),s]};class I{constructor({strings:t,_$litType$:e},s){let r;this.parts=[];let o=0,n=0;const a=t.length-1,h=this.parts,[d,u]=Ut(t,e);if(this.el=I.createElement(d,s),S.currentNode=this.el.content,e===2){const c=this.el.content.firstChild;c.replaceWith(...c.childNodes)}for(;(r=S.nextNode())!==null&&h.length<a;){if(r.nodeType===1){if(r.hasAttributes())for(const c of r.getAttributeNames())if(c.endsWith(ht)){const g=u[n++],f=r.getAttribute(c).split(m),x=/([.?@])?(.*)/.exec(g);h.push({type:1,index:o,name:x[2],strings:f,ctor:x[1]==="."?Tt:x[1]==="?"?Ot:x[1]==="@"?Nt:z}),r.removeAttribute(c)}else c.startsWith(m)&&(h.push({type:6,index:o}),r.removeAttribute(c));if(lt.test(r.tagName)){const c=r.textContent.split(m),g=c.length-1;if(g>0){r.textContent=k?k.emptyScript:"";for(let f=0;f<g;f++)r.append(c[f],N()),S.nextNode(),h.push({type:2,index:++o});r.append(c[g],N())}}}else if(r.nodeType===8)if(r.data===at)h.push({type:2,index:o});else{let c=-1;for(;(c=r.data.indexOf(m,c+1))!==-1;)h.push({type:7,index:o}),c+=m.length-1}o++}}static createElement(t,e){const s=v.createElement("template");return s.innerHTML=t,s}}function C(i,t,e=i,s){var n,a;if(t===b)return t;let r=s!==void 0?(n=e._$Co)==null?void 0:n[s]:e._$Cl;const o=R(t)?void 0:t._$litDirective$;return(r==null?void 0:r.constructor)!==o&&((a=r==null?void 0:r._$AO)==null||a.call(r,!1),o===void 0?r=void 0:(r=new o(i),r._$AT(i,e,s)),s!==void 0?(e._$Co??(e._$Co=[]))[s]=r:e._$Cl=r),r!==void 0&&(t=C(i,r._$AS(i,t.values),r,s)),t}let Pt=class{constructor(t,e){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:e},parts:s}=this._$AD,r=((t==null?void 0:t.creationScope)??v).importNode(e,!0);S.currentNode=r;let o=S.nextNode(),n=0,a=0,h=s[0];for(;h!==void 0;){if(n===h.index){let d;h.type===2?d=new M(o,o.nextSibling,this,t):h.type===1?d=new h.ctor(o,h.name,h.strings,this,t):h.type===6&&(d=new Rt(o,this,t)),this._$AV.push(d),h=s[++a]}n!==(h==null?void 0:h.index)&&(o=S.nextNode(),n++)}return S.currentNode=v,r}p(t){let e=0;for(const s of this._$AV)s!==void 0&&(s.strings!==void 0?(s._$AI(t,s,e),e+=s.strings.length-2):s._$AI(t[e])),e++}};class M{get _$AU(){var t;return((t=this._$AM)==null?void 0:t._$AU)??this._$Cv}constructor(t,e,s,r){this.type=2,this._$AH=l,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=s,this.options=r,this._$Cv=(r==null?void 0:r.isConnected)??!0}get parentNode(){let t=this._$AA.parentNode;const e=this._$AM;return e!==void 0&&(t==null?void 0:t.nodeType)===11&&(t=e.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,e=this){t=C(this,t,e),R(t)?t===l||t==null||t===""?(this._$AH!==l&&this._$AR(),this._$AH=l):t!==this._$AH&&t!==b&&this._(t):t._$litType$!==void 0?this.$(t):t.nodeType!==void 0?this.T(t):bt(t)?this.k(t):this._(t)}S(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.S(t))}_(t){this._$AH!==l&&R(this._$AH)?this._$AA.nextSibling.data=t:this.T(v.createTextNode(t)),this._$AH=t}$(t){var o;const{values:e,_$litType$:s}=t,r=typeof s=="number"?this._$AC(t):(s.el===void 0&&(s.el=I.createElement(dt(s.h,s.h[0]),this.options)),s);if(((o=this._$AH)==null?void 0:o._$AD)===r)this._$AH.p(e);else{const n=new Pt(r,this),a=n.u(this.options);n.p(e),this.T(a),this._$AH=n}}_$AC(t){let e=rt.get(t.strings);return e===void 0&&rt.set(t.strings,e=new I(t)),e}k(t){ct(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let s,r=0;for(const o of t)r===e.length?e.push(s=new M(this.S(N()),this.S(N()),this,this.options)):s=e[r],s._$AI(o),r++;r<e.length&&(this._$AR(s&&s._$AB.nextSibling,r),e.length=r)}_$AR(t=this._$AA.nextSibling,e){var s;for((s=this._$AP)==null?void 0:s.call(this,!1,!0,e);t&&t!==this._$AB;){const r=t.nextSibling;t.remove(),t=r}}setConnected(t){var e;this._$AM===void 0&&(this._$Cv=t,(e=this._$AP)==null||e.call(this,t))}}class z{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,e,s,r,o){this.type=1,this._$AH=l,this._$AN=void 0,this.element=t,this.name=e,this._$AM=r,this.options=o,s.length>2||s[0]!==""||s[1]!==""?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=l}_$AI(t,e=this,s,r){const o=this.strings;let n=!1;if(o===void 0)t=C(this,t,e,0),n=!R(t)||t!==this._$AH&&t!==b,n&&(this._$AH=t);else{const a=t;let h,d;for(t=o[0],h=0;h<o.length-1;h++)d=C(this,a[s+h],e,h),d===b&&(d=this._$AH[h]),n||(n=!R(d)||d!==this._$AH[h]),d===l?t=l:t!==l&&(t+=(d??"")+o[h+1]),this._$AH[h]=d}n&&!r&&this.j(t)}j(t){t===l?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"")}}class Tt extends z{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===l?void 0:t}}class Ot extends z{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==l)}}class Nt extends z{constructor(t,e,s,r,o){super(t,e,s,r,o),this.type=5}_$AI(t,e=this){if((t=C(this,t,e,0)??l)===b)return;const s=this._$AH,r=t===l&&s!==l||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,o=t!==l&&(s===l||r);r&&this.element.removeEventListener(this.name,this,s),o&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){var e;typeof this._$AH=="function"?this._$AH.call(((e=this.options)==null?void 0:e.host)??this.element,t):this._$AH.handleEvent(t)}}class Rt{constructor(t,e,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=e,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){C(this,t)}}const B=P.litHtmlPolyfillSupport;B==null||B(I,M),(P.litHtmlVersions??(P.litHtmlVersions=[])).push("3.1.2");const It=(i,t,e)=>{const s=(e==null?void 0:e.renderBefore)??t;let r=s._$litPart$;if(r===void 0){const o=(e==null?void 0:e.renderBefore)??null;s._$litPart$=r=new M(t.insertBefore(N(),o),o,void 0,e??{})}return r._$AI(i),r};/**
+\f\r"'\`<>=]|("|')|))|$)`,"g"),st=/'/g,it=/"/g,lt=/^(?:script|style|textarea|title)$/i,Ct=i=>(t,...e)=>({_$litType$:i,strings:t,values:e}),wt=Ct(1),b=Symbol.for("lit-noChange"),l=Symbol.for("lit-nothing"),rt=new WeakMap,S=v.createTreeWalker(v,129);function dt(i,t){if(!Array.isArray(i)||!i.hasOwnProperty("raw"))throw Error("invalid template strings array");return X!==void 0?X.createHTML(t):t}const Ut=(i,t)=>{const e=i.length-1,s=[];let r,o=t===2?"<svg>":"",n=w;for(let a=0;a<e;a++){const h=i[a];let d,u,c=-1,g=0;for(;g<h.length&&(n.lastIndex=g,u=n.exec(h),u!==null);)g=n.lastIndex,n===w?u[1]==="!--"?n=tt:u[1]!==void 0?n=et:u[2]!==void 0?(lt.test(u[2])&&(r=RegExp("</"+u[2],"g")),n=y):u[3]!==void 0&&(n=y):n===y?u[0]===">"?(n=r??w,c=-1):u[1]===void 0?c=-2:(c=n.lastIndex-u[2].length,d=u[1],n=u[3]===void 0?y:u[3]==='"'?it:st):n===it||n===st?n=y:n===tt||n===et?n=w:(n=y,r=void 0);const f=n===y&&i[a+1].startsWith("/>")?" ":"";o+=n===w?h+Et:c>=0?(s.push(d),h.slice(0,c)+ht+h.slice(c)+m+f):h+m+(c===-2?a:f)}return[dt(i,o+(i[e]||"<?>")+(t===2?"</svg>":"")),s]};class I{constructor({strings:t,_$litType$:e},s){let r;this.parts=[];let o=0,n=0;const a=t.length-1,h=this.parts,[d,u]=Ut(t,e);if(this.el=I.createElement(d,s),S.currentNode=this.el.content,e===2){const c=this.el.content.firstChild;c.replaceWith(...c.childNodes)}for(;(r=S.nextNode())!==null&&h.length<a;){if(r.nodeType===1){if(r.hasAttributes())for(const c of r.getAttributeNames())if(c.endsWith(ht)){const g=u[n++],f=r.getAttribute(c).split(m),x=/([.?@])?(.*)/.exec(g);h.push({type:1,index:o,name:x[2],strings:f,ctor:x[1]==="."?Tt:x[1]==="?"?Ot:x[1]==="@"?Nt:z}),r.removeAttribute(c)}else c.startsWith(m)&&(h.push({type:6,index:o}),r.removeAttribute(c));if(lt.test(r.tagName)){const c=r.textContent.split(m),g=c.length-1;if(g>0){r.textContent=k?k.emptyScript:"";for(let f=0;f<g;f++)r.append(c[f],N()),S.nextNode(),h.push({type:2,index:++o});r.append(c[g],N())}}}else if(r.nodeType===8)if(r.data===at)h.push({type:2,index:o});else{let c=-1;for(;(c=r.data.indexOf(m,c+1))!==-1;)h.push({type:7,index:o}),c+=m.length-1}o++}}static createElement(t,e){const s=v.createElement("template");return s.innerHTML=t,s}}function C(i,t,e=i,s){var n,a;if(t===b)return t;let r=s!==void 0?(n=e._$Co)==null?void 0:n[s]:e._$Cl;const o=R(t)?void 0:t._$litDirective$;return(r==null?void 0:r.constructor)!==o&&((a=r==null?void 0:r._$AO)==null||a.call(r,!1),o===void 0?r=void 0:(r=new o(i),r._$AT(i,e,s)),s!==void 0?(e._$Co??(e._$Co=[]))[s]=r:e._$Cl=r),r!==void 0&&(t=C(i,r._$AS(i,t.values),r,s)),t}let Pt=class{constructor(t,e){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:e},parts:s}=this._$AD,r=((t==null?void 0:t.creationScope)??v).importNode(e,!0);S.currentNode=r;let o=S.nextNode(),n=0,a=0,h=s[0];for(;h!==void 0;){if(n===h.index){let d;h.type===2?d=new M(o,o.nextSibling,this,t):h.type===1?d=new h.ctor(o,h.name,h.strings,this,t):h.type===6&&(d=new Rt(o,this,t)),this._$AV.push(d),h=s[++a]}n!==(h==null?void 0:h.index)&&(o=S.nextNode(),n++)}return S.currentNode=v,r}p(t){let e=0;for(const s of this._$AV)s!==void 0&&(s.strings!==void 0?(s._$AI(t,s,e),e+=s.strings.length-2):s._$AI(t[e])),e++}};class M{get _$AU(){var t;return((t=this._$AM)==null?void 0:t._$AU)??this._$Cv}constructor(t,e,s,r){this.type=2,this._$AH=l,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=s,this.options=r,this._$Cv=(r==null?void 0:r.isConnected)??!0}get parentNode(){let t=this._$AA.parentNode;const e=this._$AM;return e!==void 0&&(t==null?void 0:t.nodeType)===11&&(t=e.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,e=this){t=C(this,t,e),R(t)?t===l||t==null||t===""?(this._$AH!==l&&this._$AR(),this._$AH=l):t!==this._$AH&&t!==b&&this._(t):t._$litType$!==void 0?this.$(t):t.nodeType!==void 0?this.T(t):bt(t)?this.k(t):this._(t)}S(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.S(t))}_(t){this._$AH!==l&&R(this._$AH)?this._$AA.nextSibling.data=t:this.T(v.createTextNode(t)),this._$AH=t}$(t){var o;const{values:e,_$litType$:s}=t,r=typeof s=="number"?this._$AC(t):(s.el===void 0&&(s.el=I.createElement(dt(s.h,s.h[0]),this.options)),s);if(((o=this._$AH)==null?void 0:o._$AD)===r)this._$AH.p(e);else{const n=new Pt(r,this),a=n.u(this.options);n.p(e),this.T(a),this._$AH=n}}_$AC(t){let e=rt.get(t.strings);return e===void 0&&rt.set(t.strings,e=new I(t)),e}k(t){ct(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let s,r=0;for(const o of t)r===e.length?e.push(s=new M(this.S(N()),this.S(N()),this,this.options)):s=e[r],s._$AI(o),r++;r<e.length&&(this._$AR(s&&s._$AB.nextSibling,r),e.length=r)}_$AR(t=this._$AA.nextSibling,e){var s;for((s=this._$AP)==null?void 0:s.call(this,!1,!0,e);t&&t!==this._$AB;){const r=t.nextSibling;t.remove(),t=r}}setConnected(t){var e;this._$AM===void 0&&(this._$Cv=t,(e=this._$AP)==null||e.call(this,t))}}class z{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,e,s,r,o){this.type=1,this._$AH=l,this._$AN=void 0,this.element=t,this.name=e,this._$AM=r,this.options=o,s.length>2||s[0]!==""||s[1]!==""?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=l}_$AI(t,e=this,s,r){const o=this.strings;let n=!1;if(o===void 0)t=C(this,t,e,0),n=!R(t)||t!==this._$AH&&t!==b,n&&(this._$AH=t);else{const a=t;let h,d;for(t=o[0],h=0;h<o.length-1;h++)d=C(this,a[s+h],e,h),d===b&&(d=this._$AH[h]),n||(n=!R(d)||d!==this._$AH[h]),d===l?t=l:t!==l&&(t+=(d??"")+o[h+1]),this._$AH[h]=d}n&&!r&&this.j(t)}j(t){t===l?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"")}}class Tt extends z{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===l?void 0:t}}class Ot extends z{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==l)}}class Nt extends z{constructor(t,e,s,r,o){super(t,e,s,r,o),this.type=5}_$AI(t,e=this){if((t=C(this,t,e,0)??l)===b)return;const s=this._$AH,r=t===l&&s!==l||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,o=t!==l&&(s===l||r);r&&this.element.removeEventListener(this.name,this,s),o&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){var e;typeof this._$AH=="function"?this._$AH.call(((e=this.options)==null?void 0:e.host)??this.element,t):this._$AH.handleEvent(t)}}class Rt{constructor(t,e,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=e,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){C(this,t)}}const B=P.litHtmlPolyfillSupport;B==null||B(I,M),(P.litHtmlVersions??(P.litHtmlVersions=[])).push("3.1.4");const It=(i,t,e)=>{const s=(e==null?void 0:e.renderBefore)??t;let r=s._$litPart$;if(r===void 0){const o=(e==null?void 0:e.renderBefore)??null;s._$litPart$=r=new M(t.insertBefore(N(),o),o,void 0,e??{})}return r._$AI(i),r};/**
  * @license
  * Copyright 2017 Google LLC
  * SPDX-License-Identifier: BSD-3-Clause
- */let T=class extends E{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var e;const t=super.createRenderRoot();return(e=this.renderOptions).renderBefore??(e.renderBefore=t.firstChild),t}update(t){const e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=It(e,this.renderRoot,this.renderOptions)}connectedCallback(){var t;super.connectedCallback(),(t=this._$Do)==null||t.setConnected(!0)}disconnectedCallback(){var t;super.disconnectedCallback(),(t=this._$Do)==null||t.setConnected(!1)}render(){return b}};var nt;T._$litElement$=!0,T.finalized=!0,(nt=globalThis.litElementHydrateSupport)==null||nt.call(globalThis,{LitElement:T});const G=globalThis.litElementPolyfillSupport;G==null||G({LitElement:T});(globalThis.litElementVersions??(globalThis.litElementVersions=[])).push("4.0.4");/**
+ */let T=class extends E{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var e;const t=super.createRenderRoot();return(e=this.renderOptions).renderBefore??(e.renderBefore=t.firstChild),t}update(t){const e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=It(e,this.renderRoot,this.renderOptions)}connectedCallback(){var t;super.connectedCallback(),(t=this._$Do)==null||t.setConnected(!0)}disconnectedCallback(){var t;super.disconnectedCallback(),(t=this._$Do)==null||t.setConnected(!1)}render(){return b}};var nt;T._$litElement$=!0,T.finalized=!0,(nt=globalThis.litElementHydrateSupport)==null||nt.call(globalThis,{LitElement:T});const G=globalThis.litElementPolyfillSupport;G==null||G({LitElement:T});(globalThis.litElementVersions??(globalThis.litElementVersions=[])).push("4.0.6");/**
  * @license
  * Copyright 2017 Google LLC
  * SPDX-License-Identifier: BSD-3-Clause
@@ -40,7 +40,7 @@
  * @license
  * Copyright 2020 Google LLC
  * SPDX-License-Identifier: BSD-3-Clause
- */const Wt=()=>new Vt;class Vt{}const W=new WeakMap,qt=Dt(class extends Gt{render(i){return l}update(i,[t]){var s;const e=t!==this.Y;return e&&this.Y!==void 0&&this.rt(void 0),(e||this.lt!==this.ct)&&(this.Y=t,this.ht=(s=i.options)==null?void 0:s.host,this.rt(this.ct=i.element)),l}rt(i){if(typeof this.Y=="function"){const t=this.ht??globalThis;let e=W.get(t);e===void 0&&(e=new WeakMap,W.set(t,e)),e.get(this.Y)!==void 0&&this.Y.call(this.ht,void 0),e.set(this.Y,i),i!==void 0&&this.Y.call(this.ht,i)}else this.Y.value=i}get lt(){var i,t;return typeof this.Y=="function"?(i=W.get(this.ht??globalThis))==null?void 0:i.get(this.Y):(t=this.Y)==null?void 0:t.value}disconnected(){this.lt===this.ct&&this.rt(void 0)}reconnected(){this.rt(this.ct)}});var Kt=Object.defineProperty,Jt=Object.getOwnPropertyDescriptor,$=(i,t,e,s)=>{for(var r=s>1?void 0:s?Jt(t,e):t,o=i.length-1,n;o>=0;o--)(n=i[o])&&(r=(s?n(t,e,r):n(r))||r);return s&&r&&Kt(t,e,r),r};function Ft(i){return customElements.get(i)?t=>t:Mt(i)}let p=class extends T{constructor(){super(),this.GISCUS_SESSION_KEY="giscus-session",this.GISCUS_DEFAULT_HOST="https://giscus.app",this.ERROR_SUGGESTION="Please consider reporting this error at https://github.com/giscus/giscus/issues/new.",this.__session="",this._iframeRef=Wt(),this.messageEventHandler=this.handleMessageEvent.bind(this),this.hasLoaded=!1,this.host=this.GISCUS_DEFAULT_HOST,this.strict="0",this.reactionsEnabled="1",this.emitMetadata="0",this.inputPosition="bottom",this.theme="light",this.lang="en",this.loading="eager",this.setupSession(),window.addEventListener("message",this.messageEventHandler)}get iframeRef(){var i;return(i=this._iframeRef)==null?void 0:i.value}get _host(){try{return new URL(this.host),this.host}catch{return this.GISCUS_DEFAULT_HOST}}disconnectedCallback(){super.disconnectedCallback(),window.removeEventListener("message",this.messageEventHandler)}_formatError(i){return`[giscus] An error occurred. Error message: "${i}".`}setupSession(){const i=location.href,t=new URL(i),e=localStorage.getItem(this.GISCUS_SESSION_KEY),s=t.searchParams.get("giscus")??"";if(this.__session="",s){localStorage.setItem(this.GISCUS_SESSION_KEY,JSON.stringify(s)),this.__session=s,t.searchParams.delete("giscus"),t.hash="",history.replaceState(void 0,document.title,t.toString());return}if(e)try{this.__session=JSON.parse(e)}catch(r){localStorage.removeItem(this.GISCUS_SESSION_KEY),console.warn(`${this._formatError(r==null?void 0:r.message)} Session has been cleared.`)}}signOut(){localStorage.removeItem(this.GISCUS_SESSION_KEY),this.__session="",this.update(new Map)}handleMessageEvent(i){if(i.origin!==this._host)return;const{data:t}=i;if(!(typeof t=="object"&&t.giscus))return;if(this.iframeRef&&t.giscus.resizeHeight&&(this.iframeRef.style.height=`${t.giscus.resizeHeight}px`),t.giscus.signOut){console.info("[giscus] User has logged out. Session has been cleared."),this.signOut();return}if(!t.giscus.error)return;const e=t.giscus.error;if(e.includes("Bad credentials")||e.includes("Invalid state value")||e.includes("State has expired")){if(localStorage.getItem(this.GISCUS_SESSION_KEY)!==null){console.warn(`${this._formatError(e)} Session has been cleared.`),this.signOut();return}console.error(`${this._formatError(e)} No session is stored initially. ${this.ERROR_SUGGESTION}`)}if(e.includes("Discussion not found")){console.warn(`[giscus] ${e}. A new discussion will be created if a comment/reaction is submitted.`);return}console.error(`${this._formatError(e)} ${this.ERROR_SUGGESTION}`)}sendMessage(i){var t;!((t=this.iframeRef)!=null&&t.contentWindow)||!this.hasLoaded||this.iframeRef.contentWindow.postMessage({giscus:i},this._host)}updateConfig(){const i={setConfig:{repo:this.repo,repoId:this.repoId,category:this.category,categoryId:this.categoryId,term:this.getTerm(),number:+this.getNumber(),strict:this.strict==="1",reactionsEnabled:this.reactionsEnabled==="1",emitMetadata:this.emitMetadata==="1",inputPosition:this.inputPosition,theme:this.theme,lang:this.lang}};this.sendMessage(i)}firstUpdated(){var i;(i=this.iframeRef)==null||i.addEventListener("load",()=>{var t;(t=this.iframeRef)==null||t.classList.remove("loading"),this.hasLoaded=!0,this.updateConfig()})}requestUpdate(i,t,e){if(!this.hasUpdated||i==="host"){super.requestUpdate(i,t,e);return}this.updateConfig()}getMetaContent(i,t=!1){const e=t?`meta[property='og:${i}'],`:"",s=document.querySelector(e+`meta[name='${i}']`);return s?s.content:""}_getCleanedUrl(){const i=new URL(location.href);return i.searchParams.delete("giscus"),i.hash="",i}getTerm(){switch(this.mapping){case"url":return this._getCleanedUrl().toString();case"title":return document.title;case"og:title":return this.getMetaContent("title",!0);case"specific":return this.term??"";case"number":return"";case"pathname":default:return location.pathname.length<2?"index":location.pathname.substring(1).replace(/\.\w+$/,"")}}getNumber(){return this.mapping==="number"?this.term??"":""}getIframeSrc(){const i=this._getCleanedUrl().toString(),t=`${i}${this.id?"#"+this.id:""}`,e=this.getMetaContent("description",!0),s=this.getMetaContent("giscus:backlink")||i,r={origin:t,session:this.__session,repo:this.repo,repoId:this.repoId??"",category:this.category??"",categoryId:this.categoryId??"",term:this.getTerm(),number:this.getNumber(),strict:this.strict,reactionsEnabled:this.reactionsEnabled,emitMetadata:this.emitMetadata,inputPosition:this.inputPosition,theme:this.theme,description:e,backLink:s},o=this._host,n=this.lang?`/${this.lang}`:"",a=new URLSearchParams(r);return`${o}${n}/widget?${a.toString()}`}render(){return wt`
+ */const Wt=()=>new Vt;class Vt{}const W=new WeakMap,qt=Dt(class extends Gt{render(i){return l}update(i,[t]){var s;const e=t!==this.Y;return e&&this.Y!==void 0&&this.rt(void 0),(e||this.lt!==this.ct)&&(this.Y=t,this.ht=(s=i.options)==null?void 0:s.host,this.rt(this.ct=i.element)),l}rt(i){if(this.isConnected||(i=void 0),typeof this.Y=="function"){const t=this.ht??globalThis;let e=W.get(t);e===void 0&&(e=new WeakMap,W.set(t,e)),e.get(this.Y)!==void 0&&this.Y.call(this.ht,void 0),e.set(this.Y,i),i!==void 0&&this.Y.call(this.ht,i)}else this.Y.value=i}get lt(){var i,t;return typeof this.Y=="function"?(i=W.get(this.ht??globalThis))==null?void 0:i.get(this.Y):(t=this.Y)==null?void 0:t.value}disconnected(){this.lt===this.ct&&this.rt(void 0)}reconnected(){this.rt(this.ct)}});var Kt=Object.defineProperty,Ft=Object.getOwnPropertyDescriptor,$=(i,t,e,s)=>{for(var r=s>1?void 0:s?Ft(t,e):t,o=i.length-1,n;o>=0;o--)(n=i[o])&&(r=(s?n(t,e,r):n(r))||r);return s&&r&&Kt(t,e,r),r};function Jt(i){return customElements.get(i)?t=>t:Mt(i)}let p=class extends T{constructor(){super(),this.GISCUS_SESSION_KEY="giscus-session",this.GISCUS_DEFAULT_HOST="https://giscus.app",this.ERROR_SUGGESTION="Please consider reporting this error at https://github.com/giscus/giscus/issues/new.",this.__session="",this._iframeRef=Wt(),this.messageEventHandler=this.handleMessageEvent.bind(this),this.hasLoaded=!1,this.host=this.GISCUS_DEFAULT_HOST,this.strict="0",this.reactionsEnabled="1",this.emitMetadata="0",this.inputPosition="bottom",this.theme="light",this.lang="en",this.loading="eager",this.setupSession(),window.addEventListener("message",this.messageEventHandler)}get iframeRef(){var i;return(i=this._iframeRef)==null?void 0:i.value}get _host(){try{return new URL(this.host),this.host}catch{return this.GISCUS_DEFAULT_HOST}}disconnectedCallback(){super.disconnectedCallback(),window.removeEventListener("message",this.messageEventHandler)}_formatError(i){return`[giscus] An error occurred. Error message: "${i}".`}setupSession(){const i=location.href,t=new URL(i),e=localStorage.getItem(this.GISCUS_SESSION_KEY),s=t.searchParams.get("giscus")??"";if(this.__session="",s){localStorage.setItem(this.GISCUS_SESSION_KEY,JSON.stringify(s)),this.__session=s,t.searchParams.delete("giscus"),t.hash="",history.replaceState(void 0,document.title,t.toString());return}if(e)try{this.__session=JSON.parse(e)}catch(r){localStorage.removeItem(this.GISCUS_SESSION_KEY),console.warn(`${this._formatError(r==null?void 0:r.message)} Session has been cleared.`)}}signOut(){localStorage.removeItem(this.GISCUS_SESSION_KEY),this.__session="",this.update(new Map)}handleMessageEvent(i){if(i.origin!==this._host)return;const{data:t}=i;if(!(typeof t=="object"&&t.giscus))return;if(this.iframeRef&&t.giscus.resizeHeight&&(this.iframeRef.style.height=`${t.giscus.resizeHeight}px`),t.giscus.signOut){console.info("[giscus] User has logged out. Session has been cleared."),this.signOut();return}if(!t.giscus.error)return;const e=t.giscus.error;if(e.includes("Bad credentials")||e.includes("Invalid state value")||e.includes("State has expired")){if(localStorage.getItem(this.GISCUS_SESSION_KEY)!==null){console.warn(`${this._formatError(e)} Session has been cleared.`),this.signOut();return}console.error(`${this._formatError(e)} No session is stored initially. ${this.ERROR_SUGGESTION}`)}if(e.includes("Discussion not found")){console.warn(`[giscus] ${e}. A new discussion will be created if a comment/reaction is submitted.`);return}console.error(`${this._formatError(e)} ${this.ERROR_SUGGESTION}`)}sendMessage(i){var t;!((t=this.iframeRef)!=null&&t.contentWindow)||!this.hasLoaded||this.iframeRef.contentWindow.postMessage({giscus:i},this._host)}updateConfig(){const i={setConfig:{repo:this.repo,repoId:this.repoId,category:this.category,categoryId:this.categoryId,term:this.getTerm(),number:+this.getNumber(),strict:this.strict==="1",reactionsEnabled:this.reactionsEnabled==="1",emitMetadata:this.emitMetadata==="1",inputPosition:this.inputPosition,theme:this.theme,lang:this.lang}};this.sendMessage(i)}firstUpdated(){var i;(i=this.iframeRef)==null||i.addEventListener("load",()=>{var t;(t=this.iframeRef)==null||t.classList.remove("loading"),this.hasLoaded=!0,this.updateConfig()})}requestUpdate(i,t,e){if(!this.hasUpdated||i==="host"){super.requestUpdate(i,t,e);return}this.updateConfig()}getMetaContent(i,t=!1){const e=t?`meta[property='og:${i}'],`:"",s=document.querySelector(e+`meta[name='${i}']`);return s?s.content:""}_getCleanedUrl(){const i=new URL(location.href);return i.searchParams.delete("giscus"),i.hash="",i}getTerm(){switch(this.mapping){case"url":return this._getCleanedUrl().toString();case"title":return document.title;case"og:title":return this.getMetaContent("title",!0);case"specific":return this.term??"";case"number":return"";case"pathname":default:return location.pathname.length<2?"index":location.pathname.substring(1).replace(/\.\w+$/,"")}}getNumber(){return this.mapping==="number"?this.term??"":""}getIframeSrc(){const i=this._getCleanedUrl().toString(),t=`${i}${this.id?"#"+this.id:""}`,e=this.getMetaContent("description",!0),s=this.getMetaContent("giscus:backlink")||i,r={origin:t,session:this.__session,repo:this.repo,repoId:this.repoId??"",category:this.category??"",categoryId:this.categoryId??"",term:this.getTerm(),number:this.getNumber(),strict:this.strict,reactionsEnabled:this.reactionsEnabled,emitMetadata:this.emitMetadata,inputPosition:this.inputPosition,theme:this.theme,description:e,backLink:s},o=this._host,n=this.lang?`/${this.lang}`:"",a=new URLSearchParams(r);return`${o}${n}/widget?${a.toString()}`}render(){return wt`
       <iframe
         title="Comments"
         scrolling="no"
@@ -63,4 +63,4 @@
     iframe.loading {
       opacity: 0;
     }
-  `;$([_({reflect:!0})],p.prototype,"host",2);$([_({reflect:!0})],p.prototype,"repo",2);$([_({reflect:!0})],p.prototype,"repoId",2);$([_({reflect:!0})],p.prototype,"category",2);$([_({reflect:!0})],p.prototype,"categoryId",2);$([_({reflect:!0})],p.prototype,"mapping",2);$([_({reflect:!0})],p.prototype,"term",2);$([_({reflect:!0})],p.prototype,"strict",2);$([_({reflect:!0})],p.prototype,"reactionsEnabled",2);$([_({reflect:!0})],p.prototype,"emitMetadata",2);$([_({reflect:!0})],p.prototype,"inputPosition",2);$([_({reflect:!0})],p.prototype,"theme",2);$([_({reflect:!0})],p.prototype,"lang",2);$([_({reflect:!0})],p.prototype,"loading",2);p=$([Ft("giscus-widget")],p);export{p as GiscusWidget};
+  `;$([_({reflect:!0})],p.prototype,"host",2);$([_({reflect:!0})],p.prototype,"repo",2);$([_({reflect:!0})],p.prototype,"repoId",2);$([_({reflect:!0})],p.prototype,"category",2);$([_({reflect:!0})],p.prototype,"categoryId",2);$([_({reflect:!0})],p.prototype,"mapping",2);$([_({reflect:!0})],p.prototype,"term",2);$([_({reflect:!0})],p.prototype,"strict",2);$([_({reflect:!0})],p.prototype,"reactionsEnabled",2);$([_({reflect:!0})],p.prototype,"emitMetadata",2);$([_({reflect:!0})],p.prototype,"inputPosition",2);$([_({reflect:!0})],p.prototype,"theme",2);$([_({reflect:!0})],p.prototype,"lang",2);$([_({reflect:!0})],p.prototype,"loading",2);p=$([Jt("giscus-widget")],p);export{p as GiscusWidget};
diff --git a/assets/hls.min-CSFeuThZ.js b/assets/hls.min-CSFeuThZ.js
new file mode 100644
index 0000000..fb7c902
--- /dev/null
+++ b/assets/hls.min-CSFeuThZ.js
@@ -0,0 +1,27 @@
+import{g as Ml}from"./commonjsHelpers-Cpj98o6Y.js";function Ol(xt,Cr){for(var Pt=0;Pt<Cr.length;Pt++){const tt=Cr[Pt];if(typeof tt!="string"&&!Array.isArray(tt)){for(const rt in tt)if(rt!=="default"&&!(rt in xt)){const gt=Object.getOwnPropertyDescriptor(tt,rt);gt&&Object.defineProperty(xt,rt,gt.get?gt:{enumerable:!0,get:()=>tt[rt]})}}}return Object.freeze(Object.defineProperty(xt,Symbol.toStringTag,{value:"Module"}))}var os={exports:{}};(function(xt,Cr){(function Pt(tt){var rt;rt=function(){function gt(s,n){var e=Object.keys(s);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(s);n&&(t=t.filter(function(r){return Object.getOwnPropertyDescriptor(s,r).enumerable})),e.push.apply(e,t)}return e}function ye(s){for(var n=1;n<arguments.length;n++){var e=arguments[n]!=null?arguments[n]:{};n%2?gt(Object(e),!0).forEach(function(t){var r,i,a;r=s,i=t,a=e[t],(i=Hi(i))in r?Object.defineProperty(r,i,{value:a,enumerable:!0,configurable:!0,writable:!0}):r[i]=a}):Object.getOwnPropertyDescriptors?Object.defineProperties(s,Object.getOwnPropertyDescriptors(e)):gt(Object(e)).forEach(function(t){Object.defineProperty(s,t,Object.getOwnPropertyDescriptor(e,t))})}return s}function Hi(s){var n=function(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,t||"default");if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}(s,"string");return typeof n=="symbol"?n:String(n)}function Vi(s,n){for(var e=0;e<n.length;e++){var t=n[e];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(s,Hi(t.key),t)}}function fe(s,n,e){return n&&Vi(s.prototype,n),e&&Vi(s,e),Object.defineProperty(s,"prototype",{writable:!1}),s}function ge(){return ge=Object.assign?Object.assign.bind():function(s){for(var n=1;n<arguments.length;n++){var e=arguments[n];for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&(s[t]=e[t])}return s},ge.apply(this,arguments)}function Le(s,n){s.prototype=Object.create(n.prototype),s.prototype.constructor=s,Ft(s,n)}function _r(s){return _r=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},_r(s)}function Ft(s,n){return Ft=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Ft(s,n)}function xr(s,n,e){return xr=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}()?Reflect.construct.bind():function(t,r,i){var a=[null];a.push.apply(a,r);var o=new(Function.bind.apply(t,a));return i&&Ft(o,i.prototype),o},xr.apply(null,arguments)}function Mt(s){var n=typeof Map=="function"?new Map:void 0;return Mt=function(e){if(e===null||!function(r){try{return Function.toString.call(r).indexOf("[native code]")!==-1}catch{return typeof r=="function"}}(e))return e;if(typeof e!="function")throw new TypeError("Super expression must either be null or a function");if(n!==void 0){if(n.has(e))return n.get(e);n.set(e,t)}function t(){return xr(e,arguments,_r(this).constructor)}return t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),Ft(t,e)},Mt(s)}function Yi(s,n){(n==null||n>s.length)&&(n=s.length);for(var e=0,t=new Array(n);e<n;e++)t[e]=s[e];return t}function us(s,n){var e=typeof Symbol<"u"&&s[Symbol.iterator]||s["@@iterator"];if(e)return(e=e.call(s)).next.bind(e);if(Array.isArray(s)||(e=function(r,i){if(r){if(typeof r=="string")return Yi(r,i);var a=Object.prototype.toString.call(r).slice(8,-1);return a==="Object"&&r.constructor&&(a=r.constructor.name),a==="Map"||a==="Set"?Array.from(r):a==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?Yi(r,i):void 0}}(s))||n){e&&(s=e);var t=0;return function(){return t>=s.length?{done:!0}:{done:!1,value:s[t++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
+In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function hs(s){return s&&s.__esModule&&Object.prototype.hasOwnProperty.call(s,"default")?s.default:s}var Wi={exports:{}};(function(s,n){var e,t,r,i,a;e=/^(?=((?:[a-zA-Z0-9+\-.]+:)?))\1(?=((?:\/\/[^\/?#]*)?))\2(?=((?:(?:[^?#\/]*\/)*[^;?#\/]*)?))\3((?:;[^?#]*)?)(\?[^#]*)?(#[^]*)?$/,t=/^(?=([^\/?#]*))\1([^]*)$/,r=/(?:\/|^)\.(?=\/)/g,i=/(?:\/|^)\.\.\/(?!\.\.\/)[^\/]*(?=\/)/g,a={buildAbsoluteURL:function(o,l,h){if(h=h||{},o=o.trim(),!(l=l.trim())){if(!h.alwaysNormalize)return o;var u=a.parseURL(o);if(!u)throw new Error("Error trying to parse base URL.");return u.path=a.normalizePath(u.path),a.buildURLFromParts(u)}var d=a.parseURL(l);if(!d)throw new Error("Error trying to parse relative URL.");if(d.scheme)return h.alwaysNormalize?(d.path=a.normalizePath(d.path),a.buildURLFromParts(d)):l;var c=a.parseURL(o);if(!c)throw new Error("Error trying to parse base URL.");if(!c.netLoc&&c.path&&c.path[0]!=="/"){var f=t.exec(c.path);c.netLoc=f[1],c.path=f[2]}c.netLoc&&!c.path&&(c.path="/");var g={scheme:c.scheme,netLoc:d.netLoc,path:null,params:d.params,query:d.query,fragment:d.fragment};if(!d.netLoc&&(g.netLoc=c.netLoc,d.path[0]!=="/"))if(d.path){var m=c.path,E=m.substring(0,m.lastIndexOf("/")+1)+d.path;g.path=a.normalizePath(E)}else g.path=c.path,d.params||(g.params=c.params,d.query||(g.query=c.query));return g.path===null&&(g.path=h.alwaysNormalize?a.normalizePath(d.path):d.path),a.buildURLFromParts(g)},parseURL:function(o){var l=e.exec(o);return l?{scheme:l[1]||"",netLoc:l[2]||"",path:l[3]||"",params:l[4]||"",query:l[5]||"",fragment:l[6]||""}:null},normalizePath:function(o){for(o=o.split("").reverse().join("").replace(r,"");o.length!==(o=o.replace(i,"")).length;);return o.split("").reverse().join("")},buildURLFromParts:function(o){return o.scheme+o.netLoc+o.path+o.params+o.query+o.fragment}},s.exports=a})(Wi);var Pr=Wi.exports,N=Number.isFinite||function(s){return typeof s=="number"&&isFinite(s)},ds=Number.isSafeInteger||function(s){return typeof s=="number"&&Math.abs(s)<=cs},cs=Number.MAX_SAFE_INTEGER||9007199254740991,p=function(s){return s.MEDIA_ATTACHING="hlsMediaAttaching",s.MEDIA_ATTACHED="hlsMediaAttached",s.MEDIA_DETACHING="hlsMediaDetaching",s.MEDIA_DETACHED="hlsMediaDetached",s.BUFFER_RESET="hlsBufferReset",s.BUFFER_CODECS="hlsBufferCodecs",s.BUFFER_CREATED="hlsBufferCreated",s.BUFFER_APPENDING="hlsBufferAppending",s.BUFFER_APPENDED="hlsBufferAppended",s.BUFFER_EOS="hlsBufferEos",s.BUFFER_FLUSHING="hlsBufferFlushing",s.BUFFER_FLUSHED="hlsBufferFlushed",s.MANIFEST_LOADING="hlsManifestLoading",s.MANIFEST_LOADED="hlsManifestLoaded",s.MANIFEST_PARSED="hlsManifestParsed",s.LEVEL_SWITCHING="hlsLevelSwitching",s.LEVEL_SWITCHED="hlsLevelSwitched",s.LEVEL_LOADING="hlsLevelLoading",s.LEVEL_LOADED="hlsLevelLoaded",s.LEVEL_UPDATED="hlsLevelUpdated",s.LEVEL_PTS_UPDATED="hlsLevelPtsUpdated",s.LEVELS_UPDATED="hlsLevelsUpdated",s.AUDIO_TRACKS_UPDATED="hlsAudioTracksUpdated",s.AUDIO_TRACK_SWITCHING="hlsAudioTrackSwitching",s.AUDIO_TRACK_SWITCHED="hlsAudioTrackSwitched",s.AUDIO_TRACK_LOADING="hlsAudioTrackLoading",s.AUDIO_TRACK_LOADED="hlsAudioTrackLoaded",s.SUBTITLE_TRACKS_UPDATED="hlsSubtitleTracksUpdated",s.SUBTITLE_TRACKS_CLEARED="hlsSubtitleTracksCleared",s.SUBTITLE_TRACK_SWITCH="hlsSubtitleTrackSwitch",s.SUBTITLE_TRACK_LOADING="hlsSubtitleTrackLoading",s.SUBTITLE_TRACK_LOADED="hlsSubtitleTrackLoaded",s.SUBTITLE_FRAG_PROCESSED="hlsSubtitleFragProcessed",s.CUES_PARSED="hlsCuesParsed",s.NON_NATIVE_TEXT_TRACKS_FOUND="hlsNonNativeTextTracksFound",s.INIT_PTS_FOUND="hlsInitPtsFound",s.FRAG_LOADING="hlsFragLoading",s.FRAG_LOAD_EMERGENCY_ABORTED="hlsFragLoadEmergencyAborted",s.FRAG_LOADED="hlsFragLoaded",s.FRAG_DECRYPTED="hlsFragDecrypted",s.FRAG_PARSING_INIT_SEGMENT="hlsFragParsingInitSegment",s.FRAG_PARSING_USERDATA="hlsFragParsingUserdata",s.FRAG_PARSING_METADATA="hlsFragParsingMetadata",s.FRAG_PARSED="hlsFragParsed",s.FRAG_BUFFERED="hlsFragBuffered",s.FRAG_CHANGED="hlsFragChanged",s.FPS_DROP="hlsFpsDrop",s.FPS_DROP_LEVEL_CAPPING="hlsFpsDropLevelCapping",s.MAX_AUTO_LEVEL_UPDATED="hlsMaxAutoLevelUpdated",s.ERROR="hlsError",s.DESTROYING="hlsDestroying",s.KEY_LOADING="hlsKeyLoading",s.KEY_LOADED="hlsKeyLoaded",s.LIVE_BACK_BUFFER_REACHED="hlsLiveBackBufferReached",s.BACK_BUFFER_REACHED="hlsBackBufferReached",s.STEERING_MANIFEST_LOADED="hlsSteeringManifestLoaded",s}({}),K=function(s){return s.NETWORK_ERROR="networkError",s.MEDIA_ERROR="mediaError",s.KEY_SYSTEM_ERROR="keySystemError",s.MUX_ERROR="muxError",s.OTHER_ERROR="otherError",s}({}),w=function(s){return s.KEY_SYSTEM_NO_KEYS="keySystemNoKeys",s.KEY_SYSTEM_NO_ACCESS="keySystemNoAccess",s.KEY_SYSTEM_NO_SESSION="keySystemNoSession",s.KEY_SYSTEM_NO_CONFIGURED_LICENSE="keySystemNoConfiguredLicense",s.KEY_SYSTEM_LICENSE_REQUEST_FAILED="keySystemLicenseRequestFailed",s.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED="keySystemServerCertificateRequestFailed",s.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED="keySystemServerCertificateUpdateFailed",s.KEY_SYSTEM_SESSION_UPDATE_FAILED="keySystemSessionUpdateFailed",s.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED="keySystemStatusOutputRestricted",s.KEY_SYSTEM_STATUS_INTERNAL_ERROR="keySystemStatusInternalError",s.MANIFEST_LOAD_ERROR="manifestLoadError",s.MANIFEST_LOAD_TIMEOUT="manifestLoadTimeOut",s.MANIFEST_PARSING_ERROR="manifestParsingError",s.MANIFEST_INCOMPATIBLE_CODECS_ERROR="manifestIncompatibleCodecsError",s.LEVEL_EMPTY_ERROR="levelEmptyError",s.LEVEL_LOAD_ERROR="levelLoadError",s.LEVEL_LOAD_TIMEOUT="levelLoadTimeOut",s.LEVEL_PARSING_ERROR="levelParsingError",s.LEVEL_SWITCH_ERROR="levelSwitchError",s.AUDIO_TRACK_LOAD_ERROR="audioTrackLoadError",s.AUDIO_TRACK_LOAD_TIMEOUT="audioTrackLoadTimeOut",s.SUBTITLE_LOAD_ERROR="subtitleTrackLoadError",s.SUBTITLE_TRACK_LOAD_TIMEOUT="subtitleTrackLoadTimeOut",s.FRAG_LOAD_ERROR="fragLoadError",s.FRAG_LOAD_TIMEOUT="fragLoadTimeOut",s.FRAG_DECRYPT_ERROR="fragDecryptError",s.FRAG_PARSING_ERROR="fragParsingError",s.FRAG_GAP="fragGap",s.REMUX_ALLOC_ERROR="remuxAllocError",s.KEY_LOAD_ERROR="keyLoadError",s.KEY_LOAD_TIMEOUT="keyLoadTimeOut",s.BUFFER_ADD_CODEC_ERROR="bufferAddCodecError",s.BUFFER_INCOMPATIBLE_CODECS_ERROR="bufferIncompatibleCodecsError",s.BUFFER_APPEND_ERROR="bufferAppendError",s.BUFFER_APPENDING_ERROR="bufferAppendingError",s.BUFFER_STALLED_ERROR="bufferStalledError",s.BUFFER_FULL_ERROR="bufferFullError",s.BUFFER_SEEK_OVER_HOLE="bufferSeekOverHole",s.BUFFER_NUDGE_ON_STALL="bufferNudgeOnStall",s.INTERNAL_EXCEPTION="internalException",s.INTERNAL_ABORTED="aborted",s.UNKNOWN="unknown",s}({}),at=function(){},Fr={trace:at,debug:at,log:at,warn:at,info:at,error:at},Ot=Fr;function fs(s){for(var n=arguments.length,e=new Array(n>1?n-1:0),t=1;t<n;t++)e[t-1]=arguments[t];e.forEach(function(r){Ot[r]=s[r]?s[r].bind(s):function(i){var a=self.console[i];return a?a.bind(self.console,"["+i+"] >"):at}(r)})}function ji(s,n){if(typeof console=="object"&&s===!0||typeof s=="object"){fs(s,"debug","log","info","warn","error");try{Ot.log('Debug logs enabled for "'+n+'" in hls.js version 1.5.13')}catch{Ot=Fr}}else Ot=Fr}var b=Ot,gs=/^(\d+)x(\d+)$/,qi=/(.+?)=(".*?"|.*?)(?:,|$)/g,de=function(){function s(e){typeof e=="string"&&(e=s.parseAttrList(e)),ge(this,e)}var n=s.prototype;return n.decimalInteger=function(e){var t=parseInt(this[e],10);return t>Number.MAX_SAFE_INTEGER?1/0:t},n.hexadecimalInteger=function(e){if(this[e]){var t=(this[e]||"0x").slice(2);t=(1&t.length?"0":"")+t;for(var r=new Uint8Array(t.length/2),i=0;i<t.length/2;i++)r[i]=parseInt(t.slice(2*i,2*i+2),16);return r}return null},n.hexadecimalIntegerAsNumber=function(e){var t=parseInt(this[e],16);return t>Number.MAX_SAFE_INTEGER?1/0:t},n.decimalFloatingPoint=function(e){return parseFloat(this[e])},n.optionalFloat=function(e,t){var r=this[e];return r?parseFloat(r):t},n.enumeratedString=function(e){return this[e]},n.bool=function(e){return this[e]==="YES"},n.decimalResolution=function(e){var t=gs.exec(this[e]);if(t!==null)return{width:parseInt(t[1],10),height:parseInt(t[2],10)}},s.parseAttrList=function(e){var t,r={};for(qi.lastIndex=0;(t=qi.exec(e))!==null;){var i=t[2];i.indexOf('"')===0&&i.lastIndexOf('"')===i.length-1&&(i=i.slice(1,-1)),r[t[1].trim()]=i}return r},fe(s,[{key:"clientAttrs",get:function(){return Object.keys(this).filter(function(e){return e.substring(0,2)==="X-"})}}]),s}();function vs(s){return s==="SCTE35-OUT"||s==="SCTE35-IN"}var Xi=function(){function s(n,e){if(this.attr=void 0,this._startDate=void 0,this._endDate=void 0,this._badValueForSameId=void 0,e){var t=e.attr;for(var r in t)if(Object.prototype.hasOwnProperty.call(n,r)&&n[r]!==t[r]){b.warn('DATERANGE tag attribute: "'+r+'" does not match for tags with ID: "'+n.ID+'"'),this._badValueForSameId=r;break}n=ge(new de({}),t,n)}if(this.attr=n,this._startDate=new Date(n["START-DATE"]),"END-DATE"in this.attr){var i=new Date(this.attr["END-DATE"]);N(i.getTime())&&(this._endDate=i)}}return fe(s,[{key:"id",get:function(){return this.attr.ID}},{key:"class",get:function(){return this.attr.CLASS}},{key:"startDate",get:function(){return this._startDate}},{key:"endDate",get:function(){if(this._endDate)return this._endDate;var n=this.duration;return n!==null?new Date(this._startDate.getTime()+1e3*n):null}},{key:"duration",get:function(){if("DURATION"in this.attr){var n=this.attr.decimalFloatingPoint("DURATION");if(N(n))return n}else if(this._endDate)return(this._endDate.getTime()-this._startDate.getTime())/1e3;return null}},{key:"plannedDuration",get:function(){return"PLANNED-DURATION"in this.attr?this.attr.decimalFloatingPoint("PLANNED-DURATION"):null}},{key:"endOnNext",get:function(){return this.attr.bool("END-ON-NEXT")}},{key:"isValid",get:function(){return!!this.id&&!this._badValueForSameId&&N(this.startDate.getTime())&&(this.duration===null||this.duration>=0)&&(!this.endOnNext||!!this.class)}}]),s}(),Qt=function(){this.aborted=!1,this.loaded=0,this.retry=0,this.total=0,this.chunkCount=0,this.bwEstimate=0,this.loading={start:0,first:0,end:0},this.parsing={start:0,end:0},this.buffering={start:0,first:0,end:0}},we="audio",Pe="video",Mr="audiovideo",zi=function(){function s(n){var e;this._byteRange=null,this._url=null,this.baseurl=void 0,this.relurl=void 0,this.elementaryStreams=((e={})[we]=null,e[Pe]=null,e[Mr]=null,e),this.baseurl=n}return s.prototype.setByteRange=function(n,e){var t,r=n.split("@",2);t=r.length===1?(e==null?void 0:e.byteRangeEndOffset)||0:parseInt(r[1]),this._byteRange=[t,parseInt(r[0])+t]},fe(s,[{key:"byteRange",get:function(){return this._byteRange?this._byteRange:[]}},{key:"byteRangeStartOffset",get:function(){return this.byteRange[0]}},{key:"byteRangeEndOffset",get:function(){return this.byteRange[1]}},{key:"url",get:function(){return!this._url&&this.baseurl&&this.relurl&&(this._url=Pr.buildAbsoluteURL(this.baseurl,this.relurl,{alwaysNormalize:!0})),this._url||""},set:function(n){this._url=n}}]),s}(),Or=function(s){function n(t,r){var i;return(i=s.call(this,r)||this)._decryptdata=null,i.rawProgramDateTime=null,i.programDateTime=null,i.tagList=[],i.duration=0,i.sn=0,i.levelkeys=void 0,i.type=void 0,i.loader=null,i.keyLoader=null,i.level=-1,i.cc=0,i.startPTS=void 0,i.endPTS=void 0,i.startDTS=void 0,i.endDTS=void 0,i.start=0,i.deltaPTS=void 0,i.maxStartPTS=void 0,i.minEndPTS=void 0,i.stats=new Qt,i.data=void 0,i.bitrateTest=!1,i.title=null,i.initSegment=null,i.endList=void 0,i.gap=void 0,i.urlId=0,i.type=t,i}Le(n,s);var e=n.prototype;return e.setKeyFormat=function(t){if(this.levelkeys){var r=this.levelkeys[t];r&&!this._decryptdata&&(this._decryptdata=r.getDecryptData(this.sn))}},e.abortRequests=function(){var t,r;(t=this.loader)==null||t.abort(),(r=this.keyLoader)==null||r.abort()},e.setElementaryStreamInfo=function(t,r,i,a,o,l){l===void 0&&(l=!1);var h=this.elementaryStreams,u=h[t];u?(u.startPTS=Math.min(u.startPTS,r),u.endPTS=Math.max(u.endPTS,i),u.startDTS=Math.min(u.startDTS,a),u.endDTS=Math.max(u.endDTS,o)):h[t]={startPTS:r,endPTS:i,startDTS:a,endDTS:o,partial:l}},e.clearElementaryStreamInfo=function(){var t=this.elementaryStreams;t[we]=null,t[Pe]=null,t[Mr]=null},fe(n,[{key:"decryptdata",get:function(){if(!this.levelkeys&&!this._decryptdata)return null;if(!this._decryptdata&&this.levelkeys&&!this.levelkeys.NONE){var t=this.levelkeys.identity;if(t)this._decryptdata=t.getDecryptData(this.sn);else{var r=Object.keys(this.levelkeys);if(r.length===1)return this._decryptdata=this.levelkeys[r[0]].getDecryptData(this.sn)}}return this._decryptdata}},{key:"end",get:function(){return this.start+this.duration}},{key:"endProgramDateTime",get:function(){if(this.programDateTime===null||!N(this.programDateTime))return null;var t=N(this.duration)?this.duration:0;return this.programDateTime+1e3*t}},{key:"encrypted",get:function(){var t;if((t=this._decryptdata)!=null&&t.encrypted)return!0;if(this.levelkeys){var r=Object.keys(this.levelkeys),i=r.length;if(i>1||i===1&&this.levelkeys[r[0]].encrypted)return!0}return!1}}]),n}(zi),ms=function(s){function n(e,t,r,i,a){var o;(o=s.call(this,r)||this).fragOffset=0,o.duration=0,o.gap=!1,o.independent=!1,o.relurl=void 0,o.fragment=void 0,o.index=void 0,o.stats=new Qt,o.duration=e.decimalFloatingPoint("DURATION"),o.gap=e.bool("GAP"),o.independent=e.bool("INDEPENDENT"),o.relurl=e.enumeratedString("URI"),o.fragment=t,o.index=i;var l=e.enumeratedString("BYTERANGE");return l&&o.setByteRange(l,a),a&&(o.fragOffset=a.fragOffset+a.duration),o}return Le(n,s),fe(n,[{key:"start",get:function(){return this.fragment.start+this.fragOffset}},{key:"end",get:function(){return this.start+this.duration}},{key:"loaded",get:function(){var e=this.elementaryStreams;return!!(e.audio||e.video||e.audiovideo)}}]),n}(zi),ps=function(){function s(n){this.PTSKnown=!1,this.alignedSliding=!1,this.averagetargetduration=void 0,this.endCC=0,this.endSN=0,this.fragments=void 0,this.fragmentHint=void 0,this.partList=null,this.dateRanges=void 0,this.live=!0,this.ageHeader=0,this.advancedDateTime=void 0,this.updated=!0,this.advanced=!0,this.availabilityDelay=void 0,this.misses=0,this.startCC=0,this.startSN=0,this.startTimeOffset=null,this.targetduration=0,this.totalduration=0,this.type=null,this.url=void 0,this.m3u8="",this.version=null,this.canBlockReload=!1,this.canSkipUntil=0,this.canSkipDateRanges=!1,this.skippedSegments=0,this.recentlyRemovedDateranges=void 0,this.partHoldBack=0,this.holdBack=0,this.partTarget=0,this.preloadHint=void 0,this.renditionReports=void 0,this.tuneInGoal=0,this.deltaUpdateFailed=void 0,this.driftStartTime=0,this.driftEndTime=0,this.driftStart=0,this.driftEnd=0,this.encryptedFragments=void 0,this.playlistParsingError=null,this.variableList=null,this.hasVariableRefs=!1,this.fragments=[],this.encryptedFragments=[],this.dateRanges={},this.url=n}return s.prototype.reloaded=function(n){if(!n)return this.advanced=!0,void(this.updated=!0);var e=this.lastPartSn-n.lastPartSn,t=this.lastPartIndex-n.lastPartIndex;this.updated=this.endSN!==n.endSN||!!t||!!e||!this.live,this.advanced=this.endSN>n.endSN||e>0||e===0&&t>0,this.updated||this.advanced?this.misses=Math.floor(.6*n.misses):this.misses=n.misses+1,this.availabilityDelay=n.availabilityDelay},fe(s,[{key:"hasProgramDateTime",get:function(){return!!this.fragments.length&&N(this.fragments[this.fragments.length-1].programDateTime)}},{key:"levelTargetDuration",get:function(){return this.averagetargetduration||this.targetduration||10}},{key:"drift",get:function(){var n=this.driftEndTime-this.driftStartTime;return n>0?1e3*(this.driftEnd-this.driftStart)/n:1}},{key:"edge",get:function(){return this.partEnd||this.fragmentEnd}},{key:"partEnd",get:function(){var n;return(n=this.partList)!=null&&n.length?this.partList[this.partList.length-1].end:this.fragmentEnd}},{key:"fragmentEnd",get:function(){var n;return(n=this.fragments)!=null&&n.length?this.fragments[this.fragments.length-1].end:0}},{key:"age",get:function(){return this.advancedDateTime?Math.max(Date.now()-this.advancedDateTime,0)/1e3:0}},{key:"lastPartIndex",get:function(){var n;return(n=this.partList)!=null&&n.length?this.partList[this.partList.length-1].index:-1}},{key:"lastPartSn",get:function(){var n;return(n=this.partList)!=null&&n.length?this.partList[this.partList.length-1].fragment.sn:this.endSN}}]),s}();function Nr(s){return Uint8Array.from(atob(s),function(n){return n.charCodeAt(0)})}function ys(s){var n,e,t=s.split(":"),r=null;if(t[0]==="data"&&t.length===2){var i=t[1].split(";"),a=i[i.length-1].split(",");if(a.length===2){var o=a[0]==="base64",l=a[1];o?(i.splice(-1,1),r=Nr(l)):(n=Ur(l).subarray(0,16),(e=new Uint8Array(16)).set(n,16-n.length),r=e)}}return r}function Ur(s){return Uint8Array.from(unescape(encodeURIComponent(s)),function(n){return n.charCodeAt(0)})}var vt=typeof self<"u"?self:void 0,se={CLEARKEY:"org.w3.clearkey",FAIRPLAY:"com.apple.fps",PLAYREADY:"com.microsoft.playready",WIDEVINE:"com.widevine.alpha"},Br="org.w3.clearkey",Gr="com.apple.streamingkeydelivery",Jt="com.microsoft.playready",$t="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed";function Qi(s){switch(s){case Gr:return se.FAIRPLAY;case Jt:return se.PLAYREADY;case $t:return se.WIDEVINE;case Br:return se.CLEARKEY}}var Ji="edef8ba979d64acea3c827dcd51d21ed";function $i(s){switch(s){case se.FAIRPLAY:return Gr;case se.PLAYREADY:return Jt;case se.WIDEVINE:return $t;case se.CLEARKEY:return Br}}function Kr(s){var n=s.drmSystems,e=s.widevineLicenseUrl,t=n?[se.FAIRPLAY,se.WIDEVINE,se.PLAYREADY,se.CLEARKEY].filter(function(r){return!!n[r]}):[];return!t[se.WIDEVINE]&&e&&t.push(se.WIDEVINE),t}var Zi,en=vt!=null&&(Zi=vt.navigator)!=null&&Zi.requestMediaKeySystemAccess?self.navigator.requestMediaKeySystemAccess.bind(self.navigator):null;function st(s,n,e){return Uint8Array.prototype.slice?s.slice(n,e):new Uint8Array(Array.prototype.slice.call(s,n,e))}var Hr,Vr=function(s,n){return n+10<=s.length&&s[n]===73&&s[n+1]===68&&s[n+2]===51&&s[n+3]<255&&s[n+4]<255&&s[n+6]<128&&s[n+7]<128&&s[n+8]<128&&s[n+9]<128},tn=function(s,n){return n+10<=s.length&&s[n]===51&&s[n+1]===68&&s[n+2]===73&&s[n+3]<255&&s[n+4]<255&&s[n+6]<128&&s[n+7]<128&&s[n+8]<128&&s[n+9]<128},Nt=function(s,n){for(var e=n,t=0;Vr(s,n);)t+=10,t+=Zt(s,n+6),tn(s,n+10)&&(t+=10),n+=t;if(t>0)return s.subarray(e,e+t)},Zt=function(s,n){var e=0;return e=(127&s[n])<<21,e|=(127&s[n+1])<<14,e|=(127&s[n+2])<<7,e|=127&s[n+3]},Es=function(s,n){return Vr(s,n)&&Zt(s,n+6)+10<=s.length-n},Yr=function(s){for(var n=nn(s),e=0;e<n.length;e++){var t=n[e];if(rn(t))return bs(t)}},rn=function(s){return s&&s.key==="PRIV"&&s.info==="com.apple.streaming.transportStreamTimestamp"},Ts=function(s){var n=String.fromCharCode(s[0],s[1],s[2],s[3]),e=Zt(s,4);return{type:n,size:e,data:s.subarray(10,10+e)}},nn=function(s){for(var n=0,e=[];Vr(s,n);){for(var t=Zt(s,n+6),r=(n+=10)+t;n+8<r;){var i=Ts(s.subarray(n)),a=Ss(i);a&&e.push(a),n+=i.size+10}tn(s,n)&&(n+=10)}return e},Ss=function(s){return s.type==="PRIV"?Ls(s):s.type[0]==="W"?Rs(s):As(s)},Ls=function(s){if(!(s.size<2)){var n=Ge(s.data,!0),e=new Uint8Array(s.data.subarray(n.length+1));return{key:s.type,info:n,data:e.buffer}}},As=function(s){if(!(s.size<2)){if(s.type==="TXXX"){var n=1,e=Ge(s.data.subarray(n),!0);n+=e.length+1;var t=Ge(s.data.subarray(n));return{key:s.type,info:e,data:t}}var r=Ge(s.data.subarray(1));return{key:s.type,data:r}}},Rs=function(s){if(s.type==="WXXX"){if(s.size<2)return;var n=1,e=Ge(s.data.subarray(n),!0);n+=e.length+1;var t=Ge(s.data.subarray(n));return{key:s.type,info:e,data:t}}var r=Ge(s.data);return{key:s.type,data:r}},bs=function(s){if(s.data.byteLength===8){var n=new Uint8Array(s.data),e=1&n[3],t=(n[4]<<23)+(n[5]<<15)+(n[6]<<7)+n[7];return t/=45,e&&(t+=4772185884e-2),Math.round(t)}},Ge=function(s,n){n===void 0&&(n=!1);var e=ks();if(e){var t=e.decode(s);if(n){var r=t.indexOf("\0");return r!==-1?t.substring(0,r):t}return t.replace(/\0/g,"")}for(var i,a,o,l=s.length,h="",u=0;u<l;){if((i=s[u++])===0&&n)return h;if(i!==0&&i!==3)switch(i>>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:h+=String.fromCharCode(i);break;case 12:case 13:a=s[u++],h+=String.fromCharCode((31&i)<<6|63&a);break;case 14:a=s[u++],o=s[u++],h+=String.fromCharCode((15&i)<<12|(63&a)<<6|(63&o)<<0)}}return h};function ks(){if(!navigator.userAgent.includes("PlayStation 4"))return Hr||self.TextDecoder===void 0||(Hr=new self.TextDecoder("utf-8")),Hr}var Ke=function(s){for(var n="",e=0;e<s.length;e++){var t=s[e].toString(16);t.length<2&&(t="0"+t),n+=t}return n},er=Math.pow(2,32)-1,Ds=[].push,an={video:1,audio:2,id3:3,text:4};function me(s){return String.fromCharCode.apply(null,s)}function sn(s,n){var e=s[n]<<8|s[n+1];return e<0?65536+e:e}function H(s,n){var e=ln(s,n);return e<0?4294967296+e:e}function on(s,n){var e=H(s,n);return e*=Math.pow(2,32),e+=H(s,n+4)}function ln(s,n){return s[n]<<24|s[n+1]<<16|s[n+2]<<8|s[n+3]}function Wr(s,n,e){s[n]=e>>24,s[n+1]=e>>16&255,s[n+2]=e>>8&255,s[n+3]=255&e}function q(s,n){var e=[];if(!n.length)return e;for(var t=s.byteLength,r=0;r<t;){var i=H(s,r),a=i>1?r+i:t;if(me(s.subarray(r+4,r+8))===n[0])if(n.length===1)e.push(s.subarray(r+8,a));else{var o=q(s.subarray(r+8,a),n.slice(1));o.length&&Ds.apply(e,o)}r=a}return e}function ws(s){var n=[],e=s[0],t=8,r=H(s,t);t+=4;var i=0,a=0;e===0?(i=H(s,t),a=H(s,t+4),t+=8):(i=on(s,t),a=on(s,t+8),t+=16),t+=2;var o=s.length+a,l=sn(s,t);t+=2;for(var h=0;h<l;h++){var u=t,d=H(s,u);u+=4;var c=2147483647&d;if((2147483648&d)>>>31==1)return b.warn("SIDX has hierarchical references (not supported)"),null;var f=H(s,u);u+=4,n.push({referenceSize:c,subsegmentDuration:f,info:{duration:f/r,start:o,end:o+c-1}}),o+=c,t=u+=4}return{earliestPresentationTime:i,timescale:r,version:e,referencesCount:l,references:n}}function un(s){for(var n=[],e=q(s,["moov","trak"]),t=0;t<e.length;t++){var r=e[t],i=q(r,["tkhd"])[0];if(i){var a=i[0],o=H(i,a===0?12:20),l=q(r,["mdia","mdhd"])[0];if(l){var h=H(l,(a=l[0])===0?12:20),u=q(r,["mdia","hdlr"])[0];if(u){var d=me(u.subarray(8,12)),c={soun:we,vide:Pe}[d];if(c){var f=Is(q(r,["mdia","minf","stbl","stsd"])[0]);n[o]={timescale:h,type:c},n[c]=ye({timescale:h,id:o},f)}}}}}return q(s,["moov","mvex","trex"]).forEach(function(g){var m=H(g,4),E=n[m];E&&(E.default={duration:H(g,12),flags:H(g,20)})}),n}function Is(s){var n=s.subarray(8),e=n.subarray(86),t=me(n.subarray(4,8)),r=t,i=t==="enca"||t==="encv";if(i){var a=q(n,[t])[0];q(a.subarray(t==="enca"?28:78),["sinf"]).forEach(function(Y){var z=q(Y,["schm"])[0];if(z){var j=me(z.subarray(4,8));if(j==="cbcs"||j==="cenc"){var re=q(Y,["frma"])[0];re&&(r=me(re))}}})}switch(r){case"avc1":case"avc2":case"avc3":case"avc4":var o=q(e,["avcC"])[0];r+="."+tr(o[1])+tr(o[2])+tr(o[3]);break;case"mp4a":var l=q(n,[t])[0],h=q(l.subarray(28),["esds"])[0];if(h&&h.length>12){var u=4;if(h[u++]!==3)break;u=jr(h,u),u+=2;var d=h[u++];if(128&d&&(u+=2),64&d&&(u+=h[u++]),h[u++]!==4)break;u=jr(h,u);var c=h[u++];if(c!==64||(r+="."+tr(c),u+=12,h[u++]!==5))break;u=jr(h,u);var f=h[u++],g=(248&f)>>3;g===31&&(g+=1+((7&f)<<3)+((224&h[u])>>5)),r+="."+g}break;case"hvc1":case"hev1":var m=q(e,["hvcC"])[0],E=m[1],v=["","A","B","C"][E>>6],y=31&E,T=H(m,2),S=(32&E)>>5?"H":"L",A=m[12],R=m.subarray(6,12);r+="."+v+y,r+="."+T.toString(16).toUpperCase(),r+="."+S+A;for(var L="",D=R.length;D--;){var k=R[D];(k||L)&&(L="."+k.toString(16).toUpperCase()+L)}r+=L;break;case"dvh1":case"dvhe":var I=q(e,["dvcC"])[0],C=I[2]>>1&127,_=I[2]<<5&32|I[3]>>3&31;r+="."+He(C)+"."+He(_);break;case"vp09":var x=q(e,["vpcC"])[0],F=x[4],M=x[5],U=x[6]>>4&15;r+="."+He(F)+"."+He(M)+"."+He(U);break;case"av01":var P=q(e,["av1C"])[0],O=P[1]>>>5,B=31&P[1],G=P[2]>>>7?"H":"M",V=(64&P[2])>>6,Q=(32&P[2])>>5,oe=O===2&&V?Q?12:10:V?10:8,ee=(16&P[2])>>4,ce=(8&P[2])>>3,ae=(4&P[2])>>2,te=3&P[2];r+="."+O+"."+He(B)+G+"."+He(oe)+"."+ee+"."+ce+ae+te+"."+He(1)+"."+He(1)+"."+He(1)+".0"}return{codec:r,encrypted:i}}function jr(s,n){for(var e=n+5;128&s[n++]&&n<e;);return n}function tr(s){return("0"+s.toString(16).toUpperCase()).slice(-2)}function He(s){return(s<10?"0":"")+s}function hn(s){var n=q(s,["schm"])[0];if(n){var e=me(n.subarray(4,8));if(e==="cbcs"||e==="cenc")return q(s,["schi","tenc"])[0]}return b.error("[eme] missing 'schm' box"),null}function Cs(s){var n=H(s,0),e=8;1&n&&(e+=4),4&n&&(e+=4);for(var t=0,r=H(s,4),i=0;i<r;i++)256&n&&(t+=H(s,e),e+=4),512&n&&(e+=4),1024&n&&(e+=4),2048&n&&(e+=4);return t}function Fe(s,n){var e=new Uint8Array(s.length+n.length);return e.set(s),e.set(n,s.length),e}function dn(s,n){var e=[],t=n.samples,r=n.timescale,i=n.id,a=!1;return q(t,["moof"]).map(function(o){var l=o.byteOffset-8;q(o,["traf"]).map(function(h){var u=q(h,["tfdt"]).map(function(d){var c=d[0],f=H(d,4);return c===1&&(f*=Math.pow(2,32),f+=H(d,8)),f/r})[0];return u!==void 0&&(s=u),q(h,["tfhd"]).map(function(d){var c=H(d,4),f=16777215&H(d,0),g=0,m=(16&f)!=0,E=0,v=(32&f)!=0,y=8;c===i&&(1&f&&(y+=8),2&f&&(y+=4),8&f&&(g=H(d,y),y+=4),m&&(E=H(d,y),y+=4),v&&(y+=4),n.type==="video"&&(a=function(T){if(!T)return!1;var S=T.indexOf("."),A=S<0?T:T.substring(0,S);return A==="hvc1"||A==="hev1"||A==="dvh1"||A==="dvhe"}(n.codec)),q(h,["trun"]).map(function(T){var S=T[0],A=16777215&H(T,0),R=(1&A)!=0,L=0,D=(4&A)!=0,k=(256&A)!=0,I=0,C=(512&A)!=0,_=0,x=(1024&A)!=0,F=(2048&A)!=0,M=0,U=H(T,4),P=8;R&&(L=H(T,P),P+=4),D&&(P+=4);for(var O=L+l,B=0;B<U;B++){if(k?(I=H(T,P),P+=4):I=g,C?(_=H(T,P),P+=4):_=E,x&&(P+=4),F&&(M=S===0?H(T,P):ln(T,P),P+=4),n.type===Pe)for(var G=0;G<_;){var V=H(t,O);_s(a,t[O+=4])&&cn(t.subarray(O,O+V),a?2:1,s+M/r,e),O+=V,G+=V+4}s+=I/r}}))})})}),e}function _s(s,n){if(s){var e=n>>1&63;return e===39||e===40}return(31&n)==6}function cn(s,n,e,t){var r=fn(s),i=0;i+=n;for(var a=0,o=0,l=0;i<r.length;){a=0;do{if(i>=r.length)break;a+=l=r[i++]}while(l===255);o=0;do{if(i>=r.length)break;o+=l=r[i++]}while(l===255);var h=r.length-i,u=i;if(o<h)i+=o;else if(o>h){b.error("Malformed SEI payload. "+o+" is too small, only "+h+" bytes left to parse.");break}if(a===4){if(r[u++]===181){var d=sn(r,u);if(u+=2,d===49){var c=H(r,u);if(u+=4,c===1195456820){var f=r[u++];if(f===3){var g=r[u++],m=64&g,E=m?2+3*(31&g):0,v=new Uint8Array(E);if(m){v[0]=g;for(var y=1;y<E;y++)v[y]=r[u++]}t.push({type:f,payloadType:a,pts:e,bytes:v})}}}}}else if(a===5&&o>16){for(var T=[],S=0;S<16;S++){var A=r[u++].toString(16);T.push(A.length==1?"0"+A:A),S!==3&&S!==5&&S!==7&&S!==9||T.push("-")}for(var R=o-16,L=new Uint8Array(R),D=0;D<R;D++)L[D]=r[u++];t.push({payloadType:a,pts:e,uuid:T.join(""),userData:Ge(L),userDataBytes:L})}}}function fn(s){for(var n=s.byteLength,e=[],t=1;t<n-2;)s[t]===0&&s[t+1]===0&&s[t+2]===3?(e.push(t+2),t+=2):t++;if(e.length===0)return s;var r=n-e.length,i=new Uint8Array(r),a=0;for(t=0;t<r;a++,t++)a===e[0]&&(a++,e.shift()),i[t]=s[a];return i}function xs(s,n,e){if(s.byteLength!==16)throw new RangeError("Invalid system id");var t,r,i;t=0,r=new Uint8Array,t>0?(i=new Uint8Array(4),n.length>0&&new DataView(i.buffer).setUint32(0,n.length,!1)):i=new Uint8Array;var a=new Uint8Array(4);return e&&e.byteLength>0&&new DataView(a.buffer).setUint32(0,e.byteLength,!1),function(o){for(var l=arguments.length,h=new Array(l>1?l-1:0),u=1;u<l;u++)h[u-1]=arguments[u];for(var d=h.length,c=8,f=d;f--;)c+=h[f].byteLength;var g=new Uint8Array(c);for(g[0]=c>>24&255,g[1]=c>>16&255,g[2]=c>>8&255,g[3]=255&c,g.set(o,4),f=0,c=8;f<d;f++)g.set(h[f],c),c+=h[f].byteLength;return g}([112,115,115,104],new Uint8Array([t,0,0,0]),s,i,r,a,e||new Uint8Array)}var rr={},qr=function(){function s(e,t,r,i,a){i===void 0&&(i=[1]),a===void 0&&(a=null),this.uri=void 0,this.method=void 0,this.keyFormat=void 0,this.keyFormatVersions=void 0,this.encrypted=void 0,this.isCommonEncryption=void 0,this.iv=null,this.key=null,this.keyId=null,this.pssh=null,this.method=e,this.uri=t,this.keyFormat=r,this.keyFormatVersions=i,this.iv=a,this.encrypted=!!e&&e!=="NONE",this.isCommonEncryption=this.encrypted&&e!=="AES-128"}s.clearKeyUriToKeyIdMap=function(){rr={}};var n=s.prototype;return n.isSupported=function(){if(this.method){if(this.method==="AES-128"||this.method==="NONE")return!0;if(this.keyFormat==="identity")return this.method==="SAMPLE-AES";switch(this.keyFormat){case Gr:case $t:case Jt:case Br:return["ISO-23001-7","SAMPLE-AES","SAMPLE-AES-CENC","SAMPLE-AES-CTR"].indexOf(this.method)!==-1}}return!1},n.getDecryptData=function(e){if(!this.encrypted||!this.uri)return null;if(this.method==="AES-128"&&this.uri&&!this.iv){typeof e!="number"&&(this.method!=="AES-128"||this.iv||b.warn('missing IV for initialization segment with method="'+this.method+'" - compliance issue'),e=0);var t=function(E){for(var v=new Uint8Array(16),y=12;y<16;y++)v[y]=E>>8*(15-y)&255;return v}(e);return new s(this.method,this.uri,"identity",this.keyFormatVersions,t)}var r=ys(this.uri);if(r)switch(this.keyFormat){case $t:this.pssh=r,r.length>=22&&(this.keyId=r.subarray(r.length-22,r.length-6));break;case Jt:var i=new Uint8Array([154,4,240,121,152,64,66,134,171,146,230,91,224,136,95,149]);this.pssh=xs(i,null,r);var a=new Uint16Array(r.buffer,r.byteOffset,r.byteLength/2),o=String.fromCharCode.apply(null,Array.from(a)),l=o.substring(o.indexOf("<"),o.length),h=new DOMParser().parseFromString(l,"text/xml").getElementsByTagName("KID")[0];if(h){var u=h.childNodes[0]?h.childNodes[0].nodeValue:h.getAttribute("VALUE");if(u){var d=Nr(u).subarray(0,16);(function(E){var v=function(y,T,S){var A=y[T];y[T]=y[S],y[S]=A};v(E,0,3),v(E,1,2),v(E,4,5),v(E,6,7)})(d),this.keyId=d}}break;default:var c=r.subarray(0,16);if(c.length!==16){var f=new Uint8Array(16);f.set(c,16-c.length),c=f}this.keyId=c}if(!this.keyId||this.keyId.byteLength!==16){var g=rr[this.uri];if(!g){var m=Object.keys(rr).length%Number.MAX_SAFE_INTEGER;g=new Uint8Array(16),new DataView(g.buffer,12,4).setUint32(0,m),rr[this.uri]=g}this.keyId=g}return this},s}(),gn=/\{\$([a-zA-Z0-9-_]+)\}/g;function vn(s){return gn.test(s)}function Ie(s,n,e){if(s.variableList!==null||s.hasVariableRefs)for(var t=e.length;t--;){var r=e[t],i=n[r];i&&(n[r]=Xr(s,i))}}function Xr(s,n){if(s.variableList!==null||s.hasVariableRefs){var e=s.variableList;return n.replace(gn,function(t){var r=t.substring(2,t.length-1),i=e==null?void 0:e[r];return i===void 0?(s.playlistParsingError||(s.playlistParsingError=new Error('Missing preceding EXT-X-DEFINE tag for Variable Reference: "'+r+'"')),t):i})}return n}function mn(s,n,e){var t,r,i=s.variableList;if(i||(s.variableList=i={}),"QUERYPARAM"in n){t=n.QUERYPARAM;try{var a=new self.URL(e).searchParams;if(!a.has(t))throw new Error('"'+t+'" does not match any query parameter in URI: "'+e+'"');r=a.get(t)}catch(o){s.playlistParsingError||(s.playlistParsingError=new Error("EXT-X-DEFINE QUERYPARAM: "+o.message))}}else t=n.NAME,r=n.VALUE;t in i?s.playlistParsingError||(s.playlistParsingError=new Error('EXT-X-DEFINE duplicate Variable Name declarations: "'+t+'"')):i[t]=r||""}function Ps(s,n,e){var t=n.IMPORT;if(e&&t in e){var r=s.variableList;r||(s.variableList=r={}),r[t]=e[t]}else s.playlistParsingError||(s.playlistParsingError=new Error('EXT-X-DEFINE IMPORT attribute not found in Multivariant Playlist: "'+t+'"'))}function ot(s){if(s===void 0&&(s=!0),typeof self<"u")return(s||!self.MediaSource)&&self.ManagedMediaSource||self.MediaSource||self.WebKitMediaSource}var ir={audio:{a3ds:1,"ac-3":.95,"ac-4":1,alac:.9,alaw:1,dra1:1,"dts+":1,"dts-":1,dtsc:1,dtse:1,dtsh:1,"ec-3":.9,enca:1,fLaC:.9,flac:.9,FLAC:.9,g719:1,g726:1,m4ae:1,mha1:1,mha2:1,mhm1:1,mhm2:1,mlpa:1,mp4a:1,"raw ":1,Opus:1,opus:1,samr:1,sawb:1,sawp:1,sevc:1,sqcp:1,ssmv:1,twos:1,ulaw:1},video:{avc1:1,avc2:1,avc3:1,avc4:1,avcp:1,av01:.8,drac:1,dva1:1,dvav:1,dvh1:.7,dvhe:.7,encv:1,hev1:.75,hvc1:.75,mjp2:1,mp4v:1,mvc1:1,mvc2:1,mvc3:1,mvc4:1,resv:1,rv60:1,s263:1,svc1:1,svc2:1,"vc-1":1,vp08:1,vp09:.9},text:{stpp:1,wvtt:1}};function zr(s,n,e){return e===void 0&&(e=!0),!s.split(",").some(function(t){return!pn(t,n,e)})}function pn(s,n,e){var t;e===void 0&&(e=!0);var r=ot(e);return(t=r==null?void 0:r.isTypeSupported(Ut(s,n)))!=null&&t}function Ut(s,n){return n+'/mp4;codecs="'+s+'"'}function yn(s){if(s){var n=s.substring(0,4);return ir.video[n]}return 2}function nr(s){return s.split(",").reduce(function(n,e){var t=ir.video[e];return t?(2*t+n)/(n?3:2):(ir.audio[e]+n)/(n?2:1)},0)}var Qr={},Fs=/flac|opus/i;function ar(s,n){return n===void 0&&(n=!0),s.replace(Fs,function(e){return function(t,r){if(r===void 0&&(r=!0),Qr[t])return Qr[t];for(var i={flac:["flac","fLaC","FLAC"],opus:["opus","Opus"]}[t],a=0;a<i.length;a++)if(pn(i[a],"audio",r))return Qr[t]=i[a],i[a];return t}(e.toLowerCase(),n)})}function En(s,n){return s&&s!=="mp4a"?s:n&&n.split(",")[0]}var Tn=/#EXT-X-STREAM-INF:([^\r\n]*)(?:[\r\n](?:#[^\r\n]*)?)*([^\r\n]+)|#EXT-X-(SESSION-DATA|SESSION-KEY|DEFINE|CONTENT-STEERING|START):([^\r\n]*)[\r\n]+/g,Sn=/#EXT-X-MEDIA:(.*)/g,Ms=/^#EXT(?:INF|-X-TARGETDURATION):/m,Ln=new RegExp([/#EXTINF:\s*(\d*(?:\.\d+)?)(?:,(.*)\s+)?/.source,/(?!#) *(\S[^\r\n]*)/.source,/#EXT-X-BYTERANGE:*(.+)/.source,/#EXT-X-PROGRAM-DATE-TIME:(.+)/.source,/#.*/.source].join("|"),"g"),Os=new RegExp([/#(EXTM3U)/.source,/#EXT-X-(DATERANGE|DEFINE|KEY|MAP|PART|PART-INF|PLAYLIST-TYPE|PRELOAD-HINT|RENDITION-REPORT|SERVER-CONTROL|SKIP|START):(.+)/.source,/#EXT-X-(BITRATE|DISCONTINUITY-SEQUENCE|MEDIA-SEQUENCE|TARGETDURATION|VERSION): *(\d+)/.source,/#EXT-X-(DISCONTINUITY|ENDLIST|GAP|INDEPENDENT-SEGMENTS)/.source,/(#)([^:]*):(.*)/.source,/(#)(.*)(?:.*)\r?\n?/.source].join("|")),Bt=function(){function s(){}return s.findGroup=function(n,e){for(var t=0;t<n.length;t++){var r=n[t];if(r.id===e)return r}},s.resolve=function(n,e){return Pr.buildAbsoluteURL(e,n,{alwaysNormalize:!0})},s.isMediaPlaylist=function(n){return Ms.test(n)},s.parseMasterPlaylist=function(n,e){var t,r={contentSteering:null,levels:[],playlistParsingError:null,sessionData:null,sessionKeys:null,startTimeOffset:null,variableList:null,hasVariableRefs:vn(n)},i=[];for(Tn.lastIndex=0;(t=Tn.exec(n))!=null;)if(t[1]){var a,o=new de(t[1]);Ie(r,o,["CODECS","SUPPLEMENTAL-CODECS","ALLOWED-CPC","PATHWAY-ID","STABLE-VARIANT-ID","AUDIO","VIDEO","SUBTITLES","CLOSED-CAPTIONS","NAME"]);var l=Xr(r,t[2]),h={attrs:o,bitrate:o.decimalInteger("BANDWIDTH")||o.decimalInteger("AVERAGE-BANDWIDTH"),name:o.NAME,url:s.resolve(l,e)},u=o.decimalResolution("RESOLUTION");u&&(h.width=u.width,h.height=u.height),Ns(o.CODECS,h),(a=h.unknownCodecs)!=null&&a.length||i.push(h),r.levels.push(h)}else if(t[3]){var d=t[3],c=t[4];switch(d){case"SESSION-DATA":var f=new de(c);Ie(r,f,["DATA-ID","LANGUAGE","VALUE","URI"]);var g=f["DATA-ID"];g&&(r.sessionData===null&&(r.sessionData={}),r.sessionData[g]=f);break;case"SESSION-KEY":var m=An(c,e,r);m.encrypted&&m.isSupported()?(r.sessionKeys===null&&(r.sessionKeys=[]),r.sessionKeys.push(m)):b.warn('[Keys] Ignoring invalid EXT-X-SESSION-KEY tag: "'+c+'"');break;case"DEFINE":var E=new de(c);Ie(r,E,["NAME","VALUE","QUERYPARAM"]),mn(r,E,e);break;case"CONTENT-STEERING":var v=new de(c);Ie(r,v,["SERVER-URI","PATHWAY-ID"]),r.contentSteering={uri:s.resolve(v["SERVER-URI"],e),pathwayId:v["PATHWAY-ID"]||"."};break;case"START":r.startTimeOffset=Rn(c)}}var y=i.length>0&&i.length<r.levels.length;return r.levels=y?i:r.levels,r.levels.length===0&&(r.playlistParsingError=new Error("no levels found in manifest")),r},s.parseMasterPlaylistMedia=function(n,e,t){var r,i={},a=t.levels,o={AUDIO:a.map(function(S){return{id:S.attrs.AUDIO,audioCodec:S.audioCodec}}),SUBTITLES:a.map(function(S){return{id:S.attrs.SUBTITLES,textCodec:S.textCodec}}),"CLOSED-CAPTIONS":[]},l=0;for(Sn.lastIndex=0;(r=Sn.exec(n))!==null;){var h=new de(r[1]),u=h.TYPE;if(u){var d=o[u],c=i[u]||[];i[u]=c,Ie(t,h,["URI","GROUP-ID","LANGUAGE","ASSOC-LANGUAGE","STABLE-RENDITION-ID","NAME","INSTREAM-ID","CHARACTERISTICS","CHANNELS"]);var f=h.LANGUAGE,g=h["ASSOC-LANGUAGE"],m=h.CHANNELS,E=h.CHARACTERISTICS,v=h["INSTREAM-ID"],y={attrs:h,bitrate:0,id:l++,groupId:h["GROUP-ID"]||"",name:h.NAME||f||"",type:u,default:h.bool("DEFAULT"),autoselect:h.bool("AUTOSELECT"),forced:h.bool("FORCED"),lang:f,url:h.URI?s.resolve(h.URI,e):""};if(g&&(y.assocLang=g),m&&(y.channels=m),E&&(y.characteristics=E),v&&(y.instreamId=v),d!=null&&d.length){var T=s.findGroup(d,y.groupId)||d[0];bn(y,T,"audioCodec"),bn(y,T,"textCodec")}c.push(y)}}return i},s.parseLevelPlaylist=function(n,e,t,r,i,a){var o,l,h,u=new ps(e),d=u.fragments,c=null,f=0,g=0,m=0,E=0,v=null,y=new Or(r,e),T=-1,S=!1,A=null;for(Ln.lastIndex=0,u.m3u8=n,u.hasVariableRefs=vn(n);(o=Ln.exec(n))!==null;){S&&(S=!1,(y=new Or(r,e)).start=m,y.sn=f,y.cc=E,y.level=t,c&&(y.initSegment=c,y.rawProgramDateTime=c.rawProgramDateTime,c.rawProgramDateTime=null,A&&(y.setByteRange(A),A=null)));var R=o[1];if(R){y.duration=parseFloat(R);var L=(" "+o[2]).slice(1);y.title=L||null,y.tagList.push(L?["INF",R,L]:["INF",R])}else if(o[3]){if(N(y.duration)){y.start=m,h&&wn(y,h,u),y.sn=f,y.level=t,y.cc=E,d.push(y);var D=(" "+o[3]).slice(1);y.relurl=Xr(u,D),kn(y,v),v=y,m+=y.duration,f++,g=0,S=!0}}else if(o[4]){var k=(" "+o[4]).slice(1);v?y.setByteRange(k,v):y.setByteRange(k)}else if(o[5])y.rawProgramDateTime=(" "+o[5]).slice(1),y.tagList.push(["PROGRAM-DATE-TIME",y.rawProgramDateTime]),T===-1&&(T=d.length);else{if(!(o=o[0].match(Os))){b.warn("No matches on slow regex match for level playlist!");continue}for(l=1;l<o.length&&o[l]===void 0;l++);var I=(" "+o[l]).slice(1),C=(" "+o[l+1]).slice(1),_=o[l+2]?(" "+o[l+2]).slice(1):"";switch(I){case"PLAYLIST-TYPE":u.type=C.toUpperCase();break;case"MEDIA-SEQUENCE":f=u.startSN=parseInt(C);break;case"SKIP":var x=new de(C);Ie(u,x,["RECENTLY-REMOVED-DATERANGES"]);var F=x.decimalInteger("SKIPPED-SEGMENTS");if(N(F)){u.skippedSegments=F;for(var M=F;M--;)d.unshift(null);f+=F}var U=x.enumeratedString("RECENTLY-REMOVED-DATERANGES");U&&(u.recentlyRemovedDateranges=U.split("	"));break;case"TARGETDURATION":u.targetduration=Math.max(parseInt(C),1);break;case"VERSION":u.version=parseInt(C);break;case"INDEPENDENT-SEGMENTS":case"EXTM3U":break;case"ENDLIST":u.live=!1;break;case"#":(C||_)&&y.tagList.push(_?[C,_]:[C]);break;case"DISCONTINUITY":E++,y.tagList.push(["DIS"]);break;case"GAP":y.gap=!0,y.tagList.push([I]);break;case"BITRATE":y.tagList.push([I,C]);break;case"DATERANGE":var P=new de(C);Ie(u,P,["ID","CLASS","START-DATE","END-DATE","SCTE35-CMD","SCTE35-OUT","SCTE35-IN"]),Ie(u,P,P.clientAttrs);var O=new Xi(P,u.dateRanges[P.ID]);O.isValid||u.skippedSegments?u.dateRanges[O.id]=O:b.warn('Ignoring invalid DATERANGE tag: "'+C+'"'),y.tagList.push(["EXT-X-DATERANGE",C]);break;case"DEFINE":var B=new de(C);Ie(u,B,["NAME","VALUE","IMPORT","QUERYPARAM"]),"IMPORT"in B?Ps(u,B,a):mn(u,B,e);break;case"DISCONTINUITY-SEQUENCE":E=parseInt(C);break;case"KEY":var G=An(C,e,u);if(G.isSupported()){if(G.method==="NONE"){h=void 0;break}h||(h={}),h[G.keyFormat]&&(h=ge({},h)),h[G.keyFormat]=G}else b.warn('[Keys] Ignoring invalid EXT-X-KEY tag: "'+C+'"');break;case"START":u.startTimeOffset=Rn(C);break;case"MAP":var V=new de(C);if(Ie(u,V,["BYTERANGE","URI"]),y.duration){var Q=new Or(r,e);Dn(Q,V,t,h),c=Q,y.initSegment=c,c.rawProgramDateTime&&!y.rawProgramDateTime&&(y.rawProgramDateTime=c.rawProgramDateTime)}else{var oe=y.byteRangeEndOffset;if(oe){var ee=y.byteRangeStartOffset;A=oe-ee+"@"+ee}else A=null;Dn(y,V,t,h),c=y,S=!0}break;case"SERVER-CONTROL":var ce=new de(C);u.canBlockReload=ce.bool("CAN-BLOCK-RELOAD"),u.canSkipUntil=ce.optionalFloat("CAN-SKIP-UNTIL",0),u.canSkipDateRanges=u.canSkipUntil>0&&ce.bool("CAN-SKIP-DATERANGES"),u.partHoldBack=ce.optionalFloat("PART-HOLD-BACK",0),u.holdBack=ce.optionalFloat("HOLD-BACK",0);break;case"PART-INF":var ae=new de(C);u.partTarget=ae.decimalFloatingPoint("PART-TARGET");break;case"PART":var te=u.partList;te||(te=u.partList=[]);var Y=g>0?te[te.length-1]:void 0,z=g++,j=new de(C);Ie(u,j,["BYTERANGE","URI"]);var re=new ms(j,y,e,z,Y);te.push(re),y.duration+=re.duration;break;case"PRELOAD-HINT":var W=new de(C);Ie(u,W,["URI"]),u.preloadHint=W;break;case"RENDITION-REPORT":var ne=new de(C);Ie(u,ne,["URI"]),u.renditionReports=u.renditionReports||[],u.renditionReports.push(ne);break;default:b.warn("line parsed but not handled: "+o)}}}v&&!v.relurl?(d.pop(),m-=v.duration,u.partList&&(u.fragmentHint=v)):u.partList&&(kn(y,v),y.cc=E,u.fragmentHint=y,h&&wn(y,h,u));var J=d.length,De=d[0],be=d[J-1];if((m+=u.skippedSegments*u.targetduration)>0&&J&&be){u.averagetargetduration=m/J;var $=be.sn;u.endSN=$!=="initSegment"?$:0,u.live||(be.endList=!0),De&&(u.startCC=De.cc)}else u.endSN=0,u.startCC=0;return u.fragmentHint&&(m+=u.fragmentHint.duration),u.totalduration=m,u.endCC=E,T>0&&function(he,ve){for(var ke=he[ve],_e=ve;_e--;){var Ee=he[_e];if(!Ee)return;Ee.programDateTime=ke.programDateTime-1e3*Ee.duration,ke=Ee}}(d,T),u},s}();function An(s,n,e){var t,r,i=new de(s);Ie(e,i,["KEYFORMAT","KEYFORMATVERSIONS","URI","IV","URI"]);var a=(t=i.METHOD)!=null?t:"",o=i.URI,l=i.hexadecimalInteger("IV"),h=i.KEYFORMATVERSIONS,u=(r=i.KEYFORMAT)!=null?r:"identity";o&&i.IV&&!l&&b.error("Invalid IV: "+i.IV);var d=o?Bt.resolve(o,n):"",c=(h||"1").split("/").map(Number).filter(Number.isFinite);return new qr(a,d,u,c,l)}function Rn(s){var n=new de(s).decimalFloatingPoint("TIME-OFFSET");return N(n)?n:null}function Ns(s,n){var e=(s||"").split(/[ ,]+/).filter(function(t){return t});["video","audio","text"].forEach(function(t){var r=e.filter(function(i){return function(a,o){var l=ir[o];return!!l&&!!l[a.slice(0,4)]}(i,t)});r.length&&(n[t+"Codec"]=r.join(","),e=e.filter(function(i){return r.indexOf(i)===-1}))}),n.unknownCodecs=e}function bn(s,n,e){var t=n[e];t&&(s[e]=t)}function kn(s,n){s.rawProgramDateTime?s.programDateTime=Date.parse(s.rawProgramDateTime):n!=null&&n.programDateTime&&(s.programDateTime=n.endProgramDateTime),N(s.programDateTime)||(s.programDateTime=null,s.rawProgramDateTime=null)}function Dn(s,n,e,t){s.relurl=n.URI,n.BYTERANGE&&s.setByteRange(n.BYTERANGE),s.level=e,s.sn="initSegment",t&&(s.levelkeys=t),s.initSegment=null}function wn(s,n,e){s.levelkeys=n;var t=e.encryptedFragments;t.length&&t[t.length-1].levelkeys===n||!Object.keys(n).some(function(r){return n[r].isCommonEncryption})||t.push(s)}var mt="manifest",lt="level",Be="audioTrack",Ve="subtitleTrack",Z="main",Me="audio",qe="subtitle";function In(s){switch(s.type){case Be:return Me;case Ve:return qe;default:return Z}}function Jr(s,n){var e=s.url;return e!==void 0&&e.indexOf("data:")!==0||(e=n.url),e}var Us=function(){function s(e){this.hls=void 0,this.loaders=Object.create(null),this.variableList=null,this.hls=e,this.registerListeners()}var n=s.prototype;return n.startLoad=function(e){},n.stopLoad=function(){this.destroyInternalLoaders()},n.registerListeners=function(){var e=this.hls;e.on(p.MANIFEST_LOADING,this.onManifestLoading,this),e.on(p.LEVEL_LOADING,this.onLevelLoading,this),e.on(p.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.on(p.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this)},n.unregisterListeners=function(){var e=this.hls;e.off(p.MANIFEST_LOADING,this.onManifestLoading,this),e.off(p.LEVEL_LOADING,this.onLevelLoading,this),e.off(p.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.off(p.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this)},n.createInternalLoader=function(e){var t=this.hls.config,r=t.pLoader,i=t.loader,a=new(r||i)(t);return this.loaders[e.type]=a,a},n.getInternalLoader=function(e){return this.loaders[e.type]},n.resetInternalLoader=function(e){this.loaders[e]&&delete this.loaders[e]},n.destroyInternalLoaders=function(){for(var e in this.loaders){var t=this.loaders[e];t&&t.destroy(),this.resetInternalLoader(e)}},n.destroy=function(){this.variableList=null,this.unregisterListeners(),this.destroyInternalLoaders()},n.onManifestLoading=function(e,t){var r=t.url;this.variableList=null,this.load({id:null,level:0,responseType:"text",type:mt,url:r,deliveryDirectives:null})},n.onLevelLoading=function(e,t){var r=t.id,i=t.level,a=t.pathwayId,o=t.url,l=t.deliveryDirectives;this.load({id:r,level:i,pathwayId:a,responseType:"text",type:lt,url:o,deliveryDirectives:l})},n.onAudioTrackLoading=function(e,t){var r=t.id,i=t.groupId,a=t.url,o=t.deliveryDirectives;this.load({id:r,groupId:i,level:null,responseType:"text",type:Be,url:a,deliveryDirectives:o})},n.onSubtitleTrackLoading=function(e,t){var r=t.id,i=t.groupId,a=t.url,o=t.deliveryDirectives;this.load({id:r,groupId:i,level:null,responseType:"text",type:Ve,url:a,deliveryDirectives:o})},n.load=function(e){var t,r,i,a=this,o=this.hls.config,l=this.getInternalLoader(e);if(l){var h=l.context;if(h&&h.url===e.url&&h.level===e.level)return void b.trace("[playlist-loader]: playlist request ongoing");b.log("[playlist-loader]: aborting previous loader for type: "+e.type),l.abort()}if(r=e.type===mt?o.manifestLoadPolicy.default:ge({},o.playlistLoadPolicy.default,{timeoutRetry:null,errorRetry:null}),l=this.createInternalLoader(e),N((t=e.deliveryDirectives)==null?void 0:t.part)&&(e.type===lt&&e.level!==null?i=this.hls.levels[e.level].details:e.type===Be&&e.id!==null?i=this.hls.audioTracks[e.id].details:e.type===Ve&&e.id!==null&&(i=this.hls.subtitleTracks[e.id].details),i)){var u=i.partTarget,d=i.targetduration;if(u&&d){var c=1e3*Math.max(3*u,.8*d);r=ge({},r,{maxTimeToFirstByteMs:Math.min(c,r.maxTimeToFirstByteMs),maxLoadTimeMs:Math.min(c,r.maxTimeToFirstByteMs)})}}var f=r.errorRetry||r.timeoutRetry||{},g={loadPolicy:r,timeout:r.maxLoadTimeMs,maxRetry:f.maxNumRetry||0,retryDelay:f.retryDelayMs||0,maxRetryDelay:f.maxRetryDelayMs||0},m={onSuccess:function(E,v,y,T){var S=a.getInternalLoader(y);a.resetInternalLoader(y.type);var A=E.data;A.indexOf("#EXTM3U")===0?(v.parsing.start=performance.now(),Bt.isMediaPlaylist(A)?a.handleTrackOrLevelPlaylist(E,v,y,T||null,S):a.handleMasterPlaylist(E,v,y,T)):a.handleManifestParsingError(E,y,new Error("no EXTM3U delimiter"),T||null,v)},onError:function(E,v,y,T){a.handleNetworkError(v,y,!1,E,T)},onTimeout:function(E,v,y){a.handleNetworkError(v,y,!0,void 0,E)}};l.load(e,g,m)},n.handleMasterPlaylist=function(e,t,r,i){var a=this.hls,o=e.data,l=Jr(e,r),h=Bt.parseMasterPlaylist(o,l);if(h.playlistParsingError)this.handleManifestParsingError(e,r,h.playlistParsingError,i,t);else{var u=h.contentSteering,d=h.levels,c=h.sessionData,f=h.sessionKeys,g=h.startTimeOffset,m=h.variableList;this.variableList=m;var E=Bt.parseMasterPlaylistMedia(o,l,h),v=E.AUDIO,y=v===void 0?[]:v,T=E.SUBTITLES,S=E["CLOSED-CAPTIONS"];y.length&&(y.some(function(A){return!A.url})||!d[0].audioCodec||d[0].attrs.AUDIO||(b.log("[playlist-loader]: audio codec signaled in quality level, but no embedded audio track signaled, create one"),y.unshift({type:"main",name:"main",groupId:"main",default:!1,autoselect:!1,forced:!1,id:-1,attrs:new de({}),bitrate:0,url:""}))),a.trigger(p.MANIFEST_LOADED,{levels:d,audioTracks:y,subtitles:T,captions:S,contentSteering:u,url:l,stats:t,networkDetails:i,sessionData:c,sessionKeys:f,startTimeOffset:g,variableList:m})}},n.handleTrackOrLevelPlaylist=function(e,t,r,i,a){var o=this.hls,l=r.id,h=r.level,u=r.type,d=Jr(e,r),c=N(h)?h:N(l)?l:0,f=In(r),g=Bt.parseLevelPlaylist(e.data,d,c,f,0,this.variableList);if(u===mt){var m={attrs:new de({}),bitrate:0,details:g,name:"",url:d};o.trigger(p.MANIFEST_LOADED,{levels:[m],audioTracks:[],url:d,stats:t,networkDetails:i,sessionData:null,sessionKeys:null,contentSteering:null,startTimeOffset:null,variableList:null})}t.parsing.end=performance.now(),r.levelDetails=g,this.handlePlaylistLoaded(g,e,t,r,i,a)},n.handleManifestParsingError=function(e,t,r,i,a){this.hls.trigger(p.ERROR,{type:K.NETWORK_ERROR,details:w.MANIFEST_PARSING_ERROR,fatal:t.type===mt,url:e.url,err:r,error:r,reason:r.message,response:e,context:t,networkDetails:i,stats:a})},n.handleNetworkError=function(e,t,r,i,a){r===void 0&&(r=!1);var o="A network "+(r?"timeout":"error"+(i?" (status "+i.code+")":""))+" occurred while loading "+e.type;e.type===lt?o+=": "+e.level+" id: "+e.id:e.type!==Be&&e.type!==Ve||(o+=" id: "+e.id+' group-id: "'+e.groupId+'"');var l=new Error(o);b.warn("[playlist-loader]: "+o);var h=w.UNKNOWN,u=!1,d=this.getInternalLoader(e);switch(e.type){case mt:h=r?w.MANIFEST_LOAD_TIMEOUT:w.MANIFEST_LOAD_ERROR,u=!0;break;case lt:h=r?w.LEVEL_LOAD_TIMEOUT:w.LEVEL_LOAD_ERROR,u=!1;break;case Be:h=r?w.AUDIO_TRACK_LOAD_TIMEOUT:w.AUDIO_TRACK_LOAD_ERROR,u=!1;break;case Ve:h=r?w.SUBTITLE_TRACK_LOAD_TIMEOUT:w.SUBTITLE_LOAD_ERROR,u=!1}d&&this.resetInternalLoader(e.type);var c={type:K.NETWORK_ERROR,details:h,fatal:u,url:e.url,loader:d,context:e,error:l,networkDetails:t,stats:a};if(i){var f=(t==null?void 0:t.url)||e.url;c.response=ye({url:f,data:void 0},i)}this.hls.trigger(p.ERROR,c)},n.handlePlaylistLoaded=function(e,t,r,i,a,o){var l=this.hls,h=i.type,u=i.level,d=i.id,c=i.groupId,f=i.deliveryDirectives,g=Jr(t,i),m=In(i),E=typeof i.level=="number"&&m===Z?u:void 0;if(e.fragments.length){e.targetduration||(e.playlistParsingError=new Error("Missing Target Duration"));var v=e.playlistParsingError;if(v)l.trigger(p.ERROR,{type:K.NETWORK_ERROR,details:w.LEVEL_PARSING_ERROR,fatal:!1,url:g,error:v,reason:v.message,response:t,context:i,level:E,parent:m,networkDetails:a,stats:r});else switch(e.live&&o&&(o.getCacheAge&&(e.ageHeader=o.getCacheAge()||0),o.getCacheAge&&!isNaN(e.ageHeader)||(e.ageHeader=0)),h){case mt:case lt:l.trigger(p.LEVEL_LOADED,{details:e,level:E||0,id:d||0,stats:r,networkDetails:a,deliveryDirectives:f});break;case Be:l.trigger(p.AUDIO_TRACK_LOADED,{details:e,id:d||0,groupId:c||"",stats:r,networkDetails:a,deliveryDirectives:f});break;case Ve:l.trigger(p.SUBTITLE_TRACK_LOADED,{details:e,id:d||0,groupId:c||"",stats:r,networkDetails:a,deliveryDirectives:f})}}else{var y=new Error("No Segments found in Playlist");l.trigger(p.ERROR,{type:K.NETWORK_ERROR,details:w.LEVEL_EMPTY_ERROR,fatal:!1,url:g,error:y,reason:y.message,response:t,context:i,level:E,parent:m,networkDetails:a,stats:r})}},s}();function Cn(s,n){var e;try{e=new Event("addtrack")}catch{(e=document.createEvent("Event")).initEvent("addtrack",!1,!1)}e.track=s,n.dispatchEvent(e)}function _n(s,n){var e=s.mode;if(e==="disabled"&&(s.mode="hidden"),s.cues&&!s.cues.getCueById(n.id))try{if(s.addCue(n),!s.cues.getCueById(n.id))throw new Error("addCue is failed for: "+n)}catch(r){b.debug("[texttrack-utils]: "+r);try{var t=new self.TextTrackCue(n.startTime,n.endTime,n.text);t.id=n.id,s.addCue(t)}catch(i){b.debug("[texttrack-utils]: Legacy TextTrackCue fallback failed: "+i)}}e==="disabled"&&(s.mode=e)}function pt(s){var n=s.mode;if(n==="disabled"&&(s.mode="hidden"),s.cues)for(var e=s.cues.length;e--;)s.removeCue(s.cues[e]);n==="disabled"&&(s.mode=n)}function $r(s,n,e,t){var r=s.mode;if(r==="disabled"&&(s.mode="hidden"),s.cues&&s.cues.length>0)for(var i=function(o,l,h){var u=[],d=function(m,E){if(E<m[0].startTime)return 0;var v=m.length-1;if(E>m[v].endTime)return-1;for(var y=0,T=v;y<=T;){var S=Math.floor((T+y)/2);if(E<m[S].startTime)T=S-1;else{if(!(E>m[S].startTime&&y<v))return S;y=S+1}}return m[y].startTime-E<E-m[T].startTime?y:T}(o,l);if(d>-1)for(var c=d,f=o.length;c<f;c++){var g=o[c];if(g.startTime>=l&&g.endTime<=h)u.push(g);else if(g.startTime>h)return u}return u}(s.cues,n,e),a=0;a<i.length;a++)t&&!t(i[a])||s.removeCue(i[a]);r==="disabled"&&(s.mode=r)}function sr(s){for(var n=[],e=0;e<s.length;e++){var t=s[e];t.kind!=="subtitles"&&t.kind!=="captions"||!t.label||n.push(s[e])}return n}var Gt="org.id3",Bs="com.apple.quicktime.HLS",Kt="https://aomedia.org/emsg/ID3";function Zr(){if(typeof self<"u")return self.VTTCue||self.TextTrackCue}function xn(s,n,e,t,r){var i=new s(n,e,"");try{i.value=t,r&&(i.type=r)}catch{i=new s(n,e,JSON.stringify(r?ye({type:r},t):t))}return i}var or=function(){var s=Zr();try{s&&new s(0,Number.POSITIVE_INFINITY,"")}catch{return Number.MAX_VALUE}return Number.POSITIVE_INFINITY}();function ei(s,n){return s.getTime()/1e3-n}var Gs=function(){function s(e){this.hls=void 0,this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.hls=e,this._registerListeners()}var n=s.prototype;return n.destroy=function(){this._unregisterListeners(),this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.hls=null},n._registerListeners=function(){var e=this.hls;e.on(p.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(p.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(p.MANIFEST_LOADING,this.onManifestLoading,this),e.on(p.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.on(p.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(p.LEVEL_UPDATED,this.onLevelUpdated,this)},n._unregisterListeners=function(){var e=this.hls;e.off(p.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(p.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(p.MANIFEST_LOADING,this.onManifestLoading,this),e.off(p.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.off(p.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(p.LEVEL_UPDATED,this.onLevelUpdated,this)},n.onMediaAttached=function(e,t){this.media=t.media},n.onMediaDetaching=function(){this.id3Track&&(pt(this.id3Track),this.id3Track=null,this.media=null,this.dateRangeCuesAppended={})},n.onManifestLoading=function(){this.dateRangeCuesAppended={}},n.createTrack=function(e){var t=this.getID3Track(e.textTracks);return t.mode="hidden",t},n.getID3Track=function(e){if(this.media){for(var t=0;t<e.length;t++){var r=e[t];if(r.kind==="metadata"&&r.label==="id3")return Cn(r,this.media),r}return this.media.addTextTrack("metadata","id3")}},n.onFragParsingMetadata=function(e,t){if(this.media){var r=this.hls.config,i=r.enableEmsgMetadataCues,a=r.enableID3MetadataCues;if(i||a){var o=t.samples;this.id3Track||(this.id3Track=this.createTrack(this.media));var l=Zr();if(l)for(var h=0;h<o.length;h++){var u=o[h].type;if((u!==Kt||i)&&a){var d=nn(o[h].data);if(d){var c=o[h].pts,f=c+o[h].duration;f>or&&(f=or),f-c<=0&&(f=c+.25);for(var g=0;g<d.length;g++){var m=d[g];if(!rn(m)){this.updateId3CueEnds(c,u);var E=xn(l,c,f,m,u);E&&this.id3Track.addCue(E)}}}}}}}},n.updateId3CueEnds=function(e,t){var r,i=(r=this.id3Track)==null?void 0:r.cues;if(i)for(var a=i.length;a--;){var o=i[a];o.type===t&&o.startTime<e&&o.endTime===or&&(o.endTime=e)}},n.onBufferFlushing=function(e,t){var r=t.startOffset,i=t.endOffset,a=t.type,o=this.id3Track,l=this.hls;if(l){var h=l.config,u=h.enableEmsgMetadataCues,d=h.enableID3MetadataCues;o&&(u||d)&&$r(o,r,i,a==="audio"?function(c){return c.type===Gt&&d}:a==="video"?function(c){return c.type===Kt&&u}:function(c){return c.type===Gt&&d||c.type===Kt&&u})}},n.onLevelUpdated=function(e,t){var r=this,i=t.details;if(this.media&&i.hasProgramDateTime&&this.hls.config.enableDateRangeMetadataCues){var a=this.dateRangeCuesAppended,o=this.id3Track,l=i.dateRanges,h=Object.keys(l);if(o)for(var u=Object.keys(a).filter(function(y){return!h.includes(y)}),d=function(){var y=u[c];Object.keys(a[y].cues).forEach(function(T){o.removeCue(a[y].cues[T])}),delete a[y]},c=u.length;c--;)d();var f=i.fragments[i.fragments.length-1];if(h.length!==0&&N(f==null?void 0:f.programDateTime)){this.id3Track||(this.id3Track=this.createTrack(this.media));for(var g=f.programDateTime/1e3-f.start,m=Zr(),E=function(){var y=h[v],T=l[y],S=ei(T.startDate,g),A=a[y],R=(A==null?void 0:A.cues)||{},L=(A==null?void 0:A.durationKnown)||!1,D=or,k=T.endDate;if(k)D=ei(k,g),L=!0;else if(T.endOnNext&&!L){var I=h.reduce(function(B,G){if(G!==T.id){var V=l[G];if(V.class===T.class&&V.startDate>T.startDate&&(!B||T.startDate<B.startDate))return V}return B},null);I&&(D=ei(I.startDate,g),L=!0)}for(var C,_,x=Object.keys(T.attr),F=0;F<x.length;F++){var M=x[F];if((_=M)!=="ID"&&_!=="CLASS"&&_!=="START-DATE"&&_!=="DURATION"&&_!=="END-DATE"&&_!=="END-ON-NEXT"){var U=R[M];if(U)L&&!A.durationKnown&&(U.endTime=D);else if(m){var P=T.attr[M];vs(M)&&(C=P,P=Uint8Array.from(C.replace(/^0x/,"").replace(/([\da-fA-F]{2}) ?/g,"0x$1 ").replace(/ +$/,"").split(" ")).buffer);var O=xn(m,S,D,{key:M,data:P},Bs);O&&(O.id=y,r.id3Track.addCue(O),R[M]=O)}}}a[y]={cues:R,dateRange:T,durationKnown:L}},v=0;v<h.length;v++)E()}}},s}(),Ks=function(){function s(e){var t=this;this.hls=void 0,this.config=void 0,this.media=null,this.levelDetails=null,this.currentTime=0,this.stallCount=0,this._latency=null,this.timeupdateHandler=function(){return t.timeupdate()},this.hls=e,this.config=e.config,this.registerListeners()}var n=s.prototype;return n.destroy=function(){this.unregisterListeners(),this.onMediaDetaching(),this.levelDetails=null,this.hls=this.timeupdateHandler=null},n.registerListeners=function(){this.hls.on(p.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.on(p.MEDIA_DETACHING,this.onMediaDetaching,this),this.hls.on(p.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.on(p.LEVEL_UPDATED,this.onLevelUpdated,this),this.hls.on(p.ERROR,this.onError,this)},n.unregisterListeners=function(){this.hls.off(p.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.off(p.MEDIA_DETACHING,this.onMediaDetaching,this),this.hls.off(p.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.off(p.LEVEL_UPDATED,this.onLevelUpdated,this),this.hls.off(p.ERROR,this.onError,this)},n.onMediaAttached=function(e,t){this.media=t.media,this.media.addEventListener("timeupdate",this.timeupdateHandler)},n.onMediaDetaching=function(){this.media&&(this.media.removeEventListener("timeupdate",this.timeupdateHandler),this.media=null)},n.onManifestLoading=function(){this.levelDetails=null,this._latency=null,this.stallCount=0},n.onLevelUpdated=function(e,t){var r=t.details;this.levelDetails=r,r.advanced&&this.timeupdate(),!r.live&&this.media&&this.media.removeEventListener("timeupdate",this.timeupdateHandler)},n.onError=function(e,t){var r;t.details===w.BUFFER_STALLED_ERROR&&(this.stallCount++,(r=this.levelDetails)!=null&&r.live&&b.warn("[playback-rate-controller]: Stall detected, adjusting target latency"))},n.timeupdate=function(){var e=this.media,t=this.levelDetails;if(e&&t){this.currentTime=e.currentTime;var r=this.computeLatency();if(r!==null){this._latency=r;var i=this.config,a=i.lowLatencyMode,o=i.maxLiveSyncPlaybackRate;if(a&&o!==1&&t.live){var l=this.targetLatency;if(l!==null){var h=r-l;if(h<Math.min(this.maxLatency,l+t.targetduration)&&h>.05&&this.forwardBufferLength>1){var u=Math.min(2,Math.max(1,o)),d=Math.round(2/(1+Math.exp(-.75*h-this.edgeStalled))*20)/20;e.playbackRate=Math.min(u,Math.max(1,d))}else e.playbackRate!==1&&e.playbackRate!==0&&(e.playbackRate=1)}}}}},n.estimateLiveEdge=function(){var e=this.levelDetails;return e===null?null:e.edge+e.age},n.computeLatency=function(){var e=this.estimateLiveEdge();return e===null?null:e-this.currentTime},fe(s,[{key:"latency",get:function(){return this._latency||0}},{key:"maxLatency",get:function(){var e=this.config,t=this.levelDetails;return e.liveMaxLatencyDuration!==void 0?e.liveMaxLatencyDuration:t?e.liveMaxLatencyDurationCount*t.targetduration:0}},{key:"targetLatency",get:function(){var e=this.levelDetails;if(e===null)return null;var t=e.holdBack,r=e.partHoldBack,i=e.targetduration,a=this.config,o=a.liveSyncDuration,l=a.liveSyncDurationCount,h=a.lowLatencyMode,u=this.hls.userConfig,d=h&&r||t;(u.liveSyncDuration||u.liveSyncDurationCount||d===0)&&(d=o!==void 0?o:l*i);var c=i;return d+Math.min(1*this.stallCount,c)}},{key:"liveSyncPosition",get:function(){var e=this.estimateLiveEdge(),t=this.targetLatency,r=this.levelDetails;if(e===null||t===null||r===null)return null;var i=r.edge,a=e-t-this.edgeStalled,o=i-r.totalduration,l=i-(this.config.lowLatencyMode&&r.partTarget||r.targetduration);return Math.min(Math.max(o,a),l)}},{key:"drift",get:function(){var e=this.levelDetails;return e===null?1:e.drift}},{key:"edgeStalled",get:function(){var e=this.levelDetails;if(e===null)return 0;var t=3*(this.config.lowLatencyMode&&e.partTarget||e.targetduration);return Math.max(e.age-t,0)}},{key:"forwardBufferLength",get:function(){var e=this.media,t=this.levelDetails;if(!e||!t)return 0;var r=e.buffered.length;return(r?e.buffered.end(r-1):t.edge)-this.currentTime}}]),s}(),ti=["NONE","TYPE-0","TYPE-1",null],lr=["SDR","PQ","HLG"],Pn="",Hs="YES",Vs="v2";function Fn(s){var n=s.canSkipUntil,e=s.canSkipDateRanges,t=s.age;return n&&t<n/2?e?Vs:Hs:Pn}var Mn=function(){function s(n,e,t){this.msn=void 0,this.part=void 0,this.skip=void 0,this.msn=n,this.part=e,this.skip=t}return s.prototype.addDirectives=function(n){var e=new self.URL(n);return this.msn!==void 0&&e.searchParams.set("_HLS_msn",this.msn.toString()),this.part!==void 0&&e.searchParams.set("_HLS_part",this.part.toString()),this.skip&&e.searchParams.set("_HLS_skip",this.skip),e.href},s}(),yt=function(){function s(e){this._attrs=void 0,this.audioCodec=void 0,this.bitrate=void 0,this.codecSet=void 0,this.url=void 0,this.frameRate=void 0,this.height=void 0,this.id=void 0,this.name=void 0,this.videoCodec=void 0,this.width=void 0,this.details=void 0,this.fragmentError=0,this.loadError=0,this.loaded=void 0,this.realBitrate=0,this.supportedPromise=void 0,this.supportedResult=void 0,this._avgBitrate=0,this._audioGroups=void 0,this._subtitleGroups=void 0,this._urlId=0,this.url=[e.url],this._attrs=[e.attrs],this.bitrate=e.bitrate,e.details&&(this.details=e.details),this.id=e.id||0,this.name=e.name,this.width=e.width||0,this.height=e.height||0,this.frameRate=e.attrs.optionalFloat("FRAME-RATE",0),this._avgBitrate=e.attrs.decimalInteger("AVERAGE-BANDWIDTH"),this.audioCodec=e.audioCodec,this.videoCodec=e.videoCodec,this.codecSet=[e.videoCodec,e.audioCodec].filter(function(t){return!!t}).map(function(t){return t.substring(0,4)}).join(","),this.addGroupId("audio",e.attrs.AUDIO),this.addGroupId("text",e.attrs.SUBTITLES)}var n=s.prototype;return n.hasAudioGroup=function(e){return On(this._audioGroups,e)},n.hasSubtitleGroup=function(e){return On(this._subtitleGroups,e)},n.addGroupId=function(e,t){if(t){if(e==="audio"){var r=this._audioGroups;r||(r=this._audioGroups=[]),r.indexOf(t)===-1&&r.push(t)}else if(e==="text"){var i=this._subtitleGroups;i||(i=this._subtitleGroups=[]),i.indexOf(t)===-1&&i.push(t)}}},n.addFallback=function(){},fe(s,[{key:"maxBitrate",get:function(){return Math.max(this.realBitrate,this.bitrate)}},{key:"averageBitrate",get:function(){return this._avgBitrate||this.realBitrate||this.bitrate}},{key:"attrs",get:function(){return this._attrs[0]}},{key:"codecs",get:function(){return this.attrs.CODECS||""}},{key:"pathwayId",get:function(){return this.attrs["PATHWAY-ID"]||"."}},{key:"videoRange",get:function(){return this.attrs["VIDEO-RANGE"]||"SDR"}},{key:"score",get:function(){return this.attrs.optionalFloat("SCORE",0)}},{key:"uri",get:function(){return this.url[0]||""}},{key:"audioGroups",get:function(){return this._audioGroups}},{key:"subtitleGroups",get:function(){return this._subtitleGroups}},{key:"urlId",get:function(){return 0},set:function(e){}},{key:"audioGroupIds",get:function(){return this.audioGroups?[this.audioGroupId]:void 0}},{key:"textGroupIds",get:function(){return this.subtitleGroups?[this.textGroupId]:void 0}},{key:"audioGroupId",get:function(){var e;return(e=this.audioGroups)==null?void 0:e[0]}},{key:"textGroupId",get:function(){var e;return(e=this.subtitleGroups)==null?void 0:e[0]}}]),s}();function On(s,n){return!(!n||!s)&&s.indexOf(n)!==-1}function ri(s,n){var e=n.startPTS;if(N(e)){var t,r=0;n.sn>s.sn?(r=e-s.start,t=s):(r=s.start-e,t=n),t.duration!==r&&(t.duration=r)}else n.sn>s.sn?s.cc===n.cc&&s.minEndPTS?n.start=s.start+(s.minEndPTS-s.start):n.start=s.start+s.duration:n.start=Math.max(s.start-n.duration,0)}function Nn(s,n,e,t,r,i){t-e<=0&&(b.warn("Fragment should have a positive duration",n),t=e+n.duration,i=r+n.duration);var a=e,o=t,l=n.startPTS,h=n.endPTS;if(N(l)){var u=Math.abs(l-e);N(n.deltaPTS)?n.deltaPTS=Math.max(u,n.deltaPTS):n.deltaPTS=u,a=Math.max(e,l),e=Math.min(e,l),r=Math.min(r,n.startDTS),o=Math.min(t,h),t=Math.max(t,h),i=Math.max(i,n.endDTS)}var d=e-n.start;n.start!==0&&(n.start=e),n.duration=t-n.start,n.startPTS=e,n.maxStartPTS=a,n.startDTS=r,n.endPTS=t,n.minEndPTS=o,n.endDTS=i;var c,f=n.sn;if(!s||f<s.startSN||f>s.endSN)return 0;var g=f-s.startSN,m=s.fragments;for(m[g]=n,c=g;c>0;c--)ri(m[c],m[c-1]);for(c=g;c<m.length-1;c++)ri(m[c],m[c+1]);return s.fragmentHint&&ri(m[m.length-1],s.fragmentHint),s.PTSKnown=s.alignedSliding=!0,d}function Ys(s,n){for(var e=null,t=s.fragments,r=t.length-1;r>=0;r--){var i=t[r].initSegment;if(i){e=i;break}}s.fragmentHint&&delete s.fragmentHint.endPTS;var a,o,l,h,u,d=0;if(function(v,y,T){for(var S=y.skippedSegments,A=Math.max(v.startSN,y.startSN)-y.startSN,R=(v.fragmentHint?1:0)+(S?y.endSN:Math.min(v.endSN,y.endSN))-y.startSN,L=y.startSN-v.startSN,D=y.fragmentHint?y.fragments.concat(y.fragmentHint):y.fragments,k=v.fragmentHint?v.fragments.concat(v.fragmentHint):v.fragments,I=A;I<=R;I++){var C=k[L+I],_=D[I];S&&!_&&I<S&&(_=y.fragments[I]=C),C&&_&&T(C,_)}}(s,n,function(v,y){v.relurl&&(d=v.cc-y.cc),N(v.startPTS)&&N(v.endPTS)&&(y.start=y.startPTS=v.startPTS,y.startDTS=v.startDTS,y.maxStartPTS=v.maxStartPTS,y.endPTS=v.endPTS,y.endDTS=v.endDTS,y.minEndPTS=v.minEndPTS,y.duration=v.endPTS-v.startPTS,y.duration&&(a=y),n.PTSKnown=n.alignedSliding=!0),y.elementaryStreams=v.elementaryStreams,y.loader=v.loader,y.stats=v.stats,v.initSegment&&(y.initSegment=v.initSegment,e=v.initSegment)}),e&&(n.fragmentHint?n.fragments.concat(n.fragmentHint):n.fragments).forEach(function(v){var y;!v||v.initSegment&&v.initSegment.relurl!==((y=e)==null?void 0:y.relurl)||(v.initSegment=e)}),n.skippedSegments)if(n.deltaUpdateFailed=n.fragments.some(function(v){return!v}),n.deltaUpdateFailed){b.warn("[level-helper] Previous playlist missing segments skipped in delta playlist");for(var c=n.skippedSegments;c--;)n.fragments.shift();n.startSN=n.fragments[0].sn,n.startCC=n.fragments[0].cc}else n.canSkipDateRanges&&(n.dateRanges=(o=s.dateRanges,l=n.dateRanges,h=n.recentlyRemovedDateranges,u=ge({},o),h&&h.forEach(function(v){delete u[v]}),Object.keys(l).forEach(function(v){var y=new Xi(l[v].attr,u[v]);y.isValid?u[v]=y:b.warn('Ignoring invalid Playlist Delta Update DATERANGE tag: "'+JSON.stringify(l[v].attr)+'"')}),u));var f=n.fragments;if(d){b.warn("discontinuity sliding from playlist, take drift into account");for(var g=0;g<f.length;g++)f[g].cc+=d}n.skippedSegments&&(n.startCC=n.fragments[0].cc),function(v,y,T){if(v&&y)for(var S=0,A=0,R=v.length;A<=R;A++){var L=v[A],D=y[A+S];L&&D&&L.index===D.index&&L.fragment.sn===D.fragment.sn?T(L,D):S--}}(s.partList,n.partList,function(v,y){y.elementaryStreams=v.elementaryStreams,y.stats=v.stats}),a?Nn(n,a,a.startPTS,a.endPTS,a.startDTS,a.endDTS):Un(s,n),f.length&&(n.totalduration=n.edge-f[0].start),n.driftStartTime=s.driftStartTime,n.driftStart=s.driftStart;var m=n.advancedDateTime;if(n.advanced&&m){var E=n.edge;n.driftStart||(n.driftStartTime=m,n.driftStart=E),n.driftEndTime=m,n.driftEnd=E}else n.driftEndTime=s.driftEndTime,n.driftEnd=s.driftEnd,n.advancedDateTime=s.advancedDateTime}function Un(s,n){var e=n.startSN+n.skippedSegments-s.startSN,t=s.fragments;e<0||e>=t.length||ii(n,t[e].start)}function ii(s,n){if(n){for(var e=s.fragments,t=s.skippedSegments;t<e.length;t++)e[t].start+=n;s.fragmentHint&&(s.fragmentHint.start+=n)}}function Bn(s,n,e){var t;return s!=null&&s.details?Gn((t=s.details)==null?void 0:t.partList,n,e):null}function Gn(s,n,e){if(s)for(var t=s.length;t--;){var r=s[t];if(r.index===e&&r.fragment.sn===n)return r}return null}function Kn(s){s.forEach(function(n,e){var t=n.details;t!=null&&t.fragments&&t.fragments.forEach(function(r){r.level=e})})}function ur(s){switch(s.details){case w.FRAG_LOAD_TIMEOUT:case w.KEY_LOAD_TIMEOUT:case w.LEVEL_LOAD_TIMEOUT:case w.MANIFEST_LOAD_TIMEOUT:return!0}return!1}function Hn(s,n){var e=ur(n);return s.default[(e?"timeout":"error")+"Retry"]}function ni(s,n){var e=s.backoff==="linear"?1:Math.pow(2,n);return Math.min(e*s.retryDelayMs,s.maxRetryDelayMs)}function Vn(s){return ye(ye({},s),{errorRetry:null,timeoutRetry:null})}function hr(s,n,e,t){if(!s)return!1;var r=t==null?void 0:t.code,i=n<s.maxNumRetry&&(function(a){return a===0&&navigator.onLine===!1||!!a&&(a<400||a>499)}(r)||!!e);return s.shouldRetry?s.shouldRetry(s,n,e,t,i):i}var Yn=function(s,n){for(var e=0,t=s.length-1,r=null,i=null;e<=t;){var a=n(i=s[r=(e+t)/2|0]);if(a>0)e=r+1;else{if(!(a<0))return i;t=r-1}}return null};function dr(s,n,e,t,r){e===void 0&&(e=0),t===void 0&&(t=0),r===void 0&&(r=.005);var i=null;if(s){i=n[s.sn-n[0].sn+1]||null;var a=s.endDTS-e;a>0&&a<15e-7&&(e+=15e-7)}else e===0&&n[0].start===0&&(i=n[0]);if(i&&((!s||s.level===i.level)&&ai(e,t,i)===0||function(l,h,u){if(h&&h.start===0&&h.level<l.level&&(h.endPTS||0)>0){var d=h.tagList.reduce(function(c,f){return f[0]==="INF"&&(c+=parseFloat(f[1])),c},u);return l.start<=d}return!1}(i,s,Math.min(r,t))))return i;var o=Yn(n,ai.bind(null,e,t));return!o||o===s&&i?i:o}function ai(s,n,e){if(s===void 0&&(s=0),n===void 0&&(n=0),e.start<=s&&e.start+e.duration>s)return 0;var t=Math.min(n,e.duration+(e.deltaPTS?e.deltaPTS:0));return e.start+e.duration-t<=s?1:e.start-t>s&&e.start?-1:0}function Ws(s,n,e){var t=1e3*Math.min(n,e.duration+(e.deltaPTS?e.deltaPTS:0));return(e.endProgramDateTime||0)-t>s}var si=0,Xe=2,js=3,cr=5,Et=0,oi=1,Wn=2,qs=function(){function s(e){this.hls=void 0,this.playlistError=0,this.penalizedRenditions={},this.log=void 0,this.warn=void 0,this.error=void 0,this.hls=e,this.log=b.log.bind(b,"[info]:"),this.warn=b.warn.bind(b,"[warning]:"),this.error=b.error.bind(b,"[error]:"),this.registerListeners()}var n=s.prototype;return n.registerListeners=function(){var e=this.hls;e.on(p.ERROR,this.onError,this),e.on(p.MANIFEST_LOADING,this.onManifestLoading,this),e.on(p.LEVEL_UPDATED,this.onLevelUpdated,this)},n.unregisterListeners=function(){var e=this.hls;e&&(e.off(p.ERROR,this.onError,this),e.off(p.ERROR,this.onErrorOut,this),e.off(p.MANIFEST_LOADING,this.onManifestLoading,this),e.off(p.LEVEL_UPDATED,this.onLevelUpdated,this))},n.destroy=function(){this.unregisterListeners(),this.hls=null,this.penalizedRenditions={}},n.startLoad=function(e){},n.stopLoad=function(){this.playlistError=0},n.getVariantLevelIndex=function(e){return(e==null?void 0:e.type)===Z?e.level:this.hls.loadLevel},n.onManifestLoading=function(){this.playlistError=0,this.penalizedRenditions={}},n.onLevelUpdated=function(){this.playlistError=0},n.onError=function(e,t){var r,i;if(!t.fatal){var a=this.hls,o=t.context;switch(t.details){case w.FRAG_LOAD_ERROR:case w.FRAG_LOAD_TIMEOUT:case w.KEY_LOAD_ERROR:case w.KEY_LOAD_TIMEOUT:return void(t.errorAction=this.getFragRetryOrSwitchAction(t));case w.FRAG_PARSING_ERROR:if((r=t.frag)!=null&&r.gap)return void(t.errorAction={action:si,flags:Et});case w.FRAG_GAP:case w.FRAG_DECRYPT_ERROR:return t.errorAction=this.getFragRetryOrSwitchAction(t),void(t.errorAction.action=Xe);case w.LEVEL_EMPTY_ERROR:case w.LEVEL_PARSING_ERROR:var l,h,u=t.parent===Z?t.level:a.loadLevel;return void(t.details===w.LEVEL_EMPTY_ERROR&&(l=t.context)!=null&&(h=l.levelDetails)!=null&&h.live?t.errorAction=this.getPlaylistRetryOrSwitchAction(t,u):(t.levelRetry=!1,t.errorAction=this.getLevelSwitchAction(t,u)));case w.LEVEL_LOAD_ERROR:case w.LEVEL_LOAD_TIMEOUT:return void(typeof(o==null?void 0:o.level)=="number"&&(t.errorAction=this.getPlaylistRetryOrSwitchAction(t,o.level)));case w.AUDIO_TRACK_LOAD_ERROR:case w.AUDIO_TRACK_LOAD_TIMEOUT:case w.SUBTITLE_LOAD_ERROR:case w.SUBTITLE_TRACK_LOAD_TIMEOUT:if(o){var d=a.levels[a.loadLevel];if(d&&(o.type===Be&&d.hasAudioGroup(o.groupId)||o.type===Ve&&d.hasSubtitleGroup(o.groupId)))return t.errorAction=this.getPlaylistRetryOrSwitchAction(t,a.loadLevel),t.errorAction.action=Xe,void(t.errorAction.flags=oi)}return;case w.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED:var c=a.levels[a.loadLevel],f=c==null?void 0:c.attrs["HDCP-LEVEL"];return void(f?t.errorAction={action:Xe,flags:Wn,hdcpLevel:f}:this.keySystemError(t));case w.BUFFER_ADD_CODEC_ERROR:case w.REMUX_ALLOC_ERROR:case w.BUFFER_APPEND_ERROR:return void(t.errorAction=this.getLevelSwitchAction(t,(i=t.level)!=null?i:a.loadLevel));case w.INTERNAL_EXCEPTION:case w.BUFFER_APPENDING_ERROR:case w.BUFFER_FULL_ERROR:case w.LEVEL_SWITCH_ERROR:case w.BUFFER_STALLED_ERROR:case w.BUFFER_SEEK_OVER_HOLE:case w.BUFFER_NUDGE_ON_STALL:return void(t.errorAction={action:si,flags:Et})}t.type===K.KEY_SYSTEM_ERROR&&this.keySystemError(t)}},n.keySystemError=function(e){var t=this.getVariantLevelIndex(e.frag);e.levelRetry=!1,e.errorAction=this.getLevelSwitchAction(e,t)},n.getPlaylistRetryOrSwitchAction=function(e,t){var r=Hn(this.hls.config.playlistLoadPolicy,e),i=this.playlistError++;if(hr(r,i,ur(e),e.response))return{action:cr,flags:Et,retryConfig:r,retryCount:i};var a=this.getLevelSwitchAction(e,t);return r&&(a.retryConfig=r,a.retryCount=i),a},n.getFragRetryOrSwitchAction=function(e){var t=this.hls,r=this.getVariantLevelIndex(e.frag),i=t.levels[r],a=t.config,o=a.fragLoadPolicy,l=a.keyLoadPolicy,h=Hn(e.details.startsWith("key")?l:o,e),u=t.levels.reduce(function(c,f){return c+f.fragmentError},0);if(i&&(e.details!==w.FRAG_GAP&&i.fragmentError++,hr(h,u,ur(e),e.response)))return{action:cr,flags:Et,retryConfig:h,retryCount:u};var d=this.getLevelSwitchAction(e,r);return h&&(d.retryConfig=h,d.retryCount=u),d},n.getLevelSwitchAction=function(e,t){var r=this.hls;t==null&&(t=r.loadLevel);var i=this.hls.levels[t];if(i){var a,o,l=e.details;i.loadError++,l===w.BUFFER_APPEND_ERROR&&i.fragmentError++;var h=-1,u=r.levels,d=r.loadLevel,c=r.minAutoLevel,f=r.maxAutoLevel;r.autoLevelEnabled||(r.loadLevel=-1);for(var g,m=(a=e.frag)==null?void 0:a.type,E=(m===Me&&l===w.FRAG_PARSING_ERROR||e.sourceBufferName==="audio"&&(l===w.BUFFER_ADD_CODEC_ERROR||l===w.BUFFER_APPEND_ERROR))&&u.some(function(L){var D=L.audioCodec;return i.audioCodec!==D}),v=e.sourceBufferName==="video"&&(l===w.BUFFER_ADD_CODEC_ERROR||l===w.BUFFER_APPEND_ERROR)&&u.some(function(L){var D=L.codecSet,k=L.audioCodec;return i.codecSet!==D&&i.audioCodec===k}),y=(o=e.context)!=null?o:{},T=y.type,S=y.groupId,A=function(){var L=(R+d)%u.length;if(L!==d&&L>=c&&L<=f&&u[L].loadError===0){var D,k,I=u[L];if(l===w.FRAG_GAP&&m===Z&&e.frag){var C=u[L].details;if(C){var _=dr(e.frag,C.fragments,e.frag.start);if(_!=null&&_.gap)return 0}}else if(T===Be&&I.hasAudioGroup(S)||T===Ve&&I.hasSubtitleGroup(S)||m===Me&&(D=i.audioGroups)!=null&&D.some(function(x){return I.hasAudioGroup(x)})||m===qe&&(k=i.subtitleGroups)!=null&&k.some(function(x){return I.hasSubtitleGroup(x)})||E&&i.audioCodec===I.audioCodec||!E&&i.audioCodec!==I.audioCodec||v&&i.codecSet===I.codecSet)return 0;return h=L,1}},R=u.length;R--&&((g=A())===0||g!==1););if(h>-1&&r.loadLevel!==h)return e.levelRetry=!0,this.playlistError=0,{action:Xe,flags:Et,nextAutoLevel:h}}return{action:Xe,flags:oi}},n.onErrorOut=function(e,t){var r;switch((r=t.errorAction)==null?void 0:r.action){case si:break;case Xe:this.sendAlternateToPenaltyBox(t),t.errorAction.resolved||t.details===w.FRAG_GAP?/MediaSource readyState: ended/.test(t.error.message)&&(this.warn('MediaSource ended after "'+t.sourceBufferName+'" sourceBuffer append error. Attempting to recover from media error.'),this.hls.recoverMediaError()):t.fatal=!0}t.fatal&&this.hls.stopLoad()},n.sendAlternateToPenaltyBox=function(e){var t=this.hls,r=e.errorAction;if(r){var i=r.flags,a=r.hdcpLevel,o=r.nextAutoLevel;switch(i){case Et:this.switchLevel(e,o);break;case Wn:a&&(t.maxHdcpLevel=ti[ti.indexOf(a)-1],r.resolved=!0),this.warn('Restricting playback to HDCP-LEVEL of "'+t.maxHdcpLevel+'" or lower')}r.resolved||this.switchLevel(e,o)}},n.switchLevel=function(e,t){t!==void 0&&e.errorAction&&(this.warn("switching to level "+t+" after "+e.details),this.hls.nextAutoLevel=t,e.errorAction.resolved=!0,this.hls.nextLoadLevel=this.hls.nextAutoLevel)},s}(),li=function(){function s(e,t){this.hls=void 0,this.timer=-1,this.requestScheduled=-1,this.canLoad=!1,this.log=void 0,this.warn=void 0,this.log=b.log.bind(b,t+":"),this.warn=b.warn.bind(b,t+":"),this.hls=e}var n=s.prototype;return n.destroy=function(){this.clearTimer(),this.hls=this.log=this.warn=null},n.clearTimer=function(){this.timer!==-1&&(self.clearTimeout(this.timer),this.timer=-1)},n.startLoad=function(){this.canLoad=!0,this.requestScheduled=-1,this.loadPlaylist()},n.stopLoad=function(){this.canLoad=!1,this.clearTimer()},n.switchParams=function(e,t,r){var i=t==null?void 0:t.renditionReports;if(i){for(var a=-1,o=0;o<i.length;o++){var l=i[o],h=void 0;try{h=new self.URL(l.URI,t.url).href}catch(m){b.warn("Could not construct new URL for Rendition Report: "+m),h=l.URI||""}if(h===e){a=o;break}h===e.substring(0,h.length)&&(a=o)}if(a!==-1){var u=i[a],d=parseInt(u["LAST-MSN"])||(t==null?void 0:t.lastPartSn),c=parseInt(u["LAST-PART"])||(t==null?void 0:t.lastPartIndex);if(this.hls.config.lowLatencyMode){var f=Math.min(t.age-t.partTarget,t.targetduration);c>=0&&f>t.partTarget&&(c+=1)}var g=r&&Fn(r);return new Mn(d,c>=0?c:void 0,g)}}},n.loadPlaylist=function(e){this.requestScheduled===-1&&(this.requestScheduled=self.performance.now())},n.shouldLoadPlaylist=function(e){return this.canLoad&&!!e&&!!e.url&&(!e.details||e.details.live)},n.shouldReloadPlaylist=function(e){return this.timer===-1&&this.requestScheduled===-1&&this.shouldLoadPlaylist(e)},n.playlistLoaded=function(e,t,r){var i=this,a=t.details,o=t.stats,l=self.performance.now(),h=o.loading.first?Math.max(0,l-o.loading.first):0;if(a.advancedDateTime=Date.now()-h,a.live||r!=null&&r.live){if(a.reloaded(r),r&&this.log("live playlist "+e+" "+(a.advanced?"REFRESHED "+a.lastPartSn+"-"+a.lastPartIndex:a.updated?"UPDATED":"MISSED")),r&&a.fragments.length>0&&Ys(r,a),!this.canLoad||!a.live)return;var u,d=void 0,c=void 0;if(a.canBlockReload&&a.endSN&&a.advanced){var f=this.hls.config.lowLatencyMode,g=a.lastPartSn,m=a.endSN,E=a.lastPartIndex,v=g===m;E!==-1?(d=v?m+1:g,c=v?f?0:E:E+1):d=m+1;var y=a.age,T=y+a.ageHeader,S=Math.min(T-a.partTarget,1.5*a.targetduration);if(S>0){if(r&&S>r.tuneInGoal)this.warn("CDN Tune-in goal increased from: "+r.tuneInGoal+" to: "+S+" with playlist age: "+a.age),S=0;else{var A=Math.floor(S/a.targetduration);d+=A,c!==void 0&&(c+=Math.round(S%a.targetduration/a.partTarget)),this.log("CDN Tune-in age: "+a.ageHeader+"s last advanced "+y.toFixed(2)+"s goal: "+S+" skip sn "+A+" to part "+c)}a.tuneInGoal=S}if(u=this.getDeliveryDirectives(a,t.deliveryDirectives,d,c),f||!v)return void this.loadPlaylist(u)}else(a.canBlockReload||a.canSkipUntil)&&(u=this.getDeliveryDirectives(a,t.deliveryDirectives,d,c));var R=this.hls.mainForwardBufferInfo,L=R?R.end-R.len:0,D=function(I,C){C===void 0&&(C=1/0);var _=1e3*I.targetduration;if(I.updated){var x=I.fragments;if(x.length&&4*_>C){var F=1e3*x[x.length-1].duration;F<_&&(_=F)}}else _/=2;return Math.round(_)}(a,1e3*(a.edge-L));a.updated&&l>this.requestScheduled+D&&(this.requestScheduled=o.loading.start),d!==void 0&&a.canBlockReload?this.requestScheduled=o.loading.first+D-(1e3*a.partTarget||1e3):this.requestScheduled===-1||this.requestScheduled+D<l?this.requestScheduled=l:this.requestScheduled-l<=0&&(this.requestScheduled+=D);var k=this.requestScheduled-l;k=Math.max(0,k),this.log("reload live playlist "+e+" in "+Math.round(k)+" ms"),this.timer=self.setTimeout(function(){return i.loadPlaylist(u)},k)}else this.clearTimer()},n.getDeliveryDirectives=function(e,t,r,i){var a=Fn(e);return t!=null&&t.skip&&e.deltaUpdateFailed&&(r=t.msn,i=t.part,a=Pn),new Mn(r,i,a)},n.checkRetry=function(e){var t=this,r=e.details,i=ur(e),a=e.errorAction,o=a||{},l=o.action,h=o.retryCount,u=h===void 0?0:h,d=o.retryConfig,c=!!a&&!!d&&(l===cr||!a.resolved&&l===Xe);if(c){var f;if(this.requestScheduled=-1,u>=d.maxNumRetry)return!1;if(i&&(f=e.context)!=null&&f.deliveryDirectives)this.warn("Retrying playlist loading "+(u+1)+"/"+d.maxNumRetry+' after "'+r+'" without delivery-directives'),this.loadPlaylist();else{var g=ni(d,u);this.timer=self.setTimeout(function(){return t.loadPlaylist()},g),this.warn("Retrying playlist loading "+(u+1)+"/"+d.maxNumRetry+' after "'+r+'" in '+g+"ms")}e.levelRetry=!0,a.resolved=!0}return c},s}(),Tt=function(){function s(e,t,r){t===void 0&&(t=0),r===void 0&&(r=0),this.halfLife=void 0,this.alpha_=void 0,this.estimate_=void 0,this.totalWeight_=void 0,this.halfLife=e,this.alpha_=e?Math.exp(Math.log(.5)/e):0,this.estimate_=t,this.totalWeight_=r}var n=s.prototype;return n.sample=function(e,t){var r=Math.pow(this.alpha_,e);this.estimate_=t*(1-r)+r*this.estimate_,this.totalWeight_+=e},n.getTotalWeight=function(){return this.totalWeight_},n.getEstimate=function(){if(this.alpha_){var e=1-Math.pow(this.alpha_,this.totalWeight_);if(e)return this.estimate_/e}return this.estimate_},s}(),Xs=function(){function s(e,t,r,i){i===void 0&&(i=100),this.defaultEstimate_=void 0,this.minWeight_=void 0,this.minDelayMs_=void 0,this.slow_=void 0,this.fast_=void 0,this.defaultTTFB_=void 0,this.ttfb_=void 0,this.defaultEstimate_=r,this.minWeight_=.001,this.minDelayMs_=50,this.slow_=new Tt(e),this.fast_=new Tt(t),this.defaultTTFB_=i,this.ttfb_=new Tt(e)}var n=s.prototype;return n.update=function(e,t){var r=this.slow_,i=this.fast_,a=this.ttfb_;r.halfLife!==e&&(this.slow_=new Tt(e,r.getEstimate(),r.getTotalWeight())),i.halfLife!==t&&(this.fast_=new Tt(t,i.getEstimate(),i.getTotalWeight())),a.halfLife!==e&&(this.ttfb_=new Tt(e,a.getEstimate(),a.getTotalWeight()))},n.sample=function(e,t){var r=(e=Math.max(e,this.minDelayMs_))/1e3,i=8*t/r;this.fast_.sample(r,i),this.slow_.sample(r,i)},n.sampleTTFB=function(e){var t=e/1e3,r=Math.sqrt(2)*Math.exp(-Math.pow(t,2)/2);this.ttfb_.sample(r,Math.max(e,5))},n.canEstimate=function(){return this.fast_.getTotalWeight()>=this.minWeight_},n.getEstimate=function(){return this.canEstimate()?Math.min(this.fast_.getEstimate(),this.slow_.getEstimate()):this.defaultEstimate_},n.getEstimateTTFB=function(){return this.ttfb_.getTotalWeight()>=this.minWeight_?this.ttfb_.getEstimate():this.defaultTTFB_},n.destroy=function(){},s}(),jn={supported:!0,configurations:[],decodingInfoResults:[{supported:!0,powerEfficient:!0,smooth:!0}]},qn={};function zs(s,n,e){var t=s.videoCodec,r=s.audioCodec;if(!t||!r||!e)return Promise.resolve(jn);var i={width:s.width,height:s.height,bitrate:Math.ceil(Math.max(.9*s.bitrate,s.averageBitrate)),framerate:s.frameRate||30},a=s.videoRange;a!=="SDR"&&(i.transferFunction=a.toLowerCase());var o=t.split(",").map(function(l){return{type:"media-source",video:ye(ye({},i),{},{contentType:Ut(l,"video")})}});return r&&s.audioGroups&&s.audioGroups.forEach(function(l){var h;l&&((h=n.groups[l])==null||h.tracks.forEach(function(u){if(u.groupId===l){var d=u.channels||"",c=parseFloat(d);N(c)&&c>2&&o.push.apply(o,r.split(",").map(function(f){return{type:"media-source",audio:{contentType:Ut(f,"audio"),channels:""+c}}}))}}))}),Promise.all(o.map(function(l){var h=function(u){var d=u.audio,c=u.video,f=c||d;if(f){var g=f.contentType.split('"')[1];if(c)return"r"+c.height+"x"+c.width+"f"+Math.ceil(c.framerate)+(c.transferFunction||"sd")+"_"+g+"_"+Math.ceil(c.bitrate/1e5);if(d)return"c"+d.channels+(d.spatialRendering?"s":"n")+"_"+g}return""}(l);return qn[h]||(qn[h]=e.decodingInfo(l))})).then(function(l){return{supported:!l.some(function(h){return!h.supported}),configurations:o,decodingInfoResults:l}}).catch(function(l){return{supported:!1,configurations:o,decodingInfoResults:[],error:l}})}function Qs(s,n){var e=!1,t=[];return s&&(e=s!=="SDR",t=[s]),n&&(t=n.allowedVideoRanges||lr.slice(0),t=(e=n.preferHDR!==void 0?n.preferHDR:function(){if(typeof matchMedia=="function"){var r=matchMedia("(dynamic-range: high)"),i=matchMedia("bad query");if(r.media!==i.media)return r.matches===!0}return!1}())?t.filter(function(r){return r!=="SDR"}):["SDR"]),{preferHDR:e,allowedVideoRanges:t}}function ze(s,n){b.log('[abr] start candidates with "'+s+'" ignored because '+n)}function Ye(s,n,e){if("attrs"in s){var t=n.indexOf(s);if(t!==-1)return t}for(var r=0;r<n.length;r++)if(St(s,n[r],e))return r;return-1}function St(s,n,e){var t=s.groupId,r=s.name,i=s.lang,a=s.assocLang,o=s.characteristics,l=s.default,h=s.forced;return(t===void 0||n.groupId===t)&&(r===void 0||n.name===r)&&(i===void 0||n.lang===i)&&(i===void 0||n.assocLang===a)&&(l===void 0||n.default===l)&&(h===void 0||n.forced===h)&&(o===void 0||function(u,d){d===void 0&&(d="");var c=u.split(","),f=d.split(",");return c.length===f.length&&!c.some(function(g){return f.indexOf(g)===-1})}(o,n.characteristics))&&(e===void 0||e(s,n))}function Lt(s,n){var e=s.audioCodec,t=s.channels;return!(e!==void 0&&(n.audioCodec||"").substring(0,4)!==e.substring(0,4)||t!==void 0&&t!==(n.channels||"2"))}function Xn(s,n,e){for(var t=n;t;t--)if(e(s[t]))return t;for(var r=n+1;r<s.length;r++)if(e(s[r]))return r;return-1}var Js=function(){function s(e){var t=this;this.hls=void 0,this.lastLevelLoadSec=0,this.lastLoadedFragLevel=-1,this.firstSelection=-1,this._nextAutoLevel=-1,this.nextAutoLevelKey="",this.audioTracksByGroup=null,this.codecTiers=null,this.timer=-1,this.fragCurrent=null,this.partCurrent=null,this.bitrateTestDelay=0,this.bwEstimator=void 0,this._abandonRulesCheck=function(){var r=t.fragCurrent,i=t.partCurrent,a=t.hls,o=a.autoLevelEnabled,l=a.media;if(r&&l){var h=performance.now(),u=i?i.stats:r.stats,d=i?i.duration:r.duration,c=h-u.loading.start,f=a.minAutoLevel;if(u.aborted||u.loaded&&u.loaded===u.total||r.level<=f)return t.clearTimer(),void(t._nextAutoLevel=-1);if(o&&!l.paused&&l.playbackRate&&l.readyState){var g=a.mainForwardBufferInfo;if(g!==null){var m=t.bwEstimator.getEstimateTTFB(),E=Math.abs(l.playbackRate);if(!(c<=Math.max(m,d/(2*E)*1e3))){var v=g.len/E,y=u.loading.first?u.loading.first-u.loading.start:-1,T=u.loaded&&y>-1,S=t.getBwEstimate(),A=a.levels,R=A[r.level],L=u.total||Math.max(u.loaded,Math.round(d*R.averageBitrate/8)),D=T?c-y:c;D<1&&T&&(D=Math.min(c,8*u.loaded/S));var k=T?1e3*u.loaded/D:0,I=k?(L-u.loaded)/k:8*L/S+m/1e3;if(!(I<=v)){var C,_=k?8*k:S,x=Number.POSITIVE_INFINITY;for(C=r.level-1;C>f;C--){var F=A[C].maxBitrate;if((x=t.getTimeToLoadFrag(m/1e3,_,d*F,!A[C].details))<v)break}if(!(x>=I||x>10*d)){a.nextLoadLevel=a.nextAutoLevel=C,T?t.bwEstimator.sample(c-Math.min(m,y),u.loaded):t.bwEstimator.sampleTTFB(c);var M=A[C].maxBitrate;t.getBwEstimate()*t.hls.config.abrBandWidthUpFactor>M&&t.resetEstimator(M),t.clearTimer(),b.warn("[abr] Fragment "+r.sn+(i?" part "+i.index:"")+" of level "+r.level+` is loading too slowly;
+      Time to underbuffer: `+v.toFixed(3)+` s
+      Estimated load time for current fragment: `+I.toFixed(3)+` s
+      Estimated load time for down switch fragment: `+x.toFixed(3)+` s
+      TTFB estimate: `+(0|y)+` ms
+      Current BW estimate: `+(N(S)?0|S:"Unknown")+` bps
+      New BW estimate: `+(0|t.getBwEstimate())+` bps
+      Switching to level `+C+" @ "+(0|M)+" bps"),a.trigger(p.FRAG_LOAD_EMERGENCY_ABORTED,{frag:r,part:i,stats:u})}}}}}}},this.hls=e,this.bwEstimator=this.initEstimator(),this.registerListeners()}var n=s.prototype;return n.resetEstimator=function(e){e&&(b.log("setting initial bwe to "+e),this.hls.config.abrEwmaDefaultEstimate=e),this.firstSelection=-1,this.bwEstimator=this.initEstimator()},n.initEstimator=function(){var e=this.hls.config;return new Xs(e.abrEwmaSlowVoD,e.abrEwmaFastVoD,e.abrEwmaDefaultEstimate)},n.registerListeners=function(){var e=this.hls;e.on(p.MANIFEST_LOADING,this.onManifestLoading,this),e.on(p.FRAG_LOADING,this.onFragLoading,this),e.on(p.FRAG_LOADED,this.onFragLoaded,this),e.on(p.FRAG_BUFFERED,this.onFragBuffered,this),e.on(p.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(p.LEVEL_LOADED,this.onLevelLoaded,this),e.on(p.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(p.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.on(p.ERROR,this.onError,this)},n.unregisterListeners=function(){var e=this.hls;e&&(e.off(p.MANIFEST_LOADING,this.onManifestLoading,this),e.off(p.FRAG_LOADING,this.onFragLoading,this),e.off(p.FRAG_LOADED,this.onFragLoaded,this),e.off(p.FRAG_BUFFERED,this.onFragBuffered,this),e.off(p.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(p.LEVEL_LOADED,this.onLevelLoaded,this),e.off(p.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(p.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.off(p.ERROR,this.onError,this))},n.destroy=function(){this.unregisterListeners(),this.clearTimer(),this.hls=this._abandonRulesCheck=null,this.fragCurrent=this.partCurrent=null},n.onManifestLoading=function(e,t){this.lastLoadedFragLevel=-1,this.firstSelection=-1,this.lastLevelLoadSec=0,this.fragCurrent=this.partCurrent=null,this.onLevelsUpdated(),this.clearTimer()},n.onLevelsUpdated=function(){this.lastLoadedFragLevel>-1&&this.fragCurrent&&(this.lastLoadedFragLevel=this.fragCurrent.level),this._nextAutoLevel=-1,this.onMaxAutoLevelUpdated(),this.codecTiers=null,this.audioTracksByGroup=null},n.onMaxAutoLevelUpdated=function(){this.firstSelection=-1,this.nextAutoLevelKey=""},n.onFragLoading=function(e,t){var r,i=t.frag;this.ignoreFragment(i)||(i.bitrateTest||(this.fragCurrent=i,this.partCurrent=(r=t.part)!=null?r:null),this.clearTimer(),this.timer=self.setInterval(this._abandonRulesCheck,100))},n.onLevelSwitching=function(e,t){this.clearTimer()},n.onError=function(e,t){if(!t.fatal)switch(t.details){case w.BUFFER_ADD_CODEC_ERROR:case w.BUFFER_APPEND_ERROR:this.lastLoadedFragLevel=-1,this.firstSelection=-1;break;case w.FRAG_LOAD_TIMEOUT:var r=t.frag,i=this.fragCurrent,a=this.partCurrent;if(r&&i&&r.sn===i.sn&&r.level===i.level){var o=performance.now(),l=a?a.stats:r.stats,h=o-l.loading.start,u=l.loading.first?l.loading.first-l.loading.start:-1;if(l.loaded&&u>-1){var d=this.bwEstimator.getEstimateTTFB();this.bwEstimator.sample(h-Math.min(d,u),l.loaded)}else this.bwEstimator.sampleTTFB(h)}}},n.getTimeToLoadFrag=function(e,t,r,i){return e+r/t+(i?this.lastLevelLoadSec:0)},n.onLevelLoaded=function(e,t){var r=this.hls.config,i=t.stats.loading,a=i.end-i.start;N(a)&&(this.lastLevelLoadSec=a/1e3),t.details.live?this.bwEstimator.update(r.abrEwmaSlowLive,r.abrEwmaFastLive):this.bwEstimator.update(r.abrEwmaSlowVoD,r.abrEwmaFastVoD)},n.onFragLoaded=function(e,t){var r=t.frag,i=t.part,a=i?i.stats:r.stats;if(r.type===Z&&this.bwEstimator.sampleTTFB(a.loading.first-a.loading.start),!this.ignoreFragment(r)){if(this.clearTimer(),r.level===this._nextAutoLevel&&(this._nextAutoLevel=-1),this.firstSelection=-1,this.hls.config.abrMaxWithRealBitrate){var o=i?i.duration:r.duration,l=this.hls.levels[r.level],h=(l.loaded?l.loaded.bytes:0)+a.loaded,u=(l.loaded?l.loaded.duration:0)+o;l.loaded={bytes:h,duration:u},l.realBitrate=Math.round(8*h/u)}if(r.bitrateTest){var d={stats:a,frag:r,part:i,id:r.type};this.onFragBuffered(p.FRAG_BUFFERED,d),r.bitrateTest=!1}else this.lastLoadedFragLevel=r.level}},n.onFragBuffered=function(e,t){var r=t.frag,i=t.part,a=i!=null&&i.stats.loaded?i.stats:r.stats;if(!a.aborted&&!this.ignoreFragment(r)){var o=a.parsing.end-a.loading.start-Math.min(a.loading.first-a.loading.start,this.bwEstimator.getEstimateTTFB());this.bwEstimator.sample(o,a.loaded),a.bwEstimate=this.getBwEstimate(),r.bitrateTest?this.bitrateTestDelay=o/1e3:this.bitrateTestDelay=0}},n.ignoreFragment=function(e){return e.type!==Z||e.sn==="initSegment"},n.clearTimer=function(){this.timer>-1&&(self.clearInterval(this.timer),this.timer=-1)},n.getAutoLevelKey=function(){return this.getBwEstimate()+"_"+this.getStarvationDelay().toFixed(2)},n.getNextABRAutoLevel=function(){var e=this.fragCurrent,t=this.partCurrent,r=this.hls,i=r.maxAutoLevel,a=r.config,o=r.minAutoLevel,l=t?t.duration:e?e.duration:0,h=this.getBwEstimate(),u=this.getStarvationDelay(),d=a.abrBandWidthFactor,c=a.abrBandWidthUpFactor;if(u){var f=this.findBestLevel(h,o,i,u,0,d,c);if(f>=0)return f}var g=l?Math.min(l,a.maxStarvationDelay):a.maxStarvationDelay;if(!u){var m=this.bitrateTestDelay;m&&(g=(l?Math.min(l,a.maxLoadingDelay):a.maxLoadingDelay)-m,b.info("[abr] bitrate test took "+Math.round(1e3*m)+"ms, set first fragment max fetchDuration to "+Math.round(1e3*g)+" ms"),d=c=1)}var E=this.findBestLevel(h,o,i,u,g,d,c);if(b.info("[abr] "+(u?"rebuffering expected":"buffer is empty")+", optimal quality level "+E),E>-1)return E;var v=r.levels[o],y=r.levels[r.loadLevel];return(v==null?void 0:v.bitrate)<(y==null?void 0:y.bitrate)?o:r.loadLevel},n.getStarvationDelay=function(){var e=this.hls,t=e.media;if(!t)return 1/0;var r=t&&t.playbackRate!==0?Math.abs(t.playbackRate):1,i=e.mainForwardBufferInfo;return(i?i.len:0)/r},n.getBwEstimate=function(){return this.bwEstimator.canEstimate()?this.bwEstimator.getEstimate():this.hls.config.abrEwmaDefaultEstimate},n.findBestLevel=function(e,t,r,i,a,o,l){var h,u=this,d=i+a,c=this.lastLoadedFragLevel,f=c===-1?this.hls.firstLevel:c,g=this.fragCurrent,m=this.partCurrent,E=this.hls,v=E.levels,y=E.allAudioTracks,T=E.loadLevel,S=E.config;if(v.length===1)return 0;var A,R=v[f],L=!(R==null||(h=R.details)==null||!h.live),D=T===-1||c===-1,k="SDR",I=(R==null?void 0:R.frameRate)||0,C=S.audioPreference,_=S.videoPreference,x=this.audioTracksByGroup||(this.audioTracksByGroup=function(te){return te.reduce(function(Y,z){var j=Y.groups[z.groupId];j||(j=Y.groups[z.groupId]={tracks:[],channels:{2:0},hasDefault:!1,hasAutoSelect:!1}),j.tracks.push(z);var re=z.channels||"2";return j.channels[re]=(j.channels[re]||0)+1,j.hasDefault=j.hasDefault||z.default,j.hasAutoSelect=j.hasAutoSelect||z.autoselect,j.hasDefault&&(Y.hasDefaultAudio=!0),j.hasAutoSelect&&(Y.hasAutoSelectAudio=!0),Y},{hasDefaultAudio:!1,hasAutoSelectAudio:!1,groups:{}})}(y));if(D){if(this.firstSelection!==-1)return this.firstSelection;var F=this.codecTiers||(this.codecTiers=function(te,Y,z,j){return te.slice(z,j+1).reduce(function(re,W){if(!W.codecSet)return re;var ne=W.audioGroups,J=re[W.codecSet];J||(re[W.codecSet]=J={minBitrate:1/0,minHeight:1/0,minFramerate:1/0,maxScore:0,videoRanges:{SDR:0},channels:{2:0},hasDefaultAudio:!ne,fragmentError:0}),J.minBitrate=Math.min(J.minBitrate,W.bitrate);var De=Math.min(W.height,W.width);return J.minHeight=Math.min(J.minHeight,De),J.minFramerate=Math.min(J.minFramerate,W.frameRate),J.maxScore=Math.max(J.maxScore,W.score),J.fragmentError+=W.fragmentError,J.videoRanges[W.videoRange]=(J.videoRanges[W.videoRange]||0)+1,ne&&ne.forEach(function(be){if(be){var $=Y.groups[be];$&&(J.hasDefaultAudio=J.hasDefaultAudio||Y.hasDefaultAudio?$.hasDefault:$.hasAutoSelect||!Y.hasDefaultAudio&&!Y.hasAutoSelectAudio,Object.keys($.channels).forEach(function(he){J.channels[he]=(J.channels[he]||0)+$.channels[he]}))}}),re},{})}(v,x,t,r)),M=function(te,Y,z,j,re){for(var W=Object.keys(te),ne=j==null?void 0:j.channels,J=j==null?void 0:j.audioCodec,De=ne&&parseInt(ne)===2,be=!0,$=!1,he=1/0,ve=1/0,ke=1/0,_e=0,Ee=[],Ce=Qs(Y,re),zt=Ce.preferHDR,nt=Ce.allowedVideoRanges,_t=function(){var ie=te[W[et]];be=ie.channels[2]>0,he=Math.min(he,ie.minHeight),ve=Math.min(ve,ie.minFramerate),ke=Math.min(ke,ie.minBitrate);var le=nt.filter(function(pe){return ie.videoRanges[pe]>0});le.length>0&&($=!0,Ee=le)},et=W.length;et--;)_t();he=N(he)?he:0,ve=N(ve)?ve:0;var xe=Math.max(1080,he),Te=Math.max(30,ve);return ke=N(ke)?ke:z,z=Math.max(ke,z),$||(Y=void 0,Ee=[]),{codecSet:W.reduce(function(ie,le){var pe=te[le];if(le===ie)return ie;if(pe.minBitrate>z)return ze(le,"min bitrate of "+pe.minBitrate+" > current estimate of "+z),ie;if(!pe.hasDefaultAudio)return ze(le,"no renditions with default or auto-select sound found"),ie;if(J&&le.indexOf(J.substring(0,4))%5!=0)return ze(le,'audio codec preference "'+J+'" not found'),ie;if(ne&&!De){if(!pe.channels[ne])return ze(le,"no renditions with "+ne+" channel sound found (channels options: "+Object.keys(pe.channels)+")"),ie}else if((!J||De)&&be&&pe.channels[2]===0)return ze(le,"no renditions with stereo sound found"),ie;return pe.minHeight>xe?(ze(le,"min resolution of "+pe.minHeight+" > maximum of "+xe),ie):pe.minFramerate>Te?(ze(le,"min framerate of "+pe.minFramerate+" > maximum of "+Te),ie):Ee.some(function(Ki){return pe.videoRanges[Ki]>0})?pe.maxScore<_e?(ze(le,"max score of "+pe.maxScore+" < selected max of "+_e),ie):ie&&(nr(le)>=nr(ie)||pe.fragmentError>te[ie].fragmentError)?ie:(_e=pe.maxScore,le):(ze(le,"no variants with VIDEO-RANGE of "+JSON.stringify(Ee)+" found"),ie)},void 0),videoRanges:Ee,preferHDR:zt,minFramerate:ve,minBitrate:ke}}(F,k,e,C,_),U=M.codecSet,P=M.videoRanges,O=M.minFramerate,B=M.minBitrate,G=M.preferHDR;A=U,k=G?P[P.length-1]:P[0],I=O,e=Math.max(e,B),b.log("[abr] picked start tier "+JSON.stringify(M))}else A=R==null?void 0:R.codecSet,k=R==null?void 0:R.videoRange;for(var V,Q=m?m.duration:g?g.duration:0,oe=this.bwEstimator.getEstimateTTFB()/1e3,ee=[],ce=function(){var te,Y=v[ae],z=ae>f;if(!Y)return 0;if(S.useMediaCapabilities&&!Y.supportedResult&&!Y.supportedPromise){var j=navigator.mediaCapabilities;typeof(j==null?void 0:j.decodingInfo)=="function"&&function($,he,ve,ke,_e,Ee){var Ce=$.audioCodec?$.audioGroups:null,zt=Ee==null?void 0:Ee.audioCodec,nt=Ee==null?void 0:Ee.channels,_t=nt?parseInt(nt):zt?1/0:2,et=null;if(Ce!=null&&Ce.length)try{et=Ce.length===1&&Ce[0]?he.groups[Ce[0]].channels:Ce.reduce(function(xe,Te){if(Te){var ie=he.groups[Te];if(!ie)throw new Error("Audio track group "+Te+" not found");Object.keys(ie.channels).forEach(function(le){xe[le]=(xe[le]||0)+ie.channels[le]})}return xe},{2:0})}catch{return!0}return $.videoCodec!==void 0&&($.width>1920&&$.height>1088||$.height>1920&&$.width>1088||$.frameRate>Math.max(ke,30)||$.videoRange!=="SDR"&&$.videoRange!==ve||$.bitrate>Math.max(_e,8e6))||!!et&&N(_t)&&Object.keys(et).some(function(xe){return parseInt(xe)>_t})}(Y,x,k,I,e,C)?(Y.supportedPromise=zs(Y,x,j),Y.supportedPromise.then(function($){if(u.hls){Y.supportedResult=$;var he=u.hls.levels,ve=he.indexOf(Y);$.error?b.warn('[abr] MediaCapabilities decodingInfo error: "'+$.error+'" for level '+ve+" "+JSON.stringify($)):$.supported||(b.warn("[abr] Unsupported MediaCapabilities decodingInfo result for level "+ve+" "+JSON.stringify($)),ve>-1&&he.length>1&&(b.log("[abr] Removing unsupported level "+ve),u.hls.removeLevel(ve)))}})):Y.supportedResult=jn}if(A&&Y.codecSet!==A||k&&Y.videoRange!==k||z&&I>Y.frameRate||!z&&I>0&&I<Y.frameRate||Y.supportedResult&&((te=Y.supportedResult.decodingInfoResults)==null||!te[0].smooth))return ee.push(ae),0;var re,W=Y.details,ne=(m?W==null?void 0:W.partTarget:W==null?void 0:W.averagetargetduration)||Q;re=z?l*e:o*e;var J=Q&&i>=2*Q&&a===0?v[ae].averageBitrate:v[ae].maxBitrate,De=u.getTimeToLoadFrag(oe,re,J*ne,W===void 0);if(re>=J&&(ae===c||Y.loadError===0&&Y.fragmentError===0)&&(De<=oe||!N(De)||L&&!u.bitrateTestDelay||De<d)){var be=u.forcedAutoLevel;return ae===T||be!==-1&&be===T||(ee.length&&b.trace("[abr] Skipped level(s) "+ee.join(",")+" of "+r+' max with CODECS and VIDEO-RANGE:"'+v[ee[0]].codecs+'" '+v[ee[0]].videoRange+'; not compatible with "'+R.codecs+'" '+k),b.info("[abr] switch candidate:"+f+"->"+ae+" adjustedbw("+Math.round(re)+")-bitrate="+Math.round(re-J)+" ttfb:"+oe.toFixed(1)+" avgDuration:"+ne.toFixed(1)+" maxFetchDuration:"+d.toFixed(1)+" fetchDuration:"+De.toFixed(1)+" firstSelection:"+D+" codecSet:"+A+" videoRange:"+k+" hls.loadLevel:"+T)),D&&(u.firstSelection=ae),{v:ae}}},ae=r;ae>=t;ae--)if((V=ce())!==0&&V)return V.v;return-1},fe(s,[{key:"firstAutoLevel",get:function(){var e=this.hls,t=e.maxAutoLevel,r=e.minAutoLevel,i=this.getBwEstimate(),a=this.hls.config.maxStarvationDelay,o=this.findBestLevel(i,r,t,0,a,1,1);if(o>-1)return o;var l=this.hls.firstLevel,h=Math.min(Math.max(l,r),t);return b.warn("[abr] Could not find best starting auto level. Defaulting to first in playlist "+l+" clamped to "+h),h}},{key:"forcedAutoLevel",get:function(){return this.nextAutoLevelKey?-1:this._nextAutoLevel}},{key:"nextAutoLevel",get:function(){var e=this.forcedAutoLevel,t=this.bwEstimator.canEstimate(),r=this.lastLoadedFragLevel>-1;if(!(e===-1||t&&r&&this.nextAutoLevelKey!==this.getAutoLevelKey()))return e;var i=t&&r?this.getNextABRAutoLevel():this.firstAutoLevel;if(e!==-1){var a=this.hls.levels;if(a.length>Math.max(e,i)&&a[e].loadError<=a[i].loadError)return e}return this._nextAutoLevel=i,this.nextAutoLevelKey=this.getAutoLevelKey(),i},set:function(e){var t=this.hls,r=t.maxAutoLevel,i=t.minAutoLevel,a=Math.min(Math.max(e,i),r);this._nextAutoLevel!==a&&(this.nextAutoLevelKey="",this._nextAutoLevel=a)}}]),s}(),$s=function(){function s(){this._boundTick=void 0,this._tickTimer=null,this._tickInterval=null,this._tickCallCount=0,this._boundTick=this.tick.bind(this)}var n=s.prototype;return n.destroy=function(){this.onHandlerDestroying(),this.onHandlerDestroyed()},n.onHandlerDestroying=function(){this.clearNextTick(),this.clearInterval()},n.onHandlerDestroyed=function(){},n.hasInterval=function(){return!!this._tickInterval},n.hasNextTick=function(){return!!this._tickTimer},n.setInterval=function(e){return!this._tickInterval&&(this._tickCallCount=0,this._tickInterval=self.setInterval(this._boundTick,e),!0)},n.clearInterval=function(){return!!this._tickInterval&&(self.clearInterval(this._tickInterval),this._tickInterval=null,!0)},n.clearNextTick=function(){return!!this._tickTimer&&(self.clearTimeout(this._tickTimer),this._tickTimer=null,!0)},n.tick=function(){this._tickCallCount++,this._tickCallCount===1&&(this.doTick(),this._tickCallCount>1&&this.tickImmediate(),this._tickCallCount=0)},n.tickImmediate=function(){this.clearNextTick(),this._tickTimer=self.setTimeout(this._boundTick,0)},n.doTick=function(){},s}(),Ht="NOT_LOADED",zn="APPENDING",At="PARTIAL",Vt="OK",Zs=function(){function s(e){this.activePartLists=Object.create(null),this.endListFragments=Object.create(null),this.fragments=Object.create(null),this.timeRanges=Object.create(null),this.bufferPadding=.2,this.hls=void 0,this.hasGaps=!1,this.hls=e,this._registerListeners()}var n=s.prototype;return n._registerListeners=function(){var e=this.hls;e.on(p.BUFFER_APPENDED,this.onBufferAppended,this),e.on(p.FRAG_BUFFERED,this.onFragBuffered,this),e.on(p.FRAG_LOADED,this.onFragLoaded,this)},n._unregisterListeners=function(){var e=this.hls;e.off(p.BUFFER_APPENDED,this.onBufferAppended,this),e.off(p.FRAG_BUFFERED,this.onFragBuffered,this),e.off(p.FRAG_LOADED,this.onFragLoaded,this)},n.destroy=function(){this._unregisterListeners(),this.fragments=this.activePartLists=this.endListFragments=this.timeRanges=null},n.getAppendedFrag=function(e,t){var r=this.activePartLists[t];if(r)for(var i=r.length;i--;){var a=r[i];if(!a)break;var o=a.end;if(a.start<=e&&o!==null&&e<=o)return a}return this.getBufferedFrag(e,t)},n.getBufferedFrag=function(e,t){for(var r=this.fragments,i=Object.keys(r),a=i.length;a--;){var o=r[i[a]];if((o==null?void 0:o.body.type)===t&&o.buffered){var l=o.body;if(l.start<=e&&e<=l.end)return l}}return null},n.detectEvictedFragments=function(e,t,r,i){var a=this;this.timeRanges&&(this.timeRanges[e]=t);var o=(i==null?void 0:i.fragment.sn)||-1;Object.keys(this.fragments).forEach(function(l){var h=a.fragments[l];if(h&&!(o>=h.body.sn))if(h.buffered||h.loaded){var u=h.range[e];u&&u.time.some(function(d){var c=!a.isTimeBuffered(d.startPTS,d.endPTS,t);return c&&a.removeFragment(h.body),c})}else h.body.type===r&&a.removeFragment(h.body)})},n.detectPartialFragments=function(e){var t=this,r=this.timeRanges,i=e.frag,a=e.part;if(r&&i.sn!=="initSegment"){var o=Rt(i),l=this.fragments[o];if(!(!l||l.buffered&&i.gap)){var h=!i.relurl;Object.keys(r).forEach(function(u){var d=i.elementaryStreams[u];if(d){var c=r[u],f=h||d.partial===!0;l.range[u]=t.getBufferedTimes(i,a,f,c)}}),l.loaded=null,Object.keys(l.range).length?(l.buffered=!0,(l.body.endList=i.endList||l.body.endList)&&(this.endListFragments[l.body.type]=l),fr(l)||this.removeParts(i.sn-1,i.type)):this.removeFragment(l.body)}}},n.removeParts=function(e,t){var r=this.activePartLists[t];r&&(this.activePartLists[t]=r.filter(function(i){return i.fragment.sn>=e}))},n.fragBuffered=function(e,t){var r=Rt(e),i=this.fragments[r];!i&&t&&(i=this.fragments[r]={body:e,appendedPTS:null,loaded:null,buffered:!1,range:Object.create(null)},e.gap&&(this.hasGaps=!0)),i&&(i.loaded=null,i.buffered=!0)},n.getBufferedTimes=function(e,t,r,i){for(var a={time:[],partial:r},o=e.start,l=e.end,h=e.minEndPTS||l,u=e.maxStartPTS||o,d=0;d<i.length;d++){var c=i.start(d)-this.bufferPadding,f=i.end(d)+this.bufferPadding;if(u>=c&&h<=f){a.time.push({startPTS:Math.max(o,i.start(d)),endPTS:Math.min(l,i.end(d))});break}if(o<f&&l>c){var g=Math.max(o,i.start(d)),m=Math.min(l,i.end(d));m>g&&(a.partial=!0,a.time.push({startPTS:g,endPTS:m}))}else if(l<=c)break}return a},n.getPartialFragment=function(e){var t,r,i,a=null,o=0,l=this.bufferPadding,h=this.fragments;return Object.keys(h).forEach(function(u){var d=h[u];d&&fr(d)&&(r=d.body.start-l,i=d.body.end+l,e>=r&&e<=i&&(t=Math.min(e-r,i-e),o<=t&&(a=d.body,o=t)))}),a},n.isEndListAppended=function(e){var t=this.endListFragments[e];return t!==void 0&&(t.buffered||fr(t))},n.getState=function(e){var t=Rt(e),r=this.fragments[t];return r?r.buffered?fr(r)?At:Vt:zn:Ht},n.isTimeBuffered=function(e,t,r){for(var i,a,o=0;o<r.length;o++){if(i=r.start(o)-this.bufferPadding,a=r.end(o)+this.bufferPadding,e>=i&&t<=a)return!0;if(t<=i)return!1}return!1},n.onFragLoaded=function(e,t){var r=t.frag,i=t.part;if(r.sn!=="initSegment"&&!r.bitrateTest){var a=i?null:t,o=Rt(r);this.fragments[o]={body:r,appendedPTS:null,loaded:a,buffered:!1,range:Object.create(null)}}},n.onBufferAppended=function(e,t){var r=this,i=t.frag,a=t.part,o=t.timeRanges;if(i.sn!=="initSegment"){var l=i.type;if(a){var h=this.activePartLists[l];h||(this.activePartLists[l]=h=[]),h.push(a)}this.timeRanges=o,Object.keys(o).forEach(function(u){var d=o[u];r.detectEvictedFragments(u,d,l,a)})}},n.onFragBuffered=function(e,t){this.detectPartialFragments(t)},n.hasFragment=function(e){var t=Rt(e);return!!this.fragments[t]},n.hasParts=function(e){var t;return!((t=this.activePartLists[e])==null||!t.length)},n.removeFragmentsInRange=function(e,t,r,i,a){var o=this;i&&!this.hasGaps||Object.keys(this.fragments).forEach(function(l){var h=o.fragments[l];if(h){var u=h.body;u.type!==r||i&&!u.gap||u.start<t&&u.end>e&&(h.buffered||a)&&o.removeFragment(u)}})},n.removeFragment=function(e){var t=Rt(e);e.stats.loaded=0,e.clearElementaryStreamInfo();var r=this.activePartLists[e.type];if(r){var i=e.sn;this.activePartLists[e.type]=r.filter(function(a){return a.fragment.sn!==i})}delete this.fragments[t],e.endList&&delete this.endListFragments[e.type]},n.removeAllFragments=function(){this.fragments=Object.create(null),this.endListFragments=Object.create(null),this.activePartLists=Object.create(null),this.hasGaps=!1},s}();function fr(s){var n,e,t;return s.buffered&&(s.body.gap||((n=s.range.video)==null?void 0:n.partial)||((e=s.range.audio)==null?void 0:e.partial)||((t=s.range.audiovideo)==null?void 0:t.partial))}function Rt(s){return s.type+"_"+s.level+"_"+s.sn}var eo={length:0,start:function(){return 0},end:function(){return 0}},ue=function(){function s(){}return s.isBuffered=function(n,e){try{if(n){for(var t=s.getBuffered(n),r=0;r<t.length;r++)if(e>=t.start(r)&&e<=t.end(r))return!0}}catch{}return!1},s.bufferInfo=function(n,e,t){try{if(n){var r,i=s.getBuffered(n),a=[];for(r=0;r<i.length;r++)a.push({start:i.start(r),end:i.end(r)});return this.bufferedInfo(a,e,t)}}catch{}return{len:0,start:e,end:e,nextStart:void 0}},s.bufferedInfo=function(n,e,t){e=Math.max(0,e),n.sort(function(m,E){var v=m.start-E.start;return v||E.end-m.end});var r=[];if(t)for(var i=0;i<n.length;i++){var a=r.length;if(a){var o=r[a-1].end;n[i].start-o<t?n[i].end>o&&(r[a-1].end=n[i].end):r.push(n[i])}else r.push(n[i])}else r=n;for(var l,h=0,u=e,d=e,c=0;c<r.length;c++){var f=r[c].start,g=r[c].end;if(e+t>=f&&e<g)u=f,h=(d=g)-e;else if(e+t<f){l=f;break}}return{len:h,start:u||0,end:d||0,nextStart:l}},s.getBuffered=function(n){try{return n.buffered}catch(e){return b.log("failed to get media.buffered",e),eo}},s}(),ui=function(s,n,e,t,r,i){t===void 0&&(t=0),r===void 0&&(r=-1),i===void 0&&(i=!1),this.level=void 0,this.sn=void 0,this.part=void 0,this.id=void 0,this.size=void 0,this.partial=void 0,this.transmuxing={start:0,executeStart:0,executeEnd:0,end:0},this.buffering={audio:{start:0,executeStart:0,executeEnd:0,end:0},video:{start:0,executeStart:0,executeEnd:0,end:0},audiovideo:{start:0,executeStart:0,executeEnd:0,end:0}},this.level=s,this.sn=n,this.id=e,this.size=t,this.part=r,this.partial=i};function gr(s,n){for(var e=0,t=s.length;e<t;e++){var r;if(((r=s[e])==null?void 0:r.cc)===n)return s[e]}return null}function Qn(s,n){if(s){var e=s.start+n;s.start=s.startPTS=e,s.endPTS=e+s.duration}}function Jn(s,n){for(var e=n.fragments,t=0,r=e.length;t<r;t++)Qn(e[t],s);n.fragmentHint&&Qn(n.fragmentHint,s),n.alignedSliding=!0}function to(s,n,e){n&&(function(t,r,i){if(function(o,l,h){return!(!l||!(h.endCC>h.startCC||o&&o.cc<h.startCC))}(t,i,r)){var a=function(o,l){var h=o.fragments,u=l.fragments;if(u.length&&h.length){var d=gr(h,u[0].cc);if(d&&(!d||d.startPTS))return d;b.log("No frag in previous level to align on")}else b.log("No fragments to align")}(i,r);a&&N(a.start)&&(b.log("Adjusting PTS using last level due to CC increase within current level "+r.url),Jn(a.start,r))}}(s,e,n),!e.alignedSliding&&n&&vr(e,n),e.alignedSliding||!n||e.skippedSegments||Un(n,e))}function vr(s,n){if(s.hasProgramDateTime&&n.hasProgramDateTime){var e=s.fragments,t=n.fragments;if(e.length&&t.length){var r,i,a=Math.min(n.endCC,s.endCC);n.startCC<a&&s.startCC<a&&(r=gr(t,a),i=gr(e,a)),r&&i||(i=gr(e,(r=t[Math.floor(t.length/2)]).cc)||e[Math.floor(e.length/2)]);var o=r.programDateTime,l=i.programDateTime;o&&l&&Jn((l-o)/1e3-(i.start-r.start),s)}}}var $n=Math.pow(2,17),ro=function(){function s(e){this.config=void 0,this.loader=null,this.partLoadTimeout=-1,this.config=e}var n=s.prototype;return n.destroy=function(){this.loader&&(this.loader.destroy(),this.loader=null)},n.abort=function(){this.loader&&this.loader.abort()},n.load=function(e,t){var r=this,i=e.url;if(!i)return Promise.reject(new Qe({type:K.NETWORK_ERROR,details:w.FRAG_LOAD_ERROR,fatal:!1,frag:e,error:new Error("Fragment does not have a "+(i?"part list":"url")),networkDetails:null}));this.abort();var a=this.config,o=a.fLoader,l=a.loader;return new Promise(function(h,u){if(r.loader&&r.loader.destroy(),e.gap){if(e.tagList.some(function(m){return m[0]==="GAP"}))return void u(ea(e));e.gap=!1}var d=r.loader=e.loader=o?new o(a):new l(a),c=Zn(e),f=Vn(a.fragLoadPolicy.default),g={loadPolicy:f,timeout:f.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:e.sn==="initSegment"?1/0:$n};e.stats=d.stats,d.load(c,g,{onSuccess:function(m,E,v,y){r.resetLoader(e,d);var T=m.data;v.resetIV&&e.decryptdata&&(e.decryptdata.iv=new Uint8Array(T.slice(0,16)),T=T.slice(16)),h({frag:e,part:null,payload:T,networkDetails:y})},onError:function(m,E,v,y){r.resetLoader(e,d),u(new Qe({type:K.NETWORK_ERROR,details:w.FRAG_LOAD_ERROR,fatal:!1,frag:e,response:ye({url:i,data:void 0},m),error:new Error("HTTP Error "+m.code+" "+m.text),networkDetails:v,stats:y}))},onAbort:function(m,E,v){r.resetLoader(e,d),u(new Qe({type:K.NETWORK_ERROR,details:w.INTERNAL_ABORTED,fatal:!1,frag:e,error:new Error("Aborted"),networkDetails:v,stats:m}))},onTimeout:function(m,E,v){r.resetLoader(e,d),u(new Qe({type:K.NETWORK_ERROR,details:w.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,error:new Error("Timeout after "+g.timeout+"ms"),networkDetails:v,stats:m}))},onProgress:function(m,E,v,y){t&&t({frag:e,part:null,payload:v,networkDetails:y})}})})},n.loadPart=function(e,t,r){var i=this;this.abort();var a=this.config,o=a.fLoader,l=a.loader;return new Promise(function(h,u){if(i.loader&&i.loader.destroy(),e.gap||t.gap)u(ea(e,t));else{var d=i.loader=e.loader=o?new o(a):new l(a),c=Zn(e,t),f=Vn(a.fragLoadPolicy.default),g={loadPolicy:f,timeout:f.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:$n};t.stats=d.stats,d.load(c,g,{onSuccess:function(m,E,v,y){i.resetLoader(e,d),i.updateStatsFromPart(e,t);var T={frag:e,part:t,payload:m.data,networkDetails:y};r(T),h(T)},onError:function(m,E,v,y){i.resetLoader(e,d),u(new Qe({type:K.NETWORK_ERROR,details:w.FRAG_LOAD_ERROR,fatal:!1,frag:e,part:t,response:ye({url:c.url,data:void 0},m),error:new Error("HTTP Error "+m.code+" "+m.text),networkDetails:v,stats:y}))},onAbort:function(m,E,v){e.stats.aborted=t.stats.aborted,i.resetLoader(e,d),u(new Qe({type:K.NETWORK_ERROR,details:w.INTERNAL_ABORTED,fatal:!1,frag:e,part:t,error:new Error("Aborted"),networkDetails:v,stats:m}))},onTimeout:function(m,E,v){i.resetLoader(e,d),u(new Qe({type:K.NETWORK_ERROR,details:w.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,part:t,error:new Error("Timeout after "+g.timeout+"ms"),networkDetails:v,stats:m}))}})}})},n.updateStatsFromPart=function(e,t){var r=e.stats,i=t.stats,a=i.total;if(r.loaded+=i.loaded,a){var o=Math.round(e.duration/t.duration),l=Math.min(Math.round(r.loaded/a),o),h=(o-l)*Math.round(r.loaded/l);r.total=r.loaded+h}else r.total=Math.max(r.loaded,r.total);var u=r.loading,d=i.loading;u.start?u.first+=d.first-d.start:(u.start=d.start,u.first=d.first),u.end=d.end},n.resetLoader=function(e,t){e.loader=null,this.loader===t&&(self.clearTimeout(this.partLoadTimeout),this.loader=null),t.destroy()},s}();function Zn(s,n){n===void 0&&(n=null);var e=n||s,t={frag:s,part:n,responseType:"arraybuffer",url:e.url,headers:{},rangeStart:0,rangeEnd:0},r=e.byteRangeStartOffset,i=e.byteRangeEndOffset;if(N(r)&&N(i)){var a,o=r,l=i;if(s.sn==="initSegment"&&((a=s.decryptdata)==null?void 0:a.method)==="AES-128"){var h=i-r;h%16&&(l=i+(16-h%16)),r!==0&&(t.resetIV=!0,o=r-16)}t.rangeStart=o,t.rangeEnd=l}return t}function ea(s,n){var e=new Error("GAP "+(s.gap?"tag":"attribute")+" found"),t={type:K.MEDIA_ERROR,details:w.FRAG_GAP,fatal:!1,frag:s,error:e,networkDetails:null};return n&&(t.part=n),(n||s).stats.aborted=!0,new Qe(t)}var Qe=function(s){function n(e){var t;return(t=s.call(this,e.error.message)||this).data=void 0,t.data=e,t}return Le(n,s),n}(Mt(Error)),io=function(){function s(n,e){this.subtle=void 0,this.aesIV=void 0,this.subtle=n,this.aesIV=e}return s.prototype.decrypt=function(n,e){return this.subtle.decrypt({name:"AES-CBC",iv:this.aesIV},e,n)},s}(),no=function(){function s(n,e){this.subtle=void 0,this.key=void 0,this.subtle=n,this.key=e}return s.prototype.expandKey=function(){return this.subtle.importKey("raw",this.key,{name:"AES-CBC"},!1,["encrypt","decrypt"])},s}(),ao=function(){function s(){this.rcon=[0,1,2,4,8,16,32,64,128,27,54],this.subMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)],this.invSubMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)],this.sBox=new Uint32Array(256),this.invSBox=new Uint32Array(256),this.key=new Uint32Array(0),this.ksRows=0,this.keySize=0,this.keySchedule=void 0,this.invKeySchedule=void 0,this.initTable()}var n=s.prototype;return n.uint8ArrayToUint32Array_=function(e){for(var t=new DataView(e),r=new Uint32Array(4),i=0;i<4;i++)r[i]=t.getUint32(4*i);return r},n.initTable=function(){var e=this.sBox,t=this.invSBox,r=this.subMix,i=r[0],a=r[1],o=r[2],l=r[3],h=this.invSubMix,u=h[0],d=h[1],c=h[2],f=h[3],g=new Uint32Array(256),m=0,E=0,v=0;for(v=0;v<256;v++)g[v]=v<128?v<<1:v<<1^283;for(v=0;v<256;v++){var y=E^E<<1^E<<2^E<<3^E<<4;y=y>>>8^255&y^99,e[m]=y,t[y]=m;var T=g[m],S=g[T],A=g[S],R=257*g[y]^16843008*y;i[m]=R<<24|R>>>8,a[m]=R<<16|R>>>16,o[m]=R<<8|R>>>24,l[m]=R,R=16843009*A^65537*S^257*T^16843008*m,u[y]=R<<24|R>>>8,d[y]=R<<16|R>>>16,c[y]=R<<8|R>>>24,f[y]=R,m?(m=T^g[g[g[A^T]]],E^=g[g[E]]):m=E=1}},n.expandKey=function(e){for(var t=this.uint8ArrayToUint32Array_(e),r=!0,i=0;i<t.length&&r;)r=t[i]===this.key[i],i++;if(!r){this.key=t;var a=this.keySize=t.length;if(a!==4&&a!==6&&a!==8)throw new Error("Invalid aes key size="+a);var o,l,h,u,d=this.ksRows=4*(a+6+1),c=this.keySchedule=new Uint32Array(d),f=this.invKeySchedule=new Uint32Array(d),g=this.sBox,m=this.rcon,E=this.invSubMix,v=E[0],y=E[1],T=E[2],S=E[3];for(o=0;o<d;o++)o<a?h=c[o]=t[o]:(u=h,o%a==0?(u=g[(u=u<<8|u>>>24)>>>24]<<24|g[u>>>16&255]<<16|g[u>>>8&255]<<8|g[255&u],u^=m[o/a|0]<<24):a>6&&o%a==4&&(u=g[u>>>24]<<24|g[u>>>16&255]<<16|g[u>>>8&255]<<8|g[255&u]),c[o]=h=(c[o-a]^u)>>>0);for(l=0;l<d;l++)o=d-l,u=3&l?c[o]:c[o-4],f[l]=l<4||o<=4?u:v[g[u>>>24]]^y[g[u>>>16&255]]^T[g[u>>>8&255]]^S[g[255&u]],f[l]=f[l]>>>0}},n.networkToHostOrderSwap=function(e){return e<<24|(65280&e)<<8|(16711680&e)>>8|e>>>24},n.decrypt=function(e,t,r){for(var i,a,o,l,h,u,d,c,f,g,m,E,v,y,T=this.keySize+6,S=this.invKeySchedule,A=this.invSBox,R=this.invSubMix,L=R[0],D=R[1],k=R[2],I=R[3],C=this.uint8ArrayToUint32Array_(r),_=C[0],x=C[1],F=C[2],M=C[3],U=new Int32Array(e),P=new Int32Array(U.length),O=this.networkToHostOrderSwap;t<U.length;){for(f=O(U[t]),g=O(U[t+1]),m=O(U[t+2]),E=O(U[t+3]),h=f^S[0],u=E^S[1],d=m^S[2],c=g^S[3],v=4,y=1;y<T;y++)i=L[h>>>24]^D[u>>16&255]^k[d>>8&255]^I[255&c]^S[v],a=L[u>>>24]^D[d>>16&255]^k[c>>8&255]^I[255&h]^S[v+1],o=L[d>>>24]^D[c>>16&255]^k[h>>8&255]^I[255&u]^S[v+2],l=L[c>>>24]^D[h>>16&255]^k[u>>8&255]^I[255&d]^S[v+3],h=i,u=a,d=o,c=l,v+=4;i=A[h>>>24]<<24^A[u>>16&255]<<16^A[d>>8&255]<<8^A[255&c]^S[v],a=A[u>>>24]<<24^A[d>>16&255]<<16^A[c>>8&255]<<8^A[255&h]^S[v+1],o=A[d>>>24]<<24^A[c>>16&255]<<16^A[h>>8&255]<<8^A[255&u]^S[v+2],l=A[c>>>24]<<24^A[h>>16&255]<<16^A[u>>8&255]<<8^A[255&d]^S[v+3],P[t]=O(i^_),P[t+1]=O(l^x),P[t+2]=O(o^F),P[t+3]=O(a^M),_=f,x=g,F=m,M=E,t+=4}return P.buffer},s}(),hi=function(){function s(e,t){var r=(t===void 0?{}:t).removePKCS7Padding,i=r===void 0||r;if(this.logEnabled=!0,this.removePKCS7Padding=void 0,this.subtle=null,this.softwareDecrypter=null,this.key=null,this.fastAesKey=null,this.remainderData=null,this.currentIV=null,this.currentResult=null,this.useSoftware=void 0,this.useSoftware=e.enableSoftwareAES,this.removePKCS7Padding=i,i)try{var a=self.crypto;a&&(this.subtle=a.subtle||a.webkitSubtle)}catch{}this.useSoftware=!this.subtle}var n=s.prototype;return n.destroy=function(){this.subtle=null,this.softwareDecrypter=null,this.key=null,this.fastAesKey=null,this.remainderData=null,this.currentIV=null,this.currentResult=null},n.isSync=function(){return this.useSoftware},n.flush=function(){var e=this.currentResult,t=this.remainderData;if(!e||t)return this.reset(),null;var r,i,a,o=new Uint8Array(e);return this.reset(),this.removePKCS7Padding?(i=(r=o).byteLength,(a=i&&new DataView(r.buffer).getUint8(i-1))?st(r,0,i-a):r):o},n.reset=function(){this.currentResult=null,this.currentIV=null,this.remainderData=null,this.softwareDecrypter&&(this.softwareDecrypter=null)},n.decrypt=function(e,t,r){var i=this;return this.useSoftware?new Promise(function(a,o){i.softwareDecrypt(new Uint8Array(e),t,r);var l=i.flush();l?a(l.buffer):o(new Error("[softwareDecrypt] Failed to decrypt data"))}):this.webCryptoDecrypt(new Uint8Array(e),t,r)},n.softwareDecrypt=function(e,t,r){var i=this.currentIV,a=this.currentResult,o=this.remainderData;this.logOnce("JS AES decrypt"),o&&(e=Fe(o,e),this.remainderData=null);var l=this.getValidChunk(e);if(!l.length)return null;i&&(r=i);var h=this.softwareDecrypter;h||(h=this.softwareDecrypter=new ao),h.expandKey(t);var u=a;return this.currentResult=h.decrypt(l.buffer,0,r),this.currentIV=st(l,-16).buffer,u||null},n.webCryptoDecrypt=function(e,t,r){var i=this;if(this.key!==t||!this.fastAesKey){if(!this.subtle)return Promise.resolve(this.onWebCryptoError(e,t,r));this.key=t,this.fastAesKey=new no(this.subtle,t)}return this.fastAesKey.expandKey().then(function(a){return i.subtle?(i.logOnce("WebCrypto AES decrypt"),new io(i.subtle,new Uint8Array(r)).decrypt(e.buffer,a)):Promise.reject(new Error("web crypto not initialized"))}).catch(function(a){return b.warn("[decrypter]: WebCrypto Error, disable WebCrypto API, "+a.name+": "+a.message),i.onWebCryptoError(e,t,r)})},n.onWebCryptoError=function(e,t,r){this.useSoftware=!0,this.logEnabled=!0,this.softwareDecrypt(e,t,r);var i=this.flush();if(i)return i.buffer;throw new Error("WebCrypto and softwareDecrypt: failed to decrypt data")},n.getValidChunk=function(e){var t=e,r=e.length-e.length%16;return r!==e.length&&(t=st(e,0,r),this.remainderData=st(e,r)),t},n.logOnce=function(e){this.logEnabled&&(b.log("[decrypter]: "+e),this.logEnabled=!1)},s}(),so=function(s){for(var n="",e=s.length,t=0;t<e;t++)n+="["+s.start(t).toFixed(3)+"-"+s.end(t).toFixed(3)+"]";return n},Oe="STOPPED",X="IDLE",di="KEY_LOADING",bt="FRAG_LOADING",kt="FRAG_LOADING_WAITING_RETRY",Yt="WAITING_TRACK",Je="PARSING",mr="PARSED",Wt="ENDED",Dt="ERROR",jt="WAITING_INIT_PTS",ut="WAITING_LEVEL",ci=function(s){function n(t,r,i,a,o){var l;return(l=s.call(this)||this).hls=void 0,l.fragPrevious=null,l.fragCurrent=null,l.fragmentTracker=void 0,l.transmuxer=null,l._state=Oe,l.playlistType=void 0,l.media=null,l.mediaBuffer=null,l.config=void 0,l.bitrateTest=!1,l.lastCurrentTime=0,l.nextLoadPosition=0,l.startPosition=0,l.startTimeOffset=null,l.loadedmetadata=!1,l.retryDate=0,l.levels=null,l.fragmentLoader=void 0,l.keyLoader=void 0,l.levelLastLoaded=null,l.startFragRequested=!1,l.decrypter=void 0,l.initPTS=[],l.onvseeking=null,l.onvended=null,l.logPrefix="",l.log=void 0,l.warn=void 0,l.playlistType=o,l.logPrefix=a,l.log=b.log.bind(b,a+":"),l.warn=b.warn.bind(b,a+":"),l.hls=t,l.fragmentLoader=new ro(t.config),l.keyLoader=i,l.fragmentTracker=r,l.config=t.config,l.decrypter=new hi(t.config),t.on(p.MANIFEST_LOADED,l.onManifestLoaded,function(h){if(h===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return h}(l)),l}Le(n,s);var e=n.prototype;return e.doTick=function(){this.onTickEnd()},e.onTickEnd=function(){},e.startLoad=function(t){},e.stopLoad=function(){this.fragmentLoader.abort(),this.keyLoader.abort(this.playlistType);var t=this.fragCurrent;t!=null&&t.loader&&(t.abortRequests(),this.fragmentTracker.removeFragment(t)),this.resetTransmuxer(),this.fragCurrent=null,this.fragPrevious=null,this.clearInterval(),this.clearNextTick(),this.state=Oe},e._streamEnded=function(t,r){if(r.live||t.nextStart||!t.end||!this.media)return!1;var i=r.partList;if(i!=null&&i.length){var a=i[i.length-1];return ue.isBuffered(this.media,a.start+a.duration/2)}var o=r.fragments[r.fragments.length-1].type;return this.fragmentTracker.isEndListAppended(o)},e.getLevelDetails=function(){var t;if(this.levels&&this.levelLastLoaded!==null)return(t=this.levelLastLoaded)==null?void 0:t.details},e.onMediaAttached=function(t,r){var i=this.media=this.mediaBuffer=r.media;this.onvseeking=this.onMediaSeeking.bind(this),this.onvended=this.onMediaEnded.bind(this),i.addEventListener("seeking",this.onvseeking),i.addEventListener("ended",this.onvended);var a=this.config;this.levels&&a.autoStartLoad&&this.state===Oe&&this.startLoad(a.startPosition)},e.onMediaDetaching=function(){var t=this.media;t!=null&&t.ended&&(this.log("MSE detaching and video ended, reset startPosition"),this.startPosition=this.lastCurrentTime=0),t&&this.onvseeking&&this.onvended&&(t.removeEventListener("seeking",this.onvseeking),t.removeEventListener("ended",this.onvended),this.onvseeking=this.onvended=null),this.keyLoader&&this.keyLoader.detach(),this.media=this.mediaBuffer=null,this.loadedmetadata=!1,this.fragmentTracker.removeAllFragments(),this.stopLoad()},e.onMediaSeeking=function(){var t=this.config,r=this.fragCurrent,i=this.media,a=this.mediaBuffer,o=this.state,l=i?i.currentTime:0,h=ue.bufferInfo(a||i,l,t.maxBufferHole);if(this.log("media seeking to "+(N(l)?l.toFixed(3):l)+", state: "+o),this.state===Wt)this.resetLoadingState();else if(r){var u=t.maxFragLookUpTolerance,d=r.start-u,c=r.start+r.duration+u;if(!h.len||c<h.start||d>h.end){var f=l>c;(l<d||f)&&(f&&r.loader&&(this.log("seeking outside of buffer while fragment load in progress, cancel fragment load"),r.abortRequests(),this.resetLoadingState()),this.fragPrevious=null)}}i&&(this.fragmentTracker.removeFragmentsInRange(l,1/0,this.playlistType,!0),this.lastCurrentTime=l),this.loadedmetadata||h.len||(this.nextLoadPosition=this.startPosition=l),this.tickImmediate()},e.onMediaEnded=function(){this.startPosition=this.lastCurrentTime=0},e.onManifestLoaded=function(t,r){this.startTimeOffset=r.startTimeOffset,this.initPTS=[]},e.onHandlerDestroying=function(){this.hls.off(p.MANIFEST_LOADED,this.onManifestLoaded,this),this.stopLoad(),s.prototype.onHandlerDestroying.call(this),this.hls=null},e.onHandlerDestroyed=function(){this.state=Oe,this.fragmentLoader&&this.fragmentLoader.destroy(),this.keyLoader&&this.keyLoader.destroy(),this.decrypter&&this.decrypter.destroy(),this.hls=this.log=this.warn=this.decrypter=this.keyLoader=this.fragmentLoader=this.fragmentTracker=null,s.prototype.onHandlerDestroyed.call(this)},e.loadFragment=function(t,r,i){this._loadFragForPlayback(t,r,i)},e._loadFragForPlayback=function(t,r,i){var a=this;this._doFragLoad(t,r,i,function(o){if(a.fragContextChanged(t))return a.warn("Fragment "+t.sn+(o.part?" p: "+o.part.index:"")+" of level "+t.level+" was dropped during download."),void a.fragmentTracker.removeFragment(t);t.stats.chunkCount++,a._handleFragmentLoadProgress(o)}).then(function(o){if(o){var l=a.state;a.fragContextChanged(t)?(l===bt||!a.fragCurrent&&l===Je)&&(a.fragmentTracker.removeFragment(t),a.state=X):("payload"in o&&(a.log("Loaded fragment "+t.sn+" of level "+t.level),a.hls.trigger(p.FRAG_LOADED,o)),a._handleFragmentLoadComplete(o))}}).catch(function(o){a.state!==Oe&&a.state!==Dt&&(a.warn("Frag error: "+((o==null?void 0:o.message)||o)),a.resetFragmentLoading(t))})},e.clearTrackerIfNeeded=function(t){var r,i=this.fragmentTracker;if(i.getState(t)===zn){var a=t.type,o=this.getFwdBufferInfo(this.mediaBuffer,a),l=Math.max(t.duration,o?o.len:this.config.maxBufferLength),h=this.backtrackFragment;((h?t.sn-h.sn:0)==1||this.reduceMaxBufferLength(l,t.duration))&&i.removeFragment(t)}else((r=this.mediaBuffer)==null?void 0:r.buffered.length)===0?i.removeAllFragments():i.hasParts(t.type)&&(i.detectPartialFragments({frag:t,part:null,stats:t.stats,id:t.type}),i.getState(t)===At&&i.removeFragment(t))},e.checkLiveUpdate=function(t){if(t.updated&&!t.live){var r=t.fragments[t.fragments.length-1];this.fragmentTracker.detectPartialFragments({frag:r,part:null,stats:r.stats,id:r.type})}t.fragments[0]||(t.deltaUpdateFailed=!0)},e.flushMainBuffer=function(t,r,i){if(i===void 0&&(i=null),t-r){var a={startOffset:t,endOffset:r,type:i};this.hls.trigger(p.BUFFER_FLUSHING,a)}},e._loadInitSegment=function(t,r){var i=this;this._doFragLoad(t,r).then(function(a){if(!a||i.fragContextChanged(t)||!i.levels)throw new Error("init load aborted");return a}).then(function(a){var o=i.hls,l=a.payload,h=t.decryptdata;if(l&&l.byteLength>0&&h!=null&&h.key&&h.iv&&h.method==="AES-128"){var u=self.performance.now();return i.decrypter.decrypt(new Uint8Array(l),h.key.buffer,h.iv.buffer).catch(function(d){throw o.trigger(p.ERROR,{type:K.MEDIA_ERROR,details:w.FRAG_DECRYPT_ERROR,fatal:!1,error:d,reason:d.message,frag:t}),d}).then(function(d){var c=self.performance.now();return o.trigger(p.FRAG_DECRYPTED,{frag:t,payload:d,stats:{tstart:u,tdecrypt:c}}),a.payload=d,i.completeInitSegmentLoad(a)})}return i.completeInitSegmentLoad(a)}).catch(function(a){i.state!==Oe&&i.state!==Dt&&(i.warn(a),i.resetFragmentLoading(t))})},e.completeInitSegmentLoad=function(t){if(!this.levels)throw new Error("init load aborted, missing levels");var r=t.frag.stats;this.state=X,t.frag.data=new Uint8Array(t.payload),r.parsing.start=r.buffering.start=self.performance.now(),r.parsing.end=r.buffering.end=self.performance.now(),this.tick()},e.fragContextChanged=function(t){var r=this.fragCurrent;return!t||!r||t.sn!==r.sn||t.level!==r.level},e.fragBufferedComplete=function(t,r){var i,a,o,l,h=this.mediaBuffer?this.mediaBuffer:this.media;if(this.log("Buffered "+t.type+" sn: "+t.sn+(r?" part: "+r.index:"")+" of "+(this.playlistType===Z?"level":"track")+" "+t.level+" (frag:["+((i=t.startPTS)!=null?i:NaN).toFixed(3)+"-"+((a=t.endPTS)!=null?a:NaN).toFixed(3)+"] > buffer:"+(h?so(ue.getBuffered(h)):"(detached)")+")"),t.sn!=="initSegment"){var u;if(t.type!==qe){var d=t.elementaryStreams;if(!Object.keys(d).some(function(f){return!!d[f]}))return void(this.state=X)}var c=(u=this.levels)==null?void 0:u[t.level];c!=null&&c.fragmentError&&(this.log("Resetting level fragment error count of "+c.fragmentError+" on frag buffered"),c.fragmentError=0)}this.state=X,h&&(!this.loadedmetadata&&t.type==Z&&h.buffered.length&&((o=this.fragCurrent)==null?void 0:o.sn)===((l=this.fragPrevious)==null?void 0:l.sn)&&(this.loadedmetadata=!0,this.seekToStartPos()),this.tick())},e.seekToStartPos=function(){},e._handleFragmentLoadComplete=function(t){var r=this.transmuxer;if(r){var i=t.frag,a=t.part,o=t.partsLoaded,l=!o||o.length===0||o.some(function(u){return!u}),h=new ui(i.level,i.sn,i.stats.chunkCount+1,0,a?a.index:-1,!l);r.flush(h)}},e._handleFragmentLoadProgress=function(t){},e._doFragLoad=function(t,r,i,a){var o,l=this;i===void 0&&(i=null);var h=r==null?void 0:r.details;if(!this.levels||!h)throw new Error("frag load aborted, missing level"+(h?"":" detail")+"s");var u=null;if(!t.encrypted||(o=t.decryptdata)!=null&&o.key?!t.encrypted&&h.encryptedFragments.length&&this.keyLoader.loadClear(t,h.encryptedFragments):(this.log("Loading key for "+t.sn+" of ["+h.startSN+"-"+h.endSN+"], "+(this.logPrefix==="[stream-controller]"?"level":"track")+" "+t.level),this.state=di,this.fragCurrent=t,u=this.keyLoader.load(t).then(function(v){if(!l.fragContextChanged(v.frag))return l.hls.trigger(p.KEY_LOADED,v),l.state===di&&(l.state=X),v}),this.hls.trigger(p.KEY_LOADING,{frag:t}),this.fragCurrent===null&&(u=Promise.reject(new Error("frag load aborted, context changed in KEY_LOADING")))),i=Math.max(t.start,i||0),this.config.lowLatencyMode&&t.sn!=="initSegment"){var d=h.partList;if(d&&a){i>t.end&&h.fragmentHint&&(t=h.fragmentHint);var c=this.getNextPart(d,t,i);if(c>-1){var f,g=d[c];return this.log("Loading part sn: "+t.sn+" p: "+g.index+" cc: "+t.cc+" of playlist ["+h.startSN+"-"+h.endSN+"] parts [0-"+c+"-"+(d.length-1)+"] "+(this.logPrefix==="[stream-controller]"?"level":"track")+": "+t.level+", target: "+parseFloat(i.toFixed(3))),this.nextLoadPosition=g.start+g.duration,this.state=bt,f=u?u.then(function(v){return!v||l.fragContextChanged(v.frag)?null:l.doFragPartsLoad(t,g,r,a)}).catch(function(v){return l.handleFragLoadError(v)}):this.doFragPartsLoad(t,g,r,a).catch(function(v){return l.handleFragLoadError(v)}),this.hls.trigger(p.FRAG_LOADING,{frag:t,part:g,targetBufferTime:i}),this.fragCurrent===null?Promise.reject(new Error("frag load aborted, context changed in FRAG_LOADING parts")):f}if(!t.url||this.loadedEndOfParts(d,i))return Promise.resolve(null)}}this.log("Loading fragment "+t.sn+" cc: "+t.cc+" "+(h?"of ["+h.startSN+"-"+h.endSN+"] ":"")+(this.logPrefix==="[stream-controller]"?"level":"track")+": "+t.level+", target: "+parseFloat(i.toFixed(3))),N(t.sn)&&!this.bitrateTest&&(this.nextLoadPosition=t.start+t.duration),this.state=bt;var m,E=this.config.progressive;return m=E&&u?u.then(function(v){return!v||l.fragContextChanged(v==null?void 0:v.frag)?null:l.fragmentLoader.load(t,a)}).catch(function(v){return l.handleFragLoadError(v)}):Promise.all([this.fragmentLoader.load(t,E?a:void 0),u]).then(function(v){var y=v[0];return!E&&y&&a&&a(y),y}).catch(function(v){return l.handleFragLoadError(v)}),this.hls.trigger(p.FRAG_LOADING,{frag:t,targetBufferTime:i}),this.fragCurrent===null?Promise.reject(new Error("frag load aborted, context changed in FRAG_LOADING")):m},e.doFragPartsLoad=function(t,r,i,a){var o=this;return new Promise(function(l,h){var u,d=[],c=(u=i.details)==null?void 0:u.partList;(function f(g){o.fragmentLoader.loadPart(t,g,a).then(function(m){d[g.index]=m;var E=m.part;o.hls.trigger(p.FRAG_LOADED,m);var v=Bn(i,t.sn,g.index+1)||Gn(c,t.sn,g.index+1);if(!v)return l({frag:t,part:E,partsLoaded:d});f(v)}).catch(h)})(r)})},e.handleFragLoadError=function(t){if("data"in t){var r=t.data;t.data&&r.details===w.INTERNAL_ABORTED?this.handleFragLoadAborted(r.frag,r.part):this.hls.trigger(p.ERROR,r)}else this.hls.trigger(p.ERROR,{type:K.OTHER_ERROR,details:w.INTERNAL_EXCEPTION,err:t,error:t,fatal:!0});return null},e._handleTransmuxerFlush=function(t){var r=this.getCurrentContext(t);if(r&&this.state===Je){var i=r.frag,a=r.part,o=r.level,l=self.performance.now();i.stats.parsing.end=l,a&&(a.stats.parsing.end=l),this.updateLevelTiming(i,a,o,t.partial)}else this.fragCurrent||this.state===Oe||this.state===Dt||(this.state=X)},e.getCurrentContext=function(t){var r=this.levels,i=this.fragCurrent,a=t.level,o=t.sn,l=t.part;if(r==null||!r[a])return this.warn("Levels object was unset while buffering fragment "+o+" of level "+a+". The current chunk will not be buffered."),null;var h=r[a],u=l>-1?Bn(h,o,l):null,d=u?u.fragment:function(c,f,g){if(c==null||!c.details)return null;var m=c.details,E=m.fragments[f-m.startSN];return E||((E=m.fragmentHint)&&E.sn===f?E:f<m.startSN&&g&&g.sn===f?g:null)}(h,o,i);return d?(i&&i!==d&&(d.stats=i.stats),{frag:d,part:u,level:h}):null},e.bufferFragmentData=function(t,r,i,a,o){var l;if(t&&this.state===Je){var h=t.data1,u=t.data2,d=h;if(h&&u&&(d=Fe(h,u)),(l=d)!=null&&l.length){var c={type:t.type,frag:r,part:i,chunkMeta:a,parent:r.type,data:d};if(this.hls.trigger(p.BUFFER_APPENDING,c),t.dropped&&t.independent&&!i){if(o)return;this.flushBufferGap(r)}}}},e.flushBufferGap=function(t){var r=this.media;if(r)if(ue.isBuffered(r,r.currentTime)){var i=r.currentTime,a=ue.bufferInfo(r,i,0),o=t.duration,l=Math.min(2*this.config.maxFragLookUpTolerance,.25*o),h=Math.max(Math.min(t.start-l,a.end-l),i+l);t.start-h>l&&this.flushMainBuffer(h,t.start)}else this.flushMainBuffer(0,t.start)},e.getFwdBufferInfo=function(t,r){var i=this.getLoadPosition();return N(i)?this.getFwdBufferInfoAtPos(t,i,r):null},e.getFwdBufferInfoAtPos=function(t,r,i){var a=this.config.maxBufferHole,o=ue.bufferInfo(t,r,a);if(o.len===0&&o.nextStart!==void 0){var l=this.fragmentTracker.getBufferedFrag(r,i);if(l&&o.nextStart<l.end)return ue.bufferInfo(t,r,Math.max(o.nextStart,a))}return o},e.getMaxBufferLength=function(t){var r,i=this.config;return r=t?Math.max(8*i.maxBufferSize/t,i.maxBufferLength):i.maxBufferLength,Math.min(r,i.maxMaxBufferLength)},e.reduceMaxBufferLength=function(t,r){var i=this.config,a=Math.max(Math.min(t-r,i.maxBufferLength),r),o=Math.max(t-3*r,i.maxMaxBufferLength/2,a);return o>=a&&(i.maxMaxBufferLength=o,this.warn("Reduce max buffer length to "+o+"s"),!0)},e.getAppendedFrag=function(t,r){var i=this.fragmentTracker.getAppendedFrag(t,Z);return i&&"fragment"in i?i.fragment:i},e.getNextFragment=function(t,r){var i=r.fragments,a=i.length;if(!a)return null;var o,l=this.config,h=i[0].start;if(r.live){var u=l.initialLiveManifestSize;if(a<u)return this.warn("Not enough fragments to start playback (have: "+a+", need: "+u+")"),null;(!r.PTSKnown&&!this.startFragRequested&&this.startPosition===-1||t<h)&&(o=this.getInitialLiveFragment(r,i),this.startPosition=this.nextLoadPosition=o?this.hls.liveSyncPosition||o.start:t)}else t<=h&&(o=i[0]);if(!o){var d=l.lowLatencyMode?r.partEnd:r.fragmentEnd;o=this.getFragmentAtPosition(t,d,r)}return this.mapToInitFragWhenRequired(o)},e.isLoopLoading=function(t,r){var i=this.fragmentTracker.getState(t);return(i===Vt||i===At&&!!t.gap)&&this.nextLoadPosition>r},e.getNextFragmentLoopLoading=function(t,r,i,a,o){var l=t.gap,h=this.getNextFragment(this.nextLoadPosition,r);if(h===null)return h;if(t=h,l&&t&&!t.gap&&i.nextStart){var u=this.getFwdBufferInfoAtPos(this.mediaBuffer?this.mediaBuffer:this.media,i.nextStart,a);if(u!==null&&i.len+u.len>=o)return this.log('buffer full after gaps in "'+a+'" playlist starting at sn: '+t.sn),null}return t},e.mapToInitFragWhenRequired=function(t){return t==null||!t.initSegment||t!=null&&t.initSegment.data||this.bitrateTest?t:t.initSegment},e.getNextPart=function(t,r,i){for(var a=-1,o=!1,l=!0,h=0,u=t.length;h<u;h++){var d=t[h];if(l=l&&!d.independent,a>-1&&i<d.start)break;var c=d.loaded;c?a=-1:(o||d.independent||l)&&d.fragment===r&&(a=h),o=c}return a},e.loadedEndOfParts=function(t,r){var i=t[t.length-1];return i&&r>i.start&&i.loaded},e.getInitialLiveFragment=function(t,r){var i=this.fragPrevious,a=null;if(i){if(t.hasProgramDateTime&&(this.log("Live playlist, switching playlist, load frag with same PDT: "+i.programDateTime),a=function(u,d,c){if(d===null||!Array.isArray(u)||!u.length||!N(d)||d<(u[0].programDateTime||0)||d>=(u[u.length-1].endProgramDateTime||0))return null;c=c||0;for(var f=0;f<u.length;++f){var g=u[f];if(Ws(d,c,g))return g}return null}(r,i.endProgramDateTime,this.config.maxFragLookUpTolerance)),!a){var o=i.sn+1;if(o>=t.startSN&&o<=t.endSN){var l=r[o-t.startSN];i.cc===l.cc&&(a=l,this.log("Live playlist, switching playlist, load frag with next SN: "+a.sn))}a||(a=function(u,d){return Yn(u,function(c){return c.cc<d?1:c.cc>d?-1:0})}(r,i.cc),a&&this.log("Live playlist, switching playlist, load frag with same CC: "+a.sn))}}else{var h=this.hls.liveSyncPosition;h!==null&&(a=this.getFragmentAtPosition(h,this.bitrateTest?t.fragmentEnd:t.edge,t))}return a},e.getFragmentAtPosition=function(t,r,i){var a,o=this.config,l=this.fragPrevious,h=i.fragments,u=i.endSN,d=i.fragmentHint,c=o.maxFragLookUpTolerance,f=i.partList,g=!!(o.lowLatencyMode&&f!=null&&f.length&&d);if(g&&d&&!this.bitrateTest&&(h=h.concat(d),u=d.sn),a=t<r?dr(l,h,t,t>r-c?0:c):h[h.length-1]){var m=a.sn-i.startSN,E=this.fragmentTracker.getState(a);if((E===Vt||E===At&&a.gap)&&(l=a),l&&a.sn===l.sn&&(!g||f[0].fragment.sn>a.sn)&&l&&a.level===l.level){var v=h[m+1];a=a.sn<u&&this.fragmentTracker.getState(v)!==Vt?v:null}}return a},e.synchronizeToLiveEdge=function(t){var r=this.config,i=this.media;if(i){var a=this.hls.liveSyncPosition,o=i.currentTime,l=t.fragments[0].start,h=t.edge,u=o>=l-r.maxFragLookUpTolerance&&o<=h;if(a!==null&&i.duration>a&&(o<a||!u)){var d=r.liveMaxLatencyDuration!==void 0?r.liveMaxLatencyDuration:r.liveMaxLatencyDurationCount*t.targetduration;(!u&&i.readyState<4||o<h-d)&&(this.loadedmetadata||(this.nextLoadPosition=a),i.readyState&&(this.warn("Playback: "+o.toFixed(3)+" is located too far from the end of live sliding playlist: "+h+", reset currentTime to : "+a.toFixed(3)),i.currentTime=a))}}},e.alignPlaylists=function(t,r,i){var a=t.fragments.length;if(!a)return this.warn("No fragments in live playlist"),0;var o=t.fragments[0].start,l=!r,h=t.alignedSliding&&N(o);if(l||!h&&!o){var u=this.fragPrevious;to(u,i,t);var d=t.fragments[0].start;return this.log("Live playlist sliding: "+d.toFixed(2)+" start-sn: "+(r?r.startSN:"na")+"->"+t.startSN+" prev-sn: "+(u?u.sn:"na")+" fragments: "+a),d}return o},e.waitForCdnTuneIn=function(t){return t.live&&t.canBlockReload&&t.partTarget&&t.tuneInGoal>Math.max(t.partHoldBack,3*t.partTarget)},e.setStartPosition=function(t,r){var i=this.startPosition;if(i<r&&(i=-1),i===-1||this.lastCurrentTime===-1){var a=this.startTimeOffset!==null,o=a?this.startTimeOffset:t.startTimeOffset;o!==null&&N(o)?(i=r+o,o<0&&(i+=t.totalduration),i=Math.min(Math.max(r,i),r+t.totalduration),this.log("Start time offset "+o+" found in "+(a?"multivariant":"media")+" playlist, adjust startPosition to "+i),this.startPosition=i):t.live?i=this.hls.liveSyncPosition||r:this.startPosition=i=0,this.lastCurrentTime=i}this.nextLoadPosition=i},e.getLoadPosition=function(){var t=this.media,r=0;return this.loadedmetadata&&t?r=t.currentTime:this.nextLoadPosition&&(r=this.nextLoadPosition),r},e.handleFragLoadAborted=function(t,r){this.transmuxer&&t.sn!=="initSegment"&&t.stats.aborted&&(this.warn("Fragment "+t.sn+(r?" part "+r.index:"")+" of level "+t.level+" was aborted"),this.resetFragmentLoading(t))},e.resetFragmentLoading=function(t){this.fragCurrent&&(this.fragContextChanged(t)||this.state===kt)||(this.state=X)},e.onFragmentOrKeyLoadError=function(t,r){if(r.chunkMeta&&!r.frag){var i=this.getCurrentContext(r.chunkMeta);i&&(r.frag=i.frag)}var a=r.frag;if(a&&a.type===t&&this.levels)if(this.fragContextChanged(a)){var o;this.warn("Frag load error must match current frag to retry "+a.url+" > "+((o=this.fragCurrent)==null?void 0:o.url))}else{var l=r.details===w.FRAG_GAP;l&&this.fragmentTracker.fragBuffered(a,!0);var h=r.errorAction,u=h||{},d=u.action,c=u.retryCount,f=c===void 0?0:c,g=u.retryConfig;if(h&&d===cr&&g){this.resetStartWhenNotLoaded(this.levelLastLoaded);var m=ni(g,f);this.warn("Fragment "+a.sn+" of "+t+" "+a.level+" errored with "+r.details+", retrying loading "+(f+1)+"/"+g.maxNumRetry+" in "+m+"ms"),h.resolved=!0,this.retryDate=self.performance.now()+m,this.state=kt}else if(g&&h){if(this.resetFragmentErrors(t),!(f<g.maxNumRetry))return void b.warn(r.details+" reached or exceeded max retry ("+f+")");l||d===js||(h.resolved=!0)}else(h==null?void 0:h.action)===Xe?this.state=ut:this.state=Dt;this.tickImmediate()}},e.reduceLengthAndFlushBuffer=function(t){if(this.state===Je||this.state===mr){var r=t.frag,i=t.parent,a=this.getFwdBufferInfo(this.mediaBuffer,i),o=a&&a.len>.5;o&&this.reduceMaxBufferLength(a.len,(r==null?void 0:r.duration)||10);var l=!o;return l&&this.warn("Buffer full error while media.currentTime is not buffered, flush "+i+" buffer"),r&&(this.fragmentTracker.removeFragment(r),this.nextLoadPosition=r.start),this.resetLoadingState(),l}return!1},e.resetFragmentErrors=function(t){t===Me&&(this.fragCurrent=null),this.loadedmetadata||(this.startFragRequested=!1),this.state!==Oe&&(this.state=X)},e.afterBufferFlushed=function(t,r,i){if(t){var a=ue.getBuffered(t);this.fragmentTracker.detectEvictedFragments(r,a,i),this.state===Wt&&this.resetLoadingState()}},e.resetLoadingState=function(){this.log("Reset loading state"),this.fragCurrent=null,this.fragPrevious=null,this.state=X},e.resetStartWhenNotLoaded=function(t){if(!this.loadedmetadata){this.startFragRequested=!1;var r=t?t.details:null;r!=null&&r.live?(this.startPosition=-1,this.setStartPosition(r,0),this.resetLoadingState()):this.nextLoadPosition=this.startPosition}},e.resetWhenMissingContext=function(t){this.warn("The loading context changed while buffering fragment "+t.sn+" of level "+t.level+". This chunk will not be buffered."),this.removeUnbufferedFrags(),this.resetStartWhenNotLoaded(this.levelLastLoaded),this.resetLoadingState()},e.removeUnbufferedFrags=function(t){t===void 0&&(t=0),this.fragmentTracker.removeFragmentsInRange(t,1/0,this.playlistType,!1,!0)},e.updateLevelTiming=function(t,r,i,a){var o,l=this,h=i.details;if(h){if(!Object.keys(t.elementaryStreams).reduce(function(d,c){var f=t.elementaryStreams[c];if(f){var g=f.endPTS-f.startPTS;if(g<=0)return l.warn("Could not parse fragment "+t.sn+" "+c+" duration reliably ("+g+")"),d||!1;var m=a?0:Nn(h,t,f.startPTS,f.endPTS,f.startDTS,f.endDTS);return l.hls.trigger(p.LEVEL_PTS_UPDATED,{details:h,level:i,drift:m,type:c,frag:t,start:f.startPTS,end:f.endPTS}),!0}return d},!1)&&((o=this.transmuxer)==null?void 0:o.error)===null){var u=new Error("Found no media in fragment "+t.sn+" of level "+t.level+" resetting transmuxer to fallback to playlist timing");if(i.fragmentError===0&&(i.fragmentError++,t.gap=!0,this.fragmentTracker.removeFragment(t),this.fragmentTracker.fragBuffered(t,!0)),this.warn(u.message),this.hls.trigger(p.ERROR,{type:K.MEDIA_ERROR,details:w.FRAG_PARSING_ERROR,fatal:!1,error:u,frag:t,reason:"Found no media in msn "+t.sn+' of level "'+i.url+'"'}),!this.hls)return;this.resetTransmuxer()}this.state=mr,this.hls.trigger(p.FRAG_PARSED,{frag:t,part:r})}else this.warn("level.details undefined")},e.resetTransmuxer=function(){this.transmuxer&&(this.transmuxer.destroy(),this.transmuxer=null)},e.recoverWorkerError=function(t){t.event==="demuxerWorker"&&(this.fragmentTracker.removeAllFragments(),this.resetTransmuxer(),this.resetStartWhenNotLoaded(this.levelLastLoaded),this.resetLoadingState())},fe(n,[{key:"state",get:function(){return this._state},set:function(t){var r=this._state;r!==t&&(this._state=t,this.log(r+"->"+t))}}]),n}($s),ta=function(){function s(){this.chunks=[],this.dataLength=0}var n=s.prototype;return n.push=function(e){this.chunks.push(e),this.dataLength+=e.length},n.flush=function(){var e,t=this.chunks,r=this.dataLength;return t.length?(e=t.length===1?t[0]:function(i,a){for(var o=new Uint8Array(a),l=0,h=0;h<i.length;h++){var u=i[h];o.set(u,l),l+=u.length}return o}(t,r),this.reset(),e):new Uint8Array(0)},n.reset=function(){this.chunks.length=0,this.dataLength=0},s}();function We(s,n){return s===void 0&&(s=""),n===void 0&&(n=9e4),{type:s,id:-1,pid:-1,inputTimeScale:n,sequenceNumber:-1,samples:[],dropped:0}}var fi=function(){function s(){this._audioTrack=void 0,this._id3Track=void 0,this.frameIndex=0,this.cachedData=null,this.basePTS=null,this.initPTS=null,this.lastPTS=null}var n=s.prototype;return n.resetInitSegment=function(e,t,r,i){this._id3Track={type:"id3",id:3,pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0}},n.resetTimeStamp=function(e){this.initPTS=e,this.resetContiguity()},n.resetContiguity=function(){this.basePTS=null,this.lastPTS=null,this.frameIndex=0},n.canParse=function(e,t){return!1},n.appendFrame=function(e,t,r){},n.demux=function(e,t){this.cachedData&&(e=Fe(this.cachedData,e),this.cachedData=null);var r,i=Nt(e,0),a=i?i.length:0,o=this._audioTrack,l=this._id3Track,h=i?Yr(i):void 0,u=e.length;for((this.basePTS===null||this.frameIndex===0&&N(h))&&(this.basePTS=oo(h,t,this.initPTS),this.lastPTS=this.basePTS),this.lastPTS===null&&(this.lastPTS=this.basePTS),i&&i.length>0&&l.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:i,type:Gt,duration:Number.POSITIVE_INFINITY});a<u;){if(this.canParse(e,a)){var d=this.appendFrame(o,e,a);d?(this.frameIndex++,this.lastPTS=d.sample.pts,r=a+=d.length):a=u}else Es(e,a)?(i=Nt(e,a),l.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:i,type:Gt,duration:Number.POSITIVE_INFINITY}),r=a+=i.length):a++;if(a===u&&r!==u){var c=st(e,r);this.cachedData?this.cachedData=Fe(this.cachedData,c):this.cachedData=c}}return{audioTrack:o,videoTrack:We(),id3Track:l,textTrack:We()}},n.demuxSampleAes=function(e,t,r){return Promise.reject(new Error("["+this+"] This demuxer does not support Sample-AES decryption"))},n.flush=function(e){var t=this.cachedData;return t&&(this.cachedData=null,this.demux(t,0)),{audioTrack:this._audioTrack,videoTrack:We(),id3Track:this._id3Track,textTrack:We()}},n.destroy=function(){},s}(),oo=function(s,n,e){return N(s)?90*s:9e4*n+(e?9e4*e.baseTime/e.timescale:0)};function ra(s,n){return s[n]===255&&(246&s[n+1])==240}function ia(s,n){return 1&s[n+1]?7:9}function gi(s,n){return(3&s[n+3])<<11|s[n+4]<<3|(224&s[n+5])>>>5}function pr(s,n){return n+1<s.length&&ra(s,n)}function lo(s,n){if(pr(s,n)){var e=ia(s,n);if(n+e>=s.length)return!1;var t=gi(s,n);if(t<=e)return!1;var r=n+t;return r===s.length||pr(s,r)}return!1}function na(s,n,e,t,r){if(!s.samplerate){var i=function(a,o,l,h){var u,d,c,f,g=navigator.userAgent.toLowerCase(),m=h,E=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];u=1+((192&o[l+2])>>>6);var v=(60&o[l+2])>>>2;if(!(v>E.length-1))return c=(1&o[l+2])<<2,c|=(192&o[l+3])>>>6,b.log("manifest codec:"+h+", ADTS type:"+u+", samplingIndex:"+v),/firefox/i.test(g)?v>=6?(u=5,f=new Array(4),d=v-3):(u=2,f=new Array(2),d=v):g.indexOf("android")!==-1?(u=2,f=new Array(2),d=v):(u=5,f=new Array(4),h&&(h.indexOf("mp4a.40.29")!==-1||h.indexOf("mp4a.40.5")!==-1)||!h&&v>=6?d=v-3:((h&&h.indexOf("mp4a.40.2")!==-1&&(v>=6&&c===1||/vivaldi/i.test(g))||!h&&c===1)&&(u=2,f=new Array(2)),d=v)),f[0]=u<<3,f[0]|=(14&v)>>1,f[1]|=(1&v)<<7,f[1]|=c<<3,u===5&&(f[1]|=(14&d)>>1,f[2]=(1&d)<<7,f[2]|=8,f[3]=0),{config:f,samplerate:E[v],channelCount:c,codec:"mp4a.40."+u,manifestCodec:m};var y=new Error("invalid ADTS sampling index:"+v);a.emit(p.ERROR,p.ERROR,{type:K.MEDIA_ERROR,details:w.FRAG_PARSING_ERROR,fatal:!0,error:y,reason:y.message})}(n,e,t,r);if(!i)return;s.config=i.config,s.samplerate=i.samplerate,s.channelCount=i.channelCount,s.codec=i.codec,s.manifestCodec=i.manifestCodec,b.log("parsed codec:"+s.codec+", rate:"+i.samplerate+", channels:"+i.channelCount)}}function aa(s){return 9216e4/s}function sa(s,n,e,t,r){var i,a=t+r*aa(s.samplerate),o=function(g,m){var E=ia(g,m);if(m+E<=g.length){var v=gi(g,m)-E;if(v>0)return{headerLength:E,frameLength:v}}}(n,e);if(o){var l=o.frameLength,h=o.headerLength,u=h+l,d=Math.max(0,e+u-n.length);d?(i=new Uint8Array(u-h)).set(n.subarray(e+h,n.length),0):i=n.subarray(e+h,e+u);var c={unit:i,pts:a};return d||s.samples.push(c),{sample:c,length:u,missing:d}}var f=n.length-e;return(i=new Uint8Array(f)).set(n.subarray(e,n.length),0),{sample:{unit:i,pts:a},length:f,missing:-1}}var yr=null,uo=[32,64,96,128,160,192,224,256,288,320,352,384,416,448,32,48,56,64,80,96,112,128,160,192,224,256,320,384,32,40,48,56,64,80,96,112,128,160,192,224,256,320,32,48,56,64,80,96,112,128,144,160,176,192,224,256,8,16,24,32,40,48,56,64,80,96,112,128,144,160],ho=[44100,48e3,32e3,22050,24e3,16e3,11025,12e3,8e3],co=[[0,72,144,12],[0,0,0,0],[0,72,144,12],[0,144,144,12]],fo=[0,1,1,4];function oa(s,n,e,t,r){if(!(e+24>n.length)){var i=la(n,e);if(i&&e+i.frameLength<=n.length){var a=t+r*(9e4*i.samplesPerFrame/i.sampleRate),o={unit:n.subarray(e,e+i.frameLength),pts:a,dts:a};return s.config=[],s.channelCount=i.channelCount,s.samplerate=i.sampleRate,s.samples.push(o),{sample:o,length:i.frameLength,missing:0}}}}function la(s,n){var e=s[n+1]>>3&3,t=s[n+1]>>1&3,r=s[n+2]>>4&15,i=s[n+2]>>2&3;if(e!==1&&r!==0&&r!==15&&i!==3){var a=s[n+2]>>1&1,o=s[n+3]>>6,l=1e3*uo[14*(e===3?3-t:t===3?3:4)+r-1],h=ho[3*(e===3?0:e===2?1:2)+i],u=o===3?1:2,d=co[e][t],c=fo[t],f=8*d*c,g=Math.floor(d*l/h+a)*c;if(yr===null){var m=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);yr=m?parseInt(m[1]):0}return yr&&yr<=87&&t===2&&l>=224e3&&o===0&&(s[n+3]=128|s[n+3]),{sampleRate:h,channelCount:u,frameLength:g,samplesPerFrame:f}}}function vi(s,n){return s[n]===255&&(224&s[n+1])==224&&(6&s[n+1])!=0}function ua(s,n){return n+1<s.length&&vi(s,n)}function ha(s,n){if(n+1<s.length&&vi(s,n)){var e=la(s,n),t=4;e!=null&&e.frameLength&&(t=e.frameLength);var r=n+t;return r===s.length||ua(s,r)}return!1}var go=function(s){function n(t,r){var i;return(i=s.call(this)||this).observer=void 0,i.config=void 0,i.observer=t,i.config=r,i}Le(n,s);var e=n.prototype;return e.resetInitSegment=function(t,r,i,a){s.prototype.resetInitSegment.call(this,t,r,i,a),this._audioTrack={container:"audio/adts",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"aac",samples:[],manifestCodec:r,duration:a,inputTimeScale:9e4,dropped:0}},n.probe=function(t){if(!t)return!1;var r=Nt(t,0),i=(r==null?void 0:r.length)||0;if(ha(t,i))return!1;for(var a=t.length;i<a;i++)if(lo(t,i))return b.log("ADTS sync word found !"),!0;return!1},e.canParse=function(t,r){return function(i,a){return function(o,l){return l+5<o.length}(i,a)&&ra(i,a)&&gi(i,a)<=i.length-a}(t,r)},e.appendFrame=function(t,r,i){na(t,this.observer,r,i,t.manifestCodec);var a=sa(t,r,i,this.basePTS,this.frameIndex);if(a&&a.missing===0)return a},n}(fi),vo=/\/emsg[-/]ID3/i,mo=function(){function s(e,t){this.remainderData=null,this.timeOffset=0,this.config=void 0,this.videoTrack=void 0,this.audioTrack=void 0,this.id3Track=void 0,this.txtTrack=void 0,this.config=t}var n=s.prototype;return n.resetTimeStamp=function(){},n.resetInitSegment=function(e,t,r,i){var a=this.videoTrack=We("video",1),o=this.audioTrack=We("audio",1),l=this.txtTrack=We("text",1);if(this.id3Track=We("id3",1),this.timeOffset=0,e!=null&&e.byteLength){var h=un(e);if(h.video){var u=h.video,d=u.id,c=u.timescale,f=u.codec;a.id=d,a.timescale=l.timescale=c,a.codec=f}if(h.audio){var g=h.audio,m=g.id,E=g.timescale,v=g.codec;o.id=m,o.timescale=E,o.codec=v}l.id=an.text,a.sampleDuration=0,a.duration=o.duration=i}},n.resetContiguity=function(){this.remainderData=null},s.probe=function(e){return function(t){for(var r=t.byteLength,i=0;i<r;){var a=H(t,i);if(a>8&&t[i+4]===109&&t[i+5]===111&&t[i+6]===111&&t[i+7]===102)return!0;i=a>1?i+a:r}return!1}(e)},n.demux=function(e,t){this.timeOffset=t;var r=e,i=this.videoTrack,a=this.txtTrack;if(this.config.progressive){this.remainderData&&(r=Fe(this.remainderData,e));var o=function(h){var u={valid:null,remainder:null},d=q(h,["moof"]);if(d.length<2)return u.remainder=h,u;var c=d[d.length-1];return u.valid=st(h,0,c.byteOffset-8),u.remainder=st(h,c.byteOffset-8),u}(r);this.remainderData=o.remainder,i.samples=o.valid||new Uint8Array}else i.samples=r;var l=this.extractID3Track(i,t);return a.samples=dn(t,i),{videoTrack:i,audioTrack:this.audioTrack,id3Track:l,textTrack:this.txtTrack}},n.flush=function(){var e=this.timeOffset,t=this.videoTrack,r=this.txtTrack;t.samples=this.remainderData||new Uint8Array,this.remainderData=null;var i=this.extractID3Track(t,this.timeOffset);return r.samples=dn(e,t),{videoTrack:t,audioTrack:We(),id3Track:i,textTrack:We()}},n.extractID3Track=function(e,t){var r=this.id3Track;if(e.samples.length){var i=q(e.samples,["emsg"]);i&&i.forEach(function(a){var o=function(d){var c=d[0],f="",g="",m=0,E=0,v=0,y=0,T=0,S=0;if(c===0){for(;me(d.subarray(S,S+1))!=="\0";)f+=me(d.subarray(S,S+1)),S+=1;for(f+=me(d.subarray(S,S+1)),S+=1;me(d.subarray(S,S+1))!=="\0";)g+=me(d.subarray(S,S+1)),S+=1;g+=me(d.subarray(S,S+1)),S+=1,m=H(d,12),E=H(d,16),y=H(d,20),T=H(d,24),S=28}else if(c===1){m=H(d,S+=4);var A=H(d,S+=4),R=H(d,S+=4);for(S+=4,v=Math.pow(2,32)*A+R,ds(v)||(v=Number.MAX_SAFE_INTEGER,b.warn("Presentation time exceeds safe integer limit and wrapped to max safe integer in parsing emsg box")),y=H(d,S),T=H(d,S+=4),S+=4;me(d.subarray(S,S+1))!=="\0";)f+=me(d.subarray(S,S+1)),S+=1;for(f+=me(d.subarray(S,S+1)),S+=1;me(d.subarray(S,S+1))!=="\0";)g+=me(d.subarray(S,S+1)),S+=1;g+=me(d.subarray(S,S+1)),S+=1}return{schemeIdUri:f,value:g,timeScale:m,presentationTime:v,presentationTimeDelta:E,eventDuration:y,id:T,payload:d.subarray(S,d.byteLength)}}(a);if(vo.test(o.schemeIdUri)){var l=N(o.presentationTime)?o.presentationTime/o.timeScale:t+o.presentationTimeDelta/o.timeScale,h=o.eventDuration===4294967295?Number.POSITIVE_INFINITY:o.eventDuration/o.timeScale;h<=.001&&(h=Number.POSITIVE_INFINITY);var u=o.payload;r.samples.push({data:u,len:u.byteLength,dts:l,pts:l,type:Kt,duration:h})}})}return r},n.demuxSampleAes=function(e,t,r){return Promise.reject(new Error("The MP4 demuxer does not support SAMPLE-AES decryption"))},n.destroy=function(){},s}(),da=function(s,n){var e=0,t=5;n+=t;for(var r=new Uint32Array(1),i=new Uint32Array(1),a=new Uint8Array(1);t>0;){a[0]=s[n];var o=Math.min(t,8),l=8-o;i[0]=4278190080>>>24+l<<l,r[0]=(a[0]&i[0])>>l,e=e?e<<o|r[0]:r[0],n+=1,t-=o}return e},po=function(s){function n(t){var r;return(r=s.call(this)||this).observer=void 0,r.observer=t,r}Le(n,s);var e=n.prototype;return e.resetInitSegment=function(t,r,i,a){s.prototype.resetInitSegment.call(this,t,r,i,a),this._audioTrack={container:"audio/ac-3",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"ac3",samples:[],manifestCodec:r,duration:a,inputTimeScale:9e4,dropped:0}},e.canParse=function(t,r){return r+64<t.length},e.appendFrame=function(t,r,i){var a=ca(t,r,i,this.basePTS,this.frameIndex);if(a!==-1)return{sample:t.samples[t.samples.length-1],length:a,missing:0}},n.probe=function(t){if(!t)return!1;var r=Nt(t,0);if(!r)return!1;var i=r.length;return t[i]===11&&t[i+1]===119&&Yr(r)!==void 0&&da(t,i)<16},n}(fi);function ca(s,n,e,t,r){if(e+8>n.length||n[e]!==11||n[e+1]!==119)return-1;var i=n[e+4]>>6;if(i>=3)return-1;var a=[48e3,44100,32e3][i],o=63&n[e+4],l=2*[64,69,96,64,70,96,80,87,120,80,88,120,96,104,144,96,105,144,112,121,168,112,122,168,128,139,192,128,140,192,160,174,240,160,175,240,192,208,288,192,209,288,224,243,336,224,244,336,256,278,384,256,279,384,320,348,480,320,349,480,384,417,576,384,418,576,448,487,672,448,488,672,512,557,768,512,558,768,640,696,960,640,697,960,768,835,1152,768,836,1152,896,975,1344,896,976,1344,1024,1114,1536,1024,1115,1536,1152,1253,1728,1152,1254,1728,1280,1393,1920,1280,1394,1920][3*o+i];if(e+l>n.length)return-1;var h=n[e+6]>>5,u=0;h===2?u+=2:(1&h&&h!==1&&(u+=2),4&h&&(u+=2));var d=(n[e+6]<<8|n[e+7])>>12-u&1,c=[2,1,2,3,3,4,4,5][h]+d,f=n[e+5]>>3,g=7&n[e+5],m=new Uint8Array([i<<6|f<<1|g>>2,(3&g)<<6|h<<3|d<<2|o>>4,o<<4&224]),E=t+r*(1536/a*9e4),v=n.subarray(e,e+l);return s.config=m,s.channelCount=c,s.samplerate=a,s.samples.push({unit:v,pts:E}),l}var yo=function(){function s(){this.VideoSample=null}var n=s.prototype;return n.createVideoSample=function(e,t,r,i){return{key:e,frame:!1,pts:t,dts:r,units:[],debug:i,length:0}},n.getLastNalUnit=function(e){var t,r,i=this.VideoSample;if(i&&i.units.length!==0||(i=e[e.length-1]),(t=i)!=null&&t.units){var a=i.units;r=a[a.length-1]}return r},n.pushAccessUnit=function(e,t){if(e.units.length&&e.frame){if(e.pts===void 0){var r=t.samples,i=r.length;if(!i)return void t.dropped++;var a=r[i-1];e.pts=a.pts,e.dts=a.dts}t.samples.push(e)}e.debug.length&&b.log(e.pts+"/"+e.dts+":"+e.debug)},s}(),fa=function(){function s(e){this.data=void 0,this.bytesAvailable=void 0,this.word=void 0,this.bitsAvailable=void 0,this.data=e,this.bytesAvailable=e.byteLength,this.word=0,this.bitsAvailable=0}var n=s.prototype;return n.loadWord=function(){var e=this.data,t=this.bytesAvailable,r=e.byteLength-t,i=new Uint8Array(4),a=Math.min(4,t);if(a===0)throw new Error("no bytes available");i.set(e.subarray(r,r+a)),this.word=new DataView(i.buffer).getUint32(0),this.bitsAvailable=8*a,this.bytesAvailable-=a},n.skipBits=function(e){var t;e=Math.min(e,8*this.bytesAvailable+this.bitsAvailable),this.bitsAvailable>e?(this.word<<=e,this.bitsAvailable-=e):(e-=this.bitsAvailable,e-=(t=e>>3)<<3,this.bytesAvailable-=t,this.loadWord(),this.word<<=e,this.bitsAvailable-=e)},n.readBits=function(e){var t=Math.min(this.bitsAvailable,e),r=this.word>>>32-t;if(e>32&&b.error("Cannot read more than 32 bits at a time"),this.bitsAvailable-=t,this.bitsAvailable>0)this.word<<=t;else{if(!(this.bytesAvailable>0))throw new Error("no bits available");this.loadWord()}return(t=e-t)>0&&this.bitsAvailable?r<<t|this.readBits(t):r},n.skipLZ=function(){var e;for(e=0;e<this.bitsAvailable;++e)if(this.word&2147483648>>>e)return this.word<<=e,this.bitsAvailable-=e,e;return this.loadWord(),e+this.skipLZ()},n.skipUEG=function(){this.skipBits(1+this.skipLZ())},n.skipEG=function(){this.skipBits(1+this.skipLZ())},n.readUEG=function(){var e=this.skipLZ();return this.readBits(e+1)-1},n.readEG=function(){var e=this.readUEG();return 1&e?1+e>>>1:-1*(e>>>1)},n.readBoolean=function(){return this.readBits(1)===1},n.readUByte=function(){return this.readBits(8)},n.readUShort=function(){return this.readBits(16)},n.readUInt=function(){return this.readBits(32)},n.skipScalingList=function(e){for(var t=8,r=8,i=0;i<e;i++)r!==0&&(r=(t+this.readEG()+256)%256),t=r===0?t:r},n.readSPS=function(){var e,t,r,i=0,a=0,o=0,l=0,h=this.readUByte.bind(this),u=this.readBits.bind(this),d=this.readUEG.bind(this),c=this.readBoolean.bind(this),f=this.skipBits.bind(this),g=this.skipEG.bind(this),m=this.skipUEG.bind(this),E=this.skipScalingList.bind(this);h();var v=h();if(u(5),f(3),h(),m(),v===100||v===110||v===122||v===244||v===44||v===83||v===86||v===118||v===128){var y=d();if(y===3&&f(1),m(),m(),f(1),c())for(t=y!==3?8:12,r=0;r<t;r++)c()&&E(r<6?16:64)}m();var T=d();if(T===0)d();else if(T===1)for(f(1),g(),g(),e=d(),r=0;r<e;r++)g();m(),f(1);var S=d(),A=d(),R=u(1);R===0&&f(1),f(1),c()&&(i=d(),a=d(),o=d(),l=d());var L=[1,1];if(c()&&c())switch(h()){case 1:L=[1,1];break;case 2:L=[12,11];break;case 3:L=[10,11];break;case 4:L=[16,11];break;case 5:L=[40,33];break;case 6:L=[24,11];break;case 7:L=[20,11];break;case 8:L=[32,11];break;case 9:L=[80,33];break;case 10:L=[18,11];break;case 11:L=[15,11];break;case 12:L=[64,33];break;case 13:L=[160,99];break;case 14:L=[4,3];break;case 15:L=[3,2];break;case 16:L=[2,1];break;case 255:L=[h()<<8|h(),h()<<8|h()]}return{width:Math.ceil(16*(S+1)-2*i-2*a),height:(2-R)*(A+1)*16-(R?2:4)*(o+l),pixelRatio:L}},n.readSliceType=function(){return this.readUByte(),this.readUEG(),this.readUEG()},s}(),Eo=function(s){function n(){return s.apply(this,arguments)||this}Le(n,s);var e=n.prototype;return e.parseAVCPES=function(t,r,i,a,o){var l,h=this,u=this.parseAVCNALu(t,i.data),d=this.VideoSample,c=!1;i.data=null,d&&u.length&&!t.audFound&&(this.pushAccessUnit(d,t),d=this.VideoSample=this.createVideoSample(!1,i.pts,i.dts,"")),u.forEach(function(f){var g;switch(f.type){case 1:var m=!1;l=!0;var E,v=f.data;if(c&&v.length>4){var y=new fa(v).readSliceType();y!==2&&y!==4&&y!==7&&y!==9||(m=!0)}m&&(E=d)!=null&&E.frame&&!d.key&&(h.pushAccessUnit(d,t),d=h.VideoSample=null),d||(d=h.VideoSample=h.createVideoSample(!0,i.pts,i.dts,"")),d.frame=!0,d.key=m;break;case 5:l=!0,(g=d)!=null&&g.frame&&!d.key&&(h.pushAccessUnit(d,t),d=h.VideoSample=null),d||(d=h.VideoSample=h.createVideoSample(!0,i.pts,i.dts,"")),d.key=!0,d.frame=!0;break;case 6:l=!0,cn(f.data,1,i.pts,r.samples);break;case 7:var T,S;l=!0,c=!0;var A=f.data,R=new fa(A).readSPS();if(!t.sps||t.width!==R.width||t.height!==R.height||((T=t.pixelRatio)==null?void 0:T[0])!==R.pixelRatio[0]||((S=t.pixelRatio)==null?void 0:S[1])!==R.pixelRatio[1]){t.width=R.width,t.height=R.height,t.pixelRatio=R.pixelRatio,t.sps=[A],t.duration=o;for(var L=A.subarray(1,4),D="avc1.",k=0;k<3;k++){var I=L[k].toString(16);I.length<2&&(I="0"+I),D+=I}t.codec=D}break;case 8:l=!0,t.pps=[f.data];break;case 9:l=!0,t.audFound=!0,d&&h.pushAccessUnit(d,t),d=h.VideoSample=h.createVideoSample(!1,i.pts,i.dts,"");break;case 12:l=!0;break;default:l=!1,d&&(d.debug+="unknown NAL "+f.type+" ")}d&&l&&d.units.push(f)}),a&&d&&(this.pushAccessUnit(d,t),this.VideoSample=null)},e.parseAVCNALu=function(t,r){var i,a,o=r.byteLength,l=t.naluState||0,h=l,u=[],d=0,c=-1,f=0;for(l===-1&&(c=0,f=31&r[0],l=0,d=1);d<o;)if(i=r[d++],l)if(l!==1)if(i)if(i===1){if(a=d-l-1,c>=0){var g={data:r.subarray(c,a),type:f};u.push(g)}else{var m=this.getLastNalUnit(t.samples);m&&(h&&d<=4-h&&m.state&&(m.data=m.data.subarray(0,m.data.byteLength-h)),a>0&&(m.data=Fe(m.data,r.subarray(0,a)),m.state=0))}d<o?(c=d,f=31&r[d],l=0):l=-1}else l=0;else l=3;else l=i?0:2;else l=i?0:1;if(c>=0&&l>=0){var E={data:r.subarray(c,o),type:f,state:l};u.push(E)}if(u.length===0){var v=this.getLastNalUnit(t.samples);v&&(v.data=Fe(v.data,r))}return t.naluState=l,u},n}(yo),To=function(){function s(e,t,r){this.keyData=void 0,this.decrypter=void 0,this.keyData=r,this.decrypter=new hi(t,{removePKCS7Padding:!1})}var n=s.prototype;return n.decryptBuffer=function(e){return this.decrypter.decrypt(e,this.keyData.key.buffer,this.keyData.iv.buffer)},n.decryptAacSample=function(e,t,r){var i=this,a=e[t].unit;if(!(a.length<=16)){var o=a.subarray(16,a.length-a.length%16),l=o.buffer.slice(o.byteOffset,o.byteOffset+o.length);this.decryptBuffer(l).then(function(h){var u=new Uint8Array(h);a.set(u,16),i.decrypter.isSync()||i.decryptAacSamples(e,t+1,r)})}},n.decryptAacSamples=function(e,t,r){for(;;t++){if(t>=e.length)return void r();if(!(e[t].unit.length<32||(this.decryptAacSample(e,t,r),this.decrypter.isSync())))return}},n.getAvcEncryptedData=function(e){for(var t=16*Math.floor((e.length-48)/160)+16,r=new Int8Array(t),i=0,a=32;a<e.length-16;a+=160,i+=16)r.set(e.subarray(a,a+16),i);return r},n.getAvcDecryptedUnit=function(e,t){for(var r=new Uint8Array(t),i=0,a=32;a<e.length-16;a+=160,i+=16)e.set(r.subarray(i,i+16),a);return e},n.decryptAvcSample=function(e,t,r,i,a){var o=this,l=fn(a.data),h=this.getAvcEncryptedData(l);this.decryptBuffer(h.buffer).then(function(u){a.data=o.getAvcDecryptedUnit(l,u),o.decrypter.isSync()||o.decryptAvcSamples(e,t,r+1,i)})},n.decryptAvcSamples=function(e,t,r,i){if(e instanceof Uint8Array)throw new Error("Cannot decrypt samples of type Uint8Array");for(;;t++,r=0){if(t>=e.length)return void i();for(var a=e[t].units;!(r>=a.length);r++){var o=a[r];if(!(o.data.length<=48||o.type!==1&&o.type!==5||(this.decryptAvcSample(e,t,r,i,o),this.decrypter.isSync())))return}}},s}(),Ae=188,So=function(){function s(e,t,r){this.observer=void 0,this.config=void 0,this.typeSupported=void 0,this.sampleAes=null,this.pmtParsed=!1,this.audioCodec=void 0,this.videoCodec=void 0,this._duration=0,this._pmtId=-1,this._videoTrack=void 0,this._audioTrack=void 0,this._id3Track=void 0,this._txtTrack=void 0,this.aacOverFlow=null,this.remainderData=null,this.videoParser=void 0,this.observer=e,this.config=t,this.typeSupported=r,this.videoParser=new Eo}s.probe=function(e){var t=s.syncOffset(e);return t>0&&b.warn("MPEG2-TS detected but first sync word found @ offset "+t),t!==-1},s.syncOffset=function(e){for(var t=e.length,r=Math.min(940,t-Ae)+1,i=0;i<r;){for(var a=!1,o=-1,l=0,h=i;h<t;h+=Ae){if(e[h]!==71||t-h!==Ae&&e[h+Ae]!==71){if(l)return-1;break}if(l++,o===-1&&(o=h)!==0&&(r=Math.min(o+18612,e.length-Ae)+1),a||(a=mi(e,h)===0),a&&l>1&&(o===0&&l>2||h+Ae>r))return o}i++}return-1},s.createTrack=function(e,t){return{container:e==="video"||e==="audio"?"video/mp2t":void 0,type:e,id:an[e],pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0,duration:e==="audio"?t:void 0}};var n=s.prototype;return n.resetInitSegment=function(e,t,r,i){this.pmtParsed=!1,this._pmtId=-1,this._videoTrack=s.createTrack("video"),this._audioTrack=s.createTrack("audio",i),this._id3Track=s.createTrack("id3"),this._txtTrack=s.createTrack("text"),this._audioTrack.segmentCodec="aac",this.aacOverFlow=null,this.remainderData=null,this.audioCodec=t,this.videoCodec=r,this._duration=i},n.resetTimeStamp=function(){},n.resetContiguity=function(){var e=this._audioTrack,t=this._videoTrack,r=this._id3Track;e&&(e.pesData=null),t&&(t.pesData=null),r&&(r.pesData=null),this.aacOverFlow=null,this.remainderData=null},n.demux=function(e,t,r,i){var a;r===void 0&&(r=!1),i===void 0&&(i=!1),r||(this.sampleAes=null);var o=this._videoTrack,l=this._audioTrack,h=this._id3Track,u=this._txtTrack,d=o.pid,c=o.pesData,f=l.pid,g=h.pid,m=l.pesData,E=h.pesData,v=null,y=this.pmtParsed,T=this._pmtId,S=e.length;if(this.remainderData&&(S=(e=Fe(this.remainderData,e)).length,this.remainderData=null),S<Ae&&!i)return this.remainderData=e,{audioTrack:l,videoTrack:o,id3Track:h,textTrack:u};var A=Math.max(0,s.syncOffset(e));(S-=(S-A)%Ae)<e.byteLength&&!i&&(this.remainderData=new Uint8Array(e.buffer,S,e.buffer.byteLength-S));for(var R=0,L=A;L<S;L+=Ae)if(e[L]===71){var D=!!(64&e[L+1]),k=mi(e,L),I=void 0;if((48&e[L+3])>>4>1){if((I=L+5+e[L+4])===L+Ae)continue}else I=L+4;switch(k){case d:D&&(c&&(a=wt(c))&&this.videoParser.parseAVCPES(o,u,a,!1,this._duration),c={data:[],size:0}),c&&(c.data.push(e.subarray(I,L+Ae)),c.size+=L+Ae-I);break;case f:if(D){if(m&&(a=wt(m)))switch(l.segmentCodec){case"aac":this.parseAACPES(l,a);break;case"mp3":this.parseMPEGPES(l,a);break;case"ac3":this.parseAC3PES(l,a)}m={data:[],size:0}}m&&(m.data.push(e.subarray(I,L+Ae)),m.size+=L+Ae-I);break;case g:D&&(E&&(a=wt(E))&&this.parseID3PES(h,a),E={data:[],size:0}),E&&(E.data.push(e.subarray(I,L+Ae)),E.size+=L+Ae-I);break;case 0:D&&(I+=e[I]+1),T=this._pmtId=Lo(e,I);break;case T:D&&(I+=e[I]+1);var C=Ao(e,I,this.typeSupported,r,this.observer);(d=C.videoPid)>0&&(o.pid=d,o.segmentCodec=C.segmentVideoCodec),(f=C.audioPid)>0&&(l.pid=f,l.segmentCodec=C.segmentAudioCodec),(g=C.id3Pid)>0&&(h.pid=g),v===null||y||(b.warn("MPEG-TS PMT found at "+L+" after unknown PID '"+v+"'. Backtracking to sync byte @"+A+" to parse all TS packets."),v=null,L=A-188),y=this.pmtParsed=!0;break;case 17:case 8191:break;default:v=k}}else R++;R>0&&Er(this.observer,new Error("Found "+R+" TS packet/s that do not start with 0x47")),o.pesData=c,l.pesData=m,h.pesData=E;var _={audioTrack:l,videoTrack:o,id3Track:h,textTrack:u};return i&&this.extractRemainingSamples(_),_},n.flush=function(){var e,t=this.remainderData;return this.remainderData=null,e=t?this.demux(t,-1,!1,!0):{videoTrack:this._videoTrack,audioTrack:this._audioTrack,id3Track:this._id3Track,textTrack:this._txtTrack},this.extractRemainingSamples(e),this.sampleAes?this.decrypt(e,this.sampleAes):e},n.extractRemainingSamples=function(e){var t,r=e.audioTrack,i=e.videoTrack,a=e.id3Track,o=e.textTrack,l=i.pesData,h=r.pesData,u=a.pesData;if(l&&(t=wt(l))?(this.videoParser.parseAVCPES(i,o,t,!0,this._duration),i.pesData=null):i.pesData=l,h&&(t=wt(h))){switch(r.segmentCodec){case"aac":this.parseAACPES(r,t);break;case"mp3":this.parseMPEGPES(r,t);break;case"ac3":this.parseAC3PES(r,t)}r.pesData=null}else h!=null&&h.size&&b.log("last AAC PES packet truncated,might overlap between fragments"),r.pesData=h;u&&(t=wt(u))?(this.parseID3PES(a,t),a.pesData=null):a.pesData=u},n.demuxSampleAes=function(e,t,r){var i=this.demux(e,r,!0,!this.config.progressive),a=this.sampleAes=new To(this.observer,this.config,t);return this.decrypt(i,a)},n.decrypt=function(e,t){return new Promise(function(r){var i=e.audioTrack,a=e.videoTrack;i.samples&&i.segmentCodec==="aac"?t.decryptAacSamples(i.samples,0,function(){a.samples?t.decryptAvcSamples(a.samples,0,0,function(){r(e)}):r(e)}):a.samples&&t.decryptAvcSamples(a.samples,0,0,function(){r(e)})})},n.destroy=function(){this._duration=0},n.parseAACPES=function(e,t){var r,i,a,o=0,l=this.aacOverFlow,h=t.data;if(l){this.aacOverFlow=null;var u=l.missing,d=l.sample.unit.byteLength;if(u===-1)h=Fe(l.sample.unit,h);else{var c=d-u;l.sample.unit.set(h.subarray(0,u),c),e.samples.push(l.sample),o=l.missing}}for(r=o,i=h.length;r<i-1&&!pr(h,r);r++);if(r!==o){var f,g=r<i-1;if(f=g?"AAC PES did not start with ADTS header,offset:"+r:"No ADTS header found in AAC PES",Er(this.observer,new Error(f),g),!g)return}if(na(e,this.observer,h,r,this.audioCodec),t.pts!==void 0)a=t.pts;else{if(!l)return void b.warn("[tsdemuxer]: AAC PES unknown PTS");var m=aa(e.samplerate);a=l.sample.pts+m}for(var E,v=0;r<i;){if(r+=(E=sa(e,h,r,a,v)).length,E.missing){this.aacOverFlow=E;break}for(v++;r<i-1&&!pr(h,r);r++);}},n.parseMPEGPES=function(e,t){var r=t.data,i=r.length,a=0,o=0,l=t.pts;if(l!==void 0)for(;o<i;)if(ua(r,o)){var h=oa(e,r,o,l,a);if(!h)break;o+=h.length,a++}else o++;else b.warn("[tsdemuxer]: MPEG PES unknown PTS")},n.parseAC3PES=function(e,t){var r=t.data,i=t.pts;if(i!==void 0)for(var a,o=r.length,l=0,h=0;h<o&&(a=ca(e,r,h,i,l++))>0;)h+=a;else b.warn("[tsdemuxer]: AC3 PES unknown PTS")},n.parseID3PES=function(e,t){if(t.pts!==void 0){var r=ge({},t,{type:this._videoTrack?Kt:Gt,duration:Number.POSITIVE_INFINITY});e.samples.push(r)}else b.warn("[tsdemuxer]: ID3 PES unknown PTS")},s}();function mi(s,n){return((31&s[n+1])<<8)+s[n+2]}function Lo(s,n){return(31&s[n+10])<<8|s[n+11]}function Ao(s,n,e,t,r){var i={audioPid:-1,videoPid:-1,id3Pid:-1,segmentVideoCodec:"avc",segmentAudioCodec:"aac"},a=n+3+((15&s[n+1])<<8|s[n+2])-4;for(n+=12+((15&s[n+10])<<8|s[n+11]);n<a;){var o=mi(s,n),l=(15&s[n+3])<<8|s[n+4];switch(s[n]){case 207:if(!t){pi("ADTS AAC");break}case 15:i.audioPid===-1&&(i.audioPid=o);break;case 21:i.id3Pid===-1&&(i.id3Pid=o);break;case 219:if(!t){pi("H.264");break}case 27:i.videoPid===-1&&(i.videoPid=o,i.segmentVideoCodec="avc");break;case 3:case 4:e.mpeg||e.mp3?i.audioPid===-1&&(i.audioPid=o,i.segmentAudioCodec="mp3"):b.log("MPEG audio found, not supported in this browser");break;case 193:if(!t){pi("AC-3");break}case 129:e.ac3?i.audioPid===-1&&(i.audioPid=o,i.segmentAudioCodec="ac3"):b.log("AC-3 audio found, not supported in this browser");break;case 6:if(i.audioPid===-1&&l>0)for(var h=n+5,u=l;u>2;){s[h]===106&&(e.ac3!==!0?b.log("AC-3 audio found, not supported in this browser for now"):(i.audioPid=o,i.segmentAudioCodec="ac3"));var d=s[h+1]+2;h+=d,u-=d}break;case 194:case 135:return Er(r,new Error("Unsupported EC-3 in M2TS found")),i;case 36:return Er(r,new Error("Unsupported HEVC in M2TS found")),i}n+=l+5}return i}function Er(s,n,e){b.warn("parsing error: "+n.message),s.emit(p.ERROR,p.ERROR,{type:K.MEDIA_ERROR,details:w.FRAG_PARSING_ERROR,fatal:!1,levelRetry:e,error:n,reason:n.message})}function pi(s){b.log(s+" with AES-128-CBC encryption found in unencrypted stream")}function wt(s){var n,e,t,r,i,a=0,o=s.data;if(!s||s.size===0)return null;for(;o[0].length<19&&o.length>1;)o[0]=Fe(o[0],o[1]),o.splice(1,1);if(((n=o[0])[0]<<16)+(n[1]<<8)+n[2]===1){if((e=(n[4]<<8)+n[5])&&e>s.size-6)return null;var l=n[7];192&l&&(r=536870912*(14&n[9])+4194304*(255&n[10])+16384*(254&n[11])+128*(255&n[12])+(254&n[13])/2,64&l?r-(i=536870912*(14&n[14])+4194304*(255&n[15])+16384*(254&n[16])+128*(255&n[17])+(254&n[18])/2)>54e5&&(b.warn(Math.round((r-i)/9e4)+"s delta between PTS and DTS, align them"),r=i):i=r);var h=(t=n[8])+9;if(s.size<=h)return null;s.size-=h;for(var u=new Uint8Array(s.size),d=0,c=o.length;d<c;d++){var f=(n=o[d]).byteLength;if(h){if(h>f){h-=f;continue}n=n.subarray(h),f-=h,h=0}u.set(n,a),a+=f}return e&&(e-=t+3),{data:u,pts:r,dts:i,len:e}}return null}var Ro=function(s){function n(){return s.apply(this,arguments)||this}Le(n,s);var e=n.prototype;return e.resetInitSegment=function(t,r,i,a){s.prototype.resetInitSegment.call(this,t,r,i,a),this._audioTrack={container:"audio/mpeg",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"mp3",samples:[],manifestCodec:r,duration:a,inputTimeScale:9e4,dropped:0}},n.probe=function(t){if(!t)return!1;var r=Nt(t,0),i=(r==null?void 0:r.length)||0;if(r&&t[i]===11&&t[i+1]===119&&Yr(r)!==void 0&&da(t,i)<=16)return!1;for(var a=t.length;i<a;i++)if(ha(t,i))return b.log("MPEG Audio sync word found !"),!0;return!1},e.canParse=function(t,r){return function(i,a){return vi(i,a)&&4<=i.length-a}(t,r)},e.appendFrame=function(t,r,i){if(this.basePTS!==null)return oa(t,r,i,this.basePTS,this.frameIndex)},n}(fi),ga=function(){function s(){}return s.getSilentFrame=function(n,e){if(n==="mp4a.40.2"){if(e===1)return new Uint8Array([0,200,0,128,35,128]);if(e===2)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(e===3)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(e===4)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(e===5)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);if(e===6)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224])}else{if(e===1)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(e===2)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(e===3)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94])}},s}(),it=Math.pow(2,32)-1,Se=function(){function s(){}return s.init=function(){var n;for(n in s.types={avc1:[],avcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],".mp3":[],dac3:[],"ac-3":[],mvex:[],mvhd:[],pasp:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[]},s.types)s.types.hasOwnProperty(n)&&(s.types[n]=[n.charCodeAt(0),n.charCodeAt(1),n.charCodeAt(2),n.charCodeAt(3)]);var e=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),t=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]);s.HDLR_TYPES={video:e,audio:t};var r=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),i=new Uint8Array([0,0,0,0,0,0,0,0]);s.STTS=s.STSC=s.STCO=i,s.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),s.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0]),s.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),s.STSD=new Uint8Array([0,0,0,0,0,0,0,1]);var a=new Uint8Array([105,115,111,109]),o=new Uint8Array([97,118,99,49]),l=new Uint8Array([0,0,0,1]);s.FTYP=s.box(s.types.ftyp,a,l,a,o),s.DINF=s.box(s.types.dinf,s.box(s.types.dref,r))},s.box=function(n){for(var e=8,t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];for(var a=r.length,o=a;a--;)e+=r[a].byteLength;var l=new Uint8Array(e);for(l[0]=e>>24&255,l[1]=e>>16&255,l[2]=e>>8&255,l[3]=255&e,l.set(n,4),a=0,e=8;a<o;a++)l.set(r[a],e),e+=r[a].byteLength;return l},s.hdlr=function(n){return s.box(s.types.hdlr,s.HDLR_TYPES[n])},s.mdat=function(n){return s.box(s.types.mdat,n)},s.mdhd=function(n,e){e*=n;var t=Math.floor(e/(it+1)),r=Math.floor(e%(it+1));return s.box(s.types.mdhd,new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,n>>24&255,n>>16&255,n>>8&255,255&n,t>>24,t>>16&255,t>>8&255,255&t,r>>24,r>>16&255,r>>8&255,255&r,85,196,0,0]))},s.mdia=function(n){return s.box(s.types.mdia,s.mdhd(n.timescale,n.duration),s.hdlr(n.type),s.minf(n))},s.mfhd=function(n){return s.box(s.types.mfhd,new Uint8Array([0,0,0,0,n>>24,n>>16&255,n>>8&255,255&n]))},s.minf=function(n){return n.type==="audio"?s.box(s.types.minf,s.box(s.types.smhd,s.SMHD),s.DINF,s.stbl(n)):s.box(s.types.minf,s.box(s.types.vmhd,s.VMHD),s.DINF,s.stbl(n))},s.moof=function(n,e,t){return s.box(s.types.moof,s.mfhd(n),s.traf(t,e))},s.moov=function(n){for(var e=n.length,t=[];e--;)t[e]=s.trak(n[e]);return s.box.apply(null,[s.types.moov,s.mvhd(n[0].timescale,n[0].duration)].concat(t).concat(s.mvex(n)))},s.mvex=function(n){for(var e=n.length,t=[];e--;)t[e]=s.trex(n[e]);return s.box.apply(null,[s.types.mvex].concat(t))},s.mvhd=function(n,e){e*=n;var t=Math.floor(e/(it+1)),r=Math.floor(e%(it+1)),i=new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,n>>24&255,n>>16&255,n>>8&255,255&n,t>>24,t>>16&255,t>>8&255,255&t,r>>24,r>>16&255,r>>8&255,255&r,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]);return s.box(s.types.mvhd,i)},s.sdtp=function(n){var e,t,r=n.samples||[],i=new Uint8Array(4+r.length);for(e=0;e<r.length;e++)t=r[e].flags,i[e+4]=t.dependsOn<<4|t.isDependedOn<<2|t.hasRedundancy;return s.box(s.types.sdtp,i)},s.stbl=function(n){return s.box(s.types.stbl,s.stsd(n),s.box(s.types.stts,s.STTS),s.box(s.types.stsc,s.STSC),s.box(s.types.stsz,s.STSZ),s.box(s.types.stco,s.STCO))},s.avc1=function(n){var e,t,r,i=[],a=[];for(e=0;e<n.sps.length;e++)r=(t=n.sps[e]).byteLength,i.push(r>>>8&255),i.push(255&r),i=i.concat(Array.prototype.slice.call(t));for(e=0;e<n.pps.length;e++)r=(t=n.pps[e]).byteLength,a.push(r>>>8&255),a.push(255&r),a=a.concat(Array.prototype.slice.call(t));var o=s.box(s.types.avcC,new Uint8Array([1,i[3],i[4],i[5],255,224|n.sps.length].concat(i).concat([n.pps.length]).concat(a))),l=n.width,h=n.height,u=n.pixelRatio[0],d=n.pixelRatio[1];return s.box(s.types.avc1,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,l>>8&255,255&l,h>>8&255,255&h,0,72,0,0,0,72,0,0,0,0,0,0,0,1,18,100,97,105,108,121,109,111,116,105,111,110,47,104,108,115,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),o,s.box(s.types.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])),s.box(s.types.pasp,new Uint8Array([u>>24,u>>16&255,u>>8&255,255&u,d>>24,d>>16&255,d>>8&255,255&d])))},s.esds=function(n){var e=n.config.length;return new Uint8Array([0,0,0,0,3,23+e,0,1,0,4,15+e,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([e]).concat(n.config).concat([6,1,2]))},s.audioStsd=function(n){var e=n.samplerate;return new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,n.channelCount,0,16,0,0,0,0,e>>8&255,255&e,0,0])},s.mp4a=function(n){return s.box(s.types.mp4a,s.audioStsd(n),s.box(s.types.esds,s.esds(n)))},s.mp3=function(n){return s.box(s.types[".mp3"],s.audioStsd(n))},s.ac3=function(n){return s.box(s.types["ac-3"],s.audioStsd(n),s.box(s.types.dac3,n.config))},s.stsd=function(n){return n.type==="audio"?n.segmentCodec==="mp3"&&n.codec==="mp3"?s.box(s.types.stsd,s.STSD,s.mp3(n)):n.segmentCodec==="ac3"?s.box(s.types.stsd,s.STSD,s.ac3(n)):s.box(s.types.stsd,s.STSD,s.mp4a(n)):s.box(s.types.stsd,s.STSD,s.avc1(n))},s.tkhd=function(n){var e=n.id,t=n.duration*n.timescale,r=n.width,i=n.height,a=Math.floor(t/(it+1)),o=Math.floor(t%(it+1));return s.box(s.types.tkhd,new Uint8Array([1,0,0,7,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,e>>24&255,e>>16&255,e>>8&255,255&e,0,0,0,0,a>>24,a>>16&255,a>>8&255,255&a,o>>24,o>>16&255,o>>8&255,255&o,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,r>>8&255,255&r,0,0,i>>8&255,255&i,0,0]))},s.traf=function(n,e){var t=s.sdtp(n),r=n.id,i=Math.floor(e/(it+1)),a=Math.floor(e%(it+1));return s.box(s.types.traf,s.box(s.types.tfhd,new Uint8Array([0,0,0,0,r>>24,r>>16&255,r>>8&255,255&r])),s.box(s.types.tfdt,new Uint8Array([1,0,0,0,i>>24,i>>16&255,i>>8&255,255&i,a>>24,a>>16&255,a>>8&255,255&a])),s.trun(n,t.length+16+20+8+16+8+8),t)},s.trak=function(n){return n.duration=n.duration||4294967295,s.box(s.types.trak,s.tkhd(n),s.mdia(n))},s.trex=function(n){var e=n.id;return s.box(s.types.trex,new Uint8Array([0,0,0,0,e>>24,e>>16&255,e>>8&255,255&e,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]))},s.trun=function(n,e){var t,r,i,a,o,l,h=n.samples||[],u=h.length,d=12+16*u,c=new Uint8Array(d);for(e+=8+d,c.set([n.type==="video"?1:0,0,15,1,u>>>24&255,u>>>16&255,u>>>8&255,255&u,e>>>24&255,e>>>16&255,e>>>8&255,255&e],0),t=0;t<u;t++)i=(r=h[t]).duration,a=r.size,o=r.flags,l=r.cts,c.set([i>>>24&255,i>>>16&255,i>>>8&255,255&i,a>>>24&255,a>>>16&255,a>>>8&255,255&a,o.isLeading<<2|o.dependsOn,o.isDependedOn<<6|o.hasRedundancy<<4|o.paddingValue<<1|o.isNonSync,61440&o.degradPrio,15&o.degradPrio,l>>>24&255,l>>>16&255,l>>>8&255,255&l],12+16*t);return s.box(s.types.trun,c)},s.initSegment=function(n){s.types||s.init();var e=s.moov(n);return Fe(s.FTYP,e)},s}();Se.types=void 0,Se.HDLR_TYPES=void 0,Se.STTS=void 0,Se.STSC=void 0,Se.STCO=void 0,Se.STSZ=void 0,Se.VMHD=void 0,Se.SMHD=void 0,Se.STSD=void 0,Se.FTYP=void 0,Se.DINF=void 0;var va=9e4;function yi(s,n,e,t){e===void 0&&(e=1),t===void 0&&(t=!1);var r=s*n*e;return t?Math.round(r):r}function qt(s,n){return yi(s,1e3,1/va,n)}var It=null,Ei=null,Tr=function(){function s(e,t,r,i){if(this.observer=void 0,this.config=void 0,this.typeSupported=void 0,this.ISGenerated=!1,this._initPTS=null,this._initDTS=null,this.nextAvcDts=null,this.nextAudioPts=null,this.videoSampleDuration=null,this.isAudioContiguous=!1,this.isVideoContiguous=!1,this.videoTrackConfig=void 0,this.observer=e,this.config=t,this.typeSupported=r,this.ISGenerated=!1,It===null){var a=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);It=a?parseInt(a[1]):0}if(Ei===null){var o=navigator.userAgent.match(/Safari\/(\d+)/i);Ei=o?parseInt(o[1]):0}}var n=s.prototype;return n.destroy=function(){this.config=this.videoTrackConfig=this._initPTS=this._initDTS=null},n.resetTimeStamp=function(e){b.log("[mp4-remuxer]: initPTS & initDTS reset"),this._initPTS=this._initDTS=e},n.resetNextTimestamp=function(){b.log("[mp4-remuxer]: reset next timestamp"),this.isVideoContiguous=!1,this.isAudioContiguous=!1},n.resetInitSegment=function(){b.log("[mp4-remuxer]: ISGenerated flag reset"),this.ISGenerated=!1,this.videoTrackConfig=void 0},n.getVideoStartPts=function(e){var t=!1,r=e.reduce(function(i,a){var o=a.pts-i;return o<-4294967296?(t=!0,Ne(i,a.pts)):o>0?i:a.pts},e[0].pts);return t&&b.debug("PTS rollover detected"),r},n.remux=function(e,t,r,i,a,o,l,h){var u,d,c,f,g,m,E=a,v=a,y=e.pid>-1,T=t.pid>-1,S=t.samples.length,A=e.samples.length>0,R=l&&S>0||S>1;if((!y||A)&&(!T||R)||this.ISGenerated||l){if(this.ISGenerated){var L,D,k,I,C=this.videoTrackConfig;!C||t.width===C.width&&t.height===C.height&&((L=t.pixelRatio)==null?void 0:L[0])===((D=C.pixelRatio)==null?void 0:D[0])&&((k=t.pixelRatio)==null?void 0:k[1])===((I=C.pixelRatio)==null?void 0:I[1])||this.resetInitSegment()}else c=this.generateIS(e,t,a,o);var _,x=this.isVideoContiguous,F=-1;if(R&&(F=function(B){for(var G=0;G<B.length;G++)if(B[G].key)return G;return-1}(t.samples),!x&&this.config.forceKeyFrameOnDiscontinuity))if(m=!0,F>0){b.warn("[mp4-remuxer]: Dropped "+F+" out of "+S+" video samples due to a missing keyframe");var M=this.getVideoStartPts(t.samples);t.samples=t.samples.slice(F),t.dropped+=F,_=v+=(t.samples[0].pts-M)/t.inputTimeScale}else F===-1&&(b.warn("[mp4-remuxer]: No keyframe found out of "+S+" video samples"),m=!1);if(this.ISGenerated){if(A&&R){var U=this.getVideoStartPts(t.samples),P=(Ne(e.samples[0].pts,U)-U)/t.inputTimeScale;E+=Math.max(0,P),v+=Math.max(0,-P)}if(A){if(e.samplerate||(b.warn("[mp4-remuxer]: regenerate InitSegment as audio detected"),c=this.generateIS(e,t,a,o)),d=this.remuxAudio(e,E,this.isAudioContiguous,o,T||R||h===Me?v:void 0),R){var O=d?d.endPTS-d.startPTS:0;t.inputTimeScale||(b.warn("[mp4-remuxer]: regenerate InitSegment as video detected"),c=this.generateIS(e,t,a,o)),u=this.remuxVideo(t,v,x,O)}}else R&&(u=this.remuxVideo(t,v,x,0));u&&(u.firstKeyFrame=F,u.independent=F!==-1,u.firstKeyFramePTS=_)}}return this.ISGenerated&&this._initPTS&&this._initDTS&&(r.samples.length&&(g=ma(r,a,this._initPTS,this._initDTS)),i.samples.length&&(f=pa(i,a,this._initPTS))),{audio:d,video:u,initSegment:c,independent:m,text:f,id3:g}},n.generateIS=function(e,t,r,i){var a,o,l,h=e.samples,u=t.samples,d=this.typeSupported,c={},f=this._initPTS,g=!f||i,m="audio/mp4";if(g&&(a=o=1/0),e.config&&h.length){switch(e.timescale=e.samplerate,e.segmentCodec){case"mp3":d.mpeg?(m="audio/mpeg",e.codec=""):d.mp3&&(e.codec="mp3");break;case"ac3":e.codec="ac-3"}c.audio={id:"audio",container:m,codec:e.codec,initSegment:e.segmentCodec==="mp3"&&d.mpeg?new Uint8Array(0):Se.initSegment([e]),metadata:{channelCount:e.channelCount}},g&&(l=e.inputTimeScale,f&&l===f.timescale?g=!1:a=o=h[0].pts-Math.round(l*r))}if(t.sps&&t.pps&&u.length){if(t.timescale=t.inputTimeScale,c.video={id:"main",container:"video/mp4",codec:t.codec,initSegment:Se.initSegment([t]),metadata:{width:t.width,height:t.height}},g)if(l=t.inputTimeScale,f&&l===f.timescale)g=!1;else{var E=this.getVideoStartPts(u),v=Math.round(l*r);o=Math.min(o,Ne(u[0].dts,E)-v),a=Math.min(a,E-v)}this.videoTrackConfig={width:t.width,height:t.height,pixelRatio:t.pixelRatio}}if(Object.keys(c).length)return this.ISGenerated=!0,g?(this._initPTS={baseTime:a,timescale:l},this._initDTS={baseTime:o,timescale:l}):a=l=void 0,{tracks:c,initPTS:a,timescale:l}},n.remuxVideo=function(e,t,r,i){var a,o,l=e.inputTimeScale,h=e.samples,u=[],d=h.length,c=this._initPTS,f=this.nextAvcDts,g=8,m=this.videoSampleDuration,E=Number.POSITIVE_INFINITY,v=Number.NEGATIVE_INFINITY,y=!1;if(!r||f===null){var T=t*l,S=h[0].pts-Ne(h[0].dts,h[0].pts);It&&f!==null&&Math.abs(T-S-f)<15e3?r=!0:f=T-S}for(var A=c.baseTime*l/c.timescale,R=0;R<d;R++){var L=h[R];L.pts=Ne(L.pts-A,f),L.dts=Ne(L.dts-A,f),L.dts<h[R>0?R-1:R].dts&&(y=!0)}y&&h.sort(function(Ir,ss){var Pl=Ir.dts-ss.dts,Fl=Ir.pts-ss.pts;return Pl||Fl}),a=h[0].dts;var D=(o=h[h.length-1].dts)-a,k=D?Math.round(D/(d-1)):m||e.inputTimeScale/30;if(r){var I=a-f,C=I>k,_=I<-1;if((C||_)&&(C?b.warn("AVC: "+qt(I,!0)+" ms ("+I+"dts) hole between fragments detected at "+t.toFixed(3)):b.warn("AVC: "+qt(-I,!0)+" ms ("+I+"dts) overlapping between fragments detected at "+t.toFixed(3)),!_||f>=h[0].pts||It)){a=f;var x=h[0].pts-I;if(C)h[0].dts=a,h[0].pts=x;else for(var F=0;F<h.length&&!(h[F].dts>x);F++)h[F].dts-=I,h[F].pts-=I;b.log("Video: Initial PTS/DTS adjusted: "+qt(x,!0)+"/"+qt(a,!0)+", delta: "+qt(I,!0)+" ms")}}for(var M=0,U=0,P=a=Math.max(0,a),O=0;O<d;O++){for(var B=h[O],G=B.units,V=G.length,Q=0,oe=0;oe<V;oe++)Q+=G[oe].data.length;U+=Q,M+=V,B.length=Q,B.dts<P?(B.dts=P,P+=k/4|0||1):P=B.dts,E=Math.min(B.pts,E),v=Math.max(B.pts,v)}o=h[d-1].dts;var ee,ce=U+4*M+8;try{ee=new Uint8Array(ce)}catch(Ir){return void this.observer.emit(p.ERROR,p.ERROR,{type:K.MUX_ERROR,details:w.REMUX_ALLOC_ERROR,fatal:!1,error:Ir,bytes:ce,reason:"fail allocating video mdat "+ce})}var ae=new DataView(ee.buffer);ae.setUint32(0,ce),ee.set(Se.types.mdat,4);for(var te=!1,Y=Number.POSITIVE_INFINITY,z=Number.POSITIVE_INFINITY,j=Number.NEGATIVE_INFINITY,re=Number.NEGATIVE_INFINITY,W=0;W<d;W++){for(var ne=h[W],J=ne.units,De=0,be=0,$=J.length;be<$;be++){var he=J[be],ve=he.data,ke=he.data.byteLength;ae.setUint32(g,ke),g+=4,ee.set(ve,g),g+=ke,De+=4+ke}var _e=void 0;if(W<d-1)m=h[W+1].dts-ne.dts,_e=h[W+1].pts-ne.pts;else{var Ee=this.config,Ce=W>0?ne.dts-h[W-1].dts:k;if(_e=W>0?ne.pts-h[W-1].pts:k,Ee.stretchShortVideoTrack&&this.nextAudioPts!==null){var zt=Math.floor(Ee.maxBufferHole*l),nt=(i?E+i*l:this.nextAudioPts)-ne.pts;nt>zt?((m=nt-Ce)<0?m=Ce:te=!0,b.log("[mp4-remuxer]: It is approximately "+nt/90+" ms to the next segment; using duration "+m/90+" ms for the last video frame.")):m=Ce}else m=Ce}var _t=Math.round(ne.pts-ne.dts);Y=Math.min(Y,m),j=Math.max(j,m),z=Math.min(z,_e),re=Math.max(re,_e),u.push(new ya(ne.key,m,De,_t))}if(u.length){if(It){if(It<70){var et=u[0].flags;et.dependsOn=2,et.isNonSync=0}}else if(Ei&&re-z<j-Y&&k/j<.025&&u[0].cts===0){b.warn("Found irregular gaps in sample duration. Using PTS instead of DTS to determine MP4 sample duration.");for(var xe=a,Te=0,ie=u.length;Te<ie;Te++){var le=xe+u[Te].duration,pe=xe+u[Te].cts;if(Te<ie-1){var Ki=le+u[Te+1].cts;u[Te].duration=Ki-pe}else u[Te].duration=Te?u[Te-1].duration:k;u[Te].cts=0,xe=le}}}m=te||!m?k:m,this.nextAvcDts=f=o+m,this.videoSampleDuration=m,this.isVideoContiguous=!0;var xl={data1:Se.moof(e.sequenceNumber++,a,ge({},e,{samples:u})),data2:ee,startPTS:E/l,endPTS:(v+m)/l,startDTS:a/l,endDTS:f/l,type:"video",hasAudio:!1,hasVideo:!0,nb:u.length,dropped:e.dropped};return e.samples=[],e.dropped=0,xl},n.getSamplesPerFrame=function(e){switch(e.segmentCodec){case"mp3":return 1152;case"ac3":return 1536;default:return 1024}},n.remuxAudio=function(e,t,r,i,a){var o=e.inputTimeScale,l=o/(e.samplerate?e.samplerate:o),h=this.getSamplesPerFrame(e),u=h*l,d=this._initPTS,c=e.segmentCodec==="mp3"&&this.typeSupported.mpeg,f=[],g=a!==void 0,m=e.samples,E=c?0:8,v=this.nextAudioPts||-1,y=t*o,T=d.baseTime*o/d.timescale;if(this.isAudioContiguous=r=r||m.length&&v>0&&(i&&Math.abs(y-v)<9e3||Math.abs(Ne(m[0].pts-T,y)-v)<20*u),m.forEach(function(W){W.pts=Ne(W.pts-T,y)}),!r||v<0){if(m=m.filter(function(W){return W.pts>=0}),!m.length)return;v=a===0?0:i&&!g?Math.max(0,y):m[0].pts}if(e.segmentCodec==="aac")for(var S=this.config.maxAudioFramesDrift,A=0,R=v;A<m.length;A++){var L=m[A],D=L.pts,k=D-R,I=Math.abs(1e3*k/o);if(k<=-S*u&&g)A===0&&(b.warn("Audio frame @ "+(D/o).toFixed(3)+"s overlaps nextAudioPts by "+Math.round(1e3*k/o)+" ms."),this.nextAudioPts=v=R=D);else if(k>=S*u&&I<1e4&&g){var C=Math.round(k/u);(R=D-C*u)<0&&(C--,R+=u),A===0&&(this.nextAudioPts=v=R),b.warn("[mp4-remuxer]: Injecting "+C+" audio frame @ "+(R/o).toFixed(3)+"s due to "+Math.round(1e3*k/o)+" ms gap.");for(var _=0;_<C;_++){var x=Math.max(R,0),F=ga.getSilentFrame(e.manifestCodec||e.codec,e.channelCount);F||(b.log("[mp4-remuxer]: Unable to get silent frame for given audio codec; duplicating last frame instead."),F=L.unit.subarray()),m.splice(A,0,{unit:F,pts:x}),R+=u,A++}}L.pts=R,R+=u}for(var M,U=null,P=null,O=0,B=m.length;B--;)O+=m[B].unit.byteLength;for(var G=0,V=m.length;G<V;G++){var Q=m[G],oe=Q.unit,ee=Q.pts;if(P!==null)f[G-1].duration=Math.round((ee-P)/l);else{if(r&&e.segmentCodec==="aac"&&(ee=v),U=ee,!(O>0))return;O+=E;try{M=new Uint8Array(O)}catch(W){return void this.observer.emit(p.ERROR,p.ERROR,{type:K.MUX_ERROR,details:w.REMUX_ALLOC_ERROR,fatal:!1,error:W,bytes:O,reason:"fail allocating audio mdat "+O})}c||(new DataView(M.buffer).setUint32(0,O),M.set(Se.types.mdat,4))}M.set(oe,E);var ce=oe.byteLength;E+=ce,f.push(new ya(!0,h,ce,0)),P=ee}var ae=f.length;if(ae){var te=f[f.length-1];this.nextAudioPts=v=P+l*te.duration;var Y=c?new Uint8Array(0):Se.moof(e.sequenceNumber++,U/l,ge({},e,{samples:f}));e.samples=[];var z=U/o,j=v/o,re={data1:Y,data2:M,startPTS:z,endPTS:j,startDTS:z,endDTS:j,type:"audio",hasAudio:!0,hasVideo:!1,nb:ae};return this.isAudioContiguous=!0,re}},n.remuxEmptyAudio=function(e,t,r,i){var a=e.inputTimeScale,o=a/(e.samplerate?e.samplerate:a),l=this.nextAudioPts,h=this._initDTS,u=9e4*h.baseTime/h.timescale,d=(l!==null?l:i.startDTS*a)+u,c=i.endDTS*a+u,f=1024*o,g=Math.ceil((c-d)/f),m=ga.getSilentFrame(e.manifestCodec||e.codec,e.channelCount);if(b.warn("[mp4-remuxer]: remux empty Audio"),m){for(var E=[],v=0;v<g;v++){var y=d+v*f;E.push({unit:m,pts:y,dts:y})}return e.samples=E,this.remuxAudio(e,t,r,!1)}b.trace("[mp4-remuxer]: Unable to remuxEmptyAudio since we were unable to get a silent frame for given audio codec")},s}();function Ne(s,n){var e;if(n===null)return s;for(e=n<s?-8589934592:8589934592;Math.abs(s-n)>4294967296;)s+=e;return s}function ma(s,n,e,t){var r=s.samples.length;if(r){for(var i=s.inputTimeScale,a=0;a<r;a++){var o=s.samples[a];o.pts=Ne(o.pts-e.baseTime*i/e.timescale,n*i)/i,o.dts=Ne(o.dts-t.baseTime*i/t.timescale,n*i)/i}var l=s.samples;return s.samples=[],{samples:l}}}function pa(s,n,e){var t=s.samples.length;if(t){for(var r=s.inputTimeScale,i=0;i<t;i++){var a=s.samples[i];a.pts=Ne(a.pts-e.baseTime*r/e.timescale,n*r)/r}s.samples.sort(function(l,h){return l.pts-h.pts});var o=s.samples;return s.samples=[],{samples:o}}}var $e,ya=function(s,n,e,t){this.size=void 0,this.duration=void 0,this.cts=void 0,this.flags=void 0,this.duration=n,this.size=e,this.cts=t,this.flags={isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:s?2:1,isNonSync:s?0:1}},bo=function(){function s(){this.emitInitSegment=!1,this.audioCodec=void 0,this.videoCodec=void 0,this.initData=void 0,this.initPTS=null,this.initTracks=void 0,this.lastEndTime=null}var n=s.prototype;return n.destroy=function(){},n.resetTimeStamp=function(e){this.initPTS=e,this.lastEndTime=null},n.resetNextTimestamp=function(){this.lastEndTime=null},n.resetInitSegment=function(e,t,r,i){this.audioCodec=t,this.videoCodec=r,this.generateInitSegment(function(a,o){if(!a||!o)return a;var l=o.keyId;return l&&o.isCommonEncryption&&q(a,["moov","trak"]).forEach(function(h){var u=q(h,["mdia","minf","stbl","stsd"])[0].subarray(8),d=q(u,["enca"]),c=d.length>0;c||(d=q(u,["encv"])),d.forEach(function(f){q(c?f.subarray(28):f.subarray(78),["sinf"]).forEach(function(g){var m=hn(g);if(m){var E=m.subarray(8,24);E.some(function(v){return v!==0})||(b.log("[eme] Patching keyId in 'enc"+(c?"a":"v")+">sinf>>tenc' box: "+Ke(E)+" -> "+Ke(l)),m.set(l,8))}})})}),a}(e,i)),this.emitInitSegment=!0},n.generateInitSegment=function(e){var t=this.audioCodec,r=this.videoCodec;if(e==null||!e.byteLength)return this.initTracks=void 0,void(this.initData=void 0);var i=this.initData=un(e);i.audio&&(t=Ea(i.audio,we)),i.video&&(r=Ea(i.video,Pe));var a={};i.audio&&i.video?a.audiovideo={container:"video/mp4",codec:t+","+r,initSegment:e,id:"main"}:i.audio?a.audio={container:"audio/mp4",codec:t,initSegment:e,id:"audio"}:i.video?a.video={container:"video/mp4",codec:r,initSegment:e,id:"main"}:b.warn("[passthrough-remuxer.ts]: initSegment does not contain moov or trak boxes."),this.initTracks=a},n.remux=function(e,t,r,i,a,o){var l,h,u=this.initPTS,d=this.lastEndTime,c={audio:void 0,video:void 0,text:i,id3:r,initSegment:void 0};N(d)||(d=this.lastEndTime=a||0);var f=t.samples;if(f==null||!f.length)return c;var g={initPTS:void 0,timescale:1},m=this.initData;if((l=m)!=null&&l.length||(this.generateInitSegment(f),m=this.initData),(h=m)==null||!h.length)return b.warn("[passthrough-remuxer.ts]: Failed to generate initSegment."),c;this.emitInitSegment&&(g.tracks=this.initTracks,this.emitInitSegment=!1);var E=function(k,I){for(var C=0,_=0,x=0,F=q(k,["moof","traf"]),M=0;M<F.length;M++){var U=F[M],P=q(U,["tfhd"])[0],O=I[H(P,4)];if(O){var B=O.default,G=H(P,0)|(B==null?void 0:B.flags),V=B==null?void 0:B.duration;8&G&&(V=H(P,2&G?12:8));for(var Q=O.timescale||9e4,oe=q(U,["trun"]),ee=0;ee<oe.length;ee++)!(C=Cs(oe[ee]))&&V&&(C=V*H(oe[ee],4)),O.type===Pe?_+=C/Q:O.type===we&&(x+=C/Q)}}if(_===0&&x===0){for(var ce=1/0,ae=0,te=0,Y=q(k,["sidx"]),z=0;z<Y.length;z++){var j=ws(Y[z]);if(j!=null&&j.references){ce=Math.min(ce,j.earliestPresentationTime/j.timescale);var re=j.references.reduce(function(W,ne){return W+ne.info.duration||0},0);te=(ae=Math.max(ae,re+j.earliestPresentationTime/j.timescale))-ce}}if(te&&N(te))return te}return _||x}(f,m),v=function(k,I){return q(I,["moof","traf"]).reduce(function(C,_){var x=q(_,["tfdt"])[0],F=x[0],M=q(_,["tfhd"]).reduce(function(U,P){var O=H(P,4),B=k[O];if(B){var G=H(x,4);if(F===1){if(G===er)return b.warn("[mp4-demuxer]: Ignoring assumed invalid signed 64-bit track fragment decode time"),U;G*=er+1,G+=H(x,8)}var V=G/(B.timescale||9e4);if(N(V)&&(U===null||V<U))return V}return U},null);return M!==null&&N(M)&&(C===null||M<C)?M:C},null)}(m,f),y=v===null?a:v;(function(k,I,C,_){if(k===null)return!0;var x=Math.max(_,1),F=I-k.baseTime/k.timescale;return Math.abs(F-C)>x}(u,y,a,E)||g.timescale!==u.timescale&&o)&&(g.initPTS=y-a,u&&u.timescale===1&&b.warn("Adjusting initPTS by "+(g.initPTS-u.baseTime)),this.initPTS=u={baseTime:g.initPTS,timescale:1});var T=e?y-u.baseTime/u.timescale:d,S=T+E;(function(k,I,C){q(I,["moof","traf"]).forEach(function(_){q(_,["tfhd"]).forEach(function(x){var F=H(x,4),M=k[F];if(M){var U=M.timescale||9e4;q(_,["tfdt"]).forEach(function(P){var O=P[0],B=C*U;if(B){var G=H(P,4);if(O===0)G-=B,Wr(P,4,G=Math.max(G,0));else{G*=Math.pow(2,32),G+=H(P,8),G-=B,G=Math.max(G,0);var V=Math.floor(G/(er+1)),Q=Math.floor(G%(er+1));Wr(P,4,V),Wr(P,8,Q)}}})}})})})(m,f,u.baseTime/u.timescale),E>0?this.lastEndTime=S:(b.warn("Duration parsed from mp4 should be greater than zero"),this.resetNextTimestamp());var A=!!m.audio,R=!!m.video,L="";A&&(L+="audio"),R&&(L+="video");var D={data1:f,startPTS:T,startDTS:T,endPTS:S,endDTS:S,type:L,hasAudio:A,hasVideo:R,nb:1,dropped:0};return c.audio=D.type==="audio"?D:void 0,c.video=D.type!=="audio"?D:void 0,c.initSegment=g,c.id3=ma(r,a,u,u),i.samples.length&&(c.text=pa(i,a,u)),c},s}();function Ea(s,n){var e=s==null?void 0:s.codec;if(e&&e.length>4)return e;if(n===we){if(e==="ec-3"||e==="ac-3"||e==="alac")return e;if(e==="fLaC"||e==="Opus")return ar(e,!1);var t="mp4a.40.5";return b.info('Parsed audio codec "'+e+'" or audio object type not handled. Using "'+t+'"'),t}return b.warn('Unhandled video codec "'+e+'"'),e==="hvc1"||e==="hev1"?"hvc1.1.6.L120.90":e==="av01"?"av01.0.04M.08":"avc1.42e01e"}try{$e=self.performance.now.bind(self.performance)}catch{b.debug("Unable to use Performance API on this environment"),$e=vt==null?void 0:vt.Date.now}var Sr=[{demux:mo,remux:bo},{demux:So,remux:Tr},{demux:go,remux:Tr},{demux:Ro,remux:Tr}];Sr.splice(2,0,{demux:po,remux:Tr});var Ti=function(){function s(e,t,r,i,a){this.async=!1,this.observer=void 0,this.typeSupported=void 0,this.config=void 0,this.vendor=void 0,this.id=void 0,this.demuxer=void 0,this.remuxer=void 0,this.decrypter=void 0,this.probe=void 0,this.decryptionPromise=null,this.transmuxConfig=void 0,this.currentTransmuxState=void 0,this.observer=e,this.typeSupported=t,this.config=r,this.vendor=i,this.id=a}var n=s.prototype;return n.configure=function(e){this.transmuxConfig=e,this.decrypter&&this.decrypter.reset()},n.push=function(e,t,r,i){var a=this,o=r.transmuxing;o.executeStart=$e();var l=new Uint8Array(e),h=this.currentTransmuxState,u=this.transmuxConfig;i&&(this.currentTransmuxState=i);var d=i||h,c=d.contiguous,f=d.discontinuity,g=d.trackSwitch,m=d.accurateTimeOffset,E=d.timeOffset,v=d.initSegmentChange,y=u.audioCodec,T=u.videoCodec,S=u.defaultInitPts,A=u.duration,R=u.initSegmentData,L=function(F,M){var U=null;return F.byteLength>0&&(M==null?void 0:M.key)!=null&&M.iv!==null&&M.method!=null&&(U=M),U}(l,t);if(L&&L.method==="AES-128"){var D=this.getDecrypter();if(!D.isSync())return this.decryptionPromise=D.webCryptoDecrypt(l,L.key.buffer,L.iv.buffer).then(function(F){var M=a.push(F,null,r);return a.decryptionPromise=null,M}),this.decryptionPromise;var k=D.softwareDecrypt(l,L.key.buffer,L.iv.buffer);if(r.part>-1&&(k=D.flush()),!k)return o.executeEnd=$e(),Si(r);l=new Uint8Array(k)}var I=this.needsProbing(f,g);if(I){var C=this.configureTransmuxer(l);if(C)return b.warn("[transmuxer] "+C.message),this.observer.emit(p.ERROR,p.ERROR,{type:K.MEDIA_ERROR,details:w.FRAG_PARSING_ERROR,fatal:!1,error:C,reason:C.message}),o.executeEnd=$e(),Si(r)}(f||g||v||I)&&this.resetInitSegment(R,y,T,A,t),(f||v||I)&&this.resetInitialTimestamp(S),c||this.resetContiguity();var _=this.transmux(l,L,E,m,r),x=this.currentTransmuxState;return x.contiguous=!0,x.discontinuity=!1,x.trackSwitch=!1,o.executeEnd=$e(),_},n.flush=function(e){var t=this,r=e.transmuxing;r.executeStart=$e();var i=this.decrypter,a=this.currentTransmuxState,o=this.decryptionPromise;if(o)return o.then(function(){return t.flush(e)});var l=[],h=a.timeOffset;if(i){var u=i.flush();u&&l.push(this.push(u,null,e))}var d=this.demuxer,c=this.remuxer;if(!d||!c)return r.executeEnd=$e(),[Si(e)];var f=d.flush(h);return ht(f)?f.then(function(g){return t.flushRemux(l,g,e),l}):(this.flushRemux(l,f,e),l)},n.flushRemux=function(e,t,r){var i=t.audioTrack,a=t.videoTrack,o=t.id3Track,l=t.textTrack,h=this.currentTransmuxState,u=h.accurateTimeOffset,d=h.timeOffset;b.log("[transmuxer.ts]: Flushed fragment "+r.sn+(r.part>-1?" p: "+r.part:"")+" of level "+r.level);var c=this.remuxer.remux(i,a,o,l,d,u,!0,this.id);e.push({remuxResult:c,chunkMeta:r}),r.transmuxing.executeEnd=$e()},n.resetInitialTimestamp=function(e){var t=this.demuxer,r=this.remuxer;t&&r&&(t.resetTimeStamp(e),r.resetTimeStamp(e))},n.resetContiguity=function(){var e=this.demuxer,t=this.remuxer;e&&t&&(e.resetContiguity(),t.resetNextTimestamp())},n.resetInitSegment=function(e,t,r,i,a){var o=this.demuxer,l=this.remuxer;o&&l&&(o.resetInitSegment(e,t,r,i),l.resetInitSegment(e,t,r,a))},n.destroy=function(){this.demuxer&&(this.demuxer.destroy(),this.demuxer=void 0),this.remuxer&&(this.remuxer.destroy(),this.remuxer=void 0)},n.transmux=function(e,t,r,i,a){return t&&t.method==="SAMPLE-AES"?this.transmuxSampleAes(e,t,r,i,a):this.transmuxUnencrypted(e,r,i,a)},n.transmuxUnencrypted=function(e,t,r,i){var a=this.demuxer.demux(e,t,!1,!this.config.progressive),o=a.audioTrack,l=a.videoTrack,h=a.id3Track,u=a.textTrack;return{remuxResult:this.remuxer.remux(o,l,h,u,t,r,!1,this.id),chunkMeta:i}},n.transmuxSampleAes=function(e,t,r,i,a){var o=this;return this.demuxer.demuxSampleAes(e,t,r).then(function(l){return{remuxResult:o.remuxer.remux(l.audioTrack,l.videoTrack,l.id3Track,l.textTrack,r,i,!1,o.id),chunkMeta:a}})},n.configureTransmuxer=function(e){for(var t,r=this.config,i=this.observer,a=this.typeSupported,o=this.vendor,l=0,h=Sr.length;l<h;l++){var u;if((u=Sr[l].demux)!=null&&u.probe(e)){t=Sr[l];break}}if(!t)return new Error("Failed to find demuxer by probing fragment data");var d=this.demuxer,c=this.remuxer,f=t.remux,g=t.demux;c&&c instanceof f||(this.remuxer=new f(i,r,a,o)),d&&d instanceof g||(this.demuxer=new g(i,r,a),this.probe=g.probe)},n.needsProbing=function(e,t){return!this.demuxer||!this.remuxer||e||t},n.getDecrypter=function(){var e=this.decrypter;return e||(e=this.decrypter=new hi(this.config)),e},s}(),Si=function(s){return{remuxResult:{},chunkMeta:s}};function ht(s){return"then"in s&&s.then instanceof Function}var ko=function(s,n,e,t,r){this.audioCodec=void 0,this.videoCodec=void 0,this.initSegmentData=void 0,this.duration=void 0,this.defaultInitPts=void 0,this.audioCodec=s,this.videoCodec=n,this.initSegmentData=e,this.duration=t,this.defaultInitPts=r||null},Do=function(s,n,e,t,r,i){this.discontinuity=void 0,this.contiguous=void 0,this.accurateTimeOffset=void 0,this.trackSwitch=void 0,this.timeOffset=void 0,this.initSegmentChange=void 0,this.discontinuity=s,this.contiguous=n,this.accurateTimeOffset=e,this.trackSwitch=t,this.timeOffset=r,this.initSegmentChange=i},Ta={exports:{}};(function(s){var n=Object.prototype.hasOwnProperty,e="~";function t(){}function r(l,h,u){this.fn=l,this.context=h,this.once=u||!1}function i(l,h,u,d,c){if(typeof u!="function")throw new TypeError("The listener must be a function");var f=new r(u,d||l,c),g=e?e+h:h;return l._events[g]?l._events[g].fn?l._events[g]=[l._events[g],f]:l._events[g].push(f):(l._events[g]=f,l._eventsCount++),l}function a(l,h){--l._eventsCount==0?l._events=new t:delete l._events[h]}function o(){this._events=new t,this._eventsCount=0}Object.create&&(t.prototype=Object.create(null),new t().__proto__||(e=!1)),o.prototype.eventNames=function(){var l,h,u=[];if(this._eventsCount===0)return u;for(h in l=this._events)n.call(l,h)&&u.push(e?h.slice(1):h);return Object.getOwnPropertySymbols?u.concat(Object.getOwnPropertySymbols(l)):u},o.prototype.listeners=function(l){var h=e?e+l:l,u=this._events[h];if(!u)return[];if(u.fn)return[u.fn];for(var d=0,c=u.length,f=new Array(c);d<c;d++)f[d]=u[d].fn;return f},o.prototype.listenerCount=function(l){var h=e?e+l:l,u=this._events[h];return u?u.fn?1:u.length:0},o.prototype.emit=function(l,h,u,d,c,f){var g=e?e+l:l;if(!this._events[g])return!1;var m,E,v=this._events[g],y=arguments.length;if(v.fn){switch(v.once&&this.removeListener(l,v.fn,void 0,!0),y){case 1:return v.fn.call(v.context),!0;case 2:return v.fn.call(v.context,h),!0;case 3:return v.fn.call(v.context,h,u),!0;case 4:return v.fn.call(v.context,h,u,d),!0;case 5:return v.fn.call(v.context,h,u,d,c),!0;case 6:return v.fn.call(v.context,h,u,d,c,f),!0}for(E=1,m=new Array(y-1);E<y;E++)m[E-1]=arguments[E];v.fn.apply(v.context,m)}else{var T,S=v.length;for(E=0;E<S;E++)switch(v[E].once&&this.removeListener(l,v[E].fn,void 0,!0),y){case 1:v[E].fn.call(v[E].context);break;case 2:v[E].fn.call(v[E].context,h);break;case 3:v[E].fn.call(v[E].context,h,u);break;case 4:v[E].fn.call(v[E].context,h,u,d);break;default:if(!m)for(T=1,m=new Array(y-1);T<y;T++)m[T-1]=arguments[T];v[E].fn.apply(v[E].context,m)}}return!0},o.prototype.on=function(l,h,u){return i(this,l,h,u,!1)},o.prototype.once=function(l,h,u){return i(this,l,h,u,!0)},o.prototype.removeListener=function(l,h,u,d){var c=e?e+l:l;if(!this._events[c])return this;if(!h)return a(this,c),this;var f=this._events[c];if(f.fn)f.fn!==h||d&&!f.once||u&&f.context!==u||a(this,c);else{for(var g=0,m=[],E=f.length;g<E;g++)(f[g].fn!==h||d&&!f[g].once||u&&f[g].context!==u)&&m.push(f[g]);m.length?this._events[c]=m.length===1?m[0]:m:a(this,c)}return this},o.prototype.removeAllListeners=function(l){var h;return l?(h=e?e+l:l,this._events[h]&&a(this,h)):(this._events=new t,this._eventsCount=0),this},o.prototype.off=o.prototype.removeListener,o.prototype.addListener=o.prototype.on,o.prefixed=e,o.EventEmitter=o,s.exports=o})(Ta);var Lr=hs(Ta.exports);function Li(s,n){if(!((e=n.remuxResult).audio||e.video||e.text||e.id3||e.initSegment))return!1;var e,t=[],r=n.remuxResult,i=r.audio,a=r.video;return i&&Sa(t,i),a&&Sa(t,a),s.postMessage({event:"transmuxComplete",data:n},t),!0}function Sa(s,n){n.data1&&s.push(n.data1.buffer),n.data2&&s.push(n.data2.buffer)}function La(s,n,e){n.reduce(function(t,r){return Li(s,r)||t},!1)||s.postMessage({event:"transmuxComplete",data:n[0]}),s.postMessage({event:"flush",data:e})}tt!==void 0&&tt&&function(s){var n=new Lr,e=function(r,i){s.postMessage({event:r,data:i})};n.on(p.FRAG_DECRYPTED,e),n.on(p.ERROR,e);var t=function(){var r=function(a){var o=function(l){e("workerLog",{logType:a,message:l})};b[a]=o};for(var i in b)r(i)};s.addEventListener("message",function(r){var i=r.data;switch(i.cmd){case"init":var a=JSON.parse(i.config);s.transmuxer=new Ti(n,i.typeSupported,a,"",i.id),ji(a.debug,i.id),t(),e("init",null);break;case"configure":s.transmuxer.configure(i.config);break;case"demux":var o=s.transmuxer.push(i.data,i.decryptdata,i.chunkMeta,i.state);ht(o)?(s.transmuxer.async=!0,o.then(function(u){Li(s,u)}).catch(function(u){e(p.ERROR,{type:K.MEDIA_ERROR,details:w.FRAG_PARSING_ERROR,chunkMeta:i.chunkMeta,fatal:!1,error:u,err:u,reason:"transmuxer-worker push error"})})):(s.transmuxer.async=!1,Li(s,o));break;case"flush":var l=i.chunkMeta,h=s.transmuxer.flush(l);ht(h)||s.transmuxer.async?(ht(h)||(h=Promise.resolve(h)),h.then(function(u){La(s,u,l)}).catch(function(u){e(p.ERROR,{type:K.MEDIA_ERROR,details:w.FRAG_PARSING_ERROR,chunkMeta:i.chunkMeta,fatal:!1,error:u,err:u,reason:"transmuxer-worker flush error"})})):La(s,h,l)}})}(self);var Aa=function(){function s(e,t,r,i){var a=this;this.error=null,this.hls=void 0,this.id=void 0,this.observer=void 0,this.frag=null,this.part=null,this.useWorker=void 0,this.workerContext=null,this.onwmsg=void 0,this.transmuxer=null,this.onTransmuxComplete=void 0,this.onFlush=void 0;var o=e.config;this.hls=e,this.id=t,this.useWorker=!!o.enableWorker,this.onTransmuxComplete=r,this.onFlush=i;var l=function(E,v){(v=v||{}).frag=a.frag,v.id=a.id,E===p.ERROR&&(a.error=v.error),a.hls.trigger(E,v)};this.observer=new Lr,this.observer.on(p.FRAG_DECRYPTED,l),this.observer.on(p.ERROR,l);var h,u,d,c,f=ot(o.preferManagedMediaSource)||{isTypeSupported:function(){return!1}},g={mpeg:f.isTypeSupported("audio/mpeg"),mp3:f.isTypeSupported('audio/mp4; codecs="mp3"'),ac3:f.isTypeSupported('audio/mp4; codecs="ac-3"')};if(!this.useWorker||typeof Worker>"u"||(o.workerPath,0))this.transmuxer=new Ti(this.observer,g,o,"",t);else try{o.workerPath?(b.log("loading Web Worker "+o.workerPath+' for "'+t+'"'),this.workerContext=(d=o.workerPath,c=new self.URL(d,self.location.href).href,{worker:new self.Worker(c),scriptURL:c})):(b.log('injecting Web Worker for "'+t+'"'),this.workerContext=(h=new self.Blob(["var exports={};var module={exports:exports};function define(f){f()};define.amd=true;("+Pt.toString()+")(true);"],{type:"text/javascript"}),u=self.URL.createObjectURL(h),{worker:new self.Worker(u),objectURL:u})),this.onwmsg=function(E){return a.onWorkerMessage(E)};var m=this.workerContext.worker;m.addEventListener("message",this.onwmsg),m.onerror=function(E){var v=new Error(E.message+"  ("+E.filename+":"+E.lineno+")");o.enableWorker=!1,b.warn('Error in "'+t+'" Web Worker, fallback to inline'),a.hls.trigger(p.ERROR,{type:K.OTHER_ERROR,details:w.INTERNAL_EXCEPTION,fatal:!1,event:"demuxerWorker",error:v})},m.postMessage({cmd:"init",typeSupported:g,vendor:"",id:t,config:JSON.stringify(o)})}catch(E){b.warn('Error setting up "'+t+'" Web Worker, fallback to inline',E),this.resetWorker(),this.error=null,this.transmuxer=new Ti(this.observer,g,o,"",t)}}var n=s.prototype;return n.resetWorker=function(){if(this.workerContext){var e=this.workerContext,t=e.worker,r=e.objectURL;r&&self.URL.revokeObjectURL(r),t.removeEventListener("message",this.onwmsg),t.onerror=null,t.terminate(),this.workerContext=null}},n.destroy=function(){if(this.workerContext)this.resetWorker(),this.onwmsg=void 0;else{var e=this.transmuxer;e&&(e.destroy(),this.transmuxer=null)}var t=this.observer;t&&t.removeAllListeners(),this.frag=null,this.observer=null,this.hls=null},n.push=function(e,t,r,i,a,o,l,h,u,d){var c,f,g=this;u.transmuxing.start=self.performance.now();var m=this.transmuxer,E=o?o.start:a.start,v=a.decryptdata,y=this.frag,T=!(y&&a.cc===y.cc),S=!(y&&u.level===y.level),A=y?u.sn-y.sn:-1,R=this.part?u.part-this.part.index:-1,L=A===0&&u.id>1&&u.id===(y==null?void 0:y.stats.chunkCount),D=!S&&(A===1||A===0&&(R===1||L&&R<=0)),k=self.performance.now();(S||A||a.stats.parsing.start===0)&&(a.stats.parsing.start=k),!o||!R&&D||(o.stats.parsing.start=k);var I=!(y&&((c=a.initSegment)==null?void 0:c.url)===((f=y.initSegment)==null?void 0:f.url)),C=new Do(T,D,h,S,E,I);if(!D||T||I){b.log("[transmuxer-interface, "+a.type+"]: Starting new transmux session for sn: "+u.sn+" p: "+u.part+" level: "+u.level+" id: "+u.id+`
+        discontinuity: `+T+`
+        trackSwitch: `+S+`
+        contiguous: `+D+`
+        accurateTimeOffset: `+h+`
+        timeOffset: `+E+`
+        initSegmentChange: `+I);var _=new ko(r,i,t,l,d);this.configureTransmuxer(_)}if(this.frag=a,this.part=o,this.workerContext)this.workerContext.worker.postMessage({cmd:"demux",data:e,decryptdata:v,chunkMeta:u,state:C},e instanceof ArrayBuffer?[e]:[]);else if(m){var x=m.push(e,v,u,C);ht(x)?(m.async=!0,x.then(function(F){g.handleTransmuxComplete(F)}).catch(function(F){g.transmuxerError(F,u,"transmuxer-interface push error")})):(m.async=!1,this.handleTransmuxComplete(x))}},n.flush=function(e){var t=this;e.transmuxing.start=self.performance.now();var r=this.transmuxer;if(this.workerContext)this.workerContext.worker.postMessage({cmd:"flush",chunkMeta:e});else if(r){var i=r.flush(e);ht(i)||r.async?(ht(i)||(i=Promise.resolve(i)),i.then(function(a){t.handleFlushResult(a,e)}).catch(function(a){t.transmuxerError(a,e,"transmuxer-interface flush error")})):this.handleFlushResult(i,e)}},n.transmuxerError=function(e,t,r){this.hls&&(this.error=e,this.hls.trigger(p.ERROR,{type:K.MEDIA_ERROR,details:w.FRAG_PARSING_ERROR,chunkMeta:t,frag:this.frag||void 0,fatal:!1,error:e,err:e,reason:r}))},n.handleFlushResult=function(e,t){var r=this;e.forEach(function(i){r.handleTransmuxComplete(i)}),this.onFlush(t)},n.onWorkerMessage=function(e){var t=e.data;if(t!=null&&t.event){var r=this.hls;if(this.hls)switch(t.event){case"init":var i,a=(i=this.workerContext)==null?void 0:i.objectURL;a&&self.URL.revokeObjectURL(a);break;case"transmuxComplete":this.handleTransmuxComplete(t.data);break;case"flush":this.onFlush(t.data);break;case"workerLog":b[t.data.logType]&&b[t.data.logType](t.data.message);break;default:t.data=t.data||{},t.data.frag=this.frag,t.data.id=this.id,r.trigger(t.event,t.data)}}else b.warn("worker message received with no "+(t?"event name":"data"))},n.configureTransmuxer=function(e){var t=this.transmuxer;this.workerContext?this.workerContext.worker.postMessage({cmd:"configure",config:e}):t&&t.configure(e)},n.handleTransmuxComplete=function(e){e.chunkMeta.transmuxing.end=self.performance.now(),this.onTransmuxComplete(e)},s}();function Ra(s,n){if(s.length!==n.length)return!1;for(var e=0;e<s.length;e++)if(!Ct(s[e].attrs,n[e].attrs))return!1;return!0}function Ct(s,n,e){var t=s["STABLE-RENDITION-ID"];return t&&!e?t===n["STABLE-RENDITION-ID"]:!(e||["LANGUAGE","NAME","CHARACTERISTICS","AUTOSELECT","DEFAULT","FORCED","ASSOC-LANGUAGE"]).some(function(r){return s[r]!==n[r]})}function Ai(s,n){return n.label.toLowerCase()===s.name.toLowerCase()&&(!n.language||n.language.toLowerCase()===(s.lang||"").toLowerCase())}var wo=function(s){function n(t,r,i){var a;return(a=s.call(this,t,r,i,"[audio-stream-controller]",Me)||this).videoBuffer=null,a.videoTrackCC=-1,a.waitingVideoCC=-1,a.bufferedTrack=null,a.switchingTrack=null,a.trackId=-1,a.waitingData=null,a.mainDetails=null,a.flushing=!1,a.bufferFlushed=!1,a.cachedTrackLoadedData=null,a._registerListeners(),a}Le(n,s);var e=n.prototype;return e.onHandlerDestroying=function(){this._unregisterListeners(),s.prototype.onHandlerDestroying.call(this),this.mainDetails=null,this.bufferedTrack=null,this.switchingTrack=null},e._registerListeners=function(){var t=this.hls;t.on(p.MEDIA_ATTACHED,this.onMediaAttached,this),t.on(p.MEDIA_DETACHING,this.onMediaDetaching,this),t.on(p.MANIFEST_LOADING,this.onManifestLoading,this),t.on(p.LEVEL_LOADED,this.onLevelLoaded,this),t.on(p.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),t.on(p.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),t.on(p.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),t.on(p.ERROR,this.onError,this),t.on(p.BUFFER_RESET,this.onBufferReset,this),t.on(p.BUFFER_CREATED,this.onBufferCreated,this),t.on(p.BUFFER_FLUSHING,this.onBufferFlushing,this),t.on(p.BUFFER_FLUSHED,this.onBufferFlushed,this),t.on(p.INIT_PTS_FOUND,this.onInitPtsFound,this),t.on(p.FRAG_BUFFERED,this.onFragBuffered,this)},e._unregisterListeners=function(){var t=this.hls;t.off(p.MEDIA_ATTACHED,this.onMediaAttached,this),t.off(p.MEDIA_DETACHING,this.onMediaDetaching,this),t.off(p.MANIFEST_LOADING,this.onManifestLoading,this),t.off(p.LEVEL_LOADED,this.onLevelLoaded,this),t.off(p.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),t.off(p.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),t.off(p.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),t.off(p.ERROR,this.onError,this),t.off(p.BUFFER_RESET,this.onBufferReset,this),t.off(p.BUFFER_CREATED,this.onBufferCreated,this),t.off(p.BUFFER_FLUSHING,this.onBufferFlushing,this),t.off(p.BUFFER_FLUSHED,this.onBufferFlushed,this),t.off(p.INIT_PTS_FOUND,this.onInitPtsFound,this),t.off(p.FRAG_BUFFERED,this.onFragBuffered,this)},e.onInitPtsFound=function(t,r){var i=r.frag,a=r.id,o=r.initPTS,l=r.timescale;if(a==="main"){var h=i.cc;this.initPTS[i.cc]={baseTime:o,timescale:l},this.log("InitPTS for cc: "+h+" found from main: "+o),this.videoTrackCC=h,this.state===jt&&this.tick()}},e.startLoad=function(t){if(!this.levels)return this.startPosition=t,void(this.state=Oe);var r=this.lastCurrentTime;this.stopLoad(),this.setInterval(100),r>0&&t===-1?(this.log("Override startPosition with lastCurrentTime @"+r.toFixed(3)),t=r,this.state=X):(this.loadedmetadata=!1,this.state=Yt),this.nextLoadPosition=this.startPosition=this.lastCurrentTime=t,this.tick()},e.doTick=function(){switch(this.state){case X:this.doTickIdle();break;case Yt:var t,r=this.levels,i=this.trackId,a=r==null||(t=r[i])==null?void 0:t.details;if(a){if(this.waitForCdnTuneIn(a))break;this.state=jt}break;case kt:var o,l=performance.now(),h=this.retryDate;if(!h||l>=h||(o=this.media)!=null&&o.seeking){var u=this.levels,d=this.trackId;this.log("RetryDate reached, switch back to IDLE state"),this.resetStartWhenNotLoaded((u==null?void 0:u[d])||null),this.state=X}break;case jt:var c=this.waitingData;if(c){var f=c.frag,g=c.part,m=c.cache,E=c.complete;if(this.initPTS[f.cc]!==void 0){this.waitingData=null,this.waitingVideoCC=-1,this.state=bt;var v={frag:f,part:g,payload:m.flush(),networkDetails:null};this._handleFragmentLoadProgress(v),E&&s.prototype._handleFragmentLoadComplete.call(this,v)}else if(this.videoTrackCC!==this.waitingVideoCC)this.log("Waiting fragment cc ("+f.cc+") cancelled because video is at cc "+this.videoTrackCC),this.clearWaitingFragment();else{var y=this.getLoadPosition(),T=ue.bufferInfo(this.mediaBuffer,y,this.config.maxBufferHole);ai(T.end,this.config.maxFragLookUpTolerance,f)<0&&(this.log("Waiting fragment cc ("+f.cc+") @ "+f.start+" cancelled because another fragment at "+T.end+" is needed"),this.clearWaitingFragment())}}else this.state=X}this.onTickEnd()},e.clearWaitingFragment=function(){var t=this.waitingData;t&&(this.fragmentTracker.removeFragment(t.frag),this.waitingData=null,this.waitingVideoCC=-1,this.state=X)},e.resetLoadingState=function(){this.clearWaitingFragment(),s.prototype.resetLoadingState.call(this)},e.onTickEnd=function(){var t=this.media;t!=null&&t.readyState&&(this.lastCurrentTime=t.currentTime)},e.doTickIdle=function(){var t=this.hls,r=this.levels,i=this.media,a=this.trackId,o=t.config;if((i||!this.startFragRequested&&o.startFragPrefetch)&&r!=null&&r[a]){var l=r[a],h=l.details;if(!h||h.live&&this.levelLastLoaded!==l||this.waitForCdnTuneIn(h))this.state=Yt;else{var u=this.mediaBuffer?this.mediaBuffer:this.media;this.bufferFlushed&&u&&(this.bufferFlushed=!1,this.afterBufferFlushed(u,we,Me));var d=this.getFwdBufferInfo(u,Me);if(d!==null){var c=this.bufferedTrack,f=this.switchingTrack;if(!f&&this._streamEnded(d,h))return t.trigger(p.BUFFER_EOS,{type:"audio"}),void(this.state=Wt);var g=this.getFwdBufferInfo(this.videoBuffer?this.videoBuffer:this.media,Z),m=d.len,E=this.getMaxBufferLength(g==null?void 0:g.len),v=h.fragments,y=v[0].start,T=this.flushing?this.getLoadPosition():d.end;if(f&&i){var S=this.getLoadPosition();c&&!Ct(f.attrs,c.attrs)&&(T=S),h.PTSKnown&&S<y&&(d.end>y||d.nextStart)&&(this.log("Alt audio track ahead of main track, seek to start of alt audio track"),i.currentTime=y+.05)}if(!(m>=E&&!f&&T<v[v.length-1].start)){var A=this.getNextFragment(T,h),R=!1;if(A&&this.isLoopLoading(A,T)&&(R=!!A.gap,A=this.getNextFragmentLoopLoading(A,h,d,Z,E)),A){var L=g&&A.start>g.end+h.targetduration;if(L||(g==null||!g.len)&&d.len){var D=this.getAppendedFrag(A.start,Z);if(D===null||(R||(R=!!D.gap||!!L&&g.len===0),L&&!R||R&&d.nextStart&&d.nextStart<D.end))return}this.loadFragment(A,l,T)}else this.bufferFlushed=!0}}}}},e.getMaxBufferLength=function(t){var r=s.prototype.getMaxBufferLength.call(this);return t?Math.min(Math.max(r,t),this.config.maxMaxBufferLength):r},e.onMediaDetaching=function(){this.videoBuffer=null,this.bufferFlushed=this.flushing=!1,s.prototype.onMediaDetaching.call(this)},e.onAudioTracksUpdated=function(t,r){var i=r.audioTracks;this.resetTransmuxer(),this.levels=i.map(function(a){return new yt(a)})},e.onAudioTrackSwitching=function(t,r){var i=!!r.url;this.trackId=r.id;var a=this.fragCurrent;a&&(a.abortRequests(),this.removeUnbufferedFrags(a.start)),this.resetLoadingState(),i?this.setInterval(100):this.resetTransmuxer(),i?(this.switchingTrack=r,this.state=X,this.flushAudioIfNeeded(r)):(this.switchingTrack=null,this.bufferedTrack=r,this.state=Oe),this.tick()},e.onManifestLoading=function(){this.fragmentTracker.removeAllFragments(),this.startPosition=this.lastCurrentTime=0,this.bufferFlushed=this.flushing=!1,this.levels=this.mainDetails=this.waitingData=this.bufferedTrack=this.cachedTrackLoadedData=this.switchingTrack=null,this.startFragRequested=!1,this.trackId=this.videoTrackCC=this.waitingVideoCC=-1},e.onLevelLoaded=function(t,r){this.mainDetails=r.details,this.cachedTrackLoadedData!==null&&(this.hls.trigger(p.AUDIO_TRACK_LOADED,this.cachedTrackLoadedData),this.cachedTrackLoadedData=null)},e.onAudioTrackLoaded=function(t,r){var i;if(this.mainDetails!=null){var a=this.levels,o=r.details,l=r.id;if(a){this.log("Audio track "+l+" loaded ["+o.startSN+","+o.endSN+"]"+(o.lastPartSn?"[part-"+o.lastPartSn+"-"+o.lastPartIndex+"]":"")+",duration:"+o.totalduration);var h=a[l],u=0;if(o.live||(i=h.details)!=null&&i.live){this.checkLiveUpdate(o);var d,c=this.mainDetails;if(o.deltaUpdateFailed||!c)return;!h.details&&o.hasProgramDateTime&&c.hasProgramDateTime?(vr(o,c),u=o.fragments[0].start):u=this.alignPlaylists(o,h.details,(d=this.levelLastLoaded)==null?void 0:d.details)}h.details=o,this.levelLastLoaded=h,this.startFragRequested||!this.mainDetails&&o.live||this.setStartPosition(this.mainDetails||o,u),this.state!==Yt||this.waitForCdnTuneIn(o)||(this.state=X),this.tick()}else this.warn("Audio tracks were reset while loading level "+l)}else this.cachedTrackLoadedData=r},e._handleFragmentLoadProgress=function(t){var r,i=t.frag,a=t.part,o=t.payload,l=this.config,h=this.trackId,u=this.levels;if(u){var d=u[h];if(d){var c=d.details;if(!c)return this.warn("Audio track details undefined on fragment load progress"),void this.removeUnbufferedFrags(i.start);var f=l.defaultAudioCodec||d.audioCodec||"mp4a.40.2",g=this.transmuxer;g||(g=this.transmuxer=new Aa(this.hls,Me,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)));var m=this.initPTS[i.cc],E=(r=i.initSegment)==null?void 0:r.data;if(m!==void 0){var v=a?a.index:-1,y=v!==-1,T=new ui(i.level,i.sn,i.stats.chunkCount,o.byteLength,v,y);g.push(o,E,f,"",i,a,c.totalduration,!1,T,m)}else this.log("Unknown video PTS for cc "+i.cc+", waiting for video PTS before demuxing audio frag "+i.sn+" of ["+c.startSN+" ,"+c.endSN+"],track "+h),(this.waitingData=this.waitingData||{frag:i,part:a,cache:new ta,complete:!1}).cache.push(new Uint8Array(o)),this.waitingVideoCC=this.videoTrackCC,this.state=jt}else this.warn("Audio track is undefined on fragment load progress")}else this.warn("Audio tracks were reset while fragment load was in progress. Fragment "+i.sn+" of level "+i.level+" will not be buffered")},e._handleFragmentLoadComplete=function(t){this.waitingData?this.waitingData.complete=!0:s.prototype._handleFragmentLoadComplete.call(this,t)},e.onBufferReset=function(){this.mediaBuffer=this.videoBuffer=null,this.loadedmetadata=!1},e.onBufferCreated=function(t,r){var i=r.tracks.audio;i&&(this.mediaBuffer=i.buffer||null),r.tracks.video&&(this.videoBuffer=r.tracks.video.buffer||null)},e.onFragBuffered=function(t,r){var i=r.frag,a=r.part;if(i.type===Me)if(this.fragContextChanged(i))this.warn("Fragment "+i.sn+(a?" p: "+a.index:"")+" of level "+i.level+" finished buffering, but was aborted. state: "+this.state+", audioSwitch: "+(this.switchingTrack?this.switchingTrack.name:"false"));else{if(i.sn!=="initSegment"){this.fragPrevious=i;var o=this.switchingTrack;o&&(this.bufferedTrack=o,this.switchingTrack=null,this.hls.trigger(p.AUDIO_TRACK_SWITCHED,ye({},o)))}this.fragBufferedComplete(i,a)}else if(!this.loadedmetadata&&i.type===Z){var l=this.videoBuffer||this.media;l&&ue.getBuffered(l).length&&(this.loadedmetadata=!0)}},e.onError=function(t,r){var i;if(r.fatal)this.state=Dt;else switch(r.details){case w.FRAG_GAP:case w.FRAG_PARSING_ERROR:case w.FRAG_DECRYPT_ERROR:case w.FRAG_LOAD_ERROR:case w.FRAG_LOAD_TIMEOUT:case w.KEY_LOAD_ERROR:case w.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(Me,r);break;case w.AUDIO_TRACK_LOAD_ERROR:case w.AUDIO_TRACK_LOAD_TIMEOUT:case w.LEVEL_PARSING_ERROR:r.levelRetry||this.state!==Yt||((i=r.context)==null?void 0:i.type)!==Be||(this.state=X);break;case w.BUFFER_APPEND_ERROR:case w.BUFFER_FULL_ERROR:if(!r.parent||r.parent!=="audio")return;if(r.details===w.BUFFER_APPEND_ERROR)return void this.resetLoadingState();this.reduceLengthAndFlushBuffer(r)&&(this.bufferedTrack=null,s.prototype.flushMainBuffer.call(this,0,Number.POSITIVE_INFINITY,"audio"));break;case w.INTERNAL_EXCEPTION:this.recoverWorkerError(r)}},e.onBufferFlushing=function(t,r){r.type!==Pe&&(this.flushing=!0)},e.onBufferFlushed=function(t,r){var i=r.type;if(i!==Pe){this.flushing=!1,this.bufferFlushed=!0,this.state===Wt&&(this.state=X);var a=this.mediaBuffer||this.media;a&&(this.afterBufferFlushed(a,i,Me),this.tick())}},e._handleTransmuxComplete=function(t){var r,i="audio",a=this.hls,o=t.remuxResult,l=t.chunkMeta,h=this.getCurrentContext(l);if(h){var u=h.frag,d=h.part,c=h.level,f=c.details,g=o.audio,m=o.text,E=o.id3,v=o.initSegment;if(!this.fragContextChanged(u)&&f){if(this.state=Je,this.switchingTrack&&g&&this.completeAudioSwitch(this.switchingTrack),v!=null&&v.tracks){var y=u.initSegment||u;this._bufferInitSegment(c,v.tracks,y,l),a.trigger(p.FRAG_PARSING_INIT_SEGMENT,{frag:y,id:i,tracks:v.tracks})}if(g){var T=g.startPTS,S=g.endPTS,A=g.startDTS,R=g.endDTS;d&&(d.elementaryStreams[we]={startPTS:T,endPTS:S,startDTS:A,endDTS:R}),u.setElementaryStreamInfo(we,T,S,A,R),this.bufferFragmentData(g,u,d,l)}if(E!=null&&(r=E.samples)!=null&&r.length){var L=ge({id:i,frag:u,details:f},E);a.trigger(p.FRAG_PARSING_METADATA,L)}if(m){var D=ge({id:i,frag:u,details:f},m);a.trigger(p.FRAG_PARSING_USERDATA,D)}}else this.fragmentTracker.removeFragment(u)}else this.resetWhenMissingContext(l)},e._bufferInitSegment=function(t,r,i,a){if(this.state===Je){r.video&&delete r.video;var o=r.audio;if(o){o.id="audio";var l=t.audioCodec;this.log("Init audio buffer, container:"+o.container+", codecs[level/parsed]=["+l+"/"+o.codec+"]"),l&&l.split(",").length===1&&(o.levelCodec=l),this.hls.trigger(p.BUFFER_CODECS,r);var h=o.initSegment;if(h!=null&&h.byteLength){var u={type:"audio",frag:i,part:null,chunkMeta:a,parent:i.type,data:h};this.hls.trigger(p.BUFFER_APPENDING,u)}this.tickImmediate()}}},e.loadFragment=function(t,r,i){var a,o=this.fragmentTracker.getState(t);if(this.fragCurrent=t,this.switchingTrack||o===Ht||o===At)if(t.sn==="initSegment")this._loadInitSegment(t,r);else if((a=r.details)!=null&&a.live&&!this.initPTS[t.cc]){this.log("Waiting for video PTS in continuity counter "+t.cc+" of live stream before loading audio fragment "+t.sn+" of level "+this.trackId),this.state=jt;var l=this.mainDetails;l&&l.fragments[0].start!==r.details.fragments[0].start&&vr(r.details,l)}else this.startFragRequested=!0,s.prototype.loadFragment.call(this,t,r,i);else this.clearTrackerIfNeeded(t)},e.flushAudioIfNeeded=function(t){var r=this.media,i=this.bufferedTrack,a=i==null?void 0:i.attrs,o=t.attrs;r&&a&&(a.CHANNELS!==o.CHANNELS||i.name!==t.name||i.lang!==t.lang)&&(this.log("Switching audio track : flushing all audio"),s.prototype.flushMainBuffer.call(this,0,Number.POSITIVE_INFINITY,"audio"),this.bufferedTrack=null)},e.completeAudioSwitch=function(t){var r=this.hls;this.flushAudioIfNeeded(t),this.bufferedTrack=t,this.switchingTrack=null,r.trigger(p.AUDIO_TRACK_SWITCHED,ye({},t))},n}(ci),Io=function(s){function n(t){var r;return(r=s.call(this,t,"[audio-track-controller]")||this).tracks=[],r.groupIds=null,r.tracksInGroup=[],r.trackId=-1,r.currentTrack=null,r.selectDefaultTrack=!0,r.registerListeners(),r}Le(n,s);var e=n.prototype;return e.registerListeners=function(){var t=this.hls;t.on(p.MANIFEST_LOADING,this.onManifestLoading,this),t.on(p.MANIFEST_PARSED,this.onManifestParsed,this),t.on(p.LEVEL_LOADING,this.onLevelLoading,this),t.on(p.LEVEL_SWITCHING,this.onLevelSwitching,this),t.on(p.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),t.on(p.ERROR,this.onError,this)},e.unregisterListeners=function(){var t=this.hls;t.off(p.MANIFEST_LOADING,this.onManifestLoading,this),t.off(p.MANIFEST_PARSED,this.onManifestParsed,this),t.off(p.LEVEL_LOADING,this.onLevelLoading,this),t.off(p.LEVEL_SWITCHING,this.onLevelSwitching,this),t.off(p.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),t.off(p.ERROR,this.onError,this)},e.destroy=function(){this.unregisterListeners(),this.tracks.length=0,this.tracksInGroup.length=0,this.currentTrack=null,s.prototype.destroy.call(this)},e.onManifestLoading=function(){this.tracks=[],this.tracksInGroup=[],this.groupIds=null,this.currentTrack=null,this.trackId=-1,this.selectDefaultTrack=!0},e.onManifestParsed=function(t,r){this.tracks=r.audioTracks||[]},e.onAudioTrackLoaded=function(t,r){var i=r.id,a=r.groupId,o=r.details,l=this.tracksInGroup[i];if(l&&l.groupId===a){var h=l.details;l.details=r.details,this.log("Audio track "+i+' "'+l.name+'" lang:'+l.lang+" group:"+a+" loaded ["+o.startSN+"-"+o.endSN+"]"),i===this.trackId&&this.playlistLoaded(i,r,h)}else this.warn("Audio track with id:"+i+" and group:"+a+" not found in active group "+(l==null?void 0:l.groupId))},e.onLevelLoading=function(t,r){this.switchLevel(r.level)},e.onLevelSwitching=function(t,r){this.switchLevel(r.level)},e.switchLevel=function(t){var r=this.hls.levels[t];if(r){var i=r.audioGroups||null,a=this.groupIds,o=this.currentTrack;if(!i||(a==null?void 0:a.length)!==(i==null?void 0:i.length)||i!=null&&i.some(function(v){return(a==null?void 0:a.indexOf(v))===-1})){this.groupIds=i,this.trackId=-1,this.currentTrack=null;var l=this.tracks.filter(function(v){return!i||i.indexOf(v.groupId)!==-1});if(l.length)this.selectDefaultTrack&&!l.some(function(v){return v.default})&&(this.selectDefaultTrack=!1),l.forEach(function(v,y){v.id=y});else if(!o&&!this.tracksInGroup.length)return;this.tracksInGroup=l;var h=this.hls.config.audioPreference;if(!o&&h){var u=Ye(h,l,Lt);if(u>-1)o=l[u];else{var d=Ye(h,this.tracks);o=this.tracks[d]}}var c=this.findTrackId(o);c===-1&&o&&(c=this.findTrackId(null));var f={audioTracks:l};this.log("Updating audio tracks, "+l.length+" track(s) found in group(s): "+(i==null?void 0:i.join(","))),this.hls.trigger(p.AUDIO_TRACKS_UPDATED,f);var g=this.trackId;if(c!==-1&&g===-1)this.setAudioTrack(c);else if(l.length&&g===-1){var m,E=new Error("No audio track selected for current audio group-ID(s): "+((m=this.groupIds)==null?void 0:m.join(","))+" track count: "+l.length);this.warn(E.message),this.hls.trigger(p.ERROR,{type:K.MEDIA_ERROR,details:w.AUDIO_TRACK_LOAD_ERROR,fatal:!0,error:E})}}else this.shouldReloadPlaylist(o)&&this.setAudioTrack(this.trackId)}},e.onError=function(t,r){!r.fatal&&r.context&&(r.context.type!==Be||r.context.id!==this.trackId||this.groupIds&&this.groupIds.indexOf(r.context.groupId)===-1||(this.requestScheduled=-1,this.checkRetry(r)))},e.setAudioOption=function(t){var r=this.hls;if(r.config.audioPreference=t,t){var i=this.allAudioTracks;if(this.selectDefaultTrack=!1,i.length){var a=this.currentTrack;if(a&&St(t,a,Lt))return a;var o=Ye(t,this.tracksInGroup,Lt);if(o>-1){var l=this.tracksInGroup[o];return this.setAudioTrack(o),l}if(a){var h=r.loadLevel;h===-1&&(h=r.firstAutoLevel);var u=function(c,f,g,m,E){var v=f[m],y=f.reduce(function(L,D,k){var I=D.uri;return(L[I]||(L[I]=[])).push(k),L},{})[v.uri];y.length>1&&(m=Math.max.apply(Math,y));var T=v.videoRange,S=v.frameRate,A=v.codecSet.substring(0,4),R=Xn(f,m,function(L){if(L.videoRange!==T||L.frameRate!==S||L.codecSet.substring(0,4)!==A)return!1;var D=L.audioGroups,k=g.filter(function(I){return!D||D.indexOf(I.groupId)!==-1});return Ye(c,k,E)>-1});return R>-1?R:Xn(f,m,function(L){var D=L.audioGroups,k=g.filter(function(I){return!D||D.indexOf(I.groupId)!==-1});return Ye(c,k,E)>-1})}(t,r.levels,i,h,Lt);if(u===-1)return null;r.nextLoadLevel=u}if(t.channels||t.audioCodec){var d=Ye(t,i);if(d>-1)return i[d]}}}return null},e.setAudioTrack=function(t){var r=this.tracksInGroup;if(t<0||t>=r.length)this.warn("Invalid audio track id: "+t);else{this.clearTimer(),this.selectDefaultTrack=!1;var i=this.currentTrack,a=r[t],o=a.details&&!a.details.live;if(!(t===this.trackId&&a===i&&o||(this.log("Switching to audio-track "+t+' "'+a.name+'" lang:'+a.lang+" group:"+a.groupId+" channels:"+a.channels),this.trackId=t,this.currentTrack=a,this.hls.trigger(p.AUDIO_TRACK_SWITCHING,ye({},a)),o))){var l=this.switchParams(a.url,i==null?void 0:i.details,a.details);this.loadPlaylist(l)}}},e.findTrackId=function(t){for(var r=this.tracksInGroup,i=0;i<r.length;i++){var a=r[i];if((!this.selectDefaultTrack||a.default)&&(!t||St(t,a,Lt)))return i}if(t){for(var o=t.name,l=t.lang,h=t.assocLang,u=t.characteristics,d=t.audioCodec,c=t.channels,f=0;f<r.length;f++)if(St({name:o,lang:l,assocLang:h,characteristics:u,audioCodec:d,channels:c},r[f],Lt))return f;for(var g=0;g<r.length;g++){var m=r[g];if(Ct(t.attrs,m.attrs,["LANGUAGE","ASSOC-LANGUAGE","CHARACTERISTICS"]))return g}for(var E=0;E<r.length;E++){var v=r[E];if(Ct(t.attrs,v.attrs,["LANGUAGE"]))return E}}return-1},e.loadPlaylist=function(t){var r=this.currentTrack;if(this.shouldLoadPlaylist(r)&&r){s.prototype.loadPlaylist.call(this);var i=r.id,a=r.groupId,o=r.url;if(t)try{o=t.addDirectives(o)}catch(l){this.warn("Could not construct new URL with HLS Delivery Directives: "+l)}this.log("loading audio-track playlist "+i+' "'+r.name+'" lang:'+r.lang+" group:"+a),this.clearTimer(),this.hls.trigger(p.AUDIO_TRACK_LOADING,{url:o,id:i,groupId:a,deliveryDirectives:t||null})}},fe(n,[{key:"allAudioTracks",get:function(){return this.tracks}},{key:"audioTracks",get:function(){return this.tracksInGroup}},{key:"audioTrack",get:function(){return this.trackId},set:function(t){this.selectDefaultTrack=!1,this.setAudioTrack(t)}}]),n}(li),Co=function(s){function n(t,r,i){var a;return(a=s.call(this,t,r,i,"[subtitle-stream-controller]",qe)||this).currentTrackId=-1,a.tracksBuffered=[],a.mainDetails=null,a._registerListeners(),a}Le(n,s);var e=n.prototype;return e.onHandlerDestroying=function(){this._unregisterListeners(),s.prototype.onHandlerDestroying.call(this),this.mainDetails=null},e._registerListeners=function(){var t=this.hls;t.on(p.MEDIA_ATTACHED,this.onMediaAttached,this),t.on(p.MEDIA_DETACHING,this.onMediaDetaching,this),t.on(p.MANIFEST_LOADING,this.onManifestLoading,this),t.on(p.LEVEL_LOADED,this.onLevelLoaded,this),t.on(p.ERROR,this.onError,this),t.on(p.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),t.on(p.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),t.on(p.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),t.on(p.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),t.on(p.BUFFER_FLUSHING,this.onBufferFlushing,this),t.on(p.FRAG_BUFFERED,this.onFragBuffered,this)},e._unregisterListeners=function(){var t=this.hls;t.off(p.MEDIA_ATTACHED,this.onMediaAttached,this),t.off(p.MEDIA_DETACHING,this.onMediaDetaching,this),t.off(p.MANIFEST_LOADING,this.onManifestLoading,this),t.off(p.LEVEL_LOADED,this.onLevelLoaded,this),t.off(p.ERROR,this.onError,this),t.off(p.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),t.off(p.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),t.off(p.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),t.off(p.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),t.off(p.BUFFER_FLUSHING,this.onBufferFlushing,this),t.off(p.FRAG_BUFFERED,this.onFragBuffered,this)},e.startLoad=function(t){this.stopLoad(),this.state=X,this.setInterval(500),this.nextLoadPosition=this.startPosition=this.lastCurrentTime=t,this.tick()},e.onManifestLoading=function(){this.mainDetails=null,this.fragmentTracker.removeAllFragments()},e.onMediaDetaching=function(){this.tracksBuffered=[],s.prototype.onMediaDetaching.call(this)},e.onLevelLoaded=function(t,r){this.mainDetails=r.details},e.onSubtitleFragProcessed=function(t,r){var i=r.frag,a=r.success;if(this.fragPrevious=i,this.state=X,a){var o=this.tracksBuffered[this.currentTrackId];if(o){for(var l,h=i.start,u=0;u<o.length;u++)if(h>=o[u].start&&h<=o[u].end){l=o[u];break}var d=i.start+i.duration;l?l.end=d:(l={start:h,end:d},o.push(l)),this.fragmentTracker.fragBuffered(i),this.fragBufferedComplete(i,null)}}},e.onBufferFlushing=function(t,r){var i=r.startOffset,a=r.endOffset;if(i===0&&a!==Number.POSITIVE_INFINITY){var o=a-1;if(o<=0)return;r.endOffsetSubtitles=Math.max(0,o),this.tracksBuffered.forEach(function(l){for(var h=0;h<l.length;)if(l[h].end<=o)l.shift();else{if(!(l[h].start<o))break;l[h].start=o,h++}}),this.fragmentTracker.removeFragmentsInRange(i,o,qe)}},e.onFragBuffered=function(t,r){var i;this.loadedmetadata||r.frag.type!==Z||(i=this.media)!=null&&i.buffered.length&&(this.loadedmetadata=!0)},e.onError=function(t,r){var i=r.frag;(i==null?void 0:i.type)===qe&&(r.details===w.FRAG_GAP&&this.fragmentTracker.fragBuffered(i,!0),this.fragCurrent&&this.fragCurrent.abortRequests(),this.state!==Oe&&(this.state=X))},e.onSubtitleTracksUpdated=function(t,r){var i=this,a=r.subtitleTracks;this.levels&&Ra(this.levels,a)?this.levels=a.map(function(o){return new yt(o)}):(this.tracksBuffered=[],this.levels=a.map(function(o){var l=new yt(o);return i.tracksBuffered[l.id]=[],l}),this.fragmentTracker.removeFragmentsInRange(0,Number.POSITIVE_INFINITY,qe),this.fragPrevious=null,this.mediaBuffer=null)},e.onSubtitleTrackSwitch=function(t,r){var i;if(this.currentTrackId=r.id,(i=this.levels)!=null&&i.length&&this.currentTrackId!==-1){var a=this.levels[this.currentTrackId];a!=null&&a.details?this.mediaBuffer=this.mediaBufferTimeRanges:this.mediaBuffer=null,a&&this.setInterval(500)}else this.clearInterval()},e.onSubtitleTrackLoaded=function(t,r){var i,a=this.currentTrackId,o=this.levels,l=r.details,h=r.id;if(o){var u=o[h];if(!(h>=o.length)&&u){this.log("Subtitle track "+h+" loaded ["+l.startSN+","+l.endSN+"]"+(l.lastPartSn?"[part-"+l.lastPartSn+"-"+l.lastPartIndex+"]":"")+",duration:"+l.totalduration),this.mediaBuffer=this.mediaBufferTimeRanges;var d=0;if(l.live||(i=u.details)!=null&&i.live){var c=this.mainDetails;if(l.deltaUpdateFailed||!c)return;var f,g=c.fragments[0];u.details?(d=this.alignPlaylists(l,u.details,(f=this.levelLastLoaded)==null?void 0:f.details))===0&&g&&ii(l,d=g.start):l.hasProgramDateTime&&c.hasProgramDateTime?(vr(l,c),d=l.fragments[0].start):g&&ii(l,d=g.start)}u.details=l,this.levelLastLoaded=u,h===a&&(this.startFragRequested||!this.mainDetails&&l.live||this.setStartPosition(this.mainDetails||l,d),this.tick(),l.live&&!this.fragCurrent&&this.media&&this.state===X&&(dr(null,l.fragments,this.media.currentTime,0)||(this.warn("Subtitle playlist not aligned with playback"),u.details=void 0)))}}else this.warn("Subtitle tracks were reset while loading level "+h)},e._handleFragmentLoadComplete=function(t){var r=this,i=t.frag,a=t.payload,o=i.decryptdata,l=this.hls;if(!this.fragContextChanged(i)&&a&&a.byteLength>0&&o!=null&&o.key&&o.iv&&o.method==="AES-128"){var h=performance.now();this.decrypter.decrypt(new Uint8Array(a),o.key.buffer,o.iv.buffer).catch(function(u){throw l.trigger(p.ERROR,{type:K.MEDIA_ERROR,details:w.FRAG_DECRYPT_ERROR,fatal:!1,error:u,reason:u.message,frag:i}),u}).then(function(u){var d=performance.now();l.trigger(p.FRAG_DECRYPTED,{frag:i,payload:u,stats:{tstart:h,tdecrypt:d}})}).catch(function(u){r.warn(u.name+": "+u.message),r.state=X})}},e.doTick=function(){if(this.media){if(this.state===X){var t=this.currentTrackId,r=this.levels,i=r==null?void 0:r[t];if(!i||!r.length||!i.details)return;var a=this.config,o=this.getLoadPosition(),l=ue.bufferedInfo(this.tracksBuffered[this.currentTrackId]||[],o,a.maxBufferHole),h=l.end,u=l.len,d=this.getFwdBufferInfo(this.media,Z),c=i.details;if(u>this.getMaxBufferLength(d==null?void 0:d.len)+c.levelTargetDuration)return;var f=c.fragments,g=f.length,m=c.edge,E=null,v=this.fragPrevious;if(h<m){var y=a.maxFragLookUpTolerance,T=h>m-y?0:y;!(E=dr(v,f,Math.max(f[0].start,h),T))&&v&&v.start<f[0].start&&(E=f[0])}else E=f[g-1];if(!E)return;if((E=this.mapToInitFragWhenRequired(E)).sn!=="initSegment"){var S=f[E.sn-c.startSN-1];S&&S.cc===E.cc&&this.fragmentTracker.getState(S)===Ht&&(E=S)}this.fragmentTracker.getState(E)===Ht&&this.loadFragment(E,i,h)}}else this.state=X},e.getMaxBufferLength=function(t){var r=s.prototype.getMaxBufferLength.call(this);return t?Math.max(r,t):r},e.loadFragment=function(t,r,i){this.fragCurrent=t,t.sn==="initSegment"?this._loadInitSegment(t,r):(this.startFragRequested=!0,s.prototype.loadFragment.call(this,t,r,i))},fe(n,[{key:"mediaBufferTimeRanges",get:function(){return new _o(this.tracksBuffered[this.currentTrackId]||[])}}]),n}(ci),_o=function(s){this.buffered=void 0;var n=function(e,t,r){if((t>>>=0)>r-1)throw new DOMException("Failed to execute '"+e+"' on 'TimeRanges': The index provided ("+t+") is greater than the maximum bound ("+r+")");return s[t][e]};this.buffered={get length(){return s.length},end:function(e){return n("end",e,s.length)},start:function(e){return n("start",e,s.length)}}},xo=function(s){function n(t){var r;return(r=s.call(this,t,"[subtitle-track-controller]")||this).media=null,r.tracks=[],r.groupIds=null,r.tracksInGroup=[],r.trackId=-1,r.currentTrack=null,r.selectDefaultTrack=!0,r.queuedDefaultTrack=-1,r.asyncPollTrackChange=function(){return r.pollTrackChange(0)},r.useTextTrackPolling=!1,r.subtitlePollingInterval=-1,r._subtitleDisplay=!0,r.onTextTracksChanged=function(){if(r.useTextTrackPolling||self.clearInterval(r.subtitlePollingInterval),r.media&&r.hls.config.renderTextTracksNatively){for(var i=null,a=sr(r.media.textTracks),o=0;o<a.length;o++)if(a[o].mode==="hidden")i=a[o];else if(a[o].mode==="showing"){i=a[o];break}var l=r.findTrackForTextTrack(i);r.subtitleTrack!==l&&r.setSubtitleTrack(l)}},r.registerListeners(),r}Le(n,s);var e=n.prototype;return e.destroy=function(){this.unregisterListeners(),this.tracks.length=0,this.tracksInGroup.length=0,this.currentTrack=null,this.onTextTracksChanged=this.asyncPollTrackChange=null,s.prototype.destroy.call(this)},e.registerListeners=function(){var t=this.hls;t.on(p.MEDIA_ATTACHED,this.onMediaAttached,this),t.on(p.MEDIA_DETACHING,this.onMediaDetaching,this),t.on(p.MANIFEST_LOADING,this.onManifestLoading,this),t.on(p.MANIFEST_PARSED,this.onManifestParsed,this),t.on(p.LEVEL_LOADING,this.onLevelLoading,this),t.on(p.LEVEL_SWITCHING,this.onLevelSwitching,this),t.on(p.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),t.on(p.ERROR,this.onError,this)},e.unregisterListeners=function(){var t=this.hls;t.off(p.MEDIA_ATTACHED,this.onMediaAttached,this),t.off(p.MEDIA_DETACHING,this.onMediaDetaching,this),t.off(p.MANIFEST_LOADING,this.onManifestLoading,this),t.off(p.MANIFEST_PARSED,this.onManifestParsed,this),t.off(p.LEVEL_LOADING,this.onLevelLoading,this),t.off(p.LEVEL_SWITCHING,this.onLevelSwitching,this),t.off(p.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),t.off(p.ERROR,this.onError,this)},e.onMediaAttached=function(t,r){this.media=r.media,this.media&&(this.queuedDefaultTrack>-1&&(this.subtitleTrack=this.queuedDefaultTrack,this.queuedDefaultTrack=-1),this.useTextTrackPolling=!(this.media.textTracks&&"onchange"in this.media.textTracks),this.useTextTrackPolling?this.pollTrackChange(500):this.media.textTracks.addEventListener("change",this.asyncPollTrackChange))},e.pollTrackChange=function(t){self.clearInterval(this.subtitlePollingInterval),this.subtitlePollingInterval=self.setInterval(this.onTextTracksChanged,t)},e.onMediaDetaching=function(){this.media&&(self.clearInterval(this.subtitlePollingInterval),this.useTextTrackPolling||this.media.textTracks.removeEventListener("change",this.asyncPollTrackChange),this.trackId>-1&&(this.queuedDefaultTrack=this.trackId),sr(this.media.textTracks).forEach(function(t){pt(t)}),this.subtitleTrack=-1,this.media=null)},e.onManifestLoading=function(){this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0},e.onManifestParsed=function(t,r){this.tracks=r.subtitleTracks},e.onSubtitleTrackLoaded=function(t,r){var i=r.id,a=r.groupId,o=r.details,l=this.tracksInGroup[i];if(l&&l.groupId===a){var h=l.details;l.details=r.details,this.log("Subtitle track "+i+' "'+l.name+'" lang:'+l.lang+" group:"+a+" loaded ["+o.startSN+"-"+o.endSN+"]"),i===this.trackId&&this.playlistLoaded(i,r,h)}else this.warn("Subtitle track with id:"+i+" and group:"+a+" not found in active group "+(l==null?void 0:l.groupId))},e.onLevelLoading=function(t,r){this.switchLevel(r.level)},e.onLevelSwitching=function(t,r){this.switchLevel(r.level)},e.switchLevel=function(t){var r=this.hls.levels[t];if(r){var i=r.subtitleGroups||null,a=this.groupIds,o=this.currentTrack;if(!i||(a==null?void 0:a.length)!==(i==null?void 0:i.length)||i!=null&&i.some(function(g){return(a==null?void 0:a.indexOf(g))===-1})){this.groupIds=i,this.trackId=-1,this.currentTrack=null;var l=this.tracks.filter(function(g){return!i||i.indexOf(g.groupId)!==-1});if(l.length)this.selectDefaultTrack&&!l.some(function(g){return g.default})&&(this.selectDefaultTrack=!1),l.forEach(function(g,m){g.id=m});else if(!o&&!this.tracksInGroup.length)return;this.tracksInGroup=l;var h=this.hls.config.subtitlePreference;if(!o&&h){this.selectDefaultTrack=!1;var u=Ye(h,l);if(u>-1)o=l[u];else{var d=Ye(h,this.tracks);o=this.tracks[d]}}var c=this.findTrackId(o);c===-1&&o&&(c=this.findTrackId(null));var f={subtitleTracks:l};this.log("Updating subtitle tracks, "+l.length+' track(s) found in "'+(i==null?void 0:i.join(","))+'" group-id'),this.hls.trigger(p.SUBTITLE_TRACKS_UPDATED,f),c!==-1&&this.trackId===-1&&this.setSubtitleTrack(c)}else this.shouldReloadPlaylist(o)&&this.setSubtitleTrack(this.trackId)}},e.findTrackId=function(t){for(var r=this.tracksInGroup,i=this.selectDefaultTrack,a=0;a<r.length;a++){var o=r[a];if((!i||o.default)&&(i||t)&&(!t||St(o,t)))return a}if(t){for(var l=0;l<r.length;l++){var h=r[l];if(Ct(t.attrs,h.attrs,["LANGUAGE","ASSOC-LANGUAGE","CHARACTERISTICS"]))return l}for(var u=0;u<r.length;u++){var d=r[u];if(Ct(t.attrs,d.attrs,["LANGUAGE"]))return u}}return-1},e.findTrackForTextTrack=function(t){if(t){for(var r=this.tracksInGroup,i=0;i<r.length;i++)if(Ai(r[i],t))return i}return-1},e.onError=function(t,r){!r.fatal&&r.context&&(r.context.type!==Ve||r.context.id!==this.trackId||this.groupIds&&this.groupIds.indexOf(r.context.groupId)===-1||this.checkRetry(r))},e.setSubtitleOption=function(t){if(this.hls.config.subtitlePreference=t,t){var r=this.allSubtitleTracks;if(this.selectDefaultTrack=!1,r.length){var i=this.currentTrack;if(i&&St(t,i))return i;var a=Ye(t,this.tracksInGroup);if(a>-1){var o=this.tracksInGroup[a];return this.setSubtitleTrack(a),o}if(i)return null;var l=Ye(t,r);if(l>-1)return r[l]}}return null},e.loadPlaylist=function(t){s.prototype.loadPlaylist.call(this);var r=this.currentTrack;if(this.shouldLoadPlaylist(r)&&r){var i=r.id,a=r.groupId,o=r.url;if(t)try{o=t.addDirectives(o)}catch(l){this.warn("Could not construct new URL with HLS Delivery Directives: "+l)}this.log("Loading subtitle playlist for id "+i),this.hls.trigger(p.SUBTITLE_TRACK_LOADING,{url:o,id:i,groupId:a,deliveryDirectives:t||null})}},e.toggleTrackModes=function(){var t=this.media;if(t){var r,i=sr(t.textTracks),a=this.currentTrack;if(a&&((r=i.filter(function(l){return Ai(a,l)})[0])||this.warn('Unable to find subtitle TextTrack with name "'+a.name+'" and language "'+a.lang+'"')),[].slice.call(i).forEach(function(l){l.mode!=="disabled"&&l!==r&&(l.mode="disabled")}),r){var o=this.subtitleDisplay?"showing":"hidden";r.mode!==o&&(r.mode=o)}}},e.setSubtitleTrack=function(t){var r=this.tracksInGroup;if(this.media)if(t<-1||t>=r.length||!N(t))this.warn("Invalid subtitle track id: "+t);else{this.clearTimer(),this.selectDefaultTrack=!1;var i=this.currentTrack,a=r[t]||null;if(this.trackId=t,this.currentTrack=a,this.toggleTrackModes(),a){var o=!!a.details&&!a.details.live;if(t!==this.trackId||a!==i||!o){this.log("Switching to subtitle-track "+t+(a?' "'+a.name+'" lang:'+a.lang+" group:"+a.groupId:""));var l=a.id,h=a.groupId,u=h===void 0?"":h,d=a.name,c=a.type,f=a.url;this.hls.trigger(p.SUBTITLE_TRACK_SWITCH,{id:l,groupId:u,name:d,type:c,url:f});var g=this.switchParams(a.url,i==null?void 0:i.details,a.details);this.loadPlaylist(g)}}else this.hls.trigger(p.SUBTITLE_TRACK_SWITCH,{id:t})}else this.queuedDefaultTrack=t},fe(n,[{key:"subtitleDisplay",get:function(){return this._subtitleDisplay},set:function(t){this._subtitleDisplay=t,this.trackId>-1&&this.toggleTrackModes()}},{key:"allSubtitleTracks",get:function(){return this.tracks}},{key:"subtitleTracks",get:function(){return this.tracksInGroup}},{key:"subtitleTrack",get:function(){return this.trackId},set:function(t){this.selectDefaultTrack=!1,this.setSubtitleTrack(t)}}]),n}(li),Po=function(){function s(e){this.buffers=void 0,this.queues={video:[],audio:[],audiovideo:[]},this.buffers=e}var n=s.prototype;return n.append=function(e,t,r){var i=this.queues[t];i.push(e),i.length!==1||r||this.executeNext(t)},n.insertAbort=function(e,t){this.queues[t].unshift(e),this.executeNext(t)},n.appendBlocker=function(e){var t,r=new Promise(function(a){t=a}),i={execute:t,onStart:function(){},onComplete:function(){},onError:function(){}};return this.append(i,e),r},n.executeNext=function(e){var t=this.queues[e];if(t.length){var r=t[0];try{r.execute()}catch(a){b.warn('[buffer-operation-queue]: Exception executing "'+e+'" SourceBuffer operation: '+a),r.onError(a);var i=this.buffers[e];i!=null&&i.updating||this.shiftAndExecuteNext(e)}}},n.shiftAndExecuteNext=function(e){this.queues[e].shift(),this.executeNext(e)},n.current=function(e){return this.queues[e][0]},s}(),ba=/(avc[1234]|hvc1|hev1|dvh[1e]|vp09|av01)(?:\.[^.,]+)+/,Fo=function(){function s(e){var t=this;this.details=null,this._objectUrl=null,this.operationQueue=void 0,this.listeners=void 0,this.hls=void 0,this.bufferCodecEventsExpected=0,this._bufferCodecEventsTotal=0,this.media=null,this.mediaSource=null,this.lastMpegAudioChunk=null,this.appendSource=void 0,this.appendErrors={audio:0,video:0,audiovideo:0},this.tracks={},this.pendingTracks={},this.sourceBuffer=void 0,this.log=void 0,this.warn=void 0,this.error=void 0,this._onEndStreaming=function(a){t.hls&&t.hls.pauseBuffering()},this._onStartStreaming=function(a){t.hls&&t.hls.resumeBuffering()},this._onMediaSourceOpen=function(){var a=t.media,o=t.mediaSource;t.log("Media source opened"),a&&(a.removeEventListener("emptied",t._onMediaEmptied),t.updateMediaElementDuration(),t.hls.trigger(p.MEDIA_ATTACHED,{media:a,mediaSource:o})),o&&o.removeEventListener("sourceopen",t._onMediaSourceOpen),t.checkPendingTracks()},this._onMediaSourceClose=function(){t.log("Media source closed")},this._onMediaSourceEnded=function(){t.log("Media source ended")},this._onMediaEmptied=function(){var a=t.mediaSrc,o=t._objectUrl;a!==o&&b.error("Media element src was set while attaching MediaSource ("+o+" > "+a+")")},this.hls=e;var r,i="[buffer-controller]";this.appendSource=(r=ot(e.config.preferManagedMediaSource),typeof self<"u"&&r===self.ManagedMediaSource),this.log=b.log.bind(b,i),this.warn=b.warn.bind(b,i),this.error=b.error.bind(b,i),this._initSourceBuffer(),this.registerListeners()}var n=s.prototype;return n.hasSourceTypes=function(){return this.getSourceBufferTypes().length>0||Object.keys(this.pendingTracks).length>0},n.destroy=function(){this.unregisterListeners(),this.details=null,this.lastMpegAudioChunk=null,this.hls=null},n.registerListeners=function(){var e=this.hls;e.on(p.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(p.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(p.MANIFEST_LOADING,this.onManifestLoading,this),e.on(p.MANIFEST_PARSED,this.onManifestParsed,this),e.on(p.BUFFER_RESET,this.onBufferReset,this),e.on(p.BUFFER_APPENDING,this.onBufferAppending,this),e.on(p.BUFFER_CODECS,this.onBufferCodecs,this),e.on(p.BUFFER_EOS,this.onBufferEos,this),e.on(p.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(p.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(p.FRAG_PARSED,this.onFragParsed,this),e.on(p.FRAG_CHANGED,this.onFragChanged,this)},n.unregisterListeners=function(){var e=this.hls;e.off(p.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(p.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(p.MANIFEST_LOADING,this.onManifestLoading,this),e.off(p.MANIFEST_PARSED,this.onManifestParsed,this),e.off(p.BUFFER_RESET,this.onBufferReset,this),e.off(p.BUFFER_APPENDING,this.onBufferAppending,this),e.off(p.BUFFER_CODECS,this.onBufferCodecs,this),e.off(p.BUFFER_EOS,this.onBufferEos,this),e.off(p.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(p.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(p.FRAG_PARSED,this.onFragParsed,this),e.off(p.FRAG_CHANGED,this.onFragChanged,this)},n._initSourceBuffer=function(){this.sourceBuffer={},this.operationQueue=new Po(this.sourceBuffer),this.listeners={audio:[],video:[],audiovideo:[]},this.appendErrors={audio:0,video:0,audiovideo:0},this.lastMpegAudioChunk=null},n.onManifestLoading=function(){this.bufferCodecEventsExpected=this._bufferCodecEventsTotal=0,this.details=null},n.onManifestParsed=function(e,t){var r=2;(t.audio&&!t.video||!t.altAudio)&&(r=1),this.bufferCodecEventsExpected=this._bufferCodecEventsTotal=r,this.log(this.bufferCodecEventsExpected+" bufferCodec event(s) expected")},n.onMediaAttaching=function(e,t){var r=this.media=t.media,i=ot(this.appendSource);if(r&&i){var a,o=this.mediaSource=new i;this.log("created media source: "+((a=o.constructor)==null?void 0:a.name)),o.addEventListener("sourceopen",this._onMediaSourceOpen),o.addEventListener("sourceended",this._onMediaSourceEnded),o.addEventListener("sourceclose",this._onMediaSourceClose),this.appendSource&&(o.addEventListener("startstreaming",this._onStartStreaming),o.addEventListener("endstreaming",this._onEndStreaming));var l=this._objectUrl=self.URL.createObjectURL(o);if(this.appendSource)try{r.removeAttribute("src");var h=self.ManagedMediaSource;r.disableRemotePlayback=r.disableRemotePlayback||h&&o instanceof h,ka(r),function(u,d){var c=self.document.createElement("source");c.type="video/mp4",c.src=d,u.appendChild(c)}(r,l),r.load()}catch{r.src=l}else r.src=l;r.addEventListener("emptied",this._onMediaEmptied)}},n.onMediaDetaching=function(){var e=this.media,t=this.mediaSource,r=this._objectUrl;if(t){if(this.log("media source detaching"),t.readyState==="open")try{t.endOfStream()}catch(i){this.warn("onMediaDetaching: "+i.message+" while calling endOfStream")}this.onBufferReset(),t.removeEventListener("sourceopen",this._onMediaSourceOpen),t.removeEventListener("sourceended",this._onMediaSourceEnded),t.removeEventListener("sourceclose",this._onMediaSourceClose),this.appendSource&&(t.removeEventListener("startstreaming",this._onStartStreaming),t.removeEventListener("endstreaming",this._onEndStreaming)),e&&(e.removeEventListener("emptied",this._onMediaEmptied),r&&self.URL.revokeObjectURL(r),this.mediaSrc===r?(e.removeAttribute("src"),this.appendSource&&ka(e),e.load()):this.warn("media|source.src was changed by a third party - skip cleanup")),this.mediaSource=null,this.media=null,this._objectUrl=null,this.bufferCodecEventsExpected=this._bufferCodecEventsTotal,this.pendingTracks={},this.tracks={}}this.hls.trigger(p.MEDIA_DETACHED,void 0)},n.onBufferReset=function(){var e=this;this.getSourceBufferTypes().forEach(function(t){e.resetBuffer(t)}),this._initSourceBuffer()},n.resetBuffer=function(e){var t=this.sourceBuffer[e];try{var r;t&&(this.removeBufferListeners(e),this.sourceBuffer[e]=void 0,(r=this.mediaSource)!=null&&r.sourceBuffers.length&&this.mediaSource.removeSourceBuffer(t))}catch(i){this.warn("onBufferReset "+e,i)}},n.onBufferCodecs=function(e,t){var r=this,i=this.getSourceBufferTypes().length,a=Object.keys(t);if(a.forEach(function(l){if(i){var h=r.tracks[l];if(h&&typeof h.buffer.changeType=="function"){var u,d=t[l],c=d.id,f=d.codec,g=d.levelCodec,m=d.container,E=d.metadata,v=En(h.codec,h.levelCodec),y=v==null?void 0:v.replace(ba,"$1"),T=En(f,g),S=(u=T)==null?void 0:u.replace(ba,"$1");if(T&&y!==S){l.slice(0,5)==="audio"&&(T=ar(T,r.appendSource));var A=m+";codecs="+T;r.appendChangeType(l,A),r.log("switching codec "+v+" to "+T),r.tracks[l]={buffer:h.buffer,codec:f,container:m,levelCodec:g,metadata:E,id:c}}}}else r.pendingTracks[l]=t[l]}),!i){var o=Math.max(this.bufferCodecEventsExpected-1,0);this.bufferCodecEventsExpected!==o&&(this.log(o+" bufferCodec event(s) expected "+a.join(",")),this.bufferCodecEventsExpected=o),this.mediaSource&&this.mediaSource.readyState==="open"&&this.checkPendingTracks()}},n.appendChangeType=function(e,t){var r=this,i=this.operationQueue,a={execute:function(){var o=r.sourceBuffer[e];o&&(r.log("changing "+e+" sourceBuffer type to "+t),o.changeType(t)),i.shiftAndExecuteNext(e)},onStart:function(){},onComplete:function(){},onError:function(o){r.warn("Failed to change "+e+" SourceBuffer type",o)}};i.append(a,e,!!this.pendingTracks[e])},n.onBufferAppending=function(e,t){var r=this,i=this.hls,a=this.operationQueue,o=this.tracks,l=t.data,h=t.type,u=t.frag,d=t.part,c=t.chunkMeta,f=c.buffering[h],g=self.performance.now();f.start=g;var m=u.stats.buffering,E=d?d.stats.buffering:null;m.start===0&&(m.start=g),E&&E.start===0&&(E.start=g);var v=o.audio,y=!1;h==="audio"&&(v==null?void 0:v.container)==="audio/mpeg"&&(y=!this.lastMpegAudioChunk||c.id===1||this.lastMpegAudioChunk.sn!==c.sn,this.lastMpegAudioChunk=c);var T=u.start,S={execute:function(){if(f.executeStart=self.performance.now(),y){var A=r.sourceBuffer[h];if(A){var R=T-A.timestampOffset;Math.abs(R)>=.1&&(r.log("Updating audio SourceBuffer timestampOffset to "+T+" (delta: "+R+") sn: "+u.sn+")"),A.timestampOffset=T)}}r.appendExecutor(l,h)},onStart:function(){},onComplete:function(){var A=self.performance.now();f.executeEnd=f.end=A,m.first===0&&(m.first=A),E&&E.first===0&&(E.first=A);var R=r.sourceBuffer,L={};for(var D in R)L[D]=ue.getBuffered(R[D]);r.appendErrors[h]=0,h==="audio"||h==="video"?r.appendErrors.audiovideo=0:(r.appendErrors.audio=0,r.appendErrors.video=0),r.hls.trigger(p.BUFFER_APPENDED,{type:h,frag:u,part:d,chunkMeta:c,parent:u.type,timeRanges:L})},onError:function(A){var R={type:K.MEDIA_ERROR,parent:u.type,details:w.BUFFER_APPEND_ERROR,sourceBufferName:h,frag:u,part:d,chunkMeta:c,error:A,err:A,fatal:!1};if(A.code===DOMException.QUOTA_EXCEEDED_ERR)R.details=w.BUFFER_FULL_ERROR;else{var L=++r.appendErrors[h];R.details=w.BUFFER_APPEND_ERROR,r.warn("Failed "+L+"/"+i.config.appendErrorMaxRetry+' times to append segment in "'+h+'" sourceBuffer'),L>=i.config.appendErrorMaxRetry&&(R.fatal=!0)}i.trigger(p.ERROR,R)}};a.append(S,h,!!this.pendingTracks[h])},n.onBufferFlushing=function(e,t){var r=this,i=this.operationQueue,a=function(o){return{execute:r.removeExecutor.bind(r,o,t.startOffset,t.endOffset),onStart:function(){},onComplete:function(){r.hls.trigger(p.BUFFER_FLUSHED,{type:o})},onError:function(l){r.warn("Failed to remove from "+o+" SourceBuffer",l)}}};t.type?i.append(a(t.type),t.type):this.getSourceBufferTypes().forEach(function(o){i.append(a(o),o)})},n.onFragParsed=function(e,t){var r=this,i=t.frag,a=t.part,o=[],l=a?a.elementaryStreams:i.elementaryStreams;l[Mr]?o.push("audiovideo"):(l[we]&&o.push("audio"),l[Pe]&&o.push("video")),o.length===0&&this.warn("Fragments must have at least one ElementaryStreamType set. type: "+i.type+" level: "+i.level+" sn: "+i.sn),this.blockBuffers(function(){var h=self.performance.now();i.stats.buffering.end=h,a&&(a.stats.buffering.end=h);var u=a?a.stats:i.stats;r.hls.trigger(p.FRAG_BUFFERED,{frag:i,part:a,stats:u,id:i.type})},o)},n.onFragChanged=function(e,t){this.trimBuffers()},n.onBufferEos=function(e,t){var r=this;this.getSourceBufferTypes().reduce(function(i,a){var o=r.sourceBuffer[a];return!o||t.type&&t.type!==a||(o.ending=!0,o.ended||(o.ended=!0,r.log(a+" sourceBuffer now EOS"))),i&&!(o&&!o.ended)},!0)&&(this.log("Queueing mediaSource.endOfStream()"),this.blockBuffers(function(){r.getSourceBufferTypes().forEach(function(a){var o=r.sourceBuffer[a];o&&(o.ending=!1)});var i=r.mediaSource;i&&i.readyState==="open"?(r.log("Calling mediaSource.endOfStream()"),i.endOfStream()):i&&r.log("Could not call mediaSource.endOfStream(). mediaSource.readyState: "+i.readyState)}))},n.onLevelUpdated=function(e,t){var r=t.details;r.fragments.length&&(this.details=r,this.getSourceBufferTypes().length?this.blockBuffers(this.updateMediaElementDuration.bind(this)):this.updateMediaElementDuration())},n.trimBuffers=function(){var e=this.hls,t=this.details,r=this.media;if(r&&t!==null&&this.getSourceBufferTypes().length){var i=e.config,a=r.currentTime,o=t.levelTargetDuration,l=t.live&&i.liveBackBufferLength!==null?i.liveBackBufferLength:i.backBufferLength;if(N(l)&&l>0){var h=Math.max(l,o),u=Math.floor(a/o)*o-h;this.flushBackBuffer(a,o,u)}if(N(i.frontBufferFlushThreshold)&&i.frontBufferFlushThreshold>0){var d=Math.max(i.maxBufferLength,i.frontBufferFlushThreshold),c=Math.max(d,o),f=Math.floor(a/o)*o+c;this.flushFrontBuffer(a,o,f)}}},n.flushBackBuffer=function(e,t,r){var i=this,a=this.details,o=this.sourceBuffer;this.getSourceBufferTypes().forEach(function(l){var h=o[l];if(h){var u=ue.getBuffered(h);if(u.length>0&&r>u.start(0)){if(i.hls.trigger(p.BACK_BUFFER_REACHED,{bufferEnd:r}),a!=null&&a.live)i.hls.trigger(p.LIVE_BACK_BUFFER_REACHED,{bufferEnd:r});else if(h.ended&&u.end(u.length-1)-e<2*t)return void i.log("Cannot flush "+l+" back buffer while SourceBuffer is in ended state");i.hls.trigger(p.BUFFER_FLUSHING,{startOffset:0,endOffset:r,type:l})}}})},n.flushFrontBuffer=function(e,t,r){var i=this,a=this.sourceBuffer;this.getSourceBufferTypes().forEach(function(o){var l=a[o];if(l){var h=ue.getBuffered(l),u=h.length;if(u<2)return;var d=h.start(u-1),c=h.end(u-1);if(r>d||e>=d&&e<=c)return;if(l.ended&&e-c<2*t)return void i.log("Cannot flush "+o+" front buffer while SourceBuffer is in ended state");i.hls.trigger(p.BUFFER_FLUSHING,{startOffset:d,endOffset:1/0,type:o})}})},n.updateMediaElementDuration=function(){if(this.details&&this.media&&this.mediaSource&&this.mediaSource.readyState==="open"){var e=this.details,t=this.hls,r=this.media,i=this.mediaSource,a=e.fragments[0].start+e.totalduration,o=r.duration,l=N(i.duration)?i.duration:0;e.live&&t.config.liveDurationInfinity?(i.duration=1/0,this.updateSeekableRange(e)):(a>l&&a>o||!N(o))&&(this.log("Updating Media Source duration to "+a.toFixed(3)),i.duration=a)}},n.updateSeekableRange=function(e){var t=this.mediaSource,r=e.fragments;if(r.length&&e.live&&t!=null&&t.setLiveSeekableRange){var i=Math.max(0,r[0].start),a=Math.max(i,i+e.totalduration);this.log("Media Source duration is set to "+t.duration+". Setting seekable range to "+i+"-"+a+"."),t.setLiveSeekableRange(i,a)}},n.checkPendingTracks=function(){var e=this.bufferCodecEventsExpected,t=this.operationQueue,r=this.pendingTracks,i=Object.keys(r).length;if(i&&(!e||i===2||"audiovideo"in r)){this.createSourceBuffers(r),this.pendingTracks={};var a=this.getSourceBufferTypes();if(a.length)this.hls.trigger(p.BUFFER_CREATED,{tracks:this.tracks}),a.forEach(function(l){t.executeNext(l)});else{var o=new Error("could not create source buffer for media codec(s)");this.hls.trigger(p.ERROR,{type:K.MEDIA_ERROR,details:w.BUFFER_INCOMPATIBLE_CODECS_ERROR,fatal:!0,error:o,reason:o.message})}}},n.createSourceBuffers=function(e){var t=this,r=this.sourceBuffer,i=this.mediaSource;if(!i)throw Error("createSourceBuffers called when mediaSource was null");var a=function(l){if(!r[l]){var h,u=e[l];if(!u)throw Error("source buffer exists for track "+l+", however track does not");var d=((h=u.levelCodec)==null?void 0:h.indexOf(","))===-1?u.levelCodec:u.codec;d&&l.slice(0,5)==="audio"&&(d=ar(d,t.appendSource));var c=u.container+";codecs="+d;t.log("creating sourceBuffer("+c+")");try{var f=r[l]=i.addSourceBuffer(c),g=l;t.addBufferListener(g,"updatestart",t._onSBUpdateStart),t.addBufferListener(g,"updateend",t._onSBUpdateEnd),t.addBufferListener(g,"error",t._onSBUpdateError),t.appendSource&&t.addBufferListener(g,"bufferedchange",function(m,E){var v=E.removedRanges;v!=null&&v.length&&t.hls.trigger(p.BUFFER_FLUSHED,{type:l})}),t.tracks[l]={buffer:f,codec:d,container:u.container,levelCodec:u.levelCodec,metadata:u.metadata,id:u.id}}catch(m){t.error("error while trying to add sourceBuffer: "+m.message),t.hls.trigger(p.ERROR,{type:K.MEDIA_ERROR,details:w.BUFFER_ADD_CODEC_ERROR,fatal:!1,error:m,sourceBufferName:l,mimeType:c})}}};for(var o in e)a(o)},n._onSBUpdateStart=function(e){this.operationQueue.current(e).onStart()},n._onSBUpdateEnd=function(e){var t;if(((t=this.mediaSource)==null?void 0:t.readyState)!=="closed"){var r=this.operationQueue;r.current(e).onComplete(),r.shiftAndExecuteNext(e)}else this.resetBuffer(e)},n._onSBUpdateError=function(e,t){var r,i=new Error(e+" SourceBuffer error. MediaSource readyState: "+((r=this.mediaSource)==null?void 0:r.readyState));this.error(""+i,t),this.hls.trigger(p.ERROR,{type:K.MEDIA_ERROR,details:w.BUFFER_APPENDING_ERROR,sourceBufferName:e,error:i,fatal:!1});var a=this.operationQueue.current(e);a&&a.onError(i)},n.removeExecutor=function(e,t,r){var i=this.media,a=this.mediaSource,o=this.operationQueue,l=this.sourceBuffer[e];if(!i||!a||!l)return this.warn("Attempting to remove from the "+e+" SourceBuffer, but it does not exist"),void o.shiftAndExecuteNext(e);var h=N(i.duration)?i.duration:1/0,u=N(a.duration)?a.duration:1/0,d=Math.max(0,t),c=Math.min(r,h,u);c>d&&(!l.ending||l.ended)?(l.ended=!1,this.log("Removing ["+d+","+c+"] from the "+e+" SourceBuffer"),l.remove(d,c)):o.shiftAndExecuteNext(e)},n.appendExecutor=function(e,t){var r=this.sourceBuffer[t];if(r)r.ended=!1,r.appendBuffer(e);else if(!this.pendingTracks[t])throw new Error("Attempting to append to the "+t+" SourceBuffer, but it does not exist")},n.blockBuffers=function(e,t){var r=this;if(t===void 0&&(t=this.getSourceBufferTypes()),!t.length)return this.log("Blocking operation requested, but no SourceBuffers exist"),void Promise.resolve().then(e);var i=this.operationQueue,a=t.map(function(o){return i.appendBlocker(o)});Promise.all(a).then(function(){e(),t.forEach(function(o){var l=r.sourceBuffer[o];l!=null&&l.updating||i.shiftAndExecuteNext(o)})})},n.getSourceBufferTypes=function(){return Object.keys(this.sourceBuffer)},n.addBufferListener=function(e,t,r){var i=this.sourceBuffer[e];if(i){var a=r.bind(this,e);this.listeners[e].push({event:t,listener:a}),i.addEventListener(t,a)}},n.removeBufferListeners=function(e){var t=this.sourceBuffer[e];t&&this.listeners[e].forEach(function(r){t.removeEventListener(r.event,r.listener)})},fe(s,[{key:"mediaSrc",get:function(){var e,t=((e=this.media)==null?void 0:e.firstChild)||this.media;return t==null?void 0:t.src}}]),s}();function ka(s){var n=s.querySelectorAll("source");[].slice.call(n).forEach(function(e){s.removeChild(e)})}var Mo={42:225,92:233,94:237,95:243,96:250,123:231,124:247,125:209,126:241,127:9608,128:174,129:176,130:189,131:191,132:8482,133:162,134:163,135:9834,136:224,137:32,138:232,139:226,140:234,141:238,142:244,143:251,144:193,145:201,146:211,147:218,148:220,149:252,150:8216,151:161,152:42,153:8217,154:9473,155:169,156:8480,157:8226,158:8220,159:8221,160:192,161:194,162:199,163:200,164:202,165:203,166:235,167:206,168:207,169:239,170:212,171:217,172:249,173:219,174:171,175:187,176:195,177:227,178:205,179:204,180:236,181:210,182:242,183:213,184:245,185:123,186:125,187:92,188:94,189:95,190:124,191:8764,192:196,193:228,194:214,195:246,196:223,197:165,198:164,199:9475,200:197,201:229,202:216,203:248,204:9487,205:9491,206:9495,207:9499},Da=function(s){return String.fromCharCode(Mo[s]||s)},dt=15,Ze=100,Oo={17:1,18:3,21:5,22:7,23:9,16:11,19:12,20:14},No={17:2,18:4,21:6,22:8,23:10,19:13,20:15},Uo={25:1,26:3,29:5,30:7,31:9,24:11,27:12,28:14},Bo={25:2,26:4,29:6,30:8,31:10,27:13,28:15},Go=["white","green","blue","cyan","red","yellow","magenta","black","transparent"],Ko=function(){function s(){this.time=null,this.verboseLevel=0}return s.prototype.log=function(n,e){if(this.verboseLevel>=n){var t=typeof e=="function"?e():e;b.log(this.time+" ["+n+"] "+t)}},s}(),ct=function(s){for(var n=[],e=0;e<s.length;e++)n.push(s[e].toString(16));return n},wa=function(){function s(){this.foreground="white",this.underline=!1,this.italics=!1,this.background="black",this.flash=!1}var n=s.prototype;return n.reset=function(){this.foreground="white",this.underline=!1,this.italics=!1,this.background="black",this.flash=!1},n.setStyles=function(e){for(var t=["foreground","underline","italics","background","flash"],r=0;r<t.length;r++){var i=t[r];e.hasOwnProperty(i)&&(this[i]=e[i])}},n.isDefault=function(){return this.foreground==="white"&&!this.underline&&!this.italics&&this.background==="black"&&!this.flash},n.equals=function(e){return this.foreground===e.foreground&&this.underline===e.underline&&this.italics===e.italics&&this.background===e.background&&this.flash===e.flash},n.copy=function(e){this.foreground=e.foreground,this.underline=e.underline,this.italics=e.italics,this.background=e.background,this.flash=e.flash},n.toString=function(){return"color="+this.foreground+", underline="+this.underline+", italics="+this.italics+", background="+this.background+", flash="+this.flash},s}(),Ho=function(){function s(){this.uchar=" ",this.penState=new wa}var n=s.prototype;return n.reset=function(){this.uchar=" ",this.penState.reset()},n.setChar=function(e,t){this.uchar=e,this.penState.copy(t)},n.setPenState=function(e){this.penState.copy(e)},n.equals=function(e){return this.uchar===e.uchar&&this.penState.equals(e.penState)},n.copy=function(e){this.uchar=e.uchar,this.penState.copy(e.penState)},n.isEmpty=function(){return this.uchar===" "&&this.penState.isDefault()},s}(),Vo=function(){function s(e){this.chars=[],this.pos=0,this.currPenState=new wa,this.cueStartTime=null,this.logger=void 0;for(var t=0;t<Ze;t++)this.chars.push(new Ho);this.logger=e}var n=s.prototype;return n.equals=function(e){for(var t=0;t<Ze;t++)if(!this.chars[t].equals(e.chars[t]))return!1;return!0},n.copy=function(e){for(var t=0;t<Ze;t++)this.chars[t].copy(e.chars[t])},n.isEmpty=function(){for(var e=!0,t=0;t<Ze;t++)if(!this.chars[t].isEmpty()){e=!1;break}return e},n.setCursor=function(e){this.pos!==e&&(this.pos=e),this.pos<0?(this.logger.log(3,"Negative cursor position "+this.pos),this.pos=0):this.pos>Ze&&(this.logger.log(3,"Too large cursor position "+this.pos),this.pos=Ze)},n.moveCursor=function(e){var t=this.pos+e;if(e>1)for(var r=this.pos+1;r<t+1;r++)this.chars[r].setPenState(this.currPenState);this.setCursor(t)},n.backSpace=function(){this.moveCursor(-1),this.chars[this.pos].setChar(" ",this.currPenState)},n.insertChar=function(e){var t=this;e>=144&&this.backSpace();var r=Da(e);this.pos>=Ze?this.logger.log(0,function(){return"Cannot insert "+e.toString(16)+" ("+r+") at position "+t.pos+". Skipping it!"}):(this.chars[this.pos].setChar(r,this.currPenState),this.moveCursor(1))},n.clearFromPos=function(e){var t;for(t=e;t<Ze;t++)this.chars[t].reset()},n.clear=function(){this.clearFromPos(0),this.pos=0,this.currPenState.reset()},n.clearToEndOfRow=function(){this.clearFromPos(this.pos)},n.getTextString=function(){for(var e=[],t=!0,r=0;r<Ze;r++){var i=this.chars[r].uchar;i!==" "&&(t=!1),e.push(i)}return t?"":e.join("")},n.setPenStyles=function(e){this.currPenState.setStyles(e),this.chars[this.pos].setPenState(this.currPenState)},s}(),Ri=function(){function s(e){this.rows=[],this.currRow=14,this.nrRollUpRows=null,this.lastOutputScreen=null,this.logger=void 0;for(var t=0;t<dt;t++)this.rows.push(new Vo(e));this.logger=e}var n=s.prototype;return n.reset=function(){for(var e=0;e<dt;e++)this.rows[e].clear();this.currRow=14},n.equals=function(e){for(var t=!0,r=0;r<dt;r++)if(!this.rows[r].equals(e.rows[r])){t=!1;break}return t},n.copy=function(e){for(var t=0;t<dt;t++)this.rows[t].copy(e.rows[t])},n.isEmpty=function(){for(var e=!0,t=0;t<dt;t++)if(!this.rows[t].isEmpty()){e=!1;break}return e},n.backSpace=function(){this.rows[this.currRow].backSpace()},n.clearToEndOfRow=function(){this.rows[this.currRow].clearToEndOfRow()},n.insertChar=function(e){this.rows[this.currRow].insertChar(e)},n.setPen=function(e){this.rows[this.currRow].setPenStyles(e)},n.moveCursor=function(e){this.rows[this.currRow].moveCursor(e)},n.setCursor=function(e){this.logger.log(2,"setCursor: "+e),this.rows[this.currRow].setCursor(e)},n.setPAC=function(e){this.logger.log(2,function(){return"pacData = "+JSON.stringify(e)});var t=e.row-1;if(this.nrRollUpRows&&t<this.nrRollUpRows-1&&(t=this.nrRollUpRows-1),this.nrRollUpRows&&this.currRow!==t){for(var r=0;r<dt;r++)this.rows[r].clear();var i=this.currRow+1-this.nrRollUpRows,a=this.lastOutputScreen;if(a){var o=a.rows[i].cueStartTime,l=this.logger.time;if(o!==null&&l!==null&&o<l)for(var h=0;h<this.nrRollUpRows;h++)this.rows[t-this.nrRollUpRows+h+1].copy(a.rows[i+h])}}this.currRow=t;var u=this.rows[this.currRow];if(e.indent!==null){var d=e.indent,c=Math.max(d-1,0);u.setCursor(e.indent),e.color=u.chars[c].penState.foreground}var f={foreground:e.color,underline:e.underline,italics:e.italics,background:"black",flash:!1};this.setPen(f)},n.setBkgData=function(e){this.logger.log(2,function(){return"bkgData = "+JSON.stringify(e)}),this.backSpace(),this.setPen(e),this.insertChar(32)},n.setRollUpRows=function(e){this.nrRollUpRows=e},n.rollUp=function(){var e=this;if(this.nrRollUpRows!==null){this.logger.log(1,function(){return e.getDisplayText()});var t=this.currRow+1-this.nrRollUpRows,r=this.rows.splice(t,1)[0];r.clear(),this.rows.splice(this.currRow,0,r),this.logger.log(2,"Rolling up")}else this.logger.log(3,"roll_up but nrRollUpRows not set yet")},n.getDisplayText=function(e){e=e||!1;for(var t=[],r="",i=-1,a=0;a<dt;a++){var o=this.rows[a].getTextString();o&&(i=a+1,e?t.push("Row "+i+": '"+o+"'"):t.push(o.trim()))}return t.length>0&&(r=e?"["+t.join(" | ")+"]":t.join(`
+`)),r},n.getTextAndFormat=function(){return this.rows},s}(),Ia=function(){function s(e,t,r){this.chNr=void 0,this.outputFilter=void 0,this.mode=void 0,this.verbose=void 0,this.displayedMemory=void 0,this.nonDisplayedMemory=void 0,this.lastOutputScreen=void 0,this.currRollUpRow=void 0,this.writeScreen=void 0,this.cueStartTime=void 0,this.logger=void 0,this.chNr=e,this.outputFilter=t,this.mode=null,this.verbose=0,this.displayedMemory=new Ri(r),this.nonDisplayedMemory=new Ri(r),this.lastOutputScreen=new Ri(r),this.currRollUpRow=this.displayedMemory.rows[14],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null,this.logger=r}var n=s.prototype;return n.reset=function(){this.mode=null,this.displayedMemory.reset(),this.nonDisplayedMemory.reset(),this.lastOutputScreen.reset(),this.outputFilter.reset(),this.currRollUpRow=this.displayedMemory.rows[14],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null},n.getHandler=function(){return this.outputFilter},n.setHandler=function(e){this.outputFilter=e},n.setPAC=function(e){this.writeScreen.setPAC(e)},n.setBkgData=function(e){this.writeScreen.setBkgData(e)},n.setMode=function(e){e!==this.mode&&(this.mode=e,this.logger.log(2,function(){return"MODE="+e}),this.mode==="MODE_POP-ON"?this.writeScreen=this.nonDisplayedMemory:(this.writeScreen=this.displayedMemory,this.writeScreen.reset()),this.mode!=="MODE_ROLL-UP"&&(this.displayedMemory.nrRollUpRows=null,this.nonDisplayedMemory.nrRollUpRows=null),this.mode=e)},n.insertChars=function(e){for(var t=this,r=0;r<e.length;r++)this.writeScreen.insertChar(e[r]);var i=this.writeScreen===this.displayedMemory?"DISP":"NON_DISP";this.logger.log(2,function(){return i+": "+t.writeScreen.getDisplayText(!0)}),this.mode!=="MODE_PAINT-ON"&&this.mode!=="MODE_ROLL-UP"||(this.logger.log(1,function(){return"DISPLAYED: "+t.displayedMemory.getDisplayText(!0)}),this.outputDataUpdate())},n.ccRCL=function(){this.logger.log(2,"RCL - Resume Caption Loading"),this.setMode("MODE_POP-ON")},n.ccBS=function(){this.logger.log(2,"BS - BackSpace"),this.mode!=="MODE_TEXT"&&(this.writeScreen.backSpace(),this.writeScreen===this.displayedMemory&&this.outputDataUpdate())},n.ccAOF=function(){},n.ccAON=function(){},n.ccDER=function(){this.logger.log(2,"DER- Delete to End of Row"),this.writeScreen.clearToEndOfRow(),this.outputDataUpdate()},n.ccRU=function(e){this.logger.log(2,"RU("+e+") - Roll Up"),this.writeScreen=this.displayedMemory,this.setMode("MODE_ROLL-UP"),this.writeScreen.setRollUpRows(e)},n.ccFON=function(){this.logger.log(2,"FON - Flash On"),this.writeScreen.setPen({flash:!0})},n.ccRDC=function(){this.logger.log(2,"RDC - Resume Direct Captioning"),this.setMode("MODE_PAINT-ON")},n.ccTR=function(){this.logger.log(2,"TR"),this.setMode("MODE_TEXT")},n.ccRTD=function(){this.logger.log(2,"RTD"),this.setMode("MODE_TEXT")},n.ccEDM=function(){this.logger.log(2,"EDM - Erase Displayed Memory"),this.displayedMemory.reset(),this.outputDataUpdate(!0)},n.ccCR=function(){this.logger.log(2,"CR - Carriage Return"),this.writeScreen.rollUp(),this.outputDataUpdate(!0)},n.ccENM=function(){this.logger.log(2,"ENM - Erase Non-displayed Memory"),this.nonDisplayedMemory.reset()},n.ccEOC=function(){var e=this;if(this.logger.log(2,"EOC - End Of Caption"),this.mode==="MODE_POP-ON"){var t=this.displayedMemory;this.displayedMemory=this.nonDisplayedMemory,this.nonDisplayedMemory=t,this.writeScreen=this.nonDisplayedMemory,this.logger.log(1,function(){return"DISP: "+e.displayedMemory.getDisplayText()})}this.outputDataUpdate(!0)},n.ccTO=function(e){this.logger.log(2,"TO("+e+") - Tab Offset"),this.writeScreen.moveCursor(e)},n.ccMIDROW=function(e){var t={flash:!1};if(t.underline=e%2==1,t.italics=e>=46,t.italics)t.foreground="white";else{var r=Math.floor(e/2)-16;t.foreground=["white","green","blue","cyan","red","yellow","magenta"][r]}this.logger.log(2,"MIDROW: "+JSON.stringify(t)),this.writeScreen.setPen(t)},n.outputDataUpdate=function(e){e===void 0&&(e=!1);var t=this.logger.time;t!==null&&this.outputFilter&&(this.cueStartTime!==null||this.displayedMemory.isEmpty()?this.displayedMemory.equals(this.lastOutputScreen)||(this.outputFilter.newCue(this.cueStartTime,t,this.lastOutputScreen),e&&this.outputFilter.dispatchCue&&this.outputFilter.dispatchCue(),this.cueStartTime=this.displayedMemory.isEmpty()?null:t):this.cueStartTime=t,this.lastOutputScreen.copy(this.displayedMemory))},n.cueSplitAtTime=function(e){this.outputFilter&&(this.displayedMemory.isEmpty()||(this.outputFilter.newCue&&this.outputFilter.newCue(this.cueStartTime,e,this.displayedMemory),this.cueStartTime=e))},s}(),Ca=function(){function s(e,t,r){this.channels=void 0,this.currentChannel=0,this.cmdHistory={a:null,b:null},this.logger=void 0;var i=this.logger=new Ko;this.channels=[null,new Ia(e,t,i),new Ia(e+1,r,i)]}var n=s.prototype;return n.getHandler=function(e){return this.channels[e].getHandler()},n.setHandler=function(e,t){this.channels[e].setHandler(t)},n.addData=function(e,t){var r=this;this.logger.time=e;for(var i=function(o){var l=127&t[o],h=127&t[o+1],u=!1,d=null;if(l===0&&h===0)return 0;r.logger.log(3,function(){return"["+ct([t[o],t[o+1]])+"] -> ("+ct([l,h])+")"});var c=r.cmdHistory;if(l>=16&&l<=31){if(function(g,m,E){return E.a===g&&E.b===m}(l,h,c))return Ar(null,null,c),r.logger.log(3,function(){return"Repeated command ("+ct([l,h])+") is dropped"}),0;Ar(l,h,r.cmdHistory),(u=r.parseCmd(l,h))||(u=r.parseMidrow(l,h)),u||(u=r.parsePAC(l,h)),u||(u=r.parseBackgroundAttributes(l,h))}else Ar(null,null,c);if(!u&&(d=r.parseChars(l,h))){var f=r.currentChannel;f&&f>0?r.channels[f].insertChars(d):r.logger.log(2,"No channel found yet. TEXT-MODE?")}u||d||r.logger.log(2,function(){return"Couldn't parse cleaned data "+ct([l,h])+" orig: "+ct([t[o],t[o+1]])})},a=0;a<t.length;a+=2)i(a)},n.parseCmd=function(e,t){if(!((e===20||e===28||e===21||e===29)&&t>=32&&t<=47||(e===23||e===31)&&t>=33&&t<=35))return!1;var r=e===20||e===21||e===23?1:2,i=this.channels[r];return e===20||e===21||e===28||e===29?t===32?i.ccRCL():t===33?i.ccBS():t===34?i.ccAOF():t===35?i.ccAON():t===36?i.ccDER():t===37?i.ccRU(2):t===38?i.ccRU(3):t===39?i.ccRU(4):t===40?i.ccFON():t===41?i.ccRDC():t===42?i.ccTR():t===43?i.ccRTD():t===44?i.ccEDM():t===45?i.ccCR():t===46?i.ccENM():t===47&&i.ccEOC():i.ccTO(t-32),this.currentChannel=r,!0},n.parseMidrow=function(e,t){var r=0;if((e===17||e===25)&&t>=32&&t<=47){if((r=e===17?1:2)!==this.currentChannel)return this.logger.log(0,"Mismatch channel in midrow parsing"),!1;var i=this.channels[r];return!!i&&(i.ccMIDROW(t),this.logger.log(3,function(){return"MIDROW ("+ct([e,t])+")"}),!0)}return!1},n.parsePAC=function(e,t){var r;if(!((e>=17&&e<=23||e>=25&&e<=31)&&t>=64&&t<=127||(e===16||e===24)&&t>=64&&t<=95))return!1;var i=e<=23?1:2;r=t>=64&&t<=95?i===1?Oo[e]:Uo[e]:i===1?No[e]:Bo[e];var a=this.channels[i];return!!a&&(a.setPAC(this.interpretPAC(r,t)),this.currentChannel=i,!0)},n.interpretPAC=function(e,t){var r,i={color:null,italics:!1,indent:null,underline:!1,row:e};return r=t>95?t-96:t-64,i.underline=(1&r)==1,r<=13?i.color=["white","green","blue","cyan","red","yellow","magenta","white"][Math.floor(r/2)]:r<=15?(i.italics=!0,i.color="white"):i.indent=4*Math.floor((r-16)/2),i},n.parseChars=function(e,t){var r,i,a=null,o=null;return e>=25?(r=2,o=e-8):(r=1,o=e),o>=17&&o<=19?(i=o===17?t+80:o===18?t+112:t+144,this.logger.log(2,function(){return"Special char '"+Da(i)+"' in channel "+r}),a=[i]):e>=32&&e<=127&&(a=t===0?[e]:[e,t]),a&&this.logger.log(3,function(){return"Char codes =  "+ct(a).join(",")}),a},n.parseBackgroundAttributes=function(e,t){var r;if(!((e===16||e===24)&&t>=32&&t<=47||(e===23||e===31)&&t>=45&&t<=47))return!1;var i={};e===16||e===24?(r=Math.floor((t-32)/2),i.background=Go[r],t%2==1&&(i.background=i.background+"_semi")):t===45?i.background="transparent":(i.foreground="black",t===47&&(i.underline=!0));var a=e<=23?1:2;return this.channels[a].setBkgData(i),!0},n.reset=function(){for(var e=0;e<Object.keys(this.channels).length;e++){var t=this.channels[e];t&&t.reset()}Ar(null,null,this.cmdHistory)},n.cueSplitAtTime=function(e){for(var t=0;t<this.channels.length;t++){var r=this.channels[t];r&&r.cueSplitAtTime(e)}},s}();function Ar(s,n,e){e.a=s,e.b=n}var Rr=function(){function s(e,t){this.timelineController=void 0,this.cueRanges=[],this.trackName=void 0,this.startTime=null,this.endTime=null,this.screen=null,this.timelineController=e,this.trackName=t}var n=s.prototype;return n.dispatchCue=function(){this.startTime!==null&&(this.timelineController.addCues(this.trackName,this.startTime,this.endTime,this.screen,this.cueRanges),this.startTime=null)},n.newCue=function(e,t,r){(this.startTime===null||this.startTime>e)&&(this.startTime=e),this.endTime=t,this.screen=r,this.timelineController.createCaptionsTrack(this.trackName)},n.reset=function(){this.cueRanges=[],this.startTime=null},s}(),bi=function(){if(vt!=null&&vt.VTTCue)return self.VTTCue;var s=["","lr","rl"],n=["start","middle","end","left","right"];function e(a,o){if(typeof o!="string"||!Array.isArray(a))return!1;var l=o.toLowerCase();return!!~a.indexOf(l)&&l}function t(a){return e(n,a)}function r(a){for(var o=arguments.length,l=new Array(o>1?o-1:0),h=1;h<o;h++)l[h-1]=arguments[h];for(var u=1;u<arguments.length;u++){var d=arguments[u];for(var c in d)a[c]=d[c]}return a}function i(a,o,l){var h=this,u={enumerable:!0};h.hasBeenReset=!1;var d="",c=!1,f=a,g=o,m=l,E=null,v="",y=!0,T="auto",S="start",A=50,R="middle",L=50,D="middle";Object.defineProperty(h,"id",r({},u,{get:function(){return d},set:function(k){d=""+k}})),Object.defineProperty(h,"pauseOnExit",r({},u,{get:function(){return c},set:function(k){c=!!k}})),Object.defineProperty(h,"startTime",r({},u,{get:function(){return f},set:function(k){if(typeof k!="number")throw new TypeError("Start time must be set to a number.");f=k,this.hasBeenReset=!0}})),Object.defineProperty(h,"endTime",r({},u,{get:function(){return g},set:function(k){if(typeof k!="number")throw new TypeError("End time must be set to a number.");g=k,this.hasBeenReset=!0}})),Object.defineProperty(h,"text",r({},u,{get:function(){return m},set:function(k){m=""+k,this.hasBeenReset=!0}})),Object.defineProperty(h,"region",r({},u,{get:function(){return E},set:function(k){E=k,this.hasBeenReset=!0}})),Object.defineProperty(h,"vertical",r({},u,{get:function(){return v},set:function(k){var I=function(C){return e(s,C)}(k);if(I===!1)throw new SyntaxError("An invalid or illegal string was specified.");v=I,this.hasBeenReset=!0}})),Object.defineProperty(h,"snapToLines",r({},u,{get:function(){return y},set:function(k){y=!!k,this.hasBeenReset=!0}})),Object.defineProperty(h,"line",r({},u,{get:function(){return T},set:function(k){if(typeof k!="number"&&k!=="auto")throw new SyntaxError("An invalid number or illegal string was specified.");T=k,this.hasBeenReset=!0}})),Object.defineProperty(h,"lineAlign",r({},u,{get:function(){return S},set:function(k){var I=t(k);if(!I)throw new SyntaxError("An invalid or illegal string was specified.");S=I,this.hasBeenReset=!0}})),Object.defineProperty(h,"position",r({},u,{get:function(){return A},set:function(k){if(k<0||k>100)throw new Error("Position must be between 0 and 100.");A=k,this.hasBeenReset=!0}})),Object.defineProperty(h,"positionAlign",r({},u,{get:function(){return R},set:function(k){var I=t(k);if(!I)throw new SyntaxError("An invalid or illegal string was specified.");R=I,this.hasBeenReset=!0}})),Object.defineProperty(h,"size",r({},u,{get:function(){return L},set:function(k){if(k<0||k>100)throw new Error("Size must be between 0 and 100.");L=k,this.hasBeenReset=!0}})),Object.defineProperty(h,"align",r({},u,{get:function(){return D},set:function(k){var I=t(k);if(!I)throw new SyntaxError("An invalid or illegal string was specified.");D=I,this.hasBeenReset=!0}})),h.displayState=void 0}return i.prototype.getCueAsHTML=function(){return self.WebVTT.convertCueToDOMTree(self,this.text)},i}(),Yo=function(){function s(){}return s.prototype.decode=function(n,e){if(!n)return"";if(typeof n!="string")throw new Error("Error - expected string data.");return decodeURIComponent(encodeURIComponent(n))},s}();function _a(s){function n(t,r,i,a){return 3600*(0|t)+60*(0|r)+(0|i)+parseFloat(a||0)}var e=s.match(/^(?:(\d+):)?(\d{2}):(\d{2})(\.\d+)?/);return e?parseFloat(e[2])>59?n(e[2],e[3],0,e[4]):n(e[1],e[2],e[3],e[4]):null}var Wo=function(){function s(){this.values=Object.create(null)}var n=s.prototype;return n.set=function(e,t){this.get(e)||t===""||(this.values[e]=t)},n.get=function(e,t,r){return r?this.has(e)?this.values[e]:t[r]:this.has(e)?this.values[e]:t},n.has=function(e){return e in this.values},n.alt=function(e,t,r){for(var i=0;i<r.length;++i)if(t===r[i]){this.set(e,t);break}},n.integer=function(e,t){/^-?\d+$/.test(t)&&this.set(e,parseInt(t,10))},n.percent=function(e,t){if(/^([\d]{1,3})(\.[\d]*)?%$/.test(t)){var r=parseFloat(t);if(r>=0&&r<=100)return this.set(e,r),!0}return!1},s}();function xa(s,n,e,t){var r=t?s.split(t):[s];for(var i in r)if(typeof r[i]=="string"){var a=r[i].split(e);a.length===2&&n(a[0],a[1])}}var ki=new bi(0,0,""),br=ki.align==="middle"?"middle":"center";function jo(s,n,e){var t=s;function r(){var a=_a(s);if(a===null)throw new Error("Malformed timestamp: "+t);return s=s.replace(/^[^\sa-zA-Z-]+/,""),a}function i(){s=s.replace(/^\s+/,"")}if(i(),n.startTime=r(),i(),s.slice(0,3)!=="-->")throw new Error("Malformed time stamp (time stamps must be separated by '-->'): "+t);s=s.slice(3),i(),n.endTime=r(),i(),function(a,o){var l=new Wo;xa(a,function(d,c){var f;switch(d){case"region":for(var g=e.length-1;g>=0;g--)if(e[g].id===c){l.set(d,e[g].region);break}break;case"vertical":l.alt(d,c,["rl","lr"]);break;case"line":f=c.split(","),l.integer(d,f[0]),l.percent(d,f[0])&&l.set("snapToLines",!1),l.alt(d,f[0],["auto"]),f.length===2&&l.alt("lineAlign",f[1],["start",br,"end"]);break;case"position":f=c.split(","),l.percent(d,f[0]),f.length===2&&l.alt("positionAlign",f[1],["start",br,"end","line-left","line-right","auto"]);break;case"size":l.percent(d,c);break;case"align":l.alt(d,c,["start",br,"end","left","right"])}},/:/,/\s/),o.region=l.get("region",null),o.vertical=l.get("vertical","");var h=l.get("line","auto");h==="auto"&&ki.line===-1&&(h=-1),o.line=h,o.lineAlign=l.get("lineAlign","start"),o.snapToLines=l.get("snapToLines",!0),o.size=l.get("size",100),o.align=l.get("align",br);var u=l.get("position","auto");u==="auto"&&ki.position===50&&(u=o.align==="start"||o.align==="left"?0:o.align==="end"||o.align==="right"?100:50),o.position=u}(s,n)}function Pa(s){return s.replace(/<br(?: \/)?>/gi,`
+`)}var qo=function(){function s(){this.state="INITIAL",this.buffer="",this.decoder=new Yo,this.regionList=[],this.cue=null,this.oncue=void 0,this.onparsingerror=void 0,this.onflush=void 0}var n=s.prototype;return n.parse=function(e){var t=this;function r(){var h=t.buffer,u=0;for(h=Pa(h);u<h.length&&h[u]!=="\r"&&h[u]!==`
+`;)++u;var d=h.slice(0,u);return h[u]==="\r"&&++u,h[u]===`
+`&&++u,t.buffer=h.slice(u),d}e&&(t.buffer+=t.decoder.decode(e,{stream:!0}));try{var i="";if(t.state==="INITIAL"){if(!/\r\n|\n/.test(t.buffer))return this;var a=(i=r()).match(/^()?WEBVTT([ \t].*)?$/);if(a==null||!a[0])throw new Error("Malformed WebVTT signature.");t.state="HEADER"}for(var o=!1;t.buffer;){if(!/\r\n|\n/.test(t.buffer))return this;switch(o?o=!1:i=r(),t.state){case"HEADER":/:/.test(i)?xa(i,function(h,u){},/:/):i||(t.state="ID");continue;case"NOTE":i||(t.state="ID");continue;case"ID":if(/^NOTE($|[ \t])/.test(i)){t.state="NOTE";break}if(!i)continue;if(t.cue=new bi(0,0,""),t.state="CUE",i.indexOf("-->")===-1){t.cue.id=i;continue}case"CUE":if(!t.cue){t.state="BADCUE";continue}try{jo(i,t.cue,t.regionList)}catch{t.cue=null,t.state="BADCUE";continue}t.state="CUETEXT";continue;case"CUETEXT":var l=i.indexOf("-->")!==-1;if(!i||l&&(o=!0)){t.oncue&&t.cue&&t.oncue(t.cue),t.cue=null,t.state="ID";continue}if(t.cue===null)continue;t.cue.text&&(t.cue.text+=`
+`),t.cue.text+=i;continue;case"BADCUE":i||(t.state="ID")}}}catch{t.state==="CUETEXT"&&t.cue&&t.oncue&&t.oncue(t.cue),t.cue=null,t.state=t.state==="INITIAL"?"BADWEBVTT":"BADCUE"}return this},n.flush=function(){var e=this;try{if((e.cue||e.state==="HEADER")&&(e.buffer+=`
+
+`,e.parse()),e.state==="INITIAL"||e.state==="BADWEBVTT")throw new Error("Malformed WebVTT signature.")}catch(t){e.onparsingerror&&e.onparsingerror(t)}return e.onflush&&e.onflush(),this},s}(),Xo=/\r\n|\n\r|\n|\r/g,Di=function(s,n,e){return e===void 0&&(e=0),s.slice(e,e+n.length)===n},wi=function(s){for(var n=5381,e=s.length;e;)n=33*n^s.charCodeAt(--e);return(n>>>0).toString()};function Ii(s,n,e){return wi(s.toString())+wi(n.toString())+wi(e)}function zo(s,n,e,t,r,i,a){var o,l,h,u=new qo,d=Ge(new Uint8Array(s)).trim().replace(Xo,`
+`).split(`
+`),c=[],f=n?(o=n.baseTime,(l=n.timescale)===void 0&&(l=1),yi(o,va,1/l)):0,g="00:00.000",m=0,E=0,v=!0;u.oncue=function(y){var T=e[t],S=e.ccOffset,A=(m-f)/9e4;if(T!=null&&T.new&&(E!==void 0?S=e.ccOffset=T.start:function(k,I,C){var _=k[I],x=k[_.prevCC];if(!x||!x.new&&_.new)return k.ccOffset=k.presentationOffset=_.start,void(_.new=!1);for(;(F=x)!=null&&F.new;){var F;k.ccOffset+=_.start-x.start,_.new=!1,x=k[(_=x).prevCC]}k.presentationOffset=C}(e,t,A)),A){if(!n)return void(h=new Error("Missing initPTS for VTT MPEGTS"));S=A-e.presentationOffset}var R=y.endTime-y.startTime,L=Ne(9e4*(y.startTime+S-E),9e4*r)/9e4;y.startTime=Math.max(L,0),y.endTime=Math.max(L+R,0);var D=y.text.trim();y.text=decodeURIComponent(encodeURIComponent(D)),y.id||(y.id=Ii(y.startTime,y.endTime,D)),y.endTime>0&&c.push(y)},u.onparsingerror=function(y){h=y},u.onflush=function(){h?a(h):i(c)},d.forEach(function(y){if(v){if(Di(y,"X-TIMESTAMP-MAP=")){v=!1,y.slice(16).split(",").forEach(function(T){Di(T,"LOCAL:")?g=T.slice(6):Di(T,"MPEGTS:")&&(m=parseInt(T.slice(7)))});try{E=function(T){var S=parseInt(T.slice(-3)),A=parseInt(T.slice(-6,-4)),R=parseInt(T.slice(-9,-7)),L=T.length>9?parseInt(T.substring(0,T.indexOf(":"))):0;if(!(N(S)&&N(A)&&N(R)&&N(L)))throw Error("Malformed X-TIMESTAMP-MAP: Local:"+T);return S+=1e3*A,(S+=6e4*R)+36e5*L}(g)/1e3}catch(T){h=T}return}y===""&&(v=!1)}u.parse(y+`
+`)}),u.flush()}var Ci="stpp.ttml.im1t",Fa=/^(\d{2,}):(\d{2}):(\d{2}):(\d{2})\.?(\d+)?$/,Ma=/^(\d*(?:\.\d*)?)(h|m|s|ms|f|t)$/,Qo={left:"start",center:"center",right:"end",start:"start",end:"end"};function Oa(s,n,e,t){var r=q(new Uint8Array(s),["mdat"]);if(r.length!==0){var i,a,o,l,h=r.map(function(d){return Ge(d)}),u=(i=n.baseTime,a=1,(o=n.timescale)===void 0&&(o=1),l===void 0&&(l=!1),yi(i,a,1/o,l));try{h.forEach(function(d){return e(function(c,f){var g=new DOMParser().parseFromString(c,"text/xml"),m=g.getElementsByTagName("tt")[0];if(!m)throw new Error("Invalid ttml");var E={frameRate:30,subFrameRate:1,frameRateMultiplier:0,tickRate:0},v=Object.keys(E).reduce(function(R,L){return R[L]=m.getAttribute("ttp:"+L)||E[L],R},{}),y=m.getAttribute("xml:space")!=="preserve",T=Na(_i(m,"styling","style")),S=Na(_i(m,"layout","region")),A=_i(m,"body","[begin]");return[].map.call(A,function(R){var L=Ua(R,y);if(!L||!R.hasAttribute("begin"))return null;var D=Pi(R.getAttribute("begin"),v),k=Pi(R.getAttribute("dur"),v),I=Pi(R.getAttribute("end"),v);if(D===null)throw Ba(R);if(I===null){if(k===null)throw Ba(R);I=D+k}var C=new bi(D-f,I-f,L);C.id=Ii(C.startTime,C.endTime,C.text);var _=function(M,U,P){var O="http://www.w3.org/ns/ttml#styling",B=null,G=["displayAlign","textAlign","color","backgroundColor","fontSize","fontFamily"],V=M!=null&&M.hasAttribute("style")?M.getAttribute("style"):null;return V&&P.hasOwnProperty(V)&&(B=P[V]),G.reduce(function(Q,oe){var ee=xi(U,O,oe)||xi(M,O,oe)||xi(B,O,oe);return ee&&(Q[oe]=ee),Q},{})}(S[R.getAttribute("region")],T[R.getAttribute("style")],T),x=_.textAlign;if(x){var F=Qo[x];F&&(C.lineAlign=F),C.align=x}return ge(C,_),C}).filter(function(R){return R!==null})}(d,u))})}catch(d){t(d)}}else t(new Error("Could not parse IMSC1 mdat"))}function _i(s,n,e){var t=s.getElementsByTagName(n)[0];return t?[].slice.call(t.querySelectorAll(e)):[]}function Na(s){return s.reduce(function(n,e){var t=e.getAttribute("xml:id");return t&&(n[t]=e),n},{})}function Ua(s,n){return[].slice.call(s.childNodes).reduce(function(e,t,r){var i;return t.nodeName==="br"&&r?e+`
+`:(i=t.childNodes)!=null&&i.length?Ua(t,n):n?e+t.textContent.trim().replace(/\s+/g," "):e+t.textContent},"")}function xi(s,n,e){return s&&s.hasAttributeNS(n,e)?s.getAttributeNS(n,e):null}function Ba(s){return new Error("Could not parse ttml timestamp "+s)}function Pi(s,n){if(!s)return null;var e=_a(s);return e===null&&(Fa.test(s)?e=function(t,r){var i=Fa.exec(t),a=(0|i[4])+(0|i[5])/r.subFrameRate;return 3600*(0|i[1])+60*(0|i[2])+(0|i[3])+a/r.frameRate}(s,n):Ma.test(s)&&(e=function(t,r){var i=Ma.exec(t),a=Number(i[1]);switch(i[2]){case"h":return 3600*a;case"m":return 60*a;case"ms":return 1e3*a;case"f":return a/r.frameRate;case"t":return a/r.tickRate}return a}(s,n))),e}var Jo=function(){function s(e){this.hls=void 0,this.media=null,this.config=void 0,this.enabled=!0,this.Cues=void 0,this.textTracks=[],this.tracks=[],this.initPTS=[],this.unparsedVttFrags=[],this.captionsTracks={},this.nonNativeCaptionsTracks={},this.cea608Parser1=void 0,this.cea608Parser2=void 0,this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs={ccOffset:0,presentationOffset:0,0:{start:0,prevCC:-1,new:!0}},this.captionsProperties=void 0,this.hls=e,this.config=e.config,this.Cues=e.config.cueHandler,this.captionsProperties={textTrack1:{label:this.config.captionsTextTrack1Label,languageCode:this.config.captionsTextTrack1LanguageCode},textTrack2:{label:this.config.captionsTextTrack2Label,languageCode:this.config.captionsTextTrack2LanguageCode},textTrack3:{label:this.config.captionsTextTrack3Label,languageCode:this.config.captionsTextTrack3LanguageCode},textTrack4:{label:this.config.captionsTextTrack4Label,languageCode:this.config.captionsTextTrack4LanguageCode}},e.on(p.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(p.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(p.MANIFEST_LOADING,this.onManifestLoading,this),e.on(p.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(p.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(p.FRAG_LOADING,this.onFragLoading,this),e.on(p.FRAG_LOADED,this.onFragLoaded,this),e.on(p.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.on(p.FRAG_DECRYPTED,this.onFragDecrypted,this),e.on(p.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(p.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.on(p.BUFFER_FLUSHING,this.onBufferFlushing,this)}var n=s.prototype;return n.destroy=function(){var e=this.hls;e.off(p.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(p.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(p.MANIFEST_LOADING,this.onManifestLoading,this),e.off(p.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(p.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(p.FRAG_LOADING,this.onFragLoading,this),e.off(p.FRAG_LOADED,this.onFragLoaded,this),e.off(p.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.off(p.FRAG_DECRYPTED,this.onFragDecrypted,this),e.off(p.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(p.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.off(p.BUFFER_FLUSHING,this.onBufferFlushing,this),this.hls=this.config=null,this.cea608Parser1=this.cea608Parser2=void 0},n.initCea608Parsers=function(){if(this.config.enableCEA708Captions&&(!this.cea608Parser1||!this.cea608Parser2)){var e=new Rr(this,"textTrack1"),t=new Rr(this,"textTrack2"),r=new Rr(this,"textTrack3"),i=new Rr(this,"textTrack4");this.cea608Parser1=new Ca(1,e,t),this.cea608Parser2=new Ca(3,r,i)}},n.addCues=function(e,t,r,i,a){for(var o,l,h,u,d=!1,c=a.length;c--;){var f=a[c],g=(o=f[0],l=f[1],h=t,u=r,Math.min(l,u)-Math.max(o,h));if(g>=0&&(f[0]=Math.min(f[0],t),f[1]=Math.max(f[1],r),d=!0,g/(r-t)>.5))return}if(d||a.push([t,r]),this.config.renderTextTracksNatively){var m=this.captionsTracks[e];this.Cues.newCue(m,t,r,i)}else{var E=this.Cues.newCue(null,t,r,i);this.hls.trigger(p.CUES_PARSED,{type:"captions",cues:E,track:e})}},n.onInitPtsFound=function(e,t){var r=this,i=t.frag,a=t.id,o=t.initPTS,l=t.timescale,h=this.unparsedVttFrags;a==="main"&&(this.initPTS[i.cc]={baseTime:o,timescale:l}),h.length&&(this.unparsedVttFrags=[],h.forEach(function(u){r.onFragLoaded(p.FRAG_LOADED,u)}))},n.getExistingTrack=function(e,t){var r=this.media;if(r)for(var i=0;i<r.textTracks.length;i++){var a=r.textTracks[i];if(Ka(a,{name:e,lang:t,attrs:{}}))return a}return null},n.createCaptionsTrack=function(e){this.config.renderTextTracksNatively?this.createNativeTrack(e):this.createNonNativeTrack(e)},n.createNativeTrack=function(e){if(!this.captionsTracks[e]){var t=this.captionsProperties,r=this.captionsTracks,i=this.media,a=t[e],o=a.label,l=a.languageCode,h=this.getExistingTrack(o,l);if(h)r[e]=h,pt(r[e]),Cn(r[e],i);else{var u=this.createTextTrack("captions",o,l);u&&(u[e]=!0,r[e]=u)}}},n.createNonNativeTrack=function(e){if(!this.nonNativeCaptionsTracks[e]){var t=this.captionsProperties[e];if(t){var r={_id:e,label:t.label,kind:"captions",default:!!t.media&&!!t.media.default,closedCaptions:t.media};this.nonNativeCaptionsTracks[e]=r,this.hls.trigger(p.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:[r]})}}},n.createTextTrack=function(e,t,r){var i=this.media;if(i)return i.addTextTrack(e,t,r)},n.onMediaAttaching=function(e,t){this.media=t.media,this._cleanTracks()},n.onMediaDetaching=function(){var e=this.captionsTracks;Object.keys(e).forEach(function(t){pt(e[t]),delete e[t]}),this.nonNativeCaptionsTracks={}},n.onManifestLoading=function(){this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs={ccOffset:0,presentationOffset:0,0:{start:0,prevCC:-1,new:!0}},this._cleanTracks(),this.tracks=[],this.captionsTracks={},this.nonNativeCaptionsTracks={},this.textTracks=[],this.unparsedVttFrags=[],this.initPTS=[],this.cea608Parser1&&this.cea608Parser2&&(this.cea608Parser1.reset(),this.cea608Parser2.reset())},n._cleanTracks=function(){var e=this.media;if(e){var t=e.textTracks;if(t)for(var r=0;r<t.length;r++)pt(t[r])}},n.onSubtitleTracksUpdated=function(e,t){var r=this,i=t.subtitleTracks||[],a=i.some(function(d){return d.textCodec===Ci});if(this.config.enableWebVTT||a&&this.config.enableIMSC1){if(Ra(this.tracks,i))return void(this.tracks=i);if(this.textTracks=[],this.tracks=i,this.config.renderTextTracksNatively){var o=this.media,l=o?sr(o.textTracks):null;if(this.tracks.forEach(function(d,c){var f;if(l){for(var g=null,m=0;m<l.length;m++)if(l[m]&&Ka(l[m],d)){g=l[m],l[m]=null;break}g&&(f=g)}if(f)pt(f);else{var E=Ga(d);(f=r.createTextTrack(E,d.name,d.lang))&&(f.mode="disabled")}f&&r.textTracks.push(f)}),l!=null&&l.length){var h=l.filter(function(d){return d!==null}).map(function(d){return d.label});h.length&&b.warn("Media element contains unused subtitle tracks: "+h.join(", ")+". Replace media element for each source to clear TextTracks and captions menu.")}}else if(this.tracks.length){var u=this.tracks.map(function(d){return{label:d.name,kind:d.type.toLowerCase(),default:d.default,subtitleTrack:d}});this.hls.trigger(p.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:u})}}},n.onManifestLoaded=function(e,t){var r=this;this.config.enableCEA708Captions&&t.captions&&t.captions.forEach(function(i){var a=/(?:CC|SERVICE)([1-4])/.exec(i.instreamId);if(a){var o="textTrack"+a[1],l=r.captionsProperties[o];l&&(l.label=i.name,i.lang&&(l.languageCode=i.lang),l.media=i)}})},n.closedCaptionsForLevel=function(e){var t=this.hls.levels[e.level];return t==null?void 0:t.attrs["CLOSED-CAPTIONS"]},n.onFragLoading=function(e,t){if(this.enabled&&t.frag.type===Z){var r,i,a=this.cea608Parser1,o=this.cea608Parser2,l=this.lastSn,h=t.frag,u=h.cc,d=h.sn,c=(r=(i=t.part)==null?void 0:i.index)!=null?r:-1;a&&o&&(d!==l+1||d===l&&c!==this.lastPartIndex+1||u!==this.lastCc)&&(a.reset(),o.reset()),this.lastCc=u,this.lastSn=d,this.lastPartIndex=c}},n.onFragLoaded=function(e,t){var r=t.frag,i=t.payload;if(r.type===qe)if(i.byteLength){var a=r.decryptdata,o="stats"in t;if(a==null||!a.encrypted||o){var l=this.tracks[r.level],h=this.vttCCs;h[r.cc]||(h[r.cc]={start:r.start,prevCC:this.prevCC,new:!0},this.prevCC=r.cc),l&&l.textCodec===Ci?this._parseIMSC1(r,i):this._parseVTTs(t)}}else this.hls.trigger(p.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:r,error:new Error("Empty subtitle payload")})},n._parseIMSC1=function(e,t){var r=this,i=this.hls;Oa(t,this.initPTS[e.cc],function(a){r._appendCues(a,e.level),i.trigger(p.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:e})},function(a){b.log("Failed to parse IMSC1: "+a),i.trigger(p.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:e,error:a})})},n._parseVTTs=function(e){var t,r=this,i=e.frag,a=e.payload,o=this.initPTS,l=this.unparsedVttFrags,h=o.length-1;if(o[i.cc]||h!==-1){var u=this.hls;zo((t=i.initSegment)!=null&&t.data?Fe(i.initSegment.data,new Uint8Array(a)):a,this.initPTS[i.cc],this.vttCCs,i.cc,i.start,function(d){r._appendCues(d,i.level),u.trigger(p.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:i})},function(d){var c=d.message==="Missing initPTS for VTT MPEGTS";c?l.push(e):r._fallbackToIMSC1(i,a),b.log("Failed to parse VTT cue: "+d),c&&h>i.cc||u.trigger(p.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:i,error:d})})}else l.push(e)},n._fallbackToIMSC1=function(e,t){var r=this,i=this.tracks[e.level];i.textCodec||Oa(t,this.initPTS[e.cc],function(){i.textCodec=Ci,r._parseIMSC1(e,t)},function(){i.textCodec="wvtt"})},n._appendCues=function(e,t){var r=this.hls;if(this.config.renderTextTracksNatively){var i=this.textTracks[t];if(!i||i.mode==="disabled")return;e.forEach(function(l){return _n(i,l)})}else{var a=this.tracks[t];if(!a)return;var o=a.default?"default":"subtitles"+t;r.trigger(p.CUES_PARSED,{type:"subtitles",cues:e,track:o})}},n.onFragDecrypted=function(e,t){t.frag.type===qe&&this.onFragLoaded(p.FRAG_LOADED,t)},n.onSubtitleTracksCleared=function(){this.tracks=[],this.captionsTracks={}},n.onFragParsingUserdata=function(e,t){this.initCea608Parsers();var r=this.cea608Parser1,i=this.cea608Parser2;if(this.enabled&&r&&i){var a=t.frag,o=t.samples;if(a.type!==Z||this.closedCaptionsForLevel(a)!=="NONE")for(var l=0;l<o.length;l++){var h=o[l].bytes;if(h){var u=this.extractCea608Data(h);r.addData(o[l].pts,u[0]),i.addData(o[l].pts,u[1])}}}},n.onBufferFlushing=function(e,t){var r=t.startOffset,i=t.endOffset,a=t.endOffsetSubtitles,o=t.type,l=this.media;if(l&&!(l.currentTime<i)){if(!o||o==="video"){var h=this.captionsTracks;Object.keys(h).forEach(function(d){return $r(h[d],r,i)})}if(this.config.renderTextTracksNatively&&r===0&&a!==void 0){var u=this.textTracks;Object.keys(u).forEach(function(d){return $r(u[d],r,a)})}}},n.extractCea608Data=function(e){for(var t=[[],[]],r=31&e[0],i=2,a=0;a<r;a++){var o=e[i++],l=127&e[i++],h=127&e[i++];if((l!==0||h!==0)&&4&o){var u=3&o;u!==0&&u!==1||(t[u].push(l),t[u].push(h))}}return t},s}();function Ga(s){return s.characteristics&&/transcribes-spoken-dialog/gi.test(s.characteristics)&&/describes-music-and-sound/gi.test(s.characteristics)?"captions":"subtitles"}function Ka(s,n){return!!s&&s.kind===Ga(n)&&Ai(n,s)}var $o=function(){function s(e){this.hls=void 0,this.autoLevelCapping=void 0,this.firstLevel=void 0,this.media=void 0,this.restrictedLevels=void 0,this.timer=void 0,this.clientRect=void 0,this.streamController=void 0,this.hls=e,this.autoLevelCapping=Number.POSITIVE_INFINITY,this.firstLevel=-1,this.media=null,this.restrictedLevels=[],this.timer=void 0,this.clientRect=null,this.registerListeners()}var n=s.prototype;return n.setStreamController=function(e){this.streamController=e},n.destroy=function(){this.hls&&this.unregisterListener(),this.timer&&this.stopCapping(),this.media=null,this.clientRect=null,this.hls=this.streamController=null},n.registerListeners=function(){var e=this.hls;e.on(p.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.on(p.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(p.MANIFEST_PARSED,this.onManifestParsed,this),e.on(p.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(p.BUFFER_CODECS,this.onBufferCodecs,this),e.on(p.MEDIA_DETACHING,this.onMediaDetaching,this)},n.unregisterListener=function(){var e=this.hls;e.off(p.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.off(p.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(p.MANIFEST_PARSED,this.onManifestParsed,this),e.off(p.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(p.BUFFER_CODECS,this.onBufferCodecs,this),e.off(p.MEDIA_DETACHING,this.onMediaDetaching,this)},n.onFpsDropLevelCapping=function(e,t){var r=this.hls.levels[t.droppedLevel];this.isLevelAllowed(r)&&this.restrictedLevels.push({bitrate:r.bitrate,height:r.height,width:r.width})},n.onMediaAttaching=function(e,t){this.media=t.media instanceof HTMLVideoElement?t.media:null,this.clientRect=null,this.timer&&this.hls.levels.length&&this.detectPlayerSize()},n.onManifestParsed=function(e,t){var r=this.hls;this.restrictedLevels=[],this.firstLevel=t.firstLevel,r.config.capLevelToPlayerSize&&t.video&&this.startCapping()},n.onLevelsUpdated=function(e,t){this.timer&&N(this.autoLevelCapping)&&this.detectPlayerSize()},n.onBufferCodecs=function(e,t){this.hls.config.capLevelToPlayerSize&&t.video&&this.startCapping()},n.onMediaDetaching=function(){this.stopCapping()},n.detectPlayerSize=function(){if(this.media){if(this.mediaHeight<=0||this.mediaWidth<=0)return void(this.clientRect=null);var e=this.hls.levels;if(e.length){var t=this.hls,r=this.getMaxLevel(e.length-1);r!==this.autoLevelCapping&&b.log("Setting autoLevelCapping to "+r+": "+e[r].height+"p@"+e[r].bitrate+" for media "+this.mediaWidth+"x"+this.mediaHeight),t.autoLevelCapping=r,t.autoLevelCapping>this.autoLevelCapping&&this.streamController&&this.streamController.nextLevelSwitch(),this.autoLevelCapping=t.autoLevelCapping}}},n.getMaxLevel=function(e){var t=this,r=this.hls.levels;if(!r.length)return-1;var i=r.filter(function(a,o){return t.isLevelAllowed(a)&&o<=e});return this.clientRect=null,s.getMaxLevelByMediaSize(i,this.mediaWidth,this.mediaHeight)},n.startCapping=function(){this.timer||(this.autoLevelCapping=Number.POSITIVE_INFINITY,self.clearInterval(this.timer),this.timer=self.setInterval(this.detectPlayerSize.bind(this),1e3),this.detectPlayerSize())},n.stopCapping=function(){this.restrictedLevels=[],this.firstLevel=-1,this.autoLevelCapping=Number.POSITIVE_INFINITY,this.timer&&(self.clearInterval(this.timer),this.timer=void 0)},n.getDimensions=function(){if(this.clientRect)return this.clientRect;var e=this.media,t={width:0,height:0};if(e){var r=e.getBoundingClientRect();t.width=r.width,t.height=r.height,t.width||t.height||(t.width=r.right-r.left||e.width||0,t.height=r.bottom-r.top||e.height||0)}return this.clientRect=t,t},n.isLevelAllowed=function(e){return!this.restrictedLevels.some(function(t){return e.bitrate===t.bitrate&&e.width===t.width&&e.height===t.height})},s.getMaxLevelByMediaSize=function(e,t,r){if(e==null||!e.length)return-1;for(var i,a,o=e.length-1,l=Math.max(t,r),h=0;h<e.length;h+=1){var u=e[h];if((u.width>=l||u.height>=l)&&(i=u,!(a=e[h+1])||i.width!==a.width||i.height!==a.height)){o=h;break}}return o},fe(s,[{key:"mediaWidth",get:function(){return this.getDimensions().width*this.contentScaleFactor}},{key:"mediaHeight",get:function(){return this.getDimensions().height*this.contentScaleFactor}},{key:"contentScaleFactor",get:function(){var e=1;if(!this.hls.config.ignoreDevicePixelRatio)try{e=self.devicePixelRatio}catch{}return e}}]),s}(),Zo=function(){function s(e){this.hls=void 0,this.isVideoPlaybackQualityAvailable=!1,this.timer=void 0,this.media=null,this.lastTime=void 0,this.lastDroppedFrames=0,this.lastDecodedFrames=0,this.streamController=void 0,this.hls=e,this.registerListeners()}var n=s.prototype;return n.setStreamController=function(e){this.streamController=e},n.registerListeners=function(){this.hls.on(p.MEDIA_ATTACHING,this.onMediaAttaching,this)},n.unregisterListeners=function(){this.hls.off(p.MEDIA_ATTACHING,this.onMediaAttaching,this)},n.destroy=function(){this.timer&&clearInterval(this.timer),this.unregisterListeners(),this.isVideoPlaybackQualityAvailable=!1,this.media=null},n.onMediaAttaching=function(e,t){var r=this.hls.config;if(r.capLevelOnFPSDrop){var i=t.media instanceof self.HTMLVideoElement?t.media:null;this.media=i,i&&typeof i.getVideoPlaybackQuality=="function"&&(this.isVideoPlaybackQualityAvailable=!0),self.clearInterval(this.timer),this.timer=self.setInterval(this.checkFPSInterval.bind(this),r.fpsDroppedMonitoringPeriod)}},n.checkFPS=function(e,t,r){var i=performance.now();if(t){if(this.lastTime){var a=i-this.lastTime,o=r-this.lastDroppedFrames,l=t-this.lastDecodedFrames,h=1e3*o/a,u=this.hls;if(u.trigger(p.FPS_DROP,{currentDropped:o,currentDecoded:l,totalDroppedFrames:r}),h>0&&o>u.config.fpsDroppedMonitoringThreshold*l){var d=u.currentLevel;b.warn("drop FPS ratio greater than max allowed value for currentLevel: "+d),d>0&&(u.autoLevelCapping===-1||u.autoLevelCapping>=d)&&(d-=1,u.trigger(p.FPS_DROP_LEVEL_CAPPING,{level:d,droppedLevel:u.currentLevel}),u.autoLevelCapping=d,this.streamController.nextLevelSwitch())}}this.lastTime=i,this.lastDroppedFrames=r,this.lastDecodedFrames=t}},n.checkFPSInterval=function(){var e=this.media;if(e)if(this.isVideoPlaybackQualityAvailable){var t=e.getVideoPlaybackQuality();this.checkFPS(e,t.totalVideoFrames,t.droppedVideoFrames)}else this.checkFPS(e,e.webkitDecodedFrameCount,e.webkitDroppedFrameCount)},s}(),kr="[eme]",Ha=function(){function s(e){this.hls=void 0,this.config=void 0,this.media=null,this.keyFormatPromise=null,this.keySystemAccessPromises={},this._requestLicenseFailureCount=0,this.mediaKeySessions=[],this.keyIdToKeySessionPromise={},this.setMediaKeysQueue=s.CDMCleanupPromise?[s.CDMCleanupPromise]:[],this.onMediaEncrypted=this._onMediaEncrypted.bind(this),this.onWaitingForKey=this._onWaitingForKey.bind(this),this.debug=b.debug.bind(b,kr),this.log=b.log.bind(b,kr),this.warn=b.warn.bind(b,kr),this.error=b.error.bind(b,kr),this.hls=e,this.config=e.config,this.registerListeners()}var n=s.prototype;return n.destroy=function(){this.unregisterListeners(),this.onMediaDetached();var e=this.config;e.requestMediaKeySystemAccessFunc=null,e.licenseXhrSetup=e.licenseResponseCallback=void 0,e.drmSystems=e.drmSystemOptions={},this.hls=this.onMediaEncrypted=this.onWaitingForKey=this.keyIdToKeySessionPromise=null,this.config=null},n.registerListeners=function(){this.hls.on(p.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.on(p.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.on(p.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.on(p.MANIFEST_LOADED,this.onManifestLoaded,this)},n.unregisterListeners=function(){this.hls.off(p.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.off(p.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.off(p.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.off(p.MANIFEST_LOADED,this.onManifestLoaded,this)},n.getLicenseServerUrl=function(e){var t=this.config,r=t.drmSystems,i=t.widevineLicenseUrl,a=r[e];if(a)return a.licenseUrl;if(e===se.WIDEVINE&&i)return i;throw new Error('no license server URL configured for key-system "'+e+'"')},n.getServerCertificateUrl=function(e){var t=this.config.drmSystems[e];if(t)return t.serverCertificateUrl;this.log('No Server Certificate in config.drmSystems["'+e+'"]')},n.attemptKeySystemAccess=function(e){var t=this,r=this.hls.levels,i=function(l,h,u){return!!l&&u.indexOf(l)===h},a=r.map(function(l){return l.audioCodec}).filter(i),o=r.map(function(l){return l.videoCodec}).filter(i);return a.length+o.length===0&&o.push("avc1.42e01e"),new Promise(function(l,h){(function u(d){var c=d.shift();t.getMediaKeysPromise(c,a,o).then(function(f){return l({keySystem:c,mediaKeys:f})}).catch(function(f){d.length?u(d):h(f instanceof Ue?f:new Ue({type:K.KEY_SYSTEM_ERROR,details:w.KEY_SYSTEM_NO_ACCESS,error:f,fatal:!0},f.message))})})(e)})},n.requestMediaKeySystemAccess=function(e,t){var r=this.config.requestMediaKeySystemAccessFunc;if(typeof r!="function"){var i="Configured requestMediaKeySystemAccess is not a function "+r;return en===null&&self.location.protocol==="http:"&&(i="navigator.requestMediaKeySystemAccess is not available over insecure protocol "+location.protocol),Promise.reject(new Error(i))}return r(e,t)},n.getMediaKeysPromise=function(e,t,r){var i=this,a=function(u,d,c,f){var g;switch(u){case se.FAIRPLAY:g=["cenc","sinf"];break;case se.WIDEVINE:case se.PLAYREADY:g=["cenc"];break;case se.CLEARKEY:g=["cenc","keyids"];break;default:throw new Error("Unknown key-system: "+u)}return function(m,E,v,y){return[{initDataTypes:m,persistentState:y.persistentState||"optional",distinctiveIdentifier:y.distinctiveIdentifier||"optional",sessionTypes:y.sessionTypes||[y.sessionType||"temporary"],audioCapabilities:E.map(function(T){return{contentType:'audio/mp4; codecs="'+T+'"',robustness:y.audioRobustness||"",encryptionScheme:y.audioEncryptionScheme||null}}),videoCapabilities:v.map(function(T){return{contentType:'video/mp4; codecs="'+T+'"',robustness:y.videoRobustness||"",encryptionScheme:y.videoEncryptionScheme||null}})}]}(g,d,c,f)}(e,t,r,this.config.drmSystemOptions),o=this.keySystemAccessPromises[e],l=o==null?void 0:o.keySystemAccess;if(!l){this.log('Requesting encrypted media "'+e+'" key-system access with config: '+JSON.stringify(a)),l=this.requestMediaKeySystemAccess(e,a);var h=this.keySystemAccessPromises[e]={keySystemAccess:l};return l.catch(function(u){i.log('Failed to obtain access to key-system "'+e+'": '+u)}),l.then(function(u){i.log('Access for key-system "'+u.keySystem+'" obtained');var d=i.fetchServerCertificate(e);return i.log('Create media-keys for "'+e+'"'),h.mediaKeys=u.createMediaKeys().then(function(c){return i.log('Media-keys created for "'+e+'"'),d.then(function(f){return f?i.setMediaKeysServerCertificate(c,e,f):c})}),h.mediaKeys.catch(function(c){i.error('Failed to create media-keys for "'+e+'"}: '+c)}),h.mediaKeys})}return l.then(function(){return o.mediaKeys})},n.createMediaKeySessionContext=function(e){var t=e.decryptdata,r=e.keySystem,i=e.mediaKeys;this.log('Creating key-system session "'+r+'" keyId: '+Ke(t.keyId||[]));var a=i.createSession(),o={decryptdata:t,keySystem:r,mediaKeys:i,mediaKeysSession:a,keyStatus:"status-pending"};return this.mediaKeySessions.push(o),o},n.renewKeySession=function(e){var t=e.decryptdata;if(t.pssh){var r=this.createMediaKeySessionContext(e),i=this.getKeyIdString(t);this.keyIdToKeySessionPromise[i]=this.generateRequestWithPreferredKeySession(r,"cenc",t.pssh,"expired")}else this.warn("Could not renew expired session. Missing pssh initData.");this.removeSession(e)},n.getKeyIdString=function(e){if(!e)throw new Error("Could not read keyId of undefined decryptdata");if(e.keyId===null)throw new Error("keyId is null");return Ke(e.keyId)},n.updateKeySession=function(e,t){var r,i=e.mediaKeysSession;return this.log('Updating key-session "'+i.sessionId+'" for keyID '+Ke(((r=e.decryptdata)==null?void 0:r.keyId)||[])+`
+      } (data length: `+(t&&t.byteLength)+")"),i.update(t)},n.selectKeySystemFormat=function(e){var t=Object.keys(e.levelkeys||{});return this.keyFormatPromise||(this.log("Selecting key-system from fragment (sn: "+e.sn+" "+e.type+": "+e.level+") key formats "+t.join(", ")),this.keyFormatPromise=this.getKeyFormatPromise(t)),this.keyFormatPromise},n.getKeyFormatPromise=function(e){var t=this;return new Promise(function(r,i){var a=Kr(t.config),o=e.map(Qi).filter(function(l){return!!l&&a.indexOf(l)!==-1});return t.getKeySystemSelectionPromise(o).then(function(l){var h=l.keySystem,u=$i(h);u?r(u):i(new Error('Unable to find format for key-system "'+h+'"'))}).catch(i)})},n.loadKey=function(e){var t=this,r=e.keyInfo.decryptdata,i=this.getKeyIdString(r),a="(keyId: "+i+' format: "'+r.keyFormat+'" method: '+r.method+" uri: "+r.uri+")";this.log("Starting session for key "+a);var o=this.keyIdToKeySessionPromise[i];return o||(o=this.keyIdToKeySessionPromise[i]=this.getKeySystemForKeyPromise(r).then(function(l){var h=l.keySystem,u=l.mediaKeys;return t.throwIfDestroyed(),t.log("Handle encrypted media sn: "+e.frag.sn+" "+e.frag.type+": "+e.frag.level+" using key "+a),t.attemptSetMediaKeys(h,u).then(function(){t.throwIfDestroyed();var d=t.createMediaKeySessionContext({keySystem:h,mediaKeys:u,decryptdata:r});return t.generateRequestWithPreferredKeySession(d,"cenc",r.pssh,"playlist-key")})})).catch(function(l){return t.handleError(l)}),o},n.throwIfDestroyed=function(e){if(!this.hls)throw new Error("invalid state")},n.handleError=function(e){this.hls&&(this.error(e.message),e instanceof Ue?this.hls.trigger(p.ERROR,e.data):this.hls.trigger(p.ERROR,{type:K.KEY_SYSTEM_ERROR,details:w.KEY_SYSTEM_NO_KEYS,error:e,fatal:!0}))},n.getKeySystemForKeyPromise=function(e){var t=this.getKeyIdString(e),r=this.keyIdToKeySessionPromise[t];if(!r){var i=Qi(e.keyFormat),a=i?[i]:Kr(this.config);return this.attemptKeySystemAccess(a)}return r},n.getKeySystemSelectionPromise=function(e){if(e.length||(e=Kr(this.config)),e.length===0)throw new Ue({type:K.KEY_SYSTEM_ERROR,details:w.KEY_SYSTEM_NO_CONFIGURED_LICENSE,fatal:!0},"Missing key-system license configuration options "+JSON.stringify({drmSystems:this.config.drmSystems}));return this.attemptKeySystemAccess(e)},n._onMediaEncrypted=function(e){var t=this,r=e.initDataType,i=e.initData;if(this.debug('"'+e.type+'" event: init data type: "'+r+'"'),i!==null){var a,o;if(r==="sinf"&&this.config.drmSystems[se.FAIRPLAY]){var l=me(new Uint8Array(i));try{var h=Nr(JSON.parse(l).sinf),u=hn(new Uint8Array(h));if(!u)return;a=u.subarray(8,24),o=se.FAIRPLAY}catch{return void this.warn('Failed to parse sinf "encrypted" event message initData')}}else{var d=function(T){if(!(T instanceof ArrayBuffer)||T.byteLength<32)return null;var S={version:0,systemId:"",kids:null,data:null},A=new DataView(T),R=A.getUint32(0);if(T.byteLength!==R&&R>44||A.getUint32(4)!==1886614376||(S.version=A.getUint32(8)>>>24,S.version>1))return null;S.systemId=Ke(new Uint8Array(T,12,16));var L=A.getUint32(28);if(S.version===0){if(R-32<L)return null;S.data=new Uint8Array(T,32,L)}else if(S.version===1){S.kids=[];for(var D=0;D<L;D++)S.kids.push(new Uint8Array(T,32+16*D,16))}return S}(i);if(d===null)return;d.version===0&&d.systemId===Ji&&d.data&&(a=d.data.subarray(8,24)),o=function(T){if(T===Ji)return se.WIDEVINE}(d.systemId)}if(o&&a){for(var c,f=Ke(a),g=this.keyIdToKeySessionPromise,m=this.mediaKeySessions,E=g[f],v=function(){var T=m[y],S=T.decryptdata;if(S.pssh||!S.keyId)return 0;var A=Ke(S.keyId);return f===A||S.uri.replace(/-/g,"").indexOf(f)!==-1?(E=g[A],delete g[A],S.pssh=new Uint8Array(i),S.keyId=a,E=g[f]=E.then(function(){return t.generateRequestWithPreferredKeySession(T,r,i,"encrypted-event-key-match")}),1):void 0},y=0;y<m.length&&((c=v())===0||c!==1);y++);E||(E=g[f]=this.getKeySystemSelectionPromise([o]).then(function(T){var S,A=T.keySystem,R=T.mediaKeys;t.throwIfDestroyed();var L=new qr("ISO-23001-7",f,(S=$i(A))!=null?S:"");return L.pssh=new Uint8Array(i),L.keyId=a,t.attemptSetMediaKeys(A,R).then(function(){t.throwIfDestroyed();var D=t.createMediaKeySessionContext({decryptdata:L,keySystem:A,mediaKeys:R});return t.generateRequestWithPreferredKeySession(D,r,i,"encrypted-event-no-match")})})),E.catch(function(T){return t.handleError(T)})}}},n._onWaitingForKey=function(e){this.log('"'+e.type+'" event')},n.attemptSetMediaKeys=function(e,t){var r=this,i=this.setMediaKeysQueue.slice();this.log('Setting media-keys for "'+e+'"');var a=Promise.all(i).then(function(){if(!r.media)throw new Error("Attempted to set mediaKeys without media element attached");return r.media.setMediaKeys(t)});return this.setMediaKeysQueue.push(a),a.then(function(){r.log('Media-keys set for "'+e+'"'),i.push(a),r.setMediaKeysQueue=r.setMediaKeysQueue.filter(function(o){return i.indexOf(o)===-1})})},n.generateRequestWithPreferredKeySession=function(e,t,r,i){var a,o,l=this,h=(a=this.config.drmSystems)==null||(o=a[e.keySystem])==null?void 0:o.generateRequest;if(h)try{var u=h.call(this.hls,t,r,e);if(!u)throw new Error("Invalid response from configured generateRequest filter");t=u.initDataType,r=e.decryptdata.pssh=u.initData?new Uint8Array(u.initData):null}catch(v){var d;if(this.warn(v.message),(d=this.hls)!=null&&d.config.debug)throw v}if(r===null)return this.log('Skipping key-session request for "'+i+'" (no initData)'),Promise.resolve(e);var c=this.getKeyIdString(e.decryptdata);this.log('Generating key-session request for "'+i+'": '+c+" (init data type: "+t+" length: "+(r?r.byteLength:null)+")");var f=new Lr,g=e._onmessage=function(v){var y=e.mediaKeysSession;if(y){var T=v.messageType,S=v.message;l.log('"'+T+'" message event for session "'+y.sessionId+'" message size: '+S.byteLength),T==="license-request"||T==="license-renewal"?l.renewLicense(e,S).catch(function(A){l.handleError(A),f.emit("error",A)}):T==="license-release"?e.keySystem===se.FAIRPLAY&&(l.updateKeySession(e,Ur("acknowledged")),l.removeSession(e)):l.warn('unhandled media key message type "'+T+'"')}else f.emit("error",new Error("invalid state"))},m=e._onkeystatuseschange=function(v){if(e.mediaKeysSession){l.onKeyStatusChange(e);var y=e.keyStatus;f.emit("keyStatus",y),y==="expired"&&(l.warn(e.keySystem+" expired for key "+c),l.renewKeySession(e))}else f.emit("error",new Error("invalid state"))};e.mediaKeysSession.addEventListener("message",g),e.mediaKeysSession.addEventListener("keystatuseschange",m);var E=new Promise(function(v,y){f.on("error",y),f.on("keyStatus",function(T){T.startsWith("usable")?v():T==="output-restricted"?y(new Ue({type:K.KEY_SYSTEM_ERROR,details:w.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED,fatal:!1},"HDCP level output restricted")):T==="internal-error"?y(new Ue({type:K.KEY_SYSTEM_ERROR,details:w.KEY_SYSTEM_STATUS_INTERNAL_ERROR,fatal:!0},'key status changed to "'+T+'"')):T==="expired"?y(new Error("key expired while generating request")):l.warn('unhandled key status change "'+T+'"')})});return e.mediaKeysSession.generateRequest(t,r).then(function(){var v;l.log('Request generated for key-session "'+((v=e.mediaKeysSession)==null?void 0:v.sessionId)+'" keyId: '+c)}).catch(function(v){throw new Ue({type:K.KEY_SYSTEM_ERROR,details:w.KEY_SYSTEM_NO_SESSION,error:v,fatal:!1},"Error generating key-session request: "+v)}).then(function(){return E}).catch(function(v){throw f.removeAllListeners(),l.removeSession(e),v}).then(function(){return f.removeAllListeners(),e})},n.onKeyStatusChange=function(e){var t=this;e.mediaKeysSession.keyStatuses.forEach(function(r,i){t.log('key status change "'+r+'" for keyStatuses keyId: '+Ke("buffer"in i?new Uint8Array(i.buffer,i.byteOffset,i.byteLength):new Uint8Array(i))+" session keyId: "+Ke(new Uint8Array(e.decryptdata.keyId||[]))+" uri: "+e.decryptdata.uri),e.keyStatus=r})},n.fetchServerCertificate=function(e){var t=this.config,r=new t.loader(t),i=this.getServerCertificateUrl(e);return i?(this.log('Fetching server certificate for "'+e+'"'),new Promise(function(a,o){var l={responseType:"arraybuffer",url:i},h=t.certLoadPolicy.default,u={loadPolicy:h,timeout:h.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},d={onSuccess:function(c,f,g,m){a(c.data)},onError:function(c,f,g,m){o(new Ue({type:K.KEY_SYSTEM_ERROR,details:w.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:g,response:ye({url:l.url,data:void 0},c)},'"'+e+'" certificate request failed ('+i+"). Status: "+c.code+" ("+c.text+")"))},onTimeout:function(c,f,g){o(new Ue({type:K.KEY_SYSTEM_ERROR,details:w.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:g,response:{url:l.url,data:void 0}},'"'+e+'" certificate request timed out ('+i+")"))},onAbort:function(c,f,g){o(new Error("aborted"))}};r.load(l,u,d)})):Promise.resolve()},n.setMediaKeysServerCertificate=function(e,t,r){var i=this;return new Promise(function(a,o){e.setServerCertificate(r).then(function(l){i.log("setServerCertificate "+(l?"success":"not supported by CDM")+" ("+(r==null?void 0:r.byteLength)+') on "'+t+'"'),a(e)}).catch(function(l){o(new Ue({type:K.KEY_SYSTEM_ERROR,details:w.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED,error:l,fatal:!0},l.message))})})},n.renewLicense=function(e,t){var r=this;return this.requestLicense(e,new Uint8Array(t)).then(function(i){return r.updateKeySession(e,new Uint8Array(i)).catch(function(a){throw new Ue({type:K.KEY_SYSTEM_ERROR,details:w.KEY_SYSTEM_SESSION_UPDATE_FAILED,error:a,fatal:!0},a.message)})})},n.unpackPlayReadyKeyMessage=function(e,t){var r=String.fromCharCode.apply(null,new Uint16Array(t.buffer));if(!r.includes("PlayReadyKeyMessage"))return e.setRequestHeader("Content-Type","text/xml; charset=utf-8"),t;var i=new DOMParser().parseFromString(r,"application/xml"),a=i.querySelectorAll("HttpHeader");if(a.length>0)for(var o,l=0,h=a.length;l<h;l++){var u,d,c=(u=(o=a[l]).querySelector("name"))==null?void 0:u.textContent,f=(d=o.querySelector("value"))==null?void 0:d.textContent;c&&f&&e.setRequestHeader(c,f)}var g=i.querySelector("Challenge"),m=g==null?void 0:g.textContent;if(!m)throw new Error("Cannot find <Challenge> in key message");return Ur(atob(m))},n.setupLicenseXHR=function(e,t,r,i){var a=this,o=this.config.licenseXhrSetup;return o?Promise.resolve().then(function(){if(!r.decryptdata)throw new Error("Key removed");return o.call(a.hls,e,t,r,i)}).catch(function(l){if(!r.decryptdata)throw l;return e.open("POST",t,!0),o.call(a.hls,e,t,r,i)}).then(function(l){return e.readyState||e.open("POST",t,!0),{xhr:e,licenseChallenge:l||i}}):(e.open("POST",t,!0),Promise.resolve({xhr:e,licenseChallenge:i}))},n.requestLicense=function(e,t){var r=this,i=this.config.keyLoadPolicy.default;return new Promise(function(a,o){var l=r.getLicenseServerUrl(e.keySystem);r.log("Sending license request to URL: "+l);var h=new XMLHttpRequest;h.responseType="arraybuffer",h.onreadystatechange=function(){if(!r.hls||!e.mediaKeysSession)return o(new Error("invalid state"));if(h.readyState===4)if(h.status===200){r._requestLicenseFailureCount=0;var u=h.response;r.log("License received "+(u instanceof ArrayBuffer?u.byteLength:u));var d=r.config.licenseResponseCallback;if(d)try{u=d.call(r.hls,h,l,e)}catch(m){r.error(m)}a(u)}else{var c=i.errorRetry,f=c?c.maxNumRetry:0;if(r._requestLicenseFailureCount++,r._requestLicenseFailureCount>f||h.status>=400&&h.status<500)o(new Ue({type:K.KEY_SYSTEM_ERROR,details:w.KEY_SYSTEM_LICENSE_REQUEST_FAILED,fatal:!0,networkDetails:h,response:{url:l,data:void 0,code:h.status,text:h.statusText}},"License Request XHR failed ("+l+"). Status: "+h.status+" ("+h.statusText+")"));else{var g=f-r._requestLicenseFailureCount+1;r.warn("Retrying license request, "+g+" attempts left"),r.requestLicense(e,t).then(a,o)}}},e.licenseXhr&&e.licenseXhr.readyState!==XMLHttpRequest.DONE&&e.licenseXhr.abort(),e.licenseXhr=h,r.setupLicenseXHR(h,l,e,t).then(function(u){var d=u.xhr,c=u.licenseChallenge;e.keySystem==se.PLAYREADY&&(c=r.unpackPlayReadyKeyMessage(d,c)),d.send(c)})})},n.onMediaAttached=function(e,t){if(this.config.emeEnabled){var r=t.media;this.media=r,r.addEventListener("encrypted",this.onMediaEncrypted),r.addEventListener("waitingforkey",this.onWaitingForKey)}},n.onMediaDetached=function(){var e=this,t=this.media,r=this.mediaKeySessions;t&&(t.removeEventListener("encrypted",this.onMediaEncrypted),t.removeEventListener("waitingforkey",this.onWaitingForKey),this.media=null),this._requestLicenseFailureCount=0,this.setMediaKeysQueue=[],this.mediaKeySessions=[],this.keyIdToKeySessionPromise={},qr.clearKeyUriToKeyIdMap();var i=r.length;s.CDMCleanupPromise=Promise.all(r.map(function(a){return e.removeSession(a)}).concat(t==null?void 0:t.setMediaKeys(null).catch(function(a){e.log("Could not clear media keys: "+a)}))).then(function(){i&&(e.log("finished closing key sessions and clearing media keys"),r.length=0)}).catch(function(a){e.log("Could not close sessions and clear media keys: "+a)})},n.onManifestLoading=function(){this.keyFormatPromise=null},n.onManifestLoaded=function(e,t){var r=t.sessionKeys;if(r&&this.config.emeEnabled&&!this.keyFormatPromise){var i=r.reduce(function(a,o){return a.indexOf(o.keyFormat)===-1&&a.push(o.keyFormat),a},[]);this.log("Selecting key-system from session-keys "+i.join(", ")),this.keyFormatPromise=this.getKeyFormatPromise(i)}},n.removeSession=function(e){var t=this,r=e.mediaKeysSession,i=e.licenseXhr;if(r){this.log("Remove licenses and keys and close session "+r.sessionId),e._onmessage&&(r.removeEventListener("message",e._onmessage),e._onmessage=void 0),e._onkeystatuseschange&&(r.removeEventListener("keystatuseschange",e._onkeystatuseschange),e._onkeystatuseschange=void 0),i&&i.readyState!==XMLHttpRequest.DONE&&i.abort(),e.mediaKeysSession=e.decryptdata=e.licenseXhr=void 0;var a=this.mediaKeySessions.indexOf(e);return a>-1&&this.mediaKeySessions.splice(a,1),r.remove().catch(function(o){t.log("Could not remove session: "+o)}).then(function(){return r.close()}).catch(function(o){t.log("Could not close session: "+o)})}},s}();Ha.CDMCleanupPromise=void 0;var Re,Fi,ft,Xt,Ue=function(s){function n(e,t){var r;return(r=s.call(this,t)||this).data=void 0,e.error||(e.error=new Error(t)),r.data=e,e.err=e.error,r}return Le(n,s),n}(Mt(Error));(function(s){s.MANIFEST="m",s.AUDIO="a",s.VIDEO="v",s.MUXED="av",s.INIT="i",s.CAPTION="c",s.TIMED_TEXT="tt",s.KEY="k",s.OTHER="o"})(Re||(Re={})),function(s){s.DASH="d",s.HLS="h",s.SMOOTH="s",s.OTHER="o"}(Fi||(Fi={})),function(s){s.OBJECT="CMCD-Object",s.REQUEST="CMCD-Request",s.SESSION="CMCD-Session",s.STATUS="CMCD-Status"}(ft||(ft={}));var el=((Xt={})[ft.OBJECT]=["br","d","ot","tb"],Xt[ft.REQUEST]=["bl","dl","mtp","nor","nrr","su"],Xt[ft.SESSION]=["cid","pr","sf","sid","st","v"],Xt[ft.STATUS]=["bs","rtp"],Xt),Mi=function s(n,e){this.value=void 0,this.params=void 0,Array.isArray(n)&&(n=n.map(function(t){return t instanceof s?t:new s(t)})),this.value=n,this.params=e},Va=function(s){this.description=void 0,this.description=s},tl="Dict";function rl(s,n,e,t){return new Error("failed to "+s+' "'+(r=n,(Array.isArray(r)?JSON.stringify(r):r instanceof Map?"Map{}":r instanceof Set?"Set{}":typeof r=="object"?JSON.stringify(r):String(r))+'" as ')+e,{cause:t});var r}var Ya="Bare Item",il="Boolean",nl="Byte Sequence",al="Decimal",sl="Integer",ol=/[\x00-\x1f\x7f]+/,ll="Token",ul="Key";function je(s,n,e){return rl("serialize",s,n,e)}function hl(s){if(ArrayBuffer.isView(s)===!1)throw je(s,nl);return":"+(n=s,btoa(String.fromCharCode.apply(String,n))+":");var n}function Wa(s){if(function(n){return n<-999999999999999||999999999999999<n}(s))throw je(s,sl);return s.toString()}function ja(s,n){if(s<0)return-ja(-s,n);var e=Math.pow(10,n);if(Math.abs(s*e%1-.5)<Number.EPSILON){var t=Math.floor(s*e);return(t%2==0?t:t+1)/e}return Math.round(s*e)/e}function dl(s){var n=ja(s,3);if(Math.floor(Math.abs(n)).toString().length>12)throw je(s,al);var e=n.toString();return e.includes(".")?e:e+".0"}var cl="String";function qa(s){var n,e=(n=s).description||n.toString().slice(7,-1);if(/^([a-zA-Z*])([!#$%&'*+\-.^_`|~\w:/]*)$/.test(e)===!1)throw je(e,ll);return e}function Oi(s){switch(typeof s){case"number":if(!N(s))throw je(s,Ya);return Number.isInteger(s)?Wa(s):dl(s);case"string":return function(n){if(ol.test(n))throw je(n,cl);return'"'+n.replace(/\\/g,"\\\\").replace(/"/g,'\\"')+'"'}(s);case"symbol":return qa(s);case"boolean":return function(n){if(typeof n!="boolean")throw je(n,il);return n?"?1":"?0"}(s);case"object":if(s instanceof Date)return function(n){return"@"+Wa(n.getTime()/1e3)}(s);if(s instanceof Uint8Array)return hl(s);if(s instanceof Va)return qa(s);default:throw je(s,Ya)}}function Ni(s){if(/^[a-z*][a-z0-9\-_.*]*$/.test(s)===!1)throw je(s,ul);return s}function Ui(s){return s==null?"":Object.entries(s).map(function(n){var e=n[0],t=n[1];return t===!0?";"+Ni(e):";"+Ni(e)+"="+Oi(t)}).join("")}function Xa(s){return s instanceof Mi?""+Oi(s.value)+Ui(s.params):Oi(s)}function fl(s,n){var e;if(n===void 0&&(n={whitespace:!0}),typeof s!="object")throw je(s,tl);var t=s instanceof Map?s.entries():Object.entries(s),r=(e=n)!=null&&e.whitespace?" ":"";return Array.from(t).map(function(i){var a=i[0],o=i[1];o instanceof Mi==0&&(o=new Mi(o));var l,h=Ni(a);return o.value===!0?h+=Ui(o.params):(h+="=",Array.isArray(o.value)?h+="("+(l=o).value.map(Xa).join(" ")+")"+Ui(l.params):h+=Xa(o)),h}).join(","+r)}var gl=function(s){return s==="ot"||s==="sf"||s==="st"},vl=function(s){return typeof s=="number"?N(s):s!=null&&s!==""&&s!==!1},Dr=function(s){return Math.round(s)},wr=function(s){return 100*Dr(s/100)},ml={br:Dr,d:Dr,bl:wr,dl:wr,mtp:wr,nor:function(s,n){return n!=null&&n.baseUrl&&(s=function(e,t){var r=new URL(e),i=new URL(t);if(r.origin!==i.origin)return e;for(var a=r.pathname.split("/").slice(1),o=i.pathname.split("/").slice(1,-1);a[0]===o[0];)a.shift(),o.shift();for(;o.length;)o.shift(),a.unshift("..");return a.join("/")}(s,n.baseUrl)),encodeURIComponent(s)},rtp:wr,tb:Dr};function za(s,n){return n===void 0&&(n={}),s?function(e,t){return fl(e,t)}(function(e,t){var r={};if(e==null||typeof e!="object")return r;var i=Object.keys(e).sort(),a=ge({},ml,t==null?void 0:t.formatters),o=t==null?void 0:t.filter;return i.forEach(function(l){if(o==null||!o(l)){var h=e[l],u=a[l];u&&(h=u(h,t)),l==="v"&&h===1||l=="pr"&&h===1||vl(h)&&(gl(l)&&typeof h=="string"&&(h=new Va(h)),r[l]=h)}}),r}(s,n),ge({whitespace:!1},n)):""}function pl(s,n,e){return ge(s,function(t,r){var i;if(r===void 0&&(r={}),!t)return{};var a=Object.entries(t),o=Object.entries(el).concat(Object.entries(((i=r)==null?void 0:i.customHeaderMap)||{})),l=a.reduce(function(h,u){var d,c=u[0],f=u[1],g=((d=o.find(function(m){return m[1].includes(c)}))==null?void 0:d[0])||ft.REQUEST;return h[g]!=null||(h[g]={}),h[g][c]=f,h},{});return Object.entries(l).reduce(function(h,u){var d=u[0],c=u[1];return h[d]=za(c,r),h},{})}(n,e))}var yl="CMCD",Qa=/CMCD=[^&#]+/;function El(s,n,e){var t=function(i,a){if(a===void 0&&(a={}),!i)return"";var o=za(i,a);return yl+"="+encodeURIComponent(o)}(n,e);if(!t)return s;if(Qa.test(s))return s.replace(Qa,t);var r=s.includes("?")?"&":"?";return""+s+r+t}var Tl=function(){function s(e){var t=this;this.hls=void 0,this.config=void 0,this.media=void 0,this.sid=void 0,this.cid=void 0,this.useHeaders=!1,this.includeKeys=void 0,this.initialized=!1,this.starved=!1,this.buffering=!0,this.audioBuffer=void 0,this.videoBuffer=void 0,this.onWaiting=function(){t.initialized&&(t.starved=!0),t.buffering=!0},this.onPlaying=function(){t.initialized||(t.initialized=!0),t.buffering=!1},this.applyPlaylistData=function(a){try{t.apply(a,{ot:Re.MANIFEST,su:!t.initialized})}catch(o){b.warn("Could not generate manifest CMCD data.",o)}},this.applyFragmentData=function(a){try{var o=a.frag,l=t.hls.levels[o.level],h=t.getObjectType(o),u={d:1e3*o.duration,ot:h};h!==Re.VIDEO&&h!==Re.AUDIO&&h!=Re.MUXED||(u.br=l.bitrate/1e3,u.tb=t.getTopBandwidth(h)/1e3,u.bl=t.getBufferLength(h)),t.apply(a,u)}catch(d){b.warn("Could not generate segment CMCD data.",d)}},this.hls=e;var r=this.config=e.config,i=r.cmcd;i!=null&&(r.pLoader=this.createPlaylistLoader(),r.fLoader=this.createFragmentLoader(),this.sid=i.sessionId||function(){try{return crypto.randomUUID()}catch{try{var a=URL.createObjectURL(new Blob),o=a.toString();return URL.revokeObjectURL(a),o.slice(o.lastIndexOf("/")+1)}catch{var l=new Date().getTime();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(d){var c=(l+16*Math.random())%16|0;return l=Math.floor(l/16),(d=="x"?c:3&c|8).toString(16)})}}}(),this.cid=i.contentId,this.useHeaders=i.useHeaders===!0,this.includeKeys=i.includeKeys,this.registerListeners())}var n=s.prototype;return n.registerListeners=function(){var e=this.hls;e.on(p.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(p.MEDIA_DETACHED,this.onMediaDetached,this),e.on(p.BUFFER_CREATED,this.onBufferCreated,this)},n.unregisterListeners=function(){var e=this.hls;e.off(p.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(p.MEDIA_DETACHED,this.onMediaDetached,this),e.off(p.BUFFER_CREATED,this.onBufferCreated,this)},n.destroy=function(){this.unregisterListeners(),this.onMediaDetached(),this.hls=this.config=this.audioBuffer=this.videoBuffer=null,this.onWaiting=this.onPlaying=null},n.onMediaAttached=function(e,t){this.media=t.media,this.media.addEventListener("waiting",this.onWaiting),this.media.addEventListener("playing",this.onPlaying)},n.onMediaDetached=function(){this.media&&(this.media.removeEventListener("waiting",this.onWaiting),this.media.removeEventListener("playing",this.onPlaying),this.media=null)},n.onBufferCreated=function(e,t){var r,i;this.audioBuffer=(r=t.tracks.audio)==null?void 0:r.buffer,this.videoBuffer=(i=t.tracks.video)==null?void 0:i.buffer},n.createData=function(){var e;return{v:1,sf:Fi.HLS,sid:this.sid,cid:this.cid,pr:(e=this.media)==null?void 0:e.playbackRate,mtp:this.hls.bandwidthEstimate/1e3}},n.apply=function(e,t){t===void 0&&(t={}),ge(t,this.createData());var r=t.ot===Re.INIT||t.ot===Re.VIDEO||t.ot===Re.MUXED;this.starved&&r&&(t.bs=!0,t.su=!0,this.starved=!1),t.su==null&&(t.su=this.buffering);var i=this.includeKeys;i&&(t=Object.keys(t).reduce(function(a,o){return i.includes(o)&&(a[o]=t[o]),a},{})),this.useHeaders?(e.headers||(e.headers={}),pl(e.headers,t)):e.url=El(e.url,t)},n.getObjectType=function(e){var t=e.type;return t==="subtitle"?Re.TIMED_TEXT:e.sn==="initSegment"?Re.INIT:t==="audio"?Re.AUDIO:t==="main"?this.hls.audioTracks.length?Re.VIDEO:Re.MUXED:void 0},n.getTopBandwidth=function(e){var t,r=0,i=this.hls;if(e===Re.AUDIO)t=i.audioTracks;else{var a=i.maxAutoLevel,o=a>-1?a+1:i.levels.length;t=i.levels.slice(0,o)}for(var l,h=us(t);!(l=h()).done;){var u=l.value;u.bitrate>r&&(r=u.bitrate)}return r>0?r:NaN},n.getBufferLength=function(e){var t=this.hls.media,r=e===Re.AUDIO?this.audioBuffer:this.videoBuffer;return r&&t?1e3*ue.bufferInfo(r,t.currentTime,this.config.maxBufferHole).len:NaN},n.createPlaylistLoader=function(){var e=this.config.pLoader,t=this.applyPlaylistData,r=e||this.config.loader;return function(){function i(o){this.loader=void 0,this.loader=new r(o)}var a=i.prototype;return a.destroy=function(){this.loader.destroy()},a.abort=function(){this.loader.abort()},a.load=function(o,l,h){t(o),this.loader.load(o,l,h)},fe(i,[{key:"stats",get:function(){return this.loader.stats}},{key:"context",get:function(){return this.loader.context}}]),i}()},n.createFragmentLoader=function(){var e=this.config.fLoader,t=this.applyFragmentData,r=e||this.config.loader;return function(){function i(o){this.loader=void 0,this.loader=new r(o)}var a=i.prototype;return a.destroy=function(){this.loader.destroy()},a.abort=function(){this.loader.abort()},a.load=function(o,l,h){t(o),this.loader.load(o,l,h)},fe(i,[{key:"stats",get:function(){return this.loader.stats}},{key:"context",get:function(){return this.loader.context}}]),i}()},s}(),Sl=function(){function s(e){this.hls=void 0,this.log=void 0,this.loader=null,this.uri=null,this.pathwayId=".",this.pathwayPriority=null,this.timeToLoad=300,this.reloadTimer=-1,this.updated=0,this.started=!1,this.enabled=!0,this.levels=null,this.audioTracks=null,this.subtitleTracks=null,this.penalizedPathways={},this.hls=e,this.log=b.log.bind(b,"[content-steering]:"),this.registerListeners()}var n=s.prototype;return n.registerListeners=function(){var e=this.hls;e.on(p.MANIFEST_LOADING,this.onManifestLoading,this),e.on(p.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(p.MANIFEST_PARSED,this.onManifestParsed,this),e.on(p.ERROR,this.onError,this)},n.unregisterListeners=function(){var e=this.hls;e&&(e.off(p.MANIFEST_LOADING,this.onManifestLoading,this),e.off(p.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(p.MANIFEST_PARSED,this.onManifestParsed,this),e.off(p.ERROR,this.onError,this))},n.startLoad=function(){if(this.started=!0,this.clearTimeout(),this.enabled&&this.uri){if(this.updated){var e=1e3*this.timeToLoad-(performance.now()-this.updated);if(e>0)return void this.scheduleRefresh(this.uri,e)}this.loadSteeringManifest(this.uri)}},n.stopLoad=function(){this.started=!1,this.loader&&(this.loader.destroy(),this.loader=null),this.clearTimeout()},n.clearTimeout=function(){this.reloadTimer!==-1&&(self.clearTimeout(this.reloadTimer),this.reloadTimer=-1)},n.destroy=function(){this.unregisterListeners(),this.stopLoad(),this.hls=null,this.levels=this.audioTracks=this.subtitleTracks=null},n.removeLevel=function(e){var t=this.levels;t&&(this.levels=t.filter(function(r){return r!==e}))},n.onManifestLoading=function(){this.stopLoad(),this.enabled=!0,this.timeToLoad=300,this.updated=0,this.uri=null,this.pathwayId=".",this.levels=this.audioTracks=this.subtitleTracks=null},n.onManifestLoaded=function(e,t){var r=t.contentSteering;r!==null&&(this.pathwayId=r.pathwayId,this.uri=r.uri,this.started&&this.startLoad())},n.onManifestParsed=function(e,t){this.audioTracks=t.audioTracks,this.subtitleTracks=t.subtitleTracks},n.onError=function(e,t){var r=t.errorAction;if((r==null?void 0:r.action)===Xe&&r.flags===oi){var i=this.levels,a=this.pathwayPriority,o=this.pathwayId;if(t.context){var l=t.context,h=l.groupId,u=l.pathwayId,d=l.type;h&&i?o=this.getPathwayForGroupId(h,d,o):u&&(o=u)}o in this.penalizedPathways||(this.penalizedPathways[o]=performance.now()),!a&&i&&(a=i.reduce(function(c,f){return c.indexOf(f.pathwayId)===-1&&c.push(f.pathwayId),c},[])),a&&a.length>1&&(this.updatePathwayPriority(a),r.resolved=this.pathwayId!==o),r.resolved||b.warn("Could not resolve "+t.details+' ("'+t.error.message+'") with content-steering for Pathway: '+o+" levels: "+(i&&i.length)+" priorities: "+JSON.stringify(a)+" penalized: "+JSON.stringify(this.penalizedPathways))}},n.filterParsedLevels=function(e){this.levels=e;var t=this.getLevelsForPathway(this.pathwayId);if(t.length===0){var r=e[0].pathwayId;this.log("No levels found in Pathway "+this.pathwayId+'. Setting initial Pathway to "'+r+'"'),t=this.getLevelsForPathway(r),this.pathwayId=r}return t.length!==e.length?(this.log("Found "+t.length+"/"+e.length+' levels in Pathway "'+this.pathwayId+'"'),t):e},n.getLevelsForPathway=function(e){return this.levels===null?[]:this.levels.filter(function(t){return e===t.pathwayId})},n.updatePathwayPriority=function(e){var t;this.pathwayPriority=e;var r=this.penalizedPathways,i=performance.now();Object.keys(r).forEach(function(d){i-r[d]>3e5&&delete r[d]});for(var a=0;a<e.length;a++){var o=e[a];if(!(o in r)){if(o===this.pathwayId)return;var l=this.hls.nextLoadLevel,h=this.hls.levels[l];if((t=this.getLevelsForPathway(o)).length>0){this.log('Setting Pathway to "'+o+'"'),this.pathwayId=o,Kn(t),this.hls.trigger(p.LEVELS_UPDATED,{levels:t});var u=this.hls.levels[l];h&&u&&this.levels&&(u.attrs["STABLE-VARIANT-ID"]!==h.attrs["STABLE-VARIANT-ID"]&&u.bitrate!==h.bitrate&&this.log("Unstable Pathways change from bitrate "+h.bitrate+" to "+u.bitrate),this.hls.nextLoadLevel=l);break}}}},n.getPathwayForGroupId=function(e,t,r){for(var i=this.getLevelsForPathway(r).concat(this.levels||[]),a=0;a<i.length;a++)if(t===Be&&i[a].hasAudioGroup(e)||t===Ve&&i[a].hasSubtitleGroup(e))return i[a].pathwayId;return r},n.clonePathways=function(e){var t=this,r=this.levels;if(r){var i={},a={};e.forEach(function(o){var l=o.ID,h=o["BASE-ID"],u=o["URI-REPLACEMENT"];if(!r.some(function(c){return c.pathwayId===l})){var d=t.getLevelsForPathway(h).map(function(c){var f=new de(c.attrs);f["PATHWAY-ID"]=l;var g=f.AUDIO&&f.AUDIO+"_clone_"+l,m=f.SUBTITLES&&f.SUBTITLES+"_clone_"+l;g&&(i[f.AUDIO]=g,f.AUDIO=g),m&&(a[f.SUBTITLES]=m,f.SUBTITLES=m);var E=$a(c.uri,f["STABLE-VARIANT-ID"],"PER-VARIANT-URIS",u),v=new yt({attrs:f,audioCodec:c.audioCodec,bitrate:c.bitrate,height:c.height,name:c.name,url:E,videoCodec:c.videoCodec,width:c.width});if(c.audioGroups)for(var y=1;y<c.audioGroups.length;y++)v.addGroupId("audio",c.audioGroups[y]+"_clone_"+l);if(c.subtitleGroups)for(var T=1;T<c.subtitleGroups.length;T++)v.addGroupId("text",c.subtitleGroups[T]+"_clone_"+l);return v});r.push.apply(r,d),Ja(t.audioTracks,i,u,l),Ja(t.subtitleTracks,a,u,l)}})}},n.loadSteeringManifest=function(e){var t,r=this,i=this.hls.config,a=i.loader;this.loader&&this.loader.destroy(),this.loader=new a(i);try{t=new self.URL(e)}catch{return this.enabled=!1,void this.log("Failed to parse Steering Manifest URI: "+e)}if(t.protocol!=="data:"){var o=0|(this.hls.bandwidthEstimate||i.abrEwmaDefaultEstimate);t.searchParams.set("_HLS_pathway",this.pathwayId),t.searchParams.set("_HLS_throughput",""+o)}var l={responseType:"json",url:t.href},h=i.steeringManifestLoadPolicy.default,u=h.errorRetry||h.timeoutRetry||{},d={loadPolicy:h,timeout:h.maxLoadTimeMs,maxRetry:u.maxNumRetry||0,retryDelay:u.retryDelayMs||0,maxRetryDelay:u.maxRetryDelayMs||0},c={onSuccess:function(f,g,m,E){r.log('Loaded steering manifest: "'+t+'"');var v=f.data;if(v.VERSION===1){r.updated=performance.now(),r.timeToLoad=v.TTL;var y=v["RELOAD-URI"],T=v["PATHWAY-CLONES"],S=v["PATHWAY-PRIORITY"];if(y)try{r.uri=new self.URL(y,t).href}catch{return r.enabled=!1,void r.log("Failed to parse Steering Manifest RELOAD-URI: "+y)}r.scheduleRefresh(r.uri||m.url),T&&r.clonePathways(T);var A={steeringManifest:v,url:t.toString()};r.hls.trigger(p.STEERING_MANIFEST_LOADED,A),S&&r.updatePathwayPriority(S)}else r.log("Steering VERSION "+v.VERSION+" not supported!")},onError:function(f,g,m,E){if(r.log("Error loading steering manifest: "+f.code+" "+f.text+" ("+g.url+")"),r.stopLoad(),f.code===410)return r.enabled=!1,void r.log("Steering manifest "+g.url+" no longer available");var v=1e3*r.timeToLoad;if(f.code!==429)r.scheduleRefresh(r.uri||g.url,v);else{var y=r.loader;if(typeof(y==null?void 0:y.getResponseHeader)=="function"){var T=y.getResponseHeader("Retry-After");T&&(v=1e3*parseFloat(T))}r.log("Steering manifest "+g.url+" rate limited")}},onTimeout:function(f,g,m){r.log("Timeout loading steering manifest ("+g.url+")"),r.scheduleRefresh(r.uri||g.url)}};this.log("Requesting steering manifest: "+t),this.loader.load(l,d,c)},n.scheduleRefresh=function(e,t){var r=this;t===void 0&&(t=1e3*this.timeToLoad),this.clearTimeout(),this.reloadTimer=self.setTimeout(function(){var i,a=(i=r.hls)==null?void 0:i.media;!a||a.ended?r.scheduleRefresh(e,1e3*r.timeToLoad):r.loadSteeringManifest(e)},t)},s}();function Ja(s,n,e,t){s&&Object.keys(n).forEach(function(r){var i=s.filter(function(a){return a.groupId===r}).map(function(a){var o=ge({},a);return o.details=void 0,o.attrs=new de(o.attrs),o.url=o.attrs.URI=$a(a.url,a.attrs["STABLE-RENDITION-ID"],"PER-RENDITION-URIS",e),o.groupId=o.attrs["GROUP-ID"]=n[r],o.attrs["PATHWAY-ID"]=t,o});s.push.apply(s,i)})}function $a(s,n,e,t){var r,i=t.HOST,a=t.PARAMS,o=t[e];n&&(r=o==null?void 0:o[n])&&(s=r);var l=new self.URL(s);return i&&!r&&(l.host=i),a&&Object.keys(a).sort().forEach(function(h){h&&l.searchParams.set(h,a[h])}),l.href}var Ll=/^age:\s*[\d.]+\s*$/im,Za=function(){function s(e){this.xhrSetup=void 0,this.requestTimeout=void 0,this.retryTimeout=void 0,this.retryDelay=void 0,this.config=null,this.callbacks=null,this.context=null,this.loader=null,this.stats=void 0,this.xhrSetup=e&&e.xhrSetup||null,this.stats=new Qt,this.retryDelay=0}var n=s.prototype;return n.destroy=function(){this.callbacks=null,this.abortInternal(),this.loader=null,this.config=null,this.context=null,this.xhrSetup=null},n.abortInternal=function(){var e=this.loader;self.clearTimeout(this.requestTimeout),self.clearTimeout(this.retryTimeout),e&&(e.onreadystatechange=null,e.onprogress=null,e.readyState!==4&&(this.stats.aborted=!0,e.abort()))},n.abort=function(){var e;this.abortInternal(),(e=this.callbacks)!=null&&e.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.loader)},n.load=function(e,t,r){if(this.stats.loading.start)throw new Error("Loader can only be used once.");this.stats.loading.start=self.performance.now(),this.context=e,this.config=t,this.callbacks=r,this.loadInternal()},n.loadInternal=function(){var e=this,t=this.config,r=this.context;if(t&&r){var i=this.loader=new self.XMLHttpRequest,a=this.stats;a.loading.first=0,a.loaded=0,a.aborted=!1;var o=this.xhrSetup;o?Promise.resolve().then(function(){if(e.loader===i&&!e.stats.aborted)return o(i,r.url)}).catch(function(l){if(e.loader===i&&!e.stats.aborted)return i.open("GET",r.url,!0),o(i,r.url)}).then(function(){e.loader!==i||e.stats.aborted||e.openAndSendXhr(i,r,t)}).catch(function(l){e.callbacks.onError({code:i.status,text:l.message},r,i,a)}):this.openAndSendXhr(i,r,t)}},n.openAndSendXhr=function(e,t,r){e.readyState||e.open("GET",t.url,!0);var i=t.headers,a=r.loadPolicy,o=a.maxTimeToFirstByteMs,l=a.maxLoadTimeMs;if(i)for(var h in i)e.setRequestHeader(h,i[h]);t.rangeEnd&&e.setRequestHeader("Range","bytes="+t.rangeStart+"-"+(t.rangeEnd-1)),e.onreadystatechange=this.readystatechange.bind(this),e.onprogress=this.loadprogress.bind(this),e.responseType=t.responseType,self.clearTimeout(this.requestTimeout),r.timeout=o&&N(o)?o:l,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),r.timeout),e.send()},n.readystatechange=function(){var e=this.context,t=this.loader,r=this.stats;if(e&&t){var i=t.readyState,a=this.config;if(!r.aborted&&i>=2&&(r.loading.first===0&&(r.loading.first=Math.max(self.performance.now(),r.loading.start),a.timeout!==a.loadPolicy.maxLoadTimeMs&&(self.clearTimeout(this.requestTimeout),a.timeout=a.loadPolicy.maxLoadTimeMs,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),a.loadPolicy.maxLoadTimeMs-(r.loading.first-r.loading.start)))),i===4)){self.clearTimeout(this.requestTimeout),t.onreadystatechange=null,t.onprogress=null;var o=t.status,l=t.responseType!=="text";if(o>=200&&o<300&&(l&&t.response||t.responseText!==null)){r.loading.end=Math.max(self.performance.now(),r.loading.first);var h=l?t.response:t.responseText,u=t.responseType==="arraybuffer"?h.byteLength:h.length;if(r.loaded=r.total=u,r.bwEstimate=8e3*r.total/(r.loading.end-r.loading.first),!this.callbacks)return;var d=this.callbacks.onProgress;if(d&&d(r,e,h,t),!this.callbacks)return;var c={url:t.responseURL,data:h,code:o};this.callbacks.onSuccess(c,r,e,t)}else{var f=a.loadPolicy.errorRetry;hr(f,r.retry,!1,{url:e.url,data:void 0,code:o})?this.retry(f):(b.error(o+" while loading "+e.url),this.callbacks.onError({code:o,text:t.statusText},e,t,r))}}}},n.loadtimeout=function(){if(this.config){var e=this.config.loadPolicy.timeoutRetry;if(hr(e,this.stats.retry,!0))this.retry(e);else{var t;b.warn("timeout while loading "+((t=this.context)==null?void 0:t.url));var r=this.callbacks;r&&(this.abortInternal(),r.onTimeout(this.stats,this.context,this.loader))}}},n.retry=function(e){var t=this.context,r=this.stats;this.retryDelay=ni(e,r.retry),r.retry++,b.warn((status?"HTTP Status "+status:"Timeout")+" while loading "+(t==null?void 0:t.url)+", retrying "+r.retry+"/"+e.maxNumRetry+" in "+this.retryDelay+"ms"),this.abortInternal(),this.loader=null,self.clearTimeout(this.retryTimeout),this.retryTimeout=self.setTimeout(this.loadInternal.bind(this),this.retryDelay)},n.loadprogress=function(e){var t=this.stats;t.loaded=e.loaded,e.lengthComputable&&(t.total=e.total)},n.getCacheAge=function(){var e=null;if(this.loader&&Ll.test(this.loader.getAllResponseHeaders())){var t=this.loader.getResponseHeader("age");e=t?parseFloat(t):null}return e},n.getResponseHeader=function(e){return this.loader&&new RegExp("^"+e+":\\s*[\\d.]+\\s*$","im").test(this.loader.getAllResponseHeaders())?this.loader.getResponseHeader(e):null},s}(),Al=/(\d+)-(\d+)\/(\d+)/,es=function(){function s(e){this.fetchSetup=void 0,this.requestTimeout=void 0,this.request=null,this.response=null,this.controller=void 0,this.context=null,this.config=null,this.callbacks=null,this.stats=void 0,this.loader=null,this.fetchSetup=e.fetchSetup||Rl,this.controller=new self.AbortController,this.stats=new Qt}var n=s.prototype;return n.destroy=function(){this.loader=this.callbacks=this.context=this.config=this.request=null,this.abortInternal(),this.response=null,this.fetchSetup=this.controller=this.stats=null},n.abortInternal=function(){this.controller&&!this.stats.loading.end&&(this.stats.aborted=!0,this.controller.abort())},n.abort=function(){var e;this.abortInternal(),(e=this.callbacks)!=null&&e.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.response)},n.load=function(e,t,r){var i=this,a=this.stats;if(a.loading.start)throw new Error("Loader can only be used once.");a.loading.start=self.performance.now();var o=function(g,m){var E={method:"GET",mode:"cors",credentials:"same-origin",signal:m,headers:new self.Headers(ge({},g.headers))};return g.rangeEnd&&E.headers.set("Range","bytes="+g.rangeStart+"-"+String(g.rangeEnd-1)),E}(e,this.controller.signal),l=r.onProgress,h=e.responseType==="arraybuffer",u=h?"byteLength":"length",d=t.loadPolicy,c=d.maxTimeToFirstByteMs,f=d.maxLoadTimeMs;this.context=e,this.config=t,this.callbacks=r,this.request=this.fetchSetup(e,o),self.clearTimeout(this.requestTimeout),t.timeout=c&&N(c)?c:f,this.requestTimeout=self.setTimeout(function(){i.abortInternal(),r.onTimeout(a,e,i.response)},t.timeout),self.fetch(this.request).then(function(g){i.response=i.loader=g;var m=Math.max(self.performance.now(),a.loading.start);if(self.clearTimeout(i.requestTimeout),t.timeout=f,i.requestTimeout=self.setTimeout(function(){i.abortInternal(),r.onTimeout(a,e,i.response)},f-(m-a.loading.start)),!g.ok){var E=g.status,v=g.statusText;throw new bl(v||"fetch, bad network response",E,g)}return a.loading.first=m,a.total=function(y){var T=y.get("Content-Range");if(T){var S=function(R){var L=Al.exec(R);if(L)return parseInt(L[2])-parseInt(L[1])+1}(T);if(N(S))return S}var A=y.get("Content-Length");if(A)return parseInt(A)}(g.headers)||a.total,l&&N(t.highWaterMark)?i.loadProgressively(g,a,e,t.highWaterMark,l):h?g.arrayBuffer():e.responseType==="json"?g.json():g.text()}).then(function(g){var m=i.response;if(!m)throw new Error("loader destroyed");self.clearTimeout(i.requestTimeout),a.loading.end=Math.max(self.performance.now(),a.loading.first);var E=g[u];E&&(a.loaded=a.total=E);var v={url:m.url,data:g,code:m.status};l&&!N(t.highWaterMark)&&l(a,e,g,m),r.onSuccess(v,a,e,m)}).catch(function(g){if(self.clearTimeout(i.requestTimeout),!a.aborted){var m=g&&g.code||0,E=g?g.message:null;r.onError({code:m,text:E},e,g?g.details:null,a)}})},n.getCacheAge=function(){var e=null;if(this.response){var t=this.response.headers.get("age");e=t?parseFloat(t):null}return e},n.getResponseHeader=function(e){return this.response?this.response.headers.get(e):null},n.loadProgressively=function(e,t,r,i,a){i===void 0&&(i=0);var o=new ta,l=e.body.getReader();return function h(){return l.read().then(function(u){if(u.done)return o.dataLength&&a(t,r,o.flush(),e),Promise.resolve(new ArrayBuffer(0));var d=u.value,c=d.length;return t.loaded+=c,c<i||o.dataLength?(o.push(d),o.dataLength>=i&&a(t,r,o.flush(),e)):a(t,r,d,e),h()}).catch(function(){return Promise.reject()})}()},s}();function Rl(s,n){return new self.Request(s.url,n)}var Bi,bl=function(s){function n(e,t,r){var i;return(i=s.call(this,e)||this).code=void 0,i.details=void 0,i.code=t,i.details=r,i}return Le(n,s),n}(Mt(Error)),kl=/\s/,ts=ye(ye({autoStartLoad:!0,startPosition:-1,defaultAudioCodec:void 0,debug:!1,capLevelOnFPSDrop:!1,capLevelToPlayerSize:!1,ignoreDevicePixelRatio:!1,preferManagedMediaSource:!0,initialLiveManifestSize:1,maxBufferLength:30,backBufferLength:1/0,frontBufferFlushThreshold:1/0,maxBufferSize:6e7,maxBufferHole:.1,highBufferWatchdogPeriod:2,nudgeOffset:.1,nudgeMaxRetry:3,maxFragLookUpTolerance:.25,liveSyncDurationCount:3,liveMaxLatencyDurationCount:1/0,liveSyncDuration:void 0,liveMaxLatencyDuration:void 0,maxLiveSyncPlaybackRate:1,liveDurationInfinity:!1,liveBackBufferLength:null,maxMaxBufferLength:600,enableWorker:!0,workerPath:null,enableSoftwareAES:!0,startLevel:void 0,startFragPrefetch:!1,fpsDroppedMonitoringPeriod:5e3,fpsDroppedMonitoringThreshold:.2,appendErrorMaxRetry:3,loader:Za,fLoader:void 0,pLoader:void 0,xhrSetup:void 0,licenseXhrSetup:void 0,licenseResponseCallback:void 0,abrController:Js,bufferController:Fo,capLevelController:$o,errorController:qs,fpsController:Zo,stretchShortVideoTrack:!1,maxAudioFramesDrift:1,forceKeyFrameOnDiscontinuity:!0,abrEwmaFastLive:3,abrEwmaSlowLive:9,abrEwmaFastVoD:3,abrEwmaSlowVoD:9,abrEwmaDefaultEstimate:5e5,abrEwmaDefaultEstimateMax:5e6,abrBandWidthFactor:.95,abrBandWidthUpFactor:.7,abrMaxWithRealBitrate:!1,maxStarvationDelay:4,maxLoadingDelay:4,minAutoBitrate:0,emeEnabled:!1,widevineLicenseUrl:void 0,drmSystems:{},drmSystemOptions:{},requestMediaKeySystemAccessFunc:en,testBandwidth:!0,progressive:!1,lowLatencyMode:!0,cmcd:void 0,enableDateRangeMetadataCues:!0,enableEmsgMetadataCues:!0,enableID3MetadataCues:!0,useMediaCapabilities:!0,certLoadPolicy:{default:{maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:null,errorRetry:null}},keyLoadPolicy:{default:{maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:"linear"},errorRetry:{maxNumRetry:8,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:"linear"}}},manifestLoadPolicy:{default:{maxTimeToFirstByteMs:1/0,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},playlistLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:2,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},fragLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:12e4,timeoutRetry:{maxNumRetry:4,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:6,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},steeringManifestLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},manifestLoadingTimeOut:1e4,manifestLoadingMaxRetry:1,manifestLoadingRetryDelay:1e3,manifestLoadingMaxRetryTimeout:64e3,levelLoadingTimeOut:1e4,levelLoadingMaxRetry:4,levelLoadingRetryDelay:1e3,levelLoadingMaxRetryTimeout:64e3,fragLoadingTimeOut:2e4,fragLoadingMaxRetry:6,fragLoadingRetryDelay:1e3,fragLoadingMaxRetryTimeout:64e3},{cueHandler:{newCue:function(s,n,e,t){for(var r,i,a,o,l,h=[],u=self.VTTCue||self.TextTrackCue,d=0;d<t.rows.length;d++)if(a=!0,o=0,l="",!(r=t.rows[d]).isEmpty()){for(var c,f=0;f<r.chars.length;f++)kl.test(r.chars[f].uchar)&&a?o++:(l+=r.chars[f].uchar,a=!1);r.cueStartTime=n,n===e&&(e+=1e-4),o>=16?o--:o++;var g=Pa(l.trim()),m=Ii(n,e,g);s!=null&&(c=s.cues)!=null&&c.getCueById(m)||((i=new u(n,e,g)).id=m,i.line=d+1,i.align="left",i.position=10+Math.min(80,10*Math.floor(8*o/32)),h.push(i))}return s&&h.length&&(h.sort(function(E,v){return E.line==="auto"||v.line==="auto"?0:E.line>8&&v.line>8?v.line-E.line:E.line-v.line}),h.forEach(function(E){return _n(s,E)})),h}},enableWebVTT:!0,enableIMSC1:!0,enableCEA708Captions:!0,captionsTextTrack1Label:"English",captionsTextTrack1LanguageCode:"en",captionsTextTrack2Label:"Spanish",captionsTextTrack2LanguageCode:"es",captionsTextTrack3Label:"Unknown CC",captionsTextTrack3LanguageCode:"",captionsTextTrack4Label:"Unknown CC",captionsTextTrack4LanguageCode:"",renderTextTracksNatively:!0}),{},{subtitleStreamController:Co,subtitleTrackController:xo,timelineController:Jo,audioStreamController:wo,audioTrackController:Io,emeController:Ha,cmcdController:Tl,contentSteeringController:Sl});function Gi(s){return s&&typeof s=="object"?Array.isArray(s)?s.map(Gi):Object.keys(s).reduce(function(n,e){return n[e]=Gi(s[e]),n},{}):s}function Dl(s){var n=s.loader;n!==es&&n!==Za?(b.log("[config]: Custom loader detected, cannot enable progressive streaming"),s.progressive=!1):function(){if(self.fetch&&self.AbortController&&self.ReadableStream&&self.Request)try{return new self.ReadableStream({}),!0}catch{}return!1}()&&(s.loader=es,s.progressive=!0,s.enableSoftwareAES=!0,b.log("[config]: Progressive streaming enabled, using FetchLoader"))}var wl=function(s){function n(t,r){var i;return(i=s.call(this,t,"[level-controller]")||this)._levels=[],i._firstLevel=-1,i._maxAutoLevel=-1,i._startLevel=void 0,i.currentLevel=null,i.currentLevelIndex=-1,i.manualLevelIndex=-1,i.steering=void 0,i.onParsedComplete=void 0,i.steering=r,i._registerListeners(),i}Le(n,s);var e=n.prototype;return e._registerListeners=function(){var t=this.hls;t.on(p.MANIFEST_LOADING,this.onManifestLoading,this),t.on(p.MANIFEST_LOADED,this.onManifestLoaded,this),t.on(p.LEVEL_LOADED,this.onLevelLoaded,this),t.on(p.LEVELS_UPDATED,this.onLevelsUpdated,this),t.on(p.FRAG_BUFFERED,this.onFragBuffered,this),t.on(p.ERROR,this.onError,this)},e._unregisterListeners=function(){var t=this.hls;t.off(p.MANIFEST_LOADING,this.onManifestLoading,this),t.off(p.MANIFEST_LOADED,this.onManifestLoaded,this),t.off(p.LEVEL_LOADED,this.onLevelLoaded,this),t.off(p.LEVELS_UPDATED,this.onLevelsUpdated,this),t.off(p.FRAG_BUFFERED,this.onFragBuffered,this),t.off(p.ERROR,this.onError,this)},e.destroy=function(){this._unregisterListeners(),this.steering=null,this.resetLevels(),s.prototype.destroy.call(this)},e.stopLoad=function(){this._levels.forEach(function(t){t.loadError=0,t.fragmentError=0}),s.prototype.stopLoad.call(this)},e.resetLevels=function(){this._startLevel=void 0,this.manualLevelIndex=-1,this.currentLevelIndex=-1,this.currentLevel=null,this._levels=[],this._maxAutoLevel=-1},e.onManifestLoading=function(t,r){this.resetLevels()},e.onManifestLoaded=function(t,r){var i=this.hls.config.preferManagedMediaSource,a=[],o={},l={},h=!1,u=!1,d=!1;r.levels.forEach(function(c){var f,g,m=c.attrs,E=c.audioCodec,v=c.videoCodec;((f=E)==null?void 0:f.indexOf("mp4a.40.34"))!==-1&&(Bi||(Bi=/chrome|firefox/i.test(navigator.userAgent)),Bi&&(c.audioCodec=E=void 0)),E&&(c.audioCodec=E=ar(E,i)),((g=v)==null?void 0:g.indexOf("avc1"))===0&&(v=c.videoCodec=function(M){for(var U=M.split(","),P=0;P<U.length;P++){var O=U[P].split(".");if(O.length>2){var B=O.shift()+".";B+=parseInt(O.shift()).toString(16),B+=("000"+parseInt(O.shift()).toString(16)).slice(-4),U[P]=B}}return U.join(",")}(v));var y=c.width,T=c.height,S=c.unknownCodecs;if(h||(h=!(!y||!T)),u||(u=!!v),d||(d=!!E),!(S!=null&&S.length||E&&!zr(E,"audio",i)||v&&!zr(v,"video",i))){var A=m.CODECS,R=m["FRAME-RATE"],L=m["HDCP-LEVEL"],D=m["PATHWAY-ID"],k=m.RESOLUTION,I=m["VIDEO-RANGE"],C=(D||".")+"-"+c.bitrate+"-"+k+"-"+R+"-"+A+"-"+I+"-"+L;if(o[C])if(o[C].uri===c.url||c.attrs["PATHWAY-ID"])o[C].addGroupId("audio",m.AUDIO),o[C].addGroupId("text",m.SUBTITLES);else{var _=l[C]+=1;c.attrs["PATHWAY-ID"]=new Array(_+1).join(".");var x=new yt(c);o[C]=x,a.push(x)}else{var F=new yt(c);o[C]=F,l[C]=1,a.push(F)}}}),this.filterAndSortMediaOptions(a,r,h,u,d)},e.filterAndSortMediaOptions=function(t,r,i,a,o){var l=this,h=[],u=[],d=t;if((i||a)&&o&&(d=d.filter(function(L){var D,k=L.videoCodec,I=L.videoRange,C=L.width,_=L.height;return(!!k||!(!C||!_))&&!!(D=I)&&lr.indexOf(D)>-1})),d.length!==0){if(r.audioTracks){var c=this.hls.config.preferManagedMediaSource;rs(h=r.audioTracks.filter(function(L){return!L.audioCodec||zr(L.audioCodec,"audio",c)}))}r.subtitles&&rs(u=r.subtitles);var f=d.slice(0);d.sort(function(L,D){if(L.attrs["HDCP-LEVEL"]!==D.attrs["HDCP-LEVEL"])return(L.attrs["HDCP-LEVEL"]||"")>(D.attrs["HDCP-LEVEL"]||"")?1:-1;if(i&&L.height!==D.height)return L.height-D.height;if(L.frameRate!==D.frameRate)return L.frameRate-D.frameRate;if(L.videoRange!==D.videoRange)return lr.indexOf(L.videoRange)-lr.indexOf(D.videoRange);if(L.videoCodec!==D.videoCodec){var k=yn(L.videoCodec),I=yn(D.videoCodec);if(k!==I)return I-k}if(L.uri===D.uri&&L.codecSet!==D.codecSet){var C=nr(L.codecSet),_=nr(D.codecSet);if(C!==_)return _-C}return L.averageBitrate!==D.averageBitrate?L.averageBitrate-D.averageBitrate:0});var g=f[0];if(this.steering&&(d=this.steering.filterParsedLevels(d)).length!==f.length){for(var m=0;m<f.length;m++)if(f[m].pathwayId===d[0].pathwayId){g=f[m];break}}this._levels=d;for(var E=0;E<d.length;E++)if(d[E]===g){var v;this._firstLevel=E;var y=g.bitrate,T=this.hls.bandwidthEstimate;if(this.log("manifest loaded, "+d.length+" level(s) found, first bitrate: "+y),((v=this.hls.userConfig)==null?void 0:v.abrEwmaDefaultEstimate)===void 0){var S=Math.min(y,this.hls.config.abrEwmaDefaultEstimateMax);S>T&&T===ts.abrEwmaDefaultEstimate&&(this.hls.bandwidthEstimate=S)}break}var A=o&&!a,R={levels:d,audioTracks:h,subtitleTracks:u,sessionData:r.sessionData,sessionKeys:r.sessionKeys,firstLevel:this._firstLevel,stats:r.stats,audio:o,video:a,altAudio:!A&&h.some(function(L){return!!L.url})};this.hls.trigger(p.MANIFEST_PARSED,R),(this.hls.config.autoStartLoad||this.hls.forceStartLoad)&&this.hls.startLoad(this.hls.config.startPosition)}else Promise.resolve().then(function(){if(l.hls){r.levels.length&&l.warn("One or more CODECS in variant not supported: "+JSON.stringify(r.levels[0].attrs));var L=new Error("no level with compatible codecs found in manifest");l.hls.trigger(p.ERROR,{type:K.MEDIA_ERROR,details:w.MANIFEST_INCOMPATIBLE_CODECS_ERROR,fatal:!0,url:r.url,error:L,reason:L.message})}})},e.onError=function(t,r){!r.fatal&&r.context&&r.context.type===lt&&r.context.level===this.level&&this.checkRetry(r)},e.onFragBuffered=function(t,r){var i=r.frag;if(i!==void 0&&i.type===Z){var a=i.elementaryStreams;if(!Object.keys(a).some(function(l){return!!a[l]}))return;var o=this._levels[i.level];o!=null&&o.loadError&&(this.log("Resetting level error count of "+o.loadError+" on frag buffered"),o.loadError=0)}},e.onLevelLoaded=function(t,r){var i,a,o=r.level,l=r.details,h=this._levels[o];if(!h)return this.warn("Invalid level index "+o),void((a=r.deliveryDirectives)!=null&&a.skip&&(l.deltaUpdateFailed=!0));o===this.currentLevelIndex?(h.fragmentError===0&&(h.loadError=0),this.playlistLoaded(o,r,h.details)):(i=r.deliveryDirectives)!=null&&i.skip&&(l.deltaUpdateFailed=!0)},e.loadPlaylist=function(t){s.prototype.loadPlaylist.call(this);var r=this.currentLevelIndex,i=this.currentLevel;if(i&&this.shouldLoadPlaylist(i)){var a=i.uri;if(t)try{a=t.addDirectives(a)}catch(l){this.warn("Could not construct new URL with HLS Delivery Directives: "+l)}var o=i.attrs["PATHWAY-ID"];this.log("Loading level index "+r+((t==null?void 0:t.msn)!==void 0?" at sn "+t.msn+" part "+t.part:"")+" with"+(o?" Pathway "+o:"")+" "+a),this.clearTimer(),this.hls.trigger(p.LEVEL_LOADING,{url:a,level:r,pathwayId:i.attrs["PATHWAY-ID"],id:0,deliveryDirectives:t||null})}},e.removeLevel=function(t){var r,i=this,a=this._levels.filter(function(o,l){return l!==t||(i.steering&&i.steering.removeLevel(o),o===i.currentLevel&&(i.currentLevel=null,i.currentLevelIndex=-1,o.details&&o.details.fragments.forEach(function(h){return h.level=-1})),!1)});Kn(a),this._levels=a,this.currentLevelIndex>-1&&(r=this.currentLevel)!=null&&r.details&&(this.currentLevelIndex=this.currentLevel.details.fragments[0].level),this.hls.trigger(p.LEVELS_UPDATED,{levels:a})},e.onLevelsUpdated=function(t,r){var i=r.levels;this._levels=i},e.checkMaxAutoUpdated=function(){var t=this.hls,r=t.autoLevelCapping,i=t.maxAutoLevel,a=t.maxHdcpLevel;this._maxAutoLevel!==i&&(this._maxAutoLevel=i,this.hls.trigger(p.MAX_AUTO_LEVEL_UPDATED,{autoLevelCapping:r,levels:this.levels,maxAutoLevel:i,minAutoLevel:this.hls.minAutoLevel,maxHdcpLevel:a}))},fe(n,[{key:"levels",get:function(){return this._levels.length===0?null:this._levels}},{key:"level",get:function(){return this.currentLevelIndex},set:function(t){var r=this._levels;if(r.length!==0){if(t<0||t>=r.length){var i=new Error("invalid level idx"),a=t<0;if(this.hls.trigger(p.ERROR,{type:K.OTHER_ERROR,details:w.LEVEL_SWITCH_ERROR,level:t,fatal:a,error:i,reason:i.message}),a)return;t=Math.min(t,r.length-1)}var o=this.currentLevelIndex,l=this.currentLevel,h=l?l.attrs["PATHWAY-ID"]:void 0,u=r[t],d=u.attrs["PATHWAY-ID"];if(this.currentLevelIndex=t,this.currentLevel=u,o!==t||!u.details||!l||h!==d){this.log("Switching to level "+t+" ("+(u.height?u.height+"p ":"")+(u.videoRange?u.videoRange+" ":"")+(u.codecSet?u.codecSet+" ":"")+"@"+u.bitrate+")"+(d?" with Pathway "+d:"")+" from level "+o+(h?" with Pathway "+h:""));var c={level:t,attrs:u.attrs,details:u.details,bitrate:u.bitrate,averageBitrate:u.averageBitrate,maxBitrate:u.maxBitrate,realBitrate:u.realBitrate,width:u.width,height:u.height,codecSet:u.codecSet,audioCodec:u.audioCodec,videoCodec:u.videoCodec,audioGroups:u.audioGroups,subtitleGroups:u.subtitleGroups,loaded:u.loaded,loadError:u.loadError,fragmentError:u.fragmentError,name:u.name,id:u.id,uri:u.uri,url:u.url,urlId:0,audioGroupIds:u.audioGroupIds,textGroupIds:u.textGroupIds};this.hls.trigger(p.LEVEL_SWITCHING,c);var f=u.details;if(!f||f.live){var g=this.switchParams(u.uri,l==null?void 0:l.details,f);this.loadPlaylist(g)}}}}},{key:"manualLevel",get:function(){return this.manualLevelIndex},set:function(t){this.manualLevelIndex=t,this._startLevel===void 0&&(this._startLevel=t),t!==-1&&(this.level=t)}},{key:"firstLevel",get:function(){return this._firstLevel},set:function(t){this._firstLevel=t}},{key:"startLevel",get:function(){if(this._startLevel===void 0){var t=this.hls.config.startLevel;return t!==void 0?t:this.hls.firstAutoLevel}return this._startLevel},set:function(t){this._startLevel=t}},{key:"nextLoadLevel",get:function(){return this.manualLevelIndex!==-1?this.manualLevelIndex:this.hls.nextAutoLevel},set:function(t){this.level=t,this.manualLevelIndex===-1&&(this.hls.nextAutoLevel=t)}}]),n}(li);function rs(s){var n={};s.forEach(function(e){var t=e.groupId||"";e.id=n[t]=n[t]||0,n[t]++})}var Il=function(){function s(e){this.config=void 0,this.keyUriToKeyInfo={},this.emeController=null,this.config=e}var n=s.prototype;return n.abort=function(e){for(var t in this.keyUriToKeyInfo){var r=this.keyUriToKeyInfo[t].loader;if(r){var i;if(e&&e!==((i=r.context)==null?void 0:i.frag.type))return;r.abort()}}},n.detach=function(){for(var e in this.keyUriToKeyInfo){var t=this.keyUriToKeyInfo[e];(t.mediaKeySessionContext||t.decryptdata.isCommonEncryption)&&delete this.keyUriToKeyInfo[e]}},n.destroy=function(){for(var e in this.detach(),this.keyUriToKeyInfo){var t=this.keyUriToKeyInfo[e].loader;t&&t.destroy()}this.keyUriToKeyInfo={}},n.createKeyLoadError=function(e,t,r,i,a){return t===void 0&&(t=w.KEY_LOAD_ERROR),new Qe({type:K.NETWORK_ERROR,details:t,fatal:!1,frag:e,response:a,error:r,networkDetails:i})},n.loadClear=function(e,t){var r=this;if(this.emeController&&this.config.emeEnabled)for(var i=e.sn,a=e.cc,o=function(){var h=t[l];if(a<=h.cc&&(i==="initSegment"||h.sn==="initSegment"||i<h.sn))return r.emeController.selectKeySystemFormat(h).then(function(u){h.setKeyFormat(u)}),1},l=0;l<t.length&&!o();l++);},n.load=function(e){var t=this;return!e.decryptdata&&e.encrypted&&this.emeController?this.emeController.selectKeySystemFormat(e).then(function(r){return t.loadInternal(e,r)}):this.loadInternal(e)},n.loadInternal=function(e,t){var r,i;t&&e.setKeyFormat(t);var a=e.decryptdata;if(!a){var o=new Error(t?"Expected frag.decryptdata to be defined after setting format "+t:"Missing decryption data on fragment in onKeyLoading");return Promise.reject(this.createKeyLoadError(e,w.KEY_LOAD_ERROR,o))}var l=a.uri;if(!l)return Promise.reject(this.createKeyLoadError(e,w.KEY_LOAD_ERROR,new Error('Invalid key URI: "'+l+'"')));var h,u=this.keyUriToKeyInfo[l];if((r=u)!=null&&r.decryptdata.key)return a.key=u.decryptdata.key,Promise.resolve({frag:e,keyInfo:u});if((i=u)!=null&&i.keyLoadPromise)switch((h=u.mediaKeySessionContext)==null?void 0:h.keyStatus){case void 0:case"status-pending":case"usable":case"usable-in-future":return u.keyLoadPromise.then(function(d){return a.key=d.keyInfo.decryptdata.key,{frag:e,keyInfo:u}})}switch(u=this.keyUriToKeyInfo[l]={decryptdata:a,keyLoadPromise:null,loader:null,mediaKeySessionContext:null},a.method){case"ISO-23001-7":case"SAMPLE-AES":case"SAMPLE-AES-CENC":case"SAMPLE-AES-CTR":return a.keyFormat==="identity"?this.loadKeyHTTP(u,e):this.loadKeyEME(u,e);case"AES-128":return this.loadKeyHTTP(u,e);default:return Promise.reject(this.createKeyLoadError(e,w.KEY_LOAD_ERROR,new Error('Key supplied with unsupported METHOD: "'+a.method+'"')))}},n.loadKeyEME=function(e,t){var r={frag:t,keyInfo:e};if(this.emeController&&this.config.emeEnabled){var i=this.emeController.loadKey(r);if(i)return(e.keyLoadPromise=i.then(function(a){return e.mediaKeySessionContext=a,r})).catch(function(a){throw e.keyLoadPromise=null,a})}return Promise.resolve(r)},n.loadKeyHTTP=function(e,t){var r=this,i=this.config,a=new i.loader(i);return t.keyLoader=e.loader=a,e.keyLoadPromise=new Promise(function(o,l){var h={keyInfo:e,frag:t,responseType:"arraybuffer",url:e.decryptdata.uri},u=i.keyLoadPolicy.default,d={loadPolicy:u,timeout:u.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},c={onSuccess:function(f,g,m,E){var v=m.frag,y=m.keyInfo,T=m.url;if(!v.decryptdata||y!==r.keyUriToKeyInfo[T])return l(r.createKeyLoadError(v,w.KEY_LOAD_ERROR,new Error("after key load, decryptdata unset or changed"),E));y.decryptdata.key=v.decryptdata.key=new Uint8Array(f.data),v.keyLoader=null,y.loader=null,o({frag:v,keyInfo:y})},onError:function(f,g,m,E){r.resetLoader(g),l(r.createKeyLoadError(t,w.KEY_LOAD_ERROR,new Error("HTTP Error "+f.code+" loading key "+f.text),m,ye({url:h.url,data:void 0},f)))},onTimeout:function(f,g,m){r.resetLoader(g),l(r.createKeyLoadError(t,w.KEY_LOAD_TIMEOUT,new Error("key loading timed out"),m))},onAbort:function(f,g,m){r.resetLoader(g),l(r.createKeyLoadError(t,w.INTERNAL_ABORTED,new Error("key loading aborted"),m))}};a.load(h,d,c)})},n.resetLoader=function(e){var t=e.frag,r=e.keyInfo,i=e.url,a=r.loader;t.keyLoader===a&&(t.keyLoader=null,r.loader=null),delete this.keyUriToKeyInfo[i],a&&a.destroy()},s}();function is(){return self.SourceBuffer||self.WebKitSourceBuffer}function ns(){if(!ot())return!1;var s=is();return!s||s.prototype&&typeof s.prototype.appendBuffer=="function"&&typeof s.prototype.remove=="function"}var Cl=function(){function s(e,t,r,i){this.config=void 0,this.media=null,this.fragmentTracker=void 0,this.hls=void 0,this.nudgeRetry=0,this.stallReported=!1,this.stalled=null,this.moved=!1,this.seeking=!1,this.config=e,this.media=t,this.fragmentTracker=r,this.hls=i}var n=s.prototype;return n.destroy=function(){this.media=null,this.hls=this.fragmentTracker=null},n.poll=function(e,t){var r=this.config,i=this.media,a=this.stalled;if(i!==null){var o=i.currentTime,l=i.seeking,h=this.seeking&&!l,u=!this.seeking&&l;if(this.seeking=l,o===e)if(u||h)this.stalled=null;else if(i.paused&&!l||i.ended||i.playbackRate===0||!ue.getBuffered(i).length)this.nudgeRetry=0;else{var d=ue.bufferInfo(i,o,0),c=d.nextStart||0;if(l){var f=d.len>2,g=!c||t&&t.start<=o||c-o>2&&!this.fragmentTracker.getPartialFragment(o);if(f||g)return;this.moved=!1}if(!this.moved&&this.stalled!==null){var m;if(!(d.len>0||c))return;var E=Math.max(c,d.start||0)-o,v=this.hls.levels?this.hls.levels[this.hls.currentLevel]:null,y=!(v==null||(m=v.details)==null)&&m.live?2*v.details.targetduration:2,T=this.fragmentTracker.getPartialFragment(o);if(E>0&&(E<=y||T))return void(i.paused||this._trySkipBufferHole(T))}var S=self.performance.now();if(a!==null){var A=S-a;if(l||!(A>=250)||(this._reportStall(d),this.media)){var R=ue.bufferInfo(i,o,r.maxBufferHole);this._tryFixBufferStall(R,A)}}else this.stalled=S}else if(this.moved=!0,l||(this.nudgeRetry=0),a!==null){if(this.stallReported){var L=self.performance.now()-a;b.warn("playback not stuck anymore @"+o+", after "+Math.round(L)+"ms"),this.stallReported=!1}this.stalled=null}}},n._tryFixBufferStall=function(e,t){var r=this.config,i=this.fragmentTracker,a=this.media;if(a!==null){var o=a.currentTime,l=i.getPartialFragment(o);if(l&&(this._trySkipBufferHole(l)||!this.media))return;(e.len>r.maxBufferHole||e.nextStart&&e.nextStart-o<r.maxBufferHole)&&t>1e3*r.highBufferWatchdogPeriod&&(b.warn("Trying to nudge playhead over buffer-hole"),this.stalled=null,this._tryNudgeBuffer())}},n._reportStall=function(e){var t=this.hls,r=this.media;if(!this.stallReported&&r){this.stallReported=!0;var i=new Error("Playback stalling at @"+r.currentTime+" due to low buffer ("+JSON.stringify(e)+")");b.warn(i.message),t.trigger(p.ERROR,{type:K.MEDIA_ERROR,details:w.BUFFER_STALLED_ERROR,fatal:!1,error:i,buffer:e.len})}},n._trySkipBufferHole=function(e){var t=this.config,r=this.hls,i=this.media;if(i===null)return 0;var a=i.currentTime,o=ue.bufferInfo(i,a,0),l=a<o.start?o.start:o.nextStart;if(l){var h=o.len<=t.maxBufferHole,u=o.len>0&&o.len<1&&i.readyState<3,d=l-a;if(d>0&&(h||u)){if(d>t.maxBufferHole){var c=this.fragmentTracker,f=!1;if(a===0){var g=c.getAppendedFrag(0,Z);g&&l<g.end&&(f=!0)}if(!f){var m=e||c.getAppendedFrag(a,Z);if(m){for(var E=!1,v=m.end;v<l;){var y=c.getPartialFragment(v);if(!y){E=!0;break}v+=y.duration}if(E)return 0}}}var T=Math.max(l+.05,a+.1);if(b.warn("skipping hole, adjusting currentTime from "+a+" to "+T),this.moved=!0,this.stalled=null,i.currentTime=T,e&&!e.gap){var S=new Error("fragment loaded with buffer holes, seeking from "+a+" to "+T);r.trigger(p.ERROR,{type:K.MEDIA_ERROR,details:w.BUFFER_SEEK_OVER_HOLE,fatal:!1,error:S,reason:S.message,frag:e})}return T}}return 0},n._tryNudgeBuffer=function(){var e=this.config,t=this.hls,r=this.media,i=this.nudgeRetry;if(r!==null){var a=r.currentTime;if(this.nudgeRetry++,i<e.nudgeMaxRetry){var o=a+(i+1)*e.nudgeOffset,l=new Error("Nudging 'currentTime' from "+a+" to "+o);b.warn(l.message),r.currentTime=o,t.trigger(p.ERROR,{type:K.MEDIA_ERROR,details:w.BUFFER_NUDGE_ON_STALL,error:l,fatal:!1})}else{var h=new Error("Playhead still not moving while enough data buffered @"+a+" after "+e.nudgeMaxRetry+" nudges");b.error(h.message),t.trigger(p.ERROR,{type:K.MEDIA_ERROR,details:w.BUFFER_STALLED_ERROR,error:h,fatal:!0})}}},s}(),_l=function(s){function n(t,r,i){var a;return(a=s.call(this,t,r,i,"[stream-controller]",Z)||this).audioCodecSwap=!1,a.gapController=null,a.level=-1,a._forceStartLoad=!1,a.altAudio=!1,a.audioOnly=!1,a.fragPlaying=null,a.onvplaying=null,a.onvseeked=null,a.fragLastKbps=0,a.couldBacktrack=!1,a.backtrackFragment=null,a.audioCodecSwitch=!1,a.videoBuffer=null,a._registerListeners(),a}Le(n,s);var e=n.prototype;return e._registerListeners=function(){var t=this.hls;t.on(p.MEDIA_ATTACHED,this.onMediaAttached,this),t.on(p.MEDIA_DETACHING,this.onMediaDetaching,this),t.on(p.MANIFEST_LOADING,this.onManifestLoading,this),t.on(p.MANIFEST_PARSED,this.onManifestParsed,this),t.on(p.LEVEL_LOADING,this.onLevelLoading,this),t.on(p.LEVEL_LOADED,this.onLevelLoaded,this),t.on(p.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),t.on(p.ERROR,this.onError,this),t.on(p.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),t.on(p.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),t.on(p.BUFFER_CREATED,this.onBufferCreated,this),t.on(p.BUFFER_FLUSHED,this.onBufferFlushed,this),t.on(p.LEVELS_UPDATED,this.onLevelsUpdated,this),t.on(p.FRAG_BUFFERED,this.onFragBuffered,this)},e._unregisterListeners=function(){var t=this.hls;t.off(p.MEDIA_ATTACHED,this.onMediaAttached,this),t.off(p.MEDIA_DETACHING,this.onMediaDetaching,this),t.off(p.MANIFEST_LOADING,this.onManifestLoading,this),t.off(p.MANIFEST_PARSED,this.onManifestParsed,this),t.off(p.LEVEL_LOADED,this.onLevelLoaded,this),t.off(p.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),t.off(p.ERROR,this.onError,this),t.off(p.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),t.off(p.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),t.off(p.BUFFER_CREATED,this.onBufferCreated,this),t.off(p.BUFFER_FLUSHED,this.onBufferFlushed,this),t.off(p.LEVELS_UPDATED,this.onLevelsUpdated,this),t.off(p.FRAG_BUFFERED,this.onFragBuffered,this)},e.onHandlerDestroying=function(){this._unregisterListeners(),s.prototype.onHandlerDestroying.call(this)},e.startLoad=function(t){if(this.levels){var r=this.lastCurrentTime,i=this.hls;if(this.stopLoad(),this.setInterval(100),this.level=-1,!this.startFragRequested){var a=i.startLevel;a===-1&&(i.config.testBandwidth&&this.levels.length>1?(a=0,this.bitrateTest=!0):a=i.firstAutoLevel),i.nextLoadLevel=a,this.level=i.loadLevel,this.loadedmetadata=!1}r>0&&t===-1&&(this.log("Override startPosition with lastCurrentTime @"+r.toFixed(3)),t=r),this.state=X,this.nextLoadPosition=this.startPosition=this.lastCurrentTime=t,this.tick()}else this._forceStartLoad=!0,this.state=Oe},e.stopLoad=function(){this._forceStartLoad=!1,s.prototype.stopLoad.call(this)},e.doTick=function(){switch(this.state){case ut:var t=this.levels,r=this.level,i=t==null?void 0:t[r],a=i==null?void 0:i.details;if(a&&(!a.live||this.levelLastLoaded===i)){if(this.waitForCdnTuneIn(a))break;this.state=X;break}if(this.hls.nextLoadLevel!==this.level){this.state=X;break}break;case kt:var o,l=self.performance.now(),h=this.retryDate;if(!h||l>=h||(o=this.media)!=null&&o.seeking){var u=this.levels,d=this.level,c=u==null?void 0:u[d];this.resetStartWhenNotLoaded(c||null),this.state=X}}this.state===X&&this.doTickIdle(),this.onTickEnd()},e.onTickEnd=function(){s.prototype.onTickEnd.call(this),this.checkBuffer(),this.checkFragmentChanged()},e.doTickIdle=function(){var t=this.hls,r=this.levelLastLoaded,i=this.levels,a=this.media;if(r!==null&&(a||!this.startFragRequested&&t.config.startFragPrefetch)&&(!this.altAudio||!this.audioOnly)){var o=t.nextLoadLevel;if(i!=null&&i[o]){var l=i[o],h=this.getMainFwdBufferInfo();if(h!==null){var u=this.getLevelDetails();if(u&&this._streamEnded(h,u)){var d={};return this.altAudio&&(d.type="video"),this.hls.trigger(p.BUFFER_EOS,d),void(this.state=Wt)}t.loadLevel!==o&&t.manualLevel===-1&&this.log("Adapting to level "+o+" from level "+this.level),this.level=t.nextLoadLevel=o;var c=l.details;if(!c||this.state===ut||c.live&&this.levelLastLoaded!==l)return this.level=o,void(this.state=ut);var f=h.len,g=this.getMaxBufferLength(l.maxBitrate);if(!(f>=g)){this.backtrackFragment&&this.backtrackFragment.start>h.end&&(this.backtrackFragment=null);var m=this.backtrackFragment?this.backtrackFragment.start:h.end,E=this.getNextFragment(m,c);if(this.couldBacktrack&&!this.fragPrevious&&E&&E.sn!=="initSegment"&&this.fragmentTracker.getState(E)!==Vt){var v,y=((v=this.backtrackFragment)!=null?v:E).sn-c.startSN,T=c.fragments[y-1];T&&E.cc===T.cc&&(E=T,this.fragmentTracker.removeFragment(T))}else this.backtrackFragment&&h.len&&(this.backtrackFragment=null);if(E&&this.isLoopLoading(E,m)){if(!E.gap){var S=this.audioOnly&&!this.altAudio?we:Pe,A=(S===Pe?this.videoBuffer:this.mediaBuffer)||this.media;A&&this.afterBufferFlushed(A,S,Z)}E=this.getNextFragmentLoopLoading(E,c,h,Z,g)}E&&(!E.initSegment||E.initSegment.data||this.bitrateTest||(E=E.initSegment),this.loadFragment(E,l,m))}}}}},e.loadFragment=function(t,r,i){var a=this.fragmentTracker.getState(t);this.fragCurrent=t,a===Ht||a===At?t.sn==="initSegment"?this._loadInitSegment(t,r):this.bitrateTest?(this.log("Fragment "+t.sn+" of level "+t.level+" is being downloaded to test bitrate and will not be buffered"),this._loadBitrateTestFrag(t,r)):(this.startFragRequested=!0,s.prototype.loadFragment.call(this,t,r,i)):this.clearTrackerIfNeeded(t)},e.getBufferedFrag=function(t){return this.fragmentTracker.getBufferedFrag(t,Z)},e.followingBufferedFrag=function(t){return t?this.getBufferedFrag(t.end+.5):null},e.immediateLevelSwitch=function(){this.abortCurrentFrag(),this.flushMainBuffer(0,Number.POSITIVE_INFINITY)},e.nextLevelSwitch=function(){var t=this.levels,r=this.media;if(r!=null&&r.readyState){var i,a=this.getAppendedFrag(r.currentTime);a&&a.start>1&&this.flushMainBuffer(0,a.start-1);var o=this.getLevelDetails();if(o!=null&&o.live){var l=this.getMainFwdBufferInfo();if(!l||l.len<2*o.targetduration)return}if(!r.paused&&t){var h=t[this.hls.nextLoadLevel],u=this.fragLastKbps;i=u&&this.fragCurrent?this.fragCurrent.duration*h.maxBitrate/(1e3*u)+1:0}else i=0;var d=this.getBufferedFrag(r.currentTime+i);if(d){var c=this.followingBufferedFrag(d);if(c){this.abortCurrentFrag();var f=c.maxStartPTS?c.maxStartPTS:c.start,g=c.duration,m=Math.max(d.end,f+Math.min(Math.max(g-this.config.maxFragLookUpTolerance,g*(this.couldBacktrack?.5:.125)),g*(this.couldBacktrack?.75:.25)));this.flushMainBuffer(m,Number.POSITIVE_INFINITY)}}}},e.abortCurrentFrag=function(){var t=this.fragCurrent;switch(this.fragCurrent=null,this.backtrackFragment=null,t&&(t.abortRequests(),this.fragmentTracker.removeFragment(t)),this.state){case di:case bt:case kt:case Je:case mr:this.state=X}this.nextLoadPosition=this.getLoadPosition()},e.flushMainBuffer=function(t,r){s.prototype.flushMainBuffer.call(this,t,r,this.altAudio?"video":null)},e.onMediaAttached=function(t,r){s.prototype.onMediaAttached.call(this,t,r);var i=r.media;this.onvplaying=this.onMediaPlaying.bind(this),this.onvseeked=this.onMediaSeeked.bind(this),i.addEventListener("playing",this.onvplaying),i.addEventListener("seeked",this.onvseeked),this.gapController=new Cl(this.config,i,this.fragmentTracker,this.hls)},e.onMediaDetaching=function(){var t=this.media;t&&this.onvplaying&&this.onvseeked&&(t.removeEventListener("playing",this.onvplaying),t.removeEventListener("seeked",this.onvseeked),this.onvplaying=this.onvseeked=null,this.videoBuffer=null),this.fragPlaying=null,this.gapController&&(this.gapController.destroy(),this.gapController=null),s.prototype.onMediaDetaching.call(this)},e.onMediaPlaying=function(){this.tick()},e.onMediaSeeked=function(){var t=this.media,r=t?t.currentTime:null;N(r)&&this.log("Media seeked to "+r.toFixed(3));var i=this.getMainFwdBufferInfo();i!==null&&i.len!==0?this.tick():this.warn('Main forward buffer length on "seeked" event '+(i?i.len:"empty")+")")},e.onManifestLoading=function(){this.log("Trigger BUFFER_RESET"),this.hls.trigger(p.BUFFER_RESET,void 0),this.fragmentTracker.removeAllFragments(),this.couldBacktrack=!1,this.startPosition=this.lastCurrentTime=this.fragLastKbps=0,this.levels=this.fragPlaying=this.backtrackFragment=this.levelLastLoaded=null,this.altAudio=this.audioOnly=this.startFragRequested=!1},e.onManifestParsed=function(t,r){var i,a,o=!1,l=!1;r.levels.forEach(function(h){var u=h.audioCodec;u&&(o=o||u.indexOf("mp4a.40.2")!==-1,l=l||u.indexOf("mp4a.40.5")!==-1)}),this.audioCodecSwitch=o&&l&&typeof((a=is())==null||(i=a.prototype)==null?void 0:i.changeType)!="function",this.audioCodecSwitch&&this.log("Both AAC/HE-AAC audio found in levels; declaring level codec as HE-AAC"),this.levels=r.levels,this.startFragRequested=!1},e.onLevelLoading=function(t,r){var i=this.levels;if(i&&this.state===X){var a=i[r.level];(!a.details||a.details.live&&this.levelLastLoaded!==a||this.waitForCdnTuneIn(a.details))&&(this.state=ut)}},e.onLevelLoaded=function(t,r){var i,a=this.levels,o=r.level,l=r.details,h=l.totalduration;if(a){this.log("Level "+o+" loaded ["+l.startSN+","+l.endSN+"]"+(l.lastPartSn?"[part-"+l.lastPartSn+"-"+l.lastPartIndex+"]":"")+", cc ["+l.startCC+", "+l.endCC+"] duration:"+h);var u=a[o],d=this.fragCurrent;!d||this.state!==bt&&this.state!==kt||d.level!==r.level&&d.loader&&this.abortCurrentFrag();var c=0;if(l.live||(i=u.details)!=null&&i.live){var f;if(this.checkLiveUpdate(l),l.deltaUpdateFailed)return;c=this.alignPlaylists(l,u.details,(f=this.levelLastLoaded)==null?void 0:f.details)}if(u.details=l,this.levelLastLoaded=u,this.hls.trigger(p.LEVEL_UPDATED,{details:l,level:o}),this.state===ut){if(this.waitForCdnTuneIn(l))return;this.state=X}this.startFragRequested?l.live&&this.synchronizeToLiveEdge(l):this.setStartPosition(l,c),this.tick()}else this.warn("Levels were reset while loading level "+o)},e._handleFragmentLoadProgress=function(t){var r,i=t.frag,a=t.part,o=t.payload,l=this.levels;if(l){var h=l[i.level],u=h.details;if(!u)return this.warn("Dropping fragment "+i.sn+" of level "+i.level+" after level details were reset"),void this.fragmentTracker.removeFragment(i);var d=h.videoCodec,c=u.PTSKnown||!u.live,f=(r=i.initSegment)==null?void 0:r.data,g=this._getAudioCodec(h),m=this.transmuxer=this.transmuxer||new Aa(this.hls,Z,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)),E=a?a.index:-1,v=E!==-1,y=new ui(i.level,i.sn,i.stats.chunkCount,o.byteLength,E,v),T=this.initPTS[i.cc];m.push(o,f,g,d,i,a,u.totalduration,c,y,T)}else this.warn("Levels were reset while fragment load was in progress. Fragment "+i.sn+" of level "+i.level+" will not be buffered")},e.onAudioTrackSwitching=function(t,r){var i=this.altAudio;if(!r.url){if(this.mediaBuffer!==this.media){this.log("Switching on main audio, use media.buffered to schedule main fragment loading"),this.mediaBuffer=this.media;var a=this.fragCurrent;a&&(this.log("Switching to main audio track, cancel main fragment load"),a.abortRequests(),this.fragmentTracker.removeFragment(a)),this.resetTransmuxer(),this.resetLoadingState()}else this.audioOnly&&this.resetTransmuxer();var o=this.hls;i&&(o.trigger(p.BUFFER_FLUSHING,{startOffset:0,endOffset:Number.POSITIVE_INFINITY,type:null}),this.fragmentTracker.removeAllFragments()),o.trigger(p.AUDIO_TRACK_SWITCHED,r)}},e.onAudioTrackSwitched=function(t,r){var i=r.id,a=!!this.hls.audioTracks[i].url;if(a){var o=this.videoBuffer;o&&this.mediaBuffer!==o&&(this.log("Switching on alternate audio, use video.buffered to schedule main fragment loading"),this.mediaBuffer=o)}this.altAudio=a,this.tick()},e.onBufferCreated=function(t,r){var i,a,o=r.tracks,l=!1;for(var h in o){var u=o[h];if(u.id==="main"){if(a=h,i=u,h==="video"){var d=o[h];d&&(this.videoBuffer=d.buffer)}}else l=!0}l&&i?(this.log("Alternate track found, use "+a+".buffered to schedule main fragment loading"),this.mediaBuffer=i.buffer):this.mediaBuffer=this.media},e.onFragBuffered=function(t,r){var i=r.frag,a=r.part;if(!i||i.type===Z){if(this.fragContextChanged(i))return this.warn("Fragment "+i.sn+(a?" p: "+a.index:"")+" of level "+i.level+" finished buffering, but was aborted. state: "+this.state),void(this.state===mr&&(this.state=X));var o=a?a.stats:i.stats;this.fragLastKbps=Math.round(8*o.total/(o.buffering.end-o.loading.first)),i.sn!=="initSegment"&&(this.fragPrevious=i),this.fragBufferedComplete(i,a)}},e.onError=function(t,r){var i;if(r.fatal)this.state=Dt;else switch(r.details){case w.FRAG_GAP:case w.FRAG_PARSING_ERROR:case w.FRAG_DECRYPT_ERROR:case w.FRAG_LOAD_ERROR:case w.FRAG_LOAD_TIMEOUT:case w.KEY_LOAD_ERROR:case w.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(Z,r);break;case w.LEVEL_LOAD_ERROR:case w.LEVEL_LOAD_TIMEOUT:case w.LEVEL_PARSING_ERROR:r.levelRetry||this.state!==ut||((i=r.context)==null?void 0:i.type)!==lt||(this.state=X);break;case w.BUFFER_APPEND_ERROR:case w.BUFFER_FULL_ERROR:if(!r.parent||r.parent!=="main")return;if(r.details===w.BUFFER_APPEND_ERROR)return void this.resetLoadingState();this.reduceLengthAndFlushBuffer(r)&&this.flushMainBuffer(0,Number.POSITIVE_INFINITY);break;case w.INTERNAL_EXCEPTION:this.recoverWorkerError(r)}},e.checkBuffer=function(){var t=this.media,r=this.gapController;if(t&&r&&t.readyState){if(this.loadedmetadata||!ue.getBuffered(t).length){var i=this.state!==X?this.fragCurrent:null;r.poll(this.lastCurrentTime,i)}this.lastCurrentTime=t.currentTime}},e.onFragLoadEmergencyAborted=function(){this.state=X,this.loadedmetadata||(this.startFragRequested=!1,this.nextLoadPosition=this.startPosition),this.tickImmediate()},e.onBufferFlushed=function(t,r){var i=r.type;if(i!==we||this.audioOnly&&!this.altAudio){var a=(i===Pe?this.videoBuffer:this.mediaBuffer)||this.media;this.afterBufferFlushed(a,i,Z),this.tick()}},e.onLevelsUpdated=function(t,r){this.level>-1&&this.fragCurrent&&(this.level=this.fragCurrent.level),this.levels=r.levels},e.swapAudioCodec=function(){this.audioCodecSwap=!this.audioCodecSwap},e.seekToStartPos=function(){var t=this.media;if(t){var r=t.currentTime,i=this.startPosition;if(i>=0&&r<i){if(t.seeking)return void this.log("could not seek to "+i+", already seeking at "+r);var a=ue.getBuffered(t),o=(a.length?a.start(0):0)-i;o>0&&(o<this.config.maxBufferHole||o<this.config.maxFragLookUpTolerance)&&(this.log("adjusting start position by "+o+" to match buffer start"),i+=o,this.startPosition=i),this.log("seek to target start position "+i+" from current time "+r),t.currentTime=i}}},e._getAudioCodec=function(t){var r=this.config.defaultAudioCodec||t.audioCodec;return this.audioCodecSwap&&r&&(this.log("Swapping audio codec"),r=r.indexOf("mp4a.40.5")!==-1?"mp4a.40.2":"mp4a.40.5"),r},e._loadBitrateTestFrag=function(t,r){var i=this;t.bitrateTest=!0,this._doFragLoad(t,r).then(function(a){var o=i.hls;if(a&&!i.fragContextChanged(t)){r.fragmentError=0,i.state=X,i.startFragRequested=!1,i.bitrateTest=!1;var l=t.stats;l.parsing.start=l.parsing.end=l.buffering.start=l.buffering.end=self.performance.now(),o.trigger(p.FRAG_LOADED,a),t.bitrateTest=!1}})},e._handleTransmuxComplete=function(t){var r,i="main",a=this.hls,o=t.remuxResult,l=t.chunkMeta,h=this.getCurrentContext(l);if(h){var u=h.frag,d=h.part,c=h.level,f=o.video,g=o.text,m=o.id3,E=o.initSegment,v=c.details,y=this.altAudio?void 0:o.audio;if(this.fragContextChanged(u))this.fragmentTracker.removeFragment(u);else{if(this.state=Je,E){if(E!=null&&E.tracks){var T=u.initSegment||u;this._bufferInitSegment(c,E.tracks,T,l),a.trigger(p.FRAG_PARSING_INIT_SEGMENT,{frag:T,id:i,tracks:E.tracks})}var S=E.initPTS,A=E.timescale;N(S)&&(this.initPTS[u.cc]={baseTime:S,timescale:A},a.trigger(p.INIT_PTS_FOUND,{frag:u,id:i,initPTS:S,timescale:A}))}if(f&&v&&u.sn!=="initSegment"){var R=v.fragments[u.sn-1-v.startSN],L=u.sn===v.startSN,D=!R||u.cc>R.cc;if(o.independent!==!1){var k=f.startPTS,I=f.endPTS,C=f.startDTS,_=f.endDTS;if(d)d.elementaryStreams[f.type]={startPTS:k,endPTS:I,startDTS:C,endDTS:_};else if(f.firstKeyFrame&&f.independent&&l.id===1&&!D&&(this.couldBacktrack=!0),f.dropped&&f.independent){var x=this.getMainFwdBufferInfo(),F=(x?x.end:this.getLoadPosition())+this.config.maxBufferHole,M=f.firstKeyFramePTS?f.firstKeyFramePTS:k;if(!L&&F<M-this.config.maxBufferHole&&!D)return void this.backtrack(u);D&&(u.gap=!0),u.setElementaryStreamInfo(f.type,u.start,I,u.start,_,!0)}else L&&k>2&&(u.gap=!0);u.setElementaryStreamInfo(f.type,k,I,C,_),this.backtrackFragment&&(this.backtrackFragment=u),this.bufferFragmentData(f,u,d,l,L||D)}else{if(!L&&!D)return void this.backtrack(u);u.gap=!0}}if(y){var U=y.startPTS,P=y.endPTS,O=y.startDTS,B=y.endDTS;d&&(d.elementaryStreams[we]={startPTS:U,endPTS:P,startDTS:O,endDTS:B}),u.setElementaryStreamInfo(we,U,P,O,B),this.bufferFragmentData(y,u,d,l)}if(v&&m!=null&&(r=m.samples)!=null&&r.length){var G={id:i,frag:u,details:v,samples:m.samples};a.trigger(p.FRAG_PARSING_METADATA,G)}if(v&&g){var V={id:i,frag:u,details:v,samples:g.samples};a.trigger(p.FRAG_PARSING_USERDATA,V)}}}else this.resetWhenMissingContext(l)},e._bufferInitSegment=function(t,r,i,a){var o=this;if(this.state===Je){this.audioOnly=!!r.audio&&!r.video,this.altAudio&&!this.audioOnly&&delete r.audio;var l=r.audio,h=r.video,u=r.audiovideo;if(l){var d=t.audioCodec,c=navigator.userAgent.toLowerCase();if(this.audioCodecSwitch){d&&(d=d.indexOf("mp4a.40.5")!==-1?"mp4a.40.2":"mp4a.40.5");var f=l.metadata;f&&"channelCount"in f&&(f.channelCount||1)!==1&&c.indexOf("firefox")===-1&&(d="mp4a.40.5")}d&&d.indexOf("mp4a.40.5")!==-1&&c.indexOf("android")!==-1&&l.container!=="audio/mpeg"&&(d="mp4a.40.2",this.log("Android: force audio codec to "+d)),t.audioCodec&&t.audioCodec!==d&&this.log('Swapping manifest audio codec "'+t.audioCodec+'" for "'+d+'"'),l.levelCodec=d,l.id="main",this.log("Init audio buffer, container:"+l.container+", codecs[selected/level/parsed]=["+(d||"")+"/"+(t.audioCodec||"")+"/"+l.codec+"]")}h&&(h.levelCodec=t.videoCodec,h.id="main",this.log("Init video buffer, container:"+h.container+", codecs[level/parsed]=["+(t.videoCodec||"")+"/"+h.codec+"]")),u&&this.log("Init audiovideo buffer, container:"+u.container+", codecs[level/parsed]=["+t.codecs+"/"+u.codec+"]"),this.hls.trigger(p.BUFFER_CODECS,r),Object.keys(r).forEach(function(g){var m=r[g].initSegment;m!=null&&m.byteLength&&o.hls.trigger(p.BUFFER_APPENDING,{type:g,data:m,frag:i,part:null,chunkMeta:a,parent:i.type})}),this.tickImmediate()}},e.getMainFwdBufferInfo=function(){return this.getFwdBufferInfo(this.mediaBuffer?this.mediaBuffer:this.media,Z)},e.backtrack=function(t){this.couldBacktrack=!0,this.backtrackFragment=t,this.resetTransmuxer(),this.flushBufferGap(t),this.fragmentTracker.removeFragment(t),this.fragPrevious=null,this.nextLoadPosition=t.start,this.state=X},e.checkFragmentChanged=function(){var t=this.media,r=null;if(t&&t.readyState>1&&t.seeking===!1){var i=t.currentTime;if(ue.isBuffered(t,i)?r=this.getAppendedFrag(i):ue.isBuffered(t,i+.1)&&(r=this.getAppendedFrag(i+.1)),r){this.backtrackFragment=null;var a=this.fragPlaying,o=r.level;a&&r.sn===a.sn&&a.level===o||(this.fragPlaying=r,this.hls.trigger(p.FRAG_CHANGED,{frag:r}),a&&a.level===o||this.hls.trigger(p.LEVEL_SWITCHED,{level:o}))}}},fe(n,[{key:"nextLevel",get:function(){var t=this.nextBufferedFrag;return t?t.level:-1}},{key:"currentFrag",get:function(){var t=this.media;return t?this.fragPlaying||this.getAppendedFrag(t.currentTime):null}},{key:"currentProgramDateTime",get:function(){var t=this.media;if(t){var r=t.currentTime,i=this.currentFrag;if(i&&N(r)&&N(i.programDateTime)){var a=i.programDateTime+1e3*(r-i.start);return new Date(a)}}return null}},{key:"currentLevel",get:function(){var t=this.currentFrag;return t?t.level:-1}},{key:"nextBufferedFrag",get:function(){var t=this.currentFrag;return t?this.followingBufferedFrag(t):null}},{key:"forceStartLoad",get:function(){return this._forceStartLoad}}]),n}(ci),as=function(){function s(e){e===void 0&&(e={}),this.config=void 0,this.userConfig=void 0,this.coreComponents=void 0,this.networkControllers=void 0,this.started=!1,this._emitter=new Lr,this._autoLevelCapping=-1,this._maxHdcpLevel=null,this.abrController=void 0,this.bufferController=void 0,this.capLevelController=void 0,this.latencyController=void 0,this.levelController=void 0,this.streamController=void 0,this.audioTrackController=void 0,this.subtitleTrackController=void 0,this.emeController=void 0,this.cmcdController=void 0,this._media=null,this.url=null,this.triggeringException=void 0,ji(e.debug||!1,"Hls instance");var t=this.config=function(C,_){if((_.liveSyncDurationCount||_.liveMaxLatencyDurationCount)&&(_.liveSyncDuration||_.liveMaxLatencyDuration))throw new Error("Illegal hls.js config: don't mix up liveSyncDurationCount/liveMaxLatencyDurationCount and liveSyncDuration/liveMaxLatencyDuration");if(_.liveMaxLatencyDurationCount!==void 0&&(_.liveSyncDurationCount===void 0||_.liveMaxLatencyDurationCount<=_.liveSyncDurationCount))throw new Error('Illegal hls.js config: "liveMaxLatencyDurationCount" must be greater than "liveSyncDurationCount"');if(_.liveMaxLatencyDuration!==void 0&&(_.liveSyncDuration===void 0||_.liveMaxLatencyDuration<=_.liveSyncDuration))throw new Error('Illegal hls.js config: "liveMaxLatencyDuration" must be greater than "liveSyncDuration"');var x=Gi(C),F=["TimeOut","MaxRetry","RetryDelay","MaxRetryTimeout"];return["manifest","level","frag"].forEach(function(M){var U=(M==="level"?"playlist":M)+"LoadPolicy",P=_[U]===void 0,O=[];F.forEach(function(B){var G=M+"Loading"+B,V=_[G];if(V!==void 0&&P){O.push(G);var Q=x[U].default;switch(_[U]={default:Q},B){case"TimeOut":Q.maxLoadTimeMs=V,Q.maxTimeToFirstByteMs=V;break;case"MaxRetry":Q.errorRetry.maxNumRetry=V,Q.timeoutRetry.maxNumRetry=V;break;case"RetryDelay":Q.errorRetry.retryDelayMs=V,Q.timeoutRetry.retryDelayMs=V;break;case"MaxRetryTimeout":Q.errorRetry.maxRetryDelayMs=V,Q.timeoutRetry.maxRetryDelayMs=V}}}),O.length&&b.warn('hls.js config: "'+O.join('", "')+'" setting(s) are deprecated, use "'+U+'": '+JSON.stringify(_[U]))}),ye(ye({},x),_)}(s.DefaultConfig,e);this.userConfig=e,t.progressive&&Dl(t);var r=t.abrController,i=t.bufferController,a=t.capLevelController,o=t.errorController,l=t.fpsController,h=new o(this),u=this.abrController=new r(this),d=this.bufferController=new i(this),c=this.capLevelController=new a(this),f=new l(this),g=new Us(this),m=new Gs(this),E=t.contentSteeringController,v=E?new E(this):null,y=this.levelController=new wl(this,v),T=new Zs(this),S=new Il(this.config),A=this.streamController=new _l(this,T,S);c.setStreamController(A),f.setStreamController(A);var R=[g,y,A];v&&R.splice(1,0,v),this.networkControllers=R;var L=[u,d,c,f,m,T];this.audioTrackController=this.createController(t.audioTrackController,R);var D=t.audioStreamController;D&&R.push(new D(this,T,S)),this.subtitleTrackController=this.createController(t.subtitleTrackController,R);var k=t.subtitleStreamController;k&&R.push(new k(this,T,S)),this.createController(t.timelineController,L),S.emeController=this.emeController=this.createController(t.emeController,L),this.cmcdController=this.createController(t.cmcdController,L),this.latencyController=this.createController(Ks,L),this.coreComponents=L,R.push(h);var I=h.onErrorOut;typeof I=="function"&&this.on(p.ERROR,I,h)}s.isMSESupported=function(){return ns()},s.isSupported=function(){return function(){if(!ns())return!1;var e=ot();return typeof(e==null?void 0:e.isTypeSupported)=="function"&&(["avc1.42E01E,mp4a.40.2","av01.0.01M.08","vp09.00.50.08"].some(function(t){return e.isTypeSupported(Ut(t,"video"))})||["mp4a.40.2","fLaC"].some(function(t){return e.isTypeSupported(Ut(t,"audio"))}))}()},s.getMediaSource=function(){return ot()};var n=s.prototype;return n.createController=function(e,t){if(e){var r=new e(this);return t&&t.push(r),r}return null},n.on=function(e,t,r){r===void 0&&(r=this),this._emitter.on(e,t,r)},n.once=function(e,t,r){r===void 0&&(r=this),this._emitter.once(e,t,r)},n.removeAllListeners=function(e){this._emitter.removeAllListeners(e)},n.off=function(e,t,r,i){r===void 0&&(r=this),this._emitter.off(e,t,r,i)},n.listeners=function(e){return this._emitter.listeners(e)},n.emit=function(e,t,r){return this._emitter.emit(e,t,r)},n.trigger=function(e,t){if(this.config.debug)return this.emit(e,e,t);try{return this.emit(e,e,t)}catch(i){if(b.error("An internal error happened while handling event "+e+'. Error message: "'+i.message+'". Here is a stacktrace:',i),!this.triggeringException){this.triggeringException=!0;var r=e===p.ERROR;this.trigger(p.ERROR,{type:K.OTHER_ERROR,details:w.INTERNAL_EXCEPTION,fatal:r,event:e,error:i}),this.triggeringException=!1}}return!1},n.listenerCount=function(e){return this._emitter.listenerCount(e)},n.destroy=function(){b.log("destroy"),this.trigger(p.DESTROYING,void 0),this.detachMedia(),this.removeAllListeners(),this._autoLevelCapping=-1,this.url=null,this.networkControllers.forEach(function(t){return t.destroy()}),this.networkControllers.length=0,this.coreComponents.forEach(function(t){return t.destroy()}),this.coreComponents.length=0;var e=this.config;e.xhrSetup=e.fetchSetup=void 0,this.userConfig=null},n.attachMedia=function(e){b.log("attachMedia"),this._media=e,this.trigger(p.MEDIA_ATTACHING,{media:e})},n.detachMedia=function(){b.log("detachMedia"),this.trigger(p.MEDIA_DETACHING,void 0),this._media=null},n.loadSource=function(e){this.stopLoad();var t=this.media,r=this.url,i=this.url=Pr.buildAbsoluteURL(self.location.href,e,{alwaysNormalize:!0});this._autoLevelCapping=-1,this._maxHdcpLevel=null,b.log("loadSource:"+i),t&&r&&(r!==i||this.bufferController.hasSourceTypes())&&(this.detachMedia(),this.attachMedia(t)),this.trigger(p.MANIFEST_LOADING,{url:e})},n.startLoad=function(e){e===void 0&&(e=-1),b.log("startLoad("+e+")"),this.started=!0,this.networkControllers.forEach(function(t){t.startLoad(e)})},n.stopLoad=function(){b.log("stopLoad"),this.started=!1,this.networkControllers.forEach(function(e){e.stopLoad()})},n.resumeBuffering=function(){this.started&&this.networkControllers.forEach(function(e){"fragmentLoader"in e&&e.startLoad(-1)})},n.pauseBuffering=function(){this.networkControllers.forEach(function(e){"fragmentLoader"in e&&e.stopLoad()})},n.swapAudioCodec=function(){b.log("swapAudioCodec"),this.streamController.swapAudioCodec()},n.recoverMediaError=function(){b.log("recoverMediaError");var e=this._media;this.detachMedia(),e&&this.attachMedia(e)},n.removeLevel=function(e){this.levelController.removeLevel(e)},n.setAudioOption=function(e){var t;return(t=this.audioTrackController)==null?void 0:t.setAudioOption(e)},n.setSubtitleOption=function(e){var t;return(t=this.subtitleTrackController)==null||t.setSubtitleOption(e),null},fe(s,[{key:"levels",get:function(){var e=this.levelController.levels;return e||[]}},{key:"currentLevel",get:function(){return this.streamController.currentLevel},set:function(e){b.log("set currentLevel:"+e),this.levelController.manualLevel=e,this.streamController.immediateLevelSwitch()}},{key:"nextLevel",get:function(){return this.streamController.nextLevel},set:function(e){b.log("set nextLevel:"+e),this.levelController.manualLevel=e,this.streamController.nextLevelSwitch()}},{key:"loadLevel",get:function(){return this.levelController.level},set:function(e){b.log("set loadLevel:"+e),this.levelController.manualLevel=e}},{key:"nextLoadLevel",get:function(){return this.levelController.nextLoadLevel},set:function(e){this.levelController.nextLoadLevel=e}},{key:"firstLevel",get:function(){return Math.max(this.levelController.firstLevel,this.minAutoLevel)},set:function(e){b.log("set firstLevel:"+e),this.levelController.firstLevel=e}},{key:"startLevel",get:function(){var e=this.levelController.startLevel;return e===-1&&this.abrController.forcedAutoLevel>-1?this.abrController.forcedAutoLevel:e},set:function(e){b.log("set startLevel:"+e),e!==-1&&(e=Math.max(e,this.minAutoLevel)),this.levelController.startLevel=e}},{key:"capLevelToPlayerSize",get:function(){return this.config.capLevelToPlayerSize},set:function(e){var t=!!e;t!==this.config.capLevelToPlayerSize&&(t?this.capLevelController.startCapping():(this.capLevelController.stopCapping(),this.autoLevelCapping=-1,this.streamController.nextLevelSwitch()),this.config.capLevelToPlayerSize=t)}},{key:"autoLevelCapping",get:function(){return this._autoLevelCapping},set:function(e){this._autoLevelCapping!==e&&(b.log("set autoLevelCapping:"+e),this._autoLevelCapping=e,this.levelController.checkMaxAutoUpdated())}},{key:"bandwidthEstimate",get:function(){var e=this.abrController.bwEstimator;return e?e.getEstimate():NaN},set:function(e){this.abrController.resetEstimator(e)}},{key:"ttfbEstimate",get:function(){var e=this.abrController.bwEstimator;return e?e.getEstimateTTFB():NaN}},{key:"maxHdcpLevel",get:function(){return this._maxHdcpLevel},set:function(e){(function(t){return ti.indexOf(t)>-1})(e)&&this._maxHdcpLevel!==e&&(this._maxHdcpLevel=e,this.levelController.checkMaxAutoUpdated())}},{key:"autoLevelEnabled",get:function(){return this.levelController.manualLevel===-1}},{key:"manualLevel",get:function(){return this.levelController.manualLevel}},{key:"minAutoLevel",get:function(){var e=this.levels,t=this.config.minAutoBitrate;if(!e)return 0;for(var r=e.length,i=0;i<r;i++)if(e[i].maxBitrate>=t)return i;return 0}},{key:"maxAutoLevel",get:function(){var e,t=this.levels,r=this.autoLevelCapping,i=this.maxHdcpLevel;if(e=r===-1&&t!=null&&t.length?t.length-1:r,i)for(var a=e;a--;){var o=t[a].attrs["HDCP-LEVEL"];if(o&&o<=i)return a}return e}},{key:"firstAutoLevel",get:function(){return this.abrController.firstAutoLevel}},{key:"nextAutoLevel",get:function(){return this.abrController.nextAutoLevel},set:function(e){this.abrController.nextAutoLevel=e}},{key:"playingDate",get:function(){return this.streamController.currentProgramDateTime}},{key:"mainForwardBufferInfo",get:function(){return this.streamController.getMainFwdBufferInfo()}},{key:"allAudioTracks",get:function(){var e=this.audioTrackController;return e?e.allAudioTracks:[]}},{key:"audioTracks",get:function(){var e=this.audioTrackController;return e?e.audioTracks:[]}},{key:"audioTrack",get:function(){var e=this.audioTrackController;return e?e.audioTrack:-1},set:function(e){var t=this.audioTrackController;t&&(t.audioTrack=e)}},{key:"allSubtitleTracks",get:function(){var e=this.subtitleTrackController;return e?e.allSubtitleTracks:[]}},{key:"subtitleTracks",get:function(){var e=this.subtitleTrackController;return e?e.subtitleTracks:[]}},{key:"subtitleTrack",get:function(){var e=this.subtitleTrackController;return e?e.subtitleTrack:-1},set:function(e){var t=this.subtitleTrackController;t&&(t.subtitleTrack=e)}},{key:"media",get:function(){return this._media}},{key:"subtitleDisplay",get:function(){var e=this.subtitleTrackController;return!!e&&e.subtitleDisplay},set:function(e){var t=this.subtitleTrackController;t&&(t.subtitleDisplay=e)}},{key:"lowLatencyMode",get:function(){return this.config.lowLatencyMode},set:function(e){this.config.lowLatencyMode=e}},{key:"liveSyncPosition",get:function(){return this.latencyController.liveSyncPosition}},{key:"latency",get:function(){return this.latencyController.latency}},{key:"maxLatency",get:function(){return this.latencyController.maxLatency}},{key:"targetLatency",get:function(){return this.latencyController.targetLatency}},{key:"drift",get:function(){return this.latencyController.drift}},{key:"forceStartLoad",get:function(){return this.streamController.forceStartLoad}}],[{key:"version",get:function(){return"1.5.13"}},{key:"Events",get:function(){return p}},{key:"ErrorTypes",get:function(){return K}},{key:"ErrorDetails",get:function(){return w}},{key:"DefaultConfig",get:function(){return s.defaultConfig?s.defaultConfig:ts},set:function(e){s.defaultConfig=e}}]),s}();return as.defaultConfig=void 0,as},xt.exports=rt()})(!1)})(os);var ls=os.exports;const Nl=Ml(ls),Bl=Ol({__proto__:null,default:Nl},[ls]);export{Bl as h};
diff --git a/assets/hls.min-CgYxLcm_.js b/assets/hls.min-CgYxLcm_.js
deleted file mode 100644
index 8a45463..0000000
--- a/assets/hls.min-CgYxLcm_.js
+++ /dev/null
@@ -1,27 +0,0 @@
-import{g as Fl}from"./commonjsHelpers-Cpj98o6Y.js";function Ml(Pt,Ir){for(var Ft=0;Ft<Ir.length;Ft++){const tt=Ir[Ft];if(typeof tt!="string"&&!Array.isArray(tt)){for(const rt in tt)if(rt!=="default"&&!(rt in Pt)){const ft=Object.getOwnPropertyDescriptor(tt,rt);ft&&Object.defineProperty(Pt,rt,ft.get?ft:{enumerable:!0,get:()=>tt[rt]})}}}return Object.freeze(Object.defineProperty(Pt,Symbol.toStringTag,{value:"Module"}))}var os={exports:{}};(function(Pt,Ir){(function Ft(tt){var rt;rt=function(){function ft(s,n){var e=Object.keys(s);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(s);n&&(t=t.filter(function(r){return Object.getOwnPropertyDescriptor(s,r).enumerable})),e.push.apply(e,t)}return e}function ye(s){for(var n=1;n<arguments.length;n++){var e=arguments[n]!=null?arguments[n]:{};n%2?ft(Object(e),!0).forEach(function(t){var r,i,a;r=s,i=t,a=e[t],(i=Hi(i))in r?Object.defineProperty(r,i,{value:a,enumerable:!0,configurable:!0,writable:!0}):r[i]=a}):Object.getOwnPropertyDescriptors?Object.defineProperties(s,Object.getOwnPropertyDescriptors(e)):ft(Object(e)).forEach(function(t){Object.defineProperty(s,t,Object.getOwnPropertyDescriptor(e,t))})}return s}function Hi(s){var n=function(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,t||"default");if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}(s,"string");return typeof n=="symbol"?n:String(n)}function Vi(s,n){for(var e=0;e<n.length;e++){var t=n[e];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(s,Hi(t.key),t)}}function fe(s,n,e){return n&&Vi(s.prototype,n),e&&Vi(s,e),Object.defineProperty(s,"prototype",{writable:!1}),s}function ge(){return ge=Object.assign?Object.assign.bind():function(s){for(var n=1;n<arguments.length;n++){var e=arguments[n];for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&(s[t]=e[t])}return s},ge.apply(this,arguments)}function Le(s,n){s.prototype=Object.create(n.prototype),s.prototype.constructor=s,Mt(s,n)}function Cr(s){return Cr=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},Cr(s)}function Mt(s,n){return Mt=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Mt(s,n)}function _r(s,n,e){return _r=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}()?Reflect.construct.bind():function(t,r,i){var a=[null];a.push.apply(a,r);var o=new(Function.bind.apply(t,a));return i&&Mt(o,i.prototype),o},_r.apply(null,arguments)}function Ot(s){var n=typeof Map=="function"?new Map:void 0;return Ot=function(e){if(e===null||!function(r){try{return Function.toString.call(r).indexOf("[native code]")!==-1}catch{return typeof r=="function"}}(e))return e;if(typeof e!="function")throw new TypeError("Super expression must either be null or a function");if(n!==void 0){if(n.has(e))return n.get(e);n.set(e,t)}function t(){return _r(e,arguments,Cr(this).constructor)}return t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),Mt(t,e)},Ot(s)}function Yi(s,n){(n==null||n>s.length)&&(n=s.length);for(var e=0,t=new Array(n);e<n;e++)t[e]=s[e];return t}function us(s,n){var e=typeof Symbol<"u"&&s[Symbol.iterator]||s["@@iterator"];if(e)return(e=e.call(s)).next.bind(e);if(Array.isArray(s)||(e=function(r,i){if(r){if(typeof r=="string")return Yi(r,i);var a=Object.prototype.toString.call(r).slice(8,-1);return a==="Object"&&r.constructor&&(a=r.constructor.name),a==="Map"||a==="Set"?Array.from(r):a==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?Yi(r,i):void 0}}(s))||n&&s&&typeof s.length=="number"){e&&(s=e);var t=0;return function(){return t>=s.length?{done:!0}:{done:!1,value:s[t++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function hs(s){return s&&s.__esModule&&Object.prototype.hasOwnProperty.call(s,"default")?s.default:s}var Wi={exports:{}};(function(s,n){var e,t,r,i,a;e=/^(?=((?:[a-zA-Z0-9+\-.]+:)?))\1(?=((?:\/\/[^\/?#]*)?))\2(?=((?:(?:[^?#\/]*\/)*[^;?#\/]*)?))\3((?:;[^?#]*)?)(\?[^#]*)?(#[^]*)?$/,t=/^(?=([^\/?#]*))\1([^]*)$/,r=/(?:\/|^)\.(?=\/)/g,i=/(?:\/|^)\.\.\/(?!\.\.\/)[^\/]*(?=\/)/g,a={buildAbsoluteURL:function(o,l,h){if(h=h||{},o=o.trim(),!(l=l.trim())){if(!h.alwaysNormalize)return o;var u=a.parseURL(o);if(!u)throw new Error("Error trying to parse base URL.");return u.path=a.normalizePath(u.path),a.buildURLFromParts(u)}var d=a.parseURL(l);if(!d)throw new Error("Error trying to parse relative URL.");if(d.scheme)return h.alwaysNormalize?(d.path=a.normalizePath(d.path),a.buildURLFromParts(d)):l;var c=a.parseURL(o);if(!c)throw new Error("Error trying to parse base URL.");if(!c.netLoc&&c.path&&c.path[0]!=="/"){var f=t.exec(c.path);c.netLoc=f[1],c.path=f[2]}c.netLoc&&!c.path&&(c.path="/");var g={scheme:c.scheme,netLoc:d.netLoc,path:null,params:d.params,query:d.query,fragment:d.fragment};if(!d.netLoc&&(g.netLoc=c.netLoc,d.path[0]!=="/"))if(d.path){var m=c.path,E=m.substring(0,m.lastIndexOf("/")+1)+d.path;g.path=a.normalizePath(E)}else g.path=c.path,d.params||(g.params=c.params,d.query||(g.query=c.query));return g.path===null&&(g.path=h.alwaysNormalize?a.normalizePath(d.path):d.path),a.buildURLFromParts(g)},parseURL:function(o){var l=e.exec(o);return l?{scheme:l[1]||"",netLoc:l[2]||"",path:l[3]||"",params:l[4]||"",query:l[5]||"",fragment:l[6]||""}:null},normalizePath:function(o){for(o=o.split("").reverse().join("").replace(r,"");o.length!==(o=o.replace(i,"")).length;);return o.split("").reverse().join("")},buildURLFromParts:function(o){return o.scheme+o.netLoc+o.path+o.params+o.query+o.fragment}},s.exports=a})(Wi);var xr=Wi.exports,O=Number.isFinite||function(s){return typeof s=="number"&&isFinite(s)},ds=Number.isSafeInteger||function(s){return typeof s=="number"&&Math.abs(s)<=cs},cs=Number.MAX_SAFE_INTEGER||9007199254740991,p=function(s){return s.MEDIA_ATTACHING="hlsMediaAttaching",s.MEDIA_ATTACHED="hlsMediaAttached",s.MEDIA_DETACHING="hlsMediaDetaching",s.MEDIA_DETACHED="hlsMediaDetached",s.BUFFER_RESET="hlsBufferReset",s.BUFFER_CODECS="hlsBufferCodecs",s.BUFFER_CREATED="hlsBufferCreated",s.BUFFER_APPENDING="hlsBufferAppending",s.BUFFER_APPENDED="hlsBufferAppended",s.BUFFER_EOS="hlsBufferEos",s.BUFFER_FLUSHING="hlsBufferFlushing",s.BUFFER_FLUSHED="hlsBufferFlushed",s.MANIFEST_LOADING="hlsManifestLoading",s.MANIFEST_LOADED="hlsManifestLoaded",s.MANIFEST_PARSED="hlsManifestParsed",s.LEVEL_SWITCHING="hlsLevelSwitching",s.LEVEL_SWITCHED="hlsLevelSwitched",s.LEVEL_LOADING="hlsLevelLoading",s.LEVEL_LOADED="hlsLevelLoaded",s.LEVEL_UPDATED="hlsLevelUpdated",s.LEVEL_PTS_UPDATED="hlsLevelPtsUpdated",s.LEVELS_UPDATED="hlsLevelsUpdated",s.AUDIO_TRACKS_UPDATED="hlsAudioTracksUpdated",s.AUDIO_TRACK_SWITCHING="hlsAudioTrackSwitching",s.AUDIO_TRACK_SWITCHED="hlsAudioTrackSwitched",s.AUDIO_TRACK_LOADING="hlsAudioTrackLoading",s.AUDIO_TRACK_LOADED="hlsAudioTrackLoaded",s.SUBTITLE_TRACKS_UPDATED="hlsSubtitleTracksUpdated",s.SUBTITLE_TRACKS_CLEARED="hlsSubtitleTracksCleared",s.SUBTITLE_TRACK_SWITCH="hlsSubtitleTrackSwitch",s.SUBTITLE_TRACK_LOADING="hlsSubtitleTrackLoading",s.SUBTITLE_TRACK_LOADED="hlsSubtitleTrackLoaded",s.SUBTITLE_FRAG_PROCESSED="hlsSubtitleFragProcessed",s.CUES_PARSED="hlsCuesParsed",s.NON_NATIVE_TEXT_TRACKS_FOUND="hlsNonNativeTextTracksFound",s.INIT_PTS_FOUND="hlsInitPtsFound",s.FRAG_LOADING="hlsFragLoading",s.FRAG_LOAD_EMERGENCY_ABORTED="hlsFragLoadEmergencyAborted",s.FRAG_LOADED="hlsFragLoaded",s.FRAG_DECRYPTED="hlsFragDecrypted",s.FRAG_PARSING_INIT_SEGMENT="hlsFragParsingInitSegment",s.FRAG_PARSING_USERDATA="hlsFragParsingUserdata",s.FRAG_PARSING_METADATA="hlsFragParsingMetadata",s.FRAG_PARSED="hlsFragParsed",s.FRAG_BUFFERED="hlsFragBuffered",s.FRAG_CHANGED="hlsFragChanged",s.FPS_DROP="hlsFpsDrop",s.FPS_DROP_LEVEL_CAPPING="hlsFpsDropLevelCapping",s.MAX_AUTO_LEVEL_UPDATED="hlsMaxAutoLevelUpdated",s.ERROR="hlsError",s.DESTROYING="hlsDestroying",s.KEY_LOADING="hlsKeyLoading",s.KEY_LOADED="hlsKeyLoaded",s.LIVE_BACK_BUFFER_REACHED="hlsLiveBackBufferReached",s.BACK_BUFFER_REACHED="hlsBackBufferReached",s.STEERING_MANIFEST_LOADED="hlsSteeringManifestLoaded",s}({}),G=function(s){return s.NETWORK_ERROR="networkError",s.MEDIA_ERROR="mediaError",s.KEY_SYSTEM_ERROR="keySystemError",s.MUX_ERROR="muxError",s.OTHER_ERROR="otherError",s}({}),w=function(s){return s.KEY_SYSTEM_NO_KEYS="keySystemNoKeys",s.KEY_SYSTEM_NO_ACCESS="keySystemNoAccess",s.KEY_SYSTEM_NO_SESSION="keySystemNoSession",s.KEY_SYSTEM_NO_CONFIGURED_LICENSE="keySystemNoConfiguredLicense",s.KEY_SYSTEM_LICENSE_REQUEST_FAILED="keySystemLicenseRequestFailed",s.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED="keySystemServerCertificateRequestFailed",s.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED="keySystemServerCertificateUpdateFailed",s.KEY_SYSTEM_SESSION_UPDATE_FAILED="keySystemSessionUpdateFailed",s.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED="keySystemStatusOutputRestricted",s.KEY_SYSTEM_STATUS_INTERNAL_ERROR="keySystemStatusInternalError",s.MANIFEST_LOAD_ERROR="manifestLoadError",s.MANIFEST_LOAD_TIMEOUT="manifestLoadTimeOut",s.MANIFEST_PARSING_ERROR="manifestParsingError",s.MANIFEST_INCOMPATIBLE_CODECS_ERROR="manifestIncompatibleCodecsError",s.LEVEL_EMPTY_ERROR="levelEmptyError",s.LEVEL_LOAD_ERROR="levelLoadError",s.LEVEL_LOAD_TIMEOUT="levelLoadTimeOut",s.LEVEL_PARSING_ERROR="levelParsingError",s.LEVEL_SWITCH_ERROR="levelSwitchError",s.AUDIO_TRACK_LOAD_ERROR="audioTrackLoadError",s.AUDIO_TRACK_LOAD_TIMEOUT="audioTrackLoadTimeOut",s.SUBTITLE_LOAD_ERROR="subtitleTrackLoadError",s.SUBTITLE_TRACK_LOAD_TIMEOUT="subtitleTrackLoadTimeOut",s.FRAG_LOAD_ERROR="fragLoadError",s.FRAG_LOAD_TIMEOUT="fragLoadTimeOut",s.FRAG_DECRYPT_ERROR="fragDecryptError",s.FRAG_PARSING_ERROR="fragParsingError",s.FRAG_GAP="fragGap",s.REMUX_ALLOC_ERROR="remuxAllocError",s.KEY_LOAD_ERROR="keyLoadError",s.KEY_LOAD_TIMEOUT="keyLoadTimeOut",s.BUFFER_ADD_CODEC_ERROR="bufferAddCodecError",s.BUFFER_INCOMPATIBLE_CODECS_ERROR="bufferIncompatibleCodecsError",s.BUFFER_APPEND_ERROR="bufferAppendError",s.BUFFER_APPENDING_ERROR="bufferAppendingError",s.BUFFER_STALLED_ERROR="bufferStalledError",s.BUFFER_FULL_ERROR="bufferFullError",s.BUFFER_SEEK_OVER_HOLE="bufferSeekOverHole",s.BUFFER_NUDGE_ON_STALL="bufferNudgeOnStall",s.INTERNAL_EXCEPTION="internalException",s.INTERNAL_ABORTED="aborted",s.UNKNOWN="unknown",s}({}),at=function(){},Pr={trace:at,debug:at,log:at,warn:at,info:at,error:at},Nt=Pr;function fs(s){for(var n=arguments.length,e=new Array(n>1?n-1:0),t=1;t<n;t++)e[t-1]=arguments[t];e.forEach(function(r){Nt[r]=s[r]?s[r].bind(s):function(i){var a=self.console[i];return a?a.bind(self.console,"["+i+"] >"):at}(r)})}function ji(s,n){if(typeof console=="object"&&s===!0||typeof s=="object"){fs(s,"debug","log","info","warn","error");try{Nt.log('Debug logs enabled for "'+n+'" in hls.js version 1.5.7')}catch{Nt=Pr}}else Nt=Pr}var b=Nt,gs=/^(\d+)x(\d+)$/,qi=/(.+?)=(".*?"|.*?)(?:,|$)/g,de=function(){function s(e){typeof e=="string"&&(e=s.parseAttrList(e)),ge(this,e)}var n=s.prototype;return n.decimalInteger=function(e){var t=parseInt(this[e],10);return t>Number.MAX_SAFE_INTEGER?1/0:t},n.hexadecimalInteger=function(e){if(this[e]){var t=(this[e]||"0x").slice(2);t=(1&t.length?"0":"")+t;for(var r=new Uint8Array(t.length/2),i=0;i<t.length/2;i++)r[i]=parseInt(t.slice(2*i,2*i+2),16);return r}return null},n.hexadecimalIntegerAsNumber=function(e){var t=parseInt(this[e],16);return t>Number.MAX_SAFE_INTEGER?1/0:t},n.decimalFloatingPoint=function(e){return parseFloat(this[e])},n.optionalFloat=function(e,t){var r=this[e];return r?parseFloat(r):t},n.enumeratedString=function(e){return this[e]},n.bool=function(e){return this[e]==="YES"},n.decimalResolution=function(e){var t=gs.exec(this[e]);if(t!==null)return{width:parseInt(t[1],10),height:parseInt(t[2],10)}},s.parseAttrList=function(e){var t,r={};for(qi.lastIndex=0;(t=qi.exec(e))!==null;){var i=t[2];i.indexOf('"')===0&&i.lastIndexOf('"')===i.length-1&&(i=i.slice(1,-1)),r[t[1].trim()]=i}return r},fe(s,[{key:"clientAttrs",get:function(){return Object.keys(this).filter(function(e){return e.substring(0,2)==="X-"})}}]),s}();function vs(s){return s==="SCTE35-OUT"||s==="SCTE35-IN"}var Xi=function(){function s(n,e){if(this.attr=void 0,this._startDate=void 0,this._endDate=void 0,this._badValueForSameId=void 0,e){var t=e.attr;for(var r in t)if(Object.prototype.hasOwnProperty.call(n,r)&&n[r]!==t[r]){b.warn('DATERANGE tag attribute: "'+r+'" does not match for tags with ID: "'+n.ID+'"'),this._badValueForSameId=r;break}n=ge(new de({}),t,n)}if(this.attr=n,this._startDate=new Date(n["START-DATE"]),"END-DATE"in this.attr){var i=new Date(this.attr["END-DATE"]);O(i.getTime())&&(this._endDate=i)}}return fe(s,[{key:"id",get:function(){return this.attr.ID}},{key:"class",get:function(){return this.attr.CLASS}},{key:"startDate",get:function(){return this._startDate}},{key:"endDate",get:function(){if(this._endDate)return this._endDate;var n=this.duration;return n!==null?new Date(this._startDate.getTime()+1e3*n):null}},{key:"duration",get:function(){if("DURATION"in this.attr){var n=this.attr.decimalFloatingPoint("DURATION");if(O(n))return n}else if(this._endDate)return(this._endDate.getTime()-this._startDate.getTime())/1e3;return null}},{key:"plannedDuration",get:function(){return"PLANNED-DURATION"in this.attr?this.attr.decimalFloatingPoint("PLANNED-DURATION"):null}},{key:"endOnNext",get:function(){return this.attr.bool("END-ON-NEXT")}},{key:"isValid",get:function(){return!!this.id&&!this._badValueForSameId&&O(this.startDate.getTime())&&(this.duration===null||this.duration>=0)&&(!this.endOnNext||!!this.class)}}]),s}(),Jt=function(){this.aborted=!1,this.loaded=0,this.retry=0,this.total=0,this.chunkCount=0,this.bwEstimate=0,this.loading={start:0,first:0,end:0},this.parsing={start:0,end:0},this.buffering={start:0,first:0,end:0}},we="audio",Pe="video",Fr="audiovideo",zi=function(){function s(n){var e;this._byteRange=null,this._url=null,this.baseurl=void 0,this.relurl=void 0,this.elementaryStreams=((e={})[we]=null,e[Pe]=null,e[Fr]=null,e),this.baseurl=n}return s.prototype.setByteRange=function(n,e){var t,r=n.split("@",2);t=r.length===1?(e==null?void 0:e.byteRangeEndOffset)||0:parseInt(r[1]),this._byteRange=[t,parseInt(r[0])+t]},fe(s,[{key:"byteRange",get:function(){return this._byteRange?this._byteRange:[]}},{key:"byteRangeStartOffset",get:function(){return this.byteRange[0]}},{key:"byteRangeEndOffset",get:function(){return this.byteRange[1]}},{key:"url",get:function(){return!this._url&&this.baseurl&&this.relurl&&(this._url=xr.buildAbsoluteURL(this.baseurl,this.relurl,{alwaysNormalize:!0})),this._url||""},set:function(n){this._url=n}}]),s}(),Mr=function(s){function n(t,r){var i;return(i=s.call(this,r)||this)._decryptdata=null,i.rawProgramDateTime=null,i.programDateTime=null,i.tagList=[],i.duration=0,i.sn=0,i.levelkeys=void 0,i.type=void 0,i.loader=null,i.keyLoader=null,i.level=-1,i.cc=0,i.startPTS=void 0,i.endPTS=void 0,i.startDTS=void 0,i.endDTS=void 0,i.start=0,i.deltaPTS=void 0,i.maxStartPTS=void 0,i.minEndPTS=void 0,i.stats=new Jt,i.data=void 0,i.bitrateTest=!1,i.title=null,i.initSegment=null,i.endList=void 0,i.gap=void 0,i.urlId=0,i.type=t,i}Le(n,s);var e=n.prototype;return e.setKeyFormat=function(t){if(this.levelkeys){var r=this.levelkeys[t];r&&!this._decryptdata&&(this._decryptdata=r.getDecryptData(this.sn))}},e.abortRequests=function(){var t,r;(t=this.loader)==null||t.abort(),(r=this.keyLoader)==null||r.abort()},e.setElementaryStreamInfo=function(t,r,i,a,o,l){l===void 0&&(l=!1);var h=this.elementaryStreams,u=h[t];u?(u.startPTS=Math.min(u.startPTS,r),u.endPTS=Math.max(u.endPTS,i),u.startDTS=Math.min(u.startDTS,a),u.endDTS=Math.max(u.endDTS,o)):h[t]={startPTS:r,endPTS:i,startDTS:a,endDTS:o,partial:l}},e.clearElementaryStreamInfo=function(){var t=this.elementaryStreams;t[we]=null,t[Pe]=null,t[Fr]=null},fe(n,[{key:"decryptdata",get:function(){if(!this.levelkeys&&!this._decryptdata)return null;if(!this._decryptdata&&this.levelkeys&&!this.levelkeys.NONE){var t=this.levelkeys.identity;if(t)this._decryptdata=t.getDecryptData(this.sn);else{var r=Object.keys(this.levelkeys);if(r.length===1)return this._decryptdata=this.levelkeys[r[0]].getDecryptData(this.sn)}}return this._decryptdata}},{key:"end",get:function(){return this.start+this.duration}},{key:"endProgramDateTime",get:function(){if(this.programDateTime===null||!O(this.programDateTime))return null;var t=O(this.duration)?this.duration:0;return this.programDateTime+1e3*t}},{key:"encrypted",get:function(){var t;if((t=this._decryptdata)!=null&&t.encrypted)return!0;if(this.levelkeys){var r=Object.keys(this.levelkeys),i=r.length;if(i>1||i===1&&this.levelkeys[r[0]].encrypted)return!0}return!1}}]),n}(zi),ms=function(s){function n(e,t,r,i,a){var o;(o=s.call(this,r)||this).fragOffset=0,o.duration=0,o.gap=!1,o.independent=!1,o.relurl=void 0,o.fragment=void 0,o.index=void 0,o.stats=new Jt,o.duration=e.decimalFloatingPoint("DURATION"),o.gap=e.bool("GAP"),o.independent=e.bool("INDEPENDENT"),o.relurl=e.enumeratedString("URI"),o.fragment=t,o.index=i;var l=e.enumeratedString("BYTERANGE");return l&&o.setByteRange(l,a),a&&(o.fragOffset=a.fragOffset+a.duration),o}return Le(n,s),fe(n,[{key:"start",get:function(){return this.fragment.start+this.fragOffset}},{key:"end",get:function(){return this.start+this.duration}},{key:"loaded",get:function(){var e=this.elementaryStreams;return!!(e.audio||e.video||e.audiovideo)}}]),n}(zi),ps=function(){function s(n){this.PTSKnown=!1,this.alignedSliding=!1,this.averagetargetduration=void 0,this.endCC=0,this.endSN=0,this.fragments=void 0,this.fragmentHint=void 0,this.partList=null,this.dateRanges=void 0,this.live=!0,this.ageHeader=0,this.advancedDateTime=void 0,this.updated=!0,this.advanced=!0,this.availabilityDelay=void 0,this.misses=0,this.startCC=0,this.startSN=0,this.startTimeOffset=null,this.targetduration=0,this.totalduration=0,this.type=null,this.url=void 0,this.m3u8="",this.version=null,this.canBlockReload=!1,this.canSkipUntil=0,this.canSkipDateRanges=!1,this.skippedSegments=0,this.recentlyRemovedDateranges=void 0,this.partHoldBack=0,this.holdBack=0,this.partTarget=0,this.preloadHint=void 0,this.renditionReports=void 0,this.tuneInGoal=0,this.deltaUpdateFailed=void 0,this.driftStartTime=0,this.driftEndTime=0,this.driftStart=0,this.driftEnd=0,this.encryptedFragments=void 0,this.playlistParsingError=null,this.variableList=null,this.hasVariableRefs=!1,this.fragments=[],this.encryptedFragments=[],this.dateRanges={},this.url=n}return s.prototype.reloaded=function(n){if(!n)return this.advanced=!0,void(this.updated=!0);var e=this.lastPartSn-n.lastPartSn,t=this.lastPartIndex-n.lastPartIndex;this.updated=this.endSN!==n.endSN||!!t||!!e||!this.live,this.advanced=this.endSN>n.endSN||e>0||e===0&&t>0,this.updated||this.advanced?this.misses=Math.floor(.6*n.misses):this.misses=n.misses+1,this.availabilityDelay=n.availabilityDelay},fe(s,[{key:"hasProgramDateTime",get:function(){return!!this.fragments.length&&O(this.fragments[this.fragments.length-1].programDateTime)}},{key:"levelTargetDuration",get:function(){return this.averagetargetduration||this.targetduration||10}},{key:"drift",get:function(){var n=this.driftEndTime-this.driftStartTime;return n>0?1e3*(this.driftEnd-this.driftStart)/n:1}},{key:"edge",get:function(){return this.partEnd||this.fragmentEnd}},{key:"partEnd",get:function(){var n;return(n=this.partList)!=null&&n.length?this.partList[this.partList.length-1].end:this.fragmentEnd}},{key:"fragmentEnd",get:function(){var n;return(n=this.fragments)!=null&&n.length?this.fragments[this.fragments.length-1].end:0}},{key:"age",get:function(){return this.advancedDateTime?Math.max(Date.now()-this.advancedDateTime,0)/1e3:0}},{key:"lastPartIndex",get:function(){var n;return(n=this.partList)!=null&&n.length?this.partList[this.partList.length-1].index:-1}},{key:"lastPartSn",get:function(){var n;return(n=this.partList)!=null&&n.length?this.partList[this.partList.length-1].fragment.sn:this.endSN}}]),s}();function Or(s){return Uint8Array.from(atob(s),function(n){return n.charCodeAt(0)})}function ys(s){var n,e,t=s.split(":"),r=null;if(t[0]==="data"&&t.length===2){var i=t[1].split(";"),a=i[i.length-1].split(",");if(a.length===2){var o=a[0]==="base64",l=a[1];o?(i.splice(-1,1),r=Or(l)):(n=Nr(l).subarray(0,16),(e=new Uint8Array(16)).set(n,16-n.length),r=e)}}return r}function Nr(s){return Uint8Array.from(unescape(encodeURIComponent(s)),function(n){return n.charCodeAt(0)})}var gt=typeof self<"u"?self:void 0,se={CLEARKEY:"org.w3.clearkey",FAIRPLAY:"com.apple.fps",PLAYREADY:"com.microsoft.playready",WIDEVINE:"com.widevine.alpha"},Ur="org.w3.clearkey",Br="com.apple.streamingkeydelivery",$t="com.microsoft.playready",Zt="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed";function Qi(s){switch(s){case Br:return se.FAIRPLAY;case $t:return se.PLAYREADY;case Zt:return se.WIDEVINE;case Ur:return se.CLEARKEY}}var Ji="edef8ba979d64acea3c827dcd51d21ed";function $i(s){switch(s){case se.FAIRPLAY:return Br;case se.PLAYREADY:return $t;case se.WIDEVINE:return Zt;case se.CLEARKEY:return Ur}}function Gr(s){var n=s.drmSystems,e=s.widevineLicenseUrl,t=n?[se.FAIRPLAY,se.WIDEVINE,se.PLAYREADY,se.CLEARKEY].filter(function(r){return!!n[r]}):[];return!t[se.WIDEVINE]&&e&&t.push(se.WIDEVINE),t}var Zi,en=gt!=null&&(Zi=gt.navigator)!=null&&Zi.requestMediaKeySystemAccess?self.navigator.requestMediaKeySystemAccess.bind(self.navigator):null;function st(s,n,e){return Uint8Array.prototype.slice?s.slice(n,e):new Uint8Array(Array.prototype.slice.call(s,n,e))}var Kr,Hr=function(s,n){return n+10<=s.length&&s[n]===73&&s[n+1]===68&&s[n+2]===51&&s[n+3]<255&&s[n+4]<255&&s[n+6]<128&&s[n+7]<128&&s[n+8]<128&&s[n+9]<128},tn=function(s,n){return n+10<=s.length&&s[n]===51&&s[n+1]===68&&s[n+2]===73&&s[n+3]<255&&s[n+4]<255&&s[n+6]<128&&s[n+7]<128&&s[n+8]<128&&s[n+9]<128},Ut=function(s,n){for(var e=n,t=0;Hr(s,n);)t+=10,t+=er(s,n+6),tn(s,n+10)&&(t+=10),n+=t;if(t>0)return s.subarray(e,e+t)},er=function(s,n){var e=0;return e=(127&s[n])<<21,e|=(127&s[n+1])<<14,e|=(127&s[n+2])<<7,e|=127&s[n+3]},Es=function(s,n){return Hr(s,n)&&er(s,n+6)+10<=s.length-n},Vr=function(s){for(var n=nn(s),e=0;e<n.length;e++){var t=n[e];if(rn(t))return bs(t)}},rn=function(s){return s&&s.key==="PRIV"&&s.info==="com.apple.streaming.transportStreamTimestamp"},Ts=function(s){var n=String.fromCharCode(s[0],s[1],s[2],s[3]),e=er(s,4);return{type:n,size:e,data:s.subarray(10,10+e)}},nn=function(s){for(var n=0,e=[];Hr(s,n);){for(var t=er(s,n+6),r=(n+=10)+t;n+8<r;){var i=Ts(s.subarray(n)),a=Ss(i);a&&e.push(a),n+=i.size+10}tn(s,n)&&(n+=10)}return e},Ss=function(s){return s.type==="PRIV"?Ls(s):s.type[0]==="W"?Rs(s):As(s)},Ls=function(s){if(!(s.size<2)){var n=Ge(s.data,!0),e=new Uint8Array(s.data.subarray(n.length+1));return{key:s.type,info:n,data:e.buffer}}},As=function(s){if(!(s.size<2)){if(s.type==="TXXX"){var n=1,e=Ge(s.data.subarray(n),!0);n+=e.length+1;var t=Ge(s.data.subarray(n));return{key:s.type,info:e,data:t}}var r=Ge(s.data.subarray(1));return{key:s.type,data:r}}},Rs=function(s){if(s.type==="WXXX"){if(s.size<2)return;var n=1,e=Ge(s.data.subarray(n),!0);n+=e.length+1;var t=Ge(s.data.subarray(n));return{key:s.type,info:e,data:t}}var r=Ge(s.data);return{key:s.type,data:r}},bs=function(s){if(s.data.byteLength===8){var n=new Uint8Array(s.data),e=1&n[3],t=(n[4]<<23)+(n[5]<<15)+(n[6]<<7)+n[7];return t/=45,e&&(t+=4772185884e-2),Math.round(t)}},Ge=function(s,n){n===void 0&&(n=!1);var e=ks();if(e){var t=e.decode(s);if(n){var r=t.indexOf("\0");return r!==-1?t.substring(0,r):t}return t.replace(/\0/g,"")}for(var i,a,o,l=s.length,h="",u=0;u<l;){if((i=s[u++])===0&&n)return h;if(i!==0&&i!==3)switch(i>>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:h+=String.fromCharCode(i);break;case 12:case 13:a=s[u++],h+=String.fromCharCode((31&i)<<6|63&a);break;case 14:a=s[u++],o=s[u++],h+=String.fromCharCode((15&i)<<12|(63&a)<<6|(63&o)<<0)}}return h};function ks(){if(!navigator.userAgent.includes("PlayStation 4"))return Kr||self.TextDecoder===void 0||(Kr=new self.TextDecoder("utf-8")),Kr}var Ke=function(s){for(var n="",e=0;e<s.length;e++){var t=s[e].toString(16);t.length<2&&(t="0"+t),n+=t}return n},tr=Math.pow(2,32)-1,Ds=[].push,an={video:1,audio:2,id3:3,text:4};function me(s){return String.fromCharCode.apply(null,s)}function sn(s,n){var e=s[n]<<8|s[n+1];return e<0?65536+e:e}function K(s,n){var e=ln(s,n);return e<0?4294967296+e:e}function on(s,n){var e=K(s,n);return e*=Math.pow(2,32),e+=K(s,n+4)}function ln(s,n){return s[n]<<24|s[n+1]<<16|s[n+2]<<8|s[n+3]}function Yr(s,n,e){s[n]=e>>24,s[n+1]=e>>16&255,s[n+2]=e>>8&255,s[n+3]=255&e}function q(s,n){var e=[];if(!n.length)return e;for(var t=s.byteLength,r=0;r<t;){var i=K(s,r),a=i>1?r+i:t;if(me(s.subarray(r+4,r+8))===n[0])if(n.length===1)e.push(s.subarray(r+8,a));else{var o=q(s.subarray(r+8,a),n.slice(1));o.length&&Ds.apply(e,o)}r=a}return e}function ws(s){var n=[],e=s[0],t=8,r=K(s,t);t+=4;var i=0,a=0;e===0?(i=K(s,t),a=K(s,t+4),t+=8):(i=on(s,t),a=on(s,t+8),t+=16),t+=2;var o=s.length+a,l=sn(s,t);t+=2;for(var h=0;h<l;h++){var u=t,d=K(s,u);u+=4;var c=2147483647&d;if((2147483648&d)>>>31==1)return b.warn("SIDX has hierarchical references (not supported)"),null;var f=K(s,u);u+=4,n.push({referenceSize:c,subsegmentDuration:f,info:{duration:f/r,start:o,end:o+c-1}}),o+=c,t=u+=4}return{earliestPresentationTime:i,timescale:r,version:e,referencesCount:l,references:n}}function un(s){for(var n=[],e=q(s,["moov","trak"]),t=0;t<e.length;t++){var r=e[t],i=q(r,["tkhd"])[0];if(i){var a=i[0],o=K(i,a===0?12:20),l=q(r,["mdia","mdhd"])[0];if(l){var h=K(l,(a=l[0])===0?12:20),u=q(r,["mdia","hdlr"])[0];if(u){var d=me(u.subarray(8,12)),c={soun:we,vide:Pe}[d];if(c){var f=Is(q(r,["mdia","minf","stbl","stsd"])[0]);n[o]={timescale:h,type:c},n[c]=ye({timescale:h,id:o},f)}}}}}return q(s,["moov","mvex","trex"]).forEach(function(g){var m=K(g,4),E=n[m];E&&(E.default={duration:K(g,12),flags:K(g,20)})}),n}function Is(s){var n=s.subarray(8),e=n.subarray(86),t=me(n.subarray(4,8)),r=t,i=t==="enca"||t==="encv";if(i){var a=q(n,[t])[0];q(a.subarray(t==="enca"?28:78),["sinf"]).forEach(function(Y){var z=q(Y,["schm"])[0];if(z){var j=me(z.subarray(4,8));if(j==="cbcs"||j==="cenc"){var re=q(Y,["frma"])[0];re&&(r=me(re))}}})}switch(r){case"avc1":case"avc2":case"avc3":case"avc4":var o=q(e,["avcC"])[0];r+="."+rr(o[1])+rr(o[2])+rr(o[3]);break;case"mp4a":var l=q(n,[t])[0],h=q(l.subarray(28),["esds"])[0];if(h&&h.length>12){var u=4;if(h[u++]!==3)break;u=Wr(h,u),u+=2;var d=h[u++];if(128&d&&(u+=2),64&d&&(u+=h[u++]),h[u++]!==4)break;u=Wr(h,u);var c=h[u++];if(c!==64||(r+="."+rr(c),u+=12,h[u++]!==5))break;u=Wr(h,u);var f=h[u++],g=(248&f)>>3;g===31&&(g+=1+((7&f)<<3)+((224&h[u])>>5)),r+="."+g}break;case"hvc1":case"hev1":var m=q(e,["hvcC"])[0],E=m[1],v=["","A","B","C"][E>>6],y=31&E,T=K(m,2),S=(32&E)>>5?"H":"L",A=m[12],R=m.subarray(6,12);r+="."+v+y,r+="."+T.toString(16).toUpperCase(),r+="."+S+A;for(var L="",D=R.length;D--;){var k=R[D];(k||L)&&(L="."+k.toString(16).toUpperCase()+L)}r+=L;break;case"dvh1":case"dvhe":var I=q(e,["dvcC"])[0],C=I[2]>>1&127,_=I[2]<<5&32|I[3]>>3&31;r+="."+He(C)+"."+He(_);break;case"vp09":var x=q(e,["vpcC"])[0],M=x[4],F=x[5],U=x[6]>>4&15;r+="."+He(M)+"."+He(F)+"."+He(U);break;case"av01":var P=q(e,["av1C"])[0],N=P[1]>>>5,H=31&P[1],B=P[2]>>>7?"H":"M",V=(64&P[2])>>6,Q=(32&P[2])>>5,oe=N===2&&V?Q?12:10:V?10:8,ee=(16&P[2])>>4,ce=(8&P[2])>>3,ae=(4&P[2])>>2,te=3&P[2];r+="."+N+"."+He(H)+B+"."+He(oe)+"."+ee+"."+ce+ae+te+"."+He(1)+"."+He(1)+"."+He(1)+".0"}return{codec:r,encrypted:i}}function Wr(s,n){for(var e=n+5;128&s[n++]&&n<e;);return n}function rr(s){return("0"+s.toString(16).toUpperCase()).slice(-2)}function He(s){return(s<10?"0":"")+s}function hn(s){var n=q(s,["schm"])[0];if(n){var e=me(n.subarray(4,8));if(e==="cbcs"||e==="cenc")return q(s,["schi","tenc"])[0]}return b.error("[eme] missing 'schm' box"),null}function Cs(s){var n=K(s,0),e=8;1&n&&(e+=4),4&n&&(e+=4);for(var t=0,r=K(s,4),i=0;i<r;i++)256&n&&(t+=K(s,e),e+=4),512&n&&(e+=4),1024&n&&(e+=4),2048&n&&(e+=4);return t}function Fe(s,n){var e=new Uint8Array(s.length+n.length);return e.set(s),e.set(n,s.length),e}function dn(s,n){var e=[],t=n.samples,r=n.timescale,i=n.id,a=!1;return q(t,["moof"]).map(function(o){var l=o.byteOffset-8;q(o,["traf"]).map(function(h){var u=q(h,["tfdt"]).map(function(d){var c=d[0],f=K(d,4);return c===1&&(f*=Math.pow(2,32),f+=K(d,8)),f/r})[0];return u!==void 0&&(s=u),q(h,["tfhd"]).map(function(d){var c=K(d,4),f=16777215&K(d,0),g=0,m=(16&f)!=0,E=0,v=(32&f)!=0,y=8;c===i&&(1&f&&(y+=8),2&f&&(y+=4),8&f&&(g=K(d,y),y+=4),m&&(E=K(d,y),y+=4),v&&(y+=4),n.type==="video"&&(a=function(T){if(!T)return!1;var S=T.indexOf("."),A=S<0?T:T.substring(0,S);return A==="hvc1"||A==="hev1"||A==="dvh1"||A==="dvhe"}(n.codec)),q(h,["trun"]).map(function(T){var S=T[0],A=16777215&K(T,0),R=(1&A)!=0,L=0,D=(4&A)!=0,k=(256&A)!=0,I=0,C=(512&A)!=0,_=0,x=(1024&A)!=0,M=(2048&A)!=0,F=0,U=K(T,4),P=8;R&&(L=K(T,P),P+=4),D&&(P+=4);for(var N=L+l,H=0;H<U;H++){if(k?(I=K(T,P),P+=4):I=g,C?(_=K(T,P),P+=4):_=E,x&&(P+=4),M&&(F=S===0?K(T,P):ln(T,P),P+=4),n.type===Pe)for(var B=0;B<_;){var V=K(t,N);_s(a,t[N+=4])&&cn(t.subarray(N,N+V),a?2:1,s+F/r,e),N+=V,B+=V+4}s+=I/r}}))})})}),e}function _s(s,n){if(s){var e=n>>1&63;return e===39||e===40}return(31&n)==6}function cn(s,n,e,t){var r=fn(s),i=0;i+=n;for(var a=0,o=0,l=0;i<r.length;){a=0;do{if(i>=r.length)break;a+=l=r[i++]}while(l===255);o=0;do{if(i>=r.length)break;o+=l=r[i++]}while(l===255);var h=r.length-i,u=i;if(o<h)i+=o;else if(o>h){b.error("Malformed SEI payload. "+o+" is too small, only "+h+" bytes left to parse.");break}if(a===4){if(r[u++]===181){var d=sn(r,u);if(u+=2,d===49){var c=K(r,u);if(u+=4,c===1195456820){var f=r[u++];if(f===3){var g=r[u++],m=64&g,E=m?2+3*(31&g):0,v=new Uint8Array(E);if(m){v[0]=g;for(var y=1;y<E;y++)v[y]=r[u++]}t.push({type:f,payloadType:a,pts:e,bytes:v})}}}}}else if(a===5&&o>16){for(var T=[],S=0;S<16;S++){var A=r[u++].toString(16);T.push(A.length==1?"0"+A:A),S!==3&&S!==5&&S!==7&&S!==9||T.push("-")}for(var R=o-16,L=new Uint8Array(R),D=0;D<R;D++)L[D]=r[u++];t.push({payloadType:a,pts:e,uuid:T.join(""),userData:Ge(L),userDataBytes:L})}}}function fn(s){for(var n=s.byteLength,e=[],t=1;t<n-2;)s[t]===0&&s[t+1]===0&&s[t+2]===3?(e.push(t+2),t+=2):t++;if(e.length===0)return s;var r=n-e.length,i=new Uint8Array(r),a=0;for(t=0;t<r;a++,t++)a===e[0]&&(a++,e.shift()),i[t]=s[a];return i}function xs(s,n,e){if(s.byteLength!==16)throw new RangeError("Invalid system id");var t,r,i;if(n){t=1,r=new Uint8Array(16*n.length);for(var a=0;a<n.length;a++){var o=n[a];if(o.byteLength!==16)throw new RangeError("Invalid key");r.set(o,16*a)}}else t=0,r=new Uint8Array;t>0?(i=new Uint8Array(4),n.length>0&&new DataView(i.buffer).setUint32(0,n.length,!1)):i=new Uint8Array;var l=new Uint8Array(4);return e&&e.byteLength>0&&new DataView(l.buffer).setUint32(0,e.byteLength,!1),function(h){for(var u=arguments.length,d=new Array(u>1?u-1:0),c=1;c<u;c++)d[c-1]=arguments[c];for(var f=d.length,g=8,m=f;m--;)g+=d[m].byteLength;var E=new Uint8Array(g);for(E[0]=g>>24&255,E[1]=g>>16&255,E[2]=g>>8&255,E[3]=255&g,E.set(h,4),m=0,g=8;m<f;m++)E.set(d[m],g),g+=d[m].byteLength;return E}([112,115,115,104],new Uint8Array([t,0,0,0]),s,i,r,l,e||new Uint8Array)}var ir={},jr=function(){function s(e,t,r,i,a){i===void 0&&(i=[1]),a===void 0&&(a=null),this.uri=void 0,this.method=void 0,this.keyFormat=void 0,this.keyFormatVersions=void 0,this.encrypted=void 0,this.isCommonEncryption=void 0,this.iv=null,this.key=null,this.keyId=null,this.pssh=null,this.method=e,this.uri=t,this.keyFormat=r,this.keyFormatVersions=i,this.iv=a,this.encrypted=!!e&&e!=="NONE",this.isCommonEncryption=this.encrypted&&e!=="AES-128"}s.clearKeyUriToKeyIdMap=function(){ir={}};var n=s.prototype;return n.isSupported=function(){if(this.method){if(this.method==="AES-128"||this.method==="NONE")return!0;if(this.keyFormat==="identity")return this.method==="SAMPLE-AES";switch(this.keyFormat){case Br:case Zt:case $t:case Ur:return["ISO-23001-7","SAMPLE-AES","SAMPLE-AES-CENC","SAMPLE-AES-CTR"].indexOf(this.method)!==-1}}return!1},n.getDecryptData=function(e){if(!this.encrypted||!this.uri)return null;if(this.method==="AES-128"&&this.uri&&!this.iv){typeof e!="number"&&(this.method!=="AES-128"||this.iv||b.warn('missing IV for initialization segment with method="'+this.method+'" - compliance issue'),e=0);var t=function(E){for(var v=new Uint8Array(16),y=12;y<16;y++)v[y]=E>>8*(15-y)&255;return v}(e);return new s(this.method,this.uri,"identity",this.keyFormatVersions,t)}var r=ys(this.uri);if(r)switch(this.keyFormat){case Zt:this.pssh=r,r.length>=22&&(this.keyId=r.subarray(r.length-22,r.length-6));break;case $t:var i=new Uint8Array([154,4,240,121,152,64,66,134,171,146,230,91,224,136,95,149]);this.pssh=xs(i,null,r);var a=new Uint16Array(r.buffer,r.byteOffset,r.byteLength/2),o=String.fromCharCode.apply(null,Array.from(a)),l=o.substring(o.indexOf("<"),o.length),h=new DOMParser().parseFromString(l,"text/xml").getElementsByTagName("KID")[0];if(h){var u=h.childNodes[0]?h.childNodes[0].nodeValue:h.getAttribute("VALUE");if(u){var d=Or(u).subarray(0,16);(function(E){var v=function(y,T,S){var A=y[T];y[T]=y[S],y[S]=A};v(E,0,3),v(E,1,2),v(E,4,5),v(E,6,7)})(d),this.keyId=d}}break;default:var c=r.subarray(0,16);if(c.length!==16){var f=new Uint8Array(16);f.set(c,16-c.length),c=f}this.keyId=c}if(!this.keyId||this.keyId.byteLength!==16){var g=ir[this.uri];if(!g){var m=Object.keys(ir).length%Number.MAX_SAFE_INTEGER;g=new Uint8Array(16),new DataView(g.buffer,12,4).setUint32(0,m),ir[this.uri]=g}this.keyId=g}return this},s}(),gn=/\{\$([a-zA-Z0-9-_]+)\}/g;function vn(s){return gn.test(s)}function Ie(s,n,e){if(s.variableList!==null||s.hasVariableRefs)for(var t=e.length;t--;){var r=e[t],i=n[r];i&&(n[r]=qr(s,i))}}function qr(s,n){if(s.variableList!==null||s.hasVariableRefs){var e=s.variableList;return n.replace(gn,function(t){var r=t.substring(2,t.length-1),i=e==null?void 0:e[r];return i===void 0?(s.playlistParsingError||(s.playlistParsingError=new Error('Missing preceding EXT-X-DEFINE tag for Variable Reference: "'+r+'"')),t):i})}return n}function mn(s,n,e){var t,r,i=s.variableList;if(i||(s.variableList=i={}),"QUERYPARAM"in n){t=n.QUERYPARAM;try{var a=new self.URL(e).searchParams;if(!a.has(t))throw new Error('"'+t+'" does not match any query parameter in URI: "'+e+'"');r=a.get(t)}catch(o){s.playlistParsingError||(s.playlistParsingError=new Error("EXT-X-DEFINE QUERYPARAM: "+o.message))}}else t=n.NAME,r=n.VALUE;t in i?s.playlistParsingError||(s.playlistParsingError=new Error('EXT-X-DEFINE duplicate Variable Name declarations: "'+t+'"')):i[t]=r||""}function Ps(s,n,e){var t=n.IMPORT;if(e&&t in e){var r=s.variableList;r||(s.variableList=r={}),r[t]=e[t]}else s.playlistParsingError||(s.playlistParsingError=new Error('EXT-X-DEFINE IMPORT attribute not found in Multivariant Playlist: "'+t+'"'))}function vt(s){if(s===void 0&&(s=!0),typeof self<"u")return(s||!self.MediaSource)&&self.ManagedMediaSource||self.MediaSource||self.WebKitMediaSource}var nr={audio:{a3ds:1,"ac-3":.95,"ac-4":1,alac:.9,alaw:1,dra1:1,"dts+":1,"dts-":1,dtsc:1,dtse:1,dtsh:1,"ec-3":.9,enca:1,fLaC:.9,flac:.9,FLAC:.9,g719:1,g726:1,m4ae:1,mha1:1,mha2:1,mhm1:1,mhm2:1,mlpa:1,mp4a:1,"raw ":1,Opus:1,opus:1,samr:1,sawb:1,sawp:1,sevc:1,sqcp:1,ssmv:1,twos:1,ulaw:1},video:{avc1:1,avc2:1,avc3:1,avc4:1,avcp:1,av01:.8,drac:1,dva1:1,dvav:1,dvh1:.7,dvhe:.7,encv:1,hev1:.75,hvc1:.75,mjp2:1,mp4v:1,mvc1:1,mvc2:1,mvc3:1,mvc4:1,resv:1,rv60:1,s263:1,svc1:1,svc2:1,"vc-1":1,vp08:1,vp09:.9},text:{stpp:1,wvtt:1}};function Xr(s,n,e){return e===void 0&&(e=!0),!s.split(",").some(function(t){return!pn(t,n,e)})}function pn(s,n,e){var t;e===void 0&&(e=!0);var r=vt(e);return(t=r==null?void 0:r.isTypeSupported(Bt(s,n)))!=null&&t}function Bt(s,n){return n+'/mp4;codecs="'+s+'"'}function yn(s){if(s){var n=s.substring(0,4);return nr.video[n]}return 2}function ar(s){return s.split(",").reduce(function(n,e){var t=nr.video[e];return t?(2*t+n)/(n?3:2):(nr.audio[e]+n)/(n?2:1)},0)}var zr={},Fs=/flac|opus/i;function sr(s,n){return n===void 0&&(n=!0),s.replace(Fs,function(e){return function(t,r){if(r===void 0&&(r=!0),zr[t])return zr[t];for(var i={flac:["flac","fLaC","FLAC"],opus:["opus","Opus"]}[t],a=0;a<i.length;a++)if(pn(i[a],"audio",r))return zr[t]=i[a],i[a];return t}(e.toLowerCase(),n)})}function En(s,n){return s&&s!=="mp4a"?s:n}var Tn=/#EXT-X-STREAM-INF:([^\r\n]*)(?:[\r\n](?:#[^\r\n]*)?)*([^\r\n]+)|#EXT-X-(SESSION-DATA|SESSION-KEY|DEFINE|CONTENT-STEERING|START):([^\r\n]*)[\r\n]+/g,Sn=/#EXT-X-MEDIA:(.*)/g,Ms=/^#EXT(?:INF|-X-TARGETDURATION):/m,Ln=new RegExp([/#EXTINF:\s*(\d*(?:\.\d+)?)(?:,(.*)\s+)?/.source,/(?!#) *(\S[\S ]*)/.source,/#EXT-X-BYTERANGE:*(.+)/.source,/#EXT-X-PROGRAM-DATE-TIME:(.+)/.source,/#.*/.source].join("|"),"g"),Os=new RegExp([/#(EXTM3U)/.source,/#EXT-X-(DATERANGE|DEFINE|KEY|MAP|PART|PART-INF|PLAYLIST-TYPE|PRELOAD-HINT|RENDITION-REPORT|SERVER-CONTROL|SKIP|START):(.+)/.source,/#EXT-X-(BITRATE|DISCONTINUITY-SEQUENCE|MEDIA-SEQUENCE|TARGETDURATION|VERSION): *(\d+)/.source,/#EXT-X-(DISCONTINUITY|ENDLIST|GAP|INDEPENDENT-SEGMENTS)/.source,/(#)([^:]*):(.*)/.source,/(#)(.*)(?:.*)\r?\n?/.source].join("|")),Gt=function(){function s(){}return s.findGroup=function(n,e){for(var t=0;t<n.length;t++){var r=n[t];if(r.id===e)return r}},s.resolve=function(n,e){return xr.buildAbsoluteURL(e,n,{alwaysNormalize:!0})},s.isMediaPlaylist=function(n){return Ms.test(n)},s.parseMasterPlaylist=function(n,e){var t,r={contentSteering:null,levels:[],playlistParsingError:null,sessionData:null,sessionKeys:null,startTimeOffset:null,variableList:null,hasVariableRefs:vn(n)},i=[];for(Tn.lastIndex=0;(t=Tn.exec(n))!=null;)if(t[1]){var a,o=new de(t[1]);Ie(r,o,["CODECS","SUPPLEMENTAL-CODECS","ALLOWED-CPC","PATHWAY-ID","STABLE-VARIANT-ID","AUDIO","VIDEO","SUBTITLES","CLOSED-CAPTIONS","NAME"]);var l=qr(r,t[2]),h={attrs:o,bitrate:o.decimalInteger("BANDWIDTH")||o.decimalInteger("AVERAGE-BANDWIDTH"),name:o.NAME,url:s.resolve(l,e)},u=o.decimalResolution("RESOLUTION");u&&(h.width=u.width,h.height=u.height),Ns(o.CODECS,h),(a=h.unknownCodecs)!=null&&a.length||i.push(h),r.levels.push(h)}else if(t[3]){var d=t[3],c=t[4];switch(d){case"SESSION-DATA":var f=new de(c);Ie(r,f,["DATA-ID","LANGUAGE","VALUE","URI"]);var g=f["DATA-ID"];g&&(r.sessionData===null&&(r.sessionData={}),r.sessionData[g]=f);break;case"SESSION-KEY":var m=An(c,e,r);m.encrypted&&m.isSupported()?(r.sessionKeys===null&&(r.sessionKeys=[]),r.sessionKeys.push(m)):b.warn('[Keys] Ignoring invalid EXT-X-SESSION-KEY tag: "'+c+'"');break;case"DEFINE":var E=new de(c);Ie(r,E,["NAME","VALUE","QUERYPARAM"]),mn(r,E,e);break;case"CONTENT-STEERING":var v=new de(c);Ie(r,v,["SERVER-URI","PATHWAY-ID"]),r.contentSteering={uri:s.resolve(v["SERVER-URI"],e),pathwayId:v["PATHWAY-ID"]||"."};break;case"START":r.startTimeOffset=Rn(c)}}var y=i.length>0&&i.length<r.levels.length;return r.levels=y?i:r.levels,r.levels.length===0&&(r.playlistParsingError=new Error("no levels found in manifest")),r},s.parseMasterPlaylistMedia=function(n,e,t){var r,i={},a=t.levels,o={AUDIO:a.map(function(S){return{id:S.attrs.AUDIO,audioCodec:S.audioCodec}}),SUBTITLES:a.map(function(S){return{id:S.attrs.SUBTITLES,textCodec:S.textCodec}}),"CLOSED-CAPTIONS":[]},l=0;for(Sn.lastIndex=0;(r=Sn.exec(n))!==null;){var h=new de(r[1]),u=h.TYPE;if(u){var d=o[u],c=i[u]||[];i[u]=c,Ie(t,h,["URI","GROUP-ID","LANGUAGE","ASSOC-LANGUAGE","STABLE-RENDITION-ID","NAME","INSTREAM-ID","CHARACTERISTICS","CHANNELS"]);var f=h.LANGUAGE,g=h["ASSOC-LANGUAGE"],m=h.CHANNELS,E=h.CHARACTERISTICS,v=h["INSTREAM-ID"],y={attrs:h,bitrate:0,id:l++,groupId:h["GROUP-ID"]||"",name:h.NAME||f||"",type:u,default:h.bool("DEFAULT"),autoselect:h.bool("AUTOSELECT"),forced:h.bool("FORCED"),lang:f,url:h.URI?s.resolve(h.URI,e):""};if(g&&(y.assocLang=g),m&&(y.channels=m),E&&(y.characteristics=E),v&&(y.instreamId=v),d!=null&&d.length){var T=s.findGroup(d,y.groupId)||d[0];bn(y,T,"audioCodec"),bn(y,T,"textCodec")}c.push(y)}}return i},s.parseLevelPlaylist=function(n,e,t,r,i,a){var o,l,h,u=new ps(e),d=u.fragments,c=null,f=0,g=0,m=0,E=0,v=null,y=new Mr(r,e),T=-1,S=!1,A=null;for(Ln.lastIndex=0,u.m3u8=n,u.hasVariableRefs=vn(n);(o=Ln.exec(n))!==null;){S&&(S=!1,(y=new Mr(r,e)).start=m,y.sn=f,y.cc=E,y.level=t,c&&(y.initSegment=c,y.rawProgramDateTime=c.rawProgramDateTime,c.rawProgramDateTime=null,A&&(y.setByteRange(A),A=null)));var R=o[1];if(R){y.duration=parseFloat(R);var L=(" "+o[2]).slice(1);y.title=L||null,y.tagList.push(L?["INF",R,L]:["INF",R])}else if(o[3]){if(O(y.duration)){y.start=m,h&&wn(y,h,u),y.sn=f,y.level=t,y.cc=E,d.push(y);var D=(" "+o[3]).slice(1);y.relurl=qr(u,D),kn(y,v),v=y,m+=y.duration,f++,g=0,S=!0}}else if(o[4]){var k=(" "+o[4]).slice(1);v?y.setByteRange(k,v):y.setByteRange(k)}else if(o[5])y.rawProgramDateTime=(" "+o[5]).slice(1),y.tagList.push(["PROGRAM-DATE-TIME",y.rawProgramDateTime]),T===-1&&(T=d.length);else{if(!(o=o[0].match(Os))){b.warn("No matches on slow regex match for level playlist!");continue}for(l=1;l<o.length&&o[l]===void 0;l++);var I=(" "+o[l]).slice(1),C=(" "+o[l+1]).slice(1),_=o[l+2]?(" "+o[l+2]).slice(1):"";switch(I){case"PLAYLIST-TYPE":u.type=C.toUpperCase();break;case"MEDIA-SEQUENCE":f=u.startSN=parseInt(C);break;case"SKIP":var x=new de(C);Ie(u,x,["RECENTLY-REMOVED-DATERANGES"]);var M=x.decimalInteger("SKIPPED-SEGMENTS");if(O(M)){u.skippedSegments=M;for(var F=M;F--;)d.unshift(null);f+=M}var U=x.enumeratedString("RECENTLY-REMOVED-DATERANGES");U&&(u.recentlyRemovedDateranges=U.split("	"));break;case"TARGETDURATION":u.targetduration=Math.max(parseInt(C),1);break;case"VERSION":u.version=parseInt(C);break;case"INDEPENDENT-SEGMENTS":case"EXTM3U":break;case"ENDLIST":u.live=!1;break;case"#":(C||_)&&y.tagList.push(_?[C,_]:[C]);break;case"DISCONTINUITY":E++,y.tagList.push(["DIS"]);break;case"GAP":y.gap=!0,y.tagList.push([I]);break;case"BITRATE":y.tagList.push([I,C]);break;case"DATERANGE":var P=new de(C);Ie(u,P,["ID","CLASS","START-DATE","END-DATE","SCTE35-CMD","SCTE35-OUT","SCTE35-IN"]),Ie(u,P,P.clientAttrs);var N=new Xi(P,u.dateRanges[P.ID]);N.isValid||u.skippedSegments?u.dateRanges[N.id]=N:b.warn('Ignoring invalid DATERANGE tag: "'+C+'"'),y.tagList.push(["EXT-X-DATERANGE",C]);break;case"DEFINE":var H=new de(C);Ie(u,H,["NAME","VALUE","IMPORT","QUERYPARAM"]),"IMPORT"in H?Ps(u,H,a):mn(u,H,e);break;case"DISCONTINUITY-SEQUENCE":E=parseInt(C);break;case"KEY":var B=An(C,e,u);if(B.isSupported()){if(B.method==="NONE"){h=void 0;break}h||(h={}),h[B.keyFormat]&&(h=ge({},h)),h[B.keyFormat]=B}else b.warn('[Keys] Ignoring invalid EXT-X-KEY tag: "'+C+'"');break;case"START":u.startTimeOffset=Rn(C);break;case"MAP":var V=new de(C);if(Ie(u,V,["BYTERANGE","URI"]),y.duration){var Q=new Mr(r,e);Dn(Q,V,t,h),c=Q,y.initSegment=c,c.rawProgramDateTime&&!y.rawProgramDateTime&&(y.rawProgramDateTime=c.rawProgramDateTime)}else{var oe=y.byteRangeEndOffset;if(oe){var ee=y.byteRangeStartOffset;A=oe-ee+"@"+ee}else A=null;Dn(y,V,t,h),c=y,S=!0}break;case"SERVER-CONTROL":var ce=new de(C);u.canBlockReload=ce.bool("CAN-BLOCK-RELOAD"),u.canSkipUntil=ce.optionalFloat("CAN-SKIP-UNTIL",0),u.canSkipDateRanges=u.canSkipUntil>0&&ce.bool("CAN-SKIP-DATERANGES"),u.partHoldBack=ce.optionalFloat("PART-HOLD-BACK",0),u.holdBack=ce.optionalFloat("HOLD-BACK",0);break;case"PART-INF":var ae=new de(C);u.partTarget=ae.decimalFloatingPoint("PART-TARGET");break;case"PART":var te=u.partList;te||(te=u.partList=[]);var Y=g>0?te[te.length-1]:void 0,z=g++,j=new de(C);Ie(u,j,["BYTERANGE","URI"]);var re=new ms(j,y,e,z,Y);te.push(re),y.duration+=re.duration;break;case"PRELOAD-HINT":var W=new de(C);Ie(u,W,["URI"]),u.preloadHint=W;break;case"RENDITION-REPORT":var ne=new de(C);Ie(u,ne,["URI"]),u.renditionReports=u.renditionReports||[],u.renditionReports.push(ne);break;default:b.warn("line parsed but not handled: "+o)}}}v&&!v.relurl?(d.pop(),m-=v.duration,u.partList&&(u.fragmentHint=v)):u.partList&&(kn(y,v),y.cc=E,u.fragmentHint=y,h&&wn(y,h,u));var J=d.length,De=d[0],be=d[J-1];if((m+=u.skippedSegments*u.targetduration)>0&&J&&be){u.averagetargetduration=m/J;var $=be.sn;u.endSN=$!=="initSegment"?$:0,u.live||(be.endList=!0),De&&(u.startCC=De.cc)}else u.endSN=0,u.startCC=0;return u.fragmentHint&&(m+=u.fragmentHint.duration),u.totalduration=m,u.endCC=E,T>0&&function(he,ve){for(var ke=he[ve],_e=ve;_e--;){var Ee=he[_e];if(!Ee)return;Ee.programDateTime=ke.programDateTime-1e3*Ee.duration,ke=Ee}}(d,T),u},s}();function An(s,n,e){var t,r,i=new de(s);Ie(e,i,["KEYFORMAT","KEYFORMATVERSIONS","URI","IV","URI"]);var a=(t=i.METHOD)!=null?t:"",o=i.URI,l=i.hexadecimalInteger("IV"),h=i.KEYFORMATVERSIONS,u=(r=i.KEYFORMAT)!=null?r:"identity";o&&i.IV&&!l&&b.error("Invalid IV: "+i.IV);var d=o?Gt.resolve(o,n):"",c=(h||"1").split("/").map(Number).filter(Number.isFinite);return new jr(a,d,u,c,l)}function Rn(s){var n=new de(s).decimalFloatingPoint("TIME-OFFSET");return O(n)?n:null}function Ns(s,n){var e=(s||"").split(/[ ,]+/).filter(function(t){return t});["video","audio","text"].forEach(function(t){var r=e.filter(function(i){return function(a,o){var l=nr[o];return!!l&&!!l[a.slice(0,4)]}(i,t)});r.length&&(n[t+"Codec"]=r.join(","),e=e.filter(function(i){return r.indexOf(i)===-1}))}),n.unknownCodecs=e}function bn(s,n,e){var t=n[e];t&&(s[e]=t)}function kn(s,n){s.rawProgramDateTime?s.programDateTime=Date.parse(s.rawProgramDateTime):n!=null&&n.programDateTime&&(s.programDateTime=n.endProgramDateTime),O(s.programDateTime)||(s.programDateTime=null,s.rawProgramDateTime=null)}function Dn(s,n,e,t){s.relurl=n.URI,n.BYTERANGE&&s.setByteRange(n.BYTERANGE),s.level=e,s.sn="initSegment",t&&(s.levelkeys=t),s.initSegment=null}function wn(s,n,e){s.levelkeys=n;var t=e.encryptedFragments;t.length&&t[t.length-1].levelkeys===n||!Object.keys(n).some(function(r){return n[r].isCommonEncryption})||t.push(s)}var mt="manifest",ot="level",Be="audioTrack",Ve="subtitleTrack",Z="main",Me="audio",qe="subtitle";function In(s){switch(s.type){case Be:return Me;case Ve:return qe;default:return Z}}function Qr(s,n){var e=s.url;return e!==void 0&&e.indexOf("data:")!==0||(e=n.url),e}var Us=function(){function s(e){this.hls=void 0,this.loaders=Object.create(null),this.variableList=null,this.hls=e,this.registerListeners()}var n=s.prototype;return n.startLoad=function(e){},n.stopLoad=function(){this.destroyInternalLoaders()},n.registerListeners=function(){var e=this.hls;e.on(p.MANIFEST_LOADING,this.onManifestLoading,this),e.on(p.LEVEL_LOADING,this.onLevelLoading,this),e.on(p.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.on(p.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this)},n.unregisterListeners=function(){var e=this.hls;e.off(p.MANIFEST_LOADING,this.onManifestLoading,this),e.off(p.LEVEL_LOADING,this.onLevelLoading,this),e.off(p.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.off(p.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this)},n.createInternalLoader=function(e){var t=this.hls.config,r=t.pLoader,i=t.loader,a=new(r||i)(t);return this.loaders[e.type]=a,a},n.getInternalLoader=function(e){return this.loaders[e.type]},n.resetInternalLoader=function(e){this.loaders[e]&&delete this.loaders[e]},n.destroyInternalLoaders=function(){for(var e in this.loaders){var t=this.loaders[e];t&&t.destroy(),this.resetInternalLoader(e)}},n.destroy=function(){this.variableList=null,this.unregisterListeners(),this.destroyInternalLoaders()},n.onManifestLoading=function(e,t){var r=t.url;this.variableList=null,this.load({id:null,level:0,responseType:"text",type:mt,url:r,deliveryDirectives:null})},n.onLevelLoading=function(e,t){var r=t.id,i=t.level,a=t.pathwayId,o=t.url,l=t.deliveryDirectives;this.load({id:r,level:i,pathwayId:a,responseType:"text",type:ot,url:o,deliveryDirectives:l})},n.onAudioTrackLoading=function(e,t){var r=t.id,i=t.groupId,a=t.url,o=t.deliveryDirectives;this.load({id:r,groupId:i,level:null,responseType:"text",type:Be,url:a,deliveryDirectives:o})},n.onSubtitleTrackLoading=function(e,t){var r=t.id,i=t.groupId,a=t.url,o=t.deliveryDirectives;this.load({id:r,groupId:i,level:null,responseType:"text",type:Ve,url:a,deliveryDirectives:o})},n.load=function(e){var t,r,i,a=this,o=this.hls.config,l=this.getInternalLoader(e);if(l){var h=l.context;if(h&&h.url===e.url&&h.level===e.level)return void b.trace("[playlist-loader]: playlist request ongoing");b.log("[playlist-loader]: aborting previous loader for type: "+e.type),l.abort()}if(r=e.type===mt?o.manifestLoadPolicy.default:ge({},o.playlistLoadPolicy.default,{timeoutRetry:null,errorRetry:null}),l=this.createInternalLoader(e),O((t=e.deliveryDirectives)==null?void 0:t.part)&&(e.type===ot&&e.level!==null?i=this.hls.levels[e.level].details:e.type===Be&&e.id!==null?i=this.hls.audioTracks[e.id].details:e.type===Ve&&e.id!==null&&(i=this.hls.subtitleTracks[e.id].details),i)){var u=i.partTarget,d=i.targetduration;if(u&&d){var c=1e3*Math.max(3*u,.8*d);r=ge({},r,{maxTimeToFirstByteMs:Math.min(c,r.maxTimeToFirstByteMs),maxLoadTimeMs:Math.min(c,r.maxTimeToFirstByteMs)})}}var f=r.errorRetry||r.timeoutRetry||{},g={loadPolicy:r,timeout:r.maxLoadTimeMs,maxRetry:f.maxNumRetry||0,retryDelay:f.retryDelayMs||0,maxRetryDelay:f.maxRetryDelayMs||0},m={onSuccess:function(E,v,y,T){var S=a.getInternalLoader(y);a.resetInternalLoader(y.type);var A=E.data;A.indexOf("#EXTM3U")===0?(v.parsing.start=performance.now(),Gt.isMediaPlaylist(A)?a.handleTrackOrLevelPlaylist(E,v,y,T||null,S):a.handleMasterPlaylist(E,v,y,T)):a.handleManifestParsingError(E,y,new Error("no EXTM3U delimiter"),T||null,v)},onError:function(E,v,y,T){a.handleNetworkError(v,y,!1,E,T)},onTimeout:function(E,v,y){a.handleNetworkError(v,y,!0,void 0,E)}};l.load(e,g,m)},n.handleMasterPlaylist=function(e,t,r,i){var a=this.hls,o=e.data,l=Qr(e,r),h=Gt.parseMasterPlaylist(o,l);if(h.playlistParsingError)this.handleManifestParsingError(e,r,h.playlistParsingError,i,t);else{var u=h.contentSteering,d=h.levels,c=h.sessionData,f=h.sessionKeys,g=h.startTimeOffset,m=h.variableList;this.variableList=m;var E=Gt.parseMasterPlaylistMedia(o,l,h),v=E.AUDIO,y=v===void 0?[]:v,T=E.SUBTITLES,S=E["CLOSED-CAPTIONS"];y.length&&(y.some(function(A){return!A.url})||!d[0].audioCodec||d[0].attrs.AUDIO||(b.log("[playlist-loader]: audio codec signaled in quality level, but no embedded audio track signaled, create one"),y.unshift({type:"main",name:"main",groupId:"main",default:!1,autoselect:!1,forced:!1,id:-1,attrs:new de({}),bitrate:0,url:""}))),a.trigger(p.MANIFEST_LOADED,{levels:d,audioTracks:y,subtitles:T,captions:S,contentSteering:u,url:l,stats:t,networkDetails:i,sessionData:c,sessionKeys:f,startTimeOffset:g,variableList:m})}},n.handleTrackOrLevelPlaylist=function(e,t,r,i,a){var o=this.hls,l=r.id,h=r.level,u=r.type,d=Qr(e,r),c=O(h)?h:O(l)?l:0,f=In(r),g=Gt.parseLevelPlaylist(e.data,d,c,f,0,this.variableList);if(u===mt){var m={attrs:new de({}),bitrate:0,details:g,name:"",url:d};o.trigger(p.MANIFEST_LOADED,{levels:[m],audioTracks:[],url:d,stats:t,networkDetails:i,sessionData:null,sessionKeys:null,contentSteering:null,startTimeOffset:null,variableList:null})}t.parsing.end=performance.now(),r.levelDetails=g,this.handlePlaylistLoaded(g,e,t,r,i,a)},n.handleManifestParsingError=function(e,t,r,i,a){this.hls.trigger(p.ERROR,{type:G.NETWORK_ERROR,details:w.MANIFEST_PARSING_ERROR,fatal:t.type===mt,url:e.url,err:r,error:r,reason:r.message,response:e,context:t,networkDetails:i,stats:a})},n.handleNetworkError=function(e,t,r,i,a){r===void 0&&(r=!1);var o="A network "+(r?"timeout":"error"+(i?" (status "+i.code+")":""))+" occurred while loading "+e.type;e.type===ot?o+=": "+e.level+" id: "+e.id:e.type!==Be&&e.type!==Ve||(o+=" id: "+e.id+' group-id: "'+e.groupId+'"');var l=new Error(o);b.warn("[playlist-loader]: "+o);var h=w.UNKNOWN,u=!1,d=this.getInternalLoader(e);switch(e.type){case mt:h=r?w.MANIFEST_LOAD_TIMEOUT:w.MANIFEST_LOAD_ERROR,u=!0;break;case ot:h=r?w.LEVEL_LOAD_TIMEOUT:w.LEVEL_LOAD_ERROR,u=!1;break;case Be:h=r?w.AUDIO_TRACK_LOAD_TIMEOUT:w.AUDIO_TRACK_LOAD_ERROR,u=!1;break;case Ve:h=r?w.SUBTITLE_TRACK_LOAD_TIMEOUT:w.SUBTITLE_LOAD_ERROR,u=!1}d&&this.resetInternalLoader(e.type);var c={type:G.NETWORK_ERROR,details:h,fatal:u,url:e.url,loader:d,context:e,error:l,networkDetails:t,stats:a};if(i){var f=(t==null?void 0:t.url)||e.url;c.response=ye({url:f,data:void 0},i)}this.hls.trigger(p.ERROR,c)},n.handlePlaylistLoaded=function(e,t,r,i,a,o){var l=this.hls,h=i.type,u=i.level,d=i.id,c=i.groupId,f=i.deliveryDirectives,g=Qr(t,i),m=In(i),E=typeof i.level=="number"&&m===Z?u:void 0;if(e.fragments.length){e.targetduration||(e.playlistParsingError=new Error("Missing Target Duration"));var v=e.playlistParsingError;if(v)l.trigger(p.ERROR,{type:G.NETWORK_ERROR,details:w.LEVEL_PARSING_ERROR,fatal:!1,url:g,error:v,reason:v.message,response:t,context:i,level:E,parent:m,networkDetails:a,stats:r});else switch(e.live&&o&&(o.getCacheAge&&(e.ageHeader=o.getCacheAge()||0),o.getCacheAge&&!isNaN(e.ageHeader)||(e.ageHeader=0)),h){case mt:case ot:l.trigger(p.LEVEL_LOADED,{details:e,level:E||0,id:d||0,stats:r,networkDetails:a,deliveryDirectives:f});break;case Be:l.trigger(p.AUDIO_TRACK_LOADED,{details:e,id:d||0,groupId:c||"",stats:r,networkDetails:a,deliveryDirectives:f});break;case Ve:l.trigger(p.SUBTITLE_TRACK_LOADED,{details:e,id:d||0,groupId:c||"",stats:r,networkDetails:a,deliveryDirectives:f})}}else{var y=new Error("No Segments found in Playlist");l.trigger(p.ERROR,{type:G.NETWORK_ERROR,details:w.LEVEL_EMPTY_ERROR,fatal:!1,url:g,error:y,reason:y.message,response:t,context:i,level:E,parent:m,networkDetails:a,stats:r})}},s}();function Cn(s,n){var e;try{e=new Event("addtrack")}catch{(e=document.createEvent("Event")).initEvent("addtrack",!1,!1)}e.track=s,n.dispatchEvent(e)}function _n(s,n){var e=s.mode;if(e==="disabled"&&(s.mode="hidden"),s.cues&&!s.cues.getCueById(n.id))try{if(s.addCue(n),!s.cues.getCueById(n.id))throw new Error("addCue is failed for: "+n)}catch(r){b.debug("[texttrack-utils]: "+r);try{var t=new self.TextTrackCue(n.startTime,n.endTime,n.text);t.id=n.id,s.addCue(t)}catch(i){b.debug("[texttrack-utils]: Legacy TextTrackCue fallback failed: "+i)}}e==="disabled"&&(s.mode=e)}function pt(s){var n=s.mode;if(n==="disabled"&&(s.mode="hidden"),s.cues)for(var e=s.cues.length;e--;)s.removeCue(s.cues[e]);n==="disabled"&&(s.mode=n)}function Jr(s,n,e,t){var r=s.mode;if(r==="disabled"&&(s.mode="hidden"),s.cues&&s.cues.length>0)for(var i=function(o,l,h){var u=[],d=function(m,E){if(E<m[0].startTime)return 0;var v=m.length-1;if(E>m[v].endTime)return-1;for(var y=0,T=v;y<=T;){var S=Math.floor((T+y)/2);if(E<m[S].startTime)T=S-1;else{if(!(E>m[S].startTime&&y<v))return S;y=S+1}}return m[y].startTime-E<E-m[T].startTime?y:T}(o,l);if(d>-1)for(var c=d,f=o.length;c<f;c++){var g=o[c];if(g.startTime>=l&&g.endTime<=h)u.push(g);else if(g.startTime>h)return u}return u}(s.cues,n,e),a=0;a<i.length;a++)t&&!t(i[a])||s.removeCue(i[a]);r==="disabled"&&(s.mode=r)}function or(s){for(var n=[],e=0;e<s.length;e++){var t=s[e];t.kind!=="subtitles"&&t.kind!=="captions"||!t.label||n.push(s[e])}return n}var Kt="org.id3",Bs="com.apple.quicktime.HLS",Ht="https://aomedia.org/emsg/ID3";function $r(){if(typeof self<"u")return self.VTTCue||self.TextTrackCue}function xn(s,n,e,t,r){var i=new s(n,e,"");try{i.value=t,r&&(i.type=r)}catch{i=new s(n,e,JSON.stringify(r?ye({type:r},t):t))}return i}var lr=function(){var s=$r();try{s&&new s(0,Number.POSITIVE_INFINITY,"")}catch{return Number.MAX_VALUE}return Number.POSITIVE_INFINITY}();function Zr(s,n){return s.getTime()/1e3-n}var Gs=function(){function s(e){this.hls=void 0,this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.hls=e,this._registerListeners()}var n=s.prototype;return n.destroy=function(){this._unregisterListeners(),this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.hls=null},n._registerListeners=function(){var e=this.hls;e.on(p.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(p.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(p.MANIFEST_LOADING,this.onManifestLoading,this),e.on(p.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.on(p.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(p.LEVEL_UPDATED,this.onLevelUpdated,this)},n._unregisterListeners=function(){var e=this.hls;e.off(p.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(p.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(p.MANIFEST_LOADING,this.onManifestLoading,this),e.off(p.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.off(p.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(p.LEVEL_UPDATED,this.onLevelUpdated,this)},n.onMediaAttached=function(e,t){this.media=t.media},n.onMediaDetaching=function(){this.id3Track&&(pt(this.id3Track),this.id3Track=null,this.media=null,this.dateRangeCuesAppended={})},n.onManifestLoading=function(){this.dateRangeCuesAppended={}},n.createTrack=function(e){var t=this.getID3Track(e.textTracks);return t.mode="hidden",t},n.getID3Track=function(e){if(this.media){for(var t=0;t<e.length;t++){var r=e[t];if(r.kind==="metadata"&&r.label==="id3")return Cn(r,this.media),r}return this.media.addTextTrack("metadata","id3")}},n.onFragParsingMetadata=function(e,t){if(this.media){var r=this.hls.config,i=r.enableEmsgMetadataCues,a=r.enableID3MetadataCues;if(i||a){var o=t.samples;this.id3Track||(this.id3Track=this.createTrack(this.media));var l=$r();if(l)for(var h=0;h<o.length;h++){var u=o[h].type;if((u!==Ht||i)&&a){var d=nn(o[h].data);if(d){var c=o[h].pts,f=c+o[h].duration;f>lr&&(f=lr),f-c<=0&&(f=c+.25);for(var g=0;g<d.length;g++){var m=d[g];if(!rn(m)){this.updateId3CueEnds(c,u);var E=xn(l,c,f,m,u);E&&this.id3Track.addCue(E)}}}}}}}},n.updateId3CueEnds=function(e,t){var r,i=(r=this.id3Track)==null?void 0:r.cues;if(i)for(var a=i.length;a--;){var o=i[a];o.type===t&&o.startTime<e&&o.endTime===lr&&(o.endTime=e)}},n.onBufferFlushing=function(e,t){var r=t.startOffset,i=t.endOffset,a=t.type,o=this.id3Track,l=this.hls;if(l){var h=l.config,u=h.enableEmsgMetadataCues,d=h.enableID3MetadataCues;o&&(u||d)&&Jr(o,r,i,a==="audio"?function(c){return c.type===Kt&&d}:a==="video"?function(c){return c.type===Ht&&u}:function(c){return c.type===Kt&&d||c.type===Ht&&u})}},n.onLevelUpdated=function(e,t){var r=this,i=t.details;if(this.media&&i.hasProgramDateTime&&this.hls.config.enableDateRangeMetadataCues){var a=this.dateRangeCuesAppended,o=this.id3Track,l=i.dateRanges,h=Object.keys(l);if(o)for(var u=Object.keys(a).filter(function(y){return!h.includes(y)}),d=function(){var y=u[c];Object.keys(a[y].cues).forEach(function(T){o.removeCue(a[y].cues[T])}),delete a[y]},c=u.length;c--;)d();var f=i.fragments[i.fragments.length-1];if(h.length!==0&&O(f==null?void 0:f.programDateTime)){this.id3Track||(this.id3Track=this.createTrack(this.media));for(var g=f.programDateTime/1e3-f.start,m=$r(),E=function(){var y=h[v],T=l[y],S=Zr(T.startDate,g),A=a[y],R=(A==null?void 0:A.cues)||{},L=(A==null?void 0:A.durationKnown)||!1,D=lr,k=T.endDate;if(k)D=Zr(k,g),L=!0;else if(T.endOnNext&&!L){var I=h.reduce(function(H,B){if(B!==T.id){var V=l[B];if(V.class===T.class&&V.startDate>T.startDate&&(!H||T.startDate<H.startDate))return V}return H},null);I&&(D=Zr(I.startDate,g),L=!0)}for(var C,_,x=Object.keys(T.attr),M=0;M<x.length;M++){var F=x[M];if((_=F)!=="ID"&&_!=="CLASS"&&_!=="START-DATE"&&_!=="DURATION"&&_!=="END-DATE"&&_!=="END-ON-NEXT"){var U=R[F];if(U)L&&!A.durationKnown&&(U.endTime=D);else if(m){var P=T.attr[F];vs(F)&&(C=P,P=Uint8Array.from(C.replace(/^0x/,"").replace(/([\da-fA-F]{2}) ?/g,"0x$1 ").replace(/ +$/,"").split(" ")).buffer);var N=xn(m,S,D,{key:F,data:P},Bs);N&&(N.id=y,r.id3Track.addCue(N),R[F]=N)}}}a[y]={cues:R,dateRange:T,durationKnown:L}},v=0;v<h.length;v++)E()}}},s}(),Ks=function(){function s(e){var t=this;this.hls=void 0,this.config=void 0,this.media=null,this.levelDetails=null,this.currentTime=0,this.stallCount=0,this._latency=null,this.timeupdateHandler=function(){return t.timeupdate()},this.hls=e,this.config=e.config,this.registerListeners()}var n=s.prototype;return n.destroy=function(){this.unregisterListeners(),this.onMediaDetaching(),this.levelDetails=null,this.hls=this.timeupdateHandler=null},n.registerListeners=function(){this.hls.on(p.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.on(p.MEDIA_DETACHING,this.onMediaDetaching,this),this.hls.on(p.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.on(p.LEVEL_UPDATED,this.onLevelUpdated,this),this.hls.on(p.ERROR,this.onError,this)},n.unregisterListeners=function(){this.hls.off(p.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.off(p.MEDIA_DETACHING,this.onMediaDetaching,this),this.hls.off(p.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.off(p.LEVEL_UPDATED,this.onLevelUpdated,this),this.hls.off(p.ERROR,this.onError,this)},n.onMediaAttached=function(e,t){this.media=t.media,this.media.addEventListener("timeupdate",this.timeupdateHandler)},n.onMediaDetaching=function(){this.media&&(this.media.removeEventListener("timeupdate",this.timeupdateHandler),this.media=null)},n.onManifestLoading=function(){this.levelDetails=null,this._latency=null,this.stallCount=0},n.onLevelUpdated=function(e,t){var r=t.details;this.levelDetails=r,r.advanced&&this.timeupdate(),!r.live&&this.media&&this.media.removeEventListener("timeupdate",this.timeupdateHandler)},n.onError=function(e,t){var r;t.details===w.BUFFER_STALLED_ERROR&&(this.stallCount++,(r=this.levelDetails)!=null&&r.live&&b.warn("[playback-rate-controller]: Stall detected, adjusting target latency"))},n.timeupdate=function(){var e=this.media,t=this.levelDetails;if(e&&t){this.currentTime=e.currentTime;var r=this.computeLatency();if(r!==null){this._latency=r;var i=this.config,a=i.lowLatencyMode,o=i.maxLiveSyncPlaybackRate;if(a&&o!==1&&t.live){var l=this.targetLatency;if(l!==null){var h=r-l;if(h<Math.min(this.maxLatency,l+t.targetduration)&&h>.05&&this.forwardBufferLength>1){var u=Math.min(2,Math.max(1,o)),d=Math.round(2/(1+Math.exp(-.75*h-this.edgeStalled))*20)/20;e.playbackRate=Math.min(u,Math.max(1,d))}else e.playbackRate!==1&&e.playbackRate!==0&&(e.playbackRate=1)}}}}},n.estimateLiveEdge=function(){var e=this.levelDetails;return e===null?null:e.edge+e.age},n.computeLatency=function(){var e=this.estimateLiveEdge();return e===null?null:e-this.currentTime},fe(s,[{key:"latency",get:function(){return this._latency||0}},{key:"maxLatency",get:function(){var e=this.config,t=this.levelDetails;return e.liveMaxLatencyDuration!==void 0?e.liveMaxLatencyDuration:t?e.liveMaxLatencyDurationCount*t.targetduration:0}},{key:"targetLatency",get:function(){var e=this.levelDetails;if(e===null)return null;var t=e.holdBack,r=e.partHoldBack,i=e.targetduration,a=this.config,o=a.liveSyncDuration,l=a.liveSyncDurationCount,h=a.lowLatencyMode,u=this.hls.userConfig,d=h&&r||t;(u.liveSyncDuration||u.liveSyncDurationCount||d===0)&&(d=o!==void 0?o:l*i);var c=i;return d+Math.min(1*this.stallCount,c)}},{key:"liveSyncPosition",get:function(){var e=this.estimateLiveEdge(),t=this.targetLatency,r=this.levelDetails;if(e===null||t===null||r===null)return null;var i=r.edge,a=e-t-this.edgeStalled,o=i-r.totalduration,l=i-(this.config.lowLatencyMode&&r.partTarget||r.targetduration);return Math.min(Math.max(o,a),l)}},{key:"drift",get:function(){var e=this.levelDetails;return e===null?1:e.drift}},{key:"edgeStalled",get:function(){var e=this.levelDetails;if(e===null)return 0;var t=3*(this.config.lowLatencyMode&&e.partTarget||e.targetduration);return Math.max(e.age-t,0)}},{key:"forwardBufferLength",get:function(){var e=this.media,t=this.levelDetails;if(!e||!t)return 0;var r=e.buffered.length;return(r?e.buffered.end(r-1):t.edge)-this.currentTime}}]),s}(),ei=["NONE","TYPE-0","TYPE-1",null],ur=["SDR","PQ","HLG"],ti="",Hs="YES",Vs="v2",Pn=function(){function s(n,e,t){this.msn=void 0,this.part=void 0,this.skip=void 0,this.msn=n,this.part=e,this.skip=t}return s.prototype.addDirectives=function(n){var e=new self.URL(n);return this.msn!==void 0&&e.searchParams.set("_HLS_msn",this.msn.toString()),this.part!==void 0&&e.searchParams.set("_HLS_part",this.part.toString()),this.skip&&e.searchParams.set("_HLS_skip",this.skip),e.href},s}(),yt=function(){function s(e){this._attrs=void 0,this.audioCodec=void 0,this.bitrate=void 0,this.codecSet=void 0,this.url=void 0,this.frameRate=void 0,this.height=void 0,this.id=void 0,this.name=void 0,this.videoCodec=void 0,this.width=void 0,this.details=void 0,this.fragmentError=0,this.loadError=0,this.loaded=void 0,this.realBitrate=0,this.supportedPromise=void 0,this.supportedResult=void 0,this._avgBitrate=0,this._audioGroups=void 0,this._subtitleGroups=void 0,this._urlId=0,this.url=[e.url],this._attrs=[e.attrs],this.bitrate=e.bitrate,e.details&&(this.details=e.details),this.id=e.id||0,this.name=e.name,this.width=e.width||0,this.height=e.height||0,this.frameRate=e.attrs.optionalFloat("FRAME-RATE",0),this._avgBitrate=e.attrs.decimalInteger("AVERAGE-BANDWIDTH"),this.audioCodec=e.audioCodec,this.videoCodec=e.videoCodec,this.codecSet=[e.videoCodec,e.audioCodec].filter(function(t){return!!t}).map(function(t){return t.substring(0,4)}).join(","),this.addGroupId("audio",e.attrs.AUDIO),this.addGroupId("text",e.attrs.SUBTITLES)}var n=s.prototype;return n.hasAudioGroup=function(e){return Fn(this._audioGroups,e)},n.hasSubtitleGroup=function(e){return Fn(this._subtitleGroups,e)},n.addGroupId=function(e,t){if(t){if(e==="audio"){var r=this._audioGroups;r||(r=this._audioGroups=[]),r.indexOf(t)===-1&&r.push(t)}else if(e==="text"){var i=this._subtitleGroups;i||(i=this._subtitleGroups=[]),i.indexOf(t)===-1&&i.push(t)}}},n.addFallback=function(){},fe(s,[{key:"maxBitrate",get:function(){return Math.max(this.realBitrate,this.bitrate)}},{key:"averageBitrate",get:function(){return this._avgBitrate||this.realBitrate||this.bitrate}},{key:"attrs",get:function(){return this._attrs[0]}},{key:"codecs",get:function(){return this.attrs.CODECS||""}},{key:"pathwayId",get:function(){return this.attrs["PATHWAY-ID"]||"."}},{key:"videoRange",get:function(){return this.attrs["VIDEO-RANGE"]||"SDR"}},{key:"score",get:function(){return this.attrs.optionalFloat("SCORE",0)}},{key:"uri",get:function(){return this.url[0]||""}},{key:"audioGroups",get:function(){return this._audioGroups}},{key:"subtitleGroups",get:function(){return this._subtitleGroups}},{key:"urlId",get:function(){return 0},set:function(e){}},{key:"audioGroupIds",get:function(){return this.audioGroups?[this.audioGroupId]:void 0}},{key:"textGroupIds",get:function(){return this.subtitleGroups?[this.textGroupId]:void 0}},{key:"audioGroupId",get:function(){var e;return(e=this.audioGroups)==null?void 0:e[0]}},{key:"textGroupId",get:function(){var e;return(e=this.subtitleGroups)==null?void 0:e[0]}}]),s}();function Fn(s,n){return!(!n||!s)&&s.indexOf(n)!==-1}function ri(s,n){var e=n.startPTS;if(O(e)){var t,r=0;n.sn>s.sn?(r=e-s.start,t=s):(r=s.start-e,t=n),t.duration!==r&&(t.duration=r)}else n.sn>s.sn?s.cc===n.cc&&s.minEndPTS?n.start=s.start+(s.minEndPTS-s.start):n.start=s.start+s.duration:n.start=Math.max(s.start-n.duration,0)}function Mn(s,n,e,t,r,i){t-e<=0&&(b.warn("Fragment should have a positive duration",n),t=e+n.duration,i=r+n.duration);var a=e,o=t,l=n.startPTS,h=n.endPTS;if(O(l)){var u=Math.abs(l-e);O(n.deltaPTS)?n.deltaPTS=Math.max(u,n.deltaPTS):n.deltaPTS=u,a=Math.max(e,l),e=Math.min(e,l),r=Math.min(r,n.startDTS),o=Math.min(t,h),t=Math.max(t,h),i=Math.max(i,n.endDTS)}var d=e-n.start;n.start!==0&&(n.start=e),n.duration=t-n.start,n.startPTS=e,n.maxStartPTS=a,n.startDTS=r,n.endPTS=t,n.minEndPTS=o,n.endDTS=i;var c,f=n.sn;if(!s||f<s.startSN||f>s.endSN)return 0;var g=f-s.startSN,m=s.fragments;for(m[g]=n,c=g;c>0;c--)ri(m[c],m[c-1]);for(c=g;c<m.length-1;c++)ri(m[c],m[c+1]);return s.fragmentHint&&ri(m[m.length-1],s.fragmentHint),s.PTSKnown=s.alignedSliding=!0,d}function Ys(s,n){for(var e=null,t=s.fragments,r=t.length-1;r>=0;r--){var i=t[r].initSegment;if(i){e=i;break}}s.fragmentHint&&delete s.fragmentHint.endPTS;var a,o,l,h,u,d=0;if(function(v,y,T){for(var S=y.skippedSegments,A=Math.max(v.startSN,y.startSN)-y.startSN,R=(v.fragmentHint?1:0)+(S?y.endSN:Math.min(v.endSN,y.endSN))-y.startSN,L=y.startSN-v.startSN,D=y.fragmentHint?y.fragments.concat(y.fragmentHint):y.fragments,k=v.fragmentHint?v.fragments.concat(v.fragmentHint):v.fragments,I=A;I<=R;I++){var C=k[L+I],_=D[I];S&&!_&&I<S&&(_=y.fragments[I]=C),C&&_&&T(C,_)}}(s,n,function(v,y){v.relurl&&(d=v.cc-y.cc),O(v.startPTS)&&O(v.endPTS)&&(y.start=y.startPTS=v.startPTS,y.startDTS=v.startDTS,y.maxStartPTS=v.maxStartPTS,y.endPTS=v.endPTS,y.endDTS=v.endDTS,y.minEndPTS=v.minEndPTS,y.duration=v.endPTS-v.startPTS,y.duration&&(a=y),n.PTSKnown=n.alignedSliding=!0),y.elementaryStreams=v.elementaryStreams,y.loader=v.loader,y.stats=v.stats,v.initSegment&&(y.initSegment=v.initSegment,e=v.initSegment)}),e&&(n.fragmentHint?n.fragments.concat(n.fragmentHint):n.fragments).forEach(function(v){var y;!v||v.initSegment&&v.initSegment.relurl!==((y=e)==null?void 0:y.relurl)||(v.initSegment=e)}),n.skippedSegments)if(n.deltaUpdateFailed=n.fragments.some(function(v){return!v}),n.deltaUpdateFailed){b.warn("[level-helper] Previous playlist missing segments skipped in delta playlist");for(var c=n.skippedSegments;c--;)n.fragments.shift();n.startSN=n.fragments[0].sn,n.startCC=n.fragments[0].cc}else n.canSkipDateRanges&&(n.dateRanges=(o=s.dateRanges,l=n.dateRanges,h=n.recentlyRemovedDateranges,u=ge({},o),h&&h.forEach(function(v){delete u[v]}),Object.keys(l).forEach(function(v){var y=new Xi(l[v].attr,u[v]);y.isValid?u[v]=y:b.warn('Ignoring invalid Playlist Delta Update DATERANGE tag: "'+JSON.stringify(l[v].attr)+'"')}),u));var f=n.fragments;if(d){b.warn("discontinuity sliding from playlist, take drift into account");for(var g=0;g<f.length;g++)f[g].cc+=d}n.skippedSegments&&(n.startCC=n.fragments[0].cc),function(v,y,T){if(v&&y)for(var S=0,A=0,R=v.length;A<=R;A++){var L=v[A],D=y[A+S];L&&D&&L.index===D.index&&L.fragment.sn===D.fragment.sn?T(L,D):S--}}(s.partList,n.partList,function(v,y){y.elementaryStreams=v.elementaryStreams,y.stats=v.stats}),a?Mn(n,a,a.startPTS,a.endPTS,a.startDTS,a.endDTS):On(s,n),f.length&&(n.totalduration=n.edge-f[0].start),n.driftStartTime=s.driftStartTime,n.driftStart=s.driftStart;var m=n.advancedDateTime;if(n.advanced&&m){var E=n.edge;n.driftStart||(n.driftStartTime=m,n.driftStart=E),n.driftEndTime=m,n.driftEnd=E}else n.driftEndTime=s.driftEndTime,n.driftEnd=s.driftEnd,n.advancedDateTime=s.advancedDateTime}function On(s,n){var e=n.startSN+n.skippedSegments-s.startSN,t=s.fragments;e<0||e>=t.length||ii(n,t[e].start)}function ii(s,n){if(n){for(var e=s.fragments,t=s.skippedSegments;t<e.length;t++)e[t].start+=n;s.fragmentHint&&(s.fragmentHint.start+=n)}}function Nn(s,n,e){var t;return s!=null&&s.details?Un((t=s.details)==null?void 0:t.partList,n,e):null}function Un(s,n,e){if(s)for(var t=s.length;t--;){var r=s[t];if(r.index===e&&r.fragment.sn===n)return r}return null}function Bn(s){s.forEach(function(n,e){var t=n.details;t!=null&&t.fragments&&t.fragments.forEach(function(r){r.level=e})})}function hr(s){switch(s.details){case w.FRAG_LOAD_TIMEOUT:case w.KEY_LOAD_TIMEOUT:case w.LEVEL_LOAD_TIMEOUT:case w.MANIFEST_LOAD_TIMEOUT:return!0}return!1}function Gn(s,n){var e=hr(n);return s.default[(e?"timeout":"error")+"Retry"]}function ni(s,n){var e=s.backoff==="linear"?1:Math.pow(2,n);return Math.min(e*s.retryDelayMs,s.maxRetryDelayMs)}function Kn(s){return ye(ye({},s),{errorRetry:null,timeoutRetry:null})}function dr(s,n,e,t){if(!s)return!1;var r=t==null?void 0:t.code,i=n<s.maxNumRetry&&(function(a){return a===0&&navigator.onLine===!1||!!a&&(a<400||a>499)}(r)||!!e);return s.shouldRetry?s.shouldRetry(s,n,e,t,i):i}var Hn=function(s,n){for(var e=0,t=s.length-1,r=null,i=null;e<=t;){var a=n(i=s[r=(e+t)/2|0]);if(a>0)e=r+1;else{if(!(a<0))return i;t=r-1}}return null};function cr(s,n,e,t){e===void 0&&(e=0),t===void 0&&(t=0);var r=null;if(s){r=n[s.sn-n[0].sn+1]||null;var i=s.endDTS-e;i>0&&i<15e-7&&(e+=15e-7)}else e===0&&n[0].start===0&&(r=n[0]);if(r&&(!s||s.level===r.level)&&ai(e,t,r)===0)return r;var a=Hn(n,ai.bind(null,e,t));return!a||a===s&&r?r:a}function ai(s,n,e){if(s===void 0&&(s=0),n===void 0&&(n=0),e.start<=s&&e.start+e.duration>s)return 0;var t=Math.min(n,e.duration+(e.deltaPTS?e.deltaPTS:0));return e.start+e.duration-t<=s?1:e.start-t>s&&e.start?-1:0}function Ws(s,n,e){var t=1e3*Math.min(n,e.duration+(e.deltaPTS?e.deltaPTS:0));return(e.endProgramDateTime||0)-t>s}var si=0,Xe=2,js=3,fr=5,Et=0,oi=1,Vn=2,qs=function(){function s(e){this.hls=void 0,this.playlistError=0,this.penalizedRenditions={},this.log=void 0,this.warn=void 0,this.error=void 0,this.hls=e,this.log=b.log.bind(b,"[info]:"),this.warn=b.warn.bind(b,"[warning]:"),this.error=b.error.bind(b,"[error]:"),this.registerListeners()}var n=s.prototype;return n.registerListeners=function(){var e=this.hls;e.on(p.ERROR,this.onError,this),e.on(p.MANIFEST_LOADING,this.onManifestLoading,this),e.on(p.LEVEL_UPDATED,this.onLevelUpdated,this)},n.unregisterListeners=function(){var e=this.hls;e&&(e.off(p.ERROR,this.onError,this),e.off(p.ERROR,this.onErrorOut,this),e.off(p.MANIFEST_LOADING,this.onManifestLoading,this),e.off(p.LEVEL_UPDATED,this.onLevelUpdated,this))},n.destroy=function(){this.unregisterListeners(),this.hls=null,this.penalizedRenditions={}},n.startLoad=function(e){},n.stopLoad=function(){this.playlistError=0},n.getVariantLevelIndex=function(e){return(e==null?void 0:e.type)===Z?e.level:this.hls.loadLevel},n.onManifestLoading=function(){this.playlistError=0,this.penalizedRenditions={}},n.onLevelUpdated=function(){this.playlistError=0},n.onError=function(e,t){var r,i;if(!t.fatal){var a=this.hls,o=t.context;switch(t.details){case w.FRAG_LOAD_ERROR:case w.FRAG_LOAD_TIMEOUT:case w.KEY_LOAD_ERROR:case w.KEY_LOAD_TIMEOUT:return void(t.errorAction=this.getFragRetryOrSwitchAction(t));case w.FRAG_PARSING_ERROR:if((r=t.frag)!=null&&r.gap)return void(t.errorAction={action:si,flags:Et});case w.FRAG_GAP:case w.FRAG_DECRYPT_ERROR:return t.errorAction=this.getFragRetryOrSwitchAction(t),void(t.errorAction.action=Xe);case w.LEVEL_EMPTY_ERROR:case w.LEVEL_PARSING_ERROR:var l,h,u=t.parent===Z?t.level:a.loadLevel;return void(t.details===w.LEVEL_EMPTY_ERROR&&(l=t.context)!=null&&(h=l.levelDetails)!=null&&h.live?t.errorAction=this.getPlaylistRetryOrSwitchAction(t,u):(t.levelRetry=!1,t.errorAction=this.getLevelSwitchAction(t,u)));case w.LEVEL_LOAD_ERROR:case w.LEVEL_LOAD_TIMEOUT:return void(typeof(o==null?void 0:o.level)=="number"&&(t.errorAction=this.getPlaylistRetryOrSwitchAction(t,o.level)));case w.AUDIO_TRACK_LOAD_ERROR:case w.AUDIO_TRACK_LOAD_TIMEOUT:case w.SUBTITLE_LOAD_ERROR:case w.SUBTITLE_TRACK_LOAD_TIMEOUT:if(o){var d=a.levels[a.loadLevel];if(d&&(o.type===Be&&d.hasAudioGroup(o.groupId)||o.type===Ve&&d.hasSubtitleGroup(o.groupId)))return t.errorAction=this.getPlaylistRetryOrSwitchAction(t,a.loadLevel),t.errorAction.action=Xe,void(t.errorAction.flags=oi)}return;case w.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED:var c=a.levels[a.loadLevel],f=c==null?void 0:c.attrs["HDCP-LEVEL"];return void(f?t.errorAction={action:Xe,flags:Vn,hdcpLevel:f}:this.keySystemError(t));case w.BUFFER_ADD_CODEC_ERROR:case w.REMUX_ALLOC_ERROR:case w.BUFFER_APPEND_ERROR:return void(t.errorAction=this.getLevelSwitchAction(t,(i=t.level)!=null?i:a.loadLevel));case w.INTERNAL_EXCEPTION:case w.BUFFER_APPENDING_ERROR:case w.BUFFER_FULL_ERROR:case w.LEVEL_SWITCH_ERROR:case w.BUFFER_STALLED_ERROR:case w.BUFFER_SEEK_OVER_HOLE:case w.BUFFER_NUDGE_ON_STALL:return void(t.errorAction={action:si,flags:Et})}t.type===G.KEY_SYSTEM_ERROR&&this.keySystemError(t)}},n.keySystemError=function(e){var t=this.getVariantLevelIndex(e.frag);e.levelRetry=!1,e.errorAction=this.getLevelSwitchAction(e,t)},n.getPlaylistRetryOrSwitchAction=function(e,t){var r=Gn(this.hls.config.playlistLoadPolicy,e),i=this.playlistError++;if(dr(r,i,hr(e),e.response))return{action:fr,flags:Et,retryConfig:r,retryCount:i};var a=this.getLevelSwitchAction(e,t);return r&&(a.retryConfig=r,a.retryCount=i),a},n.getFragRetryOrSwitchAction=function(e){var t=this.hls,r=this.getVariantLevelIndex(e.frag),i=t.levels[r],a=t.config,o=a.fragLoadPolicy,l=a.keyLoadPolicy,h=Gn(e.details.startsWith("key")?l:o,e),u=t.levels.reduce(function(c,f){return c+f.fragmentError},0);if(i&&(e.details!==w.FRAG_GAP&&i.fragmentError++,dr(h,u,hr(e),e.response)))return{action:fr,flags:Et,retryConfig:h,retryCount:u};var d=this.getLevelSwitchAction(e,r);return h&&(d.retryConfig=h,d.retryCount=u),d},n.getLevelSwitchAction=function(e,t){var r=this.hls;t==null&&(t=r.loadLevel);var i=this.hls.levels[t];if(i){var a,o,l=e.details;i.loadError++,l===w.BUFFER_APPEND_ERROR&&i.fragmentError++;var h=-1,u=r.levels,d=r.loadLevel,c=r.minAutoLevel,f=r.maxAutoLevel;r.autoLevelEnabled||(r.loadLevel=-1);for(var g,m=(a=e.frag)==null?void 0:a.type,E=(m===Me&&l===w.FRAG_PARSING_ERROR||e.sourceBufferName==="audio"&&(l===w.BUFFER_ADD_CODEC_ERROR||l===w.BUFFER_APPEND_ERROR))&&u.some(function(L){var D=L.audioCodec;return i.audioCodec!==D}),v=e.sourceBufferName==="video"&&(l===w.BUFFER_ADD_CODEC_ERROR||l===w.BUFFER_APPEND_ERROR)&&u.some(function(L){var D=L.codecSet,k=L.audioCodec;return i.codecSet!==D&&i.audioCodec===k}),y=(o=e.context)!=null?o:{},T=y.type,S=y.groupId,A=function(){var L=(R+d)%u.length;if(L!==d&&L>=c&&L<=f&&u[L].loadError===0){var D,k,I=u[L];if(l===w.FRAG_GAP&&e.frag){var C=u[L].details;if(C){var _=cr(e.frag,C.fragments,e.frag.start);if(_!=null&&_.gap)return 0}}else if(T===Be&&I.hasAudioGroup(S)||T===Ve&&I.hasSubtitleGroup(S)||m===Me&&(D=i.audioGroups)!=null&&D.some(function(x){return I.hasAudioGroup(x)})||m===qe&&(k=i.subtitleGroups)!=null&&k.some(function(x){return I.hasSubtitleGroup(x)})||E&&i.audioCodec===I.audioCodec||!E&&i.audioCodec!==I.audioCodec||v&&i.codecSet===I.codecSet)return 0;return h=L,1}},R=u.length;R--&&((g=A())===0||g!==1););if(h>-1&&r.loadLevel!==h)return e.levelRetry=!0,this.playlistError=0,{action:Xe,flags:Et,nextAutoLevel:h}}return{action:Xe,flags:oi}},n.onErrorOut=function(e,t){var r;switch((r=t.errorAction)==null?void 0:r.action){case si:break;case Xe:this.sendAlternateToPenaltyBox(t),t.errorAction.resolved||t.details===w.FRAG_GAP?/MediaSource readyState: ended/.test(t.error.message)&&(this.warn('MediaSource ended after "'+t.sourceBufferName+'" sourceBuffer append error. Attempting to recover from media error.'),this.hls.recoverMediaError()):t.fatal=!0}t.fatal&&this.hls.stopLoad()},n.sendAlternateToPenaltyBox=function(e){var t=this.hls,r=e.errorAction;if(r){var i=r.flags,a=r.hdcpLevel,o=r.nextAutoLevel;switch(i){case Et:this.switchLevel(e,o);break;case Vn:a&&(t.maxHdcpLevel=ei[ei.indexOf(a)-1],r.resolved=!0),this.warn('Restricting playback to HDCP-LEVEL of "'+t.maxHdcpLevel+'" or lower')}r.resolved||this.switchLevel(e,o)}},n.switchLevel=function(e,t){t!==void 0&&e.errorAction&&(this.warn("switching to level "+t+" after "+e.details),this.hls.nextAutoLevel=t,e.errorAction.resolved=!0,this.hls.nextLoadLevel=this.hls.nextAutoLevel)},s}(),li=function(){function s(e,t){this.hls=void 0,this.timer=-1,this.requestScheduled=-1,this.canLoad=!1,this.log=void 0,this.warn=void 0,this.log=b.log.bind(b,t+":"),this.warn=b.warn.bind(b,t+":"),this.hls=e}var n=s.prototype;return n.destroy=function(){this.clearTimer(),this.hls=this.log=this.warn=null},n.clearTimer=function(){this.timer!==-1&&(self.clearTimeout(this.timer),this.timer=-1)},n.startLoad=function(){this.canLoad=!0,this.requestScheduled=-1,this.loadPlaylist()},n.stopLoad=function(){this.canLoad=!1,this.clearTimer()},n.switchParams=function(e,t){var r=t==null?void 0:t.renditionReports;if(r){for(var i=-1,a=0;a<r.length;a++){var o=r[a],l=void 0;try{l=new self.URL(o.URI,t.url).href}catch(f){b.warn("Could not construct new URL for Rendition Report: "+f),l=o.URI||""}if(l===e){i=a;break}l===e.substring(0,l.length)&&(i=a)}if(i!==-1){var h=r[i],u=parseInt(h["LAST-MSN"])||(t==null?void 0:t.lastPartSn),d=parseInt(h["LAST-PART"])||(t==null?void 0:t.lastPartIndex);if(this.hls.config.lowLatencyMode){var c=Math.min(t.age-t.partTarget,t.targetduration);d>=0&&c>t.partTarget&&(d+=1)}return new Pn(u,d>=0?d:void 0,ti)}}},n.loadPlaylist=function(e){this.requestScheduled===-1&&(this.requestScheduled=self.performance.now())},n.shouldLoadPlaylist=function(e){return this.canLoad&&!!e&&!!e.url&&(!e.details||e.details.live)},n.shouldReloadPlaylist=function(e){return this.timer===-1&&this.requestScheduled===-1&&this.shouldLoadPlaylist(e)},n.playlistLoaded=function(e,t,r){var i=this,a=t.details,o=t.stats,l=self.performance.now(),h=o.loading.first?Math.max(0,l-o.loading.first):0;if(a.advancedDateTime=Date.now()-h,a.live||r!=null&&r.live){if(a.reloaded(r),r&&this.log("live playlist "+e+" "+(a.advanced?"REFRESHED "+a.lastPartSn+"-"+a.lastPartIndex:a.updated?"UPDATED":"MISSED")),r&&a.fragments.length>0&&Ys(r,a),!this.canLoad||!a.live)return;var u,d=void 0,c=void 0;if(a.canBlockReload&&a.endSN&&a.advanced){var f=this.hls.config.lowLatencyMode,g=a.lastPartSn,m=a.endSN,E=a.lastPartIndex,v=g===m;E!==-1?(d=v?m+1:g,c=v?f?0:E:E+1):d=m+1;var y=a.age,T=y+a.ageHeader,S=Math.min(T-a.partTarget,1.5*a.targetduration);if(S>0){if(r&&S>r.tuneInGoal)this.warn("CDN Tune-in goal increased from: "+r.tuneInGoal+" to: "+S+" with playlist age: "+a.age),S=0;else{var A=Math.floor(S/a.targetduration);d+=A,c!==void 0&&(c+=Math.round(S%a.targetduration/a.partTarget)),this.log("CDN Tune-in age: "+a.ageHeader+"s last advanced "+y.toFixed(2)+"s goal: "+S+" skip sn "+A+" to part "+c)}a.tuneInGoal=S}if(u=this.getDeliveryDirectives(a,t.deliveryDirectives,d,c),f||!v)return void this.loadPlaylist(u)}else(a.canBlockReload||a.canSkipUntil)&&(u=this.getDeliveryDirectives(a,t.deliveryDirectives,d,c));var R=this.hls.mainForwardBufferInfo,L=R?R.end-R.len:0,D=function(I,C){C===void 0&&(C=1/0);var _=1e3*I.targetduration;if(I.updated){var x=I.fragments;if(x.length&&4*_>C){var M=1e3*x[x.length-1].duration;M<_&&(_=M)}}else _/=2;return Math.round(_)}(a,1e3*(a.edge-L));a.updated&&l>this.requestScheduled+D&&(this.requestScheduled=o.loading.start),d!==void 0&&a.canBlockReload?this.requestScheduled=o.loading.first+D-(1e3*a.partTarget||1e3):this.requestScheduled===-1||this.requestScheduled+D<l?this.requestScheduled=l:this.requestScheduled-l<=0&&(this.requestScheduled+=D);var k=this.requestScheduled-l;k=Math.max(0,k),this.log("reload live playlist "+e+" in "+Math.round(k)+" ms"),this.timer=self.setTimeout(function(){return i.loadPlaylist(u)},k)}else this.clearTimer()},n.getDeliveryDirectives=function(e,t,r,i){var a=function(o,l){var h=o.canSkipUntil,u=o.canSkipDateRanges,d=o.endSN;return h&&(l!==void 0?l-d:0)<h?u?Vs:Hs:ti}(e,r);return t!=null&&t.skip&&e.deltaUpdateFailed&&(r=t.msn,i=t.part,a=ti),new Pn(r,i,a)},n.checkRetry=function(e){var t=this,r=e.details,i=hr(e),a=e.errorAction,o=a||{},l=o.action,h=o.retryCount,u=h===void 0?0:h,d=o.retryConfig,c=!!a&&!!d&&(l===fr||!a.resolved&&l===Xe);if(c){var f;if(this.requestScheduled=-1,u>=d.maxNumRetry)return!1;if(i&&(f=e.context)!=null&&f.deliveryDirectives)this.warn("Retrying playlist loading "+(u+1)+"/"+d.maxNumRetry+' after "'+r+'" without delivery-directives'),this.loadPlaylist();else{var g=ni(d,u);this.timer=self.setTimeout(function(){return t.loadPlaylist()},g),this.warn("Retrying playlist loading "+(u+1)+"/"+d.maxNumRetry+' after "'+r+'" in '+g+"ms")}e.levelRetry=!0,a.resolved=!0}return c},s}(),Tt=function(){function s(e,t,r){t===void 0&&(t=0),r===void 0&&(r=0),this.halfLife=void 0,this.alpha_=void 0,this.estimate_=void 0,this.totalWeight_=void 0,this.halfLife=e,this.alpha_=e?Math.exp(Math.log(.5)/e):0,this.estimate_=t,this.totalWeight_=r}var n=s.prototype;return n.sample=function(e,t){var r=Math.pow(this.alpha_,e);this.estimate_=t*(1-r)+r*this.estimate_,this.totalWeight_+=e},n.getTotalWeight=function(){return this.totalWeight_},n.getEstimate=function(){if(this.alpha_){var e=1-Math.pow(this.alpha_,this.totalWeight_);if(e)return this.estimate_/e}return this.estimate_},s}(),Xs=function(){function s(e,t,r,i){i===void 0&&(i=100),this.defaultEstimate_=void 0,this.minWeight_=void 0,this.minDelayMs_=void 0,this.slow_=void 0,this.fast_=void 0,this.defaultTTFB_=void 0,this.ttfb_=void 0,this.defaultEstimate_=r,this.minWeight_=.001,this.minDelayMs_=50,this.slow_=new Tt(e),this.fast_=new Tt(t),this.defaultTTFB_=i,this.ttfb_=new Tt(e)}var n=s.prototype;return n.update=function(e,t){var r=this.slow_,i=this.fast_,a=this.ttfb_;r.halfLife!==e&&(this.slow_=new Tt(e,r.getEstimate(),r.getTotalWeight())),i.halfLife!==t&&(this.fast_=new Tt(t,i.getEstimate(),i.getTotalWeight())),a.halfLife!==e&&(this.ttfb_=new Tt(e,a.getEstimate(),a.getTotalWeight()))},n.sample=function(e,t){var r=(e=Math.max(e,this.minDelayMs_))/1e3,i=8*t/r;this.fast_.sample(r,i),this.slow_.sample(r,i)},n.sampleTTFB=function(e){var t=e/1e3,r=Math.sqrt(2)*Math.exp(-Math.pow(t,2)/2);this.ttfb_.sample(r,Math.max(e,5))},n.canEstimate=function(){return this.fast_.getTotalWeight()>=this.minWeight_},n.getEstimate=function(){return this.canEstimate()?Math.min(this.fast_.getEstimate(),this.slow_.getEstimate()):this.defaultEstimate_},n.getEstimateTTFB=function(){return this.ttfb_.getTotalWeight()>=this.minWeight_?this.ttfb_.getEstimate():this.defaultTTFB_},n.destroy=function(){},s}(),Yn={supported:!0,configurations:[],decodingInfoResults:[{supported:!0,powerEfficient:!0,smooth:!0}]},Wn={};function zs(s,n,e){var t=s.videoCodec,r=s.audioCodec;if(!t||!r||!e)return Promise.resolve(Yn);var i={width:s.width,height:s.height,bitrate:Math.ceil(Math.max(.9*s.bitrate,s.averageBitrate)),framerate:s.frameRate||30},a=s.videoRange;a!=="SDR"&&(i.transferFunction=a.toLowerCase());var o=t.split(",").map(function(l){return{type:"media-source",video:ye(ye({},i),{},{contentType:Bt(l,"video")})}});return r&&s.audioGroups&&s.audioGroups.forEach(function(l){var h;l&&((h=n.groups[l])==null||h.tracks.forEach(function(u){if(u.groupId===l){var d=u.channels||"",c=parseFloat(d);O(c)&&c>2&&o.push.apply(o,r.split(",").map(function(f){return{type:"media-source",audio:{contentType:Bt(f,"audio"),channels:""+c}}}))}}))}),Promise.all(o.map(function(l){var h=function(u){var d=u.audio,c=u.video,f=c||d;if(f){var g=f.contentType.split('"')[1];if(c)return"r"+c.height+"x"+c.width+"f"+Math.ceil(c.framerate)+(c.transferFunction||"sd")+"_"+g+"_"+Math.ceil(c.bitrate/1e5);if(d)return"c"+d.channels+(d.spatialRendering?"s":"n")+"_"+g}return""}(l);return Wn[h]||(Wn[h]=e.decodingInfo(l))})).then(function(l){return{supported:!l.some(function(h){return!h.supported}),configurations:o,decodingInfoResults:l}}).catch(function(l){return{supported:!1,configurations:o,decodingInfoResults:[],error:l}})}function Qs(s,n){var e=!1,t=[];return s&&(e=s!=="SDR",t=[s]),n&&(t=n.allowedVideoRanges||ur.slice(0),t=(e=n.preferHDR!==void 0?n.preferHDR:function(){if(typeof matchMedia=="function"){var r=matchMedia("(dynamic-range: high)"),i=matchMedia("bad query");if(r.media!==i.media)return r.matches===!0}return!1}())?t.filter(function(r){return r!=="SDR"}):["SDR"]),{preferHDR:e,allowedVideoRanges:t}}function ze(s,n){b.log('[abr] start candidates with "'+s+'" ignored because '+n)}function Ye(s,n,e){if("attrs"in s){var t=n.indexOf(s);if(t!==-1)return t}for(var r=0;r<n.length;r++)if(St(s,n[r],e))return r;return-1}function St(s,n,e){var t=s.groupId,r=s.name,i=s.lang,a=s.assocLang,o=s.characteristics,l=s.default,h=s.forced;return(t===void 0||n.groupId===t)&&(r===void 0||n.name===r)&&(i===void 0||n.lang===i)&&(i===void 0||n.assocLang===a)&&(l===void 0||n.default===l)&&(h===void 0||n.forced===h)&&(o===void 0||function(u,d){d===void 0&&(d="");var c=u.split(","),f=d.split(",");return c.length===f.length&&!c.some(function(g){return f.indexOf(g)===-1})}(o,n.characteristics))&&(e===void 0||e(s,n))}function Lt(s,n){var e=s.audioCodec,t=s.channels;return!(e!==void 0&&(n.audioCodec||"").substring(0,4)!==e.substring(0,4)||t!==void 0&&t!==(n.channels||"2"))}function jn(s,n,e){for(var t=n;t;t--)if(e(s[t]))return t;for(var r=n+1;r<s.length;r++)if(e(s[r]))return r;return-1}var Js=function(){function s(e){var t=this;this.hls=void 0,this.lastLevelLoadSec=0,this.lastLoadedFragLevel=-1,this.firstSelection=-1,this._nextAutoLevel=-1,this.nextAutoLevelKey="",this.audioTracksByGroup=null,this.codecTiers=null,this.timer=-1,this.fragCurrent=null,this.partCurrent=null,this.bitrateTestDelay=0,this.bwEstimator=void 0,this._abandonRulesCheck=function(){var r=t.fragCurrent,i=t.partCurrent,a=t.hls,o=a.autoLevelEnabled,l=a.media;if(r&&l){var h=performance.now(),u=i?i.stats:r.stats,d=i?i.duration:r.duration,c=h-u.loading.start,f=a.minAutoLevel;if(u.aborted||u.loaded&&u.loaded===u.total||r.level<=f)return t.clearTimer(),void(t._nextAutoLevel=-1);if(o&&!l.paused&&l.playbackRate&&l.readyState){var g=a.mainForwardBufferInfo;if(g!==null){var m=t.bwEstimator.getEstimateTTFB(),E=Math.abs(l.playbackRate);if(!(c<=Math.max(m,d/(2*E)*1e3))){var v=g.len/E,y=u.loading.first?u.loading.first-u.loading.start:-1,T=u.loaded&&y>-1,S=t.getBwEstimate(),A=a.levels,R=A[r.level],L=u.total||Math.max(u.loaded,Math.round(d*R.averageBitrate/8)),D=T?c-y:c;D<1&&T&&(D=Math.min(c,8*u.loaded/S));var k=T?1e3*u.loaded/D:0,I=k?(L-u.loaded)/k:8*L/S+m/1e3;if(!(I<=v)){var C,_=k?8*k:S,x=Number.POSITIVE_INFINITY;for(C=r.level-1;C>f;C--){var M=A[C].maxBitrate;if((x=t.getTimeToLoadFrag(m/1e3,_,d*M,!A[C].details))<v)break}if(!(x>=I||x>10*d)){a.nextLoadLevel=a.nextAutoLevel=C,T?t.bwEstimator.sample(c-Math.min(m,y),u.loaded):t.bwEstimator.sampleTTFB(c);var F=A[C].maxBitrate;t.getBwEstimate()*t.hls.config.abrBandWidthUpFactor>F&&t.resetEstimator(F),t.clearTimer(),b.warn("[abr] Fragment "+r.sn+(i?" part "+i.index:"")+" of level "+r.level+` is loading too slowly;
-      Time to underbuffer: `+v.toFixed(3)+` s
-      Estimated load time for current fragment: `+I.toFixed(3)+` s
-      Estimated load time for down switch fragment: `+x.toFixed(3)+` s
-      TTFB estimate: `+(0|y)+` ms
-      Current BW estimate: `+(O(S)?0|S:"Unknown")+` bps
-      New BW estimate: `+(0|t.getBwEstimate())+` bps
-      Switching to level `+C+" @ "+(0|F)+" bps"),a.trigger(p.FRAG_LOAD_EMERGENCY_ABORTED,{frag:r,part:i,stats:u})}}}}}}},this.hls=e,this.bwEstimator=this.initEstimator(),this.registerListeners()}var n=s.prototype;return n.resetEstimator=function(e){e&&(b.log("setting initial bwe to "+e),this.hls.config.abrEwmaDefaultEstimate=e),this.firstSelection=-1,this.bwEstimator=this.initEstimator()},n.initEstimator=function(){var e=this.hls.config;return new Xs(e.abrEwmaSlowVoD,e.abrEwmaFastVoD,e.abrEwmaDefaultEstimate)},n.registerListeners=function(){var e=this.hls;e.on(p.MANIFEST_LOADING,this.onManifestLoading,this),e.on(p.FRAG_LOADING,this.onFragLoading,this),e.on(p.FRAG_LOADED,this.onFragLoaded,this),e.on(p.FRAG_BUFFERED,this.onFragBuffered,this),e.on(p.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(p.LEVEL_LOADED,this.onLevelLoaded,this),e.on(p.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(p.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.on(p.ERROR,this.onError,this)},n.unregisterListeners=function(){var e=this.hls;e&&(e.off(p.MANIFEST_LOADING,this.onManifestLoading,this),e.off(p.FRAG_LOADING,this.onFragLoading,this),e.off(p.FRAG_LOADED,this.onFragLoaded,this),e.off(p.FRAG_BUFFERED,this.onFragBuffered,this),e.off(p.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(p.LEVEL_LOADED,this.onLevelLoaded,this),e.off(p.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(p.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.off(p.ERROR,this.onError,this))},n.destroy=function(){this.unregisterListeners(),this.clearTimer(),this.hls=this._abandonRulesCheck=null,this.fragCurrent=this.partCurrent=null},n.onManifestLoading=function(e,t){this.lastLoadedFragLevel=-1,this.firstSelection=-1,this.lastLevelLoadSec=0,this.fragCurrent=this.partCurrent=null,this.onLevelsUpdated(),this.clearTimer()},n.onLevelsUpdated=function(){this.lastLoadedFragLevel>-1&&this.fragCurrent&&(this.lastLoadedFragLevel=this.fragCurrent.level),this._nextAutoLevel=-1,this.onMaxAutoLevelUpdated(),this.codecTiers=null,this.audioTracksByGroup=null},n.onMaxAutoLevelUpdated=function(){this.firstSelection=-1,this.nextAutoLevelKey=""},n.onFragLoading=function(e,t){var r,i=t.frag;this.ignoreFragment(i)||(i.bitrateTest||(this.fragCurrent=i,this.partCurrent=(r=t.part)!=null?r:null),this.clearTimer(),this.timer=self.setInterval(this._abandonRulesCheck,100))},n.onLevelSwitching=function(e,t){this.clearTimer()},n.onError=function(e,t){if(!t.fatal)switch(t.details){case w.BUFFER_ADD_CODEC_ERROR:case w.BUFFER_APPEND_ERROR:this.lastLoadedFragLevel=-1,this.firstSelection=-1;break;case w.FRAG_LOAD_TIMEOUT:var r=t.frag,i=this.fragCurrent,a=this.partCurrent;if(r&&i&&r.sn===i.sn&&r.level===i.level){var o=performance.now(),l=a?a.stats:r.stats,h=o-l.loading.start,u=l.loading.first?l.loading.first-l.loading.start:-1;if(l.loaded&&u>-1){var d=this.bwEstimator.getEstimateTTFB();this.bwEstimator.sample(h-Math.min(d,u),l.loaded)}else this.bwEstimator.sampleTTFB(h)}}},n.getTimeToLoadFrag=function(e,t,r,i){return e+r/t+(i?this.lastLevelLoadSec:0)},n.onLevelLoaded=function(e,t){var r=this.hls.config,i=t.stats.loading,a=i.end-i.start;O(a)&&(this.lastLevelLoadSec=a/1e3),t.details.live?this.bwEstimator.update(r.abrEwmaSlowLive,r.abrEwmaFastLive):this.bwEstimator.update(r.abrEwmaSlowVoD,r.abrEwmaFastVoD)},n.onFragLoaded=function(e,t){var r=t.frag,i=t.part,a=i?i.stats:r.stats;if(r.type===Z&&this.bwEstimator.sampleTTFB(a.loading.first-a.loading.start),!this.ignoreFragment(r)){if(this.clearTimer(),r.level===this._nextAutoLevel&&(this._nextAutoLevel=-1),this.firstSelection=-1,this.hls.config.abrMaxWithRealBitrate){var o=i?i.duration:r.duration,l=this.hls.levels[r.level],h=(l.loaded?l.loaded.bytes:0)+a.loaded,u=(l.loaded?l.loaded.duration:0)+o;l.loaded={bytes:h,duration:u},l.realBitrate=Math.round(8*h/u)}if(r.bitrateTest){var d={stats:a,frag:r,part:i,id:r.type};this.onFragBuffered(p.FRAG_BUFFERED,d),r.bitrateTest=!1}else this.lastLoadedFragLevel=r.level}},n.onFragBuffered=function(e,t){var r=t.frag,i=t.part,a=i!=null&&i.stats.loaded?i.stats:r.stats;if(!a.aborted&&!this.ignoreFragment(r)){var o=a.parsing.end-a.loading.start-Math.min(a.loading.first-a.loading.start,this.bwEstimator.getEstimateTTFB());this.bwEstimator.sample(o,a.loaded),a.bwEstimate=this.getBwEstimate(),r.bitrateTest?this.bitrateTestDelay=o/1e3:this.bitrateTestDelay=0}},n.ignoreFragment=function(e){return e.type!==Z||e.sn==="initSegment"},n.clearTimer=function(){this.timer>-1&&(self.clearInterval(this.timer),this.timer=-1)},n.getAutoLevelKey=function(){return this.getBwEstimate()+"_"+this.getStarvationDelay().toFixed(2)},n.getNextABRAutoLevel=function(){var e=this.fragCurrent,t=this.partCurrent,r=this.hls,i=r.maxAutoLevel,a=r.config,o=r.minAutoLevel,l=t?t.duration:e?e.duration:0,h=this.getBwEstimate(),u=this.getStarvationDelay(),d=a.abrBandWidthFactor,c=a.abrBandWidthUpFactor;if(u){var f=this.findBestLevel(h,o,i,u,0,d,c);if(f>=0)return f}var g=l?Math.min(l,a.maxStarvationDelay):a.maxStarvationDelay;if(!u){var m=this.bitrateTestDelay;m&&(g=(l?Math.min(l,a.maxLoadingDelay):a.maxLoadingDelay)-m,b.info("[abr] bitrate test took "+Math.round(1e3*m)+"ms, set first fragment max fetchDuration to "+Math.round(1e3*g)+" ms"),d=c=1)}var E=this.findBestLevel(h,o,i,u,g,d,c);if(b.info("[abr] "+(u?"rebuffering expected":"buffer is empty")+", optimal quality level "+E),E>-1)return E;var v=r.levels[o],y=r.levels[r.loadLevel];return(v==null?void 0:v.bitrate)<(y==null?void 0:y.bitrate)?o:r.loadLevel},n.getStarvationDelay=function(){var e=this.hls,t=e.media;if(!t)return 1/0;var r=t&&t.playbackRate!==0?Math.abs(t.playbackRate):1,i=e.mainForwardBufferInfo;return(i?i.len:0)/r},n.getBwEstimate=function(){return this.bwEstimator.canEstimate()?this.bwEstimator.getEstimate():this.hls.config.abrEwmaDefaultEstimate},n.findBestLevel=function(e,t,r,i,a,o,l){var h,u=this,d=i+a,c=this.lastLoadedFragLevel,f=c===-1?this.hls.firstLevel:c,g=this.fragCurrent,m=this.partCurrent,E=this.hls,v=E.levels,y=E.allAudioTracks,T=E.loadLevel,S=E.config;if(v.length===1)return 0;var A,R=v[f],L=!(R==null||(h=R.details)==null||!h.live),D=T===-1||c===-1,k="SDR",I=(R==null?void 0:R.frameRate)||0,C=S.audioPreference,_=S.videoPreference,x=this.audioTracksByGroup||(this.audioTracksByGroup=function(te){return te.reduce(function(Y,z){var j=Y.groups[z.groupId];j||(j=Y.groups[z.groupId]={tracks:[],channels:{2:0},hasDefault:!1,hasAutoSelect:!1}),j.tracks.push(z);var re=z.channels||"2";return j.channels[re]=(j.channels[re]||0)+1,j.hasDefault=j.hasDefault||z.default,j.hasAutoSelect=j.hasAutoSelect||z.autoselect,j.hasDefault&&(Y.hasDefaultAudio=!0),j.hasAutoSelect&&(Y.hasAutoSelectAudio=!0),Y},{hasDefaultAudio:!1,hasAutoSelectAudio:!1,groups:{}})}(y));if(D){if(this.firstSelection!==-1)return this.firstSelection;var M=this.codecTiers||(this.codecTiers=function(te,Y,z,j){return te.slice(z,j+1).reduce(function(re,W){if(!W.codecSet)return re;var ne=W.audioGroups,J=re[W.codecSet];J||(re[W.codecSet]=J={minBitrate:1/0,minHeight:1/0,minFramerate:1/0,maxScore:0,videoRanges:{SDR:0},channels:{2:0},hasDefaultAudio:!ne,fragmentError:0}),J.minBitrate=Math.min(J.minBitrate,W.bitrate);var De=Math.min(W.height,W.width);return J.minHeight=Math.min(J.minHeight,De),J.minFramerate=Math.min(J.minFramerate,W.frameRate),J.maxScore=Math.max(J.maxScore,W.score),J.fragmentError+=W.fragmentError,J.videoRanges[W.videoRange]=(J.videoRanges[W.videoRange]||0)+1,ne&&ne.forEach(function(be){if(be){var $=Y.groups[be];J.hasDefaultAudio=J.hasDefaultAudio||Y.hasDefaultAudio?$.hasDefault:$.hasAutoSelect||!Y.hasDefaultAudio&&!Y.hasAutoSelectAudio,Object.keys($.channels).forEach(function(he){J.channels[he]=(J.channels[he]||0)+$.channels[he]})}}),re},{})}(v,x,t,r)),F=function(te,Y,z,j,re){for(var W=Object.keys(te),ne=j==null?void 0:j.channels,J=j==null?void 0:j.audioCodec,De=ne&&parseInt(ne)===2,be=!0,$=!1,he=1/0,ve=1/0,ke=1/0,_e=0,Ee=[],Ce=Qs(Y,re),Qt=Ce.preferHDR,nt=Ce.allowedVideoRanges,xt=function(){var ie=te[W[et]];be=ie.channels[2]>0,he=Math.min(he,ie.minHeight),ve=Math.min(ve,ie.minFramerate),ke=Math.min(ke,ie.minBitrate);var le=nt.filter(function(pe){return ie.videoRanges[pe]>0});le.length>0&&($=!0,Ee=le)},et=W.length;et--;)xt();he=O(he)?he:0,ve=O(ve)?ve:0;var xe=Math.max(1080,he),Te=Math.max(30,ve);return ke=O(ke)?ke:z,z=Math.max(ke,z),$||(Y=void 0,Ee=[]),{codecSet:W.reduce(function(ie,le){var pe=te[le];if(le===ie)return ie;if(pe.minBitrate>z)return ze(le,"min bitrate of "+pe.minBitrate+" > current estimate of "+z),ie;if(!pe.hasDefaultAudio)return ze(le,"no renditions with default or auto-select sound found"),ie;if(J&&le.indexOf(J.substring(0,4))%5!=0)return ze(le,'audio codec preference "'+J+'" not found'),ie;if(ne&&!De){if(!pe.channels[ne])return ze(le,"no renditions with "+ne+" channel sound found (channels options: "+Object.keys(pe.channels)+")"),ie}else if((!J||De)&&be&&pe.channels[2]===0)return ze(le,"no renditions with stereo sound found"),ie;return pe.minHeight>xe?(ze(le,"min resolution of "+pe.minHeight+" > maximum of "+xe),ie):pe.minFramerate>Te?(ze(le,"min framerate of "+pe.minFramerate+" > maximum of "+Te),ie):Ee.some(function(Ki){return pe.videoRanges[Ki]>0})?pe.maxScore<_e?(ze(le,"max score of "+pe.maxScore+" < selected max of "+_e),ie):ie&&(ar(le)>=ar(ie)||pe.fragmentError>te[ie].fragmentError)?ie:(_e=pe.maxScore,le):(ze(le,"no variants with VIDEO-RANGE of "+JSON.stringify(Ee)+" found"),ie)},void 0),videoRanges:Ee,preferHDR:Qt,minFramerate:ve,minBitrate:ke}}(M,k,e,C,_),U=F.codecSet,P=F.videoRanges,N=F.minFramerate,H=F.minBitrate,B=F.preferHDR;A=U,k=B?P[P.length-1]:P[0],I=N,e=Math.max(e,H),b.log("[abr] picked start tier "+JSON.stringify(F))}else A=R==null?void 0:R.codecSet,k=R==null?void 0:R.videoRange;for(var V,Q=m?m.duration:g?g.duration:0,oe=this.bwEstimator.getEstimateTTFB()/1e3,ee=[],ce=function(){var te,Y=v[ae],z=ae>f;if(!Y)return 0;if(S.useMediaCapabilities&&!Y.supportedResult&&!Y.supportedPromise){var j=navigator.mediaCapabilities;typeof(j==null?void 0:j.decodingInfo)=="function"&&function($,he,ve,ke,_e,Ee){var Ce=$.audioCodec?$.audioGroups:null,Qt=Ee==null?void 0:Ee.audioCodec,nt=Ee==null?void 0:Ee.channels,xt=nt?parseInt(nt):Qt?1/0:2,et=null;if(Ce!=null&&Ce.length)try{et=Ce.length===1&&Ce[0]?he.groups[Ce[0]].channels:Ce.reduce(function(xe,Te){if(Te){var ie=he.groups[Te];if(!ie)throw new Error("Audio track group "+Te+" not found");Object.keys(ie.channels).forEach(function(le){xe[le]=(xe[le]||0)+ie.channels[le]})}return xe},{2:0})}catch{return!0}return $.videoCodec!==void 0&&($.width>1920&&$.height>1088||$.height>1920&&$.width>1088||$.frameRate>Math.max(ke,30)||$.videoRange!=="SDR"&&$.videoRange!==ve||$.bitrate>Math.max(_e,8e6))||!!et&&O(xt)&&Object.keys(et).some(function(xe){return parseInt(xe)>xt})}(Y,x,k,I,e,C)?(Y.supportedPromise=zs(Y,x,j),Y.supportedPromise.then(function($){if(u.hls){Y.supportedResult=$;var he=u.hls.levels,ve=he.indexOf(Y);$.error?b.warn('[abr] MediaCapabilities decodingInfo error: "'+$.error+'" for level '+ve+" "+JSON.stringify($)):$.supported||(b.warn("[abr] Unsupported MediaCapabilities decodingInfo result for level "+ve+" "+JSON.stringify($)),ve>-1&&he.length>1&&(b.log("[abr] Removing unsupported level "+ve),u.hls.removeLevel(ve)))}})):Y.supportedResult=Yn}if(A&&Y.codecSet!==A||k&&Y.videoRange!==k||z&&I>Y.frameRate||!z&&I>0&&I<Y.frameRate||Y.supportedResult&&((te=Y.supportedResult.decodingInfoResults)==null||!te[0].smooth))return ee.push(ae),0;var re,W=Y.details,ne=(m?W==null?void 0:W.partTarget:W==null?void 0:W.averagetargetduration)||Q;re=z?l*e:o*e;var J=Q&&i>=2*Q&&a===0?v[ae].averageBitrate:v[ae].maxBitrate,De=u.getTimeToLoadFrag(oe,re,J*ne,W===void 0);if(re>=J&&(ae===c||Y.loadError===0&&Y.fragmentError===0)&&(De<=oe||!O(De)||L&&!u.bitrateTestDelay||De<d)){var be=u.forcedAutoLevel;return ae===T||be!==-1&&be===T||(ee.length&&b.trace("[abr] Skipped level(s) "+ee.join(",")+" of "+r+' max with CODECS and VIDEO-RANGE:"'+v[ee[0]].codecs+'" '+v[ee[0]].videoRange+'; not compatible with "'+R.codecs+'" '+k),b.info("[abr] switch candidate:"+f+"->"+ae+" adjustedbw("+Math.round(re)+")-bitrate="+Math.round(re-J)+" ttfb:"+oe.toFixed(1)+" avgDuration:"+ne.toFixed(1)+" maxFetchDuration:"+d.toFixed(1)+" fetchDuration:"+De.toFixed(1)+" firstSelection:"+D+" codecSet:"+A+" videoRange:"+k+" hls.loadLevel:"+T)),D&&(u.firstSelection=ae),{v:ae}}},ae=r;ae>=t;ae--)if((V=ce())!==0&&V)return V.v;return-1},fe(s,[{key:"firstAutoLevel",get:function(){var e=this.hls,t=e.maxAutoLevel,r=e.minAutoLevel,i=this.getBwEstimate(),a=this.hls.config.maxStarvationDelay,o=this.findBestLevel(i,r,t,0,a,1,1);if(o>-1)return o;var l=this.hls.firstLevel,h=Math.min(Math.max(l,r),t);return b.warn("[abr] Could not find best starting auto level. Defaulting to first in playlist "+l+" clamped to "+h),h}},{key:"forcedAutoLevel",get:function(){return this.nextAutoLevelKey?-1:this._nextAutoLevel}},{key:"nextAutoLevel",get:function(){var e=this.forcedAutoLevel,t=this.bwEstimator.canEstimate(),r=this.lastLoadedFragLevel>-1;if(!(e===-1||t&&r&&this.nextAutoLevelKey!==this.getAutoLevelKey()))return e;var i=t&&r?this.getNextABRAutoLevel():this.firstAutoLevel;if(e!==-1){var a=this.hls.levels;if(a.length>Math.max(e,i)&&a[e].loadError<=a[i].loadError)return e}return this._nextAutoLevel=i,this.nextAutoLevelKey=this.getAutoLevelKey(),i},set:function(e){var t=this.hls,r=t.maxAutoLevel,i=t.minAutoLevel,a=Math.min(Math.max(e,i),r);this._nextAutoLevel!==a&&(this.nextAutoLevelKey="",this._nextAutoLevel=a)}}]),s}(),$s=function(){function s(){this._boundTick=void 0,this._tickTimer=null,this._tickInterval=null,this._tickCallCount=0,this._boundTick=this.tick.bind(this)}var n=s.prototype;return n.destroy=function(){this.onHandlerDestroying(),this.onHandlerDestroyed()},n.onHandlerDestroying=function(){this.clearNextTick(),this.clearInterval()},n.onHandlerDestroyed=function(){},n.hasInterval=function(){return!!this._tickInterval},n.hasNextTick=function(){return!!this._tickTimer},n.setInterval=function(e){return!this._tickInterval&&(this._tickCallCount=0,this._tickInterval=self.setInterval(this._boundTick,e),!0)},n.clearInterval=function(){return!!this._tickInterval&&(self.clearInterval(this._tickInterval),this._tickInterval=null,!0)},n.clearNextTick=function(){return!!this._tickTimer&&(self.clearTimeout(this._tickTimer),this._tickTimer=null,!0)},n.tick=function(){this._tickCallCount++,this._tickCallCount===1&&(this.doTick(),this._tickCallCount>1&&this.tickImmediate(),this._tickCallCount=0)},n.tickImmediate=function(){this.clearNextTick(),this._tickTimer=self.setTimeout(this._boundTick,0)},n.doTick=function(){},s}(),Vt="NOT_LOADED",qn="APPENDING",At="PARTIAL",Yt="OK",Zs=function(){function s(e){this.activePartLists=Object.create(null),this.endListFragments=Object.create(null),this.fragments=Object.create(null),this.timeRanges=Object.create(null),this.bufferPadding=.2,this.hls=void 0,this.hasGaps=!1,this.hls=e,this._registerListeners()}var n=s.prototype;return n._registerListeners=function(){var e=this.hls;e.on(p.BUFFER_APPENDED,this.onBufferAppended,this),e.on(p.FRAG_BUFFERED,this.onFragBuffered,this),e.on(p.FRAG_LOADED,this.onFragLoaded,this)},n._unregisterListeners=function(){var e=this.hls;e.off(p.BUFFER_APPENDED,this.onBufferAppended,this),e.off(p.FRAG_BUFFERED,this.onFragBuffered,this),e.off(p.FRAG_LOADED,this.onFragLoaded,this)},n.destroy=function(){this._unregisterListeners(),this.fragments=this.activePartLists=this.endListFragments=this.timeRanges=null},n.getAppendedFrag=function(e,t){var r=this.activePartLists[t];if(r)for(var i=r.length;i--;){var a=r[i];if(!a)break;var o=a.end;if(a.start<=e&&o!==null&&e<=o)return a}return this.getBufferedFrag(e,t)},n.getBufferedFrag=function(e,t){for(var r=this.fragments,i=Object.keys(r),a=i.length;a--;){var o=r[i[a]];if((o==null?void 0:o.body.type)===t&&o.buffered){var l=o.body;if(l.start<=e&&e<=l.end)return l}}return null},n.detectEvictedFragments=function(e,t,r,i){var a=this;this.timeRanges&&(this.timeRanges[e]=t);var o=(i==null?void 0:i.fragment.sn)||-1;Object.keys(this.fragments).forEach(function(l){var h=a.fragments[l];if(h&&!(o>=h.body.sn))if(h.buffered||h.loaded){var u=h.range[e];u&&u.time.some(function(d){var c=!a.isTimeBuffered(d.startPTS,d.endPTS,t);return c&&a.removeFragment(h.body),c})}else h.body.type===r&&a.removeFragment(h.body)})},n.detectPartialFragments=function(e){var t=this,r=this.timeRanges,i=e.frag,a=e.part;if(r&&i.sn!=="initSegment"){var o=Rt(i),l=this.fragments[o];if(!(!l||l.buffered&&i.gap)){var h=!i.relurl;Object.keys(r).forEach(function(u){var d=i.elementaryStreams[u];if(d){var c=r[u],f=h||d.partial===!0;l.range[u]=t.getBufferedTimes(i,a,f,c)}}),l.loaded=null,Object.keys(l.range).length?(l.buffered=!0,(l.body.endList=i.endList||l.body.endList)&&(this.endListFragments[l.body.type]=l),gr(l)||this.removeParts(i.sn-1,i.type)):this.removeFragment(l.body)}}},n.removeParts=function(e,t){var r=this.activePartLists[t];r&&(this.activePartLists[t]=r.filter(function(i){return i.fragment.sn>=e}))},n.fragBuffered=function(e,t){var r=Rt(e),i=this.fragments[r];!i&&t&&(i=this.fragments[r]={body:e,appendedPTS:null,loaded:null,buffered:!1,range:Object.create(null)},e.gap&&(this.hasGaps=!0)),i&&(i.loaded=null,i.buffered=!0)},n.getBufferedTimes=function(e,t,r,i){for(var a={time:[],partial:r},o=e.start,l=e.end,h=e.minEndPTS||l,u=e.maxStartPTS||o,d=0;d<i.length;d++){var c=i.start(d)-this.bufferPadding,f=i.end(d)+this.bufferPadding;if(u>=c&&h<=f){a.time.push({startPTS:Math.max(o,i.start(d)),endPTS:Math.min(l,i.end(d))});break}if(o<f&&l>c){var g=Math.max(o,i.start(d)),m=Math.min(l,i.end(d));m>g&&(a.partial=!0,a.time.push({startPTS:g,endPTS:m}))}else if(l<=c)break}return a},n.getPartialFragment=function(e){var t,r,i,a=null,o=0,l=this.bufferPadding,h=this.fragments;return Object.keys(h).forEach(function(u){var d=h[u];d&&gr(d)&&(r=d.body.start-l,i=d.body.end+l,e>=r&&e<=i&&(t=Math.min(e-r,i-e),o<=t&&(a=d.body,o=t)))}),a},n.isEndListAppended=function(e){var t=this.endListFragments[e];return t!==void 0&&(t.buffered||gr(t))},n.getState=function(e){var t=Rt(e),r=this.fragments[t];return r?r.buffered?gr(r)?At:Yt:qn:Vt},n.isTimeBuffered=function(e,t,r){for(var i,a,o=0;o<r.length;o++){if(i=r.start(o)-this.bufferPadding,a=r.end(o)+this.bufferPadding,e>=i&&t<=a)return!0;if(t<=i)return!1}return!1},n.onFragLoaded=function(e,t){var r=t.frag,i=t.part;if(r.sn!=="initSegment"&&!r.bitrateTest){var a=i?null:t,o=Rt(r);this.fragments[o]={body:r,appendedPTS:null,loaded:a,buffered:!1,range:Object.create(null)}}},n.onBufferAppended=function(e,t){var r=this,i=t.frag,a=t.part,o=t.timeRanges;if(i.sn!=="initSegment"){var l=i.type;if(a){var h=this.activePartLists[l];h||(this.activePartLists[l]=h=[]),h.push(a)}this.timeRanges=o,Object.keys(o).forEach(function(u){var d=o[u];r.detectEvictedFragments(u,d,l,a)})}},n.onFragBuffered=function(e,t){this.detectPartialFragments(t)},n.hasFragment=function(e){var t=Rt(e);return!!this.fragments[t]},n.hasParts=function(e){var t;return!((t=this.activePartLists[e])==null||!t.length)},n.removeFragmentsInRange=function(e,t,r,i,a){var o=this;i&&!this.hasGaps||Object.keys(this.fragments).forEach(function(l){var h=o.fragments[l];if(h){var u=h.body;u.type!==r||i&&!u.gap||u.start<t&&u.end>e&&(h.buffered||a)&&o.removeFragment(u)}})},n.removeFragment=function(e){var t=Rt(e);e.stats.loaded=0,e.clearElementaryStreamInfo();var r=this.activePartLists[e.type];if(r){var i=e.sn;this.activePartLists[e.type]=r.filter(function(a){return a.fragment.sn!==i})}delete this.fragments[t],e.endList&&delete this.endListFragments[e.type]},n.removeAllFragments=function(){this.fragments=Object.create(null),this.endListFragments=Object.create(null),this.activePartLists=Object.create(null),this.hasGaps=!1},s}();function gr(s){var n,e,t;return s.buffered&&(s.body.gap||((n=s.range.video)==null?void 0:n.partial)||((e=s.range.audio)==null?void 0:e.partial)||((t=s.range.audiovideo)==null?void 0:t.partial))}function Rt(s){return s.type+"_"+s.level+"_"+s.sn}var eo={length:0,start:function(){return 0},end:function(){return 0}},ue=function(){function s(){}return s.isBuffered=function(n,e){try{if(n){for(var t=s.getBuffered(n),r=0;r<t.length;r++)if(e>=t.start(r)&&e<=t.end(r))return!0}}catch{}return!1},s.bufferInfo=function(n,e,t){try{if(n){var r,i=s.getBuffered(n),a=[];for(r=0;r<i.length;r++)a.push({start:i.start(r),end:i.end(r)});return this.bufferedInfo(a,e,t)}}catch{}return{len:0,start:e,end:e,nextStart:void 0}},s.bufferedInfo=function(n,e,t){e=Math.max(0,e),n.sort(function(m,E){var v=m.start-E.start;return v||E.end-m.end});var r=[];if(t)for(var i=0;i<n.length;i++){var a=r.length;if(a){var o=r[a-1].end;n[i].start-o<t?n[i].end>o&&(r[a-1].end=n[i].end):r.push(n[i])}else r.push(n[i])}else r=n;for(var l,h=0,u=e,d=e,c=0;c<r.length;c++){var f=r[c].start,g=r[c].end;if(e+t>=f&&e<g)u=f,h=(d=g)-e;else if(e+t<f){l=f;break}}return{len:h,start:u||0,end:d||0,nextStart:l}},s.getBuffered=function(n){try{return n.buffered}catch(e){return b.log("failed to get media.buffered",e),eo}},s}(),ui=function(s,n,e,t,r,i){t===void 0&&(t=0),r===void 0&&(r=-1),i===void 0&&(i=!1),this.level=void 0,this.sn=void 0,this.part=void 0,this.id=void 0,this.size=void 0,this.partial=void 0,this.transmuxing={start:0,executeStart:0,executeEnd:0,end:0},this.buffering={audio:{start:0,executeStart:0,executeEnd:0,end:0},video:{start:0,executeStart:0,executeEnd:0,end:0},audiovideo:{start:0,executeStart:0,executeEnd:0,end:0}},this.level=s,this.sn=n,this.id=e,this.size=t,this.part=r,this.partial=i};function vr(s,n){for(var e=0,t=s.length;e<t;e++){var r;if(((r=s[e])==null?void 0:r.cc)===n)return s[e]}return null}function Xn(s,n){if(s){var e=s.start+n;s.start=s.startPTS=e,s.endPTS=e+s.duration}}function zn(s,n){for(var e=n.fragments,t=0,r=e.length;t<r;t++)Xn(e[t],s);n.fragmentHint&&Xn(n.fragmentHint,s),n.alignedSliding=!0}function to(s,n,e){n&&(function(t,r,i){if(function(o,l,h){return!(!l||!(h.endCC>h.startCC||o&&o.cc<h.startCC))}(t,i,r)){var a=function(o,l){var h=o.fragments,u=l.fragments;if(u.length&&h.length){var d=vr(h,u[0].cc);if(d&&(!d||d.startPTS))return d;b.log("No frag in previous level to align on")}else b.log("No fragments to align")}(i,r);a&&O(a.start)&&(b.log("Adjusting PTS using last level due to CC increase within current level "+r.url),zn(a.start,r))}}(s,e,n),!e.alignedSliding&&n&&mr(e,n),e.alignedSliding||!n||e.skippedSegments||On(n,e))}function mr(s,n){if(s.hasProgramDateTime&&n.hasProgramDateTime){var e=s.fragments,t=n.fragments;if(e.length&&t.length){var r,i,a=Math.min(n.endCC,s.endCC);n.startCC<a&&s.startCC<a&&(r=vr(t,a),i=vr(e,a)),r&&i||(i=vr(e,(r=t[Math.floor(t.length/2)]).cc)||e[Math.floor(e.length/2)]);var o=r.programDateTime,l=i.programDateTime;o&&l&&zn((l-o)/1e3-(i.start-r.start),s)}}}var Qn=Math.pow(2,17),ro=function(){function s(e){this.config=void 0,this.loader=null,this.partLoadTimeout=-1,this.config=e}var n=s.prototype;return n.destroy=function(){this.loader&&(this.loader.destroy(),this.loader=null)},n.abort=function(){this.loader&&this.loader.abort()},n.load=function(e,t){var r=this,i=e.url;if(!i)return Promise.reject(new Qe({type:G.NETWORK_ERROR,details:w.FRAG_LOAD_ERROR,fatal:!1,frag:e,error:new Error("Fragment does not have a "+(i?"part list":"url")),networkDetails:null}));this.abort();var a=this.config,o=a.fLoader,l=a.loader;return new Promise(function(h,u){if(r.loader&&r.loader.destroy(),e.gap){if(e.tagList.some(function(m){return m[0]==="GAP"}))return void u($n(e));e.gap=!1}var d=r.loader=e.loader=o?new o(a):new l(a),c=Jn(e),f=Kn(a.fragLoadPolicy.default),g={loadPolicy:f,timeout:f.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:e.sn==="initSegment"?1/0:Qn};e.stats=d.stats,d.load(c,g,{onSuccess:function(m,E,v,y){r.resetLoader(e,d);var T=m.data;v.resetIV&&e.decryptdata&&(e.decryptdata.iv=new Uint8Array(T.slice(0,16)),T=T.slice(16)),h({frag:e,part:null,payload:T,networkDetails:y})},onError:function(m,E,v,y){r.resetLoader(e,d),u(new Qe({type:G.NETWORK_ERROR,details:w.FRAG_LOAD_ERROR,fatal:!1,frag:e,response:ye({url:i,data:void 0},m),error:new Error("HTTP Error "+m.code+" "+m.text),networkDetails:v,stats:y}))},onAbort:function(m,E,v){r.resetLoader(e,d),u(new Qe({type:G.NETWORK_ERROR,details:w.INTERNAL_ABORTED,fatal:!1,frag:e,error:new Error("Aborted"),networkDetails:v,stats:m}))},onTimeout:function(m,E,v){r.resetLoader(e,d),u(new Qe({type:G.NETWORK_ERROR,details:w.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,error:new Error("Timeout after "+g.timeout+"ms"),networkDetails:v,stats:m}))},onProgress:function(m,E,v,y){t&&t({frag:e,part:null,payload:v,networkDetails:y})}})})},n.loadPart=function(e,t,r){var i=this;this.abort();var a=this.config,o=a.fLoader,l=a.loader;return new Promise(function(h,u){if(i.loader&&i.loader.destroy(),e.gap||t.gap)u($n(e,t));else{var d=i.loader=e.loader=o?new o(a):new l(a),c=Jn(e,t),f=Kn(a.fragLoadPolicy.default),g={loadPolicy:f,timeout:f.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:Qn};t.stats=d.stats,d.load(c,g,{onSuccess:function(m,E,v,y){i.resetLoader(e,d),i.updateStatsFromPart(e,t);var T={frag:e,part:t,payload:m.data,networkDetails:y};r(T),h(T)},onError:function(m,E,v,y){i.resetLoader(e,d),u(new Qe({type:G.NETWORK_ERROR,details:w.FRAG_LOAD_ERROR,fatal:!1,frag:e,part:t,response:ye({url:c.url,data:void 0},m),error:new Error("HTTP Error "+m.code+" "+m.text),networkDetails:v,stats:y}))},onAbort:function(m,E,v){e.stats.aborted=t.stats.aborted,i.resetLoader(e,d),u(new Qe({type:G.NETWORK_ERROR,details:w.INTERNAL_ABORTED,fatal:!1,frag:e,part:t,error:new Error("Aborted"),networkDetails:v,stats:m}))},onTimeout:function(m,E,v){i.resetLoader(e,d),u(new Qe({type:G.NETWORK_ERROR,details:w.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,part:t,error:new Error("Timeout after "+g.timeout+"ms"),networkDetails:v,stats:m}))}})}})},n.updateStatsFromPart=function(e,t){var r=e.stats,i=t.stats,a=i.total;if(r.loaded+=i.loaded,a){var o=Math.round(e.duration/t.duration),l=Math.min(Math.round(r.loaded/a),o),h=(o-l)*Math.round(r.loaded/l);r.total=r.loaded+h}else r.total=Math.max(r.loaded,r.total);var u=r.loading,d=i.loading;u.start?u.first+=d.first-d.start:(u.start=d.start,u.first=d.first),u.end=d.end},n.resetLoader=function(e,t){e.loader=null,this.loader===t&&(self.clearTimeout(this.partLoadTimeout),this.loader=null),t.destroy()},s}();function Jn(s,n){n===void 0&&(n=null);var e=n||s,t={frag:s,part:n,responseType:"arraybuffer",url:e.url,headers:{},rangeStart:0,rangeEnd:0},r=e.byteRangeStartOffset,i=e.byteRangeEndOffset;if(O(r)&&O(i)){var a,o=r,l=i;if(s.sn==="initSegment"&&((a=s.decryptdata)==null?void 0:a.method)==="AES-128"){var h=i-r;h%16&&(l=i+(16-h%16)),r!==0&&(t.resetIV=!0,o=r-16)}t.rangeStart=o,t.rangeEnd=l}return t}function $n(s,n){var e=new Error("GAP "+(s.gap?"tag":"attribute")+" found"),t={type:G.MEDIA_ERROR,details:w.FRAG_GAP,fatal:!1,frag:s,error:e,networkDetails:null};return n&&(t.part=n),(n||s).stats.aborted=!0,new Qe(t)}var Qe=function(s){function n(e){var t;return(t=s.call(this,e.error.message)||this).data=void 0,t.data=e,t}return Le(n,s),n}(Ot(Error)),io=function(){function s(n,e){this.subtle=void 0,this.aesIV=void 0,this.subtle=n,this.aesIV=e}return s.prototype.decrypt=function(n,e){return this.subtle.decrypt({name:"AES-CBC",iv:this.aesIV},e,n)},s}(),no=function(){function s(n,e){this.subtle=void 0,this.key=void 0,this.subtle=n,this.key=e}return s.prototype.expandKey=function(){return this.subtle.importKey("raw",this.key,{name:"AES-CBC"},!1,["encrypt","decrypt"])},s}(),ao=function(){function s(){this.rcon=[0,1,2,4,8,16,32,64,128,27,54],this.subMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)],this.invSubMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)],this.sBox=new Uint32Array(256),this.invSBox=new Uint32Array(256),this.key=new Uint32Array(0),this.ksRows=0,this.keySize=0,this.keySchedule=void 0,this.invKeySchedule=void 0,this.initTable()}var n=s.prototype;return n.uint8ArrayToUint32Array_=function(e){for(var t=new DataView(e),r=new Uint32Array(4),i=0;i<4;i++)r[i]=t.getUint32(4*i);return r},n.initTable=function(){var e=this.sBox,t=this.invSBox,r=this.subMix,i=r[0],a=r[1],o=r[2],l=r[3],h=this.invSubMix,u=h[0],d=h[1],c=h[2],f=h[3],g=new Uint32Array(256),m=0,E=0,v=0;for(v=0;v<256;v++)g[v]=v<128?v<<1:v<<1^283;for(v=0;v<256;v++){var y=E^E<<1^E<<2^E<<3^E<<4;y=y>>>8^255&y^99,e[m]=y,t[y]=m;var T=g[m],S=g[T],A=g[S],R=257*g[y]^16843008*y;i[m]=R<<24|R>>>8,a[m]=R<<16|R>>>16,o[m]=R<<8|R>>>24,l[m]=R,R=16843009*A^65537*S^257*T^16843008*m,u[y]=R<<24|R>>>8,d[y]=R<<16|R>>>16,c[y]=R<<8|R>>>24,f[y]=R,m?(m=T^g[g[g[A^T]]],E^=g[g[E]]):m=E=1}},n.expandKey=function(e){for(var t=this.uint8ArrayToUint32Array_(e),r=!0,i=0;i<t.length&&r;)r=t[i]===this.key[i],i++;if(!r){this.key=t;var a=this.keySize=t.length;if(a!==4&&a!==6&&a!==8)throw new Error("Invalid aes key size="+a);var o,l,h,u,d=this.ksRows=4*(a+6+1),c=this.keySchedule=new Uint32Array(d),f=this.invKeySchedule=new Uint32Array(d),g=this.sBox,m=this.rcon,E=this.invSubMix,v=E[0],y=E[1],T=E[2],S=E[3];for(o=0;o<d;o++)o<a?h=c[o]=t[o]:(u=h,o%a==0?(u=g[(u=u<<8|u>>>24)>>>24]<<24|g[u>>>16&255]<<16|g[u>>>8&255]<<8|g[255&u],u^=m[o/a|0]<<24):a>6&&o%a==4&&(u=g[u>>>24]<<24|g[u>>>16&255]<<16|g[u>>>8&255]<<8|g[255&u]),c[o]=h=(c[o-a]^u)>>>0);for(l=0;l<d;l++)o=d-l,u=3&l?c[o]:c[o-4],f[l]=l<4||o<=4?u:v[g[u>>>24]]^y[g[u>>>16&255]]^T[g[u>>>8&255]]^S[g[255&u]],f[l]=f[l]>>>0}},n.networkToHostOrderSwap=function(e){return e<<24|(65280&e)<<8|(16711680&e)>>8|e>>>24},n.decrypt=function(e,t,r){for(var i,a,o,l,h,u,d,c,f,g,m,E,v,y,T=this.keySize+6,S=this.invKeySchedule,A=this.invSBox,R=this.invSubMix,L=R[0],D=R[1],k=R[2],I=R[3],C=this.uint8ArrayToUint32Array_(r),_=C[0],x=C[1],M=C[2],F=C[3],U=new Int32Array(e),P=new Int32Array(U.length),N=this.networkToHostOrderSwap;t<U.length;){for(f=N(U[t]),g=N(U[t+1]),m=N(U[t+2]),E=N(U[t+3]),h=f^S[0],u=E^S[1],d=m^S[2],c=g^S[3],v=4,y=1;y<T;y++)i=L[h>>>24]^D[u>>16&255]^k[d>>8&255]^I[255&c]^S[v],a=L[u>>>24]^D[d>>16&255]^k[c>>8&255]^I[255&h]^S[v+1],o=L[d>>>24]^D[c>>16&255]^k[h>>8&255]^I[255&u]^S[v+2],l=L[c>>>24]^D[h>>16&255]^k[u>>8&255]^I[255&d]^S[v+3],h=i,u=a,d=o,c=l,v+=4;i=A[h>>>24]<<24^A[u>>16&255]<<16^A[d>>8&255]<<8^A[255&c]^S[v],a=A[u>>>24]<<24^A[d>>16&255]<<16^A[c>>8&255]<<8^A[255&h]^S[v+1],o=A[d>>>24]<<24^A[c>>16&255]<<16^A[h>>8&255]<<8^A[255&u]^S[v+2],l=A[c>>>24]<<24^A[h>>16&255]<<16^A[u>>8&255]<<8^A[255&d]^S[v+3],P[t]=N(i^_),P[t+1]=N(l^x),P[t+2]=N(o^M),P[t+3]=N(a^F),_=f,x=g,M=m,F=E,t+=4}return P.buffer},s}(),hi=function(){function s(e,t){var r=(t===void 0?{}:t).removePKCS7Padding,i=r===void 0||r;if(this.logEnabled=!0,this.removePKCS7Padding=void 0,this.subtle=null,this.softwareDecrypter=null,this.key=null,this.fastAesKey=null,this.remainderData=null,this.currentIV=null,this.currentResult=null,this.useSoftware=void 0,this.useSoftware=e.enableSoftwareAES,this.removePKCS7Padding=i,i)try{var a=self.crypto;a&&(this.subtle=a.subtle||a.webkitSubtle)}catch{}this.subtle===null&&(this.useSoftware=!0)}var n=s.prototype;return n.destroy=function(){this.subtle=null,this.softwareDecrypter=null,this.key=null,this.fastAesKey=null,this.remainderData=null,this.currentIV=null,this.currentResult=null},n.isSync=function(){return this.useSoftware},n.flush=function(){var e=this.currentResult,t=this.remainderData;if(!e||t)return this.reset(),null;var r,i,a,o=new Uint8Array(e);return this.reset(),this.removePKCS7Padding?(i=(r=o).byteLength,(a=i&&new DataView(r.buffer).getUint8(i-1))?st(r,0,i-a):r):o},n.reset=function(){this.currentResult=null,this.currentIV=null,this.remainderData=null,this.softwareDecrypter&&(this.softwareDecrypter=null)},n.decrypt=function(e,t,r){var i=this;return this.useSoftware?new Promise(function(a,o){i.softwareDecrypt(new Uint8Array(e),t,r);var l=i.flush();l?a(l.buffer):o(new Error("[softwareDecrypt] Failed to decrypt data"))}):this.webCryptoDecrypt(new Uint8Array(e),t,r)},n.softwareDecrypt=function(e,t,r){var i=this.currentIV,a=this.currentResult,o=this.remainderData;this.logOnce("JS AES decrypt"),o&&(e=Fe(o,e),this.remainderData=null);var l=this.getValidChunk(e);if(!l.length)return null;i&&(r=i);var h=this.softwareDecrypter;h||(h=this.softwareDecrypter=new ao),h.expandKey(t);var u=a;return this.currentResult=h.decrypt(l.buffer,0,r),this.currentIV=st(l,-16).buffer,u||null},n.webCryptoDecrypt=function(e,t,r){var i=this,a=this.subtle;return this.key===t&&this.fastAesKey||(this.key=t,this.fastAesKey=new no(a,t)),this.fastAesKey.expandKey().then(function(o){return a?(i.logOnce("WebCrypto AES decrypt"),new io(a,new Uint8Array(r)).decrypt(e.buffer,o)):Promise.reject(new Error("web crypto not initialized"))}).catch(function(o){return b.warn("[decrypter]: WebCrypto Error, disable WebCrypto API, "+o.name+": "+o.message),i.onWebCryptoError(e,t,r)})},n.onWebCryptoError=function(e,t,r){this.useSoftware=!0,this.logEnabled=!0,this.softwareDecrypt(e,t,r);var i=this.flush();if(i)return i.buffer;throw new Error("WebCrypto and softwareDecrypt: failed to decrypt data")},n.getValidChunk=function(e){var t=e,r=e.length-e.length%16;return r!==e.length&&(t=st(e,0,r),this.remainderData=st(e,r)),t},n.logOnce=function(e){this.logEnabled&&(b.log("[decrypter]: "+e),this.logEnabled=!1)},s}(),so=function(s){for(var n="",e=s.length,t=0;t<e;t++)n+="["+s.start(t).toFixed(3)+"-"+s.end(t).toFixed(3)+"]";return n},Oe="STOPPED",X="IDLE",di="KEY_LOADING",bt="FRAG_LOADING",kt="FRAG_LOADING_WAITING_RETRY",Wt="WAITING_TRACK",Je="PARSING",pr="PARSED",jt="ENDED",Dt="ERROR",qt="WAITING_INIT_PTS",lt="WAITING_LEVEL",ci=function(s){function n(t,r,i,a,o){var l;return(l=s.call(this)||this).hls=void 0,l.fragPrevious=null,l.fragCurrent=null,l.fragmentTracker=void 0,l.transmuxer=null,l._state=Oe,l.playlistType=void 0,l.media=null,l.mediaBuffer=null,l.config=void 0,l.bitrateTest=!1,l.lastCurrentTime=0,l.nextLoadPosition=0,l.startPosition=0,l.startTimeOffset=null,l.loadedmetadata=!1,l.retryDate=0,l.levels=null,l.fragmentLoader=void 0,l.keyLoader=void 0,l.levelLastLoaded=null,l.startFragRequested=!1,l.decrypter=void 0,l.initPTS=[],l.onvseeking=null,l.onvended=null,l.logPrefix="",l.log=void 0,l.warn=void 0,l.playlistType=o,l.logPrefix=a,l.log=b.log.bind(b,a+":"),l.warn=b.warn.bind(b,a+":"),l.hls=t,l.fragmentLoader=new ro(t.config),l.keyLoader=i,l.fragmentTracker=r,l.config=t.config,l.decrypter=new hi(t.config),t.on(p.MANIFEST_LOADED,l.onManifestLoaded,function(h){if(h===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return h}(l)),l}Le(n,s);var e=n.prototype;return e.doTick=function(){this.onTickEnd()},e.onTickEnd=function(){},e.startLoad=function(t){},e.stopLoad=function(){this.fragmentLoader.abort(),this.keyLoader.abort(this.playlistType);var t=this.fragCurrent;t!=null&&t.loader&&(t.abortRequests(),this.fragmentTracker.removeFragment(t)),this.resetTransmuxer(),this.fragCurrent=null,this.fragPrevious=null,this.clearInterval(),this.clearNextTick(),this.state=Oe},e._streamEnded=function(t,r){if(r.live||t.nextStart||!t.end||!this.media)return!1;var i=r.partList;if(i!=null&&i.length){var a=i[i.length-1];return ue.isBuffered(this.media,a.start+a.duration/2)}var o=r.fragments[r.fragments.length-1].type;return this.fragmentTracker.isEndListAppended(o)},e.getLevelDetails=function(){var t;if(this.levels&&this.levelLastLoaded!==null)return(t=this.levelLastLoaded)==null?void 0:t.details},e.onMediaAttached=function(t,r){var i=this.media=this.mediaBuffer=r.media;this.onvseeking=this.onMediaSeeking.bind(this),this.onvended=this.onMediaEnded.bind(this),i.addEventListener("seeking",this.onvseeking),i.addEventListener("ended",this.onvended);var a=this.config;this.levels&&a.autoStartLoad&&this.state===Oe&&this.startLoad(a.startPosition)},e.onMediaDetaching=function(){var t=this.media;t!=null&&t.ended&&(this.log("MSE detaching and video ended, reset startPosition"),this.startPosition=this.lastCurrentTime=0),t&&this.onvseeking&&this.onvended&&(t.removeEventListener("seeking",this.onvseeking),t.removeEventListener("ended",this.onvended),this.onvseeking=this.onvended=null),this.keyLoader&&this.keyLoader.detach(),this.media=this.mediaBuffer=null,this.loadedmetadata=!1,this.fragmentTracker.removeAllFragments(),this.stopLoad()},e.onMediaSeeking=function(){var t=this.config,r=this.fragCurrent,i=this.media,a=this.mediaBuffer,o=this.state,l=i?i.currentTime:0,h=ue.bufferInfo(a||i,l,t.maxBufferHole);if(this.log("media seeking to "+(O(l)?l.toFixed(3):l)+", state: "+o),this.state===jt)this.resetLoadingState();else if(r){var u=t.maxFragLookUpTolerance,d=r.start-u,c=r.start+r.duration+u;if(!h.len||c<h.start||d>h.end){var f=l>c;(l<d||f)&&(f&&r.loader&&(this.log("seeking outside of buffer while fragment load in progress, cancel fragment load"),r.abortRequests(),this.resetLoadingState()),this.fragPrevious=null)}}i&&(this.fragmentTracker.removeFragmentsInRange(l,1/0,this.playlistType,!0),this.lastCurrentTime=l),this.loadedmetadata||h.len||(this.nextLoadPosition=this.startPosition=l),this.tickImmediate()},e.onMediaEnded=function(){this.startPosition=this.lastCurrentTime=0},e.onManifestLoaded=function(t,r){this.startTimeOffset=r.startTimeOffset,this.initPTS=[]},e.onHandlerDestroying=function(){this.hls.off(p.MANIFEST_LOADED,this.onManifestLoaded,this),this.stopLoad(),s.prototype.onHandlerDestroying.call(this),this.hls=null},e.onHandlerDestroyed=function(){this.state=Oe,this.fragmentLoader&&this.fragmentLoader.destroy(),this.keyLoader&&this.keyLoader.destroy(),this.decrypter&&this.decrypter.destroy(),this.hls=this.log=this.warn=this.decrypter=this.keyLoader=this.fragmentLoader=this.fragmentTracker=null,s.prototype.onHandlerDestroyed.call(this)},e.loadFragment=function(t,r,i){this._loadFragForPlayback(t,r,i)},e._loadFragForPlayback=function(t,r,i){var a=this;this._doFragLoad(t,r,i,function(o){if(a.fragContextChanged(t))return a.warn("Fragment "+t.sn+(o.part?" p: "+o.part.index:"")+" of level "+t.level+" was dropped during download."),void a.fragmentTracker.removeFragment(t);t.stats.chunkCount++,a._handleFragmentLoadProgress(o)}).then(function(o){if(o){var l=a.state;a.fragContextChanged(t)?(l===bt||!a.fragCurrent&&l===Je)&&(a.fragmentTracker.removeFragment(t),a.state=X):("payload"in o&&(a.log("Loaded fragment "+t.sn+" of level "+t.level),a.hls.trigger(p.FRAG_LOADED,o)),a._handleFragmentLoadComplete(o))}}).catch(function(o){a.state!==Oe&&a.state!==Dt&&(a.warn(o),a.resetFragmentLoading(t))})},e.clearTrackerIfNeeded=function(t){var r,i=this.fragmentTracker;if(i.getState(t)===qn){var a=t.type,o=this.getFwdBufferInfo(this.mediaBuffer,a),l=Math.max(t.duration,o?o.len:this.config.maxBufferLength);this.reduceMaxBufferLength(l)&&i.removeFragment(t)}else((r=this.mediaBuffer)==null?void 0:r.buffered.length)===0?i.removeAllFragments():i.hasParts(t.type)&&(i.detectPartialFragments({frag:t,part:null,stats:t.stats,id:t.type}),i.getState(t)===At&&i.removeFragment(t))},e.checkLiveUpdate=function(t){if(t.updated&&!t.live){var r=t.fragments[t.fragments.length-1];this.fragmentTracker.detectPartialFragments({frag:r,part:null,stats:r.stats,id:r.type})}t.fragments[0]||(t.deltaUpdateFailed=!0)},e.flushMainBuffer=function(t,r,i){if(i===void 0&&(i=null),t-r){var a={startOffset:t,endOffset:r,type:i};this.hls.trigger(p.BUFFER_FLUSHING,a)}},e._loadInitSegment=function(t,r){var i=this;this._doFragLoad(t,r).then(function(a){if(!a||i.fragContextChanged(t)||!i.levels)throw new Error("init load aborted");return a}).then(function(a){var o=i.hls,l=a.payload,h=t.decryptdata;if(l&&l.byteLength>0&&h!=null&&h.key&&h.iv&&h.method==="AES-128"){var u=self.performance.now();return i.decrypter.decrypt(new Uint8Array(l),h.key.buffer,h.iv.buffer).catch(function(d){throw o.trigger(p.ERROR,{type:G.MEDIA_ERROR,details:w.FRAG_DECRYPT_ERROR,fatal:!1,error:d,reason:d.message,frag:t}),d}).then(function(d){var c=self.performance.now();return o.trigger(p.FRAG_DECRYPTED,{frag:t,payload:d,stats:{tstart:u,tdecrypt:c}}),a.payload=d,i.completeInitSegmentLoad(a)})}return i.completeInitSegmentLoad(a)}).catch(function(a){i.state!==Oe&&i.state!==Dt&&(i.warn(a),i.resetFragmentLoading(t))})},e.completeInitSegmentLoad=function(t){if(!this.levels)throw new Error("init load aborted, missing levels");var r=t.frag.stats;this.state=X,t.frag.data=new Uint8Array(t.payload),r.parsing.start=r.buffering.start=self.performance.now(),r.parsing.end=r.buffering.end=self.performance.now(),this.tick()},e.fragContextChanged=function(t){var r=this.fragCurrent;return!t||!r||t.sn!==r.sn||t.level!==r.level},e.fragBufferedComplete=function(t,r){var i,a,o,l,h=this.mediaBuffer?this.mediaBuffer:this.media;if(this.log("Buffered "+t.type+" sn: "+t.sn+(r?" part: "+r.index:"")+" of "+(this.playlistType===Z?"level":"track")+" "+t.level+" (frag:["+((i=t.startPTS)!=null?i:NaN).toFixed(3)+"-"+((a=t.endPTS)!=null?a:NaN).toFixed(3)+"] > buffer:"+(h?so(ue.getBuffered(h)):"(detached)")+")"),t.sn!=="initSegment"){var u;if(t.type!==qe){var d=t.elementaryStreams;if(!Object.keys(d).some(function(f){return!!d[f]}))return void(this.state=X)}var c=(u=this.levels)==null?void 0:u[t.level];c!=null&&c.fragmentError&&(this.log("Resetting level fragment error count of "+c.fragmentError+" on frag buffered"),c.fragmentError=0)}this.state=X,h&&(!this.loadedmetadata&&t.type==Z&&h.buffered.length&&((o=this.fragCurrent)==null?void 0:o.sn)===((l=this.fragPrevious)==null?void 0:l.sn)&&(this.loadedmetadata=!0,this.seekToStartPos()),this.tick())},e.seekToStartPos=function(){},e._handleFragmentLoadComplete=function(t){var r=this.transmuxer;if(r){var i=t.frag,a=t.part,o=t.partsLoaded,l=!o||o.length===0||o.some(function(u){return!u}),h=new ui(i.level,i.sn,i.stats.chunkCount+1,0,a?a.index:-1,!l);r.flush(h)}},e._handleFragmentLoadProgress=function(t){},e._doFragLoad=function(t,r,i,a){var o,l=this;i===void 0&&(i=null);var h=r==null?void 0:r.details;if(!this.levels||!h)throw new Error("frag load aborted, missing level"+(h?"":" detail")+"s");var u=null;if(!t.encrypted||(o=t.decryptdata)!=null&&o.key?!t.encrypted&&h.encryptedFragments.length&&this.keyLoader.loadClear(t,h.encryptedFragments):(this.log("Loading key for "+t.sn+" of ["+h.startSN+"-"+h.endSN+"], "+(this.logPrefix==="[stream-controller]"?"level":"track")+" "+t.level),this.state=di,this.fragCurrent=t,u=this.keyLoader.load(t).then(function(v){if(!l.fragContextChanged(v.frag))return l.hls.trigger(p.KEY_LOADED,v),l.state===di&&(l.state=X),v}),this.hls.trigger(p.KEY_LOADING,{frag:t}),this.fragCurrent===null&&(u=Promise.reject(new Error("frag load aborted, context changed in KEY_LOADING")))),i=Math.max(t.start,i||0),this.config.lowLatencyMode&&t.sn!=="initSegment"){var d=h.partList;if(d&&a){i>t.end&&h.fragmentHint&&(t=h.fragmentHint);var c=this.getNextPart(d,t,i);if(c>-1){var f,g=d[c];return this.log("Loading part sn: "+t.sn+" p: "+g.index+" cc: "+t.cc+" of playlist ["+h.startSN+"-"+h.endSN+"] parts [0-"+c+"-"+(d.length-1)+"] "+(this.logPrefix==="[stream-controller]"?"level":"track")+": "+t.level+", target: "+parseFloat(i.toFixed(3))),this.nextLoadPosition=g.start+g.duration,this.state=bt,f=u?u.then(function(v){return!v||l.fragContextChanged(v.frag)?null:l.doFragPartsLoad(t,g,r,a)}).catch(function(v){return l.handleFragLoadError(v)}):this.doFragPartsLoad(t,g,r,a).catch(function(v){return l.handleFragLoadError(v)}),this.hls.trigger(p.FRAG_LOADING,{frag:t,part:g,targetBufferTime:i}),this.fragCurrent===null?Promise.reject(new Error("frag load aborted, context changed in FRAG_LOADING parts")):f}if(!t.url||this.loadedEndOfParts(d,i))return Promise.resolve(null)}}this.log("Loading fragment "+t.sn+" cc: "+t.cc+" "+(h?"of ["+h.startSN+"-"+h.endSN+"] ":"")+(this.logPrefix==="[stream-controller]"?"level":"track")+": "+t.level+", target: "+parseFloat(i.toFixed(3))),O(t.sn)&&!this.bitrateTest&&(this.nextLoadPosition=t.start+t.duration),this.state=bt;var m,E=this.config.progressive;return m=E&&u?u.then(function(v){return!v||l.fragContextChanged(v==null?void 0:v.frag)?null:l.fragmentLoader.load(t,a)}).catch(function(v){return l.handleFragLoadError(v)}):Promise.all([this.fragmentLoader.load(t,E?a:void 0),u]).then(function(v){var y=v[0];return!E&&y&&a&&a(y),y}).catch(function(v){return l.handleFragLoadError(v)}),this.hls.trigger(p.FRAG_LOADING,{frag:t,targetBufferTime:i}),this.fragCurrent===null?Promise.reject(new Error("frag load aborted, context changed in FRAG_LOADING")):m},e.doFragPartsLoad=function(t,r,i,a){var o=this;return new Promise(function(l,h){var u,d=[],c=(u=i.details)==null?void 0:u.partList;(function f(g){o.fragmentLoader.loadPart(t,g,a).then(function(m){d[g.index]=m;var E=m.part;o.hls.trigger(p.FRAG_LOADED,m);var v=Nn(i,t.sn,g.index+1)||Un(c,t.sn,g.index+1);if(!v)return l({frag:t,part:E,partsLoaded:d});f(v)}).catch(h)})(r)})},e.handleFragLoadError=function(t){if("data"in t){var r=t.data;t.data&&r.details===w.INTERNAL_ABORTED?this.handleFragLoadAborted(r.frag,r.part):this.hls.trigger(p.ERROR,r)}else this.hls.trigger(p.ERROR,{type:G.OTHER_ERROR,details:w.INTERNAL_EXCEPTION,err:t,error:t,fatal:!0});return null},e._handleTransmuxerFlush=function(t){var r=this.getCurrentContext(t);if(r&&this.state===Je){var i=r.frag,a=r.part,o=r.level,l=self.performance.now();i.stats.parsing.end=l,a&&(a.stats.parsing.end=l),this.updateLevelTiming(i,a,o,t.partial)}else this.fragCurrent||this.state===Oe||this.state===Dt||(this.state=X)},e.getCurrentContext=function(t){var r=this.levels,i=this.fragCurrent,a=t.level,o=t.sn,l=t.part;if(r==null||!r[a])return this.warn("Levels object was unset while buffering fragment "+o+" of level "+a+". The current chunk will not be buffered."),null;var h=r[a],u=l>-1?Nn(h,o,l):null,d=u?u.fragment:function(c,f,g){if(c==null||!c.details)return null;var m=c.details,E=m.fragments[f-m.startSN];return E||((E=m.fragmentHint)&&E.sn===f?E:f<m.startSN&&g&&g.sn===f?g:null)}(h,o,i);return d?(i&&i!==d&&(d.stats=i.stats),{frag:d,part:u,level:h}):null},e.bufferFragmentData=function(t,r,i,a,o){var l;if(t&&this.state===Je){var h=t.data1,u=t.data2,d=h;if(h&&u&&(d=Fe(h,u)),(l=d)!=null&&l.length){var c={type:t.type,frag:r,part:i,chunkMeta:a,parent:r.type,data:d};if(this.hls.trigger(p.BUFFER_APPENDING,c),t.dropped&&t.independent&&!i){if(o)return;this.flushBufferGap(r)}}}},e.flushBufferGap=function(t){var r=this.media;if(r)if(ue.isBuffered(r,r.currentTime)){var i=r.currentTime,a=ue.bufferInfo(r,i,0),o=t.duration,l=Math.min(2*this.config.maxFragLookUpTolerance,.25*o),h=Math.max(Math.min(t.start-l,a.end-l),i+l);t.start-h>l&&this.flushMainBuffer(h,t.start)}else this.flushMainBuffer(0,t.start)},e.getFwdBufferInfo=function(t,r){var i=this.getLoadPosition();return O(i)?this.getFwdBufferInfoAtPos(t,i,r):null},e.getFwdBufferInfoAtPos=function(t,r,i){var a=this.config.maxBufferHole,o=ue.bufferInfo(t,r,a);if(o.len===0&&o.nextStart!==void 0){var l=this.fragmentTracker.getBufferedFrag(r,i);if(l&&o.nextStart<l.end)return ue.bufferInfo(t,r,Math.max(o.nextStart,a))}return o},e.getMaxBufferLength=function(t){var r,i=this.config;return r=t?Math.max(8*i.maxBufferSize/t,i.maxBufferLength):i.maxBufferLength,Math.min(r,i.maxMaxBufferLength)},e.reduceMaxBufferLength=function(t){var r=this.config,i=t||r.maxBufferLength;return r.maxMaxBufferLength>=i&&(r.maxMaxBufferLength/=2,this.warn("Reduce max buffer length to "+r.maxMaxBufferLength+"s"),!0)},e.getAppendedFrag=function(t,r){var i=this.fragmentTracker.getAppendedFrag(t,Z);return i&&"fragment"in i?i.fragment:i},e.getNextFragment=function(t,r){var i=r.fragments,a=i.length;if(!a)return null;var o,l=this.config,h=i[0].start;if(r.live){var u=l.initialLiveManifestSize;if(a<u)return this.warn("Not enough fragments to start playback (have: "+a+", need: "+u+")"),null;(!r.PTSKnown&&!this.startFragRequested&&this.startPosition===-1||t<h)&&(o=this.getInitialLiveFragment(r,i),this.startPosition=this.nextLoadPosition=o?this.hls.liveSyncPosition||o.start:t)}else t<=h&&(o=i[0]);if(!o){var d=l.lowLatencyMode?r.partEnd:r.fragmentEnd;o=this.getFragmentAtPosition(t,d,r)}return this.mapToInitFragWhenRequired(o)},e.isLoopLoading=function(t,r){var i=this.fragmentTracker.getState(t);return(i===Yt||i===At&&!!t.gap)&&this.nextLoadPosition>r},e.getNextFragmentLoopLoading=function(t,r,i,a,o){var l=t.gap,h=this.getNextFragment(this.nextLoadPosition,r);if(h===null)return h;if(t=h,l&&t&&!t.gap&&i.nextStart){var u=this.getFwdBufferInfoAtPos(this.mediaBuffer?this.mediaBuffer:this.media,i.nextStart,a);if(u!==null&&i.len+u.len>=o)return this.log('buffer full after gaps in "'+a+'" playlist starting at sn: '+t.sn),null}return t},e.mapToInitFragWhenRequired=function(t){return t==null||!t.initSegment||t!=null&&t.initSegment.data||this.bitrateTest?t:t.initSegment},e.getNextPart=function(t,r,i){for(var a=-1,o=!1,l=!0,h=0,u=t.length;h<u;h++){var d=t[h];if(l=l&&!d.independent,a>-1&&i<d.start)break;var c=d.loaded;c?a=-1:(o||d.independent||l)&&d.fragment===r&&(a=h),o=c}return a},e.loadedEndOfParts=function(t,r){var i=t[t.length-1];return i&&r>i.start&&i.loaded},e.getInitialLiveFragment=function(t,r){var i=this.fragPrevious,a=null;if(i){if(t.hasProgramDateTime&&(this.log("Live playlist, switching playlist, load frag with same PDT: "+i.programDateTime),a=function(u,d,c){if(d===null||!Array.isArray(u)||!u.length||!O(d)||d<(u[0].programDateTime||0)||d>=(u[u.length-1].endProgramDateTime||0))return null;c=c||0;for(var f=0;f<u.length;++f){var g=u[f];if(Ws(d,c,g))return g}return null}(r,i.endProgramDateTime,this.config.maxFragLookUpTolerance)),!a){var o=i.sn+1;if(o>=t.startSN&&o<=t.endSN){var l=r[o-t.startSN];i.cc===l.cc&&(a=l,this.log("Live playlist, switching playlist, load frag with next SN: "+a.sn))}a||(a=function(u,d){return Hn(u,function(c){return c.cc<d?1:c.cc>d?-1:0})}(r,i.cc),a&&this.log("Live playlist, switching playlist, load frag with same CC: "+a.sn))}}else{var h=this.hls.liveSyncPosition;h!==null&&(a=this.getFragmentAtPosition(h,this.bitrateTest?t.fragmentEnd:t.edge,t))}return a},e.getFragmentAtPosition=function(t,r,i){var a,o=this.config,l=this.fragPrevious,h=i.fragments,u=i.endSN,d=i.fragmentHint,c=o.maxFragLookUpTolerance,f=i.partList,g=!!(o.lowLatencyMode&&f!=null&&f.length&&d);if(g&&d&&!this.bitrateTest&&(h=h.concat(d),u=d.sn),a=t<r?cr(l,h,t,t>r-c?0:c):h[h.length-1]){var m=a.sn-i.startSN,E=this.fragmentTracker.getState(a);if((E===Yt||E===At&&a.gap)&&(l=a),l&&a.sn===l.sn&&(!g||f[0].fragment.sn>a.sn)&&l&&a.level===l.level){var v=h[m+1];a=a.sn<u&&this.fragmentTracker.getState(v)!==Yt?v:null}}return a},e.synchronizeToLiveEdge=function(t){var r=this.config,i=this.media;if(i){var a=this.hls.liveSyncPosition,o=i.currentTime,l=t.fragments[0].start,h=t.edge,u=o>=l-r.maxFragLookUpTolerance&&o<=h;if(a!==null&&i.duration>a&&(o<a||!u)){var d=r.liveMaxLatencyDuration!==void 0?r.liveMaxLatencyDuration:r.liveMaxLatencyDurationCount*t.targetduration;(!u&&i.readyState<4||o<h-d)&&(this.loadedmetadata||(this.nextLoadPosition=a),i.readyState&&(this.warn("Playback: "+o.toFixed(3)+" is located too far from the end of live sliding playlist: "+h+", reset currentTime to : "+a.toFixed(3)),i.currentTime=a))}}},e.alignPlaylists=function(t,r,i){var a=t.fragments.length;if(!a)return this.warn("No fragments in live playlist"),0;var o=t.fragments[0].start,l=!r,h=t.alignedSliding&&O(o);if(l||!h&&!o){var u=this.fragPrevious;to(u,i,t);var d=t.fragments[0].start;return this.log("Live playlist sliding: "+d.toFixed(2)+" start-sn: "+(r?r.startSN:"na")+"->"+t.startSN+" prev-sn: "+(u?u.sn:"na")+" fragments: "+a),d}return o},e.waitForCdnTuneIn=function(t){return t.live&&t.canBlockReload&&t.partTarget&&t.tuneInGoal>Math.max(t.partHoldBack,3*t.partTarget)},e.setStartPosition=function(t,r){var i=this.startPosition;if(i<r&&(i=-1),i===-1||this.lastCurrentTime===-1){var a=this.startTimeOffset!==null,o=a?this.startTimeOffset:t.startTimeOffset;o!==null&&O(o)?(i=r+o,o<0&&(i+=t.totalduration),i=Math.min(Math.max(r,i),r+t.totalduration),this.log("Start time offset "+o+" found in "+(a?"multivariant":"media")+" playlist, adjust startPosition to "+i),this.startPosition=i):t.live?i=this.hls.liveSyncPosition||r:this.startPosition=i=0,this.lastCurrentTime=i}this.nextLoadPosition=i},e.getLoadPosition=function(){var t=this.media,r=0;return this.loadedmetadata&&t?r=t.currentTime:this.nextLoadPosition&&(r=this.nextLoadPosition),r},e.handleFragLoadAborted=function(t,r){this.transmuxer&&t.sn!=="initSegment"&&t.stats.aborted&&(this.warn("Fragment "+t.sn+(r?" part "+r.index:"")+" of level "+t.level+" was aborted"),this.resetFragmentLoading(t))},e.resetFragmentLoading=function(t){this.fragCurrent&&(this.fragContextChanged(t)||this.state===kt)||(this.state=X)},e.onFragmentOrKeyLoadError=function(t,r){if(r.chunkMeta&&!r.frag){var i=this.getCurrentContext(r.chunkMeta);i&&(r.frag=i.frag)}var a=r.frag;if(a&&a.type===t&&this.levels)if(this.fragContextChanged(a)){var o;this.warn("Frag load error must match current frag to retry "+a.url+" > "+((o=this.fragCurrent)==null?void 0:o.url))}else{var l=r.details===w.FRAG_GAP;l&&this.fragmentTracker.fragBuffered(a,!0);var h=r.errorAction,u=h||{},d=u.action,c=u.retryCount,f=c===void 0?0:c,g=u.retryConfig;if(h&&d===fr&&g){this.resetStartWhenNotLoaded(this.levelLastLoaded);var m=ni(g,f);this.warn("Fragment "+a.sn+" of "+t+" "+a.level+" errored with "+r.details+", retrying loading "+(f+1)+"/"+g.maxNumRetry+" in "+m+"ms"),h.resolved=!0,this.retryDate=self.performance.now()+m,this.state=kt}else if(g&&h){if(this.resetFragmentErrors(t),!(f<g.maxNumRetry))return void b.warn(r.details+" reached or exceeded max retry ("+f+")");l||d===js||(h.resolved=!0)}else(h==null?void 0:h.action)===Xe?this.state=lt:this.state=Dt;this.tickImmediate()}},e.reduceLengthAndFlushBuffer=function(t){if(this.state===Je||this.state===pr){var r=t.parent,i=this.getFwdBufferInfo(this.mediaBuffer,r),a=i&&i.len>.5;a&&this.reduceMaxBufferLength(i.len);var o=!a;return o&&this.warn("Buffer full error while media.currentTime is not buffered, flush "+r+" buffer"),t.frag&&(this.fragmentTracker.removeFragment(t.frag),this.nextLoadPosition=t.frag.start),this.resetLoadingState(),o}return!1},e.resetFragmentErrors=function(t){t===Me&&(this.fragCurrent=null),this.loadedmetadata||(this.startFragRequested=!1),this.state!==Oe&&(this.state=X)},e.afterBufferFlushed=function(t,r,i){if(t){var a=ue.getBuffered(t);this.fragmentTracker.detectEvictedFragments(r,a,i),this.state===jt&&this.resetLoadingState()}},e.resetLoadingState=function(){this.log("Reset loading state"),this.fragCurrent=null,this.fragPrevious=null,this.state=X},e.resetStartWhenNotLoaded=function(t){if(!this.loadedmetadata){this.startFragRequested=!1;var r=t?t.details:null;r!=null&&r.live?(this.startPosition=-1,this.setStartPosition(r,0),this.resetLoadingState()):this.nextLoadPosition=this.startPosition}},e.resetWhenMissingContext=function(t){this.warn("The loading context changed while buffering fragment "+t.sn+" of level "+t.level+". This chunk will not be buffered."),this.removeUnbufferedFrags(),this.resetStartWhenNotLoaded(this.levelLastLoaded),this.resetLoadingState()},e.removeUnbufferedFrags=function(t){t===void 0&&(t=0),this.fragmentTracker.removeFragmentsInRange(t,1/0,this.playlistType,!1,!0)},e.updateLevelTiming=function(t,r,i,a){var o,l=this,h=i.details;if(h){if(!Object.keys(t.elementaryStreams).reduce(function(d,c){var f=t.elementaryStreams[c];if(f){var g=f.endPTS-f.startPTS;if(g<=0)return l.warn("Could not parse fragment "+t.sn+" "+c+" duration reliably ("+g+")"),d||!1;var m=a?0:Mn(h,t,f.startPTS,f.endPTS,f.startDTS,f.endDTS);return l.hls.trigger(p.LEVEL_PTS_UPDATED,{details:h,level:i,drift:m,type:c,frag:t,start:f.startPTS,end:f.endPTS}),!0}return d},!1)&&((o=this.transmuxer)==null?void 0:o.error)===null){var u=new Error("Found no media in fragment "+t.sn+" of level "+t.level+" resetting transmuxer to fallback to playlist timing");if(i.fragmentError===0&&(i.fragmentError++,t.gap=!0,this.fragmentTracker.removeFragment(t),this.fragmentTracker.fragBuffered(t,!0)),this.warn(u.message),this.hls.trigger(p.ERROR,{type:G.MEDIA_ERROR,details:w.FRAG_PARSING_ERROR,fatal:!1,error:u,frag:t,reason:"Found no media in msn "+t.sn+' of level "'+i.url+'"'}),!this.hls)return;this.resetTransmuxer()}this.state=pr,this.hls.trigger(p.FRAG_PARSED,{frag:t,part:r})}else this.warn("level.details undefined")},e.resetTransmuxer=function(){this.transmuxer&&(this.transmuxer.destroy(),this.transmuxer=null)},e.recoverWorkerError=function(t){t.event==="demuxerWorker"&&(this.fragmentTracker.removeAllFragments(),this.resetTransmuxer(),this.resetStartWhenNotLoaded(this.levelLastLoaded),this.resetLoadingState())},fe(n,[{key:"state",get:function(){return this._state},set:function(t){var r=this._state;r!==t&&(this._state=t,this.log(r+"->"+t))}}]),n}($s),Zn=function(){function s(){this.chunks=[],this.dataLength=0}var n=s.prototype;return n.push=function(e){this.chunks.push(e),this.dataLength+=e.length},n.flush=function(){var e,t=this.chunks,r=this.dataLength;return t.length?(e=t.length===1?t[0]:function(i,a){for(var o=new Uint8Array(a),l=0,h=0;h<i.length;h++){var u=i[h];o.set(u,l),l+=u.length}return o}(t,r),this.reset(),e):new Uint8Array(0)},n.reset=function(){this.chunks.length=0,this.dataLength=0},s}();function We(s,n){return s===void 0&&(s=""),n===void 0&&(n=9e4),{type:s,id:-1,pid:-1,inputTimeScale:n,sequenceNumber:-1,samples:[],dropped:0}}var fi=function(){function s(){this._audioTrack=void 0,this._id3Track=void 0,this.frameIndex=0,this.cachedData=null,this.basePTS=null,this.initPTS=null,this.lastPTS=null}var n=s.prototype;return n.resetInitSegment=function(e,t,r,i){this._id3Track={type:"id3",id:3,pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0}},n.resetTimeStamp=function(e){this.initPTS=e,this.resetContiguity()},n.resetContiguity=function(){this.basePTS=null,this.lastPTS=null,this.frameIndex=0},n.canParse=function(e,t){return!1},n.appendFrame=function(e,t,r){},n.demux=function(e,t){this.cachedData&&(e=Fe(this.cachedData,e),this.cachedData=null);var r,i=Ut(e,0),a=i?i.length:0,o=this._audioTrack,l=this._id3Track,h=i?Vr(i):void 0,u=e.length;for((this.basePTS===null||this.frameIndex===0&&O(h))&&(this.basePTS=oo(h,t,this.initPTS),this.lastPTS=this.basePTS),this.lastPTS===null&&(this.lastPTS=this.basePTS),i&&i.length>0&&l.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:i,type:Kt,duration:Number.POSITIVE_INFINITY});a<u;){if(this.canParse(e,a)){var d=this.appendFrame(o,e,a);d?(this.frameIndex++,this.lastPTS=d.sample.pts,r=a+=d.length):a=u}else Es(e,a)?(i=Ut(e,a),l.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:i,type:Kt,duration:Number.POSITIVE_INFINITY}),r=a+=i.length):a++;if(a===u&&r!==u){var c=st(e,r);this.cachedData?this.cachedData=Fe(this.cachedData,c):this.cachedData=c}}return{audioTrack:o,videoTrack:We(),id3Track:l,textTrack:We()}},n.demuxSampleAes=function(e,t,r){return Promise.reject(new Error("["+this+"] This demuxer does not support Sample-AES decryption"))},n.flush=function(e){var t=this.cachedData;return t&&(this.cachedData=null,this.demux(t,0)),{audioTrack:this._audioTrack,videoTrack:We(),id3Track:this._id3Track,textTrack:We()}},n.destroy=function(){},s}(),oo=function(s,n,e){return O(s)?90*s:9e4*n+(e?9e4*e.baseTime/e.timescale:0)};function ea(s,n){return s[n]===255&&(246&s[n+1])==240}function ta(s,n){return 1&s[n+1]?7:9}function gi(s,n){return(3&s[n+3])<<11|s[n+4]<<3|(224&s[n+5])>>>5}function yr(s,n){return n+1<s.length&&ea(s,n)}function lo(s,n){if(yr(s,n)){var e=ta(s,n);if(n+e>=s.length)return!1;var t=gi(s,n);if(t<=e)return!1;var r=n+t;return r===s.length||yr(s,r)}return!1}function ra(s,n,e,t,r){if(!s.samplerate){var i=function(a,o,l,h){var u,d,c,f,g=navigator.userAgent.toLowerCase(),m=h,E=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];u=1+((192&o[l+2])>>>6);var v=(60&o[l+2])>>>2;if(!(v>E.length-1))return c=(1&o[l+2])<<2,c|=(192&o[l+3])>>>6,b.log("manifest codec:"+h+", ADTS type:"+u+", samplingIndex:"+v),/firefox/i.test(g)?v>=6?(u=5,f=new Array(4),d=v-3):(u=2,f=new Array(2),d=v):g.indexOf("android")!==-1?(u=2,f=new Array(2),d=v):(u=5,f=new Array(4),h&&(h.indexOf("mp4a.40.29")!==-1||h.indexOf("mp4a.40.5")!==-1)||!h&&v>=6?d=v-3:((h&&h.indexOf("mp4a.40.2")!==-1&&(v>=6&&c===1||/vivaldi/i.test(g))||!h&&c===1)&&(u=2,f=new Array(2)),d=v)),f[0]=u<<3,f[0]|=(14&v)>>1,f[1]|=(1&v)<<7,f[1]|=c<<3,u===5&&(f[1]|=(14&d)>>1,f[2]=(1&d)<<7,f[2]|=8,f[3]=0),{config:f,samplerate:E[v],channelCount:c,codec:"mp4a.40."+u,manifestCodec:m};var y=new Error("invalid ADTS sampling index:"+v);a.emit(p.ERROR,p.ERROR,{type:G.MEDIA_ERROR,details:w.FRAG_PARSING_ERROR,fatal:!0,error:y,reason:y.message})}(n,e,t,r);if(!i)return;s.config=i.config,s.samplerate=i.samplerate,s.channelCount=i.channelCount,s.codec=i.codec,s.manifestCodec=i.manifestCodec,b.log("parsed codec:"+s.codec+", rate:"+i.samplerate+", channels:"+i.channelCount)}}function ia(s){return 9216e4/s}function na(s,n,e,t,r){var i,a=t+r*ia(s.samplerate),o=function(g,m){var E=ta(g,m);if(m+E<=g.length){var v=gi(g,m)-E;if(v>0)return{headerLength:E,frameLength:v}}}(n,e);if(o){var l=o.frameLength,h=o.headerLength,u=h+l,d=Math.max(0,e+u-n.length);d?(i=new Uint8Array(u-h)).set(n.subarray(e+h,n.length),0):i=n.subarray(e+h,e+u);var c={unit:i,pts:a};return d||s.samples.push(c),{sample:c,length:u,missing:d}}var f=n.length-e;return(i=new Uint8Array(f)).set(n.subarray(e,n.length),0),{sample:{unit:i,pts:a},length:f,missing:-1}}var Er=null,uo=[32,64,96,128,160,192,224,256,288,320,352,384,416,448,32,48,56,64,80,96,112,128,160,192,224,256,320,384,32,40,48,56,64,80,96,112,128,160,192,224,256,320,32,48,56,64,80,96,112,128,144,160,176,192,224,256,8,16,24,32,40,48,56,64,80,96,112,128,144,160],ho=[44100,48e3,32e3,22050,24e3,16e3,11025,12e3,8e3],co=[[0,72,144,12],[0,0,0,0],[0,72,144,12],[0,144,144,12]],fo=[0,1,1,4];function aa(s,n,e,t,r){if(!(e+24>n.length)){var i=sa(n,e);if(i&&e+i.frameLength<=n.length){var a=t+r*(9e4*i.samplesPerFrame/i.sampleRate),o={unit:n.subarray(e,e+i.frameLength),pts:a,dts:a};return s.config=[],s.channelCount=i.channelCount,s.samplerate=i.sampleRate,s.samples.push(o),{sample:o,length:i.frameLength,missing:0}}}}function sa(s,n){var e=s[n+1]>>3&3,t=s[n+1]>>1&3,r=s[n+2]>>4&15,i=s[n+2]>>2&3;if(e!==1&&r!==0&&r!==15&&i!==3){var a=s[n+2]>>1&1,o=s[n+3]>>6,l=1e3*uo[14*(e===3?3-t:t===3?3:4)+r-1],h=ho[3*(e===3?0:e===2?1:2)+i],u=o===3?1:2,d=co[e][t],c=fo[t],f=8*d*c,g=Math.floor(d*l/h+a)*c;if(Er===null){var m=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);Er=m?parseInt(m[1]):0}return Er&&Er<=87&&t===2&&l>=224e3&&o===0&&(s[n+3]=128|s[n+3]),{sampleRate:h,channelCount:u,frameLength:g,samplesPerFrame:f}}}function vi(s,n){return s[n]===255&&(224&s[n+1])==224&&(6&s[n+1])!=0}function oa(s,n){return n+1<s.length&&vi(s,n)}function la(s,n){if(n+1<s.length&&vi(s,n)){var e=sa(s,n),t=4;e!=null&&e.frameLength&&(t=e.frameLength);var r=n+t;return r===s.length||oa(s,r)}return!1}var go=function(s){function n(t,r){var i;return(i=s.call(this)||this).observer=void 0,i.config=void 0,i.observer=t,i.config=r,i}Le(n,s);var e=n.prototype;return e.resetInitSegment=function(t,r,i,a){s.prototype.resetInitSegment.call(this,t,r,i,a),this._audioTrack={container:"audio/adts",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"aac",samples:[],manifestCodec:r,duration:a,inputTimeScale:9e4,dropped:0}},n.probe=function(t){if(!t)return!1;var r=Ut(t,0),i=(r==null?void 0:r.length)||0;if(la(t,i))return!1;for(var a=t.length;i<a;i++)if(lo(t,i))return b.log("ADTS sync word found !"),!0;return!1},e.canParse=function(t,r){return function(i,a){return function(o,l){return l+5<o.length}(i,a)&&ea(i,a)&&gi(i,a)<=i.length-a}(t,r)},e.appendFrame=function(t,r,i){ra(t,this.observer,r,i,t.manifestCodec);var a=na(t,r,i,this.basePTS,this.frameIndex);if(a&&a.missing===0)return a},n}(fi),vo=/\/emsg[-/]ID3/i,mo=function(){function s(e,t){this.remainderData=null,this.timeOffset=0,this.config=void 0,this.videoTrack=void 0,this.audioTrack=void 0,this.id3Track=void 0,this.txtTrack=void 0,this.config=t}var n=s.prototype;return n.resetTimeStamp=function(){},n.resetInitSegment=function(e,t,r,i){var a=this.videoTrack=We("video",1),o=this.audioTrack=We("audio",1),l=this.txtTrack=We("text",1);if(this.id3Track=We("id3",1),this.timeOffset=0,e!=null&&e.byteLength){var h=un(e);if(h.video){var u=h.video,d=u.id,c=u.timescale,f=u.codec;a.id=d,a.timescale=l.timescale=c,a.codec=f}if(h.audio){var g=h.audio,m=g.id,E=g.timescale,v=g.codec;o.id=m,o.timescale=E,o.codec=v}l.id=an.text,a.sampleDuration=0,a.duration=o.duration=i}},n.resetContiguity=function(){this.remainderData=null},s.probe=function(e){return function(t){for(var r=t.byteLength,i=0;i<r;){var a=K(t,i);if(a>8&&t[i+4]===109&&t[i+5]===111&&t[i+6]===111&&t[i+7]===102)return!0;i=a>1?i+a:r}return!1}(e)},n.demux=function(e,t){this.timeOffset=t;var r=e,i=this.videoTrack,a=this.txtTrack;if(this.config.progressive){this.remainderData&&(r=Fe(this.remainderData,e));var o=function(h){var u={valid:null,remainder:null},d=q(h,["moof"]);if(d.length<2)return u.remainder=h,u;var c=d[d.length-1];return u.valid=st(h,0,c.byteOffset-8),u.remainder=st(h,c.byteOffset-8),u}(r);this.remainderData=o.remainder,i.samples=o.valid||new Uint8Array}else i.samples=r;var l=this.extractID3Track(i,t);return a.samples=dn(t,i),{videoTrack:i,audioTrack:this.audioTrack,id3Track:l,textTrack:this.txtTrack}},n.flush=function(){var e=this.timeOffset,t=this.videoTrack,r=this.txtTrack;t.samples=this.remainderData||new Uint8Array,this.remainderData=null;var i=this.extractID3Track(t,this.timeOffset);return r.samples=dn(e,t),{videoTrack:t,audioTrack:We(),id3Track:i,textTrack:We()}},n.extractID3Track=function(e,t){var r=this.id3Track;if(e.samples.length){var i=q(e.samples,["emsg"]);i&&i.forEach(function(a){var o=function(d){var c=d[0],f="",g="",m=0,E=0,v=0,y=0,T=0,S=0;if(c===0){for(;me(d.subarray(S,S+1))!=="\0";)f+=me(d.subarray(S,S+1)),S+=1;for(f+=me(d.subarray(S,S+1)),S+=1;me(d.subarray(S,S+1))!=="\0";)g+=me(d.subarray(S,S+1)),S+=1;g+=me(d.subarray(S,S+1)),S+=1,m=K(d,12),E=K(d,16),y=K(d,20),T=K(d,24),S=28}else if(c===1){m=K(d,S+=4);var A=K(d,S+=4),R=K(d,S+=4);for(S+=4,v=Math.pow(2,32)*A+R,ds(v)||(v=Number.MAX_SAFE_INTEGER,b.warn("Presentation time exceeds safe integer limit and wrapped to max safe integer in parsing emsg box")),y=K(d,S),T=K(d,S+=4),S+=4;me(d.subarray(S,S+1))!=="\0";)f+=me(d.subarray(S,S+1)),S+=1;for(f+=me(d.subarray(S,S+1)),S+=1;me(d.subarray(S,S+1))!=="\0";)g+=me(d.subarray(S,S+1)),S+=1;g+=me(d.subarray(S,S+1)),S+=1}return{schemeIdUri:f,value:g,timeScale:m,presentationTime:v,presentationTimeDelta:E,eventDuration:y,id:T,payload:d.subarray(S,d.byteLength)}}(a);if(vo.test(o.schemeIdUri)){var l=O(o.presentationTime)?o.presentationTime/o.timeScale:t+o.presentationTimeDelta/o.timeScale,h=o.eventDuration===4294967295?Number.POSITIVE_INFINITY:o.eventDuration/o.timeScale;h<=.001&&(h=Number.POSITIVE_INFINITY);var u=o.payload;r.samples.push({data:u,len:u.byteLength,dts:l,pts:l,type:Ht,duration:h})}})}return r},n.demuxSampleAes=function(e,t,r){return Promise.reject(new Error("The MP4 demuxer does not support SAMPLE-AES decryption"))},n.destroy=function(){},s}(),ua=function(s,n){var e=0,t=5;n+=t;for(var r=new Uint32Array(1),i=new Uint32Array(1),a=new Uint8Array(1);t>0;){a[0]=s[n];var o=Math.min(t,8),l=8-o;i[0]=4278190080>>>24+l<<l,r[0]=(a[0]&i[0])>>l,e=e?e<<o|r[0]:r[0],n+=1,t-=o}return e},po=function(s){function n(t){var r;return(r=s.call(this)||this).observer=void 0,r.observer=t,r}Le(n,s);var e=n.prototype;return e.resetInitSegment=function(t,r,i,a){s.prototype.resetInitSegment.call(this,t,r,i,a),this._audioTrack={container:"audio/ac-3",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"ac3",samples:[],manifestCodec:r,duration:a,inputTimeScale:9e4,dropped:0}},e.canParse=function(t,r){return r+64<t.length},e.appendFrame=function(t,r,i){var a=ha(t,r,i,this.basePTS,this.frameIndex);if(a!==-1)return{sample:t.samples[t.samples.length-1],length:a,missing:0}},n.probe=function(t){if(!t)return!1;var r=Ut(t,0);if(!r)return!1;var i=r.length;return t[i]===11&&t[i+1]===119&&Vr(r)!==void 0&&ua(t,i)<16},n}(fi);function ha(s,n,e,t,r){if(e+8>n.length||n[e]!==11||n[e+1]!==119)return-1;var i=n[e+4]>>6;if(i>=3)return-1;var a=[48e3,44100,32e3][i],o=63&n[e+4],l=2*[64,69,96,64,70,96,80,87,120,80,88,120,96,104,144,96,105,144,112,121,168,112,122,168,128,139,192,128,140,192,160,174,240,160,175,240,192,208,288,192,209,288,224,243,336,224,244,336,256,278,384,256,279,384,320,348,480,320,349,480,384,417,576,384,418,576,448,487,672,448,488,672,512,557,768,512,558,768,640,696,960,640,697,960,768,835,1152,768,836,1152,896,975,1344,896,976,1344,1024,1114,1536,1024,1115,1536,1152,1253,1728,1152,1254,1728,1280,1393,1920,1280,1394,1920][3*o+i];if(e+l>n.length)return-1;var h=n[e+6]>>5,u=0;h===2?u+=2:(1&h&&h!==1&&(u+=2),4&h&&(u+=2));var d=(n[e+6]<<8|n[e+7])>>12-u&1,c=[2,1,2,3,3,4,4,5][h]+d,f=n[e+5]>>3,g=7&n[e+5],m=new Uint8Array([i<<6|f<<1|g>>2,(3&g)<<6|h<<3|d<<2|o>>4,o<<4&224]),E=t+r*(1536/a*9e4),v=n.subarray(e,e+l);return s.config=m,s.channelCount=c,s.samplerate=a,s.samples.push({unit:v,pts:E}),l}var yo=function(){function s(){this.VideoSample=null}var n=s.prototype;return n.createVideoSample=function(e,t,r,i){return{key:e,frame:!1,pts:t,dts:r,units:[],debug:i,length:0}},n.getLastNalUnit=function(e){var t,r,i=this.VideoSample;if(i&&i.units.length!==0||(i=e[e.length-1]),(t=i)!=null&&t.units){var a=i.units;r=a[a.length-1]}return r},n.pushAccessUnit=function(e,t){if(e.units.length&&e.frame){if(e.pts===void 0){var r=t.samples,i=r.length;if(!i)return void t.dropped++;var a=r[i-1];e.pts=a.pts,e.dts=a.dts}t.samples.push(e)}e.debug.length&&b.log(e.pts+"/"+e.dts+":"+e.debug)},s}(),da=function(){function s(e){this.data=void 0,this.bytesAvailable=void 0,this.word=void 0,this.bitsAvailable=void 0,this.data=e,this.bytesAvailable=e.byteLength,this.word=0,this.bitsAvailable=0}var n=s.prototype;return n.loadWord=function(){var e=this.data,t=this.bytesAvailable,r=e.byteLength-t,i=new Uint8Array(4),a=Math.min(4,t);if(a===0)throw new Error("no bytes available");i.set(e.subarray(r,r+a)),this.word=new DataView(i.buffer).getUint32(0),this.bitsAvailable=8*a,this.bytesAvailable-=a},n.skipBits=function(e){var t;e=Math.min(e,8*this.bytesAvailable+this.bitsAvailable),this.bitsAvailable>e?(this.word<<=e,this.bitsAvailable-=e):(e-=this.bitsAvailable,e-=(t=e>>3)<<3,this.bytesAvailable-=t,this.loadWord(),this.word<<=e,this.bitsAvailable-=e)},n.readBits=function(e){var t=Math.min(this.bitsAvailable,e),r=this.word>>>32-t;if(e>32&&b.error("Cannot read more than 32 bits at a time"),this.bitsAvailable-=t,this.bitsAvailable>0)this.word<<=t;else{if(!(this.bytesAvailable>0))throw new Error("no bits available");this.loadWord()}return(t=e-t)>0&&this.bitsAvailable?r<<t|this.readBits(t):r},n.skipLZ=function(){var e;for(e=0;e<this.bitsAvailable;++e)if(this.word&2147483648>>>e)return this.word<<=e,this.bitsAvailable-=e,e;return this.loadWord(),e+this.skipLZ()},n.skipUEG=function(){this.skipBits(1+this.skipLZ())},n.skipEG=function(){this.skipBits(1+this.skipLZ())},n.readUEG=function(){var e=this.skipLZ();return this.readBits(e+1)-1},n.readEG=function(){var e=this.readUEG();return 1&e?1+e>>>1:-1*(e>>>1)},n.readBoolean=function(){return this.readBits(1)===1},n.readUByte=function(){return this.readBits(8)},n.readUShort=function(){return this.readBits(16)},n.readUInt=function(){return this.readBits(32)},n.skipScalingList=function(e){for(var t=8,r=8,i=0;i<e;i++)r!==0&&(r=(t+this.readEG()+256)%256),t=r===0?t:r},n.readSPS=function(){var e,t,r,i=0,a=0,o=0,l=0,h=this.readUByte.bind(this),u=this.readBits.bind(this),d=this.readUEG.bind(this),c=this.readBoolean.bind(this),f=this.skipBits.bind(this),g=this.skipEG.bind(this),m=this.skipUEG.bind(this),E=this.skipScalingList.bind(this);h();var v=h();if(u(5),f(3),h(),m(),v===100||v===110||v===122||v===244||v===44||v===83||v===86||v===118||v===128){var y=d();if(y===3&&f(1),m(),m(),f(1),c())for(t=y!==3?8:12,r=0;r<t;r++)c()&&E(r<6?16:64)}m();var T=d();if(T===0)d();else if(T===1)for(f(1),g(),g(),e=d(),r=0;r<e;r++)g();m(),f(1);var S=d(),A=d(),R=u(1);R===0&&f(1),f(1),c()&&(i=d(),a=d(),o=d(),l=d());var L=[1,1];if(c()&&c())switch(h()){case 1:L=[1,1];break;case 2:L=[12,11];break;case 3:L=[10,11];break;case 4:L=[16,11];break;case 5:L=[40,33];break;case 6:L=[24,11];break;case 7:L=[20,11];break;case 8:L=[32,11];break;case 9:L=[80,33];break;case 10:L=[18,11];break;case 11:L=[15,11];break;case 12:L=[64,33];break;case 13:L=[160,99];break;case 14:L=[4,3];break;case 15:L=[3,2];break;case 16:L=[2,1];break;case 255:L=[h()<<8|h(),h()<<8|h()]}return{width:Math.ceil(16*(S+1)-2*i-2*a),height:(2-R)*(A+1)*16-(R?2:4)*(o+l),pixelRatio:L}},n.readSliceType=function(){return this.readUByte(),this.readUEG(),this.readUEG()},s}(),Eo=function(s){function n(){return s.apply(this,arguments)||this}Le(n,s);var e=n.prototype;return e.parseAVCPES=function(t,r,i,a,o){var l,h=this,u=this.parseAVCNALu(t,i.data),d=this.VideoSample,c=!1;i.data=null,d&&u.length&&!t.audFound&&(this.pushAccessUnit(d,t),d=this.VideoSample=this.createVideoSample(!1,i.pts,i.dts,"")),u.forEach(function(f){var g;switch(f.type){case 1:var m=!1;l=!0;var E,v=f.data;if(c&&v.length>4){var y=new da(v).readSliceType();y!==2&&y!==4&&y!==7&&y!==9||(m=!0)}m&&(E=d)!=null&&E.frame&&!d.key&&(h.pushAccessUnit(d,t),d=h.VideoSample=null),d||(d=h.VideoSample=h.createVideoSample(!0,i.pts,i.dts,"")),d.frame=!0,d.key=m;break;case 5:l=!0,(g=d)!=null&&g.frame&&!d.key&&(h.pushAccessUnit(d,t),d=h.VideoSample=null),d||(d=h.VideoSample=h.createVideoSample(!0,i.pts,i.dts,"")),d.key=!0,d.frame=!0;break;case 6:l=!0,cn(f.data,1,i.pts,r.samples);break;case 7:var T,S;l=!0,c=!0;var A=f.data,R=new da(A).readSPS();if(!t.sps||t.width!==R.width||t.height!==R.height||((T=t.pixelRatio)==null?void 0:T[0])!==R.pixelRatio[0]||((S=t.pixelRatio)==null?void 0:S[1])!==R.pixelRatio[1]){t.width=R.width,t.height=R.height,t.pixelRatio=R.pixelRatio,t.sps=[A],t.duration=o;for(var L=A.subarray(1,4),D="avc1.",k=0;k<3;k++){var I=L[k].toString(16);I.length<2&&(I="0"+I),D+=I}t.codec=D}break;case 8:l=!0,t.pps=[f.data];break;case 9:l=!0,t.audFound=!0,d&&h.pushAccessUnit(d,t),d=h.VideoSample=h.createVideoSample(!1,i.pts,i.dts,"");break;case 12:l=!0;break;default:l=!1,d&&(d.debug+="unknown NAL "+f.type+" ")}d&&l&&d.units.push(f)}),a&&d&&(this.pushAccessUnit(d,t),this.VideoSample=null)},e.parseAVCNALu=function(t,r){var i,a,o=r.byteLength,l=t.naluState||0,h=l,u=[],d=0,c=-1,f=0;for(l===-1&&(c=0,f=31&r[0],l=0,d=1);d<o;)if(i=r[d++],l)if(l!==1)if(i)if(i===1){if(a=d-l-1,c>=0){var g={data:r.subarray(c,a),type:f};u.push(g)}else{var m=this.getLastNalUnit(t.samples);m&&(h&&d<=4-h&&m.state&&(m.data=m.data.subarray(0,m.data.byteLength-h)),a>0&&(m.data=Fe(m.data,r.subarray(0,a)),m.state=0))}d<o?(c=d,f=31&r[d],l=0):l=-1}else l=0;else l=3;else l=i?0:2;else l=i?0:1;if(c>=0&&l>=0){var E={data:r.subarray(c,o),type:f,state:l};u.push(E)}if(u.length===0){var v=this.getLastNalUnit(t.samples);v&&(v.data=Fe(v.data,r))}return t.naluState=l,u},n}(yo),To=function(){function s(e,t,r){this.keyData=void 0,this.decrypter=void 0,this.keyData=r,this.decrypter=new hi(t,{removePKCS7Padding:!1})}var n=s.prototype;return n.decryptBuffer=function(e){return this.decrypter.decrypt(e,this.keyData.key.buffer,this.keyData.iv.buffer)},n.decryptAacSample=function(e,t,r){var i=this,a=e[t].unit;if(!(a.length<=16)){var o=a.subarray(16,a.length-a.length%16),l=o.buffer.slice(o.byteOffset,o.byteOffset+o.length);this.decryptBuffer(l).then(function(h){var u=new Uint8Array(h);a.set(u,16),i.decrypter.isSync()||i.decryptAacSamples(e,t+1,r)})}},n.decryptAacSamples=function(e,t,r){for(;;t++){if(t>=e.length)return void r();if(!(e[t].unit.length<32||(this.decryptAacSample(e,t,r),this.decrypter.isSync())))return}},n.getAvcEncryptedData=function(e){for(var t=16*Math.floor((e.length-48)/160)+16,r=new Int8Array(t),i=0,a=32;a<e.length-16;a+=160,i+=16)r.set(e.subarray(a,a+16),i);return r},n.getAvcDecryptedUnit=function(e,t){for(var r=new Uint8Array(t),i=0,a=32;a<e.length-16;a+=160,i+=16)e.set(r.subarray(i,i+16),a);return e},n.decryptAvcSample=function(e,t,r,i,a){var o=this,l=fn(a.data),h=this.getAvcEncryptedData(l);this.decryptBuffer(h.buffer).then(function(u){a.data=o.getAvcDecryptedUnit(l,u),o.decrypter.isSync()||o.decryptAvcSamples(e,t,r+1,i)})},n.decryptAvcSamples=function(e,t,r,i){if(e instanceof Uint8Array)throw new Error("Cannot decrypt samples of type Uint8Array");for(;;t++,r=0){if(t>=e.length)return void i();for(var a=e[t].units;!(r>=a.length);r++){var o=a[r];if(!(o.data.length<=48||o.type!==1&&o.type!==5||(this.decryptAvcSample(e,t,r,i,o),this.decrypter.isSync())))return}}},s}(),Ae=188,So=function(){function s(e,t,r){this.observer=void 0,this.config=void 0,this.typeSupported=void 0,this.sampleAes=null,this.pmtParsed=!1,this.audioCodec=void 0,this.videoCodec=void 0,this._duration=0,this._pmtId=-1,this._videoTrack=void 0,this._audioTrack=void 0,this._id3Track=void 0,this._txtTrack=void 0,this.aacOverFlow=null,this.remainderData=null,this.videoParser=void 0,this.observer=e,this.config=t,this.typeSupported=r,this.videoParser=new Eo}s.probe=function(e){var t=s.syncOffset(e);return t>0&&b.warn("MPEG2-TS detected but first sync word found @ offset "+t),t!==-1},s.syncOffset=function(e){for(var t=e.length,r=Math.min(940,t-Ae)+1,i=0;i<r;){for(var a=!1,o=-1,l=0,h=i;h<t;h+=Ae){if(e[h]!==71||t-h!==Ae&&e[h+Ae]!==71){if(l)return-1;break}if(l++,o===-1&&(o=h)!==0&&(r=Math.min(o+18612,e.length-Ae)+1),a||(a=mi(e,h)===0),a&&l>1&&(o===0&&l>2||h+Ae>r))return o}i++}return-1},s.createTrack=function(e,t){return{container:e==="video"||e==="audio"?"video/mp2t":void 0,type:e,id:an[e],pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0,duration:e==="audio"?t:void 0}};var n=s.prototype;return n.resetInitSegment=function(e,t,r,i){this.pmtParsed=!1,this._pmtId=-1,this._videoTrack=s.createTrack("video"),this._audioTrack=s.createTrack("audio",i),this._id3Track=s.createTrack("id3"),this._txtTrack=s.createTrack("text"),this._audioTrack.segmentCodec="aac",this.aacOverFlow=null,this.remainderData=null,this.audioCodec=t,this.videoCodec=r,this._duration=i},n.resetTimeStamp=function(){},n.resetContiguity=function(){var e=this._audioTrack,t=this._videoTrack,r=this._id3Track;e&&(e.pesData=null),t&&(t.pesData=null),r&&(r.pesData=null),this.aacOverFlow=null,this.remainderData=null},n.demux=function(e,t,r,i){var a;r===void 0&&(r=!1),i===void 0&&(i=!1),r||(this.sampleAes=null);var o=this._videoTrack,l=this._audioTrack,h=this._id3Track,u=this._txtTrack,d=o.pid,c=o.pesData,f=l.pid,g=h.pid,m=l.pesData,E=h.pesData,v=null,y=this.pmtParsed,T=this._pmtId,S=e.length;if(this.remainderData&&(S=(e=Fe(this.remainderData,e)).length,this.remainderData=null),S<Ae&&!i)return this.remainderData=e,{audioTrack:l,videoTrack:o,id3Track:h,textTrack:u};var A=Math.max(0,s.syncOffset(e));(S-=(S-A)%Ae)<e.byteLength&&!i&&(this.remainderData=new Uint8Array(e.buffer,S,e.buffer.byteLength-S));for(var R=0,L=A;L<S;L+=Ae)if(e[L]===71){var D=!!(64&e[L+1]),k=mi(e,L),I=void 0;if((48&e[L+3])>>4>1){if((I=L+5+e[L+4])===L+Ae)continue}else I=L+4;switch(k){case d:D&&(c&&(a=wt(c))&&this.videoParser.parseAVCPES(o,u,a,!1,this._duration),c={data:[],size:0}),c&&(c.data.push(e.subarray(I,L+Ae)),c.size+=L+Ae-I);break;case f:if(D){if(m&&(a=wt(m)))switch(l.segmentCodec){case"aac":this.parseAACPES(l,a);break;case"mp3":this.parseMPEGPES(l,a);break;case"ac3":this.parseAC3PES(l,a)}m={data:[],size:0}}m&&(m.data.push(e.subarray(I,L+Ae)),m.size+=L+Ae-I);break;case g:D&&(E&&(a=wt(E))&&this.parseID3PES(h,a),E={data:[],size:0}),E&&(E.data.push(e.subarray(I,L+Ae)),E.size+=L+Ae-I);break;case 0:D&&(I+=e[I]+1),T=this._pmtId=Lo(e,I);break;case T:D&&(I+=e[I]+1);var C=Ao(e,I,this.typeSupported,r);(d=C.videoPid)>0&&(o.pid=d,o.segmentCodec=C.segmentVideoCodec),(f=C.audioPid)>0&&(l.pid=f,l.segmentCodec=C.segmentAudioCodec),(g=C.id3Pid)>0&&(h.pid=g),v===null||y||(b.warn("MPEG-TS PMT found at "+L+" after unknown PID '"+v+"'. Backtracking to sync byte @"+A+" to parse all TS packets."),v=null,L=A-188),y=this.pmtParsed=!0;break;case 17:case 8191:break;default:v=k}}else R++;if(R>0){var _=new Error("Found "+R+" TS packet/s that do not start with 0x47");this.observer.emit(p.ERROR,p.ERROR,{type:G.MEDIA_ERROR,details:w.FRAG_PARSING_ERROR,fatal:!1,error:_,reason:_.message})}o.pesData=c,l.pesData=m,h.pesData=E;var x={audioTrack:l,videoTrack:o,id3Track:h,textTrack:u};return i&&this.extractRemainingSamples(x),x},n.flush=function(){var e,t=this.remainderData;return this.remainderData=null,e=t?this.demux(t,-1,!1,!0):{videoTrack:this._videoTrack,audioTrack:this._audioTrack,id3Track:this._id3Track,textTrack:this._txtTrack},this.extractRemainingSamples(e),this.sampleAes?this.decrypt(e,this.sampleAes):e},n.extractRemainingSamples=function(e){var t,r=e.audioTrack,i=e.videoTrack,a=e.id3Track,o=e.textTrack,l=i.pesData,h=r.pesData,u=a.pesData;if(l&&(t=wt(l))?(this.videoParser.parseAVCPES(i,o,t,!0,this._duration),i.pesData=null):i.pesData=l,h&&(t=wt(h))){switch(r.segmentCodec){case"aac":this.parseAACPES(r,t);break;case"mp3":this.parseMPEGPES(r,t);break;case"ac3":this.parseAC3PES(r,t)}r.pesData=null}else h!=null&&h.size&&b.log("last AAC PES packet truncated,might overlap between fragments"),r.pesData=h;u&&(t=wt(u))?(this.parseID3PES(a,t),a.pesData=null):a.pesData=u},n.demuxSampleAes=function(e,t,r){var i=this.demux(e,r,!0,!this.config.progressive),a=this.sampleAes=new To(this.observer,this.config,t);return this.decrypt(i,a)},n.decrypt=function(e,t){return new Promise(function(r){var i=e.audioTrack,a=e.videoTrack;i.samples&&i.segmentCodec==="aac"?t.decryptAacSamples(i.samples,0,function(){a.samples?t.decryptAvcSamples(a.samples,0,0,function(){r(e)}):r(e)}):a.samples&&t.decryptAvcSamples(a.samples,0,0,function(){r(e)})})},n.destroy=function(){this._duration=0},n.parseAACPES=function(e,t){var r,i,a,o=0,l=this.aacOverFlow,h=t.data;if(l){this.aacOverFlow=null;var u=l.missing,d=l.sample.unit.byteLength;if(u===-1)h=Fe(l.sample.unit,h);else{var c=d-u;l.sample.unit.set(h.subarray(0,u),c),e.samples.push(l.sample),o=l.missing}}for(r=o,i=h.length;r<i-1&&!yr(h,r);r++);if(r!==o){var f,g=r<i-1;f=g?"AAC PES did not start with ADTS header,offset:"+r:"No ADTS header found in AAC PES";var m=new Error(f);if(b.warn("parsing error: "+f),this.observer.emit(p.ERROR,p.ERROR,{type:G.MEDIA_ERROR,details:w.FRAG_PARSING_ERROR,fatal:!1,levelRetry:g,error:m,reason:f}),!g)return}if(ra(e,this.observer,h,r,this.audioCodec),t.pts!==void 0)a=t.pts;else{if(!l)return void b.warn("[tsdemuxer]: AAC PES unknown PTS");var E=ia(e.samplerate);a=l.sample.pts+E}for(var v,y=0;r<i;){if(r+=(v=na(e,h,r,a,y)).length,v.missing){this.aacOverFlow=v;break}for(y++;r<i-1&&!yr(h,r);r++);}},n.parseMPEGPES=function(e,t){var r=t.data,i=r.length,a=0,o=0,l=t.pts;if(l!==void 0)for(;o<i;)if(oa(r,o)){var h=aa(e,r,o,l,a);if(!h)break;o+=h.length,a++}else o++;else b.warn("[tsdemuxer]: MPEG PES unknown PTS")},n.parseAC3PES=function(e,t){var r=t.data,i=t.pts;if(i!==void 0)for(var a,o=r.length,l=0,h=0;h<o&&(a=ha(e,r,h,i,l++))>0;)h+=a;else b.warn("[tsdemuxer]: AC3 PES unknown PTS")},n.parseID3PES=function(e,t){if(t.pts!==void 0){var r=ge({},t,{type:this._videoTrack?Ht:Kt,duration:Number.POSITIVE_INFINITY});e.samples.push(r)}else b.warn("[tsdemuxer]: ID3 PES unknown PTS")},s}();function mi(s,n){return((31&s[n+1])<<8)+s[n+2]}function Lo(s,n){return(31&s[n+10])<<8|s[n+11]}function Ao(s,n,e,t){var r={audioPid:-1,videoPid:-1,id3Pid:-1,segmentVideoCodec:"avc",segmentAudioCodec:"aac"},i=n+3+((15&s[n+1])<<8|s[n+2])-4;for(n+=12+((15&s[n+10])<<8|s[n+11]);n<i;){var a=mi(s,n),o=(15&s[n+3])<<8|s[n+4];switch(s[n]){case 207:if(!t){pi("ADTS AAC");break}case 15:r.audioPid===-1&&(r.audioPid=a);break;case 21:r.id3Pid===-1&&(r.id3Pid=a);break;case 219:if(!t){pi("H.264");break}case 27:r.videoPid===-1&&(r.videoPid=a,r.segmentVideoCodec="avc");break;case 3:case 4:e.mpeg||e.mp3?r.audioPid===-1&&(r.audioPid=a,r.segmentAudioCodec="mp3"):b.log("MPEG audio found, not supported in this browser");break;case 193:if(!t){pi("AC-3");break}case 129:e.ac3?r.audioPid===-1&&(r.audioPid=a,r.segmentAudioCodec="ac3"):b.log("AC-3 audio found, not supported in this browser");break;case 6:if(r.audioPid===-1&&o>0)for(var l=n+5,h=o;h>2;){s[l]===106&&(e.ac3!==!0?b.log("AC-3 audio found, not supported in this browser for now"):(r.audioPid=a,r.segmentAudioCodec="ac3"));var u=s[l+1]+2;l+=u,h-=u}break;case 194:case 135:b.warn("Unsupported EC-3 in M2TS found");break;case 36:b.warn("Unsupported HEVC in M2TS found")}n+=o+5}return r}function pi(s){b.log(s+" with AES-128-CBC encryption found in unencrypted stream")}function wt(s){var n,e,t,r,i,a=0,o=s.data;if(!s||s.size===0)return null;for(;o[0].length<19&&o.length>1;)o[0]=Fe(o[0],o[1]),o.splice(1,1);if(((n=o[0])[0]<<16)+(n[1]<<8)+n[2]===1){if((e=(n[4]<<8)+n[5])&&e>s.size-6)return null;var l=n[7];192&l&&(r=536870912*(14&n[9])+4194304*(255&n[10])+16384*(254&n[11])+128*(255&n[12])+(254&n[13])/2,64&l?r-(i=536870912*(14&n[14])+4194304*(255&n[15])+16384*(254&n[16])+128*(255&n[17])+(254&n[18])/2)>54e5&&(b.warn(Math.round((r-i)/9e4)+"s delta between PTS and DTS, align them"),r=i):i=r);var h=(t=n[8])+9;if(s.size<=h)return null;s.size-=h;for(var u=new Uint8Array(s.size),d=0,c=o.length;d<c;d++){var f=(n=o[d]).byteLength;if(h){if(h>f){h-=f;continue}n=n.subarray(h),f-=h,h=0}u.set(n,a),a+=f}return e&&(e-=t+3),{data:u,pts:r,dts:i,len:e}}return null}var Ro=function(s){function n(){return s.apply(this,arguments)||this}Le(n,s);var e=n.prototype;return e.resetInitSegment=function(t,r,i,a){s.prototype.resetInitSegment.call(this,t,r,i,a),this._audioTrack={container:"audio/mpeg",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"mp3",samples:[],manifestCodec:r,duration:a,inputTimeScale:9e4,dropped:0}},n.probe=function(t){if(!t)return!1;var r=Ut(t,0),i=(r==null?void 0:r.length)||0;if(r&&t[i]===11&&t[i+1]===119&&Vr(r)!==void 0&&ua(t,i)<=16)return!1;for(var a=t.length;i<a;i++)if(la(t,i))return b.log("MPEG Audio sync word found !"),!0;return!1},e.canParse=function(t,r){return function(i,a){return vi(i,a)&&4<=i.length-a}(t,r)},e.appendFrame=function(t,r,i){if(this.basePTS!==null)return aa(t,r,i,this.basePTS,this.frameIndex)},n}(fi),ca=function(){function s(){}return s.getSilentFrame=function(n,e){if(n==="mp4a.40.2"){if(e===1)return new Uint8Array([0,200,0,128,35,128]);if(e===2)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(e===3)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(e===4)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(e===5)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);if(e===6)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224])}else{if(e===1)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(e===2)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(e===3)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94])}},s}(),it=Math.pow(2,32)-1,Se=function(){function s(){}return s.init=function(){var n;for(n in s.types={avc1:[],avcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],".mp3":[],dac3:[],"ac-3":[],mvex:[],mvhd:[],pasp:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[]},s.types)s.types.hasOwnProperty(n)&&(s.types[n]=[n.charCodeAt(0),n.charCodeAt(1),n.charCodeAt(2),n.charCodeAt(3)]);var e=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),t=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]);s.HDLR_TYPES={video:e,audio:t};var r=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),i=new Uint8Array([0,0,0,0,0,0,0,0]);s.STTS=s.STSC=s.STCO=i,s.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),s.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0]),s.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),s.STSD=new Uint8Array([0,0,0,0,0,0,0,1]);var a=new Uint8Array([105,115,111,109]),o=new Uint8Array([97,118,99,49]),l=new Uint8Array([0,0,0,1]);s.FTYP=s.box(s.types.ftyp,a,l,a,o),s.DINF=s.box(s.types.dinf,s.box(s.types.dref,r))},s.box=function(n){for(var e=8,t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];for(var a=r.length,o=a;a--;)e+=r[a].byteLength;var l=new Uint8Array(e);for(l[0]=e>>24&255,l[1]=e>>16&255,l[2]=e>>8&255,l[3]=255&e,l.set(n,4),a=0,e=8;a<o;a++)l.set(r[a],e),e+=r[a].byteLength;return l},s.hdlr=function(n){return s.box(s.types.hdlr,s.HDLR_TYPES[n])},s.mdat=function(n){return s.box(s.types.mdat,n)},s.mdhd=function(n,e){e*=n;var t=Math.floor(e/(it+1)),r=Math.floor(e%(it+1));return s.box(s.types.mdhd,new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,n>>24&255,n>>16&255,n>>8&255,255&n,t>>24,t>>16&255,t>>8&255,255&t,r>>24,r>>16&255,r>>8&255,255&r,85,196,0,0]))},s.mdia=function(n){return s.box(s.types.mdia,s.mdhd(n.timescale,n.duration),s.hdlr(n.type),s.minf(n))},s.mfhd=function(n){return s.box(s.types.mfhd,new Uint8Array([0,0,0,0,n>>24,n>>16&255,n>>8&255,255&n]))},s.minf=function(n){return n.type==="audio"?s.box(s.types.minf,s.box(s.types.smhd,s.SMHD),s.DINF,s.stbl(n)):s.box(s.types.minf,s.box(s.types.vmhd,s.VMHD),s.DINF,s.stbl(n))},s.moof=function(n,e,t){return s.box(s.types.moof,s.mfhd(n),s.traf(t,e))},s.moov=function(n){for(var e=n.length,t=[];e--;)t[e]=s.trak(n[e]);return s.box.apply(null,[s.types.moov,s.mvhd(n[0].timescale,n[0].duration)].concat(t).concat(s.mvex(n)))},s.mvex=function(n){for(var e=n.length,t=[];e--;)t[e]=s.trex(n[e]);return s.box.apply(null,[s.types.mvex].concat(t))},s.mvhd=function(n,e){e*=n;var t=Math.floor(e/(it+1)),r=Math.floor(e%(it+1)),i=new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,n>>24&255,n>>16&255,n>>8&255,255&n,t>>24,t>>16&255,t>>8&255,255&t,r>>24,r>>16&255,r>>8&255,255&r,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]);return s.box(s.types.mvhd,i)},s.sdtp=function(n){var e,t,r=n.samples||[],i=new Uint8Array(4+r.length);for(e=0;e<r.length;e++)t=r[e].flags,i[e+4]=t.dependsOn<<4|t.isDependedOn<<2|t.hasRedundancy;return s.box(s.types.sdtp,i)},s.stbl=function(n){return s.box(s.types.stbl,s.stsd(n),s.box(s.types.stts,s.STTS),s.box(s.types.stsc,s.STSC),s.box(s.types.stsz,s.STSZ),s.box(s.types.stco,s.STCO))},s.avc1=function(n){var e,t,r,i=[],a=[];for(e=0;e<n.sps.length;e++)r=(t=n.sps[e]).byteLength,i.push(r>>>8&255),i.push(255&r),i=i.concat(Array.prototype.slice.call(t));for(e=0;e<n.pps.length;e++)r=(t=n.pps[e]).byteLength,a.push(r>>>8&255),a.push(255&r),a=a.concat(Array.prototype.slice.call(t));var o=s.box(s.types.avcC,new Uint8Array([1,i[3],i[4],i[5],255,224|n.sps.length].concat(i).concat([n.pps.length]).concat(a))),l=n.width,h=n.height,u=n.pixelRatio[0],d=n.pixelRatio[1];return s.box(s.types.avc1,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,l>>8&255,255&l,h>>8&255,255&h,0,72,0,0,0,72,0,0,0,0,0,0,0,1,18,100,97,105,108,121,109,111,116,105,111,110,47,104,108,115,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),o,s.box(s.types.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])),s.box(s.types.pasp,new Uint8Array([u>>24,u>>16&255,u>>8&255,255&u,d>>24,d>>16&255,d>>8&255,255&d])))},s.esds=function(n){var e=n.config.length;return new Uint8Array([0,0,0,0,3,23+e,0,1,0,4,15+e,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([e]).concat(n.config).concat([6,1,2]))},s.audioStsd=function(n){var e=n.samplerate;return new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,n.channelCount,0,16,0,0,0,0,e>>8&255,255&e,0,0])},s.mp4a=function(n){return s.box(s.types.mp4a,s.audioStsd(n),s.box(s.types.esds,s.esds(n)))},s.mp3=function(n){return s.box(s.types[".mp3"],s.audioStsd(n))},s.ac3=function(n){return s.box(s.types["ac-3"],s.audioStsd(n),s.box(s.types.dac3,n.config))},s.stsd=function(n){return n.type==="audio"?n.segmentCodec==="mp3"&&n.codec==="mp3"?s.box(s.types.stsd,s.STSD,s.mp3(n)):n.segmentCodec==="ac3"?s.box(s.types.stsd,s.STSD,s.ac3(n)):s.box(s.types.stsd,s.STSD,s.mp4a(n)):s.box(s.types.stsd,s.STSD,s.avc1(n))},s.tkhd=function(n){var e=n.id,t=n.duration*n.timescale,r=n.width,i=n.height,a=Math.floor(t/(it+1)),o=Math.floor(t%(it+1));return s.box(s.types.tkhd,new Uint8Array([1,0,0,7,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,e>>24&255,e>>16&255,e>>8&255,255&e,0,0,0,0,a>>24,a>>16&255,a>>8&255,255&a,o>>24,o>>16&255,o>>8&255,255&o,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,r>>8&255,255&r,0,0,i>>8&255,255&i,0,0]))},s.traf=function(n,e){var t=s.sdtp(n),r=n.id,i=Math.floor(e/(it+1)),a=Math.floor(e%(it+1));return s.box(s.types.traf,s.box(s.types.tfhd,new Uint8Array([0,0,0,0,r>>24,r>>16&255,r>>8&255,255&r])),s.box(s.types.tfdt,new Uint8Array([1,0,0,0,i>>24,i>>16&255,i>>8&255,255&i,a>>24,a>>16&255,a>>8&255,255&a])),s.trun(n,t.length+16+20+8+16+8+8),t)},s.trak=function(n){return n.duration=n.duration||4294967295,s.box(s.types.trak,s.tkhd(n),s.mdia(n))},s.trex=function(n){var e=n.id;return s.box(s.types.trex,new Uint8Array([0,0,0,0,e>>24,e>>16&255,e>>8&255,255&e,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]))},s.trun=function(n,e){var t,r,i,a,o,l,h=n.samples||[],u=h.length,d=12+16*u,c=new Uint8Array(d);for(e+=8+d,c.set([n.type==="video"?1:0,0,15,1,u>>>24&255,u>>>16&255,u>>>8&255,255&u,e>>>24&255,e>>>16&255,e>>>8&255,255&e],0),t=0;t<u;t++)i=(r=h[t]).duration,a=r.size,o=r.flags,l=r.cts,c.set([i>>>24&255,i>>>16&255,i>>>8&255,255&i,a>>>24&255,a>>>16&255,a>>>8&255,255&a,o.isLeading<<2|o.dependsOn,o.isDependedOn<<6|o.hasRedundancy<<4|o.paddingValue<<1|o.isNonSync,61440&o.degradPrio,15&o.degradPrio,l>>>24&255,l>>>16&255,l>>>8&255,255&l],12+16*t);return s.box(s.types.trun,c)},s.initSegment=function(n){s.types||s.init();var e=s.moov(n);return Fe(s.FTYP,e)},s}();Se.types=void 0,Se.HDLR_TYPES=void 0,Se.STTS=void 0,Se.STSC=void 0,Se.STCO=void 0,Se.STSZ=void 0,Se.VMHD=void 0,Se.SMHD=void 0,Se.STSD=void 0,Se.FTYP=void 0,Se.DINF=void 0;var fa=9e4;function yi(s,n,e,t){e===void 0&&(e=1),t===void 0&&(t=!1);var r=s*n*e;return t?Math.round(r):r}function Xt(s,n){return n===void 0&&(n=!1),yi(s,1e3,1/fa,n)}var It=null,Ei=null,Tr=function(){function s(e,t,r,i){if(this.observer=void 0,this.config=void 0,this.typeSupported=void 0,this.ISGenerated=!1,this._initPTS=null,this._initDTS=null,this.nextAvcDts=null,this.nextAudioPts=null,this.videoSampleDuration=null,this.isAudioContiguous=!1,this.isVideoContiguous=!1,this.videoTrackConfig=void 0,this.observer=e,this.config=t,this.typeSupported=r,this.ISGenerated=!1,It===null){var a=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);It=a?parseInt(a[1]):0}if(Ei===null){var o=navigator.userAgent.match(/Safari\/(\d+)/i);Ei=o?parseInt(o[1]):0}}var n=s.prototype;return n.destroy=function(){this.config=this.videoTrackConfig=this._initPTS=this._initDTS=null},n.resetTimeStamp=function(e){b.log("[mp4-remuxer]: initPTS & initDTS reset"),this._initPTS=this._initDTS=e},n.resetNextTimestamp=function(){b.log("[mp4-remuxer]: reset next timestamp"),this.isVideoContiguous=!1,this.isAudioContiguous=!1},n.resetInitSegment=function(){b.log("[mp4-remuxer]: ISGenerated flag reset"),this.ISGenerated=!1,this.videoTrackConfig=void 0},n.getVideoStartPts=function(e){var t=!1,r=e.reduce(function(i,a){var o=a.pts-i;return o<-4294967296?(t=!0,Ne(i,a.pts)):o>0?i:a.pts},e[0].pts);return t&&b.debug("PTS rollover detected"),r},n.remux=function(e,t,r,i,a,o,l,h){var u,d,c,f,g,m,E=a,v=a,y=e.pid>-1,T=t.pid>-1,S=t.samples.length,A=e.samples.length>0,R=l&&S>0||S>1;if((!y||A)&&(!T||R)||this.ISGenerated||l){if(this.ISGenerated){var L,D,k,I,C=this.videoTrackConfig;!C||t.width===C.width&&t.height===C.height&&((L=t.pixelRatio)==null?void 0:L[0])===((D=C.pixelRatio)==null?void 0:D[0])&&((k=t.pixelRatio)==null?void 0:k[1])===((I=C.pixelRatio)==null?void 0:I[1])||this.resetInitSegment()}else c=this.generateIS(e,t,a,o);var _,x=this.isVideoContiguous,M=-1;if(R&&(M=function(H){for(var B=0;B<H.length;B++)if(H[B].key)return B;return-1}(t.samples),!x&&this.config.forceKeyFrameOnDiscontinuity))if(m=!0,M>0){b.warn("[mp4-remuxer]: Dropped "+M+" out of "+S+" video samples due to a missing keyframe");var F=this.getVideoStartPts(t.samples);t.samples=t.samples.slice(M),t.dropped+=M,_=v+=(t.samples[0].pts-F)/t.inputTimeScale}else M===-1&&(b.warn("[mp4-remuxer]: No keyframe found out of "+S+" video samples"),m=!1);if(this.ISGenerated){if(A&&R){var U=this.getVideoStartPts(t.samples),P=(Ne(e.samples[0].pts,U)-U)/t.inputTimeScale;E+=Math.max(0,P),v+=Math.max(0,-P)}if(A){if(e.samplerate||(b.warn("[mp4-remuxer]: regenerate InitSegment as audio detected"),c=this.generateIS(e,t,a,o)),d=this.remuxAudio(e,E,this.isAudioContiguous,o,T||R||h===Me?v:void 0),R){var N=d?d.endPTS-d.startPTS:0;t.inputTimeScale||(b.warn("[mp4-remuxer]: regenerate InitSegment as video detected"),c=this.generateIS(e,t,a,o)),u=this.remuxVideo(t,v,x,N)}}else R&&(u=this.remuxVideo(t,v,x,0));u&&(u.firstKeyFrame=M,u.independent=M!==-1,u.firstKeyFramePTS=_)}}return this.ISGenerated&&this._initPTS&&this._initDTS&&(r.samples.length&&(g=ga(r,a,this._initPTS,this._initDTS)),i.samples.length&&(f=va(i,a,this._initPTS))),{audio:d,video:u,initSegment:c,independent:m,text:f,id3:g}},n.generateIS=function(e,t,r,i){var a,o,l,h=e.samples,u=t.samples,d=this.typeSupported,c={},f=this._initPTS,g=!f||i,m="audio/mp4";if(g&&(a=o=1/0),e.config&&h.length){switch(e.timescale=e.samplerate,e.segmentCodec){case"mp3":d.mpeg?(m="audio/mpeg",e.codec=""):d.mp3&&(e.codec="mp3");break;case"ac3":e.codec="ac-3"}c.audio={id:"audio",container:m,codec:e.codec,initSegment:e.segmentCodec==="mp3"&&d.mpeg?new Uint8Array(0):Se.initSegment([e]),metadata:{channelCount:e.channelCount}},g&&(l=e.inputTimeScale,f&&l===f.timescale?g=!1:a=o=h[0].pts-Math.round(l*r))}if(t.sps&&t.pps&&u.length){if(t.timescale=t.inputTimeScale,c.video={id:"main",container:"video/mp4",codec:t.codec,initSegment:Se.initSegment([t]),metadata:{width:t.width,height:t.height}},g)if(l=t.inputTimeScale,f&&l===f.timescale)g=!1;else{var E=this.getVideoStartPts(u),v=Math.round(l*r);o=Math.min(o,Ne(u[0].dts,E)-v),a=Math.min(a,E-v)}this.videoTrackConfig={width:t.width,height:t.height,pixelRatio:t.pixelRatio}}if(Object.keys(c).length)return this.ISGenerated=!0,g?(this._initPTS={baseTime:a,timescale:l},this._initDTS={baseTime:o,timescale:l}):a=l=void 0,{tracks:c,initPTS:a,timescale:l}},n.remuxVideo=function(e,t,r,i){var a,o,l=e.inputTimeScale,h=e.samples,u=[],d=h.length,c=this._initPTS,f=this.nextAvcDts,g=8,m=this.videoSampleDuration,E=Number.POSITIVE_INFINITY,v=Number.NEGATIVE_INFINITY,y=!1;if(!r||f===null){var T=t*l,S=h[0].pts-Ne(h[0].dts,h[0].pts);It&&f!==null&&Math.abs(T-S-f)<15e3?r=!0:f=T-S}for(var A=c.baseTime*l/c.timescale,R=0;R<d;R++){var L=h[R];L.pts=Ne(L.pts-A,f),L.dts=Ne(L.dts-A,f),L.dts<h[R>0?R-1:R].dts&&(y=!0)}y&&h.sort(function(wr,ss){var xl=wr.dts-ss.dts,Pl=wr.pts-ss.pts;return xl||Pl}),a=h[0].dts;var D=(o=h[h.length-1].dts)-a,k=D?Math.round(D/(d-1)):m||e.inputTimeScale/30;if(r){var I=a-f,C=I>k,_=I<-1;if((C||_)&&(C?b.warn("AVC: "+Xt(I,!0)+" ms ("+I+"dts) hole between fragments detected at "+t.toFixed(3)):b.warn("AVC: "+Xt(-I,!0)+" ms ("+I+"dts) overlapping between fragments detected at "+t.toFixed(3)),!_||f>=h[0].pts||It)){a=f;var x=h[0].pts-I;if(C)h[0].dts=a,h[0].pts=x;else for(var M=0;M<h.length&&!(h[M].dts>x);M++)h[M].dts-=I,h[M].pts-=I;b.log("Video: Initial PTS/DTS adjusted: "+Xt(x,!0)+"/"+Xt(a,!0)+", delta: "+Xt(I,!0)+" ms")}}for(var F=0,U=0,P=a=Math.max(0,a),N=0;N<d;N++){for(var H=h[N],B=H.units,V=B.length,Q=0,oe=0;oe<V;oe++)Q+=B[oe].data.length;U+=Q,F+=V,H.length=Q,H.dts<P?(H.dts=P,P+=k/4|0||1):P=H.dts,E=Math.min(H.pts,E),v=Math.max(H.pts,v)}o=h[d-1].dts;var ee,ce=U+4*F+8;try{ee=new Uint8Array(ce)}catch(wr){return void this.observer.emit(p.ERROR,p.ERROR,{type:G.MUX_ERROR,details:w.REMUX_ALLOC_ERROR,fatal:!1,error:wr,bytes:ce,reason:"fail allocating video mdat "+ce})}var ae=new DataView(ee.buffer);ae.setUint32(0,ce),ee.set(Se.types.mdat,4);for(var te=!1,Y=Number.POSITIVE_INFINITY,z=Number.POSITIVE_INFINITY,j=Number.NEGATIVE_INFINITY,re=Number.NEGATIVE_INFINITY,W=0;W<d;W++){for(var ne=h[W],J=ne.units,De=0,be=0,$=J.length;be<$;be++){var he=J[be],ve=he.data,ke=he.data.byteLength;ae.setUint32(g,ke),g+=4,ee.set(ve,g),g+=ke,De+=4+ke}var _e=void 0;if(W<d-1)m=h[W+1].dts-ne.dts,_e=h[W+1].pts-ne.pts;else{var Ee=this.config,Ce=W>0?ne.dts-h[W-1].dts:k;if(_e=W>0?ne.pts-h[W-1].pts:k,Ee.stretchShortVideoTrack&&this.nextAudioPts!==null){var Qt=Math.floor(Ee.maxBufferHole*l),nt=(i?E+i*l:this.nextAudioPts)-ne.pts;nt>Qt?((m=nt-Ce)<0?m=Ce:te=!0,b.log("[mp4-remuxer]: It is approximately "+nt/90+" ms to the next segment; using duration "+m/90+" ms for the last video frame.")):m=Ce}else m=Ce}var xt=Math.round(ne.pts-ne.dts);Y=Math.min(Y,m),j=Math.max(j,m),z=Math.min(z,_e),re=Math.max(re,_e),u.push(new ma(ne.key,m,De,xt))}if(u.length){if(It){if(It<70){var et=u[0].flags;et.dependsOn=2,et.isNonSync=0}}else if(Ei&&re-z<j-Y&&k/j<.025&&u[0].cts===0){b.warn("Found irregular gaps in sample duration. Using PTS instead of DTS to determine MP4 sample duration.");for(var xe=a,Te=0,ie=u.length;Te<ie;Te++){var le=xe+u[Te].duration,pe=xe+u[Te].cts;if(Te<ie-1){var Ki=le+u[Te+1].cts;u[Te].duration=Ki-pe}else u[Te].duration=Te?u[Te-1].duration:k;u[Te].cts=0,xe=le}}}m=te||!m?k:m,this.nextAvcDts=f=o+m,this.videoSampleDuration=m,this.isVideoContiguous=!0;var _l={data1:Se.moof(e.sequenceNumber++,a,ge({},e,{samples:u})),data2:ee,startPTS:E/l,endPTS:(v+m)/l,startDTS:a/l,endDTS:f/l,type:"video",hasAudio:!1,hasVideo:!0,nb:u.length,dropped:e.dropped};return e.samples=[],e.dropped=0,_l},n.getSamplesPerFrame=function(e){switch(e.segmentCodec){case"mp3":return 1152;case"ac3":return 1536;default:return 1024}},n.remuxAudio=function(e,t,r,i,a){var o=e.inputTimeScale,l=o/(e.samplerate?e.samplerate:o),h=this.getSamplesPerFrame(e),u=h*l,d=this._initPTS,c=e.segmentCodec==="mp3"&&this.typeSupported.mpeg,f=[],g=a!==void 0,m=e.samples,E=c?0:8,v=this.nextAudioPts||-1,y=t*o,T=d.baseTime*o/d.timescale;if(this.isAudioContiguous=r=r||m.length&&v>0&&(i&&Math.abs(y-v)<9e3||Math.abs(Ne(m[0].pts-T,y)-v)<20*u),m.forEach(function(W){W.pts=Ne(W.pts-T,y)}),!r||v<0){if(m=m.filter(function(W){return W.pts>=0}),!m.length)return;v=a===0?0:i&&!g?Math.max(0,y):m[0].pts}if(e.segmentCodec==="aac")for(var S=this.config.maxAudioFramesDrift,A=0,R=v;A<m.length;A++){var L=m[A],D=L.pts,k=D-R,I=Math.abs(1e3*k/o);if(k<=-S*u&&g)A===0&&(b.warn("Audio frame @ "+(D/o).toFixed(3)+"s overlaps nextAudioPts by "+Math.round(1e3*k/o)+" ms."),this.nextAudioPts=v=R=D);else if(k>=S*u&&I<1e4&&g){var C=Math.round(k/u);(R=D-C*u)<0&&(C--,R+=u),A===0&&(this.nextAudioPts=v=R),b.warn("[mp4-remuxer]: Injecting "+C+" audio frame @ "+(R/o).toFixed(3)+"s due to "+Math.round(1e3*k/o)+" ms gap.");for(var _=0;_<C;_++){var x=Math.max(R,0),M=ca.getSilentFrame(e.manifestCodec||e.codec,e.channelCount);M||(b.log("[mp4-remuxer]: Unable to get silent frame for given audio codec; duplicating last frame instead."),M=L.unit.subarray()),m.splice(A,0,{unit:M,pts:x}),R+=u,A++}}L.pts=R,R+=u}for(var F,U=null,P=null,N=0,H=m.length;H--;)N+=m[H].unit.byteLength;for(var B=0,V=m.length;B<V;B++){var Q=m[B],oe=Q.unit,ee=Q.pts;if(P!==null)f[B-1].duration=Math.round((ee-P)/l);else{if(r&&e.segmentCodec==="aac"&&(ee=v),U=ee,!(N>0))return;N+=E;try{F=new Uint8Array(N)}catch(W){return void this.observer.emit(p.ERROR,p.ERROR,{type:G.MUX_ERROR,details:w.REMUX_ALLOC_ERROR,fatal:!1,error:W,bytes:N,reason:"fail allocating audio mdat "+N})}c||(new DataView(F.buffer).setUint32(0,N),F.set(Se.types.mdat,4))}F.set(oe,E);var ce=oe.byteLength;E+=ce,f.push(new ma(!0,h,ce,0)),P=ee}var ae=f.length;if(ae){var te=f[f.length-1];this.nextAudioPts=v=P+l*te.duration;var Y=c?new Uint8Array(0):Se.moof(e.sequenceNumber++,U/l,ge({},e,{samples:f}));e.samples=[];var z=U/o,j=v/o,re={data1:Y,data2:F,startPTS:z,endPTS:j,startDTS:z,endDTS:j,type:"audio",hasAudio:!0,hasVideo:!1,nb:ae};return this.isAudioContiguous=!0,re}},n.remuxEmptyAudio=function(e,t,r,i){var a=e.inputTimeScale,o=a/(e.samplerate?e.samplerate:a),l=this.nextAudioPts,h=this._initDTS,u=9e4*h.baseTime/h.timescale,d=(l!==null?l:i.startDTS*a)+u,c=i.endDTS*a+u,f=1024*o,g=Math.ceil((c-d)/f),m=ca.getSilentFrame(e.manifestCodec||e.codec,e.channelCount);if(b.warn("[mp4-remuxer]: remux empty Audio"),m){for(var E=[],v=0;v<g;v++){var y=d+v*f;E.push({unit:m,pts:y,dts:y})}return e.samples=E,this.remuxAudio(e,t,r,!1)}b.trace("[mp4-remuxer]: Unable to remuxEmptyAudio since we were unable to get a silent frame for given audio codec")},s}();function Ne(s,n){var e;if(n===null)return s;for(e=n<s?-8589934592:8589934592;Math.abs(s-n)>4294967296;)s+=e;return s}function ga(s,n,e,t){var r=s.samples.length;if(r){for(var i=s.inputTimeScale,a=0;a<r;a++){var o=s.samples[a];o.pts=Ne(o.pts-e.baseTime*i/e.timescale,n*i)/i,o.dts=Ne(o.dts-t.baseTime*i/t.timescale,n*i)/i}var l=s.samples;return s.samples=[],{samples:l}}}function va(s,n,e){var t=s.samples.length;if(t){for(var r=s.inputTimeScale,i=0;i<t;i++){var a=s.samples[i];a.pts=Ne(a.pts-e.baseTime*r/e.timescale,n*r)/r}s.samples.sort(function(l,h){return l.pts-h.pts});var o=s.samples;return s.samples=[],{samples:o}}}var $e,ma=function(s,n,e,t){this.size=void 0,this.duration=void 0,this.cts=void 0,this.flags=void 0,this.duration=n,this.size=e,this.cts=t,this.flags={isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:s?2:1,isNonSync:s?0:1}},bo=function(){function s(){this.emitInitSegment=!1,this.audioCodec=void 0,this.videoCodec=void 0,this.initData=void 0,this.initPTS=null,this.initTracks=void 0,this.lastEndTime=null}var n=s.prototype;return n.destroy=function(){},n.resetTimeStamp=function(e){this.initPTS=e,this.lastEndTime=null},n.resetNextTimestamp=function(){this.lastEndTime=null},n.resetInitSegment=function(e,t,r,i){this.audioCodec=t,this.videoCodec=r,this.generateInitSegment(function(a,o){if(!a||!o)return a;var l=o.keyId;return l&&o.isCommonEncryption&&q(a,["moov","trak"]).forEach(function(h){var u=q(h,["mdia","minf","stbl","stsd"])[0].subarray(8),d=q(u,["enca"]),c=d.length>0;c||(d=q(u,["encv"])),d.forEach(function(f){q(c?f.subarray(28):f.subarray(78),["sinf"]).forEach(function(g){var m=hn(g);if(m){var E=m.subarray(8,24);E.some(function(v){return v!==0})||(b.log("[eme] Patching keyId in 'enc"+(c?"a":"v")+">sinf>>tenc' box: "+Ke(E)+" -> "+Ke(l)),m.set(l,8))}})})}),a}(e,i)),this.emitInitSegment=!0},n.generateInitSegment=function(e){var t=this.audioCodec,r=this.videoCodec;if(e==null||!e.byteLength)return this.initTracks=void 0,void(this.initData=void 0);var i=this.initData=un(e);i.audio&&(t=pa(i.audio,we)),i.video&&(r=pa(i.video,Pe));var a={};i.audio&&i.video?a.audiovideo={container:"video/mp4",codec:t+","+r,initSegment:e,id:"main"}:i.audio?a.audio={container:"audio/mp4",codec:t,initSegment:e,id:"audio"}:i.video?a.video={container:"video/mp4",codec:r,initSegment:e,id:"main"}:b.warn("[passthrough-remuxer.ts]: initSegment does not contain moov or trak boxes."),this.initTracks=a},n.remux=function(e,t,r,i,a,o){var l,h,u=this.initPTS,d=this.lastEndTime,c={audio:void 0,video:void 0,text:i,id3:r,initSegment:void 0};O(d)||(d=this.lastEndTime=a||0);var f=t.samples;if(f==null||!f.length)return c;var g={initPTS:void 0,timescale:1},m=this.initData;if((l=m)!=null&&l.length||(this.generateInitSegment(f),m=this.initData),(h=m)==null||!h.length)return b.warn("[passthrough-remuxer.ts]: Failed to generate initSegment."),c;this.emitInitSegment&&(g.tracks=this.initTracks,this.emitInitSegment=!1);var E=function(k,I){for(var C=0,_=0,x=0,M=q(k,["moof","traf"]),F=0;F<M.length;F++){var U=M[F],P=q(U,["tfhd"])[0],N=I[K(P,4)];if(N){var H=N.default,B=K(P,0)|(H==null?void 0:H.flags),V=H==null?void 0:H.duration;8&B&&(V=K(P,2&B?12:8));for(var Q=N.timescale||9e4,oe=q(U,["trun"]),ee=0;ee<oe.length;ee++)!(C=Cs(oe[ee]))&&V&&(C=V*K(oe[ee],4)),N.type===Pe?_+=C/Q:N.type===we&&(x+=C/Q)}}if(_===0&&x===0){for(var ce=1/0,ae=0,te=0,Y=q(k,["sidx"]),z=0;z<Y.length;z++){var j=ws(Y[z]);if(j!=null&&j.references){ce=Math.min(ce,j.earliestPresentationTime/j.timescale);var re=j.references.reduce(function(W,ne){return W+ne.info.duration||0},0);te=(ae=Math.max(ae,re+j.earliestPresentationTime/j.timescale))-ce}}if(te&&O(te))return te}return _||x}(f,m),v=function(k,I){return q(I,["moof","traf"]).reduce(function(C,_){var x=q(_,["tfdt"])[0],M=x[0],F=q(_,["tfhd"]).reduce(function(U,P){var N=K(P,4),H=k[N];if(H){var B=K(x,4);if(M===1){if(B===tr)return b.warn("[mp4-demuxer]: Ignoring assumed invalid signed 64-bit track fragment decode time"),U;B*=tr+1,B+=K(x,8)}var V=B/(H.timescale||9e4);if(O(V)&&(U===null||V<U))return V}return U},null);return F!==null&&O(F)&&(C===null||F<C)?F:C},null)}(m,f),y=v===null?a:v;(function(k,I,C,_){if(k===null)return!0;var x=Math.max(_,1),M=I-k.baseTime/k.timescale;return Math.abs(M-C)>x}(u,y,a,E)||g.timescale!==u.timescale&&o)&&(g.initPTS=y-a,u&&u.timescale===1&&b.warn("Adjusting initPTS by "+(g.initPTS-u.baseTime)),this.initPTS=u={baseTime:g.initPTS,timescale:1});var T=e?y-u.baseTime/u.timescale:d,S=T+E;(function(k,I,C){q(I,["moof","traf"]).forEach(function(_){q(_,["tfhd"]).forEach(function(x){var M=K(x,4),F=k[M];if(F){var U=F.timescale||9e4;q(_,["tfdt"]).forEach(function(P){var N=P[0],H=C*U;if(H){var B=K(P,4);if(N===0)B-=H,Yr(P,4,B=Math.max(B,0));else{B*=Math.pow(2,32),B+=K(P,8),B-=H,B=Math.max(B,0);var V=Math.floor(B/(tr+1)),Q=Math.floor(B%(tr+1));Yr(P,4,V),Yr(P,8,Q)}}})}})})})(m,f,u.baseTime/u.timescale),E>0?this.lastEndTime=S:(b.warn("Duration parsed from mp4 should be greater than zero"),this.resetNextTimestamp());var A=!!m.audio,R=!!m.video,L="";A&&(L+="audio"),R&&(L+="video");var D={data1:f,startPTS:T,startDTS:T,endPTS:S,endDTS:S,type:L,hasAudio:A,hasVideo:R,nb:1,dropped:0};return c.audio=D.type==="audio"?D:void 0,c.video=D.type!=="audio"?D:void 0,c.initSegment=g,c.id3=ga(r,a,u,u),i.samples.length&&(c.text=va(i,a,u)),c},s}();function pa(s,n){var e=s==null?void 0:s.codec;if(e&&e.length>4)return e;if(n===we){if(e==="ec-3"||e==="ac-3"||e==="alac")return e;if(e==="fLaC"||e==="Opus")return sr(e,!1);var t="mp4a.40.5";return b.info('Parsed audio codec "'+e+'" or audio object type not handled. Using "'+t+'"'),t}return b.warn('Unhandled video codec "'+e+'"'),e==="hvc1"||e==="hev1"?"hvc1.1.6.L120.90":e==="av01"?"av01.0.04M.08":"avc1.42e01e"}try{$e=self.performance.now.bind(self.performance)}catch{b.debug("Unable to use Performance API on this environment"),$e=gt==null?void 0:gt.Date.now}var Sr=[{demux:mo,remux:bo},{demux:So,remux:Tr},{demux:go,remux:Tr},{demux:Ro,remux:Tr}];Sr.splice(2,0,{demux:po,remux:Tr});var Ti=function(){function s(e,t,r,i,a){this.async=!1,this.observer=void 0,this.typeSupported=void 0,this.config=void 0,this.vendor=void 0,this.id=void 0,this.demuxer=void 0,this.remuxer=void 0,this.decrypter=void 0,this.probe=void 0,this.decryptionPromise=null,this.transmuxConfig=void 0,this.currentTransmuxState=void 0,this.observer=e,this.typeSupported=t,this.config=r,this.vendor=i,this.id=a}var n=s.prototype;return n.configure=function(e){this.transmuxConfig=e,this.decrypter&&this.decrypter.reset()},n.push=function(e,t,r,i){var a=this,o=r.transmuxing;o.executeStart=$e();var l=new Uint8Array(e),h=this.currentTransmuxState,u=this.transmuxConfig;i&&(this.currentTransmuxState=i);var d=i||h,c=d.contiguous,f=d.discontinuity,g=d.trackSwitch,m=d.accurateTimeOffset,E=d.timeOffset,v=d.initSegmentChange,y=u.audioCodec,T=u.videoCodec,S=u.defaultInitPts,A=u.duration,R=u.initSegmentData,L=function(M,F){var U=null;return M.byteLength>0&&(F==null?void 0:F.key)!=null&&F.iv!==null&&F.method!=null&&(U=F),U}(l,t);if(L&&L.method==="AES-128"){var D=this.getDecrypter();if(!D.isSync())return this.decryptionPromise=D.webCryptoDecrypt(l,L.key.buffer,L.iv.buffer).then(function(M){var F=a.push(M,null,r);return a.decryptionPromise=null,F}),this.decryptionPromise;var k=D.softwareDecrypt(l,L.key.buffer,L.iv.buffer);if(r.part>-1&&(k=D.flush()),!k)return o.executeEnd=$e(),Si(r);l=new Uint8Array(k)}var I=this.needsProbing(f,g);if(I){var C=this.configureTransmuxer(l);if(C)return b.warn("[transmuxer] "+C.message),this.observer.emit(p.ERROR,p.ERROR,{type:G.MEDIA_ERROR,details:w.FRAG_PARSING_ERROR,fatal:!1,error:C,reason:C.message}),o.executeEnd=$e(),Si(r)}(f||g||v||I)&&this.resetInitSegment(R,y,T,A,t),(f||v||I)&&this.resetInitialTimestamp(S),c||this.resetContiguity();var _=this.transmux(l,L,E,m,r),x=this.currentTransmuxState;return x.contiguous=!0,x.discontinuity=!1,x.trackSwitch=!1,o.executeEnd=$e(),_},n.flush=function(e){var t=this,r=e.transmuxing;r.executeStart=$e();var i=this.decrypter,a=this.currentTransmuxState,o=this.decryptionPromise;if(o)return o.then(function(){return t.flush(e)});var l=[],h=a.timeOffset;if(i){var u=i.flush();u&&l.push(this.push(u,null,e))}var d=this.demuxer,c=this.remuxer;if(!d||!c)return r.executeEnd=$e(),[Si(e)];var f=d.flush(h);return ut(f)?f.then(function(g){return t.flushRemux(l,g,e),l}):(this.flushRemux(l,f,e),l)},n.flushRemux=function(e,t,r){var i=t.audioTrack,a=t.videoTrack,o=t.id3Track,l=t.textTrack,h=this.currentTransmuxState,u=h.accurateTimeOffset,d=h.timeOffset;b.log("[transmuxer.ts]: Flushed fragment "+r.sn+(r.part>-1?" p: "+r.part:"")+" of level "+r.level);var c=this.remuxer.remux(i,a,o,l,d,u,!0,this.id);e.push({remuxResult:c,chunkMeta:r}),r.transmuxing.executeEnd=$e()},n.resetInitialTimestamp=function(e){var t=this.demuxer,r=this.remuxer;t&&r&&(t.resetTimeStamp(e),r.resetTimeStamp(e))},n.resetContiguity=function(){var e=this.demuxer,t=this.remuxer;e&&t&&(e.resetContiguity(),t.resetNextTimestamp())},n.resetInitSegment=function(e,t,r,i,a){var o=this.demuxer,l=this.remuxer;o&&l&&(o.resetInitSegment(e,t,r,i),l.resetInitSegment(e,t,r,a))},n.destroy=function(){this.demuxer&&(this.demuxer.destroy(),this.demuxer=void 0),this.remuxer&&(this.remuxer.destroy(),this.remuxer=void 0)},n.transmux=function(e,t,r,i,a){return t&&t.method==="SAMPLE-AES"?this.transmuxSampleAes(e,t,r,i,a):this.transmuxUnencrypted(e,r,i,a)},n.transmuxUnencrypted=function(e,t,r,i){var a=this.demuxer.demux(e,t,!1,!this.config.progressive),o=a.audioTrack,l=a.videoTrack,h=a.id3Track,u=a.textTrack;return{remuxResult:this.remuxer.remux(o,l,h,u,t,r,!1,this.id),chunkMeta:i}},n.transmuxSampleAes=function(e,t,r,i,a){var o=this;return this.demuxer.demuxSampleAes(e,t,r).then(function(l){return{remuxResult:o.remuxer.remux(l.audioTrack,l.videoTrack,l.id3Track,l.textTrack,r,i,!1,o.id),chunkMeta:a}})},n.configureTransmuxer=function(e){for(var t,r=this.config,i=this.observer,a=this.typeSupported,o=this.vendor,l=0,h=Sr.length;l<h;l++){var u;if((u=Sr[l].demux)!=null&&u.probe(e)){t=Sr[l];break}}if(!t)return new Error("Failed to find demuxer by probing fragment data");var d=this.demuxer,c=this.remuxer,f=t.remux,g=t.demux;c&&c instanceof f||(this.remuxer=new f(i,r,a,o)),d&&d instanceof g||(this.demuxer=new g(i,r,a),this.probe=g.probe)},n.needsProbing=function(e,t){return!this.demuxer||!this.remuxer||e||t},n.getDecrypter=function(){var e=this.decrypter;return e||(e=this.decrypter=new hi(this.config)),e},s}(),Si=function(s){return{remuxResult:{},chunkMeta:s}};function ut(s){return"then"in s&&s.then instanceof Function}var ko=function(s,n,e,t,r){this.audioCodec=void 0,this.videoCodec=void 0,this.initSegmentData=void 0,this.duration=void 0,this.defaultInitPts=void 0,this.audioCodec=s,this.videoCodec=n,this.initSegmentData=e,this.duration=t,this.defaultInitPts=r||null},Do=function(s,n,e,t,r,i){this.discontinuity=void 0,this.contiguous=void 0,this.accurateTimeOffset=void 0,this.trackSwitch=void 0,this.timeOffset=void 0,this.initSegmentChange=void 0,this.discontinuity=s,this.contiguous=n,this.accurateTimeOffset=e,this.trackSwitch=t,this.timeOffset=r,this.initSegmentChange=i},ya={exports:{}};(function(s){var n=Object.prototype.hasOwnProperty,e="~";function t(){}function r(l,h,u){this.fn=l,this.context=h,this.once=u||!1}function i(l,h,u,d,c){if(typeof u!="function")throw new TypeError("The listener must be a function");var f=new r(u,d||l,c),g=e?e+h:h;return l._events[g]?l._events[g].fn?l._events[g]=[l._events[g],f]:l._events[g].push(f):(l._events[g]=f,l._eventsCount++),l}function a(l,h){--l._eventsCount==0?l._events=new t:delete l._events[h]}function o(){this._events=new t,this._eventsCount=0}Object.create&&(t.prototype=Object.create(null),new t().__proto__||(e=!1)),o.prototype.eventNames=function(){var l,h,u=[];if(this._eventsCount===0)return u;for(h in l=this._events)n.call(l,h)&&u.push(e?h.slice(1):h);return Object.getOwnPropertySymbols?u.concat(Object.getOwnPropertySymbols(l)):u},o.prototype.listeners=function(l){var h=e?e+l:l,u=this._events[h];if(!u)return[];if(u.fn)return[u.fn];for(var d=0,c=u.length,f=new Array(c);d<c;d++)f[d]=u[d].fn;return f},o.prototype.listenerCount=function(l){var h=e?e+l:l,u=this._events[h];return u?u.fn?1:u.length:0},o.prototype.emit=function(l,h,u,d,c,f){var g=e?e+l:l;if(!this._events[g])return!1;var m,E,v=this._events[g],y=arguments.length;if(v.fn){switch(v.once&&this.removeListener(l,v.fn,void 0,!0),y){case 1:return v.fn.call(v.context),!0;case 2:return v.fn.call(v.context,h),!0;case 3:return v.fn.call(v.context,h,u),!0;case 4:return v.fn.call(v.context,h,u,d),!0;case 5:return v.fn.call(v.context,h,u,d,c),!0;case 6:return v.fn.call(v.context,h,u,d,c,f),!0}for(E=1,m=new Array(y-1);E<y;E++)m[E-1]=arguments[E];v.fn.apply(v.context,m)}else{var T,S=v.length;for(E=0;E<S;E++)switch(v[E].once&&this.removeListener(l,v[E].fn,void 0,!0),y){case 1:v[E].fn.call(v[E].context);break;case 2:v[E].fn.call(v[E].context,h);break;case 3:v[E].fn.call(v[E].context,h,u);break;case 4:v[E].fn.call(v[E].context,h,u,d);break;default:if(!m)for(T=1,m=new Array(y-1);T<y;T++)m[T-1]=arguments[T];v[E].fn.apply(v[E].context,m)}}return!0},o.prototype.on=function(l,h,u){return i(this,l,h,u,!1)},o.prototype.once=function(l,h,u){return i(this,l,h,u,!0)},o.prototype.removeListener=function(l,h,u,d){var c=e?e+l:l;if(!this._events[c])return this;if(!h)return a(this,c),this;var f=this._events[c];if(f.fn)f.fn!==h||d&&!f.once||u&&f.context!==u||a(this,c);else{for(var g=0,m=[],E=f.length;g<E;g++)(f[g].fn!==h||d&&!f[g].once||u&&f[g].context!==u)&&m.push(f[g]);m.length?this._events[c]=m.length===1?m[0]:m:a(this,c)}return this},o.prototype.removeAllListeners=function(l){var h;return l?(h=e?e+l:l,this._events[h]&&a(this,h)):(this._events=new t,this._eventsCount=0),this},o.prototype.off=o.prototype.removeListener,o.prototype.addListener=o.prototype.on,o.prefixed=e,o.EventEmitter=o,s.exports=o})(ya);var Lr=hs(ya.exports);function Li(s,n){if(!((e=n.remuxResult).audio||e.video||e.text||e.id3||e.initSegment))return!1;var e,t=[],r=n.remuxResult,i=r.audio,a=r.video;return i&&Ea(t,i),a&&Ea(t,a),s.postMessage({event:"transmuxComplete",data:n},t),!0}function Ea(s,n){n.data1&&s.push(n.data1.buffer),n.data2&&s.push(n.data2.buffer)}function Ta(s,n,e){n.reduce(function(t,r){return Li(s,r)||t},!1)||s.postMessage({event:"transmuxComplete",data:n[0]}),s.postMessage({event:"flush",data:e})}tt!==void 0&&tt&&function(s){var n=new Lr,e=function(r,i){s.postMessage({event:r,data:i})};n.on(p.FRAG_DECRYPTED,e),n.on(p.ERROR,e);var t=function(){var r=function(a){var o=function(l){e("workerLog",{logType:a,message:l})};b[a]=o};for(var i in b)r(i)};s.addEventListener("message",function(r){var i=r.data;switch(i.cmd){case"init":var a=JSON.parse(i.config);s.transmuxer=new Ti(n,i.typeSupported,a,i.vendor,i.id),ji(a.debug,i.id),t(),e("init",null);break;case"configure":s.transmuxer.configure(i.config);break;case"demux":var o=s.transmuxer.push(i.data,i.decryptdata,i.chunkMeta,i.state);ut(o)?(s.transmuxer.async=!0,o.then(function(u){Li(s,u)}).catch(function(u){e(p.ERROR,{type:G.MEDIA_ERROR,details:w.FRAG_PARSING_ERROR,chunkMeta:i.chunkMeta,fatal:!1,error:u,err:u,reason:"transmuxer-worker push error"})})):(s.transmuxer.async=!1,Li(s,o));break;case"flush":var l=i.chunkMeta,h=s.transmuxer.flush(l);ut(h)||s.transmuxer.async?(ut(h)||(h=Promise.resolve(h)),h.then(function(u){Ta(s,u,l)}).catch(function(u){e(p.ERROR,{type:G.MEDIA_ERROR,details:w.FRAG_PARSING_ERROR,chunkMeta:i.chunkMeta,fatal:!1,error:u,err:u,reason:"transmuxer-worker flush error"})})):Ta(s,h,l)}})}(self);var Sa=function(){function s(e,t,r,i){var a=this;this.error=null,this.hls=void 0,this.id=void 0,this.observer=void 0,this.frag=null,this.part=null,this.useWorker=void 0,this.workerContext=null,this.onwmsg=void 0,this.transmuxer=null,this.onTransmuxComplete=void 0,this.onFlush=void 0;var o=e.config;this.hls=e,this.id=t,this.useWorker=!!o.enableWorker,this.onTransmuxComplete=r,this.onFlush=i;var l=function(v,y){(y=y||{}).frag=a.frag,y.id=a.id,v===p.ERROR&&(a.error=y.error),a.hls.trigger(v,y)};this.observer=new Lr,this.observer.on(p.FRAG_DECRYPTED,l),this.observer.on(p.ERROR,l);var h,u,d,c,f=vt(o.preferManagedMediaSource)||{isTypeSupported:function(){return!1}},g={mpeg:f.isTypeSupported("audio/mpeg"),mp3:f.isTypeSupported('audio/mp4; codecs="mp3"'),ac3:f.isTypeSupported('audio/mp4; codecs="ac-3"')},m=navigator.vendor;if(!this.useWorker||typeof Worker>"u"||(o.workerPath,0))this.transmuxer=new Ti(this.observer,g,o,m,t);else try{o.workerPath?(b.log("loading Web Worker "+o.workerPath+' for "'+t+'"'),this.workerContext=(d=o.workerPath,c=new self.URL(d,self.location.href).href,{worker:new self.Worker(c),scriptURL:c})):(b.log('injecting Web Worker for "'+t+'"'),this.workerContext=(h=new self.Blob(["var exports={};var module={exports:exports};function define(f){f()};define.amd=true;("+Ft.toString()+")(true);"],{type:"text/javascript"}),u=self.URL.createObjectURL(h),{worker:new self.Worker(u),objectURL:u})),this.onwmsg=function(v){return a.onWorkerMessage(v)};var E=this.workerContext.worker;E.addEventListener("message",this.onwmsg),E.onerror=function(v){var y=new Error(v.message+"  ("+v.filename+":"+v.lineno+")");o.enableWorker=!1,b.warn('Error in "'+t+'" Web Worker, fallback to inline'),a.hls.trigger(p.ERROR,{type:G.OTHER_ERROR,details:w.INTERNAL_EXCEPTION,fatal:!1,event:"demuxerWorker",error:y})},E.postMessage({cmd:"init",typeSupported:g,vendor:m,id:t,config:JSON.stringify(o)})}catch(v){b.warn('Error setting up "'+t+'" Web Worker, fallback to inline',v),this.resetWorker(),this.error=null,this.transmuxer=new Ti(this.observer,g,o,m,t)}}var n=s.prototype;return n.resetWorker=function(){if(this.workerContext){var e=this.workerContext,t=e.worker,r=e.objectURL;r&&self.URL.revokeObjectURL(r),t.removeEventListener("message",this.onwmsg),t.onerror=null,t.terminate(),this.workerContext=null}},n.destroy=function(){if(this.workerContext)this.resetWorker(),this.onwmsg=void 0;else{var e=this.transmuxer;e&&(e.destroy(),this.transmuxer=null)}var t=this.observer;t&&t.removeAllListeners(),this.frag=null,this.observer=null,this.hls=null},n.push=function(e,t,r,i,a,o,l,h,u,d){var c,f,g=this;u.transmuxing.start=self.performance.now();var m=this.transmuxer,E=o?o.start:a.start,v=a.decryptdata,y=this.frag,T=!(y&&a.cc===y.cc),S=!(y&&u.level===y.level),A=y?u.sn-y.sn:-1,R=this.part?u.part-this.part.index:-1,L=A===0&&u.id>1&&u.id===(y==null?void 0:y.stats.chunkCount),D=!S&&(A===1||A===0&&(R===1||L&&R<=0)),k=self.performance.now();(S||A||a.stats.parsing.start===0)&&(a.stats.parsing.start=k),!o||!R&&D||(o.stats.parsing.start=k);var I=!(y&&((c=a.initSegment)==null?void 0:c.url)===((f=y.initSegment)==null?void 0:f.url)),C=new Do(T,D,h,S,E,I);if(!D||T||I){b.log("[transmuxer-interface, "+a.type+"]: Starting new transmux session for sn: "+u.sn+" p: "+u.part+" level: "+u.level+" id: "+u.id+`
-        discontinuity: `+T+`
-        trackSwitch: `+S+`
-        contiguous: `+D+`
-        accurateTimeOffset: `+h+`
-        timeOffset: `+E+`
-        initSegmentChange: `+I);var _=new ko(r,i,t,l,d);this.configureTransmuxer(_)}if(this.frag=a,this.part=o,this.workerContext)this.workerContext.worker.postMessage({cmd:"demux",data:e,decryptdata:v,chunkMeta:u,state:C},e instanceof ArrayBuffer?[e]:[]);else if(m){var x=m.push(e,v,u,C);ut(x)?(m.async=!0,x.then(function(M){g.handleTransmuxComplete(M)}).catch(function(M){g.transmuxerError(M,u,"transmuxer-interface push error")})):(m.async=!1,this.handleTransmuxComplete(x))}},n.flush=function(e){var t=this;e.transmuxing.start=self.performance.now();var r=this.transmuxer;if(this.workerContext)this.workerContext.worker.postMessage({cmd:"flush",chunkMeta:e});else if(r){var i=r.flush(e);ut(i)||r.async?(ut(i)||(i=Promise.resolve(i)),i.then(function(a){t.handleFlushResult(a,e)}).catch(function(a){t.transmuxerError(a,e,"transmuxer-interface flush error")})):this.handleFlushResult(i,e)}},n.transmuxerError=function(e,t,r){this.hls&&(this.error=e,this.hls.trigger(p.ERROR,{type:G.MEDIA_ERROR,details:w.FRAG_PARSING_ERROR,chunkMeta:t,fatal:!1,error:e,err:e,reason:r}))},n.handleFlushResult=function(e,t){var r=this;e.forEach(function(i){r.handleTransmuxComplete(i)}),this.onFlush(t)},n.onWorkerMessage=function(e){var t=e.data,r=this.hls;switch(t.event){case"init":var i,a=(i=this.workerContext)==null?void 0:i.objectURL;a&&self.URL.revokeObjectURL(a);break;case"transmuxComplete":this.handleTransmuxComplete(t.data);break;case"flush":this.onFlush(t.data);break;case"workerLog":b[t.data.logType]&&b[t.data.logType](t.data.message);break;default:t.data=t.data||{},t.data.frag=this.frag,t.data.id=this.id,r.trigger(t.event,t.data)}},n.configureTransmuxer=function(e){var t=this.transmuxer;this.workerContext?this.workerContext.worker.postMessage({cmd:"configure",config:e}):t&&t.configure(e)},n.handleTransmuxComplete=function(e){e.chunkMeta.transmuxing.end=self.performance.now(),this.onTransmuxComplete(e)},s}();function La(s,n){if(s.length!==n.length)return!1;for(var e=0;e<s.length;e++)if(!Ct(s[e].attrs,n[e].attrs))return!1;return!0}function Ct(s,n,e){var t=s["STABLE-RENDITION-ID"];return t&&!e?t===n["STABLE-RENDITION-ID"]:!(e||["LANGUAGE","NAME","CHARACTERISTICS","AUTOSELECT","DEFAULT","FORCED","ASSOC-LANGUAGE"]).some(function(r){return s[r]!==n[r]})}function Ai(s,n){return n.label.toLowerCase()===s.name.toLowerCase()&&(!n.language||n.language.toLowerCase()===(s.lang||"").toLowerCase())}var wo=function(s){function n(t,r,i){var a;return(a=s.call(this,t,r,i,"[audio-stream-controller]",Me)||this).videoBuffer=null,a.videoTrackCC=-1,a.waitingVideoCC=-1,a.bufferedTrack=null,a.switchingTrack=null,a.trackId=-1,a.waitingData=null,a.mainDetails=null,a.flushing=!1,a.bufferFlushed=!1,a.cachedTrackLoadedData=null,a._registerListeners(),a}Le(n,s);var e=n.prototype;return e.onHandlerDestroying=function(){this._unregisterListeners(),s.prototype.onHandlerDestroying.call(this),this.mainDetails=null,this.bufferedTrack=null,this.switchingTrack=null},e._registerListeners=function(){var t=this.hls;t.on(p.MEDIA_ATTACHED,this.onMediaAttached,this),t.on(p.MEDIA_DETACHING,this.onMediaDetaching,this),t.on(p.MANIFEST_LOADING,this.onManifestLoading,this),t.on(p.LEVEL_LOADED,this.onLevelLoaded,this),t.on(p.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),t.on(p.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),t.on(p.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),t.on(p.ERROR,this.onError,this),t.on(p.BUFFER_RESET,this.onBufferReset,this),t.on(p.BUFFER_CREATED,this.onBufferCreated,this),t.on(p.BUFFER_FLUSHING,this.onBufferFlushing,this),t.on(p.BUFFER_FLUSHED,this.onBufferFlushed,this),t.on(p.INIT_PTS_FOUND,this.onInitPtsFound,this),t.on(p.FRAG_BUFFERED,this.onFragBuffered,this)},e._unregisterListeners=function(){var t=this.hls;t.off(p.MEDIA_ATTACHED,this.onMediaAttached,this),t.off(p.MEDIA_DETACHING,this.onMediaDetaching,this),t.off(p.MANIFEST_LOADING,this.onManifestLoading,this),t.off(p.LEVEL_LOADED,this.onLevelLoaded,this),t.off(p.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),t.off(p.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),t.off(p.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),t.off(p.ERROR,this.onError,this),t.off(p.BUFFER_RESET,this.onBufferReset,this),t.off(p.BUFFER_CREATED,this.onBufferCreated,this),t.off(p.BUFFER_FLUSHING,this.onBufferFlushing,this),t.off(p.BUFFER_FLUSHED,this.onBufferFlushed,this),t.off(p.INIT_PTS_FOUND,this.onInitPtsFound,this),t.off(p.FRAG_BUFFERED,this.onFragBuffered,this)},e.onInitPtsFound=function(t,r){var i=r.frag,a=r.id,o=r.initPTS,l=r.timescale;if(a==="main"){var h=i.cc;this.initPTS[i.cc]={baseTime:o,timescale:l},this.log("InitPTS for cc: "+h+" found from main: "+o),this.videoTrackCC=h,this.state===qt&&this.tick()}},e.startLoad=function(t){if(!this.levels)return this.startPosition=t,void(this.state=Oe);var r=this.lastCurrentTime;this.stopLoad(),this.setInterval(100),r>0&&t===-1?(this.log("Override startPosition with lastCurrentTime @"+r.toFixed(3)),t=r,this.state=X):(this.loadedmetadata=!1,this.state=Wt),this.nextLoadPosition=this.startPosition=this.lastCurrentTime=t,this.tick()},e.doTick=function(){switch(this.state){case X:this.doTickIdle();break;case Wt:var t,r=this.levels,i=this.trackId,a=r==null||(t=r[i])==null?void 0:t.details;if(a){if(this.waitForCdnTuneIn(a))break;this.state=qt}break;case kt:var o,l=performance.now(),h=this.retryDate;if(!h||l>=h||(o=this.media)!=null&&o.seeking){var u=this.levels,d=this.trackId;this.log("RetryDate reached, switch back to IDLE state"),this.resetStartWhenNotLoaded((u==null?void 0:u[d])||null),this.state=X}break;case qt:var c=this.waitingData;if(c){var f=c.frag,g=c.part,m=c.cache,E=c.complete;if(this.initPTS[f.cc]!==void 0){this.waitingData=null,this.waitingVideoCC=-1,this.state=bt;var v={frag:f,part:g,payload:m.flush(),networkDetails:null};this._handleFragmentLoadProgress(v),E&&s.prototype._handleFragmentLoadComplete.call(this,v)}else if(this.videoTrackCC!==this.waitingVideoCC)this.log("Waiting fragment cc ("+f.cc+") cancelled because video is at cc "+this.videoTrackCC),this.clearWaitingFragment();else{var y=this.getLoadPosition(),T=ue.bufferInfo(this.mediaBuffer,y,this.config.maxBufferHole);ai(T.end,this.config.maxFragLookUpTolerance,f)<0&&(this.log("Waiting fragment cc ("+f.cc+") @ "+f.start+" cancelled because another fragment at "+T.end+" is needed"),this.clearWaitingFragment())}}else this.state=X}this.onTickEnd()},e.clearWaitingFragment=function(){var t=this.waitingData;t&&(this.fragmentTracker.removeFragment(t.frag),this.waitingData=null,this.waitingVideoCC=-1,this.state=X)},e.resetLoadingState=function(){this.clearWaitingFragment(),s.prototype.resetLoadingState.call(this)},e.onTickEnd=function(){var t=this.media;t!=null&&t.readyState&&(this.lastCurrentTime=t.currentTime)},e.doTickIdle=function(){var t=this.hls,r=this.levels,i=this.media,a=this.trackId,o=t.config;if((i||!this.startFragRequested&&o.startFragPrefetch)&&r!=null&&r[a]){var l=r[a],h=l.details;if(!h||h.live&&this.levelLastLoaded!==l||this.waitForCdnTuneIn(h))this.state=Wt;else{var u=this.mediaBuffer?this.mediaBuffer:this.media;this.bufferFlushed&&u&&(this.bufferFlushed=!1,this.afterBufferFlushed(u,we,Me));var d=this.getFwdBufferInfo(u,Me);if(d!==null){var c=this.bufferedTrack,f=this.switchingTrack;if(!f&&this._streamEnded(d,h))return t.trigger(p.BUFFER_EOS,{type:"audio"}),void(this.state=jt);var g=this.getFwdBufferInfo(this.videoBuffer?this.videoBuffer:this.media,Z),m=d.len,E=this.getMaxBufferLength(g==null?void 0:g.len),v=h.fragments,y=v[0].start,T=this.flushing?this.getLoadPosition():d.end;if(f&&i){var S=this.getLoadPosition();c&&!Ct(f.attrs,c.attrs)&&(T=S),h.PTSKnown&&S<y&&(d.end>y||d.nextStart)&&(this.log("Alt audio track ahead of main track, seek to start of alt audio track"),i.currentTime=y+.05)}if(!(m>=E&&!f&&T<v[v.length-1].start)){var A=this.getNextFragment(T,h),R=!1;if(A&&this.isLoopLoading(A,T)&&(R=!!A.gap,A=this.getNextFragmentLoopLoading(A,h,d,Z,E)),A){var L=g&&A.start>g.end+h.targetduration;if(L||(g==null||!g.len)&&d.len){var D=this.getAppendedFrag(A.start,Z);if(D===null||(R||(R=!!D.gap||!!L&&g.len===0),L&&!R||R&&d.nextStart&&d.nextStart<D.end))return}this.loadFragment(A,l,T)}else this.bufferFlushed=!0}}}}},e.getMaxBufferLength=function(t){var r=s.prototype.getMaxBufferLength.call(this);return t?Math.min(Math.max(r,t),this.config.maxMaxBufferLength):r},e.onMediaDetaching=function(){this.videoBuffer=null,this.bufferFlushed=this.flushing=!1,s.prototype.onMediaDetaching.call(this)},e.onAudioTracksUpdated=function(t,r){var i=r.audioTracks;this.resetTransmuxer(),this.levels=i.map(function(a){return new yt(a)})},e.onAudioTrackSwitching=function(t,r){var i=!!r.url;this.trackId=r.id;var a=this.fragCurrent;a&&(a.abortRequests(),this.removeUnbufferedFrags(a.start)),this.resetLoadingState(),i?this.setInterval(100):this.resetTransmuxer(),i?(this.switchingTrack=r,this.state=X,this.flushAudioIfNeeded(r)):(this.switchingTrack=null,this.bufferedTrack=r,this.state=Oe),this.tick()},e.onManifestLoading=function(){this.fragmentTracker.removeAllFragments(),this.startPosition=this.lastCurrentTime=0,this.bufferFlushed=this.flushing=!1,this.levels=this.mainDetails=this.waitingData=this.bufferedTrack=this.cachedTrackLoadedData=this.switchingTrack=null,this.startFragRequested=!1,this.trackId=this.videoTrackCC=this.waitingVideoCC=-1},e.onLevelLoaded=function(t,r){this.mainDetails=r.details,this.cachedTrackLoadedData!==null&&(this.hls.trigger(p.AUDIO_TRACK_LOADED,this.cachedTrackLoadedData),this.cachedTrackLoadedData=null)},e.onAudioTrackLoaded=function(t,r){var i;if(this.mainDetails!=null){var a=this.levels,o=r.details,l=r.id;if(a){this.log("Audio track "+l+" loaded ["+o.startSN+","+o.endSN+"]"+(o.lastPartSn?"[part-"+o.lastPartSn+"-"+o.lastPartIndex+"]":"")+",duration:"+o.totalduration);var h=a[l],u=0;if(o.live||(i=h.details)!=null&&i.live){this.checkLiveUpdate(o);var d,c=this.mainDetails;if(o.deltaUpdateFailed||!c)return;!h.details&&o.hasProgramDateTime&&c.hasProgramDateTime?(mr(o,c),u=o.fragments[0].start):u=this.alignPlaylists(o,h.details,(d=this.levelLastLoaded)==null?void 0:d.details)}h.details=o,this.levelLastLoaded=h,this.startFragRequested||!this.mainDetails&&o.live||this.setStartPosition(this.mainDetails||o,u),this.state!==Wt||this.waitForCdnTuneIn(o)||(this.state=X),this.tick()}else this.warn("Audio tracks were reset while loading level "+l)}else this.cachedTrackLoadedData=r},e._handleFragmentLoadProgress=function(t){var r,i=t.frag,a=t.part,o=t.payload,l=this.config,h=this.trackId,u=this.levels;if(u){var d=u[h];if(d){var c=d.details;if(!c)return this.warn("Audio track details undefined on fragment load progress"),void this.removeUnbufferedFrags(i.start);var f=l.defaultAudioCodec||d.audioCodec||"mp4a.40.2",g=this.transmuxer;g||(g=this.transmuxer=new Sa(this.hls,Me,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)));var m=this.initPTS[i.cc],E=(r=i.initSegment)==null?void 0:r.data;if(m!==void 0){var v=a?a.index:-1,y=v!==-1,T=new ui(i.level,i.sn,i.stats.chunkCount,o.byteLength,v,y);g.push(o,E,f,"",i,a,c.totalduration,!1,T,m)}else this.log("Unknown video PTS for cc "+i.cc+", waiting for video PTS before demuxing audio frag "+i.sn+" of ["+c.startSN+" ,"+c.endSN+"],track "+h),(this.waitingData=this.waitingData||{frag:i,part:a,cache:new Zn,complete:!1}).cache.push(new Uint8Array(o)),this.waitingVideoCC=this.videoTrackCC,this.state=qt}else this.warn("Audio track is undefined on fragment load progress")}else this.warn("Audio tracks were reset while fragment load was in progress. Fragment "+i.sn+" of level "+i.level+" will not be buffered")},e._handleFragmentLoadComplete=function(t){this.waitingData?this.waitingData.complete=!0:s.prototype._handleFragmentLoadComplete.call(this,t)},e.onBufferReset=function(){this.mediaBuffer=this.videoBuffer=null,this.loadedmetadata=!1},e.onBufferCreated=function(t,r){var i=r.tracks.audio;i&&(this.mediaBuffer=i.buffer||null),r.tracks.video&&(this.videoBuffer=r.tracks.video.buffer||null)},e.onFragBuffered=function(t,r){var i=r.frag,a=r.part;if(i.type===Me)if(this.fragContextChanged(i))this.warn("Fragment "+i.sn+(a?" p: "+a.index:"")+" of level "+i.level+" finished buffering, but was aborted. state: "+this.state+", audioSwitch: "+(this.switchingTrack?this.switchingTrack.name:"false"));else{if(i.sn!=="initSegment"){this.fragPrevious=i;var o=this.switchingTrack;o&&(this.bufferedTrack=o,this.switchingTrack=null,this.hls.trigger(p.AUDIO_TRACK_SWITCHED,ye({},o)))}this.fragBufferedComplete(i,a)}else if(!this.loadedmetadata&&i.type===Z){var l=this.videoBuffer||this.media;l&&ue.getBuffered(l).length&&(this.loadedmetadata=!0)}},e.onError=function(t,r){var i;if(r.fatal)this.state=Dt;else switch(r.details){case w.FRAG_GAP:case w.FRAG_PARSING_ERROR:case w.FRAG_DECRYPT_ERROR:case w.FRAG_LOAD_ERROR:case w.FRAG_LOAD_TIMEOUT:case w.KEY_LOAD_ERROR:case w.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(Me,r);break;case w.AUDIO_TRACK_LOAD_ERROR:case w.AUDIO_TRACK_LOAD_TIMEOUT:case w.LEVEL_PARSING_ERROR:r.levelRetry||this.state!==Wt||((i=r.context)==null?void 0:i.type)!==Be||(this.state=X);break;case w.BUFFER_APPEND_ERROR:case w.BUFFER_FULL_ERROR:if(!r.parent||r.parent!=="audio")return;if(r.details===w.BUFFER_APPEND_ERROR)return void this.resetLoadingState();this.reduceLengthAndFlushBuffer(r)&&(this.bufferedTrack=null,s.prototype.flushMainBuffer.call(this,0,Number.POSITIVE_INFINITY,"audio"));break;case w.INTERNAL_EXCEPTION:this.recoverWorkerError(r)}},e.onBufferFlushing=function(t,r){r.type!==Pe&&(this.flushing=!0)},e.onBufferFlushed=function(t,r){var i=r.type;if(i!==Pe){this.flushing=!1,this.bufferFlushed=!0,this.state===jt&&(this.state=X);var a=this.mediaBuffer||this.media;a&&(this.afterBufferFlushed(a,i,Me),this.tick())}},e._handleTransmuxComplete=function(t){var r,i="audio",a=this.hls,o=t.remuxResult,l=t.chunkMeta,h=this.getCurrentContext(l);if(h){var u=h.frag,d=h.part,c=h.level,f=c.details,g=o.audio,m=o.text,E=o.id3,v=o.initSegment;if(!this.fragContextChanged(u)&&f){if(this.state=Je,this.switchingTrack&&g&&this.completeAudioSwitch(this.switchingTrack),v!=null&&v.tracks){var y=u.initSegment||u;this._bufferInitSegment(c,v.tracks,y,l),a.trigger(p.FRAG_PARSING_INIT_SEGMENT,{frag:y,id:i,tracks:v.tracks})}if(g){var T=g.startPTS,S=g.endPTS,A=g.startDTS,R=g.endDTS;d&&(d.elementaryStreams[we]={startPTS:T,endPTS:S,startDTS:A,endDTS:R}),u.setElementaryStreamInfo(we,T,S,A,R),this.bufferFragmentData(g,u,d,l)}if(E!=null&&(r=E.samples)!=null&&r.length){var L=ge({id:i,frag:u,details:f},E);a.trigger(p.FRAG_PARSING_METADATA,L)}if(m){var D=ge({id:i,frag:u,details:f},m);a.trigger(p.FRAG_PARSING_USERDATA,D)}}else this.fragmentTracker.removeFragment(u)}else this.resetWhenMissingContext(l)},e._bufferInitSegment=function(t,r,i,a){if(this.state===Je){r.video&&delete r.video;var o=r.audio;if(o){o.id="audio";var l=t.audioCodec;this.log("Init audio buffer, container:"+o.container+", codecs[level/parsed]=["+l+"/"+o.codec+"]"),l&&l.split(",").length===1&&(o.levelCodec=l),this.hls.trigger(p.BUFFER_CODECS,r);var h=o.initSegment;if(h!=null&&h.byteLength){var u={type:"audio",frag:i,part:null,chunkMeta:a,parent:i.type,data:h};this.hls.trigger(p.BUFFER_APPENDING,u)}this.tickImmediate()}}},e.loadFragment=function(t,r,i){var a,o=this.fragmentTracker.getState(t);if(this.fragCurrent=t,this.switchingTrack||o===Vt||o===At)if(t.sn==="initSegment")this._loadInitSegment(t,r);else if((a=r.details)!=null&&a.live&&!this.initPTS[t.cc]){this.log("Waiting for video PTS in continuity counter "+t.cc+" of live stream before loading audio fragment "+t.sn+" of level "+this.trackId),this.state=qt;var l=this.mainDetails;l&&l.fragments[0].start!==r.details.fragments[0].start&&mr(r.details,l)}else this.startFragRequested=!0,s.prototype.loadFragment.call(this,t,r,i);else this.clearTrackerIfNeeded(t)},e.flushAudioIfNeeded=function(t){var r=this.media,i=this.bufferedTrack,a=i==null?void 0:i.attrs,o=t.attrs;r&&a&&(a.CHANNELS!==o.CHANNELS||i.name!==t.name||i.lang!==t.lang)&&(this.log("Switching audio track : flushing all audio"),s.prototype.flushMainBuffer.call(this,0,Number.POSITIVE_INFINITY,"audio"),this.bufferedTrack=null)},e.completeAudioSwitch=function(t){var r=this.hls;this.flushAudioIfNeeded(t),this.bufferedTrack=t,this.switchingTrack=null,r.trigger(p.AUDIO_TRACK_SWITCHED,ye({},t))},n}(ci),Io=function(s){function n(t){var r;return(r=s.call(this,t,"[audio-track-controller]")||this).tracks=[],r.groupIds=null,r.tracksInGroup=[],r.trackId=-1,r.currentTrack=null,r.selectDefaultTrack=!0,r.registerListeners(),r}Le(n,s);var e=n.prototype;return e.registerListeners=function(){var t=this.hls;t.on(p.MANIFEST_LOADING,this.onManifestLoading,this),t.on(p.MANIFEST_PARSED,this.onManifestParsed,this),t.on(p.LEVEL_LOADING,this.onLevelLoading,this),t.on(p.LEVEL_SWITCHING,this.onLevelSwitching,this),t.on(p.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),t.on(p.ERROR,this.onError,this)},e.unregisterListeners=function(){var t=this.hls;t.off(p.MANIFEST_LOADING,this.onManifestLoading,this),t.off(p.MANIFEST_PARSED,this.onManifestParsed,this),t.off(p.LEVEL_LOADING,this.onLevelLoading,this),t.off(p.LEVEL_SWITCHING,this.onLevelSwitching,this),t.off(p.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),t.off(p.ERROR,this.onError,this)},e.destroy=function(){this.unregisterListeners(),this.tracks.length=0,this.tracksInGroup.length=0,this.currentTrack=null,s.prototype.destroy.call(this)},e.onManifestLoading=function(){this.tracks=[],this.tracksInGroup=[],this.groupIds=null,this.currentTrack=null,this.trackId=-1,this.selectDefaultTrack=!0},e.onManifestParsed=function(t,r){this.tracks=r.audioTracks||[]},e.onAudioTrackLoaded=function(t,r){var i=r.id,a=r.groupId,o=r.details,l=this.tracksInGroup[i];if(l&&l.groupId===a){var h=l.details;l.details=r.details,this.log("Audio track "+i+' "'+l.name+'" lang:'+l.lang+" group:"+a+" loaded ["+o.startSN+"-"+o.endSN+"]"),i===this.trackId&&this.playlistLoaded(i,r,h)}else this.warn("Audio track with id:"+i+" and group:"+a+" not found in active group "+(l==null?void 0:l.groupId))},e.onLevelLoading=function(t,r){this.switchLevel(r.level)},e.onLevelSwitching=function(t,r){this.switchLevel(r.level)},e.switchLevel=function(t){var r=this.hls.levels[t];if(r){var i=r.audioGroups||null,a=this.groupIds,o=this.currentTrack;if(!i||(a==null?void 0:a.length)!==(i==null?void 0:i.length)||i!=null&&i.some(function(v){return(a==null?void 0:a.indexOf(v))===-1})){this.groupIds=i,this.trackId=-1,this.currentTrack=null;var l=this.tracks.filter(function(v){return!i||i.indexOf(v.groupId)!==-1});if(l.length)this.selectDefaultTrack&&!l.some(function(v){return v.default})&&(this.selectDefaultTrack=!1),l.forEach(function(v,y){v.id=y});else if(!o&&!this.tracksInGroup.length)return;this.tracksInGroup=l;var h=this.hls.config.audioPreference;if(!o&&h){var u=Ye(h,l,Lt);if(u>-1)o=l[u];else{var d=Ye(h,this.tracks);o=this.tracks[d]}}var c=this.findTrackId(o);c===-1&&o&&(c=this.findTrackId(null));var f={audioTracks:l};this.log("Updating audio tracks, "+l.length+" track(s) found in group(s): "+(i==null?void 0:i.join(","))),this.hls.trigger(p.AUDIO_TRACKS_UPDATED,f);var g=this.trackId;if(c!==-1&&g===-1)this.setAudioTrack(c);else if(l.length&&g===-1){var m,E=new Error("No audio track selected for current audio group-ID(s): "+((m=this.groupIds)==null?void 0:m.join(","))+" track count: "+l.length);this.warn(E.message),this.hls.trigger(p.ERROR,{type:G.MEDIA_ERROR,details:w.AUDIO_TRACK_LOAD_ERROR,fatal:!0,error:E})}}else this.shouldReloadPlaylist(o)&&this.setAudioTrack(this.trackId)}},e.onError=function(t,r){!r.fatal&&r.context&&(r.context.type!==Be||r.context.id!==this.trackId||this.groupIds&&this.groupIds.indexOf(r.context.groupId)===-1||(this.requestScheduled=-1,this.checkRetry(r)))},e.setAudioOption=function(t){var r=this.hls;if(r.config.audioPreference=t,t){var i=this.allAudioTracks;if(this.selectDefaultTrack=!1,i.length){var a=this.currentTrack;if(a&&St(t,a,Lt))return a;var o=Ye(t,this.tracksInGroup,Lt);if(o>-1){var l=this.tracksInGroup[o];return this.setAudioTrack(o),l}if(a){var h=r.loadLevel;h===-1&&(h=r.firstAutoLevel);var u=function(c,f,g,m,E){var v=f[m],y=f.reduce(function(L,D,k){var I=D.uri;return(L[I]||(L[I]=[])).push(k),L},{})[v.uri];y.length>1&&(m=Math.max.apply(Math,y));var T=v.videoRange,S=v.frameRate,A=v.codecSet.substring(0,4),R=jn(f,m,function(L){if(L.videoRange!==T||L.frameRate!==S||L.codecSet.substring(0,4)!==A)return!1;var D=L.audioGroups,k=g.filter(function(I){return!D||D.indexOf(I.groupId)!==-1});return Ye(c,k,E)>-1});return R>-1?R:jn(f,m,function(L){var D=L.audioGroups,k=g.filter(function(I){return!D||D.indexOf(I.groupId)!==-1});return Ye(c,k,E)>-1})}(t,r.levels,i,h,Lt);if(u===-1)return null;r.nextLoadLevel=u}if(t.channels||t.audioCodec){var d=Ye(t,i);if(d>-1)return i[d]}}}return null},e.setAudioTrack=function(t){var r=this.tracksInGroup;if(t<0||t>=r.length)this.warn("Invalid audio track id: "+t);else{this.clearTimer(),this.selectDefaultTrack=!1;var i=this.currentTrack,a=r[t],o=a.details&&!a.details.live;if(!(t===this.trackId&&a===i&&o||(this.log("Switching to audio-track "+t+' "'+a.name+'" lang:'+a.lang+" group:"+a.groupId+" channels:"+a.channels),this.trackId=t,this.currentTrack=a,this.hls.trigger(p.AUDIO_TRACK_SWITCHING,ye({},a)),o))){var l=this.switchParams(a.url,i==null?void 0:i.details);this.loadPlaylist(l)}}},e.findTrackId=function(t){for(var r=this.tracksInGroup,i=0;i<r.length;i++){var a=r[i];if((!this.selectDefaultTrack||a.default)&&(!t||St(t,a,Lt)))return i}if(t){for(var o=t.name,l=t.lang,h=t.assocLang,u=t.characteristics,d=t.audioCodec,c=t.channels,f=0;f<r.length;f++)if(St({name:o,lang:l,assocLang:h,characteristics:u,audioCodec:d,channels:c},r[f],Lt))return f;for(var g=0;g<r.length;g++){var m=r[g];if(Ct(t.attrs,m.attrs,["LANGUAGE","ASSOC-LANGUAGE","CHARACTERISTICS"]))return g}for(var E=0;E<r.length;E++){var v=r[E];if(Ct(t.attrs,v.attrs,["LANGUAGE"]))return E}}return-1},e.loadPlaylist=function(t){var r=this.currentTrack;if(this.shouldLoadPlaylist(r)&&r){s.prototype.loadPlaylist.call(this);var i=r.id,a=r.groupId,o=r.url;if(t)try{o=t.addDirectives(o)}catch(l){this.warn("Could not construct new URL with HLS Delivery Directives: "+l)}this.log("loading audio-track playlist "+i+' "'+r.name+'" lang:'+r.lang+" group:"+a),this.clearTimer(),this.hls.trigger(p.AUDIO_TRACK_LOADING,{url:o,id:i,groupId:a,deliveryDirectives:t||null})}},fe(n,[{key:"allAudioTracks",get:function(){return this.tracks}},{key:"audioTracks",get:function(){return this.tracksInGroup}},{key:"audioTrack",get:function(){return this.trackId},set:function(t){this.selectDefaultTrack=!1,this.setAudioTrack(t)}}]),n}(li),Co=function(s){function n(t,r,i){var a;return(a=s.call(this,t,r,i,"[subtitle-stream-controller]",qe)||this).currentTrackId=-1,a.tracksBuffered=[],a.mainDetails=null,a._registerListeners(),a}Le(n,s);var e=n.prototype;return e.onHandlerDestroying=function(){this._unregisterListeners(),s.prototype.onHandlerDestroying.call(this),this.mainDetails=null},e._registerListeners=function(){var t=this.hls;t.on(p.MEDIA_ATTACHED,this.onMediaAttached,this),t.on(p.MEDIA_DETACHING,this.onMediaDetaching,this),t.on(p.MANIFEST_LOADING,this.onManifestLoading,this),t.on(p.LEVEL_LOADED,this.onLevelLoaded,this),t.on(p.ERROR,this.onError,this),t.on(p.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),t.on(p.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),t.on(p.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),t.on(p.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),t.on(p.BUFFER_FLUSHING,this.onBufferFlushing,this),t.on(p.FRAG_BUFFERED,this.onFragBuffered,this)},e._unregisterListeners=function(){var t=this.hls;t.off(p.MEDIA_ATTACHED,this.onMediaAttached,this),t.off(p.MEDIA_DETACHING,this.onMediaDetaching,this),t.off(p.MANIFEST_LOADING,this.onManifestLoading,this),t.off(p.LEVEL_LOADED,this.onLevelLoaded,this),t.off(p.ERROR,this.onError,this),t.off(p.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),t.off(p.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),t.off(p.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),t.off(p.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),t.off(p.BUFFER_FLUSHING,this.onBufferFlushing,this),t.off(p.FRAG_BUFFERED,this.onFragBuffered,this)},e.startLoad=function(t){this.stopLoad(),this.state=X,this.setInterval(500),this.nextLoadPosition=this.startPosition=this.lastCurrentTime=t,this.tick()},e.onManifestLoading=function(){this.mainDetails=null,this.fragmentTracker.removeAllFragments()},e.onMediaDetaching=function(){this.tracksBuffered=[],s.prototype.onMediaDetaching.call(this)},e.onLevelLoaded=function(t,r){this.mainDetails=r.details},e.onSubtitleFragProcessed=function(t,r){var i=r.frag,a=r.success;if(this.fragPrevious=i,this.state=X,a){var o=this.tracksBuffered[this.currentTrackId];if(o){for(var l,h=i.start,u=0;u<o.length;u++)if(h>=o[u].start&&h<=o[u].end){l=o[u];break}var d=i.start+i.duration;l?l.end=d:(l={start:h,end:d},o.push(l)),this.fragmentTracker.fragBuffered(i),this.fragBufferedComplete(i,null)}}},e.onBufferFlushing=function(t,r){var i=r.startOffset,a=r.endOffset;if(i===0&&a!==Number.POSITIVE_INFINITY){var o=a-1;if(o<=0)return;r.endOffsetSubtitles=Math.max(0,o),this.tracksBuffered.forEach(function(l){for(var h=0;h<l.length;)if(l[h].end<=o)l.shift();else{if(!(l[h].start<o))break;l[h].start=o,h++}}),this.fragmentTracker.removeFragmentsInRange(i,o,qe)}},e.onFragBuffered=function(t,r){var i;this.loadedmetadata||r.frag.type!==Z||(i=this.media)!=null&&i.buffered.length&&(this.loadedmetadata=!0)},e.onError=function(t,r){var i=r.frag;(i==null?void 0:i.type)===qe&&(this.fragCurrent&&this.fragCurrent.abortRequests(),this.state!==Oe&&(this.state=X))},e.onSubtitleTracksUpdated=function(t,r){var i=this,a=r.subtitleTracks;this.levels&&La(this.levels,a)?this.levels=a.map(function(o){return new yt(o)}):(this.tracksBuffered=[],this.levels=a.map(function(o){var l=new yt(o);return i.tracksBuffered[l.id]=[],l}),this.fragmentTracker.removeFragmentsInRange(0,Number.POSITIVE_INFINITY,qe),this.fragPrevious=null,this.mediaBuffer=null)},e.onSubtitleTrackSwitch=function(t,r){var i;if(this.currentTrackId=r.id,(i=this.levels)!=null&&i.length&&this.currentTrackId!==-1){var a=this.levels[this.currentTrackId];a!=null&&a.details?this.mediaBuffer=this.mediaBufferTimeRanges:this.mediaBuffer=null,a&&this.setInterval(500)}else this.clearInterval()},e.onSubtitleTrackLoaded=function(t,r){var i,a=this.currentTrackId,o=this.levels,l=r.details,h=r.id;if(o){var u=o[a];if(!(h>=o.length||h!==a)&&u){this.log("Subtitle track "+h+" loaded ["+l.startSN+","+l.endSN+"]"+(l.lastPartSn?"[part-"+l.lastPartSn+"-"+l.lastPartIndex+"]":"")+",duration:"+l.totalduration),this.mediaBuffer=this.mediaBufferTimeRanges;var d=0;if(l.live||(i=u.details)!=null&&i.live){var c=this.mainDetails;if(l.deltaUpdateFailed||!c)return;var f,g=c.fragments[0];u.details?(d=this.alignPlaylists(l,u.details,(f=this.levelLastLoaded)==null?void 0:f.details))===0&&g&&ii(l,d=g.start):l.hasProgramDateTime&&c.hasProgramDateTime?(mr(l,c),d=l.fragments[0].start):g&&ii(l,d=g.start)}u.details=l,this.levelLastLoaded=u,this.startFragRequested||!this.mainDetails&&l.live||this.setStartPosition(this.mainDetails||l,d),this.tick(),l.live&&!this.fragCurrent&&this.media&&this.state===X&&(cr(null,l.fragments,this.media.currentTime,0)||(this.warn("Subtitle playlist not aligned with playback"),u.details=void 0))}}else this.warn("Subtitle tracks were reset while loading level "+h)},e._handleFragmentLoadComplete=function(t){var r=this,i=t.frag,a=t.payload,o=i.decryptdata,l=this.hls;if(!this.fragContextChanged(i)&&a&&a.byteLength>0&&o!=null&&o.key&&o.iv&&o.method==="AES-128"){var h=performance.now();this.decrypter.decrypt(new Uint8Array(a),o.key.buffer,o.iv.buffer).catch(function(u){throw l.trigger(p.ERROR,{type:G.MEDIA_ERROR,details:w.FRAG_DECRYPT_ERROR,fatal:!1,error:u,reason:u.message,frag:i}),u}).then(function(u){var d=performance.now();l.trigger(p.FRAG_DECRYPTED,{frag:i,payload:u,stats:{tstart:h,tdecrypt:d}})}).catch(function(u){r.warn(u.name+": "+u.message),r.state=X})}},e.doTick=function(){if(this.media){if(this.state===X){var t=this.currentTrackId,r=this.levels,i=r==null?void 0:r[t];if(!i||!r.length||!i.details)return;var a=this.config,o=this.getLoadPosition(),l=ue.bufferedInfo(this.tracksBuffered[this.currentTrackId]||[],o,a.maxBufferHole),h=l.end,u=l.len,d=this.getFwdBufferInfo(this.media,Z),c=i.details;if(u>this.getMaxBufferLength(d==null?void 0:d.len)+c.levelTargetDuration)return;var f=c.fragments,g=f.length,m=c.edge,E=null,v=this.fragPrevious;if(h<m){var y=a.maxFragLookUpTolerance,T=h>m-y?0:y;!(E=cr(v,f,Math.max(f[0].start,h),T))&&v&&v.start<f[0].start&&(E=f[0])}else E=f[g-1];if(!E)return;if((E=this.mapToInitFragWhenRequired(E)).sn!=="initSegment"){var S=f[E.sn-c.startSN-1];S&&S.cc===E.cc&&this.fragmentTracker.getState(S)===Vt&&(E=S)}this.fragmentTracker.getState(E)===Vt&&this.loadFragment(E,i,h)}}else this.state=X},e.getMaxBufferLength=function(t){var r=s.prototype.getMaxBufferLength.call(this);return t?Math.max(r,t):r},e.loadFragment=function(t,r,i){this.fragCurrent=t,t.sn==="initSegment"?this._loadInitSegment(t,r):(this.startFragRequested=!0,s.prototype.loadFragment.call(this,t,r,i))},fe(n,[{key:"mediaBufferTimeRanges",get:function(){return new _o(this.tracksBuffered[this.currentTrackId]||[])}}]),n}(ci),_o=function(s){this.buffered=void 0;var n=function(e,t,r){if((t>>>=0)>r-1)throw new DOMException("Failed to execute '"+e+"' on 'TimeRanges': The index provided ("+t+") is greater than the maximum bound ("+r+")");return s[t][e]};this.buffered={get length(){return s.length},end:function(e){return n("end",e,s.length)},start:function(e){return n("start",e,s.length)}}},xo=function(s){function n(t){var r;return(r=s.call(this,t,"[subtitle-track-controller]")||this).media=null,r.tracks=[],r.groupIds=null,r.tracksInGroup=[],r.trackId=-1,r.currentTrack=null,r.selectDefaultTrack=!0,r.queuedDefaultTrack=-1,r.asyncPollTrackChange=function(){return r.pollTrackChange(0)},r.useTextTrackPolling=!1,r.subtitlePollingInterval=-1,r._subtitleDisplay=!0,r.onTextTracksChanged=function(){if(r.useTextTrackPolling||self.clearInterval(r.subtitlePollingInterval),r.media&&r.hls.config.renderTextTracksNatively){for(var i=null,a=or(r.media.textTracks),o=0;o<a.length;o++)if(a[o].mode==="hidden")i=a[o];else if(a[o].mode==="showing"){i=a[o];break}var l=r.findTrackForTextTrack(i);r.subtitleTrack!==l&&r.setSubtitleTrack(l)}},r.registerListeners(),r}Le(n,s);var e=n.prototype;return e.destroy=function(){this.unregisterListeners(),this.tracks.length=0,this.tracksInGroup.length=0,this.currentTrack=null,this.onTextTracksChanged=this.asyncPollTrackChange=null,s.prototype.destroy.call(this)},e.registerListeners=function(){var t=this.hls;t.on(p.MEDIA_ATTACHED,this.onMediaAttached,this),t.on(p.MEDIA_DETACHING,this.onMediaDetaching,this),t.on(p.MANIFEST_LOADING,this.onManifestLoading,this),t.on(p.MANIFEST_PARSED,this.onManifestParsed,this),t.on(p.LEVEL_LOADING,this.onLevelLoading,this),t.on(p.LEVEL_SWITCHING,this.onLevelSwitching,this),t.on(p.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),t.on(p.ERROR,this.onError,this)},e.unregisterListeners=function(){var t=this.hls;t.off(p.MEDIA_ATTACHED,this.onMediaAttached,this),t.off(p.MEDIA_DETACHING,this.onMediaDetaching,this),t.off(p.MANIFEST_LOADING,this.onManifestLoading,this),t.off(p.MANIFEST_PARSED,this.onManifestParsed,this),t.off(p.LEVEL_LOADING,this.onLevelLoading,this),t.off(p.LEVEL_SWITCHING,this.onLevelSwitching,this),t.off(p.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),t.off(p.ERROR,this.onError,this)},e.onMediaAttached=function(t,r){this.media=r.media,this.media&&(this.queuedDefaultTrack>-1&&(this.subtitleTrack=this.queuedDefaultTrack,this.queuedDefaultTrack=-1),this.useTextTrackPolling=!(this.media.textTracks&&"onchange"in this.media.textTracks),this.useTextTrackPolling?this.pollTrackChange(500):this.media.textTracks.addEventListener("change",this.asyncPollTrackChange))},e.pollTrackChange=function(t){self.clearInterval(this.subtitlePollingInterval),this.subtitlePollingInterval=self.setInterval(this.onTextTracksChanged,t)},e.onMediaDetaching=function(){this.media&&(self.clearInterval(this.subtitlePollingInterval),this.useTextTrackPolling||this.media.textTracks.removeEventListener("change",this.asyncPollTrackChange),this.trackId>-1&&(this.queuedDefaultTrack=this.trackId),or(this.media.textTracks).forEach(function(t){pt(t)}),this.subtitleTrack=-1,this.media=null)},e.onManifestLoading=function(){this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0},e.onManifestParsed=function(t,r){this.tracks=r.subtitleTracks},e.onSubtitleTrackLoaded=function(t,r){var i=r.id,a=r.groupId,o=r.details,l=this.tracksInGroup[i];if(l&&l.groupId===a){var h=l.details;l.details=r.details,this.log("Subtitle track "+i+' "'+l.name+'" lang:'+l.lang+" group:"+a+" loaded ["+o.startSN+"-"+o.endSN+"]"),i===this.trackId&&this.playlistLoaded(i,r,h)}else this.warn("Subtitle track with id:"+i+" and group:"+a+" not found in active group "+(l==null?void 0:l.groupId))},e.onLevelLoading=function(t,r){this.switchLevel(r.level)},e.onLevelSwitching=function(t,r){this.switchLevel(r.level)},e.switchLevel=function(t){var r=this.hls.levels[t];if(r){var i=r.subtitleGroups||null,a=this.groupIds,o=this.currentTrack;if(!i||(a==null?void 0:a.length)!==(i==null?void 0:i.length)||i!=null&&i.some(function(g){return(a==null?void 0:a.indexOf(g))===-1})){this.groupIds=i,this.trackId=-1,this.currentTrack=null;var l=this.tracks.filter(function(g){return!i||i.indexOf(g.groupId)!==-1});if(l.length)this.selectDefaultTrack&&!l.some(function(g){return g.default})&&(this.selectDefaultTrack=!1),l.forEach(function(g,m){g.id=m});else if(!o&&!this.tracksInGroup.length)return;this.tracksInGroup=l;var h=this.hls.config.subtitlePreference;if(!o&&h){this.selectDefaultTrack=!1;var u=Ye(h,l);if(u>-1)o=l[u];else{var d=Ye(h,this.tracks);o=this.tracks[d]}}var c=this.findTrackId(o);c===-1&&o&&(c=this.findTrackId(null));var f={subtitleTracks:l};this.log("Updating subtitle tracks, "+l.length+' track(s) found in "'+(i==null?void 0:i.join(","))+'" group-id'),this.hls.trigger(p.SUBTITLE_TRACKS_UPDATED,f),c!==-1&&this.trackId===-1&&this.setSubtitleTrack(c)}else this.shouldReloadPlaylist(o)&&this.setSubtitleTrack(this.trackId)}},e.findTrackId=function(t){for(var r=this.tracksInGroup,i=this.selectDefaultTrack,a=0;a<r.length;a++){var o=r[a];if((!i||o.default)&&(i||t)&&(!t||St(o,t)))return a}if(t){for(var l=0;l<r.length;l++){var h=r[l];if(Ct(t.attrs,h.attrs,["LANGUAGE","ASSOC-LANGUAGE","CHARACTERISTICS"]))return l}for(var u=0;u<r.length;u++){var d=r[u];if(Ct(t.attrs,d.attrs,["LANGUAGE"]))return u}}return-1},e.findTrackForTextTrack=function(t){if(t){for(var r=this.tracksInGroup,i=0;i<r.length;i++)if(Ai(r[i],t))return i}return-1},e.onError=function(t,r){!r.fatal&&r.context&&(r.context.type!==Ve||r.context.id!==this.trackId||this.groupIds&&this.groupIds.indexOf(r.context.groupId)===-1||this.checkRetry(r))},e.setSubtitleOption=function(t){if(this.hls.config.subtitlePreference=t,t){var r=this.allSubtitleTracks;if(this.selectDefaultTrack=!1,r.length){var i=this.currentTrack;if(i&&St(t,i))return i;var a=Ye(t,this.tracksInGroup);if(a>-1){var o=this.tracksInGroup[a];return this.setSubtitleTrack(a),o}if(i)return null;var l=Ye(t,r);if(l>-1)return r[l]}}return null},e.loadPlaylist=function(t){s.prototype.loadPlaylist.call(this);var r=this.currentTrack;if(this.shouldLoadPlaylist(r)&&r){var i=r.id,a=r.groupId,o=r.url;if(t)try{o=t.addDirectives(o)}catch(l){this.warn("Could not construct new URL with HLS Delivery Directives: "+l)}this.log("Loading subtitle playlist for id "+i),this.hls.trigger(p.SUBTITLE_TRACK_LOADING,{url:o,id:i,groupId:a,deliveryDirectives:t||null})}},e.toggleTrackModes=function(){var t=this.media;if(t){var r,i=or(t.textTracks),a=this.currentTrack;if(a&&((r=i.filter(function(l){return Ai(a,l)})[0])||this.warn('Unable to find subtitle TextTrack with name "'+a.name+'" and language "'+a.lang+'"')),[].slice.call(i).forEach(function(l){l.mode!=="disabled"&&l!==r&&(l.mode="disabled")}),r){var o=this.subtitleDisplay?"showing":"hidden";r.mode!==o&&(r.mode=o)}}},e.setSubtitleTrack=function(t){var r=this.tracksInGroup;if(this.media)if(t<-1||t>=r.length||!O(t))this.warn("Invalid subtitle track id: "+t);else{this.clearTimer(),this.selectDefaultTrack=!1;var i=this.currentTrack,a=r[t]||null;if(this.trackId=t,this.currentTrack=a,this.toggleTrackModes(),a){var o=!!a.details&&!a.details.live;if(t!==this.trackId||a!==i||!o){this.log("Switching to subtitle-track "+t+(a?' "'+a.name+'" lang:'+a.lang+" group:"+a.groupId:""));var l=a.id,h=a.groupId,u=h===void 0?"":h,d=a.name,c=a.type,f=a.url;this.hls.trigger(p.SUBTITLE_TRACK_SWITCH,{id:l,groupId:u,name:d,type:c,url:f});var g=this.switchParams(a.url,i==null?void 0:i.details);this.loadPlaylist(g)}}else this.hls.trigger(p.SUBTITLE_TRACK_SWITCH,{id:t})}else this.queuedDefaultTrack=t},fe(n,[{key:"subtitleDisplay",get:function(){return this._subtitleDisplay},set:function(t){this._subtitleDisplay=t,this.trackId>-1&&this.toggleTrackModes()}},{key:"allSubtitleTracks",get:function(){return this.tracks}},{key:"subtitleTracks",get:function(){return this.tracksInGroup}},{key:"subtitleTrack",get:function(){return this.trackId},set:function(t){this.selectDefaultTrack=!1,this.setSubtitleTrack(t)}}]),n}(li),Po=function(){function s(e){this.buffers=void 0,this.queues={video:[],audio:[],audiovideo:[]},this.buffers=e}var n=s.prototype;return n.append=function(e,t,r){var i=this.queues[t];i.push(e),i.length!==1||r||this.executeNext(t)},n.insertAbort=function(e,t){this.queues[t].unshift(e),this.executeNext(t)},n.appendBlocker=function(e){var t,r=new Promise(function(a){t=a}),i={execute:t,onStart:function(){},onComplete:function(){},onError:function(){}};return this.append(i,e),r},n.executeNext=function(e){var t=this.queues[e];if(t.length){var r=t[0];try{r.execute()}catch(a){b.warn('[buffer-operation-queue]: Exception executing "'+e+'" SourceBuffer operation: '+a),r.onError(a);var i=this.buffers[e];i!=null&&i.updating||this.shiftAndExecuteNext(e)}}},n.shiftAndExecuteNext=function(e){this.queues[e].shift(),this.executeNext(e)},n.current=function(e){return this.queues[e][0]},s}(),Aa=/(avc[1234]|hvc1|hev1|dvh[1e]|vp09|av01)(?:\.[^.,]+)+/,Fo=function(){function s(e){var t=this;this.details=null,this._objectUrl=null,this.operationQueue=void 0,this.listeners=void 0,this.hls=void 0,this.bufferCodecEventsExpected=0,this._bufferCodecEventsTotal=0,this.media=null,this.mediaSource=null,this.lastMpegAudioChunk=null,this.appendSource=void 0,this.appendErrors={audio:0,video:0,audiovideo:0},this.tracks={},this.pendingTracks={},this.sourceBuffer=void 0,this.log=void 0,this.warn=void 0,this.error=void 0,this._onEndStreaming=function(i){t.hls&&t.hls.pauseBuffering()},this._onStartStreaming=function(i){t.hls&&t.hls.resumeBuffering()},this._onMediaSourceOpen=function(){var i=t.media,a=t.mediaSource;t.log("Media source opened"),i&&(i.removeEventListener("emptied",t._onMediaEmptied),t.updateMediaElementDuration(),t.hls.trigger(p.MEDIA_ATTACHED,{media:i,mediaSource:a})),a&&a.removeEventListener("sourceopen",t._onMediaSourceOpen),t.checkPendingTracks()},this._onMediaSourceClose=function(){t.log("Media source closed")},this._onMediaSourceEnded=function(){t.log("Media source ended")},this._onMediaEmptied=function(){var i=t.mediaSrc,a=t._objectUrl;i!==a&&b.error("Media element src was set while attaching MediaSource ("+a+" > "+i+")")},this.hls=e;var r="[buffer-controller]";this.appendSource=e.config.preferManagedMediaSource&&typeof self<"u"&&self.ManagedMediaSource,this.log=b.log.bind(b,r),this.warn=b.warn.bind(b,r),this.error=b.error.bind(b,r),this._initSourceBuffer(),this.registerListeners()}var n=s.prototype;return n.hasSourceTypes=function(){return this.getSourceBufferTypes().length>0||Object.keys(this.pendingTracks).length>0},n.destroy=function(){this.unregisterListeners(),this.details=null,this.lastMpegAudioChunk=null,this.hls=null},n.registerListeners=function(){var e=this.hls;e.on(p.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(p.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(p.MANIFEST_LOADING,this.onManifestLoading,this),e.on(p.MANIFEST_PARSED,this.onManifestParsed,this),e.on(p.BUFFER_RESET,this.onBufferReset,this),e.on(p.BUFFER_APPENDING,this.onBufferAppending,this),e.on(p.BUFFER_CODECS,this.onBufferCodecs,this),e.on(p.BUFFER_EOS,this.onBufferEos,this),e.on(p.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(p.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(p.FRAG_PARSED,this.onFragParsed,this),e.on(p.FRAG_CHANGED,this.onFragChanged,this)},n.unregisterListeners=function(){var e=this.hls;e.off(p.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(p.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(p.MANIFEST_LOADING,this.onManifestLoading,this),e.off(p.MANIFEST_PARSED,this.onManifestParsed,this),e.off(p.BUFFER_RESET,this.onBufferReset,this),e.off(p.BUFFER_APPENDING,this.onBufferAppending,this),e.off(p.BUFFER_CODECS,this.onBufferCodecs,this),e.off(p.BUFFER_EOS,this.onBufferEos,this),e.off(p.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(p.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(p.FRAG_PARSED,this.onFragParsed,this),e.off(p.FRAG_CHANGED,this.onFragChanged,this)},n._initSourceBuffer=function(){this.sourceBuffer={},this.operationQueue=new Po(this.sourceBuffer),this.listeners={audio:[],video:[],audiovideo:[]},this.appendErrors={audio:0,video:0,audiovideo:0},this.lastMpegAudioChunk=null},n.onManifestLoading=function(){this.bufferCodecEventsExpected=this._bufferCodecEventsTotal=0,this.details=null},n.onManifestParsed=function(e,t){var r=2;(t.audio&&!t.video||!t.altAudio)&&(r=1),this.bufferCodecEventsExpected=this._bufferCodecEventsTotal=r,this.log(this.bufferCodecEventsExpected+" bufferCodec event(s) expected")},n.onMediaAttaching=function(e,t){var r=this.media=t.media,i=vt(this.appendSource);if(r&&i){var a,o=this.mediaSource=new i;this.log("created media source: "+((a=o.constructor)==null?void 0:a.name)),o.addEventListener("sourceopen",this._onMediaSourceOpen),o.addEventListener("sourceended",this._onMediaSourceEnded),o.addEventListener("sourceclose",this._onMediaSourceClose),this.appendSource&&(o.addEventListener("startstreaming",this._onStartStreaming),o.addEventListener("endstreaming",this._onEndStreaming));var l=this._objectUrl=self.URL.createObjectURL(o);if(this.appendSource)try{r.removeAttribute("src");var h=self.ManagedMediaSource;r.disableRemotePlayback=r.disableRemotePlayback||h&&o instanceof h,Ra(r),function(u,d){var c=self.document.createElement("source");c.type="video/mp4",c.src=d,u.appendChild(c)}(r,l),r.load()}catch{r.src=l}else r.src=l;r.addEventListener("emptied",this._onMediaEmptied)}},n.onMediaDetaching=function(){var e=this.media,t=this.mediaSource,r=this._objectUrl;if(t){if(this.log("media source detaching"),t.readyState==="open")try{t.endOfStream()}catch(i){this.warn("onMediaDetaching: "+i.message+" while calling endOfStream")}this.onBufferReset(),t.removeEventListener("sourceopen",this._onMediaSourceOpen),t.removeEventListener("sourceended",this._onMediaSourceEnded),t.removeEventListener("sourceclose",this._onMediaSourceClose),this.appendSource&&(t.removeEventListener("startstreaming",this._onStartStreaming),t.removeEventListener("endstreaming",this._onEndStreaming)),e&&(e.removeEventListener("emptied",this._onMediaEmptied),r&&self.URL.revokeObjectURL(r),this.mediaSrc===r?(e.removeAttribute("src"),this.appendSource&&Ra(e),e.load()):this.warn("media|source.src was changed by a third party - skip cleanup")),this.mediaSource=null,this.media=null,this._objectUrl=null,this.bufferCodecEventsExpected=this._bufferCodecEventsTotal,this.pendingTracks={},this.tracks={}}this.hls.trigger(p.MEDIA_DETACHED,void 0)},n.onBufferReset=function(){var e=this;this.getSourceBufferTypes().forEach(function(t){e.resetBuffer(t)}),this._initSourceBuffer()},n.resetBuffer=function(e){var t=this.sourceBuffer[e];try{var r;t&&(this.removeBufferListeners(e),this.sourceBuffer[e]=void 0,(r=this.mediaSource)!=null&&r.sourceBuffers.length&&this.mediaSource.removeSourceBuffer(t))}catch(i){this.warn("onBufferReset "+e,i)}},n.onBufferCodecs=function(e,t){var r=this,i=this.getSourceBufferTypes().length,a=Object.keys(t);if(a.forEach(function(l){if(i){var h=r.tracks[l];if(h&&typeof h.buffer.changeType=="function"){var u,d=t[l],c=d.id,f=d.codec,g=d.levelCodec,m=d.container,E=d.metadata,v=En(h.codec,h.levelCodec),y=v==null?void 0:v.replace(Aa,"$1"),T=En(f,g),S=(u=T)==null?void 0:u.replace(Aa,"$1");if(T&&y!==S){l.slice(0,5)==="audio"&&(T=sr(T,r.appendSource));var A=m+";codecs="+T;r.appendChangeType(l,A),r.log("switching codec "+v+" to "+T),r.tracks[l]={buffer:h.buffer,codec:f,container:m,levelCodec:g,metadata:E,id:c}}}}else r.pendingTracks[l]=t[l]}),!i){var o=Math.max(this.bufferCodecEventsExpected-1,0);this.bufferCodecEventsExpected!==o&&(this.log(o+" bufferCodec event(s) expected "+a.join(",")),this.bufferCodecEventsExpected=o),this.mediaSource&&this.mediaSource.readyState==="open"&&this.checkPendingTracks()}},n.appendChangeType=function(e,t){var r=this,i=this.operationQueue,a={execute:function(){var o=r.sourceBuffer[e];o&&(r.log("changing "+e+" sourceBuffer type to "+t),o.changeType(t)),i.shiftAndExecuteNext(e)},onStart:function(){},onComplete:function(){},onError:function(o){r.warn("Failed to change "+e+" SourceBuffer type",o)}};i.append(a,e,!!this.pendingTracks[e])},n.onBufferAppending=function(e,t){var r=this,i=this.hls,a=this.operationQueue,o=this.tracks,l=t.data,h=t.type,u=t.frag,d=t.part,c=t.chunkMeta,f=c.buffering[h],g=self.performance.now();f.start=g;var m=u.stats.buffering,E=d?d.stats.buffering:null;m.start===0&&(m.start=g),E&&E.start===0&&(E.start=g);var v=o.audio,y=!1;h==="audio"&&(v==null?void 0:v.container)==="audio/mpeg"&&(y=!this.lastMpegAudioChunk||c.id===1||this.lastMpegAudioChunk.sn!==c.sn,this.lastMpegAudioChunk=c);var T=u.start,S={execute:function(){if(f.executeStart=self.performance.now(),y){var A=r.sourceBuffer[h];if(A){var R=T-A.timestampOffset;Math.abs(R)>=.1&&(r.log("Updating audio SourceBuffer timestampOffset to "+T+" (delta: "+R+") sn: "+u.sn+")"),A.timestampOffset=T)}}r.appendExecutor(l,h)},onStart:function(){},onComplete:function(){var A=self.performance.now();f.executeEnd=f.end=A,m.first===0&&(m.first=A),E&&E.first===0&&(E.first=A);var R=r.sourceBuffer,L={};for(var D in R)L[D]=ue.getBuffered(R[D]);r.appendErrors[h]=0,h==="audio"||h==="video"?r.appendErrors.audiovideo=0:(r.appendErrors.audio=0,r.appendErrors.video=0),r.hls.trigger(p.BUFFER_APPENDED,{type:h,frag:u,part:d,chunkMeta:c,parent:u.type,timeRanges:L})},onError:function(A){var R={type:G.MEDIA_ERROR,parent:u.type,details:w.BUFFER_APPEND_ERROR,sourceBufferName:h,frag:u,part:d,chunkMeta:c,error:A,err:A,fatal:!1};if(A.code===DOMException.QUOTA_EXCEEDED_ERR)R.details=w.BUFFER_FULL_ERROR;else{var L=++r.appendErrors[h];R.details=w.BUFFER_APPEND_ERROR,r.warn("Failed "+L+"/"+i.config.appendErrorMaxRetry+' times to append segment in "'+h+'" sourceBuffer'),L>=i.config.appendErrorMaxRetry&&(R.fatal=!0)}i.trigger(p.ERROR,R)}};a.append(S,h,!!this.pendingTracks[h])},n.onBufferFlushing=function(e,t){var r=this,i=this.operationQueue,a=function(o){return{execute:r.removeExecutor.bind(r,o,t.startOffset,t.endOffset),onStart:function(){},onComplete:function(){r.hls.trigger(p.BUFFER_FLUSHED,{type:o})},onError:function(l){r.warn("Failed to remove from "+o+" SourceBuffer",l)}}};t.type?i.append(a(t.type),t.type):this.getSourceBufferTypes().forEach(function(o){i.append(a(o),o)})},n.onFragParsed=function(e,t){var r=this,i=t.frag,a=t.part,o=[],l=a?a.elementaryStreams:i.elementaryStreams;l[Fr]?o.push("audiovideo"):(l[we]&&o.push("audio"),l[Pe]&&o.push("video")),o.length===0&&this.warn("Fragments must have at least one ElementaryStreamType set. type: "+i.type+" level: "+i.level+" sn: "+i.sn),this.blockBuffers(function(){var h=self.performance.now();i.stats.buffering.end=h,a&&(a.stats.buffering.end=h);var u=a?a.stats:i.stats;r.hls.trigger(p.FRAG_BUFFERED,{frag:i,part:a,stats:u,id:i.type})},o)},n.onFragChanged=function(e,t){this.trimBuffers()},n.onBufferEos=function(e,t){var r=this;this.getSourceBufferTypes().reduce(function(i,a){var o=r.sourceBuffer[a];return!o||t.type&&t.type!==a||(o.ending=!0,o.ended||(o.ended=!0,r.log(a+" sourceBuffer now EOS"))),i&&!(o&&!o.ended)},!0)&&(this.log("Queueing mediaSource.endOfStream()"),this.blockBuffers(function(){r.getSourceBufferTypes().forEach(function(a){var o=r.sourceBuffer[a];o&&(o.ending=!1)});var i=r.mediaSource;i&&i.readyState==="open"?(r.log("Calling mediaSource.endOfStream()"),i.endOfStream()):i&&r.log("Could not call mediaSource.endOfStream(). mediaSource.readyState: "+i.readyState)}))},n.onLevelUpdated=function(e,t){var r=t.details;r.fragments.length&&(this.details=r,this.getSourceBufferTypes().length?this.blockBuffers(this.updateMediaElementDuration.bind(this)):this.updateMediaElementDuration())},n.trimBuffers=function(){var e=this.hls,t=this.details,r=this.media;if(r&&t!==null&&this.getSourceBufferTypes().length){var i=e.config,a=r.currentTime,o=t.levelTargetDuration,l=t.live&&i.liveBackBufferLength!==null?i.liveBackBufferLength:i.backBufferLength;if(O(l)&&l>0){var h=Math.max(l,o),u=Math.floor(a/o)*o-h;this.flushBackBuffer(a,o,u)}if(O(i.frontBufferFlushThreshold)&&i.frontBufferFlushThreshold>0){var d=Math.max(i.maxBufferLength,i.frontBufferFlushThreshold),c=Math.max(d,o),f=Math.floor(a/o)*o+c;this.flushFrontBuffer(a,o,f)}}},n.flushBackBuffer=function(e,t,r){var i=this,a=this.details,o=this.sourceBuffer;this.getSourceBufferTypes().forEach(function(l){var h=o[l];if(h){var u=ue.getBuffered(h);if(u.length>0&&r>u.start(0)){if(i.hls.trigger(p.BACK_BUFFER_REACHED,{bufferEnd:r}),a!=null&&a.live)i.hls.trigger(p.LIVE_BACK_BUFFER_REACHED,{bufferEnd:r});else if(h.ended&&u.end(u.length-1)-e<2*t)return void i.log("Cannot flush "+l+" back buffer while SourceBuffer is in ended state");i.hls.trigger(p.BUFFER_FLUSHING,{startOffset:0,endOffset:r,type:l})}}})},n.flushFrontBuffer=function(e,t,r){var i=this,a=this.sourceBuffer;this.getSourceBufferTypes().forEach(function(o){var l=a[o];if(l){var h=ue.getBuffered(l),u=h.length;if(u<2)return;var d=h.start(u-1),c=h.end(u-1);if(r>d||e>=d&&e<=c)return;if(l.ended&&e-c<2*t)return void i.log("Cannot flush "+o+" front buffer while SourceBuffer is in ended state");i.hls.trigger(p.BUFFER_FLUSHING,{startOffset:d,endOffset:1/0,type:o})}})},n.updateMediaElementDuration=function(){if(this.details&&this.media&&this.mediaSource&&this.mediaSource.readyState==="open"){var e=this.details,t=this.hls,r=this.media,i=this.mediaSource,a=e.fragments[0].start+e.totalduration,o=r.duration,l=O(i.duration)?i.duration:0;e.live&&t.config.liveDurationInfinity?(i.duration=1/0,this.updateSeekableRange(e)):(a>l&&a>o||!O(o))&&(this.log("Updating Media Source duration to "+a.toFixed(3)),i.duration=a)}},n.updateSeekableRange=function(e){var t=this.mediaSource,r=e.fragments;if(r.length&&e.live&&t!=null&&t.setLiveSeekableRange){var i=Math.max(0,r[0].start),a=Math.max(i,i+e.totalduration);this.log("Media Source duration is set to "+t.duration+". Setting seekable range to "+i+"-"+a+"."),t.setLiveSeekableRange(i,a)}},n.checkPendingTracks=function(){var e=this.bufferCodecEventsExpected,t=this.operationQueue,r=this.pendingTracks,i=Object.keys(r).length;if(i&&(!e||i===2||"audiovideo"in r)){this.createSourceBuffers(r),this.pendingTracks={};var a=this.getSourceBufferTypes();if(a.length)this.hls.trigger(p.BUFFER_CREATED,{tracks:this.tracks}),a.forEach(function(l){t.executeNext(l)});else{var o=new Error("could not create source buffer for media codec(s)");this.hls.trigger(p.ERROR,{type:G.MEDIA_ERROR,details:w.BUFFER_INCOMPATIBLE_CODECS_ERROR,fatal:!0,error:o,reason:o.message})}}},n.createSourceBuffers=function(e){var t=this,r=this.sourceBuffer,i=this.mediaSource;if(!i)throw Error("createSourceBuffers called when mediaSource was null");var a=function(l){if(!r[l]){var h=e[l];if(!h)throw Error("source buffer exists for track "+l+", however track does not");var u=h.levelCodec||h.codec;u&&l.slice(0,5)==="audio"&&(u=sr(u,t.appendSource));var d=h.container+";codecs="+u;t.log("creating sourceBuffer("+d+")");try{var c=r[l]=i.addSourceBuffer(d),f=l;t.addBufferListener(f,"updatestart",t._onSBUpdateStart),t.addBufferListener(f,"updateend",t._onSBUpdateEnd),t.addBufferListener(f,"error",t._onSBUpdateError),t.appendSource&&t.addBufferListener(f,"bufferedchange",function(g,m){var E=m.removedRanges;E!=null&&E.length&&t.hls.trigger(p.BUFFER_FLUSHED,{type:l})}),t.tracks[l]={buffer:c,codec:u,container:h.container,levelCodec:h.levelCodec,metadata:h.metadata,id:h.id}}catch(g){t.error("error while trying to add sourceBuffer: "+g.message),t.hls.trigger(p.ERROR,{type:G.MEDIA_ERROR,details:w.BUFFER_ADD_CODEC_ERROR,fatal:!1,error:g,sourceBufferName:l,mimeType:d})}}};for(var o in e)a(o)},n._onSBUpdateStart=function(e){this.operationQueue.current(e).onStart()},n._onSBUpdateEnd=function(e){var t;if(((t=this.mediaSource)==null?void 0:t.readyState)!=="closed"){var r=this.operationQueue;r.current(e).onComplete(),r.shiftAndExecuteNext(e)}else this.resetBuffer(e)},n._onSBUpdateError=function(e,t){var r,i=new Error(e+" SourceBuffer error. MediaSource readyState: "+((r=this.mediaSource)==null?void 0:r.readyState));this.error(""+i,t),this.hls.trigger(p.ERROR,{type:G.MEDIA_ERROR,details:w.BUFFER_APPENDING_ERROR,sourceBufferName:e,error:i,fatal:!1});var a=this.operationQueue.current(e);a&&a.onError(i)},n.removeExecutor=function(e,t,r){var i=this.media,a=this.mediaSource,o=this.operationQueue,l=this.sourceBuffer[e];if(!i||!a||!l)return this.warn("Attempting to remove from the "+e+" SourceBuffer, but it does not exist"),void o.shiftAndExecuteNext(e);var h=O(i.duration)?i.duration:1/0,u=O(a.duration)?a.duration:1/0,d=Math.max(0,t),c=Math.min(r,h,u);c>d&&(!l.ending||l.ended)?(l.ended=!1,this.log("Removing ["+d+","+c+"] from the "+e+" SourceBuffer"),l.remove(d,c)):o.shiftAndExecuteNext(e)},n.appendExecutor=function(e,t){var r=this.sourceBuffer[t];if(r)r.ended=!1,r.appendBuffer(e);else if(!this.pendingTracks[t])throw new Error("Attempting to append to the "+t+" SourceBuffer, but it does not exist")},n.blockBuffers=function(e,t){var r=this;if(t===void 0&&(t=this.getSourceBufferTypes()),!t.length)return this.log("Blocking operation requested, but no SourceBuffers exist"),void Promise.resolve().then(e);var i=this.operationQueue,a=t.map(function(o){return i.appendBlocker(o)});Promise.all(a).then(function(){e(),t.forEach(function(o){var l=r.sourceBuffer[o];l!=null&&l.updating||i.shiftAndExecuteNext(o)})})},n.getSourceBufferTypes=function(){return Object.keys(this.sourceBuffer)},n.addBufferListener=function(e,t,r){var i=this.sourceBuffer[e];if(i){var a=r.bind(this,e);this.listeners[e].push({event:t,listener:a}),i.addEventListener(t,a)}},n.removeBufferListeners=function(e){var t=this.sourceBuffer[e];t&&this.listeners[e].forEach(function(r){t.removeEventListener(r.event,r.listener)})},fe(s,[{key:"mediaSrc",get:function(){var e,t=((e=this.media)==null?void 0:e.firstChild)||this.media;return t==null?void 0:t.src}}]),s}();function Ra(s){var n=s.querySelectorAll("source");[].slice.call(n).forEach(function(e){s.removeChild(e)})}var ba={42:225,92:233,94:237,95:243,96:250,123:231,124:247,125:209,126:241,127:9608,128:174,129:176,130:189,131:191,132:8482,133:162,134:163,135:9834,136:224,137:32,138:232,139:226,140:234,141:238,142:244,143:251,144:193,145:201,146:211,147:218,148:220,149:252,150:8216,151:161,152:42,153:8217,154:9473,155:169,156:8480,157:8226,158:8220,159:8221,160:192,161:194,162:199,163:200,164:202,165:203,166:235,167:206,168:207,169:239,170:212,171:217,172:249,173:219,174:171,175:187,176:195,177:227,178:205,179:204,180:236,181:210,182:242,183:213,184:245,185:123,186:125,187:92,188:94,189:95,190:124,191:8764,192:196,193:228,194:214,195:246,196:223,197:165,198:164,199:9475,200:197,201:229,202:216,203:248,204:9487,205:9491,206:9495,207:9499},ka=function(s){var n=s;return ba.hasOwnProperty(s)&&(n=ba[s]),String.fromCharCode(n)},ht=15,Ze=100,Mo={17:1,18:3,21:5,22:7,23:9,16:11,19:12,20:14},Oo={17:2,18:4,21:6,22:8,23:10,19:13,20:15},No={25:1,26:3,29:5,30:7,31:9,24:11,27:12,28:14},Uo={25:2,26:4,29:6,30:8,31:10,27:13,28:15},Bo=["white","green","blue","cyan","red","yellow","magenta","black","transparent"],Go=function(){function s(){this.time=null,this.verboseLevel=0}return s.prototype.log=function(n,e){if(this.verboseLevel>=n){var t=typeof e=="function"?e():e;b.log(this.time+" ["+n+"] "+t)}},s}(),dt=function(s){for(var n=[],e=0;e<s.length;e++)n.push(s[e].toString(16));return n},Da=function(){function s(){this.foreground="white",this.underline=!1,this.italics=!1,this.background="black",this.flash=!1}var n=s.prototype;return n.reset=function(){this.foreground="white",this.underline=!1,this.italics=!1,this.background="black",this.flash=!1},n.setStyles=function(e){for(var t=["foreground","underline","italics","background","flash"],r=0;r<t.length;r++){var i=t[r];e.hasOwnProperty(i)&&(this[i]=e[i])}},n.isDefault=function(){return this.foreground==="white"&&!this.underline&&!this.italics&&this.background==="black"&&!this.flash},n.equals=function(e){return this.foreground===e.foreground&&this.underline===e.underline&&this.italics===e.italics&&this.background===e.background&&this.flash===e.flash},n.copy=function(e){this.foreground=e.foreground,this.underline=e.underline,this.italics=e.italics,this.background=e.background,this.flash=e.flash},n.toString=function(){return"color="+this.foreground+", underline="+this.underline+", italics="+this.italics+", background="+this.background+", flash="+this.flash},s}(),Ko=function(){function s(){this.uchar=" ",this.penState=new Da}var n=s.prototype;return n.reset=function(){this.uchar=" ",this.penState.reset()},n.setChar=function(e,t){this.uchar=e,this.penState.copy(t)},n.setPenState=function(e){this.penState.copy(e)},n.equals=function(e){return this.uchar===e.uchar&&this.penState.equals(e.penState)},n.copy=function(e){this.uchar=e.uchar,this.penState.copy(e.penState)},n.isEmpty=function(){return this.uchar===" "&&this.penState.isDefault()},s}(),Ho=function(){function s(e){this.chars=[],this.pos=0,this.currPenState=new Da,this.cueStartTime=null,this.logger=void 0;for(var t=0;t<Ze;t++)this.chars.push(new Ko);this.logger=e}var n=s.prototype;return n.equals=function(e){for(var t=0;t<Ze;t++)if(!this.chars[t].equals(e.chars[t]))return!1;return!0},n.copy=function(e){for(var t=0;t<Ze;t++)this.chars[t].copy(e.chars[t])},n.isEmpty=function(){for(var e=!0,t=0;t<Ze;t++)if(!this.chars[t].isEmpty()){e=!1;break}return e},n.setCursor=function(e){this.pos!==e&&(this.pos=e),this.pos<0?(this.logger.log(3,"Negative cursor position "+this.pos),this.pos=0):this.pos>Ze&&(this.logger.log(3,"Too large cursor position "+this.pos),this.pos=Ze)},n.moveCursor=function(e){var t=this.pos+e;if(e>1)for(var r=this.pos+1;r<t+1;r++)this.chars[r].setPenState(this.currPenState);this.setCursor(t)},n.backSpace=function(){this.moveCursor(-1),this.chars[this.pos].setChar(" ",this.currPenState)},n.insertChar=function(e){var t=this;e>=144&&this.backSpace();var r=ka(e);this.pos>=Ze?this.logger.log(0,function(){return"Cannot insert "+e.toString(16)+" ("+r+") at position "+t.pos+". Skipping it!"}):(this.chars[this.pos].setChar(r,this.currPenState),this.moveCursor(1))},n.clearFromPos=function(e){var t;for(t=e;t<Ze;t++)this.chars[t].reset()},n.clear=function(){this.clearFromPos(0),this.pos=0,this.currPenState.reset()},n.clearToEndOfRow=function(){this.clearFromPos(this.pos)},n.getTextString=function(){for(var e=[],t=!0,r=0;r<Ze;r++){var i=this.chars[r].uchar;i!==" "&&(t=!1),e.push(i)}return t?"":e.join("")},n.setPenStyles=function(e){this.currPenState.setStyles(e),this.chars[this.pos].setPenState(this.currPenState)},s}(),Ri=function(){function s(e){this.rows=[],this.currRow=14,this.nrRollUpRows=null,this.lastOutputScreen=null,this.logger=void 0;for(var t=0;t<ht;t++)this.rows.push(new Ho(e));this.logger=e}var n=s.prototype;return n.reset=function(){for(var e=0;e<ht;e++)this.rows[e].clear();this.currRow=14},n.equals=function(e){for(var t=!0,r=0;r<ht;r++)if(!this.rows[r].equals(e.rows[r])){t=!1;break}return t},n.copy=function(e){for(var t=0;t<ht;t++)this.rows[t].copy(e.rows[t])},n.isEmpty=function(){for(var e=!0,t=0;t<ht;t++)if(!this.rows[t].isEmpty()){e=!1;break}return e},n.backSpace=function(){this.rows[this.currRow].backSpace()},n.clearToEndOfRow=function(){this.rows[this.currRow].clearToEndOfRow()},n.insertChar=function(e){this.rows[this.currRow].insertChar(e)},n.setPen=function(e){this.rows[this.currRow].setPenStyles(e)},n.moveCursor=function(e){this.rows[this.currRow].moveCursor(e)},n.setCursor=function(e){this.logger.log(2,"setCursor: "+e),this.rows[this.currRow].setCursor(e)},n.setPAC=function(e){this.logger.log(2,function(){return"pacData = "+JSON.stringify(e)});var t=e.row-1;if(this.nrRollUpRows&&t<this.nrRollUpRows-1&&(t=this.nrRollUpRows-1),this.nrRollUpRows&&this.currRow!==t){for(var r=0;r<ht;r++)this.rows[r].clear();var i=this.currRow+1-this.nrRollUpRows,a=this.lastOutputScreen;if(a){var o=a.rows[i].cueStartTime,l=this.logger.time;if(o!==null&&l!==null&&o<l)for(var h=0;h<this.nrRollUpRows;h++)this.rows[t-this.nrRollUpRows+h+1].copy(a.rows[i+h])}}this.currRow=t;var u=this.rows[this.currRow];if(e.indent!==null){var d=e.indent,c=Math.max(d-1,0);u.setCursor(e.indent),e.color=u.chars[c].penState.foreground}var f={foreground:e.color,underline:e.underline,italics:e.italics,background:"black",flash:!1};this.setPen(f)},n.setBkgData=function(e){this.logger.log(2,function(){return"bkgData = "+JSON.stringify(e)}),this.backSpace(),this.setPen(e),this.insertChar(32)},n.setRollUpRows=function(e){this.nrRollUpRows=e},n.rollUp=function(){var e=this;if(this.nrRollUpRows!==null){this.logger.log(1,function(){return e.getDisplayText()});var t=this.currRow+1-this.nrRollUpRows,r=this.rows.splice(t,1)[0];r.clear(),this.rows.splice(this.currRow,0,r),this.logger.log(2,"Rolling up")}else this.logger.log(3,"roll_up but nrRollUpRows not set yet")},n.getDisplayText=function(e){e=e||!1;for(var t=[],r="",i=-1,a=0;a<ht;a++){var o=this.rows[a].getTextString();o&&(i=a+1,e?t.push("Row "+i+": '"+o+"'"):t.push(o.trim()))}return t.length>0&&(r=e?"["+t.join(" | ")+"]":t.join(`
-`)),r},n.getTextAndFormat=function(){return this.rows},s}(),wa=function(){function s(e,t,r){this.chNr=void 0,this.outputFilter=void 0,this.mode=void 0,this.verbose=void 0,this.displayedMemory=void 0,this.nonDisplayedMemory=void 0,this.lastOutputScreen=void 0,this.currRollUpRow=void 0,this.writeScreen=void 0,this.cueStartTime=void 0,this.logger=void 0,this.chNr=e,this.outputFilter=t,this.mode=null,this.verbose=0,this.displayedMemory=new Ri(r),this.nonDisplayedMemory=new Ri(r),this.lastOutputScreen=new Ri(r),this.currRollUpRow=this.displayedMemory.rows[14],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null,this.logger=r}var n=s.prototype;return n.reset=function(){this.mode=null,this.displayedMemory.reset(),this.nonDisplayedMemory.reset(),this.lastOutputScreen.reset(),this.outputFilter.reset(),this.currRollUpRow=this.displayedMemory.rows[14],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null},n.getHandler=function(){return this.outputFilter},n.setHandler=function(e){this.outputFilter=e},n.setPAC=function(e){this.writeScreen.setPAC(e)},n.setBkgData=function(e){this.writeScreen.setBkgData(e)},n.setMode=function(e){e!==this.mode&&(this.mode=e,this.logger.log(2,function(){return"MODE="+e}),this.mode==="MODE_POP-ON"?this.writeScreen=this.nonDisplayedMemory:(this.writeScreen=this.displayedMemory,this.writeScreen.reset()),this.mode!=="MODE_ROLL-UP"&&(this.displayedMemory.nrRollUpRows=null,this.nonDisplayedMemory.nrRollUpRows=null),this.mode=e)},n.insertChars=function(e){for(var t=this,r=0;r<e.length;r++)this.writeScreen.insertChar(e[r]);var i=this.writeScreen===this.displayedMemory?"DISP":"NON_DISP";this.logger.log(2,function(){return i+": "+t.writeScreen.getDisplayText(!0)}),this.mode!=="MODE_PAINT-ON"&&this.mode!=="MODE_ROLL-UP"||(this.logger.log(1,function(){return"DISPLAYED: "+t.displayedMemory.getDisplayText(!0)}),this.outputDataUpdate())},n.ccRCL=function(){this.logger.log(2,"RCL - Resume Caption Loading"),this.setMode("MODE_POP-ON")},n.ccBS=function(){this.logger.log(2,"BS - BackSpace"),this.mode!=="MODE_TEXT"&&(this.writeScreen.backSpace(),this.writeScreen===this.displayedMemory&&this.outputDataUpdate())},n.ccAOF=function(){},n.ccAON=function(){},n.ccDER=function(){this.logger.log(2,"DER- Delete to End of Row"),this.writeScreen.clearToEndOfRow(),this.outputDataUpdate()},n.ccRU=function(e){this.logger.log(2,"RU("+e+") - Roll Up"),this.writeScreen=this.displayedMemory,this.setMode("MODE_ROLL-UP"),this.writeScreen.setRollUpRows(e)},n.ccFON=function(){this.logger.log(2,"FON - Flash On"),this.writeScreen.setPen({flash:!0})},n.ccRDC=function(){this.logger.log(2,"RDC - Resume Direct Captioning"),this.setMode("MODE_PAINT-ON")},n.ccTR=function(){this.logger.log(2,"TR"),this.setMode("MODE_TEXT")},n.ccRTD=function(){this.logger.log(2,"RTD"),this.setMode("MODE_TEXT")},n.ccEDM=function(){this.logger.log(2,"EDM - Erase Displayed Memory"),this.displayedMemory.reset(),this.outputDataUpdate(!0)},n.ccCR=function(){this.logger.log(2,"CR - Carriage Return"),this.writeScreen.rollUp(),this.outputDataUpdate(!0)},n.ccENM=function(){this.logger.log(2,"ENM - Erase Non-displayed Memory"),this.nonDisplayedMemory.reset()},n.ccEOC=function(){var e=this;if(this.logger.log(2,"EOC - End Of Caption"),this.mode==="MODE_POP-ON"){var t=this.displayedMemory;this.displayedMemory=this.nonDisplayedMemory,this.nonDisplayedMemory=t,this.writeScreen=this.nonDisplayedMemory,this.logger.log(1,function(){return"DISP: "+e.displayedMemory.getDisplayText()})}this.outputDataUpdate(!0)},n.ccTO=function(e){this.logger.log(2,"TO("+e+") - Tab Offset"),this.writeScreen.moveCursor(e)},n.ccMIDROW=function(e){var t={flash:!1};if(t.underline=e%2==1,t.italics=e>=46,t.italics)t.foreground="white";else{var r=Math.floor(e/2)-16;t.foreground=["white","green","blue","cyan","red","yellow","magenta"][r]}this.logger.log(2,"MIDROW: "+JSON.stringify(t)),this.writeScreen.setPen(t)},n.outputDataUpdate=function(e){e===void 0&&(e=!1);var t=this.logger.time;t!==null&&this.outputFilter&&(this.cueStartTime!==null||this.displayedMemory.isEmpty()?this.displayedMemory.equals(this.lastOutputScreen)||(this.outputFilter.newCue(this.cueStartTime,t,this.lastOutputScreen),e&&this.outputFilter.dispatchCue&&this.outputFilter.dispatchCue(),this.cueStartTime=this.displayedMemory.isEmpty()?null:t):this.cueStartTime=t,this.lastOutputScreen.copy(this.displayedMemory))},n.cueSplitAtTime=function(e){this.outputFilter&&(this.displayedMemory.isEmpty()||(this.outputFilter.newCue&&this.outputFilter.newCue(this.cueStartTime,e,this.displayedMemory),this.cueStartTime=e))},s}(),Ia=function(){function s(e,t,r){this.channels=void 0,this.currentChannel=0,this.cmdHistory={a:null,b:null},this.logger=void 0;var i=this.logger=new Go;this.channels=[null,new wa(e,t,i),new wa(e+1,r,i)]}var n=s.prototype;return n.getHandler=function(e){return this.channels[e].getHandler()},n.setHandler=function(e,t){this.channels[e].setHandler(t)},n.addData=function(e,t){var r,i,a,o=!1;this.logger.time=e;for(var l=0;l<t.length;l+=2)if(i=127&t[l],a=127&t[l+1],i!==0||a!==0){if(this.logger.log(3,"["+dt([t[l],t[l+1]])+"] -> ("+dt([i,a])+")"),(r=this.parseCmd(i,a))||(r=this.parseMidrow(i,a)),r||(r=this.parsePAC(i,a)),r||(r=this.parseBackgroundAttributes(i,a)),!r&&(o=this.parseChars(i,a))){var h=this.currentChannel;h&&h>0?this.channels[h].insertChars(o):this.logger.log(2,"No channel found yet. TEXT-MODE?")}r||o||this.logger.log(2,"Couldn't parse cleaned data "+dt([i,a])+" orig: "+dt([t[l],t[l+1]]))}},n.parseCmd=function(e,t){var r=this.cmdHistory;if(!((e===20||e===28||e===21||e===29)&&t>=32&&t<=47||(e===23||e===31)&&t>=33&&t<=35))return!1;if(Ca(e,t,r))return _t(null,null,r),this.logger.log(3,"Repeated command ("+dt([e,t])+") is dropped"),!0;var i=e===20||e===21||e===23?1:2,a=this.channels[i];return e===20||e===21||e===28||e===29?t===32?a.ccRCL():t===33?a.ccBS():t===34?a.ccAOF():t===35?a.ccAON():t===36?a.ccDER():t===37?a.ccRU(2):t===38?a.ccRU(3):t===39?a.ccRU(4):t===40?a.ccFON():t===41?a.ccRDC():t===42?a.ccTR():t===43?a.ccRTD():t===44?a.ccEDM():t===45?a.ccCR():t===46?a.ccENM():t===47&&a.ccEOC():a.ccTO(t-32),_t(e,t,r),this.currentChannel=i,!0},n.parseMidrow=function(e,t){var r=0;if((e===17||e===25)&&t>=32&&t<=47){if((r=e===17?1:2)!==this.currentChannel)return this.logger.log(0,"Mismatch channel in midrow parsing"),!1;var i=this.channels[r];return!!i&&(i.ccMIDROW(t),this.logger.log(3,"MIDROW ("+dt([e,t])+")"),!0)}return!1},n.parsePAC=function(e,t){var r,i=this.cmdHistory;if(!((e>=17&&e<=23||e>=25&&e<=31)&&t>=64&&t<=127||(e===16||e===24)&&t>=64&&t<=95))return!1;if(Ca(e,t,i))return _t(null,null,i),!0;var a=e<=23?1:2;r=t>=64&&t<=95?a===1?Mo[e]:No[e]:a===1?Oo[e]:Uo[e];var o=this.channels[a];return!!o&&(o.setPAC(this.interpretPAC(r,t)),_t(e,t,i),this.currentChannel=a,!0)},n.interpretPAC=function(e,t){var r,i={color:null,italics:!1,indent:null,underline:!1,row:e};return r=t>95?t-96:t-64,i.underline=(1&r)==1,r<=13?i.color=["white","green","blue","cyan","red","yellow","magenta","white"][Math.floor(r/2)]:r<=15?(i.italics=!0,i.color="white"):i.indent=4*Math.floor((r-16)/2),i},n.parseChars=function(e,t){var r,i,a=null,o=null;if(e>=25?(r=2,o=e-8):(r=1,o=e),o>=17&&o<=19?(i=o===17?t+80:o===18?t+112:t+144,this.logger.log(2,"Special char '"+ka(i)+"' in channel "+r),a=[i]):e>=32&&e<=127&&(a=t===0?[e]:[e,t]),a){var l=dt(a);this.logger.log(3,"Char codes =  "+l.join(",")),_t(e,t,this.cmdHistory)}return a},n.parseBackgroundAttributes=function(e,t){var r;if(!((e===16||e===24)&&t>=32&&t<=47||(e===23||e===31)&&t>=45&&t<=47))return!1;var i={};e===16||e===24?(r=Math.floor((t-32)/2),i.background=Bo[r],t%2==1&&(i.background=i.background+"_semi")):t===45?i.background="transparent":(i.foreground="black",t===47&&(i.underline=!0));var a=e<=23?1:2;return this.channels[a].setBkgData(i),_t(e,t,this.cmdHistory),!0},n.reset=function(){for(var e=0;e<Object.keys(this.channels).length;e++){var t=this.channels[e];t&&t.reset()}this.cmdHistory={a:null,b:null}},n.cueSplitAtTime=function(e){for(var t=0;t<this.channels.length;t++){var r=this.channels[t];r&&r.cueSplitAtTime(e)}},s}();function _t(s,n,e){e.a=s,e.b=n}function Ca(s,n,e){return e.a===s&&e.b===n}var Ar=function(){function s(e,t){this.timelineController=void 0,this.cueRanges=[],this.trackName=void 0,this.startTime=null,this.endTime=null,this.screen=null,this.timelineController=e,this.trackName=t}var n=s.prototype;return n.dispatchCue=function(){this.startTime!==null&&(this.timelineController.addCues(this.trackName,this.startTime,this.endTime,this.screen,this.cueRanges),this.startTime=null)},n.newCue=function(e,t,r){(this.startTime===null||this.startTime>e)&&(this.startTime=e),this.endTime=t,this.screen=r,this.timelineController.createCaptionsTrack(this.trackName)},n.reset=function(){this.cueRanges=[],this.startTime=null},s}(),bi=function(){if(gt!=null&&gt.VTTCue)return self.VTTCue;var s=["","lr","rl"],n=["start","middle","end","left","right"];function e(a,o){if(typeof o!="string"||!Array.isArray(a))return!1;var l=o.toLowerCase();return!!~a.indexOf(l)&&l}function t(a){return e(n,a)}function r(a){for(var o=arguments.length,l=new Array(o>1?o-1:0),h=1;h<o;h++)l[h-1]=arguments[h];for(var u=1;u<arguments.length;u++){var d=arguments[u];for(var c in d)a[c]=d[c]}return a}function i(a,o,l){var h=this,u={enumerable:!0};h.hasBeenReset=!1;var d="",c=!1,f=a,g=o,m=l,E=null,v="",y=!0,T="auto",S="start",A=50,R="middle",L=50,D="middle";Object.defineProperty(h,"id",r({},u,{get:function(){return d},set:function(k){d=""+k}})),Object.defineProperty(h,"pauseOnExit",r({},u,{get:function(){return c},set:function(k){c=!!k}})),Object.defineProperty(h,"startTime",r({},u,{get:function(){return f},set:function(k){if(typeof k!="number")throw new TypeError("Start time must be set to a number.");f=k,this.hasBeenReset=!0}})),Object.defineProperty(h,"endTime",r({},u,{get:function(){return g},set:function(k){if(typeof k!="number")throw new TypeError("End time must be set to a number.");g=k,this.hasBeenReset=!0}})),Object.defineProperty(h,"text",r({},u,{get:function(){return m},set:function(k){m=""+k,this.hasBeenReset=!0}})),Object.defineProperty(h,"region",r({},u,{get:function(){return E},set:function(k){E=k,this.hasBeenReset=!0}})),Object.defineProperty(h,"vertical",r({},u,{get:function(){return v},set:function(k){var I=function(C){return e(s,C)}(k);if(I===!1)throw new SyntaxError("An invalid or illegal string was specified.");v=I,this.hasBeenReset=!0}})),Object.defineProperty(h,"snapToLines",r({},u,{get:function(){return y},set:function(k){y=!!k,this.hasBeenReset=!0}})),Object.defineProperty(h,"line",r({},u,{get:function(){return T},set:function(k){if(typeof k!="number"&&k!=="auto")throw new SyntaxError("An invalid number or illegal string was specified.");T=k,this.hasBeenReset=!0}})),Object.defineProperty(h,"lineAlign",r({},u,{get:function(){return S},set:function(k){var I=t(k);if(!I)throw new SyntaxError("An invalid or illegal string was specified.");S=I,this.hasBeenReset=!0}})),Object.defineProperty(h,"position",r({},u,{get:function(){return A},set:function(k){if(k<0||k>100)throw new Error("Position must be between 0 and 100.");A=k,this.hasBeenReset=!0}})),Object.defineProperty(h,"positionAlign",r({},u,{get:function(){return R},set:function(k){var I=t(k);if(!I)throw new SyntaxError("An invalid or illegal string was specified.");R=I,this.hasBeenReset=!0}})),Object.defineProperty(h,"size",r({},u,{get:function(){return L},set:function(k){if(k<0||k>100)throw new Error("Size must be between 0 and 100.");L=k,this.hasBeenReset=!0}})),Object.defineProperty(h,"align",r({},u,{get:function(){return D},set:function(k){var I=t(k);if(!I)throw new SyntaxError("An invalid or illegal string was specified.");D=I,this.hasBeenReset=!0}})),h.displayState=void 0}return i.prototype.getCueAsHTML=function(){return self.WebVTT.convertCueToDOMTree(self,this.text)},i}(),Vo=function(){function s(){}return s.prototype.decode=function(n,e){if(!n)return"";if(typeof n!="string")throw new Error("Error - expected string data.");return decodeURIComponent(encodeURIComponent(n))},s}();function _a(s){function n(t,r,i,a){return 3600*(0|t)+60*(0|r)+(0|i)+parseFloat(a||0)}var e=s.match(/^(?:(\d+):)?(\d{2}):(\d{2})(\.\d+)?/);return e?parseFloat(e[2])>59?n(e[2],e[3],0,e[4]):n(e[1],e[2],e[3],e[4]):null}var Yo=function(){function s(){this.values=Object.create(null)}var n=s.prototype;return n.set=function(e,t){this.get(e)||t===""||(this.values[e]=t)},n.get=function(e,t,r){return r?this.has(e)?this.values[e]:t[r]:this.has(e)?this.values[e]:t},n.has=function(e){return e in this.values},n.alt=function(e,t,r){for(var i=0;i<r.length;++i)if(t===r[i]){this.set(e,t);break}},n.integer=function(e,t){/^-?\d+$/.test(t)&&this.set(e,parseInt(t,10))},n.percent=function(e,t){if(/^([\d]{1,3})(\.[\d]*)?%$/.test(t)){var r=parseFloat(t);if(r>=0&&r<=100)return this.set(e,r),!0}return!1},s}();function xa(s,n,e,t){var r=t?s.split(t):[s];for(var i in r)if(typeof r[i]=="string"){var a=r[i].split(e);a.length===2&&n(a[0],a[1])}}var ki=new bi(0,0,""),Rr=ki.align==="middle"?"middle":"center";function Wo(s,n,e){var t=s;function r(){var a=_a(s);if(a===null)throw new Error("Malformed timestamp: "+t);return s=s.replace(/^[^\sa-zA-Z-]+/,""),a}function i(){s=s.replace(/^\s+/,"")}if(i(),n.startTime=r(),i(),s.slice(0,3)!=="-->")throw new Error("Malformed time stamp (time stamps must be separated by '-->'): "+t);s=s.slice(3),i(),n.endTime=r(),i(),function(a,o){var l=new Yo;xa(a,function(d,c){var f;switch(d){case"region":for(var g=e.length-1;g>=0;g--)if(e[g].id===c){l.set(d,e[g].region);break}break;case"vertical":l.alt(d,c,["rl","lr"]);break;case"line":f=c.split(","),l.integer(d,f[0]),l.percent(d,f[0])&&l.set("snapToLines",!1),l.alt(d,f[0],["auto"]),f.length===2&&l.alt("lineAlign",f[1],["start",Rr,"end"]);break;case"position":f=c.split(","),l.percent(d,f[0]),f.length===2&&l.alt("positionAlign",f[1],["start",Rr,"end","line-left","line-right","auto"]);break;case"size":l.percent(d,c);break;case"align":l.alt(d,c,["start",Rr,"end","left","right"])}},/:/,/\s/),o.region=l.get("region",null),o.vertical=l.get("vertical","");var h=l.get("line","auto");h==="auto"&&ki.line===-1&&(h=-1),o.line=h,o.lineAlign=l.get("lineAlign","start"),o.snapToLines=l.get("snapToLines",!0),o.size=l.get("size",100),o.align=l.get("align",Rr);var u=l.get("position","auto");u==="auto"&&ki.position===50&&(u=o.align==="start"||o.align==="left"?0:o.align==="end"||o.align==="right"?100:50),o.position=u}(s,n)}function Pa(s){return s.replace(/<br(?: \/)?>/gi,`
-`)}var jo=function(){function s(){this.state="INITIAL",this.buffer="",this.decoder=new Vo,this.regionList=[],this.cue=null,this.oncue=void 0,this.onparsingerror=void 0,this.onflush=void 0}var n=s.prototype;return n.parse=function(e){var t=this;function r(){var h=t.buffer,u=0;for(h=Pa(h);u<h.length&&h[u]!=="\r"&&h[u]!==`
-`;)++u;var d=h.slice(0,u);return h[u]==="\r"&&++u,h[u]===`
-`&&++u,t.buffer=h.slice(u),d}e&&(t.buffer+=t.decoder.decode(e,{stream:!0}));try{var i="";if(t.state==="INITIAL"){if(!/\r\n|\n/.test(t.buffer))return this;var a=(i=r()).match(/^()?WEBVTT([ \t].*)?$/);if(a==null||!a[0])throw new Error("Malformed WebVTT signature.");t.state="HEADER"}for(var o=!1;t.buffer;){if(!/\r\n|\n/.test(t.buffer))return this;switch(o?o=!1:i=r(),t.state){case"HEADER":/:/.test(i)?xa(i,function(h,u){},/:/):i||(t.state="ID");continue;case"NOTE":i||(t.state="ID");continue;case"ID":if(/^NOTE($|[ \t])/.test(i)){t.state="NOTE";break}if(!i)continue;if(t.cue=new bi(0,0,""),t.state="CUE",i.indexOf("-->")===-1){t.cue.id=i;continue}case"CUE":if(!t.cue){t.state="BADCUE";continue}try{Wo(i,t.cue,t.regionList)}catch{t.cue=null,t.state="BADCUE";continue}t.state="CUETEXT";continue;case"CUETEXT":var l=i.indexOf("-->")!==-1;if(!i||l&&(o=!0)){t.oncue&&t.cue&&t.oncue(t.cue),t.cue=null,t.state="ID";continue}if(t.cue===null)continue;t.cue.text&&(t.cue.text+=`
-`),t.cue.text+=i;continue;case"BADCUE":i||(t.state="ID")}}}catch{t.state==="CUETEXT"&&t.cue&&t.oncue&&t.oncue(t.cue),t.cue=null,t.state=t.state==="INITIAL"?"BADWEBVTT":"BADCUE"}return this},n.flush=function(){var e=this;try{if((e.cue||e.state==="HEADER")&&(e.buffer+=`
-
-`,e.parse()),e.state==="INITIAL"||e.state==="BADWEBVTT")throw new Error("Malformed WebVTT signature.")}catch(t){e.onparsingerror&&e.onparsingerror(t)}return e.onflush&&e.onflush(),this},s}(),qo=/\r\n|\n\r|\n|\r/g,Di=function(s,n,e){return e===void 0&&(e=0),s.slice(e,e+n.length)===n},wi=function(s){for(var n=5381,e=s.length;e;)n=33*n^s.charCodeAt(--e);return(n>>>0).toString()};function Ii(s,n,e){return wi(s.toString())+wi(n.toString())+wi(e)}function Xo(s,n,e,t,r,i,a){var o,l,h,u=new jo,d=Ge(new Uint8Array(s)).trim().replace(qo,`
-`).split(`
-`),c=[],f=n?(o=n.baseTime,(l=n.timescale)===void 0&&(l=1),yi(o,fa,1/l)):0,g="00:00.000",m=0,E=0,v=!0;u.oncue=function(y){var T=e[t],S=e.ccOffset,A=(m-f)/9e4;if(T!=null&&T.new&&(E!==void 0?S=e.ccOffset=T.start:function(k,I,C){var _=k[I],x=k[_.prevCC];if(!x||!x.new&&_.new)return k.ccOffset=k.presentationOffset=_.start,void(_.new=!1);for(;(M=x)!=null&&M.new;){var M;k.ccOffset+=_.start-x.start,_.new=!1,x=k[(_=x).prevCC]}k.presentationOffset=C}(e,t,A)),A){if(!n)return void(h=new Error("Missing initPTS for VTT MPEGTS"));S=A-e.presentationOffset}var R=y.endTime-y.startTime,L=Ne(9e4*(y.startTime+S-E),9e4*r)/9e4;y.startTime=Math.max(L,0),y.endTime=Math.max(L+R,0);var D=y.text.trim();y.text=decodeURIComponent(encodeURIComponent(D)),y.id||(y.id=Ii(y.startTime,y.endTime,D)),y.endTime>0&&c.push(y)},u.onparsingerror=function(y){h=y},u.onflush=function(){h?a(h):i(c)},d.forEach(function(y){if(v){if(Di(y,"X-TIMESTAMP-MAP=")){v=!1,y.slice(16).split(",").forEach(function(T){Di(T,"LOCAL:")?g=T.slice(6):Di(T,"MPEGTS:")&&(m=parseInt(T.slice(7)))});try{E=function(T){var S=parseInt(T.slice(-3)),A=parseInt(T.slice(-6,-4)),R=parseInt(T.slice(-9,-7)),L=T.length>9?parseInt(T.substring(0,T.indexOf(":"))):0;if(!(O(S)&&O(A)&&O(R)&&O(L)))throw Error("Malformed X-TIMESTAMP-MAP: Local:"+T);return S+=1e3*A,(S+=6e4*R)+36e5*L}(g)/1e3}catch(T){h=T}return}y===""&&(v=!1)}u.parse(y+`
-`)}),u.flush()}var Ci="stpp.ttml.im1t",Fa=/^(\d{2,}):(\d{2}):(\d{2}):(\d{2})\.?(\d+)?$/,Ma=/^(\d*(?:\.\d*)?)(h|m|s|ms|f|t)$/,zo={left:"start",center:"center",right:"end",start:"start",end:"end"};function Oa(s,n,e,t){var r=q(new Uint8Array(s),["mdat"]);if(r.length!==0){var i,a,o,l,h=r.map(function(d){return Ge(d)}),u=(i=n.baseTime,a=1,(o=n.timescale)===void 0&&(o=1),l===void 0&&(l=!1),yi(i,a,1/o,l));try{h.forEach(function(d){return e(function(c,f){var g=new DOMParser().parseFromString(c,"text/xml"),m=g.getElementsByTagName("tt")[0];if(!m)throw new Error("Invalid ttml");var E={frameRate:30,subFrameRate:1,frameRateMultiplier:0,tickRate:0},v=Object.keys(E).reduce(function(R,L){return R[L]=m.getAttribute("ttp:"+L)||E[L],R},{}),y=m.getAttribute("xml:space")!=="preserve",T=Na(_i(m,"styling","style")),S=Na(_i(m,"layout","region")),A=_i(m,"body","[begin]");return[].map.call(A,function(R){var L=Ua(R,y);if(!L||!R.hasAttribute("begin"))return null;var D=Pi(R.getAttribute("begin"),v),k=Pi(R.getAttribute("dur"),v),I=Pi(R.getAttribute("end"),v);if(D===null)throw Ba(R);if(I===null){if(k===null)throw Ba(R);I=D+k}var C=new bi(D-f,I-f,L);C.id=Ii(C.startTime,C.endTime,C.text);var _=function(F,U,P){var N="http://www.w3.org/ns/ttml#styling",H=null,B=["displayAlign","textAlign","color","backgroundColor","fontSize","fontFamily"],V=F!=null&&F.hasAttribute("style")?F.getAttribute("style"):null;return V&&P.hasOwnProperty(V)&&(H=P[V]),B.reduce(function(Q,oe){var ee=xi(U,N,oe)||xi(F,N,oe)||xi(H,N,oe);return ee&&(Q[oe]=ee),Q},{})}(S[R.getAttribute("region")],T[R.getAttribute("style")],T),x=_.textAlign;if(x){var M=zo[x];M&&(C.lineAlign=M),C.align=x}return ge(C,_),C}).filter(function(R){return R!==null})}(d,u))})}catch(d){t(d)}}else t(new Error("Could not parse IMSC1 mdat"))}function _i(s,n,e){var t=s.getElementsByTagName(n)[0];return t?[].slice.call(t.querySelectorAll(e)):[]}function Na(s){return s.reduce(function(n,e){var t=e.getAttribute("xml:id");return t&&(n[t]=e),n},{})}function Ua(s,n){return[].slice.call(s.childNodes).reduce(function(e,t,r){var i;return t.nodeName==="br"&&r?e+`
-`:(i=t.childNodes)!=null&&i.length?Ua(t,n):n?e+t.textContent.trim().replace(/\s+/g," "):e+t.textContent},"")}function xi(s,n,e){return s&&s.hasAttributeNS(n,e)?s.getAttributeNS(n,e):null}function Ba(s){return new Error("Could not parse ttml timestamp "+s)}function Pi(s,n){if(!s)return null;var e=_a(s);return e===null&&(Fa.test(s)?e=function(t,r){var i=Fa.exec(t),a=(0|i[4])+(0|i[5])/r.subFrameRate;return 3600*(0|i[1])+60*(0|i[2])+(0|i[3])+a/r.frameRate}(s,n):Ma.test(s)&&(e=function(t,r){var i=Ma.exec(t),a=Number(i[1]);switch(i[2]){case"h":return 3600*a;case"m":return 60*a;case"ms":return 1e3*a;case"f":return a/r.frameRate;case"t":return a/r.tickRate}return a}(s,n))),e}var Qo=function(){function s(e){this.hls=void 0,this.media=null,this.config=void 0,this.enabled=!0,this.Cues=void 0,this.textTracks=[],this.tracks=[],this.initPTS=[],this.unparsedVttFrags=[],this.captionsTracks={},this.nonNativeCaptionsTracks={},this.cea608Parser1=void 0,this.cea608Parser2=void 0,this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs={ccOffset:0,presentationOffset:0,0:{start:0,prevCC:-1,new:!0}},this.captionsProperties=void 0,this.hls=e,this.config=e.config,this.Cues=e.config.cueHandler,this.captionsProperties={textTrack1:{label:this.config.captionsTextTrack1Label,languageCode:this.config.captionsTextTrack1LanguageCode},textTrack2:{label:this.config.captionsTextTrack2Label,languageCode:this.config.captionsTextTrack2LanguageCode},textTrack3:{label:this.config.captionsTextTrack3Label,languageCode:this.config.captionsTextTrack3LanguageCode},textTrack4:{label:this.config.captionsTextTrack4Label,languageCode:this.config.captionsTextTrack4LanguageCode}},e.on(p.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(p.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(p.MANIFEST_LOADING,this.onManifestLoading,this),e.on(p.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(p.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(p.FRAG_LOADING,this.onFragLoading,this),e.on(p.FRAG_LOADED,this.onFragLoaded,this),e.on(p.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.on(p.FRAG_DECRYPTED,this.onFragDecrypted,this),e.on(p.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(p.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.on(p.BUFFER_FLUSHING,this.onBufferFlushing,this)}var n=s.prototype;return n.destroy=function(){var e=this.hls;e.off(p.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(p.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(p.MANIFEST_LOADING,this.onManifestLoading,this),e.off(p.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(p.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(p.FRAG_LOADING,this.onFragLoading,this),e.off(p.FRAG_LOADED,this.onFragLoaded,this),e.off(p.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.off(p.FRAG_DECRYPTED,this.onFragDecrypted,this),e.off(p.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(p.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.off(p.BUFFER_FLUSHING,this.onBufferFlushing,this),this.hls=this.config=null,this.cea608Parser1=this.cea608Parser2=void 0},n.initCea608Parsers=function(){if(this.config.enableCEA708Captions&&(!this.cea608Parser1||!this.cea608Parser2)){var e=new Ar(this,"textTrack1"),t=new Ar(this,"textTrack2"),r=new Ar(this,"textTrack3"),i=new Ar(this,"textTrack4");this.cea608Parser1=new Ia(1,e,t),this.cea608Parser2=new Ia(3,r,i)}},n.addCues=function(e,t,r,i,a){for(var o,l,h,u,d=!1,c=a.length;c--;){var f=a[c],g=(o=f[0],l=f[1],h=t,u=r,Math.min(l,u)-Math.max(o,h));if(g>=0&&(f[0]=Math.min(f[0],t),f[1]=Math.max(f[1],r),d=!0,g/(r-t)>.5))return}if(d||a.push([t,r]),this.config.renderTextTracksNatively){var m=this.captionsTracks[e];this.Cues.newCue(m,t,r,i)}else{var E=this.Cues.newCue(null,t,r,i);this.hls.trigger(p.CUES_PARSED,{type:"captions",cues:E,track:e})}},n.onInitPtsFound=function(e,t){var r=this,i=t.frag,a=t.id,o=t.initPTS,l=t.timescale,h=this.unparsedVttFrags;a==="main"&&(this.initPTS[i.cc]={baseTime:o,timescale:l}),h.length&&(this.unparsedVttFrags=[],h.forEach(function(u){r.onFragLoaded(p.FRAG_LOADED,u)}))},n.getExistingTrack=function(e,t){var r=this.media;if(r)for(var i=0;i<r.textTracks.length;i++){var a=r.textTracks[i];if(Ka(a,{name:e,lang:t,attrs:{}}))return a}return null},n.createCaptionsTrack=function(e){this.config.renderTextTracksNatively?this.createNativeTrack(e):this.createNonNativeTrack(e)},n.createNativeTrack=function(e){if(!this.captionsTracks[e]){var t=this.captionsProperties,r=this.captionsTracks,i=this.media,a=t[e],o=a.label,l=a.languageCode,h=this.getExistingTrack(o,l);if(h)r[e]=h,pt(r[e]),Cn(r[e],i);else{var u=this.createTextTrack("captions",o,l);u&&(u[e]=!0,r[e]=u)}}},n.createNonNativeTrack=function(e){if(!this.nonNativeCaptionsTracks[e]){var t=this.captionsProperties[e];if(t){var r={_id:e,label:t.label,kind:"captions",default:!!t.media&&!!t.media.default,closedCaptions:t.media};this.nonNativeCaptionsTracks[e]=r,this.hls.trigger(p.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:[r]})}}},n.createTextTrack=function(e,t,r){var i=this.media;if(i)return i.addTextTrack(e,t,r)},n.onMediaAttaching=function(e,t){this.media=t.media,this._cleanTracks()},n.onMediaDetaching=function(){var e=this.captionsTracks;Object.keys(e).forEach(function(t){pt(e[t]),delete e[t]}),this.nonNativeCaptionsTracks={}},n.onManifestLoading=function(){this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs={ccOffset:0,presentationOffset:0,0:{start:0,prevCC:-1,new:!0}},this._cleanTracks(),this.tracks=[],this.captionsTracks={},this.nonNativeCaptionsTracks={},this.textTracks=[],this.unparsedVttFrags=[],this.initPTS=[],this.cea608Parser1&&this.cea608Parser2&&(this.cea608Parser1.reset(),this.cea608Parser2.reset())},n._cleanTracks=function(){var e=this.media;if(e){var t=e.textTracks;if(t)for(var r=0;r<t.length;r++)pt(t[r])}},n.onSubtitleTracksUpdated=function(e,t){var r=this,i=t.subtitleTracks||[],a=i.some(function(d){return d.textCodec===Ci});if(this.config.enableWebVTT||a&&this.config.enableIMSC1){if(La(this.tracks,i))return void(this.tracks=i);if(this.textTracks=[],this.tracks=i,this.config.renderTextTracksNatively){var o=this.media,l=o?or(o.textTracks):null;if(this.tracks.forEach(function(d,c){var f;if(l){for(var g=null,m=0;m<l.length;m++)if(l[m]&&Ka(l[m],d)){g=l[m],l[m]=null;break}g&&(f=g)}if(f)pt(f);else{var E=Ga(d);(f=r.createTextTrack(E,d.name,d.lang))&&(f.mode="disabled")}f&&r.textTracks.push(f)}),l!=null&&l.length){var h=l.filter(function(d){return d!==null}).map(function(d){return d.label});h.length&&b.warn("Media element contains unused subtitle tracks: "+h.join(", ")+". Replace media element for each source to clear TextTracks and captions menu.")}}else if(this.tracks.length){var u=this.tracks.map(function(d){return{label:d.name,kind:d.type.toLowerCase(),default:d.default,subtitleTrack:d}});this.hls.trigger(p.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:u})}}},n.onManifestLoaded=function(e,t){var r=this;this.config.enableCEA708Captions&&t.captions&&t.captions.forEach(function(i){var a=/(?:CC|SERVICE)([1-4])/.exec(i.instreamId);if(a){var o="textTrack"+a[1],l=r.captionsProperties[o];l&&(l.label=i.name,i.lang&&(l.languageCode=i.lang),l.media=i)}})},n.closedCaptionsForLevel=function(e){var t=this.hls.levels[e.level];return t==null?void 0:t.attrs["CLOSED-CAPTIONS"]},n.onFragLoading=function(e,t){this.initCea608Parsers();var r=this.cea608Parser1,i=this.cea608Parser2,a=this.lastCc,o=this.lastSn,l=this.lastPartIndex;if(this.enabled&&r&&i&&t.frag.type===Z){var h,u,d=t.frag,c=d.cc,f=d.sn,g=(h=t==null||(u=t.part)==null?void 0:u.index)!=null?h:-1;f===o+1||f===o&&g===l+1||c===a||(r.reset(),i.reset()),this.lastCc=c,this.lastSn=f,this.lastPartIndex=g}},n.onFragLoaded=function(e,t){var r=t.frag,i=t.payload;if(r.type===qe)if(i.byteLength){var a=r.decryptdata,o="stats"in t;if(a==null||!a.encrypted||o){var l=this.tracks[r.level],h=this.vttCCs;h[r.cc]||(h[r.cc]={start:r.start,prevCC:this.prevCC,new:!0},this.prevCC=r.cc),l&&l.textCodec===Ci?this._parseIMSC1(r,i):this._parseVTTs(t)}}else this.hls.trigger(p.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:r,error:new Error("Empty subtitle payload")})},n._parseIMSC1=function(e,t){var r=this,i=this.hls;Oa(t,this.initPTS[e.cc],function(a){r._appendCues(a,e.level),i.trigger(p.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:e})},function(a){b.log("Failed to parse IMSC1: "+a),i.trigger(p.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:e,error:a})})},n._parseVTTs=function(e){var t,r=this,i=e.frag,a=e.payload,o=this.initPTS,l=this.unparsedVttFrags,h=o.length-1;if(o[i.cc]||h!==-1){var u=this.hls;Xo((t=i.initSegment)!=null&&t.data?Fe(i.initSegment.data,new Uint8Array(a)):a,this.initPTS[i.cc],this.vttCCs,i.cc,i.start,function(d){r._appendCues(d,i.level),u.trigger(p.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:i})},function(d){var c=d.message==="Missing initPTS for VTT MPEGTS";c?l.push(e):r._fallbackToIMSC1(i,a),b.log("Failed to parse VTT cue: "+d),c&&h>i.cc||u.trigger(p.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:i,error:d})})}else l.push(e)},n._fallbackToIMSC1=function(e,t){var r=this,i=this.tracks[e.level];i.textCodec||Oa(t,this.initPTS[e.cc],function(){i.textCodec=Ci,r._parseIMSC1(e,t)},function(){i.textCodec="wvtt"})},n._appendCues=function(e,t){var r=this.hls;if(this.config.renderTextTracksNatively){var i=this.textTracks[t];if(!i||i.mode==="disabled")return;e.forEach(function(l){return _n(i,l)})}else{var a=this.tracks[t];if(!a)return;var o=a.default?"default":"subtitles"+t;r.trigger(p.CUES_PARSED,{type:"subtitles",cues:e,track:o})}},n.onFragDecrypted=function(e,t){t.frag.type===qe&&this.onFragLoaded(p.FRAG_LOADED,t)},n.onSubtitleTracksCleared=function(){this.tracks=[],this.captionsTracks={}},n.onFragParsingUserdata=function(e,t){this.initCea608Parsers();var r=this.cea608Parser1,i=this.cea608Parser2;if(this.enabled&&r&&i){var a=t.frag,o=t.samples;if(a.type!==Z||this.closedCaptionsForLevel(a)!=="NONE")for(var l=0;l<o.length;l++){var h=o[l].bytes;if(h){var u=this.extractCea608Data(h);r.addData(o[l].pts,u[0]),i.addData(o[l].pts,u[1])}}}},n.onBufferFlushing=function(e,t){var r=t.startOffset,i=t.endOffset,a=t.endOffsetSubtitles,o=t.type,l=this.media;if(l&&!(l.currentTime<i)){if(!o||o==="video"){var h=this.captionsTracks;Object.keys(h).forEach(function(d){return Jr(h[d],r,i)})}if(this.config.renderTextTracksNatively&&r===0&&a!==void 0){var u=this.textTracks;Object.keys(u).forEach(function(d){return Jr(u[d],r,a)})}}},n.extractCea608Data=function(e){for(var t=[[],[]],r=31&e[0],i=2,a=0;a<r;a++){var o=e[i++],l=127&e[i++],h=127&e[i++];if((l!==0||h!==0)&&4&o){var u=3&o;u!==0&&u!==1||(t[u].push(l),t[u].push(h))}}return t},s}();function Ga(s){return s.characteristics&&/transcribes-spoken-dialog/gi.test(s.characteristics)&&/describes-music-and-sound/gi.test(s.characteristics)?"captions":"subtitles"}function Ka(s,n){return!!s&&s.kind===Ga(n)&&Ai(n,s)}var Jo=function(){function s(e){this.hls=void 0,this.autoLevelCapping=void 0,this.firstLevel=void 0,this.media=void 0,this.restrictedLevels=void 0,this.timer=void 0,this.clientRect=void 0,this.streamController=void 0,this.hls=e,this.autoLevelCapping=Number.POSITIVE_INFINITY,this.firstLevel=-1,this.media=null,this.restrictedLevels=[],this.timer=void 0,this.clientRect=null,this.registerListeners()}var n=s.prototype;return n.setStreamController=function(e){this.streamController=e},n.destroy=function(){this.hls&&this.unregisterListener(),this.timer&&this.stopCapping(),this.media=null,this.clientRect=null,this.hls=this.streamController=null},n.registerListeners=function(){var e=this.hls;e.on(p.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.on(p.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(p.MANIFEST_PARSED,this.onManifestParsed,this),e.on(p.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(p.BUFFER_CODECS,this.onBufferCodecs,this),e.on(p.MEDIA_DETACHING,this.onMediaDetaching,this)},n.unregisterListener=function(){var e=this.hls;e.off(p.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.off(p.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(p.MANIFEST_PARSED,this.onManifestParsed,this),e.off(p.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(p.BUFFER_CODECS,this.onBufferCodecs,this),e.off(p.MEDIA_DETACHING,this.onMediaDetaching,this)},n.onFpsDropLevelCapping=function(e,t){var r=this.hls.levels[t.droppedLevel];this.isLevelAllowed(r)&&this.restrictedLevels.push({bitrate:r.bitrate,height:r.height,width:r.width})},n.onMediaAttaching=function(e,t){this.media=t.media instanceof HTMLVideoElement?t.media:null,this.clientRect=null,this.timer&&this.hls.levels.length&&this.detectPlayerSize()},n.onManifestParsed=function(e,t){var r=this.hls;this.restrictedLevels=[],this.firstLevel=t.firstLevel,r.config.capLevelToPlayerSize&&t.video&&this.startCapping()},n.onLevelsUpdated=function(e,t){this.timer&&O(this.autoLevelCapping)&&this.detectPlayerSize()},n.onBufferCodecs=function(e,t){this.hls.config.capLevelToPlayerSize&&t.video&&this.startCapping()},n.onMediaDetaching=function(){this.stopCapping()},n.detectPlayerSize=function(){if(this.media){if(this.mediaHeight<=0||this.mediaWidth<=0)return void(this.clientRect=null);var e=this.hls.levels;if(e.length){var t=this.hls,r=this.getMaxLevel(e.length-1);r!==this.autoLevelCapping&&b.log("Setting autoLevelCapping to "+r+": "+e[r].height+"p@"+e[r].bitrate+" for media "+this.mediaWidth+"x"+this.mediaHeight),t.autoLevelCapping=r,t.autoLevelCapping>this.autoLevelCapping&&this.streamController&&this.streamController.nextLevelSwitch(),this.autoLevelCapping=t.autoLevelCapping}}},n.getMaxLevel=function(e){var t=this,r=this.hls.levels;if(!r.length)return-1;var i=r.filter(function(a,o){return t.isLevelAllowed(a)&&o<=e});return this.clientRect=null,s.getMaxLevelByMediaSize(i,this.mediaWidth,this.mediaHeight)},n.startCapping=function(){this.timer||(this.autoLevelCapping=Number.POSITIVE_INFINITY,self.clearInterval(this.timer),this.timer=self.setInterval(this.detectPlayerSize.bind(this),1e3),this.detectPlayerSize())},n.stopCapping=function(){this.restrictedLevels=[],this.firstLevel=-1,this.autoLevelCapping=Number.POSITIVE_INFINITY,this.timer&&(self.clearInterval(this.timer),this.timer=void 0)},n.getDimensions=function(){if(this.clientRect)return this.clientRect;var e=this.media,t={width:0,height:0};if(e){var r=e.getBoundingClientRect();t.width=r.width,t.height=r.height,t.width||t.height||(t.width=r.right-r.left||e.width||0,t.height=r.bottom-r.top||e.height||0)}return this.clientRect=t,t},n.isLevelAllowed=function(e){return!this.restrictedLevels.some(function(t){return e.bitrate===t.bitrate&&e.width===t.width&&e.height===t.height})},s.getMaxLevelByMediaSize=function(e,t,r){if(e==null||!e.length)return-1;for(var i,a,o=e.length-1,l=Math.max(t,r),h=0;h<e.length;h+=1){var u=e[h];if((u.width>=l||u.height>=l)&&(i=u,!(a=e[h+1])||i.width!==a.width||i.height!==a.height)){o=h;break}}return o},fe(s,[{key:"mediaWidth",get:function(){return this.getDimensions().width*this.contentScaleFactor}},{key:"mediaHeight",get:function(){return this.getDimensions().height*this.contentScaleFactor}},{key:"contentScaleFactor",get:function(){var e=1;if(!this.hls.config.ignoreDevicePixelRatio)try{e=self.devicePixelRatio}catch{}return e}}]),s}(),$o=function(){function s(e){this.hls=void 0,this.isVideoPlaybackQualityAvailable=!1,this.timer=void 0,this.media=null,this.lastTime=void 0,this.lastDroppedFrames=0,this.lastDecodedFrames=0,this.streamController=void 0,this.hls=e,this.registerListeners()}var n=s.prototype;return n.setStreamController=function(e){this.streamController=e},n.registerListeners=function(){this.hls.on(p.MEDIA_ATTACHING,this.onMediaAttaching,this)},n.unregisterListeners=function(){this.hls.off(p.MEDIA_ATTACHING,this.onMediaAttaching,this)},n.destroy=function(){this.timer&&clearInterval(this.timer),this.unregisterListeners(),this.isVideoPlaybackQualityAvailable=!1,this.media=null},n.onMediaAttaching=function(e,t){var r=this.hls.config;if(r.capLevelOnFPSDrop){var i=t.media instanceof self.HTMLVideoElement?t.media:null;this.media=i,i&&typeof i.getVideoPlaybackQuality=="function"&&(this.isVideoPlaybackQualityAvailable=!0),self.clearInterval(this.timer),this.timer=self.setInterval(this.checkFPSInterval.bind(this),r.fpsDroppedMonitoringPeriod)}},n.checkFPS=function(e,t,r){var i=performance.now();if(t){if(this.lastTime){var a=i-this.lastTime,o=r-this.lastDroppedFrames,l=t-this.lastDecodedFrames,h=1e3*o/a,u=this.hls;if(u.trigger(p.FPS_DROP,{currentDropped:o,currentDecoded:l,totalDroppedFrames:r}),h>0&&o>u.config.fpsDroppedMonitoringThreshold*l){var d=u.currentLevel;b.warn("drop FPS ratio greater than max allowed value for currentLevel: "+d),d>0&&(u.autoLevelCapping===-1||u.autoLevelCapping>=d)&&(d-=1,u.trigger(p.FPS_DROP_LEVEL_CAPPING,{level:d,droppedLevel:u.currentLevel}),u.autoLevelCapping=d,this.streamController.nextLevelSwitch())}}this.lastTime=i,this.lastDroppedFrames=r,this.lastDecodedFrames=t}},n.checkFPSInterval=function(){var e=this.media;if(e)if(this.isVideoPlaybackQualityAvailable){var t=e.getVideoPlaybackQuality();this.checkFPS(e,t.totalVideoFrames,t.droppedVideoFrames)}else this.checkFPS(e,e.webkitDecodedFrameCount,e.webkitDroppedFrameCount)},s}(),br="[eme]",Ha=function(){function s(e){this.hls=void 0,this.config=void 0,this.media=null,this.keyFormatPromise=null,this.keySystemAccessPromises={},this._requestLicenseFailureCount=0,this.mediaKeySessions=[],this.keyIdToKeySessionPromise={},this.setMediaKeysQueue=s.CDMCleanupPromise?[s.CDMCleanupPromise]:[],this.onMediaEncrypted=this._onMediaEncrypted.bind(this),this.onWaitingForKey=this._onWaitingForKey.bind(this),this.debug=b.debug.bind(b,br),this.log=b.log.bind(b,br),this.warn=b.warn.bind(b,br),this.error=b.error.bind(b,br),this.hls=e,this.config=e.config,this.registerListeners()}var n=s.prototype;return n.destroy=function(){this.unregisterListeners(),this.onMediaDetached();var e=this.config;e.requestMediaKeySystemAccessFunc=null,e.licenseXhrSetup=e.licenseResponseCallback=void 0,e.drmSystems=e.drmSystemOptions={},this.hls=this.onMediaEncrypted=this.onWaitingForKey=this.keyIdToKeySessionPromise=null,this.config=null},n.registerListeners=function(){this.hls.on(p.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.on(p.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.on(p.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.on(p.MANIFEST_LOADED,this.onManifestLoaded,this)},n.unregisterListeners=function(){this.hls.off(p.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.off(p.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.off(p.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.off(p.MANIFEST_LOADED,this.onManifestLoaded,this)},n.getLicenseServerUrl=function(e){var t=this.config,r=t.drmSystems,i=t.widevineLicenseUrl,a=r[e];if(a)return a.licenseUrl;if(e===se.WIDEVINE&&i)return i;throw new Error('no license server URL configured for key-system "'+e+'"')},n.getServerCertificateUrl=function(e){var t=this.config.drmSystems[e];if(t)return t.serverCertificateUrl;this.log('No Server Certificate in config.drmSystems["'+e+'"]')},n.attemptKeySystemAccess=function(e){var t=this,r=this.hls.levels,i=function(l,h,u){return!!l&&u.indexOf(l)===h},a=r.map(function(l){return l.audioCodec}).filter(i),o=r.map(function(l){return l.videoCodec}).filter(i);return a.length+o.length===0&&o.push("avc1.42e01e"),new Promise(function(l,h){(function u(d){var c=d.shift();t.getMediaKeysPromise(c,a,o).then(function(f){return l({keySystem:c,mediaKeys:f})}).catch(function(f){d.length?u(d):h(f instanceof Ue?f:new Ue({type:G.KEY_SYSTEM_ERROR,details:w.KEY_SYSTEM_NO_ACCESS,error:f,fatal:!0},f.message))})})(e)})},n.requestMediaKeySystemAccess=function(e,t){var r=this.config.requestMediaKeySystemAccessFunc;if(typeof r!="function"){var i="Configured requestMediaKeySystemAccess is not a function "+r;return en===null&&self.location.protocol==="http:"&&(i="navigator.requestMediaKeySystemAccess is not available over insecure protocol "+location.protocol),Promise.reject(new Error(i))}return r(e,t)},n.getMediaKeysPromise=function(e,t,r){var i=this,a=function(u,d,c,f){var g;switch(u){case se.FAIRPLAY:g=["cenc","sinf"];break;case se.WIDEVINE:case se.PLAYREADY:g=["cenc"];break;case se.CLEARKEY:g=["cenc","keyids"];break;default:throw new Error("Unknown key-system: "+u)}return function(m,E,v,y){return[{initDataTypes:m,persistentState:y.persistentState||"optional",distinctiveIdentifier:y.distinctiveIdentifier||"optional",sessionTypes:y.sessionTypes||[y.sessionType||"temporary"],audioCapabilities:E.map(function(T){return{contentType:'audio/mp4; codecs="'+T+'"',robustness:y.audioRobustness||"",encryptionScheme:y.audioEncryptionScheme||null}}),videoCapabilities:v.map(function(T){return{contentType:'video/mp4; codecs="'+T+'"',robustness:y.videoRobustness||"",encryptionScheme:y.videoEncryptionScheme||null}})}]}(g,d,c,f)}(e,t,r,this.config.drmSystemOptions),o=this.keySystemAccessPromises[e],l=o==null?void 0:o.keySystemAccess;if(!l){this.log('Requesting encrypted media "'+e+'" key-system access with config: '+JSON.stringify(a)),l=this.requestMediaKeySystemAccess(e,a);var h=this.keySystemAccessPromises[e]={keySystemAccess:l};return l.catch(function(u){i.log('Failed to obtain access to key-system "'+e+'": '+u)}),l.then(function(u){i.log('Access for key-system "'+u.keySystem+'" obtained');var d=i.fetchServerCertificate(e);return i.log('Create media-keys for "'+e+'"'),h.mediaKeys=u.createMediaKeys().then(function(c){return i.log('Media-keys created for "'+e+'"'),d.then(function(f){return f?i.setMediaKeysServerCertificate(c,e,f):c})}),h.mediaKeys.catch(function(c){i.error('Failed to create media-keys for "'+e+'"}: '+c)}),h.mediaKeys})}return l.then(function(){return o.mediaKeys})},n.createMediaKeySessionContext=function(e){var t=e.decryptdata,r=e.keySystem,i=e.mediaKeys;this.log('Creating key-system session "'+r+'" keyId: '+Ke(t.keyId||[]));var a=i.createSession(),o={decryptdata:t,keySystem:r,mediaKeys:i,mediaKeysSession:a,keyStatus:"status-pending"};return this.mediaKeySessions.push(o),o},n.renewKeySession=function(e){var t=e.decryptdata;if(t.pssh){var r=this.createMediaKeySessionContext(e),i=this.getKeyIdString(t);this.keyIdToKeySessionPromise[i]=this.generateRequestWithPreferredKeySession(r,"cenc",t.pssh,"expired")}else this.warn("Could not renew expired session. Missing pssh initData.");this.removeSession(e)},n.getKeyIdString=function(e){if(!e)throw new Error("Could not read keyId of undefined decryptdata");if(e.keyId===null)throw new Error("keyId is null");return Ke(e.keyId)},n.updateKeySession=function(e,t){var r,i=e.mediaKeysSession;return this.log('Updating key-session "'+i.sessionId+'" for keyID '+Ke(((r=e.decryptdata)==null?void 0:r.keyId)||[])+`
-      } (data length: `+(t&&t.byteLength)+")"),i.update(t)},n.selectKeySystemFormat=function(e){var t=Object.keys(e.levelkeys||{});return this.keyFormatPromise||(this.log("Selecting key-system from fragment (sn: "+e.sn+" "+e.type+": "+e.level+") key formats "+t.join(", ")),this.keyFormatPromise=this.getKeyFormatPromise(t)),this.keyFormatPromise},n.getKeyFormatPromise=function(e){var t=this;return new Promise(function(r,i){var a=Gr(t.config),o=e.map(Qi).filter(function(l){return!!l&&a.indexOf(l)!==-1});return t.getKeySystemSelectionPromise(o).then(function(l){var h=l.keySystem,u=$i(h);u?r(u):i(new Error('Unable to find format for key-system "'+h+'"'))}).catch(i)})},n.loadKey=function(e){var t=this,r=e.keyInfo.decryptdata,i=this.getKeyIdString(r),a="(keyId: "+i+' format: "'+r.keyFormat+'" method: '+r.method+" uri: "+r.uri+")";this.log("Starting session for key "+a);var o=this.keyIdToKeySessionPromise[i];return o||(o=this.keyIdToKeySessionPromise[i]=this.getKeySystemForKeyPromise(r).then(function(l){var h=l.keySystem,u=l.mediaKeys;return t.throwIfDestroyed(),t.log("Handle encrypted media sn: "+e.frag.sn+" "+e.frag.type+": "+e.frag.level+" using key "+a),t.attemptSetMediaKeys(h,u).then(function(){t.throwIfDestroyed();var d=t.createMediaKeySessionContext({keySystem:h,mediaKeys:u,decryptdata:r});return t.generateRequestWithPreferredKeySession(d,"cenc",r.pssh,"playlist-key")})})).catch(function(l){return t.handleError(l)}),o},n.throwIfDestroyed=function(e){if(!this.hls)throw new Error("invalid state")},n.handleError=function(e){this.hls&&(this.error(e.message),e instanceof Ue?this.hls.trigger(p.ERROR,e.data):this.hls.trigger(p.ERROR,{type:G.KEY_SYSTEM_ERROR,details:w.KEY_SYSTEM_NO_KEYS,error:e,fatal:!0}))},n.getKeySystemForKeyPromise=function(e){var t=this.getKeyIdString(e),r=this.keyIdToKeySessionPromise[t];if(!r){var i=Qi(e.keyFormat),a=i?[i]:Gr(this.config);return this.attemptKeySystemAccess(a)}return r},n.getKeySystemSelectionPromise=function(e){if(e.length||(e=Gr(this.config)),e.length===0)throw new Ue({type:G.KEY_SYSTEM_ERROR,details:w.KEY_SYSTEM_NO_CONFIGURED_LICENSE,fatal:!0},"Missing key-system license configuration options "+JSON.stringify({drmSystems:this.config.drmSystems}));return this.attemptKeySystemAccess(e)},n._onMediaEncrypted=function(e){var t=this,r=e.initDataType,i=e.initData;if(this.debug('"'+e.type+'" event: init data type: "'+r+'"'),i!==null){var a,o;if(r==="sinf"&&this.config.drmSystems[se.FAIRPLAY]){var l=me(new Uint8Array(i));try{var h=Or(JSON.parse(l).sinf),u=hn(new Uint8Array(h));if(!u)return;a=u.subarray(8,24),o=se.FAIRPLAY}catch{return void this.warn('Failed to parse sinf "encrypted" event message initData')}}else{var d=function(T){if(!(T instanceof ArrayBuffer)||T.byteLength<32)return null;var S={version:0,systemId:"",kids:null,data:null},A=new DataView(T),R=A.getUint32(0);if(T.byteLength!==R&&R>44||A.getUint32(4)!==1886614376||(S.version=A.getUint32(8)>>>24,S.version>1))return null;S.systemId=Ke(new Uint8Array(T,12,16));var L=A.getUint32(28);if(S.version===0){if(R-32<L)return null;S.data=new Uint8Array(T,32,L)}else if(S.version===1){S.kids=[];for(var D=0;D<L;D++)S.kids.push(new Uint8Array(T,32+16*D,16))}return S}(i);if(d===null)return;d.version===0&&d.systemId===Ji&&d.data&&(a=d.data.subarray(8,24)),o=function(T){if(T===Ji)return se.WIDEVINE}(d.systemId)}if(o&&a){for(var c,f=Ke(a),g=this.keyIdToKeySessionPromise,m=this.mediaKeySessions,E=g[f],v=function(){var T=m[y],S=T.decryptdata;if(S.pssh||!S.keyId)return 0;var A=Ke(S.keyId);return f===A||S.uri.replace(/-/g,"").indexOf(f)!==-1?(E=g[A],delete g[A],S.pssh=new Uint8Array(i),S.keyId=a,E=g[f]=E.then(function(){return t.generateRequestWithPreferredKeySession(T,r,i,"encrypted-event-key-match")}),1):void 0},y=0;y<m.length&&((c=v())===0||c!==1);y++);E||(E=g[f]=this.getKeySystemSelectionPromise([o]).then(function(T){var S,A=T.keySystem,R=T.mediaKeys;t.throwIfDestroyed();var L=new jr("ISO-23001-7",f,(S=$i(A))!=null?S:"");return L.pssh=new Uint8Array(i),L.keyId=a,t.attemptSetMediaKeys(A,R).then(function(){t.throwIfDestroyed();var D=t.createMediaKeySessionContext({decryptdata:L,keySystem:A,mediaKeys:R});return t.generateRequestWithPreferredKeySession(D,r,i,"encrypted-event-no-match")})})),E.catch(function(T){return t.handleError(T)})}}},n._onWaitingForKey=function(e){this.log('"'+e.type+'" event')},n.attemptSetMediaKeys=function(e,t){var r=this,i=this.setMediaKeysQueue.slice();this.log('Setting media-keys for "'+e+'"');var a=Promise.all(i).then(function(){if(!r.media)throw new Error("Attempted to set mediaKeys without media element attached");return r.media.setMediaKeys(t)});return this.setMediaKeysQueue.push(a),a.then(function(){r.log('Media-keys set for "'+e+'"'),i.push(a),r.setMediaKeysQueue=r.setMediaKeysQueue.filter(function(o){return i.indexOf(o)===-1})})},n.generateRequestWithPreferredKeySession=function(e,t,r,i){var a,o,l=this,h=(a=this.config.drmSystems)==null||(o=a[e.keySystem])==null?void 0:o.generateRequest;if(h)try{var u=h.call(this.hls,t,r,e);if(!u)throw new Error("Invalid response from configured generateRequest filter");t=u.initDataType,r=e.decryptdata.pssh=u.initData?new Uint8Array(u.initData):null}catch(v){var d;if(this.warn(v.message),(d=this.hls)!=null&&d.config.debug)throw v}if(r===null)return this.log('Skipping key-session request for "'+i+'" (no initData)'),Promise.resolve(e);var c=this.getKeyIdString(e.decryptdata);this.log('Generating key-session request for "'+i+'": '+c+" (init data type: "+t+" length: "+(r?r.byteLength:null)+")");var f=new Lr,g=e._onmessage=function(v){var y=e.mediaKeysSession;if(y){var T=v.messageType,S=v.message;l.log('"'+T+'" message event for session "'+y.sessionId+'" message size: '+S.byteLength),T==="license-request"||T==="license-renewal"?l.renewLicense(e,S).catch(function(A){l.handleError(A),f.emit("error",A)}):T==="license-release"?e.keySystem===se.FAIRPLAY&&(l.updateKeySession(e,Nr("acknowledged")),l.removeSession(e)):l.warn('unhandled media key message type "'+T+'"')}else f.emit("error",new Error("invalid state"))},m=e._onkeystatuseschange=function(v){if(e.mediaKeysSession){l.onKeyStatusChange(e);var y=e.keyStatus;f.emit("keyStatus",y),y==="expired"&&(l.warn(e.keySystem+" expired for key "+c),l.renewKeySession(e))}else f.emit("error",new Error("invalid state"))};e.mediaKeysSession.addEventListener("message",g),e.mediaKeysSession.addEventListener("keystatuseschange",m);var E=new Promise(function(v,y){f.on("error",y),f.on("keyStatus",function(T){T.startsWith("usable")?v():T==="output-restricted"?y(new Ue({type:G.KEY_SYSTEM_ERROR,details:w.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED,fatal:!1},"HDCP level output restricted")):T==="internal-error"?y(new Ue({type:G.KEY_SYSTEM_ERROR,details:w.KEY_SYSTEM_STATUS_INTERNAL_ERROR,fatal:!0},'key status changed to "'+T+'"')):T==="expired"?y(new Error("key expired while generating request")):l.warn('unhandled key status change "'+T+'"')})});return e.mediaKeysSession.generateRequest(t,r).then(function(){var v;l.log('Request generated for key-session "'+((v=e.mediaKeysSession)==null?void 0:v.sessionId)+'" keyId: '+c)}).catch(function(v){throw new Ue({type:G.KEY_SYSTEM_ERROR,details:w.KEY_SYSTEM_NO_SESSION,error:v,fatal:!1},"Error generating key-session request: "+v)}).then(function(){return E}).catch(function(v){throw f.removeAllListeners(),l.removeSession(e),v}).then(function(){return f.removeAllListeners(),e})},n.onKeyStatusChange=function(e){var t=this;e.mediaKeysSession.keyStatuses.forEach(function(r,i){t.log('key status change "'+r+'" for keyStatuses keyId: '+Ke("buffer"in i?new Uint8Array(i.buffer,i.byteOffset,i.byteLength):new Uint8Array(i))+" session keyId: "+Ke(new Uint8Array(e.decryptdata.keyId||[]))+" uri: "+e.decryptdata.uri),e.keyStatus=r})},n.fetchServerCertificate=function(e){var t=this.config,r=new t.loader(t),i=this.getServerCertificateUrl(e);return i?(this.log('Fetching server certificate for "'+e+'"'),new Promise(function(a,o){var l={responseType:"arraybuffer",url:i},h=t.certLoadPolicy.default,u={loadPolicy:h,timeout:h.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},d={onSuccess:function(c,f,g,m){a(c.data)},onError:function(c,f,g,m){o(new Ue({type:G.KEY_SYSTEM_ERROR,details:w.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:g,response:ye({url:l.url,data:void 0},c)},'"'+e+'" certificate request failed ('+i+"). Status: "+c.code+" ("+c.text+")"))},onTimeout:function(c,f,g){o(new Ue({type:G.KEY_SYSTEM_ERROR,details:w.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:g,response:{url:l.url,data:void 0}},'"'+e+'" certificate request timed out ('+i+")"))},onAbort:function(c,f,g){o(new Error("aborted"))}};r.load(l,u,d)})):Promise.resolve()},n.setMediaKeysServerCertificate=function(e,t,r){var i=this;return new Promise(function(a,o){e.setServerCertificate(r).then(function(l){i.log("setServerCertificate "+(l?"success":"not supported by CDM")+" ("+(r==null?void 0:r.byteLength)+') on "'+t+'"'),a(e)}).catch(function(l){o(new Ue({type:G.KEY_SYSTEM_ERROR,details:w.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED,error:l,fatal:!0},l.message))})})},n.renewLicense=function(e,t){var r=this;return this.requestLicense(e,new Uint8Array(t)).then(function(i){return r.updateKeySession(e,new Uint8Array(i)).catch(function(a){throw new Ue({type:G.KEY_SYSTEM_ERROR,details:w.KEY_SYSTEM_SESSION_UPDATE_FAILED,error:a,fatal:!0},a.message)})})},n.unpackPlayReadyKeyMessage=function(e,t){var r=String.fromCharCode.apply(null,new Uint16Array(t.buffer));if(!r.includes("PlayReadyKeyMessage"))return e.setRequestHeader("Content-Type","text/xml; charset=utf-8"),t;var i=new DOMParser().parseFromString(r,"application/xml"),a=i.querySelectorAll("HttpHeader");if(a.length>0)for(var o,l=0,h=a.length;l<h;l++){var u,d,c=(u=(o=a[l]).querySelector("name"))==null?void 0:u.textContent,f=(d=o.querySelector("value"))==null?void 0:d.textContent;c&&f&&e.setRequestHeader(c,f)}var g=i.querySelector("Challenge"),m=g==null?void 0:g.textContent;if(!m)throw new Error("Cannot find <Challenge> in key message");return Nr(atob(m))},n.setupLicenseXHR=function(e,t,r,i){var a=this,o=this.config.licenseXhrSetup;return o?Promise.resolve().then(function(){if(!r.decryptdata)throw new Error("Key removed");return o.call(a.hls,e,t,r,i)}).catch(function(l){if(!r.decryptdata)throw l;return e.open("POST",t,!0),o.call(a.hls,e,t,r,i)}).then(function(l){return e.readyState||e.open("POST",t,!0),{xhr:e,licenseChallenge:l||i}}):(e.open("POST",t,!0),Promise.resolve({xhr:e,licenseChallenge:i}))},n.requestLicense=function(e,t){var r=this,i=this.config.keyLoadPolicy.default;return new Promise(function(a,o){var l=r.getLicenseServerUrl(e.keySystem);r.log("Sending license request to URL: "+l);var h=new XMLHttpRequest;h.responseType="arraybuffer",h.onreadystatechange=function(){if(!r.hls||!e.mediaKeysSession)return o(new Error("invalid state"));if(h.readyState===4)if(h.status===200){r._requestLicenseFailureCount=0;var u=h.response;r.log("License received "+(u instanceof ArrayBuffer?u.byteLength:u));var d=r.config.licenseResponseCallback;if(d)try{u=d.call(r.hls,h,l,e)}catch(m){r.error(m)}a(u)}else{var c=i.errorRetry,f=c?c.maxNumRetry:0;if(r._requestLicenseFailureCount++,r._requestLicenseFailureCount>f||h.status>=400&&h.status<500)o(new Ue({type:G.KEY_SYSTEM_ERROR,details:w.KEY_SYSTEM_LICENSE_REQUEST_FAILED,fatal:!0,networkDetails:h,response:{url:l,data:void 0,code:h.status,text:h.statusText}},"License Request XHR failed ("+l+"). Status: "+h.status+" ("+h.statusText+")"));else{var g=f-r._requestLicenseFailureCount+1;r.warn("Retrying license request, "+g+" attempts left"),r.requestLicense(e,t).then(a,o)}}},e.licenseXhr&&e.licenseXhr.readyState!==XMLHttpRequest.DONE&&e.licenseXhr.abort(),e.licenseXhr=h,r.setupLicenseXHR(h,l,e,t).then(function(u){var d=u.xhr,c=u.licenseChallenge;e.keySystem==se.PLAYREADY&&(c=r.unpackPlayReadyKeyMessage(d,c)),d.send(c)})})},n.onMediaAttached=function(e,t){if(this.config.emeEnabled){var r=t.media;this.media=r,r.addEventListener("encrypted",this.onMediaEncrypted),r.addEventListener("waitingforkey",this.onWaitingForKey)}},n.onMediaDetached=function(){var e=this,t=this.media,r=this.mediaKeySessions;t&&(t.removeEventListener("encrypted",this.onMediaEncrypted),t.removeEventListener("waitingforkey",this.onWaitingForKey),this.media=null),this._requestLicenseFailureCount=0,this.setMediaKeysQueue=[],this.mediaKeySessions=[],this.keyIdToKeySessionPromise={},jr.clearKeyUriToKeyIdMap();var i=r.length;s.CDMCleanupPromise=Promise.all(r.map(function(a){return e.removeSession(a)}).concat(t==null?void 0:t.setMediaKeys(null).catch(function(a){e.log("Could not clear media keys: "+a)}))).then(function(){i&&(e.log("finished closing key sessions and clearing media keys"),r.length=0)}).catch(function(a){e.log("Could not close sessions and clear media keys: "+a)})},n.onManifestLoading=function(){this.keyFormatPromise=null},n.onManifestLoaded=function(e,t){var r=t.sessionKeys;if(r&&this.config.emeEnabled&&!this.keyFormatPromise){var i=r.reduce(function(a,o){return a.indexOf(o.keyFormat)===-1&&a.push(o.keyFormat),a},[]);this.log("Selecting key-system from session-keys "+i.join(", ")),this.keyFormatPromise=this.getKeyFormatPromise(i)}},n.removeSession=function(e){var t=this,r=e.mediaKeysSession,i=e.licenseXhr;if(r){this.log("Remove licenses and keys and close session "+r.sessionId),e._onmessage&&(r.removeEventListener("message",e._onmessage),e._onmessage=void 0),e._onkeystatuseschange&&(r.removeEventListener("keystatuseschange",e._onkeystatuseschange),e._onkeystatuseschange=void 0),i&&i.readyState!==XMLHttpRequest.DONE&&i.abort(),e.mediaKeysSession=e.decryptdata=e.licenseXhr=void 0;var a=this.mediaKeySessions.indexOf(e);return a>-1&&this.mediaKeySessions.splice(a,1),r.remove().catch(function(o){t.log("Could not remove session: "+o)}).then(function(){return r.close()}).catch(function(o){t.log("Could not close session: "+o)})}},s}();Ha.CDMCleanupPromise=void 0;var Re,Fi,ct,zt,Ue=function(s){function n(e,t){var r;return(r=s.call(this,t)||this).data=void 0,e.error||(e.error=new Error(t)),r.data=e,e.err=e.error,r}return Le(n,s),n}(Ot(Error));(function(s){s.MANIFEST="m",s.AUDIO="a",s.VIDEO="v",s.MUXED="av",s.INIT="i",s.CAPTION="c",s.TIMED_TEXT="tt",s.KEY="k",s.OTHER="o"})(Re||(Re={})),function(s){s.DASH="d",s.HLS="h",s.SMOOTH="s",s.OTHER="o"}(Fi||(Fi={})),function(s){s.OBJECT="CMCD-Object",s.REQUEST="CMCD-Request",s.SESSION="CMCD-Session",s.STATUS="CMCD-Status"}(ct||(ct={}));var Zo=((zt={})[ct.OBJECT]=["br","d","ot","tb"],zt[ct.REQUEST]=["bl","dl","mtp","nor","nrr","su"],zt[ct.SESSION]=["cid","pr","sf","sid","st","v"],zt[ct.STATUS]=["bs","rtp"],zt),Mi=function s(n,e){this.value=void 0,this.params=void 0,Array.isArray(n)&&(n=n.map(function(t){return t instanceof s?t:new s(t)})),this.value=n,this.params=e},Va=function(s){this.description=void 0,this.description=s},el="Dict";function tl(s,n,e,t){return new Error("failed to "+s+' "'+(r=n,(Array.isArray(r)?JSON.stringify(r):r instanceof Map?"Map{}":r instanceof Set?"Set{}":typeof r=="object"?JSON.stringify(r):String(r))+'" as ')+e,{cause:t});var r}var Ya="Bare Item",rl="Boolean",il="Byte Sequence",nl="Decimal",al="Integer",sl=/[\x00-\x1f\x7f]+/,ol="Token",ll="Key";function je(s,n,e){return tl("serialize",s,n,e)}function ul(s){if(ArrayBuffer.isView(s)===!1)throw je(s,il);return":"+(n=s,btoa(String.fromCharCode.apply(String,n))+":");var n}function Wa(s){if(function(n){return n<-999999999999999||999999999999999<n}(s))throw je(s,al);return s.toString()}function ja(s,n){if(s<0)return-ja(-s,n);var e=Math.pow(10,n);if(Math.abs(s*e%1-.5)<Number.EPSILON){var t=Math.floor(s*e);return(t%2==0?t:t+1)/e}return Math.round(s*e)/e}function hl(s){var n=ja(s,3);if(Math.floor(Math.abs(n)).toString().length>12)throw je(s,nl);var e=n.toString();return e.includes(".")?e:e+".0"}var dl="String";function qa(s){var n,e=(n=s).description||n.toString().slice(7,-1);if(/^([a-zA-Z*])([!#$%&'*+\-.^_`|~\w:/]*)$/.test(e)===!1)throw je(e,ol);return e}function Oi(s){switch(typeof s){case"number":if(!O(s))throw je(s,Ya);return Number.isInteger(s)?Wa(s):hl(s);case"string":return function(n){if(sl.test(n))throw je(n,dl);return'"'+n.replace(/\\/g,"\\\\").replace(/"/g,'\\"')+'"'}(s);case"symbol":return qa(s);case"boolean":return function(n){if(typeof n!="boolean")throw je(n,rl);return n?"?1":"?0"}(s);case"object":if(s instanceof Date)return function(n){return"@"+Wa(n.getTime()/1e3)}(s);if(s instanceof Uint8Array)return ul(s);if(s instanceof Va)return qa(s);default:throw je(s,Ya)}}function Ni(s){if(/^[a-z*][a-z0-9\-_.*]*$/.test(s)===!1)throw je(s,ll);return s}function Ui(s){return s==null?"":Object.entries(s).map(function(n){var e=n[0],t=n[1];return t===!0?";"+Ni(e):";"+Ni(e)+"="+Oi(t)}).join("")}function Xa(s){return s instanceof Mi?""+Oi(s.value)+Ui(s.params):Oi(s)}function cl(s,n){var e;if(n===void 0&&(n={whitespace:!0}),typeof s!="object")throw je(s,el);var t=s instanceof Map?s.entries():Object.entries(s),r=(e=n)!=null&&e.whitespace?" ":"";return Array.from(t).map(function(i){var a=i[0],o=i[1];o instanceof Mi==0&&(o=new Mi(o));var l,h=Ni(a);return o.value===!0?h+=Ui(o.params):(h+="=",Array.isArray(o.value)?h+="("+(l=o).value.map(Xa).join(" ")+")"+Ui(l.params):h+=Xa(o)),h}).join(","+r)}var fl=function(s){return s==="ot"||s==="sf"||s==="st"},gl=function(s){return typeof s=="number"?O(s):s!=null&&s!==""&&s!==!1},kr=function(s){return Math.round(s)},Dr=function(s){return 100*kr(s/100)},vl={br:kr,d:kr,bl:Dr,dl:Dr,mtp:Dr,nor:function(s,n){return n!=null&&n.baseUrl&&(s=function(e,t){var r=new URL(e),i=new URL(t);if(r.origin!==i.origin)return e;for(var a=r.pathname.split("/").slice(1),o=i.pathname.split("/").slice(1,-1);a[0]===o[0];)a.shift(),o.shift();for(;o.length;)o.shift(),a.unshift("..");return a.join("/")}(s,n.baseUrl)),encodeURIComponent(s)},rtp:Dr,tb:kr};function za(s,n){return n===void 0&&(n={}),s?function(e,t){return cl(e,t)}(function(e,t){var r={};if(e==null||typeof e!="object")return r;var i=Object.keys(e).sort(),a=ge({},vl,t==null?void 0:t.formatters),o=t==null?void 0:t.filter;return i.forEach(function(l){if(o==null||!o(l)){var h=e[l],u=a[l];u&&(h=u(h,t)),l==="v"&&h===1||l=="pr"&&h===1||gl(h)&&(fl(l)&&typeof h=="string"&&(h=new Va(h)),r[l]=h)}}),r}(s,n),ge({whitespace:!1},n)):""}function ml(s,n,e){return ge(s,function(t,r){var i;if(r===void 0&&(r={}),!t)return{};var a=Object.entries(t),o=Object.entries(Zo).concat(Object.entries(((i=r)==null?void 0:i.customHeaderMap)||{})),l=a.reduce(function(h,u){var d,c=u[0],f=u[1],g=((d=o.find(function(m){return m[1].includes(c)}))==null?void 0:d[0])||ct.REQUEST;return h[g]!=null||(h[g]={}),h[g][c]=f,h},{});return Object.entries(l).reduce(function(h,u){var d=u[0],c=u[1];return h[d]=za(c,r),h},{})}(n,e))}var pl="CMCD",Qa=/CMCD=[^&#]+/;function yl(s,n,e){var t=function(i,a){if(a===void 0&&(a={}),!i)return"";var o=za(i,a);return pl+"="+encodeURIComponent(o)}(n,e);if(!t)return s;if(Qa.test(s))return s.replace(Qa,t);var r=s.includes("?")?"&":"?";return""+s+r+t}var El=function(){function s(e){var t=this;this.hls=void 0,this.config=void 0,this.media=void 0,this.sid=void 0,this.cid=void 0,this.useHeaders=!1,this.includeKeys=void 0,this.initialized=!1,this.starved=!1,this.buffering=!0,this.audioBuffer=void 0,this.videoBuffer=void 0,this.onWaiting=function(){t.initialized&&(t.starved=!0),t.buffering=!0},this.onPlaying=function(){t.initialized||(t.initialized=!0),t.buffering=!1},this.applyPlaylistData=function(a){try{t.apply(a,{ot:Re.MANIFEST,su:!t.initialized})}catch(o){b.warn("Could not generate manifest CMCD data.",o)}},this.applyFragmentData=function(a){try{var o=a.frag,l=t.hls.levels[o.level],h=t.getObjectType(o),u={d:1e3*o.duration,ot:h};h!==Re.VIDEO&&h!==Re.AUDIO&&h!=Re.MUXED||(u.br=l.bitrate/1e3,u.tb=t.getTopBandwidth(h)/1e3,u.bl=t.getBufferLength(h)),t.apply(a,u)}catch(d){b.warn("Could not generate segment CMCD data.",d)}},this.hls=e;var r=this.config=e.config,i=r.cmcd;i!=null&&(r.pLoader=this.createPlaylistLoader(),r.fLoader=this.createFragmentLoader(),this.sid=i.sessionId||function(){try{return crypto.randomUUID()}catch{try{var a=URL.createObjectURL(new Blob),o=a.toString();return URL.revokeObjectURL(a),o.slice(o.lastIndexOf("/")+1)}catch{var l=new Date().getTime();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(d){var c=(l+16*Math.random())%16|0;return l=Math.floor(l/16),(d=="x"?c:3&c|8).toString(16)})}}}(),this.cid=i.contentId,this.useHeaders=i.useHeaders===!0,this.includeKeys=i.includeKeys,this.registerListeners())}var n=s.prototype;return n.registerListeners=function(){var e=this.hls;e.on(p.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(p.MEDIA_DETACHED,this.onMediaDetached,this),e.on(p.BUFFER_CREATED,this.onBufferCreated,this)},n.unregisterListeners=function(){var e=this.hls;e.off(p.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(p.MEDIA_DETACHED,this.onMediaDetached,this),e.off(p.BUFFER_CREATED,this.onBufferCreated,this)},n.destroy=function(){this.unregisterListeners(),this.onMediaDetached(),this.hls=this.config=this.audioBuffer=this.videoBuffer=null,this.onWaiting=this.onPlaying=null},n.onMediaAttached=function(e,t){this.media=t.media,this.media.addEventListener("waiting",this.onWaiting),this.media.addEventListener("playing",this.onPlaying)},n.onMediaDetached=function(){this.media&&(this.media.removeEventListener("waiting",this.onWaiting),this.media.removeEventListener("playing",this.onPlaying),this.media=null)},n.onBufferCreated=function(e,t){var r,i;this.audioBuffer=(r=t.tracks.audio)==null?void 0:r.buffer,this.videoBuffer=(i=t.tracks.video)==null?void 0:i.buffer},n.createData=function(){var e;return{v:1,sf:Fi.HLS,sid:this.sid,cid:this.cid,pr:(e=this.media)==null?void 0:e.playbackRate,mtp:this.hls.bandwidthEstimate/1e3}},n.apply=function(e,t){t===void 0&&(t={}),ge(t,this.createData());var r=t.ot===Re.INIT||t.ot===Re.VIDEO||t.ot===Re.MUXED;this.starved&&r&&(t.bs=!0,t.su=!0,this.starved=!1),t.su==null&&(t.su=this.buffering);var i=this.includeKeys;i&&(t=Object.keys(t).reduce(function(a,o){return i.includes(o)&&(a[o]=t[o]),a},{})),this.useHeaders?(e.headers||(e.headers={}),ml(e.headers,t)):e.url=yl(e.url,t)},n.getObjectType=function(e){var t=e.type;return t==="subtitle"?Re.TIMED_TEXT:e.sn==="initSegment"?Re.INIT:t==="audio"?Re.AUDIO:t==="main"?this.hls.audioTracks.length?Re.VIDEO:Re.MUXED:void 0},n.getTopBandwidth=function(e){var t,r=0,i=this.hls;if(e===Re.AUDIO)t=i.audioTracks;else{var a=i.maxAutoLevel,o=a>-1?a+1:i.levels.length;t=i.levels.slice(0,o)}for(var l,h=us(t);!(l=h()).done;){var u=l.value;u.bitrate>r&&(r=u.bitrate)}return r>0?r:NaN},n.getBufferLength=function(e){var t=this.hls.media,r=e===Re.AUDIO?this.audioBuffer:this.videoBuffer;return r&&t?1e3*ue.bufferInfo(r,t.currentTime,this.config.maxBufferHole).len:NaN},n.createPlaylistLoader=function(){var e=this.config.pLoader,t=this.applyPlaylistData,r=e||this.config.loader;return function(){function i(o){this.loader=void 0,this.loader=new r(o)}var a=i.prototype;return a.destroy=function(){this.loader.destroy()},a.abort=function(){this.loader.abort()},a.load=function(o,l,h){t(o),this.loader.load(o,l,h)},fe(i,[{key:"stats",get:function(){return this.loader.stats}},{key:"context",get:function(){return this.loader.context}}]),i}()},n.createFragmentLoader=function(){var e=this.config.fLoader,t=this.applyFragmentData,r=e||this.config.loader;return function(){function i(o){this.loader=void 0,this.loader=new r(o)}var a=i.prototype;return a.destroy=function(){this.loader.destroy()},a.abort=function(){this.loader.abort()},a.load=function(o,l,h){t(o),this.loader.load(o,l,h)},fe(i,[{key:"stats",get:function(){return this.loader.stats}},{key:"context",get:function(){return this.loader.context}}]),i}()},s}(),Tl=function(){function s(e){this.hls=void 0,this.log=void 0,this.loader=null,this.uri=null,this.pathwayId=".",this.pathwayPriority=null,this.timeToLoad=300,this.reloadTimer=-1,this.updated=0,this.started=!1,this.enabled=!0,this.levels=null,this.audioTracks=null,this.subtitleTracks=null,this.penalizedPathways={},this.hls=e,this.log=b.log.bind(b,"[content-steering]:"),this.registerListeners()}var n=s.prototype;return n.registerListeners=function(){var e=this.hls;e.on(p.MANIFEST_LOADING,this.onManifestLoading,this),e.on(p.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(p.MANIFEST_PARSED,this.onManifestParsed,this),e.on(p.ERROR,this.onError,this)},n.unregisterListeners=function(){var e=this.hls;e&&(e.off(p.MANIFEST_LOADING,this.onManifestLoading,this),e.off(p.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(p.MANIFEST_PARSED,this.onManifestParsed,this),e.off(p.ERROR,this.onError,this))},n.startLoad=function(){if(this.started=!0,this.clearTimeout(),this.enabled&&this.uri){if(this.updated){var e=1e3*this.timeToLoad-(performance.now()-this.updated);if(e>0)return void this.scheduleRefresh(this.uri,e)}this.loadSteeringManifest(this.uri)}},n.stopLoad=function(){this.started=!1,this.loader&&(this.loader.destroy(),this.loader=null),this.clearTimeout()},n.clearTimeout=function(){this.reloadTimer!==-1&&(self.clearTimeout(this.reloadTimer),this.reloadTimer=-1)},n.destroy=function(){this.unregisterListeners(),this.stopLoad(),this.hls=null,this.levels=this.audioTracks=this.subtitleTracks=null},n.removeLevel=function(e){var t=this.levels;t&&(this.levels=t.filter(function(r){return r!==e}))},n.onManifestLoading=function(){this.stopLoad(),this.enabled=!0,this.timeToLoad=300,this.updated=0,this.uri=null,this.pathwayId=".",this.levels=this.audioTracks=this.subtitleTracks=null},n.onManifestLoaded=function(e,t){var r=t.contentSteering;r!==null&&(this.pathwayId=r.pathwayId,this.uri=r.uri,this.started&&this.startLoad())},n.onManifestParsed=function(e,t){this.audioTracks=t.audioTracks,this.subtitleTracks=t.subtitleTracks},n.onError=function(e,t){var r=t.errorAction;if((r==null?void 0:r.action)===Xe&&r.flags===oi){var i=this.levels,a=this.pathwayPriority,o=this.pathwayId;if(t.context){var l=t.context,h=l.groupId,u=l.pathwayId,d=l.type;h&&i?o=this.getPathwayForGroupId(h,d,o):u&&(o=u)}o in this.penalizedPathways||(this.penalizedPathways[o]=performance.now()),!a&&i&&(a=i.reduce(function(c,f){return c.indexOf(f.pathwayId)===-1&&c.push(f.pathwayId),c},[])),a&&a.length>1&&(this.updatePathwayPriority(a),r.resolved=this.pathwayId!==o),r.resolved||b.warn("Could not resolve "+t.details+' ("'+t.error.message+'") with content-steering for Pathway: '+o+" levels: "+(i&&i.length)+" priorities: "+JSON.stringify(a)+" penalized: "+JSON.stringify(this.penalizedPathways))}},n.filterParsedLevels=function(e){this.levels=e;var t=this.getLevelsForPathway(this.pathwayId);if(t.length===0){var r=e[0].pathwayId;this.log("No levels found in Pathway "+this.pathwayId+'. Setting initial Pathway to "'+r+'"'),t=this.getLevelsForPathway(r),this.pathwayId=r}return t.length!==e.length?(this.log("Found "+t.length+"/"+e.length+' levels in Pathway "'+this.pathwayId+'"'),t):e},n.getLevelsForPathway=function(e){return this.levels===null?[]:this.levels.filter(function(t){return e===t.pathwayId})},n.updatePathwayPriority=function(e){var t;this.pathwayPriority=e;var r=this.penalizedPathways,i=performance.now();Object.keys(r).forEach(function(d){i-r[d]>3e5&&delete r[d]});for(var a=0;a<e.length;a++){var o=e[a];if(!(o in r)){if(o===this.pathwayId)return;var l=this.hls.nextLoadLevel,h=this.hls.levels[l];if((t=this.getLevelsForPathway(o)).length>0){this.log('Setting Pathway to "'+o+'"'),this.pathwayId=o,Bn(t),this.hls.trigger(p.LEVELS_UPDATED,{levels:t});var u=this.hls.levels[l];h&&u&&this.levels&&(u.attrs["STABLE-VARIANT-ID"]!==h.attrs["STABLE-VARIANT-ID"]&&u.bitrate!==h.bitrate&&this.log("Unstable Pathways change from bitrate "+h.bitrate+" to "+u.bitrate),this.hls.nextLoadLevel=l);break}}}},n.getPathwayForGroupId=function(e,t,r){for(var i=this.getLevelsForPathway(r).concat(this.levels||[]),a=0;a<i.length;a++)if(t===Be&&i[a].hasAudioGroup(e)||t===Ve&&i[a].hasSubtitleGroup(e))return i[a].pathwayId;return r},n.clonePathways=function(e){var t=this,r=this.levels;if(r){var i={},a={};e.forEach(function(o){var l=o.ID,h=o["BASE-ID"],u=o["URI-REPLACEMENT"];if(!r.some(function(c){return c.pathwayId===l})){var d=t.getLevelsForPathway(h).map(function(c){var f=new de(c.attrs);f["PATHWAY-ID"]=l;var g=f.AUDIO&&f.AUDIO+"_clone_"+l,m=f.SUBTITLES&&f.SUBTITLES+"_clone_"+l;g&&(i[f.AUDIO]=g,f.AUDIO=g),m&&(a[f.SUBTITLES]=m,f.SUBTITLES=m);var E=$a(c.uri,f["STABLE-VARIANT-ID"],"PER-VARIANT-URIS",u),v=new yt({attrs:f,audioCodec:c.audioCodec,bitrate:c.bitrate,height:c.height,name:c.name,url:E,videoCodec:c.videoCodec,width:c.width});if(c.audioGroups)for(var y=1;y<c.audioGroups.length;y++)v.addGroupId("audio",c.audioGroups[y]+"_clone_"+l);if(c.subtitleGroups)for(var T=1;T<c.subtitleGroups.length;T++)v.addGroupId("text",c.subtitleGroups[T]+"_clone_"+l);return v});r.push.apply(r,d),Ja(t.audioTracks,i,u,l),Ja(t.subtitleTracks,a,u,l)}})}},n.loadSteeringManifest=function(e){var t,r=this,i=this.hls.config,a=i.loader;this.loader&&this.loader.destroy(),this.loader=new a(i);try{t=new self.URL(e)}catch{return this.enabled=!1,void this.log("Failed to parse Steering Manifest URI: "+e)}if(t.protocol!=="data:"){var o=0|(this.hls.bandwidthEstimate||i.abrEwmaDefaultEstimate);t.searchParams.set("_HLS_pathway",this.pathwayId),t.searchParams.set("_HLS_throughput",""+o)}var l={responseType:"json",url:t.href},h=i.steeringManifestLoadPolicy.default,u=h.errorRetry||h.timeoutRetry||{},d={loadPolicy:h,timeout:h.maxLoadTimeMs,maxRetry:u.maxNumRetry||0,retryDelay:u.retryDelayMs||0,maxRetryDelay:u.maxRetryDelayMs||0},c={onSuccess:function(f,g,m,E){r.log('Loaded steering manifest: "'+t+'"');var v=f.data;if(v.VERSION===1){r.updated=performance.now(),r.timeToLoad=v.TTL;var y=v["RELOAD-URI"],T=v["PATHWAY-CLONES"],S=v["PATHWAY-PRIORITY"];if(y)try{r.uri=new self.URL(y,t).href}catch{return r.enabled=!1,void r.log("Failed to parse Steering Manifest RELOAD-URI: "+y)}r.scheduleRefresh(r.uri||m.url),T&&r.clonePathways(T);var A={steeringManifest:v,url:t.toString()};r.hls.trigger(p.STEERING_MANIFEST_LOADED,A),S&&r.updatePathwayPriority(S)}else r.log("Steering VERSION "+v.VERSION+" not supported!")},onError:function(f,g,m,E){if(r.log("Error loading steering manifest: "+f.code+" "+f.text+" ("+g.url+")"),r.stopLoad(),f.code===410)return r.enabled=!1,void r.log("Steering manifest "+g.url+" no longer available");var v=1e3*r.timeToLoad;if(f.code!==429)r.scheduleRefresh(r.uri||g.url,v);else{var y=r.loader;if(typeof(y==null?void 0:y.getResponseHeader)=="function"){var T=y.getResponseHeader("Retry-After");T&&(v=1e3*parseFloat(T))}r.log("Steering manifest "+g.url+" rate limited")}},onTimeout:function(f,g,m){r.log("Timeout loading steering manifest ("+g.url+")"),r.scheduleRefresh(r.uri||g.url)}};this.log("Requesting steering manifest: "+t),this.loader.load(l,d,c)},n.scheduleRefresh=function(e,t){var r=this;t===void 0&&(t=1e3*this.timeToLoad),this.clearTimeout(),this.reloadTimer=self.setTimeout(function(){var i,a=(i=r.hls)==null?void 0:i.media;!a||a.ended?r.scheduleRefresh(e,1e3*r.timeToLoad):r.loadSteeringManifest(e)},t)},s}();function Ja(s,n,e,t){s&&Object.keys(n).forEach(function(r){var i=s.filter(function(a){return a.groupId===r}).map(function(a){var o=ge({},a);return o.details=void 0,o.attrs=new de(o.attrs),o.url=o.attrs.URI=$a(a.url,a.attrs["STABLE-RENDITION-ID"],"PER-RENDITION-URIS",e),o.groupId=o.attrs["GROUP-ID"]=n[r],o.attrs["PATHWAY-ID"]=t,o});s.push.apply(s,i)})}function $a(s,n,e,t){var r,i=t.HOST,a=t.PARAMS,o=t[e];n&&(r=o==null?void 0:o[n])&&(s=r);var l=new self.URL(s);return i&&!r&&(l.host=i),a&&Object.keys(a).sort().forEach(function(h){h&&l.searchParams.set(h,a[h])}),l.href}var Sl=/^age:\s*[\d.]+\s*$/im,Za=function(){function s(e){this.xhrSetup=void 0,this.requestTimeout=void 0,this.retryTimeout=void 0,this.retryDelay=void 0,this.config=null,this.callbacks=null,this.context=null,this.loader=null,this.stats=void 0,this.xhrSetup=e&&e.xhrSetup||null,this.stats=new Jt,this.retryDelay=0}var n=s.prototype;return n.destroy=function(){this.callbacks=null,this.abortInternal(),this.loader=null,this.config=null,this.context=null,this.xhrSetup=null,this.stats=null},n.abortInternal=function(){var e=this.loader;self.clearTimeout(this.requestTimeout),self.clearTimeout(this.retryTimeout),e&&(e.onreadystatechange=null,e.onprogress=null,e.readyState!==4&&(this.stats.aborted=!0,e.abort()))},n.abort=function(){var e;this.abortInternal(),(e=this.callbacks)!=null&&e.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.loader)},n.load=function(e,t,r){if(this.stats.loading.start)throw new Error("Loader can only be used once.");this.stats.loading.start=self.performance.now(),this.context=e,this.config=t,this.callbacks=r,this.loadInternal()},n.loadInternal=function(){var e=this,t=this.config,r=this.context;if(t&&r){var i=this.loader=new self.XMLHttpRequest,a=this.stats;a.loading.first=0,a.loaded=0,a.aborted=!1;var o=this.xhrSetup;o?Promise.resolve().then(function(){if(!e.stats.aborted)return o(i,r.url)}).catch(function(l){return i.open("GET",r.url,!0),o(i,r.url)}).then(function(){e.stats.aborted||e.openAndSendXhr(i,r,t)}).catch(function(l){e.callbacks.onError({code:i.status,text:l.message},r,i,a)}):this.openAndSendXhr(i,r,t)}},n.openAndSendXhr=function(e,t,r){e.readyState||e.open("GET",t.url,!0);var i=t.headers,a=r.loadPolicy,o=a.maxTimeToFirstByteMs,l=a.maxLoadTimeMs;if(i)for(var h in i)e.setRequestHeader(h,i[h]);t.rangeEnd&&e.setRequestHeader("Range","bytes="+t.rangeStart+"-"+(t.rangeEnd-1)),e.onreadystatechange=this.readystatechange.bind(this),e.onprogress=this.loadprogress.bind(this),e.responseType=t.responseType,self.clearTimeout(this.requestTimeout),r.timeout=o&&O(o)?o:l,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),r.timeout),e.send()},n.readystatechange=function(){var e=this.context,t=this.loader,r=this.stats;if(e&&t){var i=t.readyState,a=this.config;if(!r.aborted&&i>=2&&(r.loading.first===0&&(r.loading.first=Math.max(self.performance.now(),r.loading.start),a.timeout!==a.loadPolicy.maxLoadTimeMs&&(self.clearTimeout(this.requestTimeout),a.timeout=a.loadPolicy.maxLoadTimeMs,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),a.loadPolicy.maxLoadTimeMs-(r.loading.first-r.loading.start)))),i===4)){self.clearTimeout(this.requestTimeout),t.onreadystatechange=null,t.onprogress=null;var o=t.status,l=t.responseType!=="text";if(o>=200&&o<300&&(l&&t.response||t.responseText!==null)){r.loading.end=Math.max(self.performance.now(),r.loading.first);var h=l?t.response:t.responseText,u=t.responseType==="arraybuffer"?h.byteLength:h.length;if(r.loaded=r.total=u,r.bwEstimate=8e3*r.total/(r.loading.end-r.loading.first),!this.callbacks)return;var d=this.callbacks.onProgress;if(d&&d(r,e,h,t),!this.callbacks)return;var c={url:t.responseURL,data:h,code:o};this.callbacks.onSuccess(c,r,e,t)}else{var f=a.loadPolicy.errorRetry;dr(f,r.retry,!1,{url:e.url,data:void 0,code:o})?this.retry(f):(b.error(o+" while loading "+e.url),this.callbacks.onError({code:o,text:t.statusText},e,t,r))}}}},n.loadtimeout=function(){var e,t=(e=this.config)==null?void 0:e.loadPolicy.timeoutRetry;if(dr(t,this.stats.retry,!0))this.retry(t);else{var r;b.warn("timeout while loading "+((r=this.context)==null?void 0:r.url));var i=this.callbacks;i&&(this.abortInternal(),i.onTimeout(this.stats,this.context,this.loader))}},n.retry=function(e){var t=this.context,r=this.stats;this.retryDelay=ni(e,r.retry),r.retry++,b.warn((status?"HTTP Status "+status:"Timeout")+" while loading "+(t==null?void 0:t.url)+", retrying "+r.retry+"/"+e.maxNumRetry+" in "+this.retryDelay+"ms"),this.abortInternal(),this.loader=null,self.clearTimeout(this.retryTimeout),this.retryTimeout=self.setTimeout(this.loadInternal.bind(this),this.retryDelay)},n.loadprogress=function(e){var t=this.stats;t.loaded=e.loaded,e.lengthComputable&&(t.total=e.total)},n.getCacheAge=function(){var e=null;if(this.loader&&Sl.test(this.loader.getAllResponseHeaders())){var t=this.loader.getResponseHeader("age");e=t?parseFloat(t):null}return e},n.getResponseHeader=function(e){return this.loader&&new RegExp("^"+e+":\\s*[\\d.]+\\s*$","im").test(this.loader.getAllResponseHeaders())?this.loader.getResponseHeader(e):null},s}(),Ll=/(\d+)-(\d+)\/(\d+)/,es=function(){function s(e){this.fetchSetup=void 0,this.requestTimeout=void 0,this.request=null,this.response=null,this.controller=void 0,this.context=null,this.config=null,this.callbacks=null,this.stats=void 0,this.loader=null,this.fetchSetup=e.fetchSetup||Al,this.controller=new self.AbortController,this.stats=new Jt}var n=s.prototype;return n.destroy=function(){this.loader=this.callbacks=this.context=this.config=this.request=null,this.abortInternal(),this.response=null,this.fetchSetup=this.controller=this.stats=null},n.abortInternal=function(){this.controller&&!this.stats.loading.end&&(this.stats.aborted=!0,this.controller.abort())},n.abort=function(){var e;this.abortInternal(),(e=this.callbacks)!=null&&e.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.response)},n.load=function(e,t,r){var i=this,a=this.stats;if(a.loading.start)throw new Error("Loader can only be used once.");a.loading.start=self.performance.now();var o=function(g,m){var E={method:"GET",mode:"cors",credentials:"same-origin",signal:m,headers:new self.Headers(ge({},g.headers))};return g.rangeEnd&&E.headers.set("Range","bytes="+g.rangeStart+"-"+String(g.rangeEnd-1)),E}(e,this.controller.signal),l=r.onProgress,h=e.responseType==="arraybuffer",u=h?"byteLength":"length",d=t.loadPolicy,c=d.maxTimeToFirstByteMs,f=d.maxLoadTimeMs;this.context=e,this.config=t,this.callbacks=r,this.request=this.fetchSetup(e,o),self.clearTimeout(this.requestTimeout),t.timeout=c&&O(c)?c:f,this.requestTimeout=self.setTimeout(function(){i.abortInternal(),r.onTimeout(a,e,i.response)},t.timeout),self.fetch(this.request).then(function(g){i.response=i.loader=g;var m=Math.max(self.performance.now(),a.loading.start);if(self.clearTimeout(i.requestTimeout),t.timeout=f,i.requestTimeout=self.setTimeout(function(){i.abortInternal(),r.onTimeout(a,e,i.response)},f-(m-a.loading.start)),!g.ok){var E=g.status,v=g.statusText;throw new Rl(v||"fetch, bad network response",E,g)}return a.loading.first=m,a.total=function(y){var T=y.get("Content-Range");if(T){var S=function(R){var L=Ll.exec(R);if(L)return parseInt(L[2])-parseInt(L[1])+1}(T);if(O(S))return S}var A=y.get("Content-Length");if(A)return parseInt(A)}(g.headers)||a.total,l&&O(t.highWaterMark)?i.loadProgressively(g,a,e,t.highWaterMark,l):h?g.arrayBuffer():e.responseType==="json"?g.json():g.text()}).then(function(g){var m=i.response;if(!m)throw new Error("loader destroyed");self.clearTimeout(i.requestTimeout),a.loading.end=Math.max(self.performance.now(),a.loading.first);var E=g[u];E&&(a.loaded=a.total=E);var v={url:m.url,data:g,code:m.status};l&&!O(t.highWaterMark)&&l(a,e,g,m),r.onSuccess(v,a,e,m)}).catch(function(g){if(self.clearTimeout(i.requestTimeout),!a.aborted){var m=g&&g.code||0,E=g?g.message:null;r.onError({code:m,text:E},e,g?g.details:null,a)}})},n.getCacheAge=function(){var e=null;if(this.response){var t=this.response.headers.get("age");e=t?parseFloat(t):null}return e},n.getResponseHeader=function(e){return this.response?this.response.headers.get(e):null},n.loadProgressively=function(e,t,r,i,a){i===void 0&&(i=0);var o=new Zn,l=e.body.getReader();return function h(){return l.read().then(function(u){if(u.done)return o.dataLength&&a(t,r,o.flush(),e),Promise.resolve(new ArrayBuffer(0));var d=u.value,c=d.length;return t.loaded+=c,c<i||o.dataLength?(o.push(d),o.dataLength>=i&&a(t,r,o.flush(),e)):a(t,r,d,e),h()}).catch(function(){return Promise.reject()})}()},s}();function Al(s,n){return new self.Request(s.url,n)}var Bi,Rl=function(s){function n(e,t,r){var i;return(i=s.call(this,e)||this).code=void 0,i.details=void 0,i.code=t,i.details=r,i}return Le(n,s),n}(Ot(Error)),bl=/\s/,ts=ye(ye({autoStartLoad:!0,startPosition:-1,defaultAudioCodec:void 0,debug:!1,capLevelOnFPSDrop:!1,capLevelToPlayerSize:!1,ignoreDevicePixelRatio:!1,preferManagedMediaSource:!0,initialLiveManifestSize:1,maxBufferLength:30,backBufferLength:1/0,frontBufferFlushThreshold:1/0,maxBufferSize:6e7,maxBufferHole:.1,highBufferWatchdogPeriod:2,nudgeOffset:.1,nudgeMaxRetry:3,maxFragLookUpTolerance:.25,liveSyncDurationCount:3,liveMaxLatencyDurationCount:1/0,liveSyncDuration:void 0,liveMaxLatencyDuration:void 0,maxLiveSyncPlaybackRate:1,liveDurationInfinity:!1,liveBackBufferLength:null,maxMaxBufferLength:600,enableWorker:!0,workerPath:null,enableSoftwareAES:!0,startLevel:void 0,startFragPrefetch:!1,fpsDroppedMonitoringPeriod:5e3,fpsDroppedMonitoringThreshold:.2,appendErrorMaxRetry:3,loader:Za,fLoader:void 0,pLoader:void 0,xhrSetup:void 0,licenseXhrSetup:void 0,licenseResponseCallback:void 0,abrController:Js,bufferController:Fo,capLevelController:Jo,errorController:qs,fpsController:$o,stretchShortVideoTrack:!1,maxAudioFramesDrift:1,forceKeyFrameOnDiscontinuity:!0,abrEwmaFastLive:3,abrEwmaSlowLive:9,abrEwmaFastVoD:3,abrEwmaSlowVoD:9,abrEwmaDefaultEstimate:5e5,abrEwmaDefaultEstimateMax:5e6,abrBandWidthFactor:.95,abrBandWidthUpFactor:.7,abrMaxWithRealBitrate:!1,maxStarvationDelay:4,maxLoadingDelay:4,minAutoBitrate:0,emeEnabled:!1,widevineLicenseUrl:void 0,drmSystems:{},drmSystemOptions:{},requestMediaKeySystemAccessFunc:en,testBandwidth:!0,progressive:!1,lowLatencyMode:!0,cmcd:void 0,enableDateRangeMetadataCues:!0,enableEmsgMetadataCues:!0,enableID3MetadataCues:!0,useMediaCapabilities:!0,certLoadPolicy:{default:{maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:null,errorRetry:null}},keyLoadPolicy:{default:{maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:"linear"},errorRetry:{maxNumRetry:8,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:"linear"}}},manifestLoadPolicy:{default:{maxTimeToFirstByteMs:1/0,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},playlistLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:2,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},fragLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:12e4,timeoutRetry:{maxNumRetry:4,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:6,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},steeringManifestLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},manifestLoadingTimeOut:1e4,manifestLoadingMaxRetry:1,manifestLoadingRetryDelay:1e3,manifestLoadingMaxRetryTimeout:64e3,levelLoadingTimeOut:1e4,levelLoadingMaxRetry:4,levelLoadingRetryDelay:1e3,levelLoadingMaxRetryTimeout:64e3,fragLoadingTimeOut:2e4,fragLoadingMaxRetry:6,fragLoadingRetryDelay:1e3,fragLoadingMaxRetryTimeout:64e3},{cueHandler:{newCue:function(s,n,e,t){for(var r,i,a,o,l,h=[],u=self.VTTCue||self.TextTrackCue,d=0;d<t.rows.length;d++)if(a=!0,o=0,l="",!(r=t.rows[d]).isEmpty()){for(var c,f=0;f<r.chars.length;f++)bl.test(r.chars[f].uchar)&&a?o++:(l+=r.chars[f].uchar,a=!1);r.cueStartTime=n,n===e&&(e+=1e-4),o>=16?o--:o++;var g=Pa(l.trim()),m=Ii(n,e,g);s!=null&&(c=s.cues)!=null&&c.getCueById(m)||((i=new u(n,e,g)).id=m,i.line=d+1,i.align="left",i.position=10+Math.min(80,10*Math.floor(8*o/32)),h.push(i))}return s&&h.length&&(h.sort(function(E,v){return E.line==="auto"||v.line==="auto"?0:E.line>8&&v.line>8?v.line-E.line:E.line-v.line}),h.forEach(function(E){return _n(s,E)})),h}},enableWebVTT:!0,enableIMSC1:!0,enableCEA708Captions:!0,captionsTextTrack1Label:"English",captionsTextTrack1LanguageCode:"en",captionsTextTrack2Label:"Spanish",captionsTextTrack2LanguageCode:"es",captionsTextTrack3Label:"Unknown CC",captionsTextTrack3LanguageCode:"",captionsTextTrack4Label:"Unknown CC",captionsTextTrack4LanguageCode:"",renderTextTracksNatively:!0}),{},{subtitleStreamController:Co,subtitleTrackController:xo,timelineController:Qo,audioStreamController:wo,audioTrackController:Io,emeController:Ha,cmcdController:El,contentSteeringController:Tl});function Gi(s){return s&&typeof s=="object"?Array.isArray(s)?s.map(Gi):Object.keys(s).reduce(function(n,e){return n[e]=Gi(s[e]),n},{}):s}function kl(s){var n=s.loader;n!==es&&n!==Za?(b.log("[config]: Custom loader detected, cannot enable progressive streaming"),s.progressive=!1):function(){if(self.fetch&&self.AbortController&&self.ReadableStream&&self.Request)try{return new self.ReadableStream({}),!0}catch{}return!1}()&&(s.loader=es,s.progressive=!0,s.enableSoftwareAES=!0,b.log("[config]: Progressive streaming enabled, using FetchLoader"))}var Dl=function(s){function n(t,r){var i;return(i=s.call(this,t,"[level-controller]")||this)._levels=[],i._firstLevel=-1,i._maxAutoLevel=-1,i._startLevel=void 0,i.currentLevel=null,i.currentLevelIndex=-1,i.manualLevelIndex=-1,i.steering=void 0,i.onParsedComplete=void 0,i.steering=r,i._registerListeners(),i}Le(n,s);var e=n.prototype;return e._registerListeners=function(){var t=this.hls;t.on(p.MANIFEST_LOADING,this.onManifestLoading,this),t.on(p.MANIFEST_LOADED,this.onManifestLoaded,this),t.on(p.LEVEL_LOADED,this.onLevelLoaded,this),t.on(p.LEVELS_UPDATED,this.onLevelsUpdated,this),t.on(p.FRAG_BUFFERED,this.onFragBuffered,this),t.on(p.ERROR,this.onError,this)},e._unregisterListeners=function(){var t=this.hls;t.off(p.MANIFEST_LOADING,this.onManifestLoading,this),t.off(p.MANIFEST_LOADED,this.onManifestLoaded,this),t.off(p.LEVEL_LOADED,this.onLevelLoaded,this),t.off(p.LEVELS_UPDATED,this.onLevelsUpdated,this),t.off(p.FRAG_BUFFERED,this.onFragBuffered,this),t.off(p.ERROR,this.onError,this)},e.destroy=function(){this._unregisterListeners(),this.steering=null,this.resetLevels(),s.prototype.destroy.call(this)},e.stopLoad=function(){this._levels.forEach(function(t){t.loadError=0,t.fragmentError=0}),s.prototype.stopLoad.call(this)},e.resetLevels=function(){this._startLevel=void 0,this.manualLevelIndex=-1,this.currentLevelIndex=-1,this.currentLevel=null,this._levels=[],this._maxAutoLevel=-1},e.onManifestLoading=function(t,r){this.resetLevels()},e.onManifestLoaded=function(t,r){var i=this.hls.config.preferManagedMediaSource,a=[],o={},l={},h=!1,u=!1,d=!1;r.levels.forEach(function(c){var f,g,m=c.attrs,E=c.audioCodec,v=c.videoCodec;((f=E)==null?void 0:f.indexOf("mp4a.40.34"))!==-1&&(Bi||(Bi=/chrome|firefox/i.test(navigator.userAgent)),Bi&&(c.audioCodec=E=void 0)),E&&(c.audioCodec=E=sr(E,i)),((g=v)==null?void 0:g.indexOf("avc1"))===0&&(v=c.videoCodec=function(F){var U=F.split(".");if(U.length>2){var P=U.shift()+".";return(P+=parseInt(U.shift()).toString(16))+("000"+parseInt(U.shift()).toString(16)).slice(-4)}return F}(v));var y=c.width,T=c.height,S=c.unknownCodecs;if(h||(h=!(!y||!T)),u||(u=!!v),d||(d=!!E),!(S!=null&&S.length||E&&!Xr(E,"audio",i)||v&&!Xr(v,"video",i))){var A=m.CODECS,R=m["FRAME-RATE"],L=m["HDCP-LEVEL"],D=m["PATHWAY-ID"],k=m.RESOLUTION,I=m["VIDEO-RANGE"],C=(D||".")+"-"+c.bitrate+"-"+k+"-"+R+"-"+A+"-"+I+"-"+L;if(o[C])if(o[C].uri===c.url||c.attrs["PATHWAY-ID"])o[C].addGroupId("audio",m.AUDIO),o[C].addGroupId("text",m.SUBTITLES);else{var _=l[C]+=1;c.attrs["PATHWAY-ID"]=new Array(_+1).join(".");var x=new yt(c);o[C]=x,a.push(x)}else{var M=new yt(c);o[C]=M,l[C]=1,a.push(M)}}}),this.filterAndSortMediaOptions(a,r,h,u,d)},e.filterAndSortMediaOptions=function(t,r,i,a,o){var l=this,h=[],u=[],d=t;if((i||a)&&o&&(d=d.filter(function(L){var D,k=L.videoCodec,I=L.videoRange,C=L.width,_=L.height;return(!!k||!(!C||!_))&&!!(D=I)&&ur.indexOf(D)>-1})),d.length!==0){if(r.audioTracks){var c=this.hls.config.preferManagedMediaSource;rs(h=r.audioTracks.filter(function(L){return!L.audioCodec||Xr(L.audioCodec,"audio",c)}))}r.subtitles&&rs(u=r.subtitles);var f=d.slice(0);d.sort(function(L,D){if(L.attrs["HDCP-LEVEL"]!==D.attrs["HDCP-LEVEL"])return(L.attrs["HDCP-LEVEL"]||"")>(D.attrs["HDCP-LEVEL"]||"")?1:-1;if(i&&L.height!==D.height)return L.height-D.height;if(L.frameRate!==D.frameRate)return L.frameRate-D.frameRate;if(L.videoRange!==D.videoRange)return ur.indexOf(L.videoRange)-ur.indexOf(D.videoRange);if(L.videoCodec!==D.videoCodec){var k=yn(L.videoCodec),I=yn(D.videoCodec);if(k!==I)return I-k}if(L.uri===D.uri&&L.codecSet!==D.codecSet){var C=ar(L.codecSet),_=ar(D.codecSet);if(C!==_)return _-C}return L.averageBitrate!==D.averageBitrate?L.averageBitrate-D.averageBitrate:0});var g=f[0];if(this.steering&&(d=this.steering.filterParsedLevels(d)).length!==f.length){for(var m=0;m<f.length;m++)if(f[m].pathwayId===d[0].pathwayId){g=f[m];break}}this._levels=d;for(var E=0;E<d.length;E++)if(d[E]===g){var v;this._firstLevel=E;var y=g.bitrate,T=this.hls.bandwidthEstimate;if(this.log("manifest loaded, "+d.length+" level(s) found, first bitrate: "+y),((v=this.hls.userConfig)==null?void 0:v.abrEwmaDefaultEstimate)===void 0){var S=Math.min(y,this.hls.config.abrEwmaDefaultEstimateMax);S>T&&T===ts.abrEwmaDefaultEstimate&&(this.hls.bandwidthEstimate=S)}break}var A=o&&!a,R={levels:d,audioTracks:h,subtitleTracks:u,sessionData:r.sessionData,sessionKeys:r.sessionKeys,firstLevel:this._firstLevel,stats:r.stats,audio:o,video:a,altAudio:!A&&h.some(function(L){return!!L.url})};this.hls.trigger(p.MANIFEST_PARSED,R),(this.hls.config.autoStartLoad||this.hls.forceStartLoad)&&this.hls.startLoad(this.hls.config.startPosition)}else Promise.resolve().then(function(){if(l.hls){r.levels.length&&l.warn("One or more CODECS in variant not supported: "+JSON.stringify(r.levels[0].attrs));var L=new Error("no level with compatible codecs found in manifest");l.hls.trigger(p.ERROR,{type:G.MEDIA_ERROR,details:w.MANIFEST_INCOMPATIBLE_CODECS_ERROR,fatal:!0,url:r.url,error:L,reason:L.message})}})},e.onError=function(t,r){!r.fatal&&r.context&&r.context.type===ot&&r.context.level===this.level&&this.checkRetry(r)},e.onFragBuffered=function(t,r){var i=r.frag;if(i!==void 0&&i.type===Z){var a=i.elementaryStreams;if(!Object.keys(a).some(function(l){return!!a[l]}))return;var o=this._levels[i.level];o!=null&&o.loadError&&(this.log("Resetting level error count of "+o.loadError+" on frag buffered"),o.loadError=0)}},e.onLevelLoaded=function(t,r){var i,a,o=r.level,l=r.details,h=this._levels[o];if(!h)return this.warn("Invalid level index "+o),void((a=r.deliveryDirectives)!=null&&a.skip&&(l.deltaUpdateFailed=!0));o===this.currentLevelIndex?(h.fragmentError===0&&(h.loadError=0),this.playlistLoaded(o,r,h.details)):(i=r.deliveryDirectives)!=null&&i.skip&&(l.deltaUpdateFailed=!0)},e.loadPlaylist=function(t){s.prototype.loadPlaylist.call(this);var r=this.currentLevelIndex,i=this.currentLevel;if(i&&this.shouldLoadPlaylist(i)){var a=i.uri;if(t)try{a=t.addDirectives(a)}catch(l){this.warn("Could not construct new URL with HLS Delivery Directives: "+l)}var o=i.attrs["PATHWAY-ID"];this.log("Loading level index "+r+((t==null?void 0:t.msn)!==void 0?" at sn "+t.msn+" part "+t.part:"")+" with"+(o?" Pathway "+o:"")+" "+a),this.clearTimer(),this.hls.trigger(p.LEVEL_LOADING,{url:a,level:r,pathwayId:i.attrs["PATHWAY-ID"],id:0,deliveryDirectives:t||null})}},e.removeLevel=function(t){var r,i=this,a=this._levels.filter(function(o,l){return l!==t||(i.steering&&i.steering.removeLevel(o),o===i.currentLevel&&(i.currentLevel=null,i.currentLevelIndex=-1,o.details&&o.details.fragments.forEach(function(h){return h.level=-1})),!1)});Bn(a),this._levels=a,this.currentLevelIndex>-1&&(r=this.currentLevel)!=null&&r.details&&(this.currentLevelIndex=this.currentLevel.details.fragments[0].level),this.hls.trigger(p.LEVELS_UPDATED,{levels:a})},e.onLevelsUpdated=function(t,r){var i=r.levels;this._levels=i},e.checkMaxAutoUpdated=function(){var t=this.hls,r=t.autoLevelCapping,i=t.maxAutoLevel,a=t.maxHdcpLevel;this._maxAutoLevel!==i&&(this._maxAutoLevel=i,this.hls.trigger(p.MAX_AUTO_LEVEL_UPDATED,{autoLevelCapping:r,levels:this.levels,maxAutoLevel:i,minAutoLevel:this.hls.minAutoLevel,maxHdcpLevel:a}))},fe(n,[{key:"levels",get:function(){return this._levels.length===0?null:this._levels}},{key:"level",get:function(){return this.currentLevelIndex},set:function(t){var r=this._levels;if(r.length!==0){if(t<0||t>=r.length){var i=new Error("invalid level idx"),a=t<0;if(this.hls.trigger(p.ERROR,{type:G.OTHER_ERROR,details:w.LEVEL_SWITCH_ERROR,level:t,fatal:a,error:i,reason:i.message}),a)return;t=Math.min(t,r.length-1)}var o=this.currentLevelIndex,l=this.currentLevel,h=l?l.attrs["PATHWAY-ID"]:void 0,u=r[t],d=u.attrs["PATHWAY-ID"];if(this.currentLevelIndex=t,this.currentLevel=u,o!==t||!u.details||!l||h!==d){this.log("Switching to level "+t+" ("+(u.height?u.height+"p ":"")+(u.videoRange?u.videoRange+" ":"")+(u.codecSet?u.codecSet+" ":"")+"@"+u.bitrate+")"+(d?" with Pathway "+d:"")+" from level "+o+(h?" with Pathway "+h:""));var c={level:t,attrs:u.attrs,details:u.details,bitrate:u.bitrate,averageBitrate:u.averageBitrate,maxBitrate:u.maxBitrate,realBitrate:u.realBitrate,width:u.width,height:u.height,codecSet:u.codecSet,audioCodec:u.audioCodec,videoCodec:u.videoCodec,audioGroups:u.audioGroups,subtitleGroups:u.subtitleGroups,loaded:u.loaded,loadError:u.loadError,fragmentError:u.fragmentError,name:u.name,id:u.id,uri:u.uri,url:u.url,urlId:0,audioGroupIds:u.audioGroupIds,textGroupIds:u.textGroupIds};this.hls.trigger(p.LEVEL_SWITCHING,c);var f=u.details;if(!f||f.live){var g=this.switchParams(u.uri,l==null?void 0:l.details);this.loadPlaylist(g)}}}}},{key:"manualLevel",get:function(){return this.manualLevelIndex},set:function(t){this.manualLevelIndex=t,this._startLevel===void 0&&(this._startLevel=t),t!==-1&&(this.level=t)}},{key:"firstLevel",get:function(){return this._firstLevel},set:function(t){this._firstLevel=t}},{key:"startLevel",get:function(){if(this._startLevel===void 0){var t=this.hls.config.startLevel;return t!==void 0?t:this.hls.firstAutoLevel}return this._startLevel},set:function(t){this._startLevel=t}},{key:"nextLoadLevel",get:function(){return this.manualLevelIndex!==-1?this.manualLevelIndex:this.hls.nextAutoLevel},set:function(t){this.level=t,this.manualLevelIndex===-1&&(this.hls.nextAutoLevel=t)}}]),n}(li);function rs(s){var n={};s.forEach(function(e){var t=e.groupId||"";e.id=n[t]=n[t]||0,n[t]++})}var wl=function(){function s(e){this.config=void 0,this.keyUriToKeyInfo={},this.emeController=null,this.config=e}var n=s.prototype;return n.abort=function(e){for(var t in this.keyUriToKeyInfo){var r=this.keyUriToKeyInfo[t].loader;if(r){var i;if(e&&e!==((i=r.context)==null?void 0:i.frag.type))return;r.abort()}}},n.detach=function(){for(var e in this.keyUriToKeyInfo){var t=this.keyUriToKeyInfo[e];(t.mediaKeySessionContext||t.decryptdata.isCommonEncryption)&&delete this.keyUriToKeyInfo[e]}},n.destroy=function(){for(var e in this.detach(),this.keyUriToKeyInfo){var t=this.keyUriToKeyInfo[e].loader;t&&t.destroy()}this.keyUriToKeyInfo={}},n.createKeyLoadError=function(e,t,r,i,a){return t===void 0&&(t=w.KEY_LOAD_ERROR),new Qe({type:G.NETWORK_ERROR,details:t,fatal:!1,frag:e,response:a,error:r,networkDetails:i})},n.loadClear=function(e,t){var r=this;if(this.emeController&&this.config.emeEnabled)for(var i=e.sn,a=e.cc,o=function(){var h=t[l];if(a<=h.cc&&(i==="initSegment"||h.sn==="initSegment"||i<h.sn))return r.emeController.selectKeySystemFormat(h).then(function(u){h.setKeyFormat(u)}),1},l=0;l<t.length&&!o();l++);},n.load=function(e){var t=this;return!e.decryptdata&&e.encrypted&&this.emeController?this.emeController.selectKeySystemFormat(e).then(function(r){return t.loadInternal(e,r)}):this.loadInternal(e)},n.loadInternal=function(e,t){var r,i;t&&e.setKeyFormat(t);var a=e.decryptdata;if(!a){var o=new Error(t?"Expected frag.decryptdata to be defined after setting format "+t:"Missing decryption data on fragment in onKeyLoading");return Promise.reject(this.createKeyLoadError(e,w.KEY_LOAD_ERROR,o))}var l=a.uri;if(!l)return Promise.reject(this.createKeyLoadError(e,w.KEY_LOAD_ERROR,new Error('Invalid key URI: "'+l+'"')));var h,u=this.keyUriToKeyInfo[l];if((r=u)!=null&&r.decryptdata.key)return a.key=u.decryptdata.key,Promise.resolve({frag:e,keyInfo:u});if((i=u)!=null&&i.keyLoadPromise)switch((h=u.mediaKeySessionContext)==null?void 0:h.keyStatus){case void 0:case"status-pending":case"usable":case"usable-in-future":return u.keyLoadPromise.then(function(d){return a.key=d.keyInfo.decryptdata.key,{frag:e,keyInfo:u}})}switch(u=this.keyUriToKeyInfo[l]={decryptdata:a,keyLoadPromise:null,loader:null,mediaKeySessionContext:null},a.method){case"ISO-23001-7":case"SAMPLE-AES":case"SAMPLE-AES-CENC":case"SAMPLE-AES-CTR":return a.keyFormat==="identity"?this.loadKeyHTTP(u,e):this.loadKeyEME(u,e);case"AES-128":return this.loadKeyHTTP(u,e);default:return Promise.reject(this.createKeyLoadError(e,w.KEY_LOAD_ERROR,new Error('Key supplied with unsupported METHOD: "'+a.method+'"')))}},n.loadKeyEME=function(e,t){var r={frag:t,keyInfo:e};if(this.emeController&&this.config.emeEnabled){var i=this.emeController.loadKey(r);if(i)return(e.keyLoadPromise=i.then(function(a){return e.mediaKeySessionContext=a,r})).catch(function(a){throw e.keyLoadPromise=null,a})}return Promise.resolve(r)},n.loadKeyHTTP=function(e,t){var r=this,i=this.config,a=new i.loader(i);return t.keyLoader=e.loader=a,e.keyLoadPromise=new Promise(function(o,l){var h={keyInfo:e,frag:t,responseType:"arraybuffer",url:e.decryptdata.uri},u=i.keyLoadPolicy.default,d={loadPolicy:u,timeout:u.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},c={onSuccess:function(f,g,m,E){var v=m.frag,y=m.keyInfo,T=m.url;if(!v.decryptdata||y!==r.keyUriToKeyInfo[T])return l(r.createKeyLoadError(v,w.KEY_LOAD_ERROR,new Error("after key load, decryptdata unset or changed"),E));y.decryptdata.key=v.decryptdata.key=new Uint8Array(f.data),v.keyLoader=null,y.loader=null,o({frag:v,keyInfo:y})},onError:function(f,g,m,E){r.resetLoader(g),l(r.createKeyLoadError(t,w.KEY_LOAD_ERROR,new Error("HTTP Error "+f.code+" loading key "+f.text),m,ye({url:h.url,data:void 0},f)))},onTimeout:function(f,g,m){r.resetLoader(g),l(r.createKeyLoadError(t,w.KEY_LOAD_TIMEOUT,new Error("key loading timed out"),m))},onAbort:function(f,g,m){r.resetLoader(g),l(r.createKeyLoadError(t,w.INTERNAL_ABORTED,new Error("key loading aborted"),m))}};a.load(h,d,c)})},n.resetLoader=function(e){var t=e.frag,r=e.keyInfo,i=e.url,a=r.loader;t.keyLoader===a&&(t.keyLoader=null,r.loader=null),delete this.keyUriToKeyInfo[i],a&&a.destroy()},s}();function is(){return self.SourceBuffer||self.WebKitSourceBuffer}function ns(){if(!vt())return!1;var s=is();return!s||s.prototype&&typeof s.prototype.appendBuffer=="function"&&typeof s.prototype.remove=="function"}var Il=function(){function s(e,t,r,i){this.config=void 0,this.media=null,this.fragmentTracker=void 0,this.hls=void 0,this.nudgeRetry=0,this.stallReported=!1,this.stalled=null,this.moved=!1,this.seeking=!1,this.config=e,this.media=t,this.fragmentTracker=r,this.hls=i}var n=s.prototype;return n.destroy=function(){this.media=null,this.hls=this.fragmentTracker=null},n.poll=function(e,t){var r=this.config,i=this.media,a=this.stalled;if(i!==null){var o=i.currentTime,l=i.seeking,h=this.seeking&&!l,u=!this.seeking&&l;if(this.seeking=l,o===e)if(u||h)this.stalled=null;else if(i.paused&&!l||i.ended||i.playbackRate===0||!ue.getBuffered(i).length)this.nudgeRetry=0;else{var d=ue.bufferInfo(i,o,0),c=d.nextStart||0;if(l){var f=d.len>2,g=!c||t&&t.start<=o||c-o>2&&!this.fragmentTracker.getPartialFragment(o);if(f||g)return;this.moved=!1}if(!this.moved&&this.stalled!==null){var m;if(!(d.len>0||c))return;var E=Math.max(c,d.start||0)-o,v=this.hls.levels?this.hls.levels[this.hls.currentLevel]:null,y=!(v==null||(m=v.details)==null)&&m.live?2*v.details.targetduration:2,T=this.fragmentTracker.getPartialFragment(o);if(E>0&&(E<=y||T))return void(i.paused||this._trySkipBufferHole(T))}var S=self.performance.now();if(a!==null){var A=S-a;if(l||!(A>=250)||(this._reportStall(d),this.media)){var R=ue.bufferInfo(i,o,r.maxBufferHole);this._tryFixBufferStall(R,A)}}else this.stalled=S}else if(this.moved=!0,l||(this.nudgeRetry=0),a!==null){if(this.stallReported){var L=self.performance.now()-a;b.warn("playback not stuck anymore @"+o+", after "+Math.round(L)+"ms"),this.stallReported=!1}this.stalled=null}}},n._tryFixBufferStall=function(e,t){var r=this.config,i=this.fragmentTracker,a=this.media;if(a!==null){var o=a.currentTime,l=i.getPartialFragment(o);if(l&&(this._trySkipBufferHole(l)||!this.media))return;(e.len>r.maxBufferHole||e.nextStart&&e.nextStart-o<r.maxBufferHole)&&t>1e3*r.highBufferWatchdogPeriod&&(b.warn("Trying to nudge playhead over buffer-hole"),this.stalled=null,this._tryNudgeBuffer())}},n._reportStall=function(e){var t=this.hls,r=this.media;if(!this.stallReported&&r){this.stallReported=!0;var i=new Error("Playback stalling at @"+r.currentTime+" due to low buffer ("+JSON.stringify(e)+")");b.warn(i.message),t.trigger(p.ERROR,{type:G.MEDIA_ERROR,details:w.BUFFER_STALLED_ERROR,fatal:!1,error:i,buffer:e.len})}},n._trySkipBufferHole=function(e){var t=this.config,r=this.hls,i=this.media;if(i===null)return 0;var a=i.currentTime,o=ue.bufferInfo(i,a,0),l=a<o.start?o.start:o.nextStart;if(l){var h=o.len<=t.maxBufferHole,u=o.len>0&&o.len<1&&i.readyState<3,d=l-a;if(d>0&&(h||u)){if(d>t.maxBufferHole){var c=this.fragmentTracker,f=!1;if(a===0){var g=c.getAppendedFrag(0,Z);g&&l<g.end&&(f=!0)}if(!f){var m=e||c.getAppendedFrag(a,Z);if(m){for(var E=!1,v=m.end;v<l;){var y=c.getPartialFragment(v);if(!y){E=!0;break}v+=y.duration}if(E)return 0}}}var T=Math.max(l+.05,a+.1);if(b.warn("skipping hole, adjusting currentTime from "+a+" to "+T),this.moved=!0,this.stalled=null,i.currentTime=T,e&&!e.gap){var S=new Error("fragment loaded with buffer holes, seeking from "+a+" to "+T);r.trigger(p.ERROR,{type:G.MEDIA_ERROR,details:w.BUFFER_SEEK_OVER_HOLE,fatal:!1,error:S,reason:S.message,frag:e})}return T}}return 0},n._tryNudgeBuffer=function(){var e=this.config,t=this.hls,r=this.media,i=this.nudgeRetry;if(r!==null){var a=r.currentTime;if(this.nudgeRetry++,i<e.nudgeMaxRetry){var o=a+(i+1)*e.nudgeOffset,l=new Error("Nudging 'currentTime' from "+a+" to "+o);b.warn(l.message),r.currentTime=o,t.trigger(p.ERROR,{type:G.MEDIA_ERROR,details:w.BUFFER_NUDGE_ON_STALL,error:l,fatal:!1})}else{var h=new Error("Playhead still not moving while enough data buffered @"+a+" after "+e.nudgeMaxRetry+" nudges");b.error(h.message),t.trigger(p.ERROR,{type:G.MEDIA_ERROR,details:w.BUFFER_STALLED_ERROR,error:h,fatal:!0})}}},s}(),Cl=function(s){function n(t,r,i){var a;return(a=s.call(this,t,r,i,"[stream-controller]",Z)||this).audioCodecSwap=!1,a.gapController=null,a.level=-1,a._forceStartLoad=!1,a.altAudio=!1,a.audioOnly=!1,a.fragPlaying=null,a.onvplaying=null,a.onvseeked=null,a.fragLastKbps=0,a.couldBacktrack=!1,a.backtrackFragment=null,a.audioCodecSwitch=!1,a.videoBuffer=null,a._registerListeners(),a}Le(n,s);var e=n.prototype;return e._registerListeners=function(){var t=this.hls;t.on(p.MEDIA_ATTACHED,this.onMediaAttached,this),t.on(p.MEDIA_DETACHING,this.onMediaDetaching,this),t.on(p.MANIFEST_LOADING,this.onManifestLoading,this),t.on(p.MANIFEST_PARSED,this.onManifestParsed,this),t.on(p.LEVEL_LOADING,this.onLevelLoading,this),t.on(p.LEVEL_LOADED,this.onLevelLoaded,this),t.on(p.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),t.on(p.ERROR,this.onError,this),t.on(p.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),t.on(p.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),t.on(p.BUFFER_CREATED,this.onBufferCreated,this),t.on(p.BUFFER_FLUSHED,this.onBufferFlushed,this),t.on(p.LEVELS_UPDATED,this.onLevelsUpdated,this),t.on(p.FRAG_BUFFERED,this.onFragBuffered,this)},e._unregisterListeners=function(){var t=this.hls;t.off(p.MEDIA_ATTACHED,this.onMediaAttached,this),t.off(p.MEDIA_DETACHING,this.onMediaDetaching,this),t.off(p.MANIFEST_LOADING,this.onManifestLoading,this),t.off(p.MANIFEST_PARSED,this.onManifestParsed,this),t.off(p.LEVEL_LOADED,this.onLevelLoaded,this),t.off(p.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),t.off(p.ERROR,this.onError,this),t.off(p.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),t.off(p.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),t.off(p.BUFFER_CREATED,this.onBufferCreated,this),t.off(p.BUFFER_FLUSHED,this.onBufferFlushed,this),t.off(p.LEVELS_UPDATED,this.onLevelsUpdated,this),t.off(p.FRAG_BUFFERED,this.onFragBuffered,this)},e.onHandlerDestroying=function(){this._unregisterListeners(),s.prototype.onHandlerDestroying.call(this)},e.startLoad=function(t){if(this.levels){var r=this.lastCurrentTime,i=this.hls;if(this.stopLoad(),this.setInterval(100),this.level=-1,!this.startFragRequested){var a=i.startLevel;a===-1&&(i.config.testBandwidth&&this.levels.length>1?(a=0,this.bitrateTest=!0):a=i.firstAutoLevel),i.nextLoadLevel=a,this.level=i.loadLevel,this.loadedmetadata=!1}r>0&&t===-1&&(this.log("Override startPosition with lastCurrentTime @"+r.toFixed(3)),t=r),this.state=X,this.nextLoadPosition=this.startPosition=this.lastCurrentTime=t,this.tick()}else this._forceStartLoad=!0,this.state=Oe},e.stopLoad=function(){this._forceStartLoad=!1,s.prototype.stopLoad.call(this)},e.doTick=function(){switch(this.state){case lt:var t=this.levels,r=this.level,i=t==null?void 0:t[r],a=i==null?void 0:i.details;if(a&&(!a.live||this.levelLastLoaded===i)){if(this.waitForCdnTuneIn(a))break;this.state=X;break}if(this.hls.nextLoadLevel!==this.level){this.state=X;break}break;case kt:var o,l=self.performance.now(),h=this.retryDate;if(!h||l>=h||(o=this.media)!=null&&o.seeking){var u=this.levels,d=this.level,c=u==null?void 0:u[d];this.resetStartWhenNotLoaded(c||null),this.state=X}}this.state===X&&this.doTickIdle(),this.onTickEnd()},e.onTickEnd=function(){s.prototype.onTickEnd.call(this),this.checkBuffer(),this.checkFragmentChanged()},e.doTickIdle=function(){var t=this.hls,r=this.levelLastLoaded,i=this.levels,a=this.media;if(r!==null&&(a||!this.startFragRequested&&t.config.startFragPrefetch)&&(!this.altAudio||!this.audioOnly)){var o=t.nextLoadLevel;if(i!=null&&i[o]){var l=i[o],h=this.getMainFwdBufferInfo();if(h!==null){var u=this.getLevelDetails();if(u&&this._streamEnded(h,u)){var d={};return this.altAudio&&(d.type="video"),this.hls.trigger(p.BUFFER_EOS,d),void(this.state=jt)}t.loadLevel!==o&&t.manualLevel===-1&&this.log("Adapting to level "+o+" from level "+this.level),this.level=t.nextLoadLevel=o;var c=l.details;if(!c||this.state===lt||c.live&&this.levelLastLoaded!==l)return this.level=o,void(this.state=lt);var f=h.len,g=this.getMaxBufferLength(l.maxBitrate);if(!(f>=g)){this.backtrackFragment&&this.backtrackFragment.start>h.end&&(this.backtrackFragment=null);var m=this.backtrackFragment?this.backtrackFragment.start:h.end,E=this.getNextFragment(m,c);if(this.couldBacktrack&&!this.fragPrevious&&E&&E.sn!=="initSegment"&&this.fragmentTracker.getState(E)!==Yt){var v,y=((v=this.backtrackFragment)!=null?v:E).sn-c.startSN,T=c.fragments[y-1];T&&E.cc===T.cc&&(E=T,this.fragmentTracker.removeFragment(T))}else this.backtrackFragment&&h.len&&(this.backtrackFragment=null);if(E&&this.isLoopLoading(E,m)){if(!E.gap){var S=this.audioOnly&&!this.altAudio?we:Pe,A=(S===Pe?this.videoBuffer:this.mediaBuffer)||this.media;A&&this.afterBufferFlushed(A,S,Z)}E=this.getNextFragmentLoopLoading(E,c,h,Z,g)}E&&(!E.initSegment||E.initSegment.data||this.bitrateTest||(E=E.initSegment),this.loadFragment(E,l,m))}}}}},e.loadFragment=function(t,r,i){var a=this.fragmentTracker.getState(t);this.fragCurrent=t,a===Vt||a===At?t.sn==="initSegment"?this._loadInitSegment(t,r):this.bitrateTest?(this.log("Fragment "+t.sn+" of level "+t.level+" is being downloaded to test bitrate and will not be buffered"),this._loadBitrateTestFrag(t,r)):(this.startFragRequested=!0,s.prototype.loadFragment.call(this,t,r,i)):this.clearTrackerIfNeeded(t)},e.getBufferedFrag=function(t){return this.fragmentTracker.getBufferedFrag(t,Z)},e.followingBufferedFrag=function(t){return t?this.getBufferedFrag(t.end+.5):null},e.immediateLevelSwitch=function(){this.abortCurrentFrag(),this.flushMainBuffer(0,Number.POSITIVE_INFINITY)},e.nextLevelSwitch=function(){var t=this.levels,r=this.media;if(r!=null&&r.readyState){var i,a=this.getAppendedFrag(r.currentTime);a&&a.start>1&&this.flushMainBuffer(0,a.start-1);var o=this.getLevelDetails();if(o!=null&&o.live){var l=this.getMainFwdBufferInfo();if(!l||l.len<2*o.targetduration)return}if(!r.paused&&t){var h=t[this.hls.nextLoadLevel],u=this.fragLastKbps;i=u&&this.fragCurrent?this.fragCurrent.duration*h.maxBitrate/(1e3*u)+1:0}else i=0;var d=this.getBufferedFrag(r.currentTime+i);if(d){var c=this.followingBufferedFrag(d);if(c){this.abortCurrentFrag();var f=c.maxStartPTS?c.maxStartPTS:c.start,g=c.duration,m=Math.max(d.end,f+Math.min(Math.max(g-this.config.maxFragLookUpTolerance,g*(this.couldBacktrack?.5:.125)),g*(this.couldBacktrack?.75:.25)));this.flushMainBuffer(m,Number.POSITIVE_INFINITY)}}}},e.abortCurrentFrag=function(){var t=this.fragCurrent;switch(this.fragCurrent=null,this.backtrackFragment=null,t&&(t.abortRequests(),this.fragmentTracker.removeFragment(t)),this.state){case di:case bt:case kt:case Je:case pr:this.state=X}this.nextLoadPosition=this.getLoadPosition()},e.flushMainBuffer=function(t,r){s.prototype.flushMainBuffer.call(this,t,r,this.altAudio?"video":null)},e.onMediaAttached=function(t,r){s.prototype.onMediaAttached.call(this,t,r);var i=r.media;this.onvplaying=this.onMediaPlaying.bind(this),this.onvseeked=this.onMediaSeeked.bind(this),i.addEventListener("playing",this.onvplaying),i.addEventListener("seeked",this.onvseeked),this.gapController=new Il(this.config,i,this.fragmentTracker,this.hls)},e.onMediaDetaching=function(){var t=this.media;t&&this.onvplaying&&this.onvseeked&&(t.removeEventListener("playing",this.onvplaying),t.removeEventListener("seeked",this.onvseeked),this.onvplaying=this.onvseeked=null,this.videoBuffer=null),this.fragPlaying=null,this.gapController&&(this.gapController.destroy(),this.gapController=null),s.prototype.onMediaDetaching.call(this)},e.onMediaPlaying=function(){this.tick()},e.onMediaSeeked=function(){var t=this.media,r=t?t.currentTime:null;O(r)&&this.log("Media seeked to "+r.toFixed(3));var i=this.getMainFwdBufferInfo();i!==null&&i.len!==0?this.tick():this.warn('Main forward buffer length on "seeked" event '+(i?i.len:"empty")+")")},e.onManifestLoading=function(){this.log("Trigger BUFFER_RESET"),this.hls.trigger(p.BUFFER_RESET,void 0),this.fragmentTracker.removeAllFragments(),this.couldBacktrack=!1,this.startPosition=this.lastCurrentTime=this.fragLastKbps=0,this.levels=this.fragPlaying=this.backtrackFragment=this.levelLastLoaded=null,this.altAudio=this.audioOnly=this.startFragRequested=!1},e.onManifestParsed=function(t,r){var i,a,o=!1,l=!1;r.levels.forEach(function(h){var u=h.audioCodec;u&&(o=o||u.indexOf("mp4a.40.2")!==-1,l=l||u.indexOf("mp4a.40.5")!==-1)}),this.audioCodecSwitch=o&&l&&typeof((a=is())==null||(i=a.prototype)==null?void 0:i.changeType)!="function",this.audioCodecSwitch&&this.log("Both AAC/HE-AAC audio found in levels; declaring level codec as HE-AAC"),this.levels=r.levels,this.startFragRequested=!1},e.onLevelLoading=function(t,r){var i=this.levels;if(i&&this.state===X){var a=i[r.level];(!a.details||a.details.live&&this.levelLastLoaded!==a||this.waitForCdnTuneIn(a.details))&&(this.state=lt)}},e.onLevelLoaded=function(t,r){var i,a=this.levels,o=r.level,l=r.details,h=l.totalduration;if(a){this.log("Level "+o+" loaded ["+l.startSN+","+l.endSN+"]"+(l.lastPartSn?"[part-"+l.lastPartSn+"-"+l.lastPartIndex+"]":"")+", cc ["+l.startCC+", "+l.endCC+"] duration:"+h);var u=a[o],d=this.fragCurrent;!d||this.state!==bt&&this.state!==kt||d.level!==r.level&&d.loader&&this.abortCurrentFrag();var c=0;if(l.live||(i=u.details)!=null&&i.live){var f;if(this.checkLiveUpdate(l),l.deltaUpdateFailed)return;c=this.alignPlaylists(l,u.details,(f=this.levelLastLoaded)==null?void 0:f.details)}if(u.details=l,this.levelLastLoaded=u,this.hls.trigger(p.LEVEL_UPDATED,{details:l,level:o}),this.state===lt){if(this.waitForCdnTuneIn(l))return;this.state=X}this.startFragRequested?l.live&&this.synchronizeToLiveEdge(l):this.setStartPosition(l,c),this.tick()}else this.warn("Levels were reset while loading level "+o)},e._handleFragmentLoadProgress=function(t){var r,i=t.frag,a=t.part,o=t.payload,l=this.levels;if(l){var h=l[i.level],u=h.details;if(!u)return this.warn("Dropping fragment "+i.sn+" of level "+i.level+" after level details were reset"),void this.fragmentTracker.removeFragment(i);var d=h.videoCodec,c=u.PTSKnown||!u.live,f=(r=i.initSegment)==null?void 0:r.data,g=this._getAudioCodec(h),m=this.transmuxer=this.transmuxer||new Sa(this.hls,Z,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)),E=a?a.index:-1,v=E!==-1,y=new ui(i.level,i.sn,i.stats.chunkCount,o.byteLength,E,v),T=this.initPTS[i.cc];m.push(o,f,g,d,i,a,u.totalduration,c,y,T)}else this.warn("Levels were reset while fragment load was in progress. Fragment "+i.sn+" of level "+i.level+" will not be buffered")},e.onAudioTrackSwitching=function(t,r){var i=this.altAudio;if(!r.url){if(this.mediaBuffer!==this.media){this.log("Switching on main audio, use media.buffered to schedule main fragment loading"),this.mediaBuffer=this.media;var a=this.fragCurrent;a&&(this.log("Switching to main audio track, cancel main fragment load"),a.abortRequests(),this.fragmentTracker.removeFragment(a)),this.resetTransmuxer(),this.resetLoadingState()}else this.audioOnly&&this.resetTransmuxer();var o=this.hls;i&&(o.trigger(p.BUFFER_FLUSHING,{startOffset:0,endOffset:Number.POSITIVE_INFINITY,type:null}),this.fragmentTracker.removeAllFragments()),o.trigger(p.AUDIO_TRACK_SWITCHED,r)}},e.onAudioTrackSwitched=function(t,r){var i=r.id,a=!!this.hls.audioTracks[i].url;if(a){var o=this.videoBuffer;o&&this.mediaBuffer!==o&&(this.log("Switching on alternate audio, use video.buffered to schedule main fragment loading"),this.mediaBuffer=o)}this.altAudio=a,this.tick()},e.onBufferCreated=function(t,r){var i,a,o=r.tracks,l=!1;for(var h in o){var u=o[h];if(u.id==="main"){if(a=h,i=u,h==="video"){var d=o[h];d&&(this.videoBuffer=d.buffer)}}else l=!0}l&&i?(this.log("Alternate track found, use "+a+".buffered to schedule main fragment loading"),this.mediaBuffer=i.buffer):this.mediaBuffer=this.media},e.onFragBuffered=function(t,r){var i=r.frag,a=r.part;if(!i||i.type===Z){if(this.fragContextChanged(i))return this.warn("Fragment "+i.sn+(a?" p: "+a.index:"")+" of level "+i.level+" finished buffering, but was aborted. state: "+this.state),void(this.state===pr&&(this.state=X));var o=a?a.stats:i.stats;this.fragLastKbps=Math.round(8*o.total/(o.buffering.end-o.loading.first)),i.sn!=="initSegment"&&(this.fragPrevious=i),this.fragBufferedComplete(i,a)}},e.onError=function(t,r){var i;if(r.fatal)this.state=Dt;else switch(r.details){case w.FRAG_GAP:case w.FRAG_PARSING_ERROR:case w.FRAG_DECRYPT_ERROR:case w.FRAG_LOAD_ERROR:case w.FRAG_LOAD_TIMEOUT:case w.KEY_LOAD_ERROR:case w.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(Z,r);break;case w.LEVEL_LOAD_ERROR:case w.LEVEL_LOAD_TIMEOUT:case w.LEVEL_PARSING_ERROR:r.levelRetry||this.state!==lt||((i=r.context)==null?void 0:i.type)!==ot||(this.state=X);break;case w.BUFFER_APPEND_ERROR:case w.BUFFER_FULL_ERROR:if(!r.parent||r.parent!=="main")return;if(r.details===w.BUFFER_APPEND_ERROR)return void this.resetLoadingState();this.reduceLengthAndFlushBuffer(r)&&this.flushMainBuffer(0,Number.POSITIVE_INFINITY);break;case w.INTERNAL_EXCEPTION:this.recoverWorkerError(r)}},e.checkBuffer=function(){var t=this.media,r=this.gapController;if(t&&r&&t.readyState){if(this.loadedmetadata||!ue.getBuffered(t).length){var i=this.state!==X?this.fragCurrent:null;r.poll(this.lastCurrentTime,i)}this.lastCurrentTime=t.currentTime}},e.onFragLoadEmergencyAborted=function(){this.state=X,this.loadedmetadata||(this.startFragRequested=!1,this.nextLoadPosition=this.startPosition),this.tickImmediate()},e.onBufferFlushed=function(t,r){var i=r.type;if(i!==we||this.audioOnly&&!this.altAudio){var a=(i===Pe?this.videoBuffer:this.mediaBuffer)||this.media;this.afterBufferFlushed(a,i,Z),this.tick()}},e.onLevelsUpdated=function(t,r){this.level>-1&&this.fragCurrent&&(this.level=this.fragCurrent.level),this.levels=r.levels},e.swapAudioCodec=function(){this.audioCodecSwap=!this.audioCodecSwap},e.seekToStartPos=function(){var t=this.media;if(t){var r=t.currentTime,i=this.startPosition;if(i>=0&&r<i){if(t.seeking)return void this.log("could not seek to "+i+", already seeking at "+r);var a=ue.getBuffered(t),o=(a.length?a.start(0):0)-i;o>0&&(o<this.config.maxBufferHole||o<this.config.maxFragLookUpTolerance)&&(this.log("adjusting start position by "+o+" to match buffer start"),i+=o,this.startPosition=i),this.log("seek to target start position "+i+" from current time "+r),t.currentTime=i}}},e._getAudioCodec=function(t){var r=this.config.defaultAudioCodec||t.audioCodec;return this.audioCodecSwap&&r&&(this.log("Swapping audio codec"),r=r.indexOf("mp4a.40.5")!==-1?"mp4a.40.2":"mp4a.40.5"),r},e._loadBitrateTestFrag=function(t,r){var i=this;t.bitrateTest=!0,this._doFragLoad(t,r).then(function(a){var o=i.hls;if(a&&!i.fragContextChanged(t)){r.fragmentError=0,i.state=X,i.startFragRequested=!1,i.bitrateTest=!1;var l=t.stats;l.parsing.start=l.parsing.end=l.buffering.start=l.buffering.end=self.performance.now(),o.trigger(p.FRAG_LOADED,a),t.bitrateTest=!1}})},e._handleTransmuxComplete=function(t){var r,i="main",a=this.hls,o=t.remuxResult,l=t.chunkMeta,h=this.getCurrentContext(l);if(h){var u=h.frag,d=h.part,c=h.level,f=o.video,g=o.text,m=o.id3,E=o.initSegment,v=c.details,y=this.altAudio?void 0:o.audio;if(this.fragContextChanged(u))this.fragmentTracker.removeFragment(u);else{if(this.state=Je,E){if(E!=null&&E.tracks){var T=u.initSegment||u;this._bufferInitSegment(c,E.tracks,T,l),a.trigger(p.FRAG_PARSING_INIT_SEGMENT,{frag:T,id:i,tracks:E.tracks})}var S=E.initPTS,A=E.timescale;O(S)&&(this.initPTS[u.cc]={baseTime:S,timescale:A},a.trigger(p.INIT_PTS_FOUND,{frag:u,id:i,initPTS:S,timescale:A}))}if(f&&v&&u.sn!=="initSegment"){var R=v.fragments[u.sn-1-v.startSN],L=u.sn===v.startSN,D=!R||u.cc>R.cc;if(o.independent!==!1){var k=f.startPTS,I=f.endPTS,C=f.startDTS,_=f.endDTS;if(d)d.elementaryStreams[f.type]={startPTS:k,endPTS:I,startDTS:C,endDTS:_};else if(f.firstKeyFrame&&f.independent&&l.id===1&&!D&&(this.couldBacktrack=!0),f.dropped&&f.independent){var x=this.getMainFwdBufferInfo(),M=(x?x.end:this.getLoadPosition())+this.config.maxBufferHole,F=f.firstKeyFramePTS?f.firstKeyFramePTS:k;if(!L&&M<F-this.config.maxBufferHole&&!D)return void this.backtrack(u);D&&(u.gap=!0),u.setElementaryStreamInfo(f.type,u.start,I,u.start,_,!0)}else L&&k>2&&(u.gap=!0);u.setElementaryStreamInfo(f.type,k,I,C,_),this.backtrackFragment&&(this.backtrackFragment=u),this.bufferFragmentData(f,u,d,l,L||D)}else{if(!L&&!D)return void this.backtrack(u);u.gap=!0}}if(y){var U=y.startPTS,P=y.endPTS,N=y.startDTS,H=y.endDTS;d&&(d.elementaryStreams[we]={startPTS:U,endPTS:P,startDTS:N,endDTS:H}),u.setElementaryStreamInfo(we,U,P,N,H),this.bufferFragmentData(y,u,d,l)}if(v&&m!=null&&(r=m.samples)!=null&&r.length){var B={id:i,frag:u,details:v,samples:m.samples};a.trigger(p.FRAG_PARSING_METADATA,B)}if(v&&g){var V={id:i,frag:u,details:v,samples:g.samples};a.trigger(p.FRAG_PARSING_USERDATA,V)}}}else this.resetWhenMissingContext(l)},e._bufferInitSegment=function(t,r,i,a){var o=this;if(this.state===Je){this.audioOnly=!!r.audio&&!r.video,this.altAudio&&!this.audioOnly&&delete r.audio;var l=r.audio,h=r.video,u=r.audiovideo;if(l){var d=t.audioCodec,c=navigator.userAgent.toLowerCase();this.audioCodecSwitch&&(d&&(d=d.indexOf("mp4a.40.5")!==-1?"mp4a.40.2":"mp4a.40.5"),l.metadata.channelCount!==1&&c.indexOf("firefox")===-1&&(d="mp4a.40.5")),d&&d.indexOf("mp4a.40.5")!==-1&&c.indexOf("android")!==-1&&l.container!=="audio/mpeg"&&(d="mp4a.40.2",this.log("Android: force audio codec to "+d)),t.audioCodec&&t.audioCodec!==d&&this.log('Swapping manifest audio codec "'+t.audioCodec+'" for "'+d+'"'),l.levelCodec=d,l.id="main",this.log("Init audio buffer, container:"+l.container+", codecs[selected/level/parsed]=["+(d||"")+"/"+(t.audioCodec||"")+"/"+l.codec+"]")}h&&(h.levelCodec=t.videoCodec,h.id="main",this.log("Init video buffer, container:"+h.container+", codecs[level/parsed]=["+(t.videoCodec||"")+"/"+h.codec+"]")),u&&this.log("Init audiovideo buffer, container:"+u.container+", codecs[level/parsed]=["+t.codecs+"/"+u.codec+"]"),this.hls.trigger(p.BUFFER_CODECS,r),Object.keys(r).forEach(function(f){var g=r[f].initSegment;g!=null&&g.byteLength&&o.hls.trigger(p.BUFFER_APPENDING,{type:f,data:g,frag:i,part:null,chunkMeta:a,parent:i.type})}),this.tickImmediate()}},e.getMainFwdBufferInfo=function(){return this.getFwdBufferInfo(this.mediaBuffer?this.mediaBuffer:this.media,Z)},e.backtrack=function(t){this.couldBacktrack=!0,this.backtrackFragment=t,this.resetTransmuxer(),this.flushBufferGap(t),this.fragmentTracker.removeFragment(t),this.fragPrevious=null,this.nextLoadPosition=t.start,this.state=X},e.checkFragmentChanged=function(){var t=this.media,r=null;if(t&&t.readyState>1&&t.seeking===!1){var i=t.currentTime;if(ue.isBuffered(t,i)?r=this.getAppendedFrag(i):ue.isBuffered(t,i+.1)&&(r=this.getAppendedFrag(i+.1)),r){this.backtrackFragment=null;var a=this.fragPlaying,o=r.level;a&&r.sn===a.sn&&a.level===o||(this.fragPlaying=r,this.hls.trigger(p.FRAG_CHANGED,{frag:r}),a&&a.level===o||this.hls.trigger(p.LEVEL_SWITCHED,{level:o}))}}},fe(n,[{key:"nextLevel",get:function(){var t=this.nextBufferedFrag;return t?t.level:-1}},{key:"currentFrag",get:function(){var t=this.media;return t?this.fragPlaying||this.getAppendedFrag(t.currentTime):null}},{key:"currentProgramDateTime",get:function(){var t=this.media;if(t){var r=t.currentTime,i=this.currentFrag;if(i&&O(r)&&O(i.programDateTime)){var a=i.programDateTime+1e3*(r-i.start);return new Date(a)}}return null}},{key:"currentLevel",get:function(){var t=this.currentFrag;return t?t.level:-1}},{key:"nextBufferedFrag",get:function(){var t=this.currentFrag;return t?this.followingBufferedFrag(t):null}},{key:"forceStartLoad",get:function(){return this._forceStartLoad}}]),n}(ci),as=function(){function s(e){e===void 0&&(e={}),this.config=void 0,this.userConfig=void 0,this.coreComponents=void 0,this.networkControllers=void 0,this.started=!1,this._emitter=new Lr,this._autoLevelCapping=-1,this._maxHdcpLevel=null,this.abrController=void 0,this.bufferController=void 0,this.capLevelController=void 0,this.latencyController=void 0,this.levelController=void 0,this.streamController=void 0,this.audioTrackController=void 0,this.subtitleTrackController=void 0,this.emeController=void 0,this.cmcdController=void 0,this._media=null,this.url=null,this.triggeringException=void 0,ji(e.debug||!1,"Hls instance");var t=this.config=function(C,_){if((_.liveSyncDurationCount||_.liveMaxLatencyDurationCount)&&(_.liveSyncDuration||_.liveMaxLatencyDuration))throw new Error("Illegal hls.js config: don't mix up liveSyncDurationCount/liveMaxLatencyDurationCount and liveSyncDuration/liveMaxLatencyDuration");if(_.liveMaxLatencyDurationCount!==void 0&&(_.liveSyncDurationCount===void 0||_.liveMaxLatencyDurationCount<=_.liveSyncDurationCount))throw new Error('Illegal hls.js config: "liveMaxLatencyDurationCount" must be greater than "liveSyncDurationCount"');if(_.liveMaxLatencyDuration!==void 0&&(_.liveSyncDuration===void 0||_.liveMaxLatencyDuration<=_.liveSyncDuration))throw new Error('Illegal hls.js config: "liveMaxLatencyDuration" must be greater than "liveSyncDuration"');var x=Gi(C),M=["TimeOut","MaxRetry","RetryDelay","MaxRetryTimeout"];return["manifest","level","frag"].forEach(function(F){var U=(F==="level"?"playlist":F)+"LoadPolicy",P=_[U]===void 0,N=[];M.forEach(function(H){var B=F+"Loading"+H,V=_[B];if(V!==void 0&&P){N.push(B);var Q=x[U].default;switch(_[U]={default:Q},H){case"TimeOut":Q.maxLoadTimeMs=V,Q.maxTimeToFirstByteMs=V;break;case"MaxRetry":Q.errorRetry.maxNumRetry=V,Q.timeoutRetry.maxNumRetry=V;break;case"RetryDelay":Q.errorRetry.retryDelayMs=V,Q.timeoutRetry.retryDelayMs=V;break;case"MaxRetryTimeout":Q.errorRetry.maxRetryDelayMs=V,Q.timeoutRetry.maxRetryDelayMs=V}}}),N.length&&b.warn('hls.js config: "'+N.join('", "')+'" setting(s) are deprecated, use "'+U+'": '+JSON.stringify(_[U]))}),ye(ye({},x),_)}(s.DefaultConfig,e);this.userConfig=e,t.progressive&&kl(t);var r=t.abrController,i=t.bufferController,a=t.capLevelController,o=t.errorController,l=t.fpsController,h=new o(this),u=this.abrController=new r(this),d=this.bufferController=new i(this),c=this.capLevelController=new a(this),f=new l(this),g=new Us(this),m=new Gs(this),E=t.contentSteeringController,v=E?new E(this):null,y=this.levelController=new Dl(this,v),T=new Zs(this),S=new wl(this.config),A=this.streamController=new Cl(this,T,S);c.setStreamController(A),f.setStreamController(A);var R=[g,y,A];v&&R.splice(1,0,v),this.networkControllers=R;var L=[u,d,c,f,m,T];this.audioTrackController=this.createController(t.audioTrackController,R);var D=t.audioStreamController;D&&R.push(new D(this,T,S)),this.subtitleTrackController=this.createController(t.subtitleTrackController,R);var k=t.subtitleStreamController;k&&R.push(new k(this,T,S)),this.createController(t.timelineController,L),S.emeController=this.emeController=this.createController(t.emeController,L),this.cmcdController=this.createController(t.cmcdController,L),this.latencyController=this.createController(Ks,L),this.coreComponents=L,R.push(h);var I=h.onErrorOut;typeof I=="function"&&this.on(p.ERROR,I,h)}s.isMSESupported=function(){return ns()},s.isSupported=function(){return function(){if(!ns())return!1;var e=vt();return typeof(e==null?void 0:e.isTypeSupported)=="function"&&(["avc1.42E01E,mp4a.40.2","av01.0.01M.08","vp09.00.50.08"].some(function(t){return e.isTypeSupported(Bt(t,"video"))})||["mp4a.40.2","fLaC"].some(function(t){return e.isTypeSupported(Bt(t,"audio"))}))}()},s.getMediaSource=function(){return vt()};var n=s.prototype;return n.createController=function(e,t){if(e){var r=new e(this);return t&&t.push(r),r}return null},n.on=function(e,t,r){r===void 0&&(r=this),this._emitter.on(e,t,r)},n.once=function(e,t,r){r===void 0&&(r=this),this._emitter.once(e,t,r)},n.removeAllListeners=function(e){this._emitter.removeAllListeners(e)},n.off=function(e,t,r,i){r===void 0&&(r=this),this._emitter.off(e,t,r,i)},n.listeners=function(e){return this._emitter.listeners(e)},n.emit=function(e,t,r){return this._emitter.emit(e,t,r)},n.trigger=function(e,t){if(this.config.debug)return this.emit(e,e,t);try{return this.emit(e,e,t)}catch(i){if(b.error("An internal error happened while handling event "+e+'. Error message: "'+i.message+'". Here is a stacktrace:',i),!this.triggeringException){this.triggeringException=!0;var r=e===p.ERROR;this.trigger(p.ERROR,{type:G.OTHER_ERROR,details:w.INTERNAL_EXCEPTION,fatal:r,event:e,error:i}),this.triggeringException=!1}}return!1},n.listenerCount=function(e){return this._emitter.listenerCount(e)},n.destroy=function(){b.log("destroy"),this.trigger(p.DESTROYING,void 0),this.detachMedia(),this.removeAllListeners(),this._autoLevelCapping=-1,this.url=null,this.networkControllers.forEach(function(t){return t.destroy()}),this.networkControllers.length=0,this.coreComponents.forEach(function(t){return t.destroy()}),this.coreComponents.length=0;var e=this.config;e.xhrSetup=e.fetchSetup=void 0,this.userConfig=null},n.attachMedia=function(e){b.log("attachMedia"),this._media=e,this.trigger(p.MEDIA_ATTACHING,{media:e})},n.detachMedia=function(){b.log("detachMedia"),this.trigger(p.MEDIA_DETACHING,void 0),this._media=null},n.loadSource=function(e){this.stopLoad();var t=this.media,r=this.url,i=this.url=xr.buildAbsoluteURL(self.location.href,e,{alwaysNormalize:!0});this._autoLevelCapping=-1,this._maxHdcpLevel=null,b.log("loadSource:"+i),t&&r&&(r!==i||this.bufferController.hasSourceTypes())&&(this.detachMedia(),this.attachMedia(t)),this.trigger(p.MANIFEST_LOADING,{url:e})},n.startLoad=function(e){e===void 0&&(e=-1),b.log("startLoad("+e+")"),this.started=!0,this.networkControllers.forEach(function(t){t.startLoad(e)})},n.stopLoad=function(){b.log("stopLoad"),this.started=!1,this.networkControllers.forEach(function(e){e.stopLoad()})},n.resumeBuffering=function(){this.started&&this.networkControllers.forEach(function(e){"fragmentLoader"in e&&e.startLoad(-1)})},n.pauseBuffering=function(){this.networkControllers.forEach(function(e){"fragmentLoader"in e&&e.stopLoad()})},n.swapAudioCodec=function(){b.log("swapAudioCodec"),this.streamController.swapAudioCodec()},n.recoverMediaError=function(){b.log("recoverMediaError");var e=this._media;this.detachMedia(),e&&this.attachMedia(e)},n.removeLevel=function(e){this.levelController.removeLevel(e)},n.setAudioOption=function(e){var t;return(t=this.audioTrackController)==null?void 0:t.setAudioOption(e)},n.setSubtitleOption=function(e){var t;return(t=this.subtitleTrackController)==null||t.setSubtitleOption(e),null},fe(s,[{key:"levels",get:function(){var e=this.levelController.levels;return e||[]}},{key:"currentLevel",get:function(){return this.streamController.currentLevel},set:function(e){b.log("set currentLevel:"+e),this.levelController.manualLevel=e,this.streamController.immediateLevelSwitch()}},{key:"nextLevel",get:function(){return this.streamController.nextLevel},set:function(e){b.log("set nextLevel:"+e),this.levelController.manualLevel=e,this.streamController.nextLevelSwitch()}},{key:"loadLevel",get:function(){return this.levelController.level},set:function(e){b.log("set loadLevel:"+e),this.levelController.manualLevel=e}},{key:"nextLoadLevel",get:function(){return this.levelController.nextLoadLevel},set:function(e){this.levelController.nextLoadLevel=e}},{key:"firstLevel",get:function(){return Math.max(this.levelController.firstLevel,this.minAutoLevel)},set:function(e){b.log("set firstLevel:"+e),this.levelController.firstLevel=e}},{key:"startLevel",get:function(){var e=this.levelController.startLevel;return e===-1&&this.abrController.forcedAutoLevel>-1?this.abrController.forcedAutoLevel:e},set:function(e){b.log("set startLevel:"+e),e!==-1&&(e=Math.max(e,this.minAutoLevel)),this.levelController.startLevel=e}},{key:"capLevelToPlayerSize",get:function(){return this.config.capLevelToPlayerSize},set:function(e){var t=!!e;t!==this.config.capLevelToPlayerSize&&(t?this.capLevelController.startCapping():(this.capLevelController.stopCapping(),this.autoLevelCapping=-1,this.streamController.nextLevelSwitch()),this.config.capLevelToPlayerSize=t)}},{key:"autoLevelCapping",get:function(){return this._autoLevelCapping},set:function(e){this._autoLevelCapping!==e&&(b.log("set autoLevelCapping:"+e),this._autoLevelCapping=e,this.levelController.checkMaxAutoUpdated())}},{key:"bandwidthEstimate",get:function(){var e=this.abrController.bwEstimator;return e?e.getEstimate():NaN},set:function(e){this.abrController.resetEstimator(e)}},{key:"ttfbEstimate",get:function(){var e=this.abrController.bwEstimator;return e?e.getEstimateTTFB():NaN}},{key:"maxHdcpLevel",get:function(){return this._maxHdcpLevel},set:function(e){(function(t){return ei.indexOf(t)>-1})(e)&&this._maxHdcpLevel!==e&&(this._maxHdcpLevel=e,this.levelController.checkMaxAutoUpdated())}},{key:"autoLevelEnabled",get:function(){return this.levelController.manualLevel===-1}},{key:"manualLevel",get:function(){return this.levelController.manualLevel}},{key:"minAutoLevel",get:function(){var e=this.levels,t=this.config.minAutoBitrate;if(!e)return 0;for(var r=e.length,i=0;i<r;i++)if(e[i].maxBitrate>=t)return i;return 0}},{key:"maxAutoLevel",get:function(){var e,t=this.levels,r=this.autoLevelCapping,i=this.maxHdcpLevel;if(e=r===-1&&t!=null&&t.length?t.length-1:r,i)for(var a=e;a--;){var o=t[a].attrs["HDCP-LEVEL"];if(o&&o<=i)return a}return e}},{key:"firstAutoLevel",get:function(){return this.abrController.firstAutoLevel}},{key:"nextAutoLevel",get:function(){return this.abrController.nextAutoLevel},set:function(e){this.abrController.nextAutoLevel=e}},{key:"playingDate",get:function(){return this.streamController.currentProgramDateTime}},{key:"mainForwardBufferInfo",get:function(){return this.streamController.getMainFwdBufferInfo()}},{key:"allAudioTracks",get:function(){var e=this.audioTrackController;return e?e.allAudioTracks:[]}},{key:"audioTracks",get:function(){var e=this.audioTrackController;return e?e.audioTracks:[]}},{key:"audioTrack",get:function(){var e=this.audioTrackController;return e?e.audioTrack:-1},set:function(e){var t=this.audioTrackController;t&&(t.audioTrack=e)}},{key:"allSubtitleTracks",get:function(){var e=this.subtitleTrackController;return e?e.allSubtitleTracks:[]}},{key:"subtitleTracks",get:function(){var e=this.subtitleTrackController;return e?e.subtitleTracks:[]}},{key:"subtitleTrack",get:function(){var e=this.subtitleTrackController;return e?e.subtitleTrack:-1},set:function(e){var t=this.subtitleTrackController;t&&(t.subtitleTrack=e)}},{key:"media",get:function(){return this._media}},{key:"subtitleDisplay",get:function(){var e=this.subtitleTrackController;return!!e&&e.subtitleDisplay},set:function(e){var t=this.subtitleTrackController;t&&(t.subtitleDisplay=e)}},{key:"lowLatencyMode",get:function(){return this.config.lowLatencyMode},set:function(e){this.config.lowLatencyMode=e}},{key:"liveSyncPosition",get:function(){return this.latencyController.liveSyncPosition}},{key:"latency",get:function(){return this.latencyController.latency}},{key:"maxLatency",get:function(){return this.latencyController.maxLatency}},{key:"targetLatency",get:function(){return this.latencyController.targetLatency}},{key:"drift",get:function(){return this.latencyController.drift}},{key:"forceStartLoad",get:function(){return this.streamController.forceStartLoad}}],[{key:"version",get:function(){return"1.5.7"}},{key:"Events",get:function(){return p}},{key:"ErrorTypes",get:function(){return G}},{key:"ErrorDetails",get:function(){return w}},{key:"DefaultConfig",get:function(){return s.defaultConfig?s.defaultConfig:ts},set:function(e){s.defaultConfig=e}}]),s}();return as.defaultConfig=void 0,as},Pt.exports=rt()})(!1)})(os);var ls=os.exports;const Ol=Fl(ls),Ul=Ml({__proto__:null,default:Ol},[ls]);export{Ul as h};
diff --git a/assets/index.html-CsuDpoYK.js b/assets/index.html--BIzY7gk.js
similarity index 94%
rename from assets/index.html-CsuDpoYK.js
rename to assets/index.html--BIzY7gk.js
index 4c1bf9f..acc4039 100644
--- a/assets/index.html-CsuDpoYK.js
+++ b/assets/index.html--BIzY7gk.js
@@ -1 +1 @@
-import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as o}from"./app-ClwIkahu.js";const a={};function r(n,i){return t(),o("div")}const c=e(a,[["render",r],["__file","index.html.vue"]]),s=JSON.parse(`{"path":"/tag/arduino/","title":"标签: Arduino","lang":"zh-CN","frontmatter":{"title":"标签: Arduino","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"Arduino","key":"tag"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/tag/arduino/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"标签: Arduino"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"标签: Arduino\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{c as comp,s as data};
+import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as o}from"./app-Flo2gZk8.js";const a={};function r(n,i){return t(),o("div")}const c=e(a,[["render",r],["__file","index.html.vue"]]),s=JSON.parse(`{"path":"/tag/arduino/","title":"标签: Arduino","lang":"zh-CN","frontmatter":{"title":"标签: Arduino","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"Arduino","key":"tag"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/tag/arduino/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"标签: Arduino"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"标签: Arduino\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{c as comp,s as data};
diff --git a/assets/index.html-BlsdgZAc.js b/assets/index.html-2WOtvPq_.js
similarity index 94%
rename from assets/index.html-BlsdgZAc.js
rename to assets/index.html-2WOtvPq_.js
index 0168f52..c0bac47 100644
--- a/assets/index.html-BlsdgZAc.js
+++ b/assets/index.html-2WOtvPq_.js
@@ -1 +1 @@
-import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as a}from"./app-ClwIkahu.js";const r={};function o(n,i){return t(),a("div")}const c=e(r,[["render",o],["__file","index.html.vue"]]),s=JSON.parse(`{"path":"/tag/air001/","title":"标签: Air001","lang":"zh-CN","frontmatter":{"title":"标签: Air001","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"Air001","key":"tag"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/tag/air001/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"标签: Air001"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"标签: Air001\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{c as comp,s as data};
+import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as a}from"./app-Flo2gZk8.js";const r={};function o(n,i){return t(),a("div")}const c=e(r,[["render",o],["__file","index.html.vue"]]),s=JSON.parse(`{"path":"/tag/air001/","title":"标签: Air001","lang":"zh-CN","frontmatter":{"title":"标签: Air001","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"Air001","key":"tag"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/tag/air001/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"标签: Air001"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"标签: Air001\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{c as comp,s as data};
diff --git a/assets/index.html-C0X-QC5U.js b/assets/index.html-4asd-b47.js
similarity index 94%
rename from assets/index.html-C0X-QC5U.js
rename to assets/index.html-4asd-b47.js
index 984b822..26c36b7 100644
--- a/assets/index.html-C0X-QC5U.js
+++ b/assets/index.html-4asd-b47.js
@@ -1 +1 @@
-import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as a}from"./app-ClwIkahu.js";const o={};function r(n,l){return t(),a("div")}const s=e(o,[["render",r],["__file","index.html.vue"]]),i=JSON.parse(`{"path":"/tag/%E8%B6%85%E9%A2%91/","title":"标签: 超频","lang":"zh-CN","frontmatter":{"title":"标签: 超频","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"超频","key":"tag"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/tag/%E8%B6%85%E9%A2%91/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"标签: 超频"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"标签: 超频\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{s as comp,i as data};
+import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as a}from"./app-Flo2gZk8.js";const o={};function r(n,l){return t(),a("div")}const s=e(o,[["render",r],["__file","index.html.vue"]]),i=JSON.parse(`{"path":"/tag/%E8%B6%85%E9%A2%91/","title":"标签: 超频","lang":"zh-CN","frontmatter":{"title":"标签: 超频","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"超频","key":"tag"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/tag/%E8%B6%85%E9%A2%91/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"标签: 超频"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"标签: 超频\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{s as comp,i as data};
diff --git a/assets/index.html-Bqe7scks.js b/assets/index.html-7Xyk7CrU.js
similarity index 99%
rename from assets/index.html-Bqe7scks.js
rename to assets/index.html-7Xyk7CrU.js
index 2d65243..4e2d396 100644
--- a/assets/index.html-Bqe7scks.js
+++ b/assets/index.html-7Xyk7CrU.js
@@ -1,4 +1,4 @@
-import{_ as p}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as o,o as c,c as i,a as n,b as s,d as e,e as t}from"./app-ClwIkahu.js";const l="/assets/2023-04-14-18-22-04-DRWvG1kO.png",r="/assets/2023-04-14-18-48-04-CPqcUbM7.png",d="/assets/2023-04-14-18-48-21-Df5ecIHT.png",u={},k=t('<p>最近维护的 Air001 准备上线了,为了衬托出其强大的性价比,因此我想来做点<s>缺德</s>的事,让我们来和同样以高打性价比的 STC 系列单片机来对比下 CoreMark 的跑分吧,本文将会详细介绍移植过程以及跑分结果。测试的 MCU 为<code>降龙棍 STC32G12K128</code>与<code>打狗棒 STC8H8K64U</code>。</p><p>通用,本文同样适用于 Arm-Cortex M 架构的 MCU。</p><h2 id="stc32g12k128" tabindex="-1"><a class="header-anchor" href="#stc32g12k128"><span>STC32G12K128</span></a></h2><h3 id="开启-usb-cdc-打印-log" tabindex="-1"><a class="header-anchor" href="#开启-usb-cdc-打印-log"><span>开启 USB-CDC 打印 Log</span></a></h3><p>我买到的降龙棍开发板非常的 HiFi,整个板子上外设除了 LED 和芯片就没什么了,下载程序都是用的自带的 USB-HID 的 bootloader,然后我又懒得接一个串口模块,因此我们可不可以利用原生的 USB,走 CDC 虚拟串口来打印跑分后的数据呢?</p><p>答案当然是肯定的,STC 非常的贴心,自带了一个写好的 USB 库,其中包含了 HID 和 CDC 两类主要的操作。那我们就先尝试去移植吧。</p><h4 id="下载库文件" tabindex="-1"><a class="header-anchor" href="#下载库文件"><span>下载库文件</span></a></h4>',7),m={href:"https://stcai.com/filedownload/656048",target:"_blank",rel:"noopener noreferrer"},v=t(`<h4 id="创建工程" tabindex="-1"><a class="header-anchor" href="#创建工程"><span>创建工程</span></a></h4><p>打开 Keil,新建一个工程,芯片选择<code>STC32G12K128</code>,然后我们复制刚才解压的文件中的<code>stc32_stc8_usb.h</code>和<code>stc_usb_cdc_32g.lib</code>到我们新建的工程的目录下,并添加进自己的工程中。</p><h4 id="编写初始化代码" tabindex="-1"><a class="header-anchor" href="#编写初始化代码"><span>编写初始化代码</span></a></h4><p>我们在 main.c 中添加如下的代码:</p><div class="language-c line-numbers-mode" data-ext="c" data-title="c"><pre class="language-c"><code><span class="token macro property"><span class="token directive-hash">#</span><span class="token directive keyword">include</span> <span class="token string">&quot;stc32g.h&quot;</span></span>
+import{_ as p}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as o,o as c,c as i,a as n,b as s,d as e,e as t}from"./app-Flo2gZk8.js";const l="/assets/2023-04-14-18-22-04-DRWvG1kO.png",r="/assets/2023-04-14-18-48-04-CPqcUbM7.png",d="/assets/2023-04-14-18-48-21-Df5ecIHT.png",u={},k=t('<p>最近维护的 Air001 准备上线了,为了衬托出其强大的性价比,因此我想来做点<s>缺德</s>的事,让我们来和同样以高打性价比的 STC 系列单片机来对比下 CoreMark 的跑分吧,本文将会详细介绍移植过程以及跑分结果。测试的 MCU 为<code>降龙棍 STC32G12K128</code>与<code>打狗棒 STC8H8K64U</code>。</p><p>通用,本文同样适用于 Arm-Cortex M 架构的 MCU。</p><h2 id="stc32g12k128" tabindex="-1"><a class="header-anchor" href="#stc32g12k128"><span>STC32G12K128</span></a></h2><h3 id="开启-usb-cdc-打印-log" tabindex="-1"><a class="header-anchor" href="#开启-usb-cdc-打印-log"><span>开启 USB-CDC 打印 Log</span></a></h3><p>我买到的降龙棍开发板非常的 HiFi,整个板子上外设除了 LED 和芯片就没什么了,下载程序都是用的自带的 USB-HID 的 bootloader,然后我又懒得接一个串口模块,因此我们可不可以利用原生的 USB,走 CDC 虚拟串口来打印跑分后的数据呢?</p><p>答案当然是肯定的,STC 非常的贴心,自带了一个写好的 USB 库,其中包含了 HID 和 CDC 两类主要的操作。那我们就先尝试去移植吧。</p><h4 id="下载库文件" tabindex="-1"><a class="header-anchor" href="#下载库文件"><span>下载库文件</span></a></h4>',7),m={href:"https://stcai.com/filedownload/656048",target:"_blank",rel:"noopener noreferrer"},v=t(`<h4 id="创建工程" tabindex="-1"><a class="header-anchor" href="#创建工程"><span>创建工程</span></a></h4><p>打开 Keil,新建一个工程,芯片选择<code>STC32G12K128</code>,然后我们复制刚才解压的文件中的<code>stc32_stc8_usb.h</code>和<code>stc_usb_cdc_32g.lib</code>到我们新建的工程的目录下,并添加进自己的工程中。</p><h4 id="编写初始化代码" tabindex="-1"><a class="header-anchor" href="#编写初始化代码"><span>编写初始化代码</span></a></h4><p>我们在 main.c 中添加如下的代码:</p><div class="language-c line-numbers-mode" data-ext="c" data-title="c"><pre class="language-c"><code><span class="token macro property"><span class="token directive-hash">#</span><span class="token directive keyword">include</span> <span class="token string">&quot;stc32g.h&quot;</span></span>
 <span class="token macro property"><span class="token directive-hash">#</span><span class="token directive keyword">include</span> <span class="token string">&quot;stc32_stc8_usb.h&quot;</span></span>
 <span class="token macro property"><span class="token directive-hash">#</span><span class="token directive keyword">include</span> <span class="token string">&quot;STC32G_Delay.h&quot;</span></span>
 
diff --git a/assets/index.html-BKUs44hv.js b/assets/index.html-AFWYFeTY.js
similarity index 94%
rename from assets/index.html-BKUs44hv.js
rename to assets/index.html-AFWYFeTY.js
index 0b419c8..1644f52 100644
--- a/assets/index.html-BKUs44hv.js
+++ b/assets/index.html-AFWYFeTY.js
@@ -1 +1 @@
-import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as o}from"./app-ClwIkahu.js";const l={};function a(r,n){return t(),o("div")}const s=e(l,[["render",a],["__file","index.html.vue"]]),i=JSON.parse(`{"path":"/tag/helloworld/","title":"标签: HelloWorld","lang":"zh-CN","frontmatter":{"title":"标签: HelloWorld","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"HelloWorld","key":"tag"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/tag/helloworld/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"标签: HelloWorld"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"标签: HelloWorld\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{s as comp,i as data};
+import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as o}from"./app-Flo2gZk8.js";const l={};function a(r,n){return t(),o("div")}const s=e(l,[["render",a],["__file","index.html.vue"]]),i=JSON.parse(`{"path":"/tag/helloworld/","title":"标签: HelloWorld","lang":"zh-CN","frontmatter":{"title":"标签: HelloWorld","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"HelloWorld","key":"tag"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/tag/helloworld/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"标签: HelloWorld"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"标签: HelloWorld\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{s as comp,i as data};
diff --git a/assets/index.html-BqgjNdmg.js b/assets/index.html-AqhAiBBF.js
similarity index 94%
rename from assets/index.html-BqgjNdmg.js
rename to assets/index.html-AqhAiBBF.js
index 3e89f0d..54278d3 100644
--- a/assets/index.html-BqgjNdmg.js
+++ b/assets/index.html-AqhAiBBF.js
@@ -1 +1 @@
-import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as a}from"./app-ClwIkahu.js";const r={};function o(n,c){return t(),a("div")}const s=e(r,[["render",o],["__file","index.html.vue"]]),i=JSON.parse(`{"path":"/tag/coremark/","title":"标签: CoreMark","lang":"zh-CN","frontmatter":{"title":"标签: CoreMark","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"CoreMark","key":"tag"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/tag/coremark/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"标签: CoreMark"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"标签: CoreMark\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{s as comp,i as data};
+import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as a}from"./app-Flo2gZk8.js";const r={};function o(n,c){return t(),a("div")}const s=e(r,[["render",o],["__file","index.html.vue"]]),i=JSON.parse(`{"path":"/tag/coremark/","title":"标签: CoreMark","lang":"zh-CN","frontmatter":{"title":"标签: CoreMark","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"CoreMark","key":"tag"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/tag/coremark/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"标签: CoreMark"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"标签: CoreMark\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{s as comp,i as data};
diff --git a/assets/index.html-CFhDcrZp.js b/assets/index.html-B45efyIG.js
similarity index 99%
rename from assets/index.html-CFhDcrZp.js
rename to assets/index.html-B45efyIG.js
index ebb2a30..59cab15 100644
--- a/assets/index.html-CFhDcrZp.js
+++ b/assets/index.html-B45efyIG.js
@@ -1,4 +1,4 @@
-import{_ as s}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as i,o as l,c as r,a as e,b as a,d as t,e as c}from"./app-ClwIkahu.js";const o={},d=e("p",null,"对于传统的嵌入式开发来说,我们一般常用的IDE都是诸如Keil、IAR等。这些IDE在方便了我们的开发的同时,也存在很多问题,例如在之前Keil-MDK5是不能跨平台的,仅限在Windows平台运行,并且它的授权也是一个老大难的问题。这样我们在团队协作的时候往往就会遇到很多问题,无法像是互联网的开发那样有一套完整的CI/CD流程。但是MDK6的更新解决了这个问题,第一它是跨平台的,这样在Windows、Linux以及MacOS上都能运行;并且也支持了很多命令行的操作,避免了繁琐的GUI操作,这样也更有利于自动化脚本的编写。",-1),p=e("h2",{id:"ci-cd是什么",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#ci-cd是什么"},[e("span",null,"CI/CD是什么")])],-1),h=e("p",null,"CI/CD是指持续集成(Continuous Integration)和持续交付(Continuous Delivery),是一种软件开发实践,通过使用自动化的软件工具来加快软件开发的流程,这样可以更快的交付高质量的软件。CI/CD的核心是持续集成,即在开发过程中,频繁的将代码集成到主干上,这样可以更快的发现错误,更快的修复错误。而持续交付则是在持续集成的基础上,将集成后的代码部署到生产环境中,这样可以更快的将新功能交付给用户。",-1),u=e("p",null,"简单来说,就是作为开发者的我们,只需要关注代码的编写,而不需要关注代码的编译、测试、部署等等,这些都可以通过自动化的脚本来完成。如果有多人协作的场景下,最终产物的编译和交付也可以通过自动化的脚本来完成,而不是传统的需要人工来完成。",-1),m={href:"https://docs.github.com/cn/actions/learn-github-actions/introduction-to-github-actions",target:"_blank",rel:"noopener noreferrer"},v=c(`<h2 id="一些前置条件" tabindex="-1"><a class="header-anchor" href="#一些前置条件"><span>一些前置条件</span></a></h2><ol><li>一个基于Keil-MDK的工程,无论你之前是否配置过MDK6</li><li>你的工程需要用AC6的编译器编译通过</li><li>一个Github账号</li><li>一定的学习能力</li></ol><h2 id="编写github-actions脚本" tabindex="-1"><a class="header-anchor" href="#编写github-actions脚本"><span>编写Github Actions脚本</span></a></h2><p>我们假定你的这个工程在Github上已经新建了一个仓库,如果没有需要先新建一个仓库。然后在仓库的根目录下新建一个<code>.github/workflows</code>文件夹,然后在这个文件夹下新建一个<code>release.yml</code>文件,这个文件就是我们的Github Actions脚本。它的名称无所谓,但是后缀必须是<code>.yml</code>,这是YAML文件的后缀。</p><p>我们略去一些基础的Action的操作,直接进入到关键的一些步骤。</p><h3 id="安装-vcpkg" tabindex="-1"><a class="header-anchor" href="#安装-vcpkg"><span>安装 vcpkg</span></a></h3><p>vcpkg是微软开发的一个C/C++的包管理工具,类似于Python的pip、Node.js的npm、Java的maven等等。在MDK6中它被用来作为很重要的包管理器,因此我们需要保证先安装好它。安装非常简单,只需要:</p><div class="language-bash line-numbers-mode" data-ext="sh" data-title="sh"><pre class="language-bash"><code><span class="token builtin class-name">.</span> <span class="token operator">&lt;</span><span class="token punctuation">(</span><span class="token function">curl</span> https://aka.ms/vcpkg-init.sh -L<span class="token punctuation">)</span>
+import{_ as s}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as i,o as l,c as r,a as e,b as a,d as t,e as c}from"./app-Flo2gZk8.js";const o={},d=e("p",null,"对于传统的嵌入式开发来说,我们一般常用的IDE都是诸如Keil、IAR等。这些IDE在方便了我们的开发的同时,也存在很多问题,例如在之前Keil-MDK5是不能跨平台的,仅限在Windows平台运行,并且它的授权也是一个老大难的问题。这样我们在团队协作的时候往往就会遇到很多问题,无法像是互联网的开发那样有一套完整的CI/CD流程。但是MDK6的更新解决了这个问题,第一它是跨平台的,这样在Windows、Linux以及MacOS上都能运行;并且也支持了很多命令行的操作,避免了繁琐的GUI操作,这样也更有利于自动化脚本的编写。",-1),p=e("h2",{id:"ci-cd是什么",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#ci-cd是什么"},[e("span",null,"CI/CD是什么")])],-1),h=e("p",null,"CI/CD是指持续集成(Continuous Integration)和持续交付(Continuous Delivery),是一种软件开发实践,通过使用自动化的软件工具来加快软件开发的流程,这样可以更快的交付高质量的软件。CI/CD的核心是持续集成,即在开发过程中,频繁的将代码集成到主干上,这样可以更快的发现错误,更快的修复错误。而持续交付则是在持续集成的基础上,将集成后的代码部署到生产环境中,这样可以更快的将新功能交付给用户。",-1),u=e("p",null,"简单来说,就是作为开发者的我们,只需要关注代码的编写,而不需要关注代码的编译、测试、部署等等,这些都可以通过自动化的脚本来完成。如果有多人协作的场景下,最终产物的编译和交付也可以通过自动化的脚本来完成,而不是传统的需要人工来完成。",-1),m={href:"https://docs.github.com/cn/actions/learn-github-actions/introduction-to-github-actions",target:"_blank",rel:"noopener noreferrer"},v=c(`<h2 id="一些前置条件" tabindex="-1"><a class="header-anchor" href="#一些前置条件"><span>一些前置条件</span></a></h2><ol><li>一个基于Keil-MDK的工程,无论你之前是否配置过MDK6</li><li>你的工程需要用AC6的编译器编译通过</li><li>一个Github账号</li><li>一定的学习能力</li></ol><h2 id="编写github-actions脚本" tabindex="-1"><a class="header-anchor" href="#编写github-actions脚本"><span>编写Github Actions脚本</span></a></h2><p>我们假定你的这个工程在Github上已经新建了一个仓库,如果没有需要先新建一个仓库。然后在仓库的根目录下新建一个<code>.github/workflows</code>文件夹,然后在这个文件夹下新建一个<code>release.yml</code>文件,这个文件就是我们的Github Actions脚本。它的名称无所谓,但是后缀必须是<code>.yml</code>,这是YAML文件的后缀。</p><p>我们略去一些基础的Action的操作,直接进入到关键的一些步骤。</p><h3 id="安装-vcpkg" tabindex="-1"><a class="header-anchor" href="#安装-vcpkg"><span>安装 vcpkg</span></a></h3><p>vcpkg是微软开发的一个C/C++的包管理工具,类似于Python的pip、Node.js的npm、Java的maven等等。在MDK6中它被用来作为很重要的包管理器,因此我们需要保证先安装好它。安装非常简单,只需要:</p><div class="language-bash line-numbers-mode" data-ext="sh" data-title="sh"><pre class="language-bash"><code><span class="token builtin class-name">.</span> <span class="token operator">&lt;</span><span class="token punctuation">(</span><span class="token function">curl</span> https://aka.ms/vcpkg-init.sh -L<span class="token punctuation">)</span>
 <span class="token builtin class-name">.</span> ~/.vcpkg/vcpkg-init
 <span class="token function">vcpkg</span> x-update-registry arm
 </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><div class="hint-container note"><p class="hint-container-title">注</p><p><code>vcpkg x-update-registry arm</code>这一行的作用是更新arm的包列表</p></div><h3 id="将mdk5风格的工程转换为mdk6" tabindex="-1"><a class="header-anchor" href="#将mdk5风格的工程转换为mdk6"><span>将MDK5风格的工程转换为MDK6</span></a></h3><p>这里Arm官方为我们提供了一个叫做<code>uv2csolution</code>的小工具,可以很方便地将<code>uvprojx</code>结尾的MDK5工程转换为MDK6,并且可以使用vcpkg直接安装。我们只需要</p><div class="language-bash line-numbers-mode" data-ext="sh" data-title="sh"><pre class="language-bash"><code><span class="token function">vcpkg</span> use uv2csolution
diff --git a/assets/index.html-DOCRL60a.js b/assets/index.html-BDmR_g70.js
similarity index 94%
rename from assets/index.html-DOCRL60a.js
rename to assets/index.html-BDmR_g70.js
index 93b572c..5a874ef 100644
--- a/assets/index.html-DOCRL60a.js
+++ b/assets/index.html-BDmR_g70.js
@@ -1 +1 @@
-import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as a}from"./app-ClwIkahu.js";const o={};function r(n,l){return t(),a("div")}const s=e(o,[["render",r],["__file","index.html.vue"]]),i=JSON.parse(`{"path":"/tag/%E5%A2%A8%E6%B0%B4%E5%B1%8F/","title":"标签: 墨水屏","lang":"zh-CN","frontmatter":{"title":"标签: 墨水屏","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"墨水屏","key":"tag"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/tag/%E5%A2%A8%E6%B0%B4%E5%B1%8F/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"标签: 墨水屏"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"标签: 墨水屏\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{s as comp,i as data};
+import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as a}from"./app-Flo2gZk8.js";const o={};function r(n,l){return t(),a("div")}const s=e(o,[["render",r],["__file","index.html.vue"]]),i=JSON.parse(`{"path":"/tag/%E5%A2%A8%E6%B0%B4%E5%B1%8F/","title":"标签: 墨水屏","lang":"zh-CN","frontmatter":{"title":"标签: 墨水屏","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"墨水屏","key":"tag"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/tag/%E5%A2%A8%E6%B0%B4%E5%B1%8F/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"标签: 墨水屏"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"标签: 墨水屏\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{s as comp,i as data};
diff --git a/assets/index.html-CptFZpi0.js b/assets/index.html-BFJ0kKZP.js
similarity index 94%
rename from assets/index.html-CptFZpi0.js
rename to assets/index.html-BFJ0kKZP.js
index 034a643..3cf1f21 100644
--- a/assets/index.html-CptFZpi0.js
+++ b/assets/index.html-BFJ0kKZP.js
@@ -1 +1 @@
-import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as a}from"./app-ClwIkahu.js";const r={};function o(n,i){return t(),a("div")}const c=e(r,[["render",o],["__file","index.html.vue"]]),s=JSON.parse(`{"path":"/tag/air32/","title":"标签: Air32","lang":"zh-CN","frontmatter":{"title":"标签: Air32","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"Air32","key":"tag"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/tag/air32/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"标签: Air32"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"标签: Air32\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{c as comp,s as data};
+import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as a}from"./app-Flo2gZk8.js";const r={};function o(n,i){return t(),a("div")}const c=e(r,[["render",o],["__file","index.html.vue"]]),s=JSON.parse(`{"path":"/tag/air32/","title":"标签: Air32","lang":"zh-CN","frontmatter":{"title":"标签: Air32","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"Air32","key":"tag"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/tag/air32/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"标签: Air32"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"标签: Air32\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{c as comp,s as data};
diff --git a/assets/index.html-B5-KeVPb.js b/assets/index.html-BNW3YRR3.js
similarity index 99%
rename from assets/index.html-B5-KeVPb.js
rename to assets/index.html-BNW3YRR3.js
index 97a4110..ec8d387 100644
--- a/assets/index.html-B5-KeVPb.js
+++ b/assets/index.html-BNW3YRR3.js
@@ -1 +1 @@
-import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as a,e as s}from"./app-ClwIkahu.js";const p="/assets/2024-03-16-01-32-31-mGrlcI8s.png",n="/assets/2024-03-16-01-33-09-B-D5yALP.png",i="/assets/2024-03-16-15-49-23-Cya-KnQb.png",l="/assets/2024-03-16-15-49-51-DJttEagy.png",r="/assets/2024-03-16-15-55-11-DlYPgBCM.png",o="/assets/2024-03-16-01-45-57-Ds-YsJY-.png",c="/assets/2024-03-16-01-47-42-cwbzvRL9.png",h="/assets/2024-03-16-16-05-16-cBmR9hWh.png",d="/assets/2024-03-16-16-51-21-jQf8Ie91.png",m="/assets/2024-03-16-01-52-12-D7_PXxJa.png",_="/assets/2024-03-16-16-30-11-D6h_9wQD.png",g={},f=s('<p>最近第三代郊狼开始内测了,作为一名电子爱好者,自然不能错过这个机会。于是我以原价 368 元的主机,以及 128 元两个智能按钮的价格,购买了一套第三代郊狼。</p><p>失望是从快递到手开始的,当到手之后我拆开,发现里面的竟然是飞机盒而不是之前的推拉式盒子。这个细节让我感觉有些失望,不过在打开盒子之后有了一些慰藉。因为里面给了一个收纳包,这点很好,当时我甚至很兴奋。</p><p>但是随着东西的拆解,所有的设备都被我摆在了桌上,我想,这就是它们的全部了吗?</p><p>主机和上一代几乎没有任何区别,只是改了个型号和加入了 RGB 灯,其余的结构件完全一致。此时的我稍稍有些失望,但是转念一想,玩意它的内功深厚,在内在进行了非常大的提升了呢。怀着这样的想法我把它拆了。</p><h2 id="主机拆解" tabindex="-1"><a class="header-anchor" href="#主机拆解"><span>主机拆解</span></a></h2><p>拆解过程很简单,只需要加热一下其中一面的面板一段时间,等胶水软化之后可以用吸盘去吸住拉下来,这个应该可以真无损拆解。而对于面板等另一面,稍微加热之后从内部往外部顶处即可,完全无损。</p><p><img src="'+p+'" alt=""></p><p><img src="'+n+'" alt=""></p><h2 id="主机规格分析" tabindex="-1"><a class="header-anchor" href="#主机规格分析"><span>主机规格分析</span></a></h2><h3 id="电源环路" tabindex="-1"><a class="header-anchor" href="#电源环路"><span>电源环路</span></a></h3><p>在宣传页中,厂商宣称优化了升压架构。但是经过初步分析,实质上的电源拓扑和第二代其实并无太大差异,依然是采用的开环 boost 拓扑。</p><p>但还是存在着一些差异,不难看出此次的电感和电容均换成了贴片,整体的功率相比前一代应该是有所降低。并且同时也可以看出,在输出端并联了一个 TVS 二极管用来限制最高输出电压,按照丝印分析,应该是 91V 的 TVS。这个数据相较于输出母线上的 100V 耐压的电解电容来说,还是稍微有一点极限了。</p><p>在第二代中,也有 TVS 进行限压,但是当初使用的是 150V 的 TVS,因此理论上来说第三代的最高输出电压是更低的。从后面的实测中也能看出,开到最高的挡位(200)后,输出的电压峰峰值约为 130.667V,而在第二代中峰峰值则约为 270V。</p><div class="hint-container note"><p class="hint-container-title">注</p><p>测试条件均为大约 500 欧的纯阻性负载下进行。</p></div><p><img src="'+i+'" alt="200 挡位下的输出波形"></p><p><img src="'+l+'" alt="100 挡位下的输出波形"></p><p>另外有趣的是,在上一代中输出有一个光耦与一个二极管,其中应该是采取反向并联的方式串入回路中。这样主控理论上可以检测到是否存在负载,但是遗憾是只能检测到半周的数据。而这一代中可以看出每一路的输出有 3 个光耦,并且 LED 输出指示的设计依然被保留了下来。至于这 3 个光耦是如何分配的,还需要进行进一步的分析。</p><p>另外,在官方的宣传页中,宣称加入了过流保护,最大电流不会超过 50mA,这个部分猜测应该是用的那两颗巨大的 1k 电阻进行采样,并且使用 LM393 比较器进行硬件地切断输出。这个部分相比二代的可能是纯软件的限流措施来说,确实有一定的提升。当然值得注意的是,这依然无法做到硬件级别的可调输出电流,并且也未知能否通过软件的方式作为最高电流的限制。</p><h3 id="主控" tabindex="-1"><a class="header-anchor" href="#主控"><span>主控</span></a></h3><p>第三代的主控芯片和上一代一样,依旧采用的是<code>nRF52832</code>,并且有意思的是它的生产日期依然是 2022 年,清库存实锤了(</p><details class="hint-container details"><summary>碎碎念</summary><p>猜测其实和第二代的软件部分也不会差太多,纯纯的炒冷饭。</p></details><p>在板子上我还发现了有一颗被磨标的 TSSOP-16 封装的芯片,但是不知道具体的作用是什么,如果有能猜测出来的同学可以偷偷在评论区里告诉我((</p><h3 id="电池管理" tabindex="-1"><a class="header-anchor" href="#电池管理"><span>电池管理</span></a></h3><p>和第二代一样,电池的充电芯片依然采用的是<code>SGM4056</code>,<code>TDFN-3×3-8</code>封装。至于锂电池的保护应该是交给内置的保护板进行处理。</p><p><img src="'+r+'" alt=""></p><h2 id="按钮拆解" tabindex="-1"><a class="header-anchor" href="#按钮拆解"><span>按钮拆解</span></a></h2><p>按钮的拆解也很简单,只需要用一把小螺丝刀即可,记住大力出奇迹,它的本质不过就是一个带卡扣的外壳,所以只要稍微用力即可拆开。</p><p><img src="'+o+'" alt=""><img src="'+c+'" alt=""></p><h2 id="按钮规格分析" tabindex="-1"><a class="header-anchor" href="#按钮规格分析"><span>按钮规格分析</span></a></h2><p>相比于主机,配套的按钮整体的复杂度低了不少,本质上就是一个一堆开关与一个 IMU 通过一个 BLE 的主控透传出去。</p><h3 id="主控-1" tabindex="-1"><a class="header-anchor" href="#主控-1"><span>主控</span></a></h3><p>主控使用的是上海博通的方案,具体的型号为<code>BK3432</code>。支持双模蓝牙和 2.4G 的通信。但是值得注意的是它的内置 ADC 仅仅只有 10bit,对于官方宣称的可以使用 Type-C 的 CC1 进行外部电压检测功能来说,ADC 的性能可能会造成一些玩法上的限制。</p><p><img src="'+h+'" alt=""></p><h3 id="imu" tabindex="-1"><a class="header-anchor" href="#imu"><span>IMU</span></a></h3><p>根据芯片的丝印分析,IMU 使用的应该是<code>SC7A20</code>,这个方案的优势就是成本非常的廉价,在淘宝上大部分的售价均在一元人民币左右。当然缺点嘛……就是它至少一个普通的 3 轴加速度计,不支持角速度,也不支持陀螺仪的相关功能。使用的拓展性势必会造成一定的限制。</p><p><img src="'+d+'" alt=""></p><h3 id="按键" tabindex="-1"><a class="header-anchor" href="#按键"><span>按键</span></a></h3><p>按键采用的是微动开关,但是个人感觉因为结构的限制,只有几个弹簧支承上下壳体,因此手感会比较差,触发力度非常低,当然考虑到应用场景,可能也算是 play 的一环吧 ( ̄﹃ ̄)</p><p>另外个人感觉这个微动开关的声音有些略大了,在安静的环境中会非常明显,就像是有人不断在点击鼠标一样。对我来说如果是在比较公开的场合来说,还是希望能换成一些声音较小的微动。</p><p>按钮的定价的话目前是 128 人民币两个,就成本来说我个人感觉还是蛮贵的……</p><h2 id="一些奇奇怪怪的问题" tabindex="-1"><a class="header-anchor" href="#一些奇奇怪怪的问题"><span>一些奇奇怪怪的问题</span></a></h2><h3 id="主机端" tabindex="-1"><a class="header-anchor" href="#主机端"><span>主机端</span></a></h3><p>主机端有一个非常有意思的东西,在 PCB 上可以看到有一些二次焊接的痕迹,比如说 R80 这个电阻就被拆掉了,上面的助焊剂甚至都没有清理干净。这样的痕迹也不止一处。</p><p><img src="'+m+'" alt=""></p><h3 id="执行标准" tabindex="-1"><a class="header-anchor" href="#执行标准"><span>执行标准</span></a></h3><p>在包装盒上出现了一个所谓的“执行标准”,但是经过查阅之后发现并不存在相关的国家标准,这个应该是官方自造的一个标准。这个就有点难绷了。</p><p><img src="'+_+'" alt=""></p><h2 id="总结" tabindex="-1"><a class="header-anchor" href="#总结"><span>总结</span></a></h2><p>相比二代的主机来说,三代主机并没有得到本质的提升,软件方面应该是大差不差的,仅仅是在硬件上进行了一些不大不小的升级。对于鸽了大半年,并且距离上一代已经很多年的产品来说,我感觉很难感觉到有什么诚意。并且更令人失望的是,二代和三代的结构件是完全一致的,仅仅只是前面板修改了一下版本,而中框和后面板则完全一致。</p><p>在一些比较关键的元件上,甚至有一些缩水,比如最高的输出电压,以及升压电感和电容。在第二代上存在一个问题,长时间使用之后升压部分会变得非常热,并且甚至可能会烫伤用户,在第三代中这个问题势必会变得更严重。至于有没有添加诸如 NTC 之类的保护措施,就目前肉眼所见的情况来看,是没有的。不过目前我没有热成像,因此也暂时没法进行长时间的压力测试了,这个以后会补上。</p><p>对于外置的按键来说,想法很有心意,但是落实到具体的产品上依旧让人感受到了一种敷衍。硬件采用的基本都是最低最便宜的方案,对于这个售价来说属实不应该,非常亏。</p><p>总而言之,对于拥有老款主机的用户来说,我并不是很推荐购买新款,因为真的没什么区别。当然如果是对于在观望的新用户来说,可能可以满足你的需求,但是一定不会远远超出预期,最好先问问自己是否真的需要,如果是刚需再购买,否则一定一定会后悔。</p><p>我并不反对高价的产品,但是我非常反感一边卖高价一边采用 costdown 方案。因为这减少的不仅只有成本,还有性能。</p>',53),u=[f];function w(y,x){return t(),a("div",null,u)}const v=e(g,[["render",w],["__file","index.html.vue"]]),S=JSON.parse(`{"path":"/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/","title":"为什么我对第三代郊狼失望","lang":"zh-CN","frontmatter":{"title":"为什么我对第三代郊狼失望","permalink":"/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/","category":["posts"],"tag":["碎碎念","郊狼"],"author":{"name":"HalfSweet","link":"https://github.com/HalfSweet"},"description":"最近第三代郊狼开始内测了,作为一名电子爱好者,自然不能错过这个机会。于是我以原价 368 元的主机,以及 128 元两个智能按钮的价格,购买了一套第三代郊狼。 失望是从快递到手开始的,当到手之后我拆开,发现里面的竟然是飞机盒而不是之前的推拉式盒子。这个细节让我感觉有些失望,不过在打开盒子之后有了一些慰藉。因为里面给了一个收纳包,这点很好,当时我甚至很兴...","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"为什么我对第三代郊狼失望"}],["meta",{"property":"og:description","content":"最近第三代郊狼开始内测了,作为一名电子爱好者,自然不能错过这个机会。于是我以原价 368 元的主机,以及 128 元两个智能按钮的价格,购买了一套第三代郊狼。 失望是从快递到手开始的,当到手之后我拆开,发现里面的竟然是飞机盒而不是之前的推拉式盒子。这个细节让我感觉有些失望,不过在打开盒子之后有了一些慰藉。因为里面给了一个收纳包,这点很好,当时我甚至很兴..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-03-23T06:35:02.000Z"}],["meta",{"property":"article:author","content":"HalfSweet"}],["meta",{"property":"article:tag","content":"碎碎念"}],["meta",{"property":"article:tag","content":"郊狼"}],["meta",{"property":"article:modified_time","content":"2024-03-23T06:35:02.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"为什么我对第三代郊狼失望\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-03-23T06:35:02.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"HalfSweet\\",\\"link\\":\\"https://github.com/HalfSweet\\"}]}"]]},"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":2,"title":"按钮拆解","slug":"按钮拆解","link":"#按钮拆解","children":[]},{"level":2,"title":"按钮规格分析","slug":"按钮规格分析","link":"#按钮规格分析","children":[{"level":3,"title":"主控","slug":"主控-1","link":"#主控-1","children":[]},{"level":3,"title":"IMU","slug":"imu","link":"#imu","children":[]},{"level":3,"title":"按键","slug":"按键","link":"#按键","children":[]}]},{"level":2,"title":"一些奇奇怪怪的问题","slug":"一些奇奇怪怪的问题","link":"#一些奇奇怪怪的问题","children":[{"level":3,"title":"主机端","slug":"主机端","link":"#主机端","children":[]},{"level":3,"title":"执行标准","slug":"执行标准","link":"#执行标准","children":[]}]},{"level":2,"title":"总结","slug":"总结","link":"#总结","children":[]}],"git":{"createdTime":1710525566000,"updatedTime":1711175702000,"contributors":[{"name":"HalfSweet","email":"HalfSweet@HalfSweet.cn","commits":3},{"name":"HalfSweet","email":"halfsweet@halfsweet.cn","commits":3}]},"readingTime":{"minutes":8.04,"words":2412},"filePathRelative":"posts/为什么我对第三代郊狼失望.md","localizedDate":"2024年3月15日","excerpt":"<p>最近第三代郊狼开始内测了,作为一名电子爱好者,自然不能错过这个机会。于是我以原价 368 元的主机,以及 128 元两个智能按钮的价格,购买了一套第三代郊狼。</p>\\n","autoDesc":true}`);export{v as comp,S as data};
+import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as a,e as s}from"./app-Flo2gZk8.js";const p="/assets/2024-03-16-01-32-31-mGrlcI8s.png",n="/assets/2024-03-16-01-33-09-B-D5yALP.png",i="/assets/2024-03-16-15-49-23-Cya-KnQb.png",l="/assets/2024-03-16-15-49-51-DJttEagy.png",r="/assets/2024-03-16-15-55-11-DlYPgBCM.png",o="/assets/2024-03-16-01-45-57-Ds-YsJY-.png",c="/assets/2024-03-16-01-47-42-cwbzvRL9.png",h="/assets/2024-03-16-16-05-16-cBmR9hWh.png",d="/assets/2024-03-16-16-51-21-jQf8Ie91.png",m="/assets/2024-03-16-01-52-12-D7_PXxJa.png",_="/assets/2024-03-16-16-30-11-D6h_9wQD.png",g={},f=s('<p>最近第三代郊狼开始内测了,作为一名电子爱好者,自然不能错过这个机会。于是我以原价 368 元的主机,以及 128 元两个智能按钮的价格,购买了一套第三代郊狼。</p><p>失望是从快递到手开始的,当到手之后我拆开,发现里面的竟然是飞机盒而不是之前的推拉式盒子。这个细节让我感觉有些失望,不过在打开盒子之后有了一些慰藉。因为里面给了一个收纳包,这点很好,当时我甚至很兴奋。</p><p>但是随着东西的拆解,所有的设备都被我摆在了桌上,我想,这就是它们的全部了吗?</p><p>主机和上一代几乎没有任何区别,只是改了个型号和加入了 RGB 灯,其余的结构件完全一致。此时的我稍稍有些失望,但是转念一想,玩意它的内功深厚,在内在进行了非常大的提升了呢。怀着这样的想法我把它拆了。</p><h2 id="主机拆解" tabindex="-1"><a class="header-anchor" href="#主机拆解"><span>主机拆解</span></a></h2><p>拆解过程很简单,只需要加热一下其中一面的面板一段时间,等胶水软化之后可以用吸盘去吸住拉下来,这个应该可以真无损拆解。而对于面板等另一面,稍微加热之后从内部往外部顶处即可,完全无损。</p><p><img src="'+p+'" alt=""></p><p><img src="'+n+'" alt=""></p><h2 id="主机规格分析" tabindex="-1"><a class="header-anchor" href="#主机规格分析"><span>主机规格分析</span></a></h2><h3 id="电源环路" tabindex="-1"><a class="header-anchor" href="#电源环路"><span>电源环路</span></a></h3><p>在宣传页中,厂商宣称优化了升压架构。但是经过初步分析,实质上的电源拓扑和第二代其实并无太大差异,依然是采用的开环 boost 拓扑。</p><p>但还是存在着一些差异,不难看出此次的电感和电容均换成了贴片,整体的功率相比前一代应该是有所降低。并且同时也可以看出,在输出端并联了一个 TVS 二极管用来限制最高输出电压,按照丝印分析,应该是 91V 的 TVS。这个数据相较于输出母线上的 100V 耐压的电解电容来说,还是稍微有一点极限了。</p><p>在第二代中,也有 TVS 进行限压,但是当初使用的是 150V 的 TVS,因此理论上来说第三代的最高输出电压是更低的。从后面的实测中也能看出,开到最高的挡位(200)后,输出的电压峰峰值约为 130.667V,而在第二代中峰峰值则约为 270V。</p><div class="hint-container note"><p class="hint-container-title">注</p><p>测试条件均为大约 500 欧的纯阻性负载下进行。</p></div><p><img src="'+i+'" alt="200 挡位下的输出波形"></p><p><img src="'+l+'" alt="100 挡位下的输出波形"></p><p>另外有趣的是,在上一代中输出有一个光耦与一个二极管,其中应该是采取反向并联的方式串入回路中。这样主控理论上可以检测到是否存在负载,但是遗憾是只能检测到半周的数据。而这一代中可以看出每一路的输出有 3 个光耦,并且 LED 输出指示的设计依然被保留了下来。至于这 3 个光耦是如何分配的,还需要进行进一步的分析。</p><p>另外,在官方的宣传页中,宣称加入了过流保护,最大电流不会超过 50mA,这个部分猜测应该是用的那两颗巨大的 1k 电阻进行采样,并且使用 LM393 比较器进行硬件地切断输出。这个部分相比二代的可能是纯软件的限流措施来说,确实有一定的提升。当然值得注意的是,这依然无法做到硬件级别的可调输出电流,并且也未知能否通过软件的方式作为最高电流的限制。</p><h3 id="主控" tabindex="-1"><a class="header-anchor" href="#主控"><span>主控</span></a></h3><p>第三代的主控芯片和上一代一样,依旧采用的是<code>nRF52832</code>,并且有意思的是它的生产日期依然是 2022 年,清库存实锤了(</p><details class="hint-container details"><summary>碎碎念</summary><p>猜测其实和第二代的软件部分也不会差太多,纯纯的炒冷饭。</p></details><p>在板子上我还发现了有一颗被磨标的 TSSOP-16 封装的芯片,但是不知道具体的作用是什么,如果有能猜测出来的同学可以偷偷在评论区里告诉我((</p><h3 id="电池管理" tabindex="-1"><a class="header-anchor" href="#电池管理"><span>电池管理</span></a></h3><p>和第二代一样,电池的充电芯片依然采用的是<code>SGM4056</code>,<code>TDFN-3×3-8</code>封装。至于锂电池的保护应该是交给内置的保护板进行处理。</p><p><img src="'+r+'" alt=""></p><h2 id="按钮拆解" tabindex="-1"><a class="header-anchor" href="#按钮拆解"><span>按钮拆解</span></a></h2><p>按钮的拆解也很简单,只需要用一把小螺丝刀即可,记住大力出奇迹,它的本质不过就是一个带卡扣的外壳,所以只要稍微用力即可拆开。</p><p><img src="'+o+'" alt=""><img src="'+c+'" alt=""></p><h2 id="按钮规格分析" tabindex="-1"><a class="header-anchor" href="#按钮规格分析"><span>按钮规格分析</span></a></h2><p>相比于主机,配套的按钮整体的复杂度低了不少,本质上就是一个一堆开关与一个 IMU 通过一个 BLE 的主控透传出去。</p><h3 id="主控-1" tabindex="-1"><a class="header-anchor" href="#主控-1"><span>主控</span></a></h3><p>主控使用的是上海博通的方案,具体的型号为<code>BK3432</code>。支持双模蓝牙和 2.4G 的通信。但是值得注意的是它的内置 ADC 仅仅只有 10bit,对于官方宣称的可以使用 Type-C 的 CC1 进行外部电压检测功能来说,ADC 的性能可能会造成一些玩法上的限制。</p><p><img src="'+h+'" alt=""></p><h3 id="imu" tabindex="-1"><a class="header-anchor" href="#imu"><span>IMU</span></a></h3><p>根据芯片的丝印分析,IMU 使用的应该是<code>SC7A20</code>,这个方案的优势就是成本非常的廉价,在淘宝上大部分的售价均在一元人民币左右。当然缺点嘛……就是它至少一个普通的 3 轴加速度计,不支持角速度,也不支持陀螺仪的相关功能。使用的拓展性势必会造成一定的限制。</p><p><img src="'+d+'" alt=""></p><h3 id="按键" tabindex="-1"><a class="header-anchor" href="#按键"><span>按键</span></a></h3><p>按键采用的是微动开关,但是个人感觉因为结构的限制,只有几个弹簧支承上下壳体,因此手感会比较差,触发力度非常低,当然考虑到应用场景,可能也算是 play 的一环吧 ( ̄﹃ ̄)</p><p>另外个人感觉这个微动开关的声音有些略大了,在安静的环境中会非常明显,就像是有人不断在点击鼠标一样。对我来说如果是在比较公开的场合来说,还是希望能换成一些声音较小的微动。</p><p>按钮的定价的话目前是 128 人民币两个,就成本来说我个人感觉还是蛮贵的……</p><h2 id="一些奇奇怪怪的问题" tabindex="-1"><a class="header-anchor" href="#一些奇奇怪怪的问题"><span>一些奇奇怪怪的问题</span></a></h2><h3 id="主机端" tabindex="-1"><a class="header-anchor" href="#主机端"><span>主机端</span></a></h3><p>主机端有一个非常有意思的东西,在 PCB 上可以看到有一些二次焊接的痕迹,比如说 R80 这个电阻就被拆掉了,上面的助焊剂甚至都没有清理干净。这样的痕迹也不止一处。</p><p><img src="'+m+'" alt=""></p><h3 id="执行标准" tabindex="-1"><a class="header-anchor" href="#执行标准"><span>执行标准</span></a></h3><p>在包装盒上出现了一个所谓的“执行标准”,但是经过查阅之后发现并不存在相关的国家标准,这个应该是官方自造的一个标准。这个就有点难绷了。</p><p><img src="'+_+'" alt=""></p><h2 id="总结" tabindex="-1"><a class="header-anchor" href="#总结"><span>总结</span></a></h2><p>相比二代的主机来说,三代主机并没有得到本质的提升,软件方面应该是大差不差的,仅仅是在硬件上进行了一些不大不小的升级。对于鸽了大半年,并且距离上一代已经很多年的产品来说,我感觉很难感觉到有什么诚意。并且更令人失望的是,二代和三代的结构件是完全一致的,仅仅只是前面板修改了一下版本,而中框和后面板则完全一致。</p><p>在一些比较关键的元件上,甚至有一些缩水,比如最高的输出电压,以及升压电感和电容。在第二代上存在一个问题,长时间使用之后升压部分会变得非常热,并且甚至可能会烫伤用户,在第三代中这个问题势必会变得更严重。至于有没有添加诸如 NTC 之类的保护措施,就目前肉眼所见的情况来看,是没有的。不过目前我没有热成像,因此也暂时没法进行长时间的压力测试了,这个以后会补上。</p><p>对于外置的按键来说,想法很有心意,但是落实到具体的产品上依旧让人感受到了一种敷衍。硬件采用的基本都是最低最便宜的方案,对于这个售价来说属实不应该,非常亏。</p><p>总而言之,对于拥有老款主机的用户来说,我并不是很推荐购买新款,因为真的没什么区别。当然如果是对于在观望的新用户来说,可能可以满足你的需求,但是一定不会远远超出预期,最好先问问自己是否真的需要,如果是刚需再购买,否则一定一定会后悔。</p><p>我并不反对高价的产品,但是我非常反感一边卖高价一边采用 costdown 方案。因为这减少的不仅只有成本,还有性能。</p>',53),u=[f];function w(y,x){return t(),a("div",null,u)}const v=e(g,[["render",w],["__file","index.html.vue"]]),S=JSON.parse(`{"path":"/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/","title":"为什么我对第三代郊狼失望","lang":"zh-CN","frontmatter":{"title":"为什么我对第三代郊狼失望","permalink":"/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/","category":["posts"],"tag":["碎碎念","郊狼"],"author":{"name":"HalfSweet","link":"https://github.com/HalfSweet"},"description":"最近第三代郊狼开始内测了,作为一名电子爱好者,自然不能错过这个机会。于是我以原价 368 元的主机,以及 128 元两个智能按钮的价格,购买了一套第三代郊狼。 失望是从快递到手开始的,当到手之后我拆开,发现里面的竟然是飞机盒而不是之前的推拉式盒子。这个细节让我感觉有些失望,不过在打开盒子之后有了一些慰藉。因为里面给了一个收纳包,这点很好,当时我甚至很兴...","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"为什么我对第三代郊狼失望"}],["meta",{"property":"og:description","content":"最近第三代郊狼开始内测了,作为一名电子爱好者,自然不能错过这个机会。于是我以原价 368 元的主机,以及 128 元两个智能按钮的价格,购买了一套第三代郊狼。 失望是从快递到手开始的,当到手之后我拆开,发现里面的竟然是飞机盒而不是之前的推拉式盒子。这个细节让我感觉有些失望,不过在打开盒子之后有了一些慰藉。因为里面给了一个收纳包,这点很好,当时我甚至很兴..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-03-23T06:35:02.000Z"}],["meta",{"property":"article:author","content":"HalfSweet"}],["meta",{"property":"article:tag","content":"碎碎念"}],["meta",{"property":"article:tag","content":"郊狼"}],["meta",{"property":"article:modified_time","content":"2024-03-23T06:35:02.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"为什么我对第三代郊狼失望\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-03-23T06:35:02.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"HalfSweet\\",\\"link\\":\\"https://github.com/HalfSweet\\"}]}"]]},"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":2,"title":"按钮拆解","slug":"按钮拆解","link":"#按钮拆解","children":[]},{"level":2,"title":"按钮规格分析","slug":"按钮规格分析","link":"#按钮规格分析","children":[{"level":3,"title":"主控","slug":"主控-1","link":"#主控-1","children":[]},{"level":3,"title":"IMU","slug":"imu","link":"#imu","children":[]},{"level":3,"title":"按键","slug":"按键","link":"#按键","children":[]}]},{"level":2,"title":"一些奇奇怪怪的问题","slug":"一些奇奇怪怪的问题","link":"#一些奇奇怪怪的问题","children":[{"level":3,"title":"主机端","slug":"主机端","link":"#主机端","children":[]},{"level":3,"title":"执行标准","slug":"执行标准","link":"#执行标准","children":[]}]},{"level":2,"title":"总结","slug":"总结","link":"#总结","children":[]}],"git":{"createdTime":1710525566000,"updatedTime":1711175702000,"contributors":[{"name":"HalfSweet","email":"HalfSweet@HalfSweet.cn","commits":3},{"name":"HalfSweet","email":"halfsweet@halfsweet.cn","commits":3}]},"readingTime":{"minutes":8.04,"words":2412},"filePathRelative":"posts/为什么我对第三代郊狼失望.md","localizedDate":"2024年3月15日","excerpt":"<p>最近第三代郊狼开始内测了,作为一名电子爱好者,自然不能错过这个机会。于是我以原价 368 元的主机,以及 128 元两个智能按钮的价格,购买了一套第三代郊狼。</p>\\n","autoDesc":true}`);export{v as comp,S as data};
diff --git a/assets/index.html-Dc2bdBF2.js b/assets/index.html-BRHXQqdq.js
similarity index 94%
rename from assets/index.html-Dc2bdBF2.js
rename to assets/index.html-BRHXQqdq.js
index 28ce7ff..bfb01b6 100644
--- a/assets/index.html-Dc2bdBF2.js
+++ b/assets/index.html-BRHXQqdq.js
@@ -1 +1 @@
-import{_ as t}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as e,c as a}from"./app-ClwIkahu.js";const o={};function r(n,l){return e(),a("div")}const m=t(o,[["render",r],["__file","index.html.vue"]]),i=JSON.parse(`{"path":"/tag/platformio/","title":"标签: PlatformIO","lang":"zh-CN","frontmatter":{"title":"标签: PlatformIO","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"PlatformIO","key":"tag"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/tag/platformio/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"标签: PlatformIO"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"标签: PlatformIO\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{m as comp,i as data};
+import{_ as t}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as e,c as a}from"./app-Flo2gZk8.js";const o={};function r(n,l){return e(),a("div")}const m=t(o,[["render",r],["__file","index.html.vue"]]),i=JSON.parse(`{"path":"/tag/platformio/","title":"标签: PlatformIO","lang":"zh-CN","frontmatter":{"title":"标签: PlatformIO","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"PlatformIO","key":"tag"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/tag/platformio/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"标签: PlatformIO"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"标签: PlatformIO\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{m as comp,i as data};
diff --git a/assets/index.html-DbCWijUV.js b/assets/index.html-BSndmKE7.js
similarity index 94%
rename from assets/index.html-DbCWijUV.js
rename to assets/index.html-BSndmKE7.js
index 2d3d3af..30520eb 100644
--- a/assets/index.html-DbCWijUV.js
+++ b/assets/index.html-BSndmKE7.js
@@ -1 +1 @@
-import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as a}from"./app-ClwIkahu.js";const o={};function n(r,c){return t(),a("div")}const s=e(o,[["render",n],["__file","index.html.vue"]]),i=JSON.parse(`{"path":"/tag/conda/","title":"标签: conda","lang":"zh-CN","frontmatter":{"title":"标签: conda","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"conda","key":"tag"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/tag/conda/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"标签: conda"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"标签: conda\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{s as comp,i as data};
+import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as a}from"./app-Flo2gZk8.js";const o={};function n(r,c){return t(),a("div")}const s=e(o,[["render",n],["__file","index.html.vue"]]),i=JSON.parse(`{"path":"/tag/conda/","title":"标签: conda","lang":"zh-CN","frontmatter":{"title":"标签: conda","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"conda","key":"tag"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/tag/conda/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"标签: conda"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"标签: conda\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{s as comp,i as data};
diff --git a/assets/index.html-XtQdJJI8.js b/assets/index.html-BWPjJqfa.js
similarity index 99%
rename from assets/index.html-XtQdJJI8.js
rename to assets/index.html-BWPjJqfa.js
index 687c3a5..4ce129f 100644
--- a/assets/index.html-XtQdJJI8.js
+++ b/assets/index.html-BWPjJqfa.js
@@ -1 +1 @@
-import{_ as s}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as n,o as r,c as o,a as t,b as e,d as l,e as a}from"./app-ClwIkahu.js";const i="/assets/Refresh1-CILkrzQf.gif",c="/assets/Refresh2-DOaHQdUX.gif",d="/assets/SCH1-PC-HMVkY.jpg",h="/assets/PCB1-CkFh4M3J.jpg",m="/assets/Code1-Cme3G5cN.jpg",g="/assets/Datasheet1-DAsJwtH0.png",f="/assets/Epd1-Ct8xd5fC.jpg",_={},x=a('<h2 id="前言" tabindex="-1"><a class="header-anchor" href="#前言"><span>前言</span></a></h2><p>之前在我群里的同学应该都还记得,之前有朋友送给半糖两块7.5寸的墨水屏,其中一块是黑白双色的,标签型号是DEPG0750RWU790F30,驱动芯片则是UC8179。这块屏确实蛮好的,有着高达800*480的分辨率,并且因为是7.5寸所以可视面积非常大,但是在调试的过程中半糖发现了一个问题:这个屏幕的刷新过程中怎么会出现白色条纹,并且刷完的颜色非常怪?</p><p><img src="'+i+'" alt=""></p><p><img src="'+c+'" alt=""></p><p>其中上面一张图为我自己做的波形,第二张为使用的OTP波形,但是无一例外,都出现了刷新的问题。抱着也许是驱动板出问题了的想法,我重新lay了一次板子,焊接好之后发现问题确实有所改善,但是并不佳。后续在更换过程中发现采用cd32封装的68uH的电感刷新效果会更好一些,但是依旧存在刷新问题,特别是在UI中有竖着的线条的时候,特别影响观感。</p><h2 id="大佬相助" tabindex="-1"><a class="header-anchor" href="#大佬相助"><span>大佬相助</span></a></h2>',6),u={href:"https://github.com/axdz007",target:"_blank",rel:"noopener noreferrer"},T=t("s",null,"威逼利诱",-1),C=a('<p>果不其然,在他移植了我之前写的程序的时候,问题便复现了。</p><iframe src="/EpdTraps1/Refresh3.mp4" style="vertical-align:top;width:100%;height:100%;"></iframe><p>经过一系列的检查,排除了是取模方式等的因素,我们惊讶地发现…大连佳显的官方例程里面给的图片可以完美显示?紧接着我们又试了下全0xAA以及0x55的数据,理论上这样推上去的图像将是完整的一条条1像素的黑白条纹,结果……非常完美。既然横条没问题,那么竖条呢?出现了一点小问题。那么棋盘格呢?问题大了,屏幕甚至想要拒绝刷新。紧接着尝试了别的图像,结果出现了非常奇怪的效果,如果黑色比较少,分得比较开,那么刷出来没有任何问题,但是刷图片类似的比较复杂的形状又会炸掉。难道是内存出现了什么毛病?</p><p>紧接着检查,发现了一个我们之前忽视的点,硬件驱动电路!</p><p><img src="'+d+'" alt=""></p><p>可以看出,与常规的墨水屏驱动电路相比,该电路的高压部分电容均为10uF,并且boost电荷泵部分的电容为4.7uF,会是这个原因吗?于是大佬开始了他的飞线操作。</p><p><img src="'+h+'" alt=""></p><p>不得不说大佬技艺高超,很快就把缺失的电容补上了,那么,工作正常了吗?</p><p>事实证明还是有所效果,刷图的质量明显好了不少,像素棋盘格也能正常显示了,这下刷图片总没有问题了吧?</p><p>没有意外的话现在就要出意外了,令人惊讶的是棋盘格能显示,但是刷的图片还是依旧炸裂。这就奇了怪了,刷全白正常,刷全黑正常,刷条纹正常,甚至刷棋盘格也正常,但是刷区区一张图片竟然出现了问题?难道是芯片设计的bug吗。</p><h2 id="初寻端倪" tabindex="-1"><a class="header-anchor" href="#初寻端倪"><span>初寻端倪</span></a></h2><h3 id="tcon-setting" tabindex="-1"><a class="header-anchor" href="#tcon-setting"><span>TCON SETTING</span></a></h3><p>经过了一系列的尝试,我们将重心转移到了寄存器的配置上。首先我注意到了一个0x60的寄存器,这个寄存器的描述为“TCON SETTING”,内容为“This command defines non-overlap period of Gate and Source.”是因为内部的时序问题才导致的刷新不正常吗?但是在修改之后未果,故障依旧。同时参考了同芯片的微雪的屏幕驱动代码,该寄存器的设置的值并不一致,但是修改后故障依旧。</p><h3 id="修改pll" tabindex="-1"><a class="header-anchor" href="#修改pll"><span>修改PLL</span></a></h3><p>我们联想到,如果是时序导致的出错,那么降低频率是否会好一些?于是我们便尝试了修改屏幕的PLL参数,该寄存器地址为0x30。神奇的事发生了,在大佬降低PLL到5Hz之后,发现之前刷新炸掉的图片竟然能正常刷新了!除了刷的很慢之外并没有什么多余的问题。紧接着又尝试了4灰度使用内部OTP波形进行刷新,发现依然能正常刷新。</p><p>难道是因为屏幕厂商的内部布线问题,导致时钟开太高会有干扰?想想便感觉非常不合理,还是说难道屏厂在测试的时候使用的都是比较简单的图片,因此并没有发现刷新的问题?不管什么样的解释,显得都非常牵强,但是目前我们也找不到更好的解决方案,因此便告一段落,并一致认为大概率是屏厂设计导致的硬件问题。</p><h3 id="真凶在此" tabindex="-1"><a class="header-anchor" href="#真凶在此"><span>真凶在此</span></a></h3><p>在闲聊中,我们发现威锋有一款5.83寸的屏幕与这块屏幕采用了同款驱动芯片,于是大佬便决定把5.83屏幕的初始化代码搬过来试试。令人意想不到的情况出现了,竟然……好了?在这样的初始化代码下,屏幕的刷新竟然无比的丝滑顺畅,似乎本该如此,可是,为什么呢?</p><p>幸而5.83屏的初始化代码非常简洁,我们很轻易就可以发现不同点:主要便是0x06这个寄存器。</p><p><img src="'+m+'" alt="5.83屏幕的初始化代码"></p><p>那么,这个寄存器是做什么用的呢?</p><p><img src="'+g+'" alt=""></p><p>虽然描述寥寥,但是我们依稀能看出是与boost升压有关,并且第三个数据默认值为0x17,而5.83屏幕的初始化代码中为0x28,是否就是这个寄存器导致的呢?我们将这段初始化代码复制了过去。</p><p>意想不到的事出现了,正常了,彻底正常了!没有讨厌的条纹,没有刷新后掉色,屏幕安安静静刷新出一帧的画面,自然又好看。</p><p><img src="'+f+'" alt=""></p><p>虽然我找了下相同芯片的在GxEpd2库下方的代码,发现或多或少都对这个寄存器进行了配置,有<code>0x17,0x17,0x28</code>的,有<code>0xC7,0xCC,0x28</code>的,还有<code>0x17,0x17,0x39,0x17</code>的,大家都没有采用默认的四个0x17的值。不知道大佬佳显是抱着怎样的想法,漏掉了这个至关重要的寄存器,也许是屏厂给的测试代码就没有。</p><p>这个寄存器没有具体的描述,在SSD芯片中也有类似的寄存器,但是同样额米有具体的文字描述,根据名字来看,或许和boost有关,并且不同的值应该与驱动能力有关,但是具体有什么用,ABC相有什么区别,我不得而知,如果有知道的同学可以告诉我,不胜感激()</p><h2 id="总结" tabindex="-1"><a class="header-anchor" href="#总结"><span>总结</span></a></h2><p>总而言之,经过了一晚上的忙活,查找了各种原因,结果发现是一个寄存器没有配置。虽然问题不大,但是蛮折磨人的,并且也不知道是具体原因。不过有了这次的经验,在下次遇到类似的故障的时候,想必找到问题出现的原因会更加轻松。</p><h2 id="备注" tabindex="-1"><a class="header-anchor" href="#备注"><span>备注</span></a></h2><p>DEPG0750RWU790F30这块屏幕请记住,一定要配置0x06的寄存器!!!相同尺寸的相同驱动芯片的屏幕应该也大致如此,希望能帮到更多遇到类似问题的同学。</p>',31);function y(b,k){const p=n("ExternalLinkIcon");return r(),o("div",null,[x,t("p",null,[e("时间过得飞快,到了前几天,想着我解决不了这个问题就拉帮手的想法,我将这块屏寄给了"),t("a",u,[e("滚筒洗衣机"),l(p)]),e("大佬,然后在我的"),T,e("强烈要求下,我们开始了新一轮的测试。")]),C])}const S=s(_,[["render",y],["__file","index.html.vue"]]),U=JSON.parse(`{"path":"/posts/EpdTraps1/","title":"墨水屏的坑——7.5寸墨水屏刷新为何出现条纹","lang":"zh-CN","frontmatter":{"title":"墨水屏的坑——7.5寸墨水屏刷新为何出现条纹","date":"2022-11-06T05:30:37.000Z","permalink":"/posts/EpdTraps1/","category":["墨水屏"],"tag":["墨水屏","UC8179","DEPG0750RWU790F30","遇到的坑"],"author":{"name":"HalfSweet","link":"https://github.com/HalfSweet"},"description":"前言 之前在我群里的同学应该都还记得,之前有朋友送给半糖两块7.5寸的墨水屏,其中一块是黑白双色的,标签型号是DEPG0750RWU790F30,驱动芯片则是UC8179。这块屏确实蛮好的,有着高达800*480的分辨率,并且因为是7.5寸所以可视面积非常大,但是在调试的过程中半糖发现了一个问题:这个屏幕的刷新过程中怎么会出现白色条纹,并且刷完的颜色非...","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/posts/EpdTraps1/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"墨水屏的坑——7.5寸墨水屏刷新为何出现条纹"}],["meta",{"property":"og:description","content":"前言 之前在我群里的同学应该都还记得,之前有朋友送给半糖两块7.5寸的墨水屏,其中一块是黑白双色的,标签型号是DEPG0750RWU790F30,驱动芯片则是UC8179。这块屏确实蛮好的,有着高达800*480的分辨率,并且因为是7.5寸所以可视面积非常大,但是在调试的过程中半糖发现了一个问题:这个屏幕的刷新过程中怎么会出现白色条纹,并且刷完的颜色非..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-03-23T06:35:02.000Z"}],["meta",{"property":"article:author","content":"HalfSweet"}],["meta",{"property":"article:tag","content":"墨水屏"}],["meta",{"property":"article:tag","content":"UC8179"}],["meta",{"property":"article:tag","content":"DEPG0750RWU790F30"}],["meta",{"property":"article:tag","content":"遇到的坑"}],["meta",{"property":"article:published_time","content":"2022-11-06T05:30:37.000Z"}],["meta",{"property":"article:modified_time","content":"2024-03-23T06:35:02.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"墨水屏的坑——7.5寸墨水屏刷新为何出现条纹\\",\\"image\\":[\\"\\"],\\"datePublished\\":\\"2022-11-06T05:30:37.000Z\\",\\"dateModified\\":\\"2024-03-23T06:35:02.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"HalfSweet\\",\\"link\\":\\"https://github.com/HalfSweet\\"}]}"]]},"headers":[{"level":2,"title":"前言","slug":"前言","link":"#前言","children":[]},{"level":2,"title":"大佬相助","slug":"大佬相助","link":"#大佬相助","children":[]},{"level":2,"title":"初寻端倪","slug":"初寻端倪","link":"#初寻端倪","children":[{"level":3,"title":"TCON SETTING","slug":"tcon-setting","link":"#tcon-setting","children":[]},{"level":3,"title":"修改PLL","slug":"修改pll","link":"#修改pll","children":[]},{"level":3,"title":"真凶在此","slug":"真凶在此","link":"#真凶在此","children":[]}]},{"level":2,"title":"总结","slug":"总结","link":"#总结","children":[]},{"level":2,"title":"备注","slug":"备注","link":"#备注","children":[]}],"git":{"createdTime":1692418551000,"updatedTime":1711175702000,"contributors":[{"name":"HalfSweet","email":"halfsweet@halfsweet.cn","commits":2}]},"readingTime":{"minutes":6.65,"words":1996},"filePathRelative":"posts/墨水屏的坑——7.5寸墨水屏刷新为何出现条纹.md","localizedDate":"2022年11月6日","excerpt":"<h2>前言</h2>\\n<p>之前在我群里的同学应该都还记得,之前有朋友送给半糖两块7.5寸的墨水屏,其中一块是黑白双色的,标签型号是DEPG0750RWU790F30,驱动芯片则是UC8179。这块屏确实蛮好的,有着高达800*480的分辨率,并且因为是7.5寸所以可视面积非常大,但是在调试的过程中半糖发现了一个问题:这个屏幕的刷新过程中怎么会出现白色条纹,并且刷完的颜色非常怪?</p>\\n<p></p>\\n<p></p>\\n<p>其中上面一张图为我自己做的波形,第二张为使用的OTP波形,但是无一例外,都出现了刷新的问题。抱着也许是驱动板出问题了的想法,我重新lay了一次板子,焊接好之后发现问题确实有所改善,但是并不佳。后续在更换过程中发现采用cd32封装的68uH的电感刷新效果会更好一些,但是依旧存在刷新问题,特别是在UI中有竖着的线条的时候,特别影响观感。</p>","autoDesc":true}`);export{S as comp,U as data};
+import{_ as s}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as n,o as r,c as o,a as t,b as e,d as l,e as a}from"./app-Flo2gZk8.js";const i="/assets/Refresh1-CILkrzQf.gif",c="/assets/Refresh2-DOaHQdUX.gif",d="/assets/SCH1-PC-HMVkY.jpg",h="/assets/PCB1-CkFh4M3J.jpg",m="/assets/Code1-Cme3G5cN.jpg",g="/assets/Datasheet1-DAsJwtH0.png",f="/assets/Epd1-Ct8xd5fC.jpg",_={},x=a('<h2 id="前言" tabindex="-1"><a class="header-anchor" href="#前言"><span>前言</span></a></h2><p>之前在我群里的同学应该都还记得,之前有朋友送给半糖两块7.5寸的墨水屏,其中一块是黑白双色的,标签型号是DEPG0750RWU790F30,驱动芯片则是UC8179。这块屏确实蛮好的,有着高达800*480的分辨率,并且因为是7.5寸所以可视面积非常大,但是在调试的过程中半糖发现了一个问题:这个屏幕的刷新过程中怎么会出现白色条纹,并且刷完的颜色非常怪?</p><p><img src="'+i+'" alt=""></p><p><img src="'+c+'" alt=""></p><p>其中上面一张图为我自己做的波形,第二张为使用的OTP波形,但是无一例外,都出现了刷新的问题。抱着也许是驱动板出问题了的想法,我重新lay了一次板子,焊接好之后发现问题确实有所改善,但是并不佳。后续在更换过程中发现采用cd32封装的68uH的电感刷新效果会更好一些,但是依旧存在刷新问题,特别是在UI中有竖着的线条的时候,特别影响观感。</p><h2 id="大佬相助" tabindex="-1"><a class="header-anchor" href="#大佬相助"><span>大佬相助</span></a></h2>',6),u={href:"https://github.com/axdz007",target:"_blank",rel:"noopener noreferrer"},T=t("s",null,"威逼利诱",-1),C=a('<p>果不其然,在他移植了我之前写的程序的时候,问题便复现了。</p><iframe src="/EpdTraps1/Refresh3.mp4" style="vertical-align:top;width:100%;height:100%;"></iframe><p>经过一系列的检查,排除了是取模方式等的因素,我们惊讶地发现…大连佳显的官方例程里面给的图片可以完美显示?紧接着我们又试了下全0xAA以及0x55的数据,理论上这样推上去的图像将是完整的一条条1像素的黑白条纹,结果……非常完美。既然横条没问题,那么竖条呢?出现了一点小问题。那么棋盘格呢?问题大了,屏幕甚至想要拒绝刷新。紧接着尝试了别的图像,结果出现了非常奇怪的效果,如果黑色比较少,分得比较开,那么刷出来没有任何问题,但是刷图片类似的比较复杂的形状又会炸掉。难道是内存出现了什么毛病?</p><p>紧接着检查,发现了一个我们之前忽视的点,硬件驱动电路!</p><p><img src="'+d+'" alt=""></p><p>可以看出,与常规的墨水屏驱动电路相比,该电路的高压部分电容均为10uF,并且boost电荷泵部分的电容为4.7uF,会是这个原因吗?于是大佬开始了他的飞线操作。</p><p><img src="'+h+'" alt=""></p><p>不得不说大佬技艺高超,很快就把缺失的电容补上了,那么,工作正常了吗?</p><p>事实证明还是有所效果,刷图的质量明显好了不少,像素棋盘格也能正常显示了,这下刷图片总没有问题了吧?</p><p>没有意外的话现在就要出意外了,令人惊讶的是棋盘格能显示,但是刷的图片还是依旧炸裂。这就奇了怪了,刷全白正常,刷全黑正常,刷条纹正常,甚至刷棋盘格也正常,但是刷区区一张图片竟然出现了问题?难道是芯片设计的bug吗。</p><h2 id="初寻端倪" tabindex="-1"><a class="header-anchor" href="#初寻端倪"><span>初寻端倪</span></a></h2><h3 id="tcon-setting" tabindex="-1"><a class="header-anchor" href="#tcon-setting"><span>TCON SETTING</span></a></h3><p>经过了一系列的尝试,我们将重心转移到了寄存器的配置上。首先我注意到了一个0x60的寄存器,这个寄存器的描述为“TCON SETTING”,内容为“This command defines non-overlap period of Gate and Source.”是因为内部的时序问题才导致的刷新不正常吗?但是在修改之后未果,故障依旧。同时参考了同芯片的微雪的屏幕驱动代码,该寄存器的设置的值并不一致,但是修改后故障依旧。</p><h3 id="修改pll" tabindex="-1"><a class="header-anchor" href="#修改pll"><span>修改PLL</span></a></h3><p>我们联想到,如果是时序导致的出错,那么降低频率是否会好一些?于是我们便尝试了修改屏幕的PLL参数,该寄存器地址为0x30。神奇的事发生了,在大佬降低PLL到5Hz之后,发现之前刷新炸掉的图片竟然能正常刷新了!除了刷的很慢之外并没有什么多余的问题。紧接着又尝试了4灰度使用内部OTP波形进行刷新,发现依然能正常刷新。</p><p>难道是因为屏幕厂商的内部布线问题,导致时钟开太高会有干扰?想想便感觉非常不合理,还是说难道屏厂在测试的时候使用的都是比较简单的图片,因此并没有发现刷新的问题?不管什么样的解释,显得都非常牵强,但是目前我们也找不到更好的解决方案,因此便告一段落,并一致认为大概率是屏厂设计导致的硬件问题。</p><h3 id="真凶在此" tabindex="-1"><a class="header-anchor" href="#真凶在此"><span>真凶在此</span></a></h3><p>在闲聊中,我们发现威锋有一款5.83寸的屏幕与这块屏幕采用了同款驱动芯片,于是大佬便决定把5.83屏幕的初始化代码搬过来试试。令人意想不到的情况出现了,竟然……好了?在这样的初始化代码下,屏幕的刷新竟然无比的丝滑顺畅,似乎本该如此,可是,为什么呢?</p><p>幸而5.83屏的初始化代码非常简洁,我们很轻易就可以发现不同点:主要便是0x06这个寄存器。</p><p><img src="'+m+'" alt="5.83屏幕的初始化代码"></p><p>那么,这个寄存器是做什么用的呢?</p><p><img src="'+g+'" alt=""></p><p>虽然描述寥寥,但是我们依稀能看出是与boost升压有关,并且第三个数据默认值为0x17,而5.83屏幕的初始化代码中为0x28,是否就是这个寄存器导致的呢?我们将这段初始化代码复制了过去。</p><p>意想不到的事出现了,正常了,彻底正常了!没有讨厌的条纹,没有刷新后掉色,屏幕安安静静刷新出一帧的画面,自然又好看。</p><p><img src="'+f+'" alt=""></p><p>虽然我找了下相同芯片的在GxEpd2库下方的代码,发现或多或少都对这个寄存器进行了配置,有<code>0x17,0x17,0x28</code>的,有<code>0xC7,0xCC,0x28</code>的,还有<code>0x17,0x17,0x39,0x17</code>的,大家都没有采用默认的四个0x17的值。不知道大佬佳显是抱着怎样的想法,漏掉了这个至关重要的寄存器,也许是屏厂给的测试代码就没有。</p><p>这个寄存器没有具体的描述,在SSD芯片中也有类似的寄存器,但是同样额米有具体的文字描述,根据名字来看,或许和boost有关,并且不同的值应该与驱动能力有关,但是具体有什么用,ABC相有什么区别,我不得而知,如果有知道的同学可以告诉我,不胜感激()</p><h2 id="总结" tabindex="-1"><a class="header-anchor" href="#总结"><span>总结</span></a></h2><p>总而言之,经过了一晚上的忙活,查找了各种原因,结果发现是一个寄存器没有配置。虽然问题不大,但是蛮折磨人的,并且也不知道是具体原因。不过有了这次的经验,在下次遇到类似的故障的时候,想必找到问题出现的原因会更加轻松。</p><h2 id="备注" tabindex="-1"><a class="header-anchor" href="#备注"><span>备注</span></a></h2><p>DEPG0750RWU790F30这块屏幕请记住,一定要配置0x06的寄存器!!!相同尺寸的相同驱动芯片的屏幕应该也大致如此,希望能帮到更多遇到类似问题的同学。</p>',31);function y(b,k){const p=n("ExternalLinkIcon");return r(),o("div",null,[x,t("p",null,[e("时间过得飞快,到了前几天,想着我解决不了这个问题就拉帮手的想法,我将这块屏寄给了"),t("a",u,[e("滚筒洗衣机"),l(p)]),e("大佬,然后在我的"),T,e("强烈要求下,我们开始了新一轮的测试。")]),C])}const S=s(_,[["render",y],["__file","index.html.vue"]]),U=JSON.parse(`{"path":"/posts/EpdTraps1/","title":"墨水屏的坑——7.5寸墨水屏刷新为何出现条纹","lang":"zh-CN","frontmatter":{"title":"墨水屏的坑——7.5寸墨水屏刷新为何出现条纹","date":"2022-11-06T05:30:37.000Z","permalink":"/posts/EpdTraps1/","category":["墨水屏"],"tag":["墨水屏","UC8179","DEPG0750RWU790F30","遇到的坑"],"author":{"name":"HalfSweet","link":"https://github.com/HalfSweet"},"description":"前言 之前在我群里的同学应该都还记得,之前有朋友送给半糖两块7.5寸的墨水屏,其中一块是黑白双色的,标签型号是DEPG0750RWU790F30,驱动芯片则是UC8179。这块屏确实蛮好的,有着高达800*480的分辨率,并且因为是7.5寸所以可视面积非常大,但是在调试的过程中半糖发现了一个问题:这个屏幕的刷新过程中怎么会出现白色条纹,并且刷完的颜色非...","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/posts/EpdTraps1/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"墨水屏的坑——7.5寸墨水屏刷新为何出现条纹"}],["meta",{"property":"og:description","content":"前言 之前在我群里的同学应该都还记得,之前有朋友送给半糖两块7.5寸的墨水屏,其中一块是黑白双色的,标签型号是DEPG0750RWU790F30,驱动芯片则是UC8179。这块屏确实蛮好的,有着高达800*480的分辨率,并且因为是7.5寸所以可视面积非常大,但是在调试的过程中半糖发现了一个问题:这个屏幕的刷新过程中怎么会出现白色条纹,并且刷完的颜色非..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-03-23T06:35:02.000Z"}],["meta",{"property":"article:author","content":"HalfSweet"}],["meta",{"property":"article:tag","content":"墨水屏"}],["meta",{"property":"article:tag","content":"UC8179"}],["meta",{"property":"article:tag","content":"DEPG0750RWU790F30"}],["meta",{"property":"article:tag","content":"遇到的坑"}],["meta",{"property":"article:published_time","content":"2022-11-06T05:30:37.000Z"}],["meta",{"property":"article:modified_time","content":"2024-03-23T06:35:02.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"墨水屏的坑——7.5寸墨水屏刷新为何出现条纹\\",\\"image\\":[\\"\\"],\\"datePublished\\":\\"2022-11-06T05:30:37.000Z\\",\\"dateModified\\":\\"2024-03-23T06:35:02.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"HalfSweet\\",\\"link\\":\\"https://github.com/HalfSweet\\"}]}"]]},"headers":[{"level":2,"title":"前言","slug":"前言","link":"#前言","children":[]},{"level":2,"title":"大佬相助","slug":"大佬相助","link":"#大佬相助","children":[]},{"level":2,"title":"初寻端倪","slug":"初寻端倪","link":"#初寻端倪","children":[{"level":3,"title":"TCON SETTING","slug":"tcon-setting","link":"#tcon-setting","children":[]},{"level":3,"title":"修改PLL","slug":"修改pll","link":"#修改pll","children":[]},{"level":3,"title":"真凶在此","slug":"真凶在此","link":"#真凶在此","children":[]}]},{"level":2,"title":"总结","slug":"总结","link":"#总结","children":[]},{"level":2,"title":"备注","slug":"备注","link":"#备注","children":[]}],"git":{"createdTime":1692418551000,"updatedTime":1711175702000,"contributors":[{"name":"HalfSweet","email":"halfsweet@halfsweet.cn","commits":2}]},"readingTime":{"minutes":6.65,"words":1996},"filePathRelative":"posts/墨水屏的坑——7.5寸墨水屏刷新为何出现条纹.md","localizedDate":"2022年11月6日","excerpt":"<h2>前言</h2>\\n<p>之前在我群里的同学应该都还记得,之前有朋友送给半糖两块7.5寸的墨水屏,其中一块是黑白双色的,标签型号是DEPG0750RWU790F30,驱动芯片则是UC8179。这块屏确实蛮好的,有着高达800*480的分辨率,并且因为是7.5寸所以可视面积非常大,但是在调试的过程中半糖发现了一个问题:这个屏幕的刷新过程中怎么会出现白色条纹,并且刷完的颜色非常怪?</p>\\n<p></p>\\n<p></p>\\n<p>其中上面一张图为我自己做的波形,第二张为使用的OTP波形,但是无一例外,都出现了刷新的问题。抱着也许是驱动板出问题了的想法,我重新lay了一次板子,焊接好之后发现问题确实有所改善,但是并不佳。后续在更换过程中发现采用cd32封装的68uH的电感刷新效果会更好一些,但是依旧存在刷新问题,特别是在UI中有竖着的线条的时候,特别影响观感。</p>","autoDesc":true}`);export{S as comp,U as data};
diff --git a/assets/index.html-Bk9EBjUw.js b/assets/index.html-BXxGxqK4.js
similarity index 94%
rename from assets/index.html-Bk9EBjUw.js
rename to assets/index.html-BXxGxqK4.js
index 7d22a12..b9f5041 100644
--- a/assets/index.html-Bk9EBjUw.js
+++ b/assets/index.html-BXxGxqK4.js
@@ -1 +1 @@
-import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as o}from"./app-ClwIkahu.js";const a={};function n(r,l){return t(),o("div")}const p=e(a,[["render",n],["__file","index.html.vue"]]),s=JSON.parse(`{"path":"/tag/clion/","title":"标签: Clion","lang":"zh-CN","frontmatter":{"title":"标签: Clion","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"Clion","key":"tag"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/tag/clion/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"标签: Clion"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"标签: Clion\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{p as comp,s as data};
+import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as o}from"./app-Flo2gZk8.js";const a={};function n(r,l){return t(),o("div")}const p=e(a,[["render",n],["__file","index.html.vue"]]),s=JSON.parse(`{"path":"/tag/clion/","title":"标签: Clion","lang":"zh-CN","frontmatter":{"title":"标签: Clion","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"Clion","key":"tag"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/tag/clion/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"标签: Clion"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"标签: Clion\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{p as comp,s as data};
diff --git a/assets/index.html-BjG6C5xb.js b/assets/index.html-BhtLl4n3.js
similarity index 95%
rename from assets/index.html-BjG6C5xb.js
rename to assets/index.html-BhtLl4n3.js
index ed53acb..7410e6e 100644
--- a/assets/index.html-BjG6C5xb.js
+++ b/assets/index.html-BhtLl4n3.js
@@ -1 +1 @@
-import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as o}from"./app-ClwIkahu.js";const a={};function r(n,l){return t(),o("div")}const i=e(a,[["render",r],["__file","index.html.vue"]]),p=JSON.parse(`{"path":"/","title":"HalfSweet's Blog","lang":"zh-CN","frontmatter":{"home":true,"layout":"BlogHome","icon":"home","title":"HalfSweet's Blog","heroImage":"/img/LOGO.png","heroText":"HalfSweet's Blog","bgImage":"/img/background.webp","heroFullScreen":true,"tagline":"Try to create some value.","footer":"今天咕咕被欺负了吗","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"HalfSweet's Blog"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2023-08-19T04:37:32.000Z"}],["meta",{"property":"article:author","content":"HalfSweet"}],["meta",{"property":"article:modified_time","content":"2023-08-19T04:37:32.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"HalfSweet's Blog\\"}"]]},"headers":[],"git":{"createdTime":1690646966000,"updatedTime":1692419852000,"contributors":[{"name":"HalfSweet","email":"halfsweet@halfsweet.cn","commits":2}]},"readingTime":{"minutes":0.12,"words":36},"filePathRelative":"README.md","localizedDate":"2023年7月29日","excerpt":""}`);export{i as comp,p as data};
+import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as o}from"./app-Flo2gZk8.js";const a={};function r(n,l){return t(),o("div")}const i=e(a,[["render",r],["__file","index.html.vue"]]),p=JSON.parse(`{"path":"/","title":"HalfSweet's Blog","lang":"zh-CN","frontmatter":{"home":true,"layout":"BlogHome","icon":"home","title":"HalfSweet's Blog","heroImage":"/img/LOGO.png","heroText":"HalfSweet's Blog","bgImage":"/img/background.webp","heroFullScreen":true,"tagline":"Try to create some value.","footer":"今天咕咕被欺负了吗","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"HalfSweet's Blog"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2023-08-19T04:37:32.000Z"}],["meta",{"property":"article:author","content":"HalfSweet"}],["meta",{"property":"article:modified_time","content":"2023-08-19T04:37:32.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"HalfSweet's Blog\\"}"]]},"headers":[],"git":{"createdTime":1690646966000,"updatedTime":1692419852000,"contributors":[{"name":"HalfSweet","email":"halfsweet@halfsweet.cn","commits":2}]},"readingTime":{"minutes":0.12,"words":36},"filePathRelative":"README.md","localizedDate":"2023年7月29日","excerpt":""}`);export{i as comp,p as data};
diff --git a/assets/index.html-CufQKtZU.js b/assets/index.html-BjdnOCC5.js
similarity index 97%
rename from assets/index.html-CufQKtZU.js
rename to assets/index.html-BjdnOCC5.js
index fd015fd..f855751 100644
--- a/assets/index.html-CufQKtZU.js
+++ b/assets/index.html-BjdnOCC5.js
@@ -1 +1 @@
-import{_ as t}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o,c as l,a as e}from"./app-ClwIkahu.js";const a={},r=e("p",null,"今天搭建好了属于自己的一个博客站,希望今后能保持记录的习惯,写下自己遇到的坑以及收获。这是博客的一个启程,也是自己的一个新起点。",-1),n=e("p",null,"Hello, HalfSweet!",-1),p=[r,n];function i(c,s){return o(),l("div",null,p)}const h=t(a,[["render",i],["__file","index.html.vue"]]),f=JSON.parse(`{"path":"/posts/HelloWorld/","title":"HelloWorld","lang":"zh-CN","frontmatter":{"title":"HelloWorld","date":"2022-10-31T21:25:47.000Z","permalink":"/posts/HelloWorld/","category":["网站"],"tag":["HelloWorld"],"author":{"name":"HalfSweet","link":"https://github.com/HalfSweet"},"order":0,"description":"今天搭建好了属于自己的一个博客站,希望今后能保持记录的习惯,写下自己遇到的坑以及收获。这是博客的一个启程,也是自己的一个新起点。 Hello, HalfSweet!","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/posts/HelloWorld/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"HelloWorld"}],["meta",{"property":"og:description","content":"今天搭建好了属于自己的一个博客站,希望今后能保持记录的习惯,写下自己遇到的坑以及收获。这是博客的一个启程,也是自己的一个新起点。 Hello, HalfSweet!"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2023-08-19T04:15:51.000Z"}],["meta",{"property":"article:author","content":"HalfSweet"}],["meta",{"property":"article:tag","content":"HelloWorld"}],["meta",{"property":"article:published_time","content":"2022-10-31T21:25:47.000Z"}],["meta",{"property":"article:modified_time","content":"2023-08-19T04:15:51.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"HelloWorld\\",\\"image\\":[\\"\\"],\\"datePublished\\":\\"2022-10-31T21:25:47.000Z\\",\\"dateModified\\":\\"2023-08-19T04:15:51.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"HalfSweet\\",\\"link\\":\\"https://github.com/HalfSweet\\"}]}"]]},"headers":[],"git":{"createdTime":1692418551000,"updatedTime":1692418551000,"contributors":[{"name":"HalfSweet","email":"halfsweet@halfsweet.cn","commits":1}]},"readingTime":{"minutes":0.28,"words":85},"filePathRelative":"posts/HelloWorld.md","localizedDate":"2022年10月31日","excerpt":"<p>今天搭建好了属于自己的一个博客站,希望今后能保持记录的习惯,写下自己遇到的坑以及收获。这是博客的一个启程,也是自己的一个新起点。</p>\\n<p>Hello, HalfSweet!</p>\\n","autoDesc":true}`);export{h as comp,f as data};
+import{_ as t}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o,c as l,a as e}from"./app-Flo2gZk8.js";const a={},r=e("p",null,"今天搭建好了属于自己的一个博客站,希望今后能保持记录的习惯,写下自己遇到的坑以及收获。这是博客的一个启程,也是自己的一个新起点。",-1),n=e("p",null,"Hello, HalfSweet!",-1),p=[r,n];function i(c,s){return o(),l("div",null,p)}const h=t(a,[["render",i],["__file","index.html.vue"]]),f=JSON.parse(`{"path":"/posts/HelloWorld/","title":"HelloWorld","lang":"zh-CN","frontmatter":{"title":"HelloWorld","date":"2022-10-31T21:25:47.000Z","permalink":"/posts/HelloWorld/","category":["网站"],"tag":["HelloWorld"],"author":{"name":"HalfSweet","link":"https://github.com/HalfSweet"},"order":0,"description":"今天搭建好了属于自己的一个博客站,希望今后能保持记录的习惯,写下自己遇到的坑以及收获。这是博客的一个启程,也是自己的一个新起点。 Hello, HalfSweet!","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/posts/HelloWorld/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"HelloWorld"}],["meta",{"property":"og:description","content":"今天搭建好了属于自己的一个博客站,希望今后能保持记录的习惯,写下自己遇到的坑以及收获。这是博客的一个启程,也是自己的一个新起点。 Hello, HalfSweet!"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2023-08-19T04:15:51.000Z"}],["meta",{"property":"article:author","content":"HalfSweet"}],["meta",{"property":"article:tag","content":"HelloWorld"}],["meta",{"property":"article:published_time","content":"2022-10-31T21:25:47.000Z"}],["meta",{"property":"article:modified_time","content":"2023-08-19T04:15:51.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"HelloWorld\\",\\"image\\":[\\"\\"],\\"datePublished\\":\\"2022-10-31T21:25:47.000Z\\",\\"dateModified\\":\\"2023-08-19T04:15:51.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"HalfSweet\\",\\"link\\":\\"https://github.com/HalfSweet\\"}]}"]]},"headers":[],"git":{"createdTime":1692418551000,"updatedTime":1692418551000,"contributors":[{"name":"HalfSweet","email":"halfsweet@halfsweet.cn","commits":1}]},"readingTime":{"minutes":0.28,"words":85},"filePathRelative":"posts/HelloWorld.md","localizedDate":"2022年10月31日","excerpt":"<p>今天搭建好了属于自己的一个博客站,希望今后能保持记录的习惯,写下自己遇到的坑以及收获。这是博客的一个启程,也是自己的一个新起点。</p>\\n<p>Hello, HalfSweet!</p>\\n","autoDesc":true}`);export{h as comp,f as data};
diff --git a/assets/index.html-Bz73p56D.js b/assets/index.html-BlvUTCvM.js
similarity index 93%
rename from assets/index.html-Bz73p56D.js
rename to assets/index.html-BlvUTCvM.js
index 6f763e7..ab823d3 100644
--- a/assets/index.html-Bz73p56D.js
+++ b/assets/index.html-BlvUTCvM.js
@@ -1 +1 @@
-import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as a}from"./app-ClwIkahu.js";const o={};function r(n,l){return t(),a("div")}const i=e(o,[["render",r],["__file","index.html.vue"]]),s=JSON.parse(`{"path":"/article/","title":"文章","lang":"zh-CN","frontmatter":{"title":"文章","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"type","key":"article"},"layout":"BlogType","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/article/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"文章"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"文章\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{i as comp,s as data};
+import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as a}from"./app-Flo2gZk8.js";const o={};function r(n,l){return t(),a("div")}const i=e(o,[["render",r],["__file","index.html.vue"]]),s=JSON.parse(`{"path":"/article/","title":"文章","lang":"zh-CN","frontmatter":{"title":"文章","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"type","key":"article"},"layout":"BlogType","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/article/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"文章"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"文章\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{i as comp,s as data};
diff --git a/assets/index.html-Dd9JrssL.js b/assets/index.html-BmplSMWS.js
similarity index 94%
rename from assets/index.html-Dd9JrssL.js
rename to assets/index.html-BmplSMWS.js
index 7c270f9..5a66978 100644
--- a/assets/index.html-Dd9JrssL.js
+++ b/assets/index.html-BmplSMWS.js
@@ -1 +1 @@
-import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as o}from"./app-ClwIkahu.js";const a={};function r(n,c){return t(),o("div")}const s=e(a,[["render",r],["__file","index.html.vue"]]),i=JSON.parse(`{"path":"/category/%E7%BD%91%E7%AB%99/","title":"网站 分类","lang":"zh-CN","frontmatter":{"title":"网站 分类","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"网站","key":"category"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/category/%E7%BD%91%E7%AB%99/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"网站 分类"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"网站 分类\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{s as comp,i as data};
+import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as o}from"./app-Flo2gZk8.js";const a={};function r(n,c){return t(),o("div")}const s=e(a,[["render",r],["__file","index.html.vue"]]),i=JSON.parse(`{"path":"/category/%E7%BD%91%E7%AB%99/","title":"网站 分类","lang":"zh-CN","frontmatter":{"title":"网站 分类","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"网站","key":"category"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/category/%E7%BD%91%E7%AB%99/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"网站 分类"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"网站 分类\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{s as comp,i as data};
diff --git a/assets/index.html-BjPOIJdK.js b/assets/index.html-C2sDDxGY.js
similarity index 94%
rename from assets/index.html-BjPOIJdK.js
rename to assets/index.html-C2sDDxGY.js
index 4f45b6c..6e1f5c0 100644
--- a/assets/index.html-BjPOIJdK.js
+++ b/assets/index.html-C2sDDxGY.js
@@ -1 +1 @@
-import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as o}from"./app-ClwIkahu.js";const a={};function r(s,n){return t(),o("div")}const l=e(a,[["render",r],["__file","index.html.vue"]]),i=JSON.parse(`{"path":"/category/posts/","title":"posts 分类","lang":"zh-CN","frontmatter":{"title":"posts 分类","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"posts","key":"category"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/category/posts/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"posts 分类"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"posts 分类\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{l as comp,i as data};
+import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as o}from"./app-Flo2gZk8.js";const a={};function r(s,n){return t(),o("div")}const l=e(a,[["render",r],["__file","index.html.vue"]]),i=JSON.parse(`{"path":"/category/posts/","title":"posts 分类","lang":"zh-CN","frontmatter":{"title":"posts 分类","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"posts","key":"category"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/category/posts/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"posts 分类"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"posts 分类\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{l as comp,i as data};
diff --git a/assets/index.html-6gNmrYKw.js b/assets/index.html-C6yte3a0.js
similarity index 98%
rename from assets/index.html-6gNmrYKw.js
rename to assets/index.html-C6yte3a0.js
index 7cefe7b..7c44712 100644
--- a/assets/index.html-6gNmrYKw.js
+++ b/assets/index.html-C6yte3a0.js
@@ -1 +1 @@
-import{_ as i}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as a,o as r,c as o,a as e,b as l,d as n,e as s}from"./app-ClwIkahu.js";const c={},h=s('<h2 id="自我介绍" tabindex="-1"><a class="header-anchor" href="#自我介绍"><span>自我介绍</span></a></h2><ul><li>我是半糖,19岁,事学生</li><li>爱好电子,<s>精通</s>(看过)多种单片机使用方法以及编程语言</li><li>最喜欢的屏幕是墨水屏</li><li>计划学习更多有关ee和cs的内容,并希望今后从事类似的工作</li></ul><h2 id="会的东西" tabindex="-1"><a class="header-anchor" href="#会的东西"><span>会的东西</span></a></h2><h3 id="编程语言" tabindex="-1"><a class="header-anchor" href="#编程语言"><span>编程语言</span></a></h3><ul><li>略懂C/CPP语言</li></ul><p><em>TODO</em></p><h3 id="单片机" tabindex="-1"><a class="header-anchor" href="#单片机"><span>单片机</span></a></h3><ul><li>基于Arduino平台的AVR系列</li><li>基于Arduino/ESP-IDF/Micropython的ESP32系列 <s>(其实是个连idf都不会装的菜鸡)</s></li><li>基于HAL库的STM32系列</li><li>8051/80251(特指STC32)</li><li>CCS的安装与卸载</li></ul><h3 id="其它" tabindex="-1"><a class="header-anchor" href="#其它"><span>其它</span></a></h3><p>初次之外半糖略懂一些关于墨水屏的知识,以及能在有详细文档的参考下做出一些有意思的东西(比如说这个博客)。</p><h2 id="联系方式" tabindex="-1"><a class="header-anchor" href="#联系方式"><span>联系方式</span></a></h2>',11),p={href:"http://wpa.qq.com/msgrd?v=3&uin=2522182733&site=qq&menu=yes",target:"_blank",rel:"noopener noreferrer"},d={href:"http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=EI7O0ESVK0EsN_wbWI-PHzp2fhvnxrwm&authKey=U06sfHY23isq%2B%2F5%2B4R%2FV%2BEAS0OS%2Fk1ft394WCehaZ4FhHJwQW0KYfWYGvDoTerl5&noverify=0&group_code=490953159",target:"_blank",rel:"noopener noreferrer"},u=e("li",null,[e("p",null,[e("a",{href:"mailto:HalfSweet@HalfSweet.cn"},"邮箱:HalfSweet@HalfSweet.cn")])],-1),m={href:"https://twitter.com/_HalfSweet",target:"_blank",rel:"noopener noreferrer"},f={href:"https://github.com/HalfSweet",target:"_blank",rel:"noopener noreferrer"};function _(S,g){const t=a("ExternalLinkIcon");return r(),o("div",null,[h,e("ul",null,[e("li",null,[e("p",null,[e("a",p,[l("QQ: 2522182733"),n(t)])])]),e("li",null,[e("p",null,[e("a",d,[l("QQ群: 490953159"),n(t)])])]),u,e("li",null,[e("p",null,[e("a",m,[l("Twitter: @_HalfSweet"),n(t)])])]),e("li",null,[e("p",null,[e("a",f,[l("GitHub:HalfSweet"),n(t)])])])])])}const P=i(c,[["render",_],["__file","index.html.vue"]]),H=JSON.parse(`{"path":"/about/","title":"关于","lang":"zh-CN","frontmatter":{"title":"关于","date":"2022-11-01T03:16:08.000Z","permalink":"/about/","sidebar":false,"article":false,"comment":true,"editLink":true,"author":{"name":"HalfSweet","link":"https://github.com/HalfSweet"},"description":"自我介绍 我是半糖,19岁,事学生 爱好电子,(看过)多种单片机使用方法以及编程语言 最喜欢的屏幕是墨水屏 计划学习更多有关ee和cs的内容,并希望今后从事类似的工作 会的东西 编程语言 略懂C/CPP语言 TODO 单片机 基于Arduino平台的AVR系列 基于Arduino/ESP-IDF/Micropython的ESP32系列 基于HAL库的S...","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/about/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"关于"}],["meta",{"property":"og:description","content":"自我介绍 我是半糖,19岁,事学生 爱好电子,(看过)多种单片机使用方法以及编程语言 最喜欢的屏幕是墨水屏 计划学习更多有关ee和cs的内容,并希望今后从事类似的工作 会的东西 编程语言 略懂C/CPP语言 TODO 单片机 基于Arduino平台的AVR系列 基于Arduino/ESP-IDF/Micropython的ESP32系列 基于HAL库的S..."}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-02-15T10:37:21.000Z"}],["meta",{"property":"article:author","content":"HalfSweet"}],["meta",{"property":"article:published_time","content":"2022-11-01T03:16:08.000Z"}],["meta",{"property":"article:modified_time","content":"2024-02-15T10:37:21.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"关于\\",\\"description\\":\\"自我介绍 我是半糖,19岁,事学生 爱好电子,(看过)多种单片机使用方法以及编程语言 最喜欢的屏幕是墨水屏 计划学习更多有关ee和cs的内容,并希望今后从事类似的工作 会的东西 编程语言 略懂C/CPP语言 TODO 单片机 基于Arduino平台的AVR系列 基于Arduino/ESP-IDF/Micropython的ESP32系列 基于HAL库的S...\\"}"]]},"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":2,"title":"联系方式","slug":"联系方式","link":"#联系方式","children":[]}],"git":{"createdTime":1690646966000,"updatedTime":1707993441000,"contributors":[{"name":"HalfSweet","email":"halfsweet@halfsweet.cn","commits":3}]},"readingTime":{"minutes":0.9,"words":269},"filePathRelative":"Catalogue/about.md","localizedDate":"2022年11月1日","excerpt":"<h2>自我介绍</h2>\\n<ul>\\n<li>我是半糖,19岁,事学生</li>\\n<li>爱好电子,<s>精通</s>(看过)多种单片机使用方法以及编程语言</li>\\n<li>最喜欢的屏幕是墨水屏</li>\\n<li>计划学习更多有关ee和cs的内容,并希望今后从事类似的工作</li>\\n</ul>\\n<h2>会的东西</h2>\\n<h3>编程语言</h3>\\n<ul>\\n<li>略懂C/CPP语言</li>\\n</ul>\\n<p><em>TODO</em></p>\\n<h3>单片机</h3>\\n<ul>\\n<li>基于Arduino平台的AVR系列</li>\\n<li>基于Arduino/ESP-IDF/Micropython的ESP32系列 <s>(其实是个连idf都不会装的菜鸡)</s></li>\\n<li>基于HAL库的STM32系列</li>\\n<li>8051/80251(特指STC32)</li>\\n<li>CCS的安装与卸载</li>\\n</ul>","autoDesc":true}`);export{P as comp,H as data};
+import{_ as i}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as a,o as r,c as o,a as e,b as l,d as n,e as s}from"./app-Flo2gZk8.js";const c={},h=s('<h2 id="自我介绍" tabindex="-1"><a class="header-anchor" href="#自我介绍"><span>自我介绍</span></a></h2><ul><li>我是半糖,19岁,事学生</li><li>爱好电子,<s>精通</s>(看过)多种单片机使用方法以及编程语言</li><li>最喜欢的屏幕是墨水屏</li><li>计划学习更多有关ee和cs的内容,并希望今后从事类似的工作</li></ul><h2 id="会的东西" tabindex="-1"><a class="header-anchor" href="#会的东西"><span>会的东西</span></a></h2><h3 id="编程语言" tabindex="-1"><a class="header-anchor" href="#编程语言"><span>编程语言</span></a></h3><ul><li>略懂C/CPP语言</li></ul><p><em>TODO</em></p><h3 id="单片机" tabindex="-1"><a class="header-anchor" href="#单片机"><span>单片机</span></a></h3><ul><li>基于Arduino平台的AVR系列</li><li>基于Arduino/ESP-IDF/Micropython的ESP32系列 <s>(其实是个连idf都不会装的菜鸡)</s></li><li>基于HAL库的STM32系列</li><li>8051/80251(特指STC32)</li><li>CCS的安装与卸载</li></ul><h3 id="其它" tabindex="-1"><a class="header-anchor" href="#其它"><span>其它</span></a></h3><p>初次之外半糖略懂一些关于墨水屏的知识,以及能在有详细文档的参考下做出一些有意思的东西(比如说这个博客)。</p><h2 id="联系方式" tabindex="-1"><a class="header-anchor" href="#联系方式"><span>联系方式</span></a></h2>',11),p={href:"http://wpa.qq.com/msgrd?v=3&uin=2522182733&site=qq&menu=yes",target:"_blank",rel:"noopener noreferrer"},d={href:"http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=EI7O0ESVK0EsN_wbWI-PHzp2fhvnxrwm&authKey=U06sfHY23isq%2B%2F5%2B4R%2FV%2BEAS0OS%2Fk1ft394WCehaZ4FhHJwQW0KYfWYGvDoTerl5&noverify=0&group_code=490953159",target:"_blank",rel:"noopener noreferrer"},u=e("li",null,[e("p",null,[e("a",{href:"mailto:HalfSweet@HalfSweet.cn"},"邮箱:HalfSweet@HalfSweet.cn")])],-1),m={href:"https://twitter.com/_HalfSweet",target:"_blank",rel:"noopener noreferrer"},f={href:"https://github.com/HalfSweet",target:"_blank",rel:"noopener noreferrer"};function _(S,g){const t=a("ExternalLinkIcon");return r(),o("div",null,[h,e("ul",null,[e("li",null,[e("p",null,[e("a",p,[l("QQ: 2522182733"),n(t)])])]),e("li",null,[e("p",null,[e("a",d,[l("QQ群: 490953159"),n(t)])])]),u,e("li",null,[e("p",null,[e("a",m,[l("Twitter: @_HalfSweet"),n(t)])])]),e("li",null,[e("p",null,[e("a",f,[l("GitHub:HalfSweet"),n(t)])])])])])}const P=i(c,[["render",_],["__file","index.html.vue"]]),H=JSON.parse(`{"path":"/about/","title":"关于","lang":"zh-CN","frontmatter":{"title":"关于","date":"2022-11-01T03:16:08.000Z","permalink":"/about/","sidebar":false,"article":false,"comment":true,"editLink":true,"author":{"name":"HalfSweet","link":"https://github.com/HalfSweet"},"description":"自我介绍 我是半糖,19岁,事学生 爱好电子,(看过)多种单片机使用方法以及编程语言 最喜欢的屏幕是墨水屏 计划学习更多有关ee和cs的内容,并希望今后从事类似的工作 会的东西 编程语言 略懂C/CPP语言 TODO 单片机 基于Arduino平台的AVR系列 基于Arduino/ESP-IDF/Micropython的ESP32系列 基于HAL库的S...","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/about/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"关于"}],["meta",{"property":"og:description","content":"自我介绍 我是半糖,19岁,事学生 爱好电子,(看过)多种单片机使用方法以及编程语言 最喜欢的屏幕是墨水屏 计划学习更多有关ee和cs的内容,并希望今后从事类似的工作 会的东西 编程语言 略懂C/CPP语言 TODO 单片机 基于Arduino平台的AVR系列 基于Arduino/ESP-IDF/Micropython的ESP32系列 基于HAL库的S..."}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-02-15T10:37:21.000Z"}],["meta",{"property":"article:author","content":"HalfSweet"}],["meta",{"property":"article:published_time","content":"2022-11-01T03:16:08.000Z"}],["meta",{"property":"article:modified_time","content":"2024-02-15T10:37:21.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"关于\\",\\"description\\":\\"自我介绍 我是半糖,19岁,事学生 爱好电子,(看过)多种单片机使用方法以及编程语言 最喜欢的屏幕是墨水屏 计划学习更多有关ee和cs的内容,并希望今后从事类似的工作 会的东西 编程语言 略懂C/CPP语言 TODO 单片机 基于Arduino平台的AVR系列 基于Arduino/ESP-IDF/Micropython的ESP32系列 基于HAL库的S...\\"}"]]},"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":2,"title":"联系方式","slug":"联系方式","link":"#联系方式","children":[]}],"git":{"createdTime":1690646966000,"updatedTime":1707993441000,"contributors":[{"name":"HalfSweet","email":"halfsweet@halfsweet.cn","commits":3}]},"readingTime":{"minutes":0.9,"words":269},"filePathRelative":"Catalogue/about.md","localizedDate":"2022年11月1日","excerpt":"<h2>自我介绍</h2>\\n<ul>\\n<li>我是半糖,19岁,事学生</li>\\n<li>爱好电子,<s>精通</s>(看过)多种单片机使用方法以及编程语言</li>\\n<li>最喜欢的屏幕是墨水屏</li>\\n<li>计划学习更多有关ee和cs的内容,并希望今后从事类似的工作</li>\\n</ul>\\n<h2>会的东西</h2>\\n<h3>编程语言</h3>\\n<ul>\\n<li>略懂C/CPP语言</li>\\n</ul>\\n<p><em>TODO</em></p>\\n<h3>单片机</h3>\\n<ul>\\n<li>基于Arduino平台的AVR系列</li>\\n<li>基于Arduino/ESP-IDF/Micropython的ESP32系列 <s>(其实是个连idf都不会装的菜鸡)</s></li>\\n<li>基于HAL库的STM32系列</li>\\n<li>8051/80251(特指STC32)</li>\\n<li>CCS的安装与卸载</li>\\n</ul>","autoDesc":true}`);export{P as comp,H as data};
diff --git a/assets/index.html-p6Y7Jm3n.js b/assets/index.html-CBW4olfB.js
similarity index 94%
rename from assets/index.html-p6Y7Jm3n.js
rename to assets/index.html-CBW4olfB.js
index 7183b9a..e2b7259 100644
--- a/assets/index.html-p6Y7Jm3n.js
+++ b/assets/index.html-CBW4olfB.js
@@ -1 +1 @@
-import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as a}from"./app-ClwIkahu.js";const o={};function r(n,l){return t(),a("div")}const s=e(o,[["render",r],["__file","index.html.vue"]]),i=JSON.parse(`{"path":"/tag/%E5%90%88%E5%AE%99/","title":"标签: 合宙","lang":"zh-CN","frontmatter":{"title":"标签: 合宙","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"合宙","key":"tag"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/tag/%E5%90%88%E5%AE%99/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"标签: 合宙"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"标签: 合宙\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{s as comp,i as data};
+import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as a}from"./app-Flo2gZk8.js";const o={};function r(n,l){return t(),a("div")}const s=e(o,[["render",r],["__file","index.html.vue"]]),i=JSON.parse(`{"path":"/tag/%E5%90%88%E5%AE%99/","title":"标签: 合宙","lang":"zh-CN","frontmatter":{"title":"标签: 合宙","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"合宙","key":"tag"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/tag/%E5%90%88%E5%AE%99/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"标签: 合宙"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"标签: 合宙\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{s as comp,i as data};
diff --git a/assets/index.html-75fD8c0W.js b/assets/index.html-CPUAg15t.js
similarity index 99%
rename from assets/index.html-75fD8c0W.js
rename to assets/index.html-CPUAg15t.js
index 7328e8c..ddc63c1 100644
--- a/assets/index.html-75fD8c0W.js
+++ b/assets/index.html-CPUAg15t.js
@@ -1,4 +1,4 @@
-import{_ as o}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as a,o as c,c as i,a as s,b as n,d as p,w as l,e as u}from"./app-ClwIkahu.js";const r="/assets/2023-08-20-23-11-24-ZMzPBXQb.png",k={},C=s("code",null,"MCO",-1),_=u('<h2 id="关于" tabindex="-1"><a class="header-anchor" href="#关于"><span>关于</span></a></h2><p>MCO 全称为<code>Microcontroller clock output</code>,即微控制器时钟输出,它可以将主时钟输出到某个引脚上,这样我们就可以在不消耗任何资源的情况下得到一些特定的时钟信号。</p><p>在 STM32F103 中,MCO 对于 PLL 的输出有两种选择,分别是 PLL/2 和 PLL/3,但是这对于主频高达 256M 的 Air32 来说显然是不够的,因为其 GPIO 输出最大仅 50M。因此 Air32 有了专属的一个寄存器来控制 MCO 的输出,这个寄存器就是<code>RCC_MCO_VAL</code>,其相对 RCC 的偏移量为<code>0x30</code>。</p><p><img src="'+r+`" alt=""></p><h2 id="添加寄存器地址" tabindex="-1"><a class="header-anchor" href="#添加寄存器地址"><span>添加寄存器地址</span></a></h2><p>因为这个寄存器是 Air32 独有的,因此我们需要单独添加。我们在芯片的头文件中的<code>RCC_TypeDef</code>结构体中进行添加,我们此处以<code>air32f103xb.h</code>为例,添加的代码如下:</p><div class="language-c line-numbers-mode" data-ext="c" data-title="c"><pre class="language-c"><code><span class="token keyword">typedef</span> <span class="token keyword">struct</span>
+import{_ as o}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as a,o as c,c as i,a as s,b as n,d as p,w as l,e as u}from"./app-Flo2gZk8.js";const r="/assets/2023-08-20-23-11-24-ZMzPBXQb.png",k={},C=s("code",null,"MCO",-1),_=u('<h2 id="关于" tabindex="-1"><a class="header-anchor" href="#关于"><span>关于</span></a></h2><p>MCO 全称为<code>Microcontroller clock output</code>,即微控制器时钟输出,它可以将主时钟输出到某个引脚上,这样我们就可以在不消耗任何资源的情况下得到一些特定的时钟信号。</p><p>在 STM32F103 中,MCO 对于 PLL 的输出有两种选择,分别是 PLL/2 和 PLL/3,但是这对于主频高达 256M 的 Air32 来说显然是不够的,因为其 GPIO 输出最大仅 50M。因此 Air32 有了专属的一个寄存器来控制 MCO 的输出,这个寄存器就是<code>RCC_MCO_VAL</code>,其相对 RCC 的偏移量为<code>0x30</code>。</p><p><img src="'+r+`" alt=""></p><h2 id="添加寄存器地址" tabindex="-1"><a class="header-anchor" href="#添加寄存器地址"><span>添加寄存器地址</span></a></h2><p>因为这个寄存器是 Air32 独有的,因此我们需要单独添加。我们在芯片的头文件中的<code>RCC_TypeDef</code>结构体中进行添加,我们此处以<code>air32f103xb.h</code>为例,添加的代码如下:</p><div class="language-c line-numbers-mode" data-ext="c" data-title="c"><pre class="language-c"><code><span class="token keyword">typedef</span> <span class="token keyword">struct</span>
 <span class="token punctuation">{</span>
   __IO <span class="token class-name">uint32_t</span> CR<span class="token punctuation">;</span>
   __IO <span class="token class-name">uint32_t</span> CFGR<span class="token punctuation">;</span>
diff --git a/assets/index.html-DPl--Ppt.js b/assets/index.html-CTuZCChr.js
similarity index 94%
rename from assets/index.html-DPl--Ppt.js
rename to assets/index.html-CTuZCChr.js
index bfecd0b..da25a2d 100644
--- a/assets/index.html-DPl--Ppt.js
+++ b/assets/index.html-CTuZCChr.js
@@ -1 +1 @@
-import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as o}from"./app-ClwIkahu.js";const a={};function n(r,i){return t(),o("div")}const c=e(a,[["render",n],["__file","index.html.vue"]]),s=JSON.parse(`{"path":"/timeline/","title":"时间轴","lang":"zh-CN","frontmatter":{"title":"时间轴","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"type","key":"timeline"},"layout":"Timeline","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/timeline/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"时间轴"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"时间轴\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{c as comp,s as data};
+import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as o}from"./app-Flo2gZk8.js";const a={};function n(r,i){return t(),o("div")}const c=e(a,[["render",n],["__file","index.html.vue"]]),s=JSON.parse(`{"path":"/timeline/","title":"时间轴","lang":"zh-CN","frontmatter":{"title":"时间轴","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"type","key":"timeline"},"layout":"Timeline","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/timeline/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"时间轴"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"时间轴\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{c as comp,s as data};
diff --git a/assets/index.html-BzgkemtD.js b/assets/index.html-C_2nkQ6B.js
similarity index 94%
rename from assets/index.html-BzgkemtD.js
rename to assets/index.html-C_2nkQ6B.js
index f355841..6a497fb 100644
--- a/assets/index.html-BzgkemtD.js
+++ b/assets/index.html-C_2nkQ6B.js
@@ -1 +1 @@
-import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as a}from"./app-ClwIkahu.js";const o={};function r(n,p){return t(),a("div")}const s=e(o,[["render",r],["__file","index.html.vue"]]),i=JSON.parse(`{"path":"/tag/esp-idf/","title":"标签: ESP-IDF","lang":"zh-CN","frontmatter":{"title":"标签: ESP-IDF","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"ESP-IDF","key":"tag"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/tag/esp-idf/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"标签: ESP-IDF"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"标签: ESP-IDF\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{s as comp,i as data};
+import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as a}from"./app-Flo2gZk8.js";const o={};function r(n,p){return t(),a("div")}const s=e(o,[["render",r],["__file","index.html.vue"]]),i=JSON.parse(`{"path":"/tag/esp-idf/","title":"标签: ESP-IDF","lang":"zh-CN","frontmatter":{"title":"标签: ESP-IDF","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"ESP-IDF","key":"tag"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/tag/esp-idf/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"标签: ESP-IDF"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"标签: ESP-IDF\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{s as comp,i as data};
diff --git a/assets/index.html-DqsCIdcm.js b/assets/index.html-Cb-sPtFS.js
similarity index 94%
rename from assets/index.html-DqsCIdcm.js
rename to assets/index.html-Cb-sPtFS.js
index bfc4d84..8b4a712 100644
--- a/assets/index.html-DqsCIdcm.js
+++ b/assets/index.html-Cb-sPtFS.js
@@ -1 +1 @@
-import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as a}from"./app-ClwIkahu.js";const o={};function r(n,c){return t(),a("div")}const s=e(o,[["render",r],["__file","index.html.vue"]]),i=JSON.parse(`{"path":"/tag/stc8/","title":"标签: STC8","lang":"zh-CN","frontmatter":{"title":"标签: STC8","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"STC8","key":"tag"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/tag/stc8/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"标签: STC8"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"标签: STC8\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{s as comp,i as data};
+import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as a}from"./app-Flo2gZk8.js";const o={};function r(n,c){return t(),a("div")}const s=e(o,[["render",r],["__file","index.html.vue"]]),i=JSON.parse(`{"path":"/tag/stc8/","title":"标签: STC8","lang":"zh-CN","frontmatter":{"title":"标签: STC8","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"STC8","key":"tag"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/tag/stc8/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"标签: STC8"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"标签: STC8\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{s as comp,i as data};
diff --git a/assets/index.html-CIen8cvO.js b/assets/index.html-CiBWk0Bg.js
similarity index 94%
rename from assets/index.html-CIen8cvO.js
rename to assets/index.html-CiBWk0Bg.js
index a4bba49..98c0a65 100644
--- a/assets/index.html-CIen8cvO.js
+++ b/assets/index.html-CiBWk0Bg.js
@@ -1 +1 @@
-import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as a}from"./app-ClwIkahu.js";const o={};function r(n,c){return t(),a("div")}const s=e(o,[["render",r],["__file","index.html.vue"]]),i=JSON.parse(`{"path":"/tag/mco/","title":"标签: MCO","lang":"zh-CN","frontmatter":{"title":"标签: MCO","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"MCO","key":"tag"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/tag/mco/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"标签: MCO"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"标签: MCO\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{s as comp,i as data};
+import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as a}from"./app-Flo2gZk8.js";const o={};function r(n,c){return t(),a("div")}const s=e(o,[["render",r],["__file","index.html.vue"]]),i=JSON.parse(`{"path":"/tag/mco/","title":"标签: MCO","lang":"zh-CN","frontmatter":{"title":"标签: MCO","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"MCO","key":"tag"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/tag/mco/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"标签: MCO"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"标签: MCO\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{s as comp,i as data};
diff --git a/assets/index.html-B8qYb7wb.js b/assets/index.html-CpeDyHcd.js
similarity index 94%
rename from assets/index.html-B8qYb7wb.js
rename to assets/index.html-CpeDyHcd.js
index f996d07..6c6aefa 100644
--- a/assets/index.html-B8qYb7wb.js
+++ b/assets/index.html-CpeDyHcd.js
@@ -1 +1 @@
-import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as a}from"./app-ClwIkahu.js";const o={};function r(n,c){return t(),a("div")}const s=e(o,[["render",r],["__file","index.html.vue"]]),i=JSON.parse(`{"path":"/tag/uc8179/","title":"标签: UC8179","lang":"zh-CN","frontmatter":{"title":"标签: UC8179","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"UC8179","key":"tag"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/tag/uc8179/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"标签: UC8179"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"标签: UC8179\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{s as comp,i as data};
+import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as a}from"./app-Flo2gZk8.js";const o={};function r(n,c){return t(),a("div")}const s=e(o,[["render",r],["__file","index.html.vue"]]),i=JSON.parse(`{"path":"/tag/uc8179/","title":"标签: UC8179","lang":"zh-CN","frontmatter":{"title":"标签: UC8179","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"UC8179","key":"tag"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/tag/uc8179/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"标签: UC8179"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"标签: UC8179\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{s as comp,i as data};
diff --git a/assets/index.html-DhcL23aG.js b/assets/index.html-Cpr5viHS.js
similarity index 94%
rename from assets/index.html-DhcL23aG.js
rename to assets/index.html-Cpr5viHS.js
index 4ac03dd..0390b61 100644
--- a/assets/index.html-DhcL23aG.js
+++ b/assets/index.html-Cpr5viHS.js
@@ -1 +1 @@
-import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as a}from"./app-ClwIkahu.js";const o={};function r(n,l){return t(),a("div")}const s=e(o,[["render",r],["__file","index.html.vue"]]),i=JSON.parse(`{"path":"/tag/%E9%83%8A%E7%8B%BC/","title":"标签: 郊狼","lang":"zh-CN","frontmatter":{"title":"标签: 郊狼","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"郊狼","key":"tag"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/tag/%E9%83%8A%E7%8B%BC/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"标签: 郊狼"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"标签: 郊狼\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{s as comp,i as data};
+import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as a}from"./app-Flo2gZk8.js";const o={};function r(n,l){return t(),a("div")}const s=e(o,[["render",r],["__file","index.html.vue"]]),i=JSON.parse(`{"path":"/tag/%E9%83%8A%E7%8B%BC/","title":"标签: 郊狼","lang":"zh-CN","frontmatter":{"title":"标签: 郊狼","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"郊狼","key":"tag"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/tag/%E9%83%8A%E7%8B%BC/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"标签: 郊狼"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"标签: 郊狼\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{s as comp,i as data};
diff --git a/assets/index.html-DZIt3Q5g.js b/assets/index.html-CvSEeOlH.js
similarity index 94%
rename from assets/index.html-DZIt3Q5g.js
rename to assets/index.html-CvSEeOlH.js
index 5d52f1f..038b549 100644
--- a/assets/index.html-DZIt3Q5g.js
+++ b/assets/index.html-CvSEeOlH.js
@@ -1 +1 @@
-import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as o}from"./app-ClwIkahu.js";const a={};function r(n,c){return t(),o("div")}const s=e(a,[["render",r],["__file","index.html.vue"]]),i=JSON.parse(`{"path":"/category/%E5%8D%95%E7%89%87%E6%9C%BA/","title":"单片机 分类","lang":"zh-CN","frontmatter":{"title":"单片机 分类","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"单片机","key":"category"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/category/%E5%8D%95%E7%89%87%E6%9C%BA/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"单片机 分类"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"单片机 分类\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{s as comp,i as data};
+import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as o}from"./app-Flo2gZk8.js";const a={};function r(n,c){return t(),o("div")}const s=e(a,[["render",r],["__file","index.html.vue"]]),i=JSON.parse(`{"path":"/category/%E5%8D%95%E7%89%87%E6%9C%BA/","title":"单片机 分类","lang":"zh-CN","frontmatter":{"title":"单片机 分类","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"单片机","key":"category"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/category/%E5%8D%95%E7%89%87%E6%9C%BA/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"单片机 分类"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"单片机 分类\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{s as comp,i as data};
diff --git a/assets/index.html-DvNCX4dz.js b/assets/index.html-CxRigd-R.js
similarity index 99%
rename from assets/index.html-DvNCX4dz.js
rename to assets/index.html-CxRigd-R.js
index ad0175b..594198f 100644
--- a/assets/index.html-DvNCX4dz.js
+++ b/assets/index.html-CxRigd-R.js
@@ -1,4 +1,4 @@
-import{_ as s}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as d,o as t,c as o,a as e,b as i,d as l,e as a}from"./app-ClwIkahu.js";const c="/assets/Screenshot1-BeOFZ5wg.png",r="/assets/Screenshot2-BxTF3Nw5.png",u="/assets/Screenshot6-DsXGY1KK.png",m="/assets/Screenshot3-Bi02Yhwj.png",p="/assets/Screenshot4-D-iRsYJg.png",v="/assets/Screenshot5-CVS2m0e2.png",b={},f=a('<p>最近大家应该都玩过novelAI了,出来的图片质量都非常棒,但是b站大佬给的配置只是打包了的bat文件,但是这显然不符合我们的折腾精神,于是我们来尝试使用conda来进行纯手工配置。</p><h2 id="前置条件" tabindex="-1"><a class="header-anchor" href="#前置条件"><span>前置条件</span></a></h2><ul><li>git</li><li>conda(在win上使用miniconda或者anconda均可,建议使用miniconda,体积更小)</li><li>nvida的cuda驱动</li><li>合适的磁力链接下载软件</li><li>适当的访问外网方式,您可能需要配置命令行、conda等工具,以及您可能需要对pip/conda等工具进行换源,在此不多赘述。</li></ul><h2 id="安装stable-diffusion-webui" tabindex="-1"><a class="header-anchor" href="#安装stable-diffusion-webui"><span>安装stable-diffusion-webui</span></a></h2>',4),h={href:"https://github.com/AUTOMATIC1111/stable-diffusion-webui",target:"_blank",rel:"noopener noreferrer"},_=a(`<p>这里我们采用git clone的方式来进行下载,同时也更方便我们后期的升级等操作。在命令行中输入</p><div class="language-cmd line-numbers-mode" data-ext="cmd" data-title="cmd"><pre class="language-cmd"><code>git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
+import{_ as s}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as d,o as t,c as o,a as e,b as i,d as l,e as a}from"./app-Flo2gZk8.js";const c="/assets/Screenshot1-BeOFZ5wg.png",r="/assets/Screenshot2-BxTF3Nw5.png",u="/assets/Screenshot6-DsXGY1KK.png",m="/assets/Screenshot3-Bi02Yhwj.png",p="/assets/Screenshot4-D-iRsYJg.png",v="/assets/Screenshot5-CVS2m0e2.png",b={},f=a('<p>最近大家应该都玩过novelAI了,出来的图片质量都非常棒,但是b站大佬给的配置只是打包了的bat文件,但是这显然不符合我们的折腾精神,于是我们来尝试使用conda来进行纯手工配置。</p><h2 id="前置条件" tabindex="-1"><a class="header-anchor" href="#前置条件"><span>前置条件</span></a></h2><ul><li>git</li><li>conda(在win上使用miniconda或者anconda均可,建议使用miniconda,体积更小)</li><li>nvida的cuda驱动</li><li>合适的磁力链接下载软件</li><li>适当的访问外网方式,您可能需要配置命令行、conda等工具,以及您可能需要对pip/conda等工具进行换源,在此不多赘述。</li></ul><h2 id="安装stable-diffusion-webui" tabindex="-1"><a class="header-anchor" href="#安装stable-diffusion-webui"><span>安装stable-diffusion-webui</span></a></h2>',4),h={href:"https://github.com/AUTOMATIC1111/stable-diffusion-webui",target:"_blank",rel:"noopener noreferrer"},_=a(`<p>这里我们采用git clone的方式来进行下载,同时也更方便我们后期的升级等操作。在命令行中输入</p><div class="language-cmd line-numbers-mode" data-ext="cmd" data-title="cmd"><pre class="language-cmd"><code>git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
 </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>等待自动克隆完毕,在此期间可以进行下一步或者做你喜欢的事。</p><h2 id="下载泄露版的novelai模型" tabindex="-1"><a class="header-anchor" href="#下载泄露版的novelai模型"><span>下载泄露版的novelAI模型</span></a></h2><p>您可以选择合适的磁力链接下载工具,下载如下的文件</p><div class="language-text line-numbers-mode" data-ext="text" data-title="text"><pre class="language-text"><code>magnet:?xt=urn:btih:LPPEILNIMJS3M4FD4XVDCY5PVUWG7DWM&amp;dn=novelaileak&amp;xl=55901742348
 </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>注意,您不需要下载全部的文件,您只需要下载<code>stableckpt</code>文件夹中的以<code>-final-pruned</code>后缀或者<code>-latest</code>后缀的文件即可。以下是各个后缀的解释:</p><ul><li>animefull 完整版</li><li>animesfw 全年龄版(去除掉了某些奇怪的东西)</li><li>-latest 最新的版本,也就是常说的7G版,请注意,这可能需要消耗更多的显存</li><li>-final-pruned 最终裁剪版,也就是常说的4G版</li><li>-prevgood 之前较好的版本,一般不使用</li></ul>`,8),g={href:"https://www.bilibili.com/read/cv19099066",target:"_blank",rel:"noopener noreferrer"},w=a(`<p>在下载的过程中,您可以选择等待或者是做您喜欢的事。</p><h2 id="创建一个conda虚拟环境" tabindex="-1"><a class="header-anchor" href="#创建一个conda虚拟环境"><span>创建一个conda虚拟环境</span></a></h2><p>运行如下命令来创建一个conda的虚拟环境,注意python版本需要为3.10.6以上</p><div class="language-cmd line-numbers-mode" data-ext="cmd" data-title="cmd"><pre class="language-cmd"><code>conda create -n name python=3.10
 </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p><code>-n</code>参数后面的<code>name</code>替换为为您想创建的虚拟环境的名称,在这里我使用了<code>novelAI</code>,之后的命令中将使用这个名称,如果您使用了别的名称,请注意自行替换。</p><p>激活环境,使用</p><div class="language-cmd line-numbers-mode" data-ext="cmd" data-title="cmd"><pre class="language-cmd"><code>conda activate novelAI
diff --git a/assets/index.html-Du74cC6X.js b/assets/index.html-DCVozm3V.js
similarity index 94%
rename from assets/index.html-Du74cC6X.js
rename to assets/index.html-DCVozm3V.js
index 78544b5..16350b6 100644
--- a/assets/index.html-Du74cC6X.js
+++ b/assets/index.html-DCVozm3V.js
@@ -1 +1 @@
-import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as a}from"./app-ClwIkahu.js";const o={};function r(n,c){return t(),a("div")}const i=e(o,[["render",r],["__file","index.html.vue"]]),s=JSON.parse(`{"path":"/tag/cicd/","title":"标签: CI/CD","lang":"zh-CN","frontmatter":{"title":"标签: CI/CD","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"CI/CD","key":"tag"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/tag/cicd/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"标签: CI/CD"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"标签: CI/CD\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{i as comp,s as data};
+import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as a}from"./app-Flo2gZk8.js";const o={};function r(n,c){return t(),a("div")}const i=e(o,[["render",r],["__file","index.html.vue"]]),s=JSON.parse(`{"path":"/tag/cicd/","title":"标签: CI/CD","lang":"zh-CN","frontmatter":{"title":"标签: CI/CD","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"CI/CD","key":"tag"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/tag/cicd/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"标签: CI/CD"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"标签: CI/CD\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{i as comp,s as data};
diff --git a/assets/index.html-BaR2aqhq.js b/assets/index.html-DGqb01LU.js
similarity index 93%
rename from assets/index.html-BaR2aqhq.js
rename to assets/index.html-DGqb01LU.js
index 5939417..da7912a 100644
--- a/assets/index.html-BaR2aqhq.js
+++ b/assets/index.html-DGqb01LU.js
@@ -1 +1 @@
-import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as o,o as a,c as s,d as n}from"./app-ClwIkahu.js";const r={};function p(c,l){const t=o("Catalog");return a(),s("div",null,[n(t)])}const f=e(r,[["render",p],["__file","index.html.vue"]]),_=JSON.parse(`{"path":"/posts/","title":"Posts","lang":"zh-CN","frontmatter":{"title":"Posts","article":false,"feed":false,"sitemap":false,"head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/posts/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"Posts"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"Posts\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":1},"filePathRelative":null,"excerpt":""}`);export{f as comp,_ as data};
+import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as o,o as a,c as s,d as n}from"./app-Flo2gZk8.js";const r={};function p(c,l){const t=o("Catalog");return a(),s("div",null,[n(t)])}const f=e(r,[["render",p],["__file","index.html.vue"]]),_=JSON.parse(`{"path":"/posts/","title":"Posts","lang":"zh-CN","frontmatter":{"title":"Posts","article":false,"feed":false,"sitemap":false,"head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/posts/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"Posts"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"Posts\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":1},"filePathRelative":null,"excerpt":""}`);export{f as comp,_ as data};
diff --git a/assets/index.html-BdqadbH8.js b/assets/index.html-DJMKg_M6.js
similarity index 94%
rename from assets/index.html-BdqadbH8.js
rename to assets/index.html-DJMKg_M6.js
index 75bf1a6..20be6cb 100644
--- a/assets/index.html-BdqadbH8.js
+++ b/assets/index.html-DJMKg_M6.js
@@ -1 +1 @@
-import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as a}from"./app-ClwIkahu.js";const o={};function r(n,p){return t(),a("div")}const s=e(o,[["render",r],["__file","index.html.vue"]]),i=JSON.parse(`{"path":"/tag/esp8266/","title":"标签: ESP8266","lang":"zh-CN","frontmatter":{"title":"标签: ESP8266","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"ESP8266","key":"tag"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/tag/esp8266/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"标签: ESP8266"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"标签: ESP8266\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{s as comp,i as data};
+import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as a}from"./app-Flo2gZk8.js";const o={};function r(n,p){return t(),a("div")}const s=e(o,[["render",r],["__file","index.html.vue"]]),i=JSON.parse(`{"path":"/tag/esp8266/","title":"标签: ESP8266","lang":"zh-CN","frontmatter":{"title":"标签: ESP8266","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"ESP8266","key":"tag"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/tag/esp8266/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"标签: ESP8266"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"标签: ESP8266\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{s as comp,i as data};
diff --git a/assets/index.html-DIaDLRqn.js b/assets/index.html-DLZdHb6J.js
similarity index 94%
rename from assets/index.html-DIaDLRqn.js
rename to assets/index.html-DLZdHb6J.js
index 02904e5..52f1b3d 100644
--- a/assets/index.html-DIaDLRqn.js
+++ b/assets/index.html-DLZdHb6J.js
@@ -1 +1 @@
-import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as a}from"./app-ClwIkahu.js";const o={};function r(n,l){return t(),a("div")}const s=e(o,[["render",r],["__file","index.html.vue"]]),i=JSON.parse(`{"path":"/tag/%E7%A2%8E%E7%A2%8E%E5%BF%B5/","title":"标签: 碎碎念","lang":"zh-CN","frontmatter":{"title":"标签: 碎碎念","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"碎碎念","key":"tag"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/tag/%E7%A2%8E%E7%A2%8E%E5%BF%B5/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"标签: 碎碎念"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"标签: 碎碎念\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{s as comp,i as data};
+import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as a}from"./app-Flo2gZk8.js";const o={};function r(n,l){return t(),a("div")}const s=e(o,[["render",r],["__file","index.html.vue"]]),i=JSON.parse(`{"path":"/tag/%E7%A2%8E%E7%A2%8E%E5%BF%B5/","title":"标签: 碎碎念","lang":"zh-CN","frontmatter":{"title":"标签: 碎碎念","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"碎碎念","key":"tag"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/tag/%E7%A2%8E%E7%A2%8E%E5%BF%B5/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"标签: 碎碎念"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"标签: 碎碎念\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{s as comp,i as data};
diff --git a/assets/index.html-kUwAIzkD.js b/assets/index.html-DPF-EyUV.js
similarity index 94%
rename from assets/index.html-kUwAIzkD.js
rename to assets/index.html-DPF-EyUV.js
index 20abac4..c274f2a 100644
--- a/assets/index.html-kUwAIzkD.js
+++ b/assets/index.html-DPF-EyUV.js
@@ -1 +1 @@
-import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as a}from"./app-ClwIkahu.js";const o={};function r(n,l){return t(),a("div")}const s=e(o,[["render",r],["__file","index.html.vue"]]),i=JSON.parse(`{"path":"/tag/%E5%B5%8C%E5%85%A5%E5%BC%8F/","title":"标签: 嵌入式","lang":"zh-CN","frontmatter":{"title":"标签: 嵌入式","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"嵌入式","key":"tag"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/tag/%E5%B5%8C%E5%85%A5%E5%BC%8F/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"标签: 嵌入式"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"标签: 嵌入式\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{s as comp,i as data};
+import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as a}from"./app-Flo2gZk8.js";const o={};function r(n,l){return t(),a("div")}const s=e(o,[["render",r],["__file","index.html.vue"]]),i=JSON.parse(`{"path":"/tag/%E5%B5%8C%E5%85%A5%E5%BC%8F/","title":"标签: 嵌入式","lang":"zh-CN","frontmatter":{"title":"标签: 嵌入式","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"嵌入式","key":"tag"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/tag/%E5%B5%8C%E5%85%A5%E5%BC%8F/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"标签: 嵌入式"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"标签: 嵌入式\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{s as comp,i as data};
diff --git a/assets/index.html-CwWDCYUS.js b/assets/index.html-DPcGNBru.js
similarity index 93%
rename from assets/index.html-CwWDCYUS.js
rename to assets/index.html-DPcGNBru.js
index c6a8531..f3ea009 100644
--- a/assets/index.html-CwWDCYUS.js
+++ b/assets/index.html-DPcGNBru.js
@@ -1 +1 @@
-import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as a}from"./app-ClwIkahu.js";const o={};function r(n,l){return t(),a("div")}const s=e(o,[["render",r],["__file","index.html.vue"]]),i=JSON.parse(`{"path":"/tag/","title":"标签","lang":"zh-CN","frontmatter":{"title":"标签","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","key":"tag"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/tag/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"标签"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"标签\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{s as comp,i as data};
+import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as a}from"./app-Flo2gZk8.js";const o={};function r(n,l){return t(),a("div")}const s=e(o,[["render",r],["__file","index.html.vue"]]),i=JSON.parse(`{"path":"/tag/","title":"标签","lang":"zh-CN","frontmatter":{"title":"标签","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","key":"tag"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/tag/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"标签"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"标签\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{s as comp,i as data};
diff --git a/assets/index.html-DdE0h7xo.js b/assets/index.html-DTceWJaH.js
similarity index 94%
rename from assets/index.html-DdE0h7xo.js
rename to assets/index.html-DTceWJaH.js
index a3f089a..626d26b 100644
--- a/assets/index.html-DdE0h7xo.js
+++ b/assets/index.html-DTceWJaH.js
@@ -1 +1 @@
-import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as a}from"./app-ClwIkahu.js";const o={};function r(n,l){return t(),a("div")}const s=e(o,[["render",r],["__file","index.html.vue"]]),i=JSON.parse(`{"path":"/tag/%E9%81%87%E5%88%B0%E7%9A%84%E5%9D%91/","title":"标签: 遇到的坑","lang":"zh-CN","frontmatter":{"title":"标签: 遇到的坑","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"遇到的坑","key":"tag"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/tag/%E9%81%87%E5%88%B0%E7%9A%84%E5%9D%91/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"标签: 遇到的坑"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"标签: 遇到的坑\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{s as comp,i as data};
+import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as a}from"./app-Flo2gZk8.js";const o={};function r(n,l){return t(),a("div")}const s=e(o,[["render",r],["__file","index.html.vue"]]),i=JSON.parse(`{"path":"/tag/%E9%81%87%E5%88%B0%E7%9A%84%E5%9D%91/","title":"标签: 遇到的坑","lang":"zh-CN","frontmatter":{"title":"标签: 遇到的坑","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"遇到的坑","key":"tag"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/tag/%E9%81%87%E5%88%B0%E7%9A%84%E5%9D%91/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"标签: 遇到的坑"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"标签: 遇到的坑\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{s as comp,i as data};
diff --git a/assets/index.html-CpBdG6tv.js b/assets/index.html-DV9WiiCS.js
similarity index 94%
rename from assets/index.html-CpBdG6tv.js
rename to assets/index.html-DV9WiiCS.js
index a3471ca..59cdebe 100644
--- a/assets/index.html-CpBdG6tv.js
+++ b/assets/index.html-DV9WiiCS.js
@@ -1 +1 @@
-import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as a}from"./app-ClwIkahu.js";const o={};function r(n,p){return t(),a("div")}const s=e(o,[["render",r],["__file","index.html.vue"]]),i=JSON.parse(`{"path":"/tag/depg0750rwu790f30/","title":"标签: DEPG0750RWU790F30","lang":"zh-CN","frontmatter":{"title":"标签: DEPG0750RWU790F30","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"DEPG0750RWU790F30","key":"tag"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/tag/depg0750rwu790f30/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"标签: DEPG0750RWU790F30"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"标签: DEPG0750RWU790F30\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{s as comp,i as data};
+import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as a}from"./app-Flo2gZk8.js";const o={};function r(n,p){return t(),a("div")}const s=e(o,[["render",r],["__file","index.html.vue"]]),i=JSON.parse(`{"path":"/tag/depg0750rwu790f30/","title":"标签: DEPG0750RWU790F30","lang":"zh-CN","frontmatter":{"title":"标签: DEPG0750RWU790F30","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"DEPG0750RWU790F30","key":"tag"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/tag/depg0750rwu790f30/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"标签: DEPG0750RWU790F30"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"标签: DEPG0750RWU790F30\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{s as comp,i as data};
diff --git a/assets/index.html-TGoZudvZ.js b/assets/index.html-DY-KY6vi.js
similarity index 94%
rename from assets/index.html-TGoZudvZ.js
rename to assets/index.html-DY-KY6vi.js
index 95d7259..0b7bcf6 100644
--- a/assets/index.html-TGoZudvZ.js
+++ b/assets/index.html-DY-KY6vi.js
@@ -1 +1 @@
-import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as o}from"./app-ClwIkahu.js";const a={};function n(r,l){return t(),o("div")}const i=e(a,[["render",n],["__file","index.html.vue"]]),s=JSON.parse(`{"path":"/tag/novelai/","title":"标签: novelAI","lang":"zh-CN","frontmatter":{"title":"标签: novelAI","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"novelAI","key":"tag"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/tag/novelai/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"标签: novelAI"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"标签: novelAI\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{i as comp,s as data};
+import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as o}from"./app-Flo2gZk8.js";const a={};function n(r,l){return t(),o("div")}const i=e(a,[["render",n],["__file","index.html.vue"]]),s=JSON.parse(`{"path":"/tag/novelai/","title":"标签: novelAI","lang":"zh-CN","frontmatter":{"title":"标签: novelAI","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"novelAI","key":"tag"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/tag/novelai/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"标签: novelAI"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"标签: novelAI\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{i as comp,s as data};
diff --git a/assets/index.html-Bd1PkxNi.js b/assets/index.html-D_Px6PD2.js
similarity index 98%
rename from assets/index.html-Bd1PkxNi.js
rename to assets/index.html-D_Px6PD2.js
index 1b3b959..21e8b99 100644
--- a/assets/index.html-Bd1PkxNi.js
+++ b/assets/index.html-D_Px6PD2.js
@@ -1 +1 @@
-import{_ as a}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as i,o as c,c as n,a as e,b as t,d as r,e as l}from"./app-ClwIkahu.js";const d="/assets/2023-08-19-12-01-32-kuWkkwif.png",s="/assets/2023-08-19-12-09-01-Dxvv1A7v.png",p={},m=e("p",null,"今日,在千呼万唤中,Arm 的 MDK6 桌面端终于出来了,本想作为第一批吃螃蟹的开发者,但是当时 Air32 和 Air001 的烧录均有问题,最后在 Arm 官方的支持下,终于可以正常使用了,那么现在我们就来尝试一下。",-1),h=e("h2",{id:"安装-mdk6",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#安装-mdk6"},[e("span",null,"安装 MDK6")])],-1),u=e("p",null,"MDK6 实际上是 VSCode 的一个插件,这看起来很荒谬,实际上也确实很荒谬。所以首先我们需要安装 VSCode,这里不多赘述。",-1),_={href:"https://marketplace.visualstudio.com/items?itemName=Arm.keil-studio-pack",target:"_blank",rel:"noopener noreferrer"},D=e("code",null,"install",-1),g=l('<h2 id="转换工程" tabindex="-1"><a class="header-anchor" href="#转换工程"><span>转换工程</span></a></h2><p>因为目前 MDK6 的工程创建还很辣鸡,因此我们选择把原来 MDK5 的工程转换过来,这里我们以 Air001 为例。</p><p>我们随便找一个例子,我们这里以 GPIO 下的<code>GPIO_Toggle</code>为例,首先我们先复制粘贴一份,然后重命名为<code>GPIO_Toggle_MDK6</code>。打开其中的<code>MDK-ARM</code>文件夹,然后选择在 VSCode 中打开。</p><p>这是我们会发现出现了一个<code>Convert μVision project Project.uvprojx to csolution?</code>的弹窗,点击<code>convert</code>即可。</p><p><img src="'+d+'" alt="convert"></p><p>此时会自动转换,稍等即可。</p><div class="hint-container note"><p class="hint-container-title">注</p><p>目前仅支持转换 AC6 的工程,如果是 AC5 编译器的工程需要自行修改</p></div><h2 id="编译工程" tabindex="-1"><a class="header-anchor" href="#编译工程"><span>编译工程</span></a></h2><p>点击左边的<code>CMSIS</code>按钮,点击<code>action</code>列表中的<code>build</code>即可开始编译。</p><h2 id="烧录程序" tabindex="-1"><a class="header-anchor" href="#烧录程序"><span>烧录程序</span></a></h2><p>首先我们插入调试器,然后点击左边的<code>Device Manage</code>按钮,然后点击<code>Add device</code>,然后选择实际使用的调试器,我这里使用的是 ST-Link。然后点击左边列表中的铅笔图标,也就是<code>Edit Device</code></p><ol><li>修改名称,可以修改成自己喜欢的,此处我们保存默认,直接按<code>Enter</code>键即可</li><li>选择 pack 包,我们输入本地最新的 pack 包路径,我这里为<code>D:\\GitHub\\luatos-soc-air001\\PACK\\Keil.AIR001_DFP.1.1.0.pack</code><img src="'+s+'" alt="pack"></li><li>选择芯片,我们这里选择<code>AIR001Dev</code>即可</li></ol><p>点击左边的<code>CMSIS</code>按钮,点击<code>action</code>列表中的<code>RUN</code>按钮即可下载。</p><div class="hint-container tip"><p class="hint-container-title">提示</p><p>目前 MDK6 还不能修改调试器的速度,因此默认的 10M 对于 Air001 来说太高了,建议使用别的调试器进行烧录。</p><p>如果出现<code>ERROR: Cannot attain state requested. (RDDI-ERROR 52)</code>这样的报错,就是说明速率太高无法下载。</p></div><div class="hint-container note"><p class="hint-container-title">注</p><p>默认下载完不会自动复位,我们可能需要手动按一下 RST 按钮</p></div><p>至此,我们就完成了一个简单的工程的编译与烧录。</p>',16);function A(k,v){const o=i("ExternalLinkIcon");return c(),n("div",null,[m,h,u,e("p",null,[t("安装完成后,我们打开插件的主页"),e("a",_,[t("https://marketplace.visualstudio.com/items?itemName=Arm.keil-studio-pack"),r(o)]),t(",点击"),D,t(",即可跳转到 VSCode 中自动安装。这个过程中会安装一大堆依赖的奇奇怪怪的很多插件,甚至可能有 AC6 编译器,请耐心等待。")]),g])}const K=a(p,[["render",A],["__file","index.html.vue"]]),S=JSON.parse(`{"path":"/posts/MDK6-Dev/","title":"更现代的开发方式?使用 MDK6 进行开发","lang":"zh-CN","frontmatter":{"title":"更现代的开发方式?使用 MDK6 进行开发","date":"2023-08-19T12:00:00.000Z","permalink":"/posts/MDK6-Dev/","category":["单片机"],"tag":["Air001","Air32","合宙"],"author":{"name":"HalfSweet","link":"https://github.com/HalfSweet"},"description":"今日,在千呼万唤中,Arm 的 MDK6 桌面端终于出来了,本想作为第一批吃螃蟹的开发者,但是当时 Air32 和 Air001 的烧录均有问题,最后在 Arm 官方的支持下,终于可以正常使用了,那么现在我们就来尝试一下。 安装 MDK6 MDK6 实际上是 VSCode 的一个插件,这看起来很荒谬,实际上也确实很荒谬。所以首先我们需要安装 VSCod...","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/posts/MDK6-Dev/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"更现代的开发方式?使用 MDK6 进行开发"}],["meta",{"property":"og:description","content":"今日,在千呼万唤中,Arm 的 MDK6 桌面端终于出来了,本想作为第一批吃螃蟹的开发者,但是当时 Air32 和 Air001 的烧录均有问题,最后在 Arm 官方的支持下,终于可以正常使用了,那么现在我们就来尝试一下。 安装 MDK6 MDK6 实际上是 VSCode 的一个插件,这看起来很荒谬,实际上也确实很荒谬。所以首先我们需要安装 VSCod..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-03-23T06:35:02.000Z"}],["meta",{"property":"article:author","content":"HalfSweet"}],["meta",{"property":"article:tag","content":"Air001"}],["meta",{"property":"article:tag","content":"Air32"}],["meta",{"property":"article:tag","content":"合宙"}],["meta",{"property":"article:published_time","content":"2023-08-19T12:00:00.000Z"}],["meta",{"property":"article:modified_time","content":"2024-03-23T06:35:02.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"更现代的开发方式?使用 MDK6 进行开发\\",\\"image\\":[\\"\\"],\\"datePublished\\":\\"2023-08-19T12:00:00.000Z\\",\\"dateModified\\":\\"2024-03-23T06:35:02.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"HalfSweet\\",\\"link\\":\\"https://github.com/HalfSweet\\"}]}"]]},"headers":[{"level":2,"title":"安装 MDK6","slug":"安装-mdk6","link":"#安装-mdk6","children":[]},{"level":2,"title":"转换工程","slug":"转换工程","link":"#转换工程","children":[]},{"level":2,"title":"编译工程","slug":"编译工程","link":"#编译工程","children":[]},{"level":2,"title":"烧录程序","slug":"烧录程序","link":"#烧录程序","children":[]}],"git":{"createdTime":1692418528000,"updatedTime":1711175702000,"contributors":[{"name":"HalfSweet","email":"halfsweet@halfsweet.cn","commits":2}]},"readingTime":{"minutes":2.42,"words":726},"filePathRelative":"posts/更现代的开发方式?使用MDK6进行开发.md","localizedDate":"2023年8月19日","excerpt":"<p>今日,在千呼万唤中,Arm 的 MDK6 桌面端终于出来了,本想作为第一批吃螃蟹的开发者,但是当时 Air32 和 Air001 的烧录均有问题,最后在 Arm 官方的支持下,终于可以正常使用了,那么现在我们就来尝试一下。</p>\\n","autoDesc":true}`);export{K as comp,S as data};
+import{_ as a}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as i,o as c,c as n,a as e,b as t,d as r,e as l}from"./app-Flo2gZk8.js";const d="/assets/2023-08-19-12-01-32-kuWkkwif.png",s="/assets/2023-08-19-12-09-01-Dxvv1A7v.png",p={},m=e("p",null,"今日,在千呼万唤中,Arm 的 MDK6 桌面端终于出来了,本想作为第一批吃螃蟹的开发者,但是当时 Air32 和 Air001 的烧录均有问题,最后在 Arm 官方的支持下,终于可以正常使用了,那么现在我们就来尝试一下。",-1),h=e("h2",{id:"安装-mdk6",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#安装-mdk6"},[e("span",null,"安装 MDK6")])],-1),u=e("p",null,"MDK6 实际上是 VSCode 的一个插件,这看起来很荒谬,实际上也确实很荒谬。所以首先我们需要安装 VSCode,这里不多赘述。",-1),_={href:"https://marketplace.visualstudio.com/items?itemName=Arm.keil-studio-pack",target:"_blank",rel:"noopener noreferrer"},D=e("code",null,"install",-1),g=l('<h2 id="转换工程" tabindex="-1"><a class="header-anchor" href="#转换工程"><span>转换工程</span></a></h2><p>因为目前 MDK6 的工程创建还很辣鸡,因此我们选择把原来 MDK5 的工程转换过来,这里我们以 Air001 为例。</p><p>我们随便找一个例子,我们这里以 GPIO 下的<code>GPIO_Toggle</code>为例,首先我们先复制粘贴一份,然后重命名为<code>GPIO_Toggle_MDK6</code>。打开其中的<code>MDK-ARM</code>文件夹,然后选择在 VSCode 中打开。</p><p>这是我们会发现出现了一个<code>Convert μVision project Project.uvprojx to csolution?</code>的弹窗,点击<code>convert</code>即可。</p><p><img src="'+d+'" alt="convert"></p><p>此时会自动转换,稍等即可。</p><div class="hint-container note"><p class="hint-container-title">注</p><p>目前仅支持转换 AC6 的工程,如果是 AC5 编译器的工程需要自行修改</p></div><h2 id="编译工程" tabindex="-1"><a class="header-anchor" href="#编译工程"><span>编译工程</span></a></h2><p>点击左边的<code>CMSIS</code>按钮,点击<code>action</code>列表中的<code>build</code>即可开始编译。</p><h2 id="烧录程序" tabindex="-1"><a class="header-anchor" href="#烧录程序"><span>烧录程序</span></a></h2><p>首先我们插入调试器,然后点击左边的<code>Device Manage</code>按钮,然后点击<code>Add device</code>,然后选择实际使用的调试器,我这里使用的是 ST-Link。然后点击左边列表中的铅笔图标,也就是<code>Edit Device</code></p><ol><li>修改名称,可以修改成自己喜欢的,此处我们保存默认,直接按<code>Enter</code>键即可</li><li>选择 pack 包,我们输入本地最新的 pack 包路径,我这里为<code>D:\\GitHub\\luatos-soc-air001\\PACK\\Keil.AIR001_DFP.1.1.0.pack</code><img src="'+s+'" alt="pack"></li><li>选择芯片,我们这里选择<code>AIR001Dev</code>即可</li></ol><p>点击左边的<code>CMSIS</code>按钮,点击<code>action</code>列表中的<code>RUN</code>按钮即可下载。</p><div class="hint-container tip"><p class="hint-container-title">提示</p><p>目前 MDK6 还不能修改调试器的速度,因此默认的 10M 对于 Air001 来说太高了,建议使用别的调试器进行烧录。</p><p>如果出现<code>ERROR: Cannot attain state requested. (RDDI-ERROR 52)</code>这样的报错,就是说明速率太高无法下载。</p></div><div class="hint-container note"><p class="hint-container-title">注</p><p>默认下载完不会自动复位,我们可能需要手动按一下 RST 按钮</p></div><p>至此,我们就完成了一个简单的工程的编译与烧录。</p>',16);function A(k,v){const o=i("ExternalLinkIcon");return c(),n("div",null,[m,h,u,e("p",null,[t("安装完成后,我们打开插件的主页"),e("a",_,[t("https://marketplace.visualstudio.com/items?itemName=Arm.keil-studio-pack"),r(o)]),t(",点击"),D,t(",即可跳转到 VSCode 中自动安装。这个过程中会安装一大堆依赖的奇奇怪怪的很多插件,甚至可能有 AC6 编译器,请耐心等待。")]),g])}const K=a(p,[["render",A],["__file","index.html.vue"]]),S=JSON.parse(`{"path":"/posts/MDK6-Dev/","title":"更现代的开发方式?使用 MDK6 进行开发","lang":"zh-CN","frontmatter":{"title":"更现代的开发方式?使用 MDK6 进行开发","date":"2023-08-19T12:00:00.000Z","permalink":"/posts/MDK6-Dev/","category":["单片机"],"tag":["Air001","Air32","合宙"],"author":{"name":"HalfSweet","link":"https://github.com/HalfSweet"},"description":"今日,在千呼万唤中,Arm 的 MDK6 桌面端终于出来了,本想作为第一批吃螃蟹的开发者,但是当时 Air32 和 Air001 的烧录均有问题,最后在 Arm 官方的支持下,终于可以正常使用了,那么现在我们就来尝试一下。 安装 MDK6 MDK6 实际上是 VSCode 的一个插件,这看起来很荒谬,实际上也确实很荒谬。所以首先我们需要安装 VSCod...","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/posts/MDK6-Dev/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"更现代的开发方式?使用 MDK6 进行开发"}],["meta",{"property":"og:description","content":"今日,在千呼万唤中,Arm 的 MDK6 桌面端终于出来了,本想作为第一批吃螃蟹的开发者,但是当时 Air32 和 Air001 的烧录均有问题,最后在 Arm 官方的支持下,终于可以正常使用了,那么现在我们就来尝试一下。 安装 MDK6 MDK6 实际上是 VSCode 的一个插件,这看起来很荒谬,实际上也确实很荒谬。所以首先我们需要安装 VSCod..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-03-23T06:35:02.000Z"}],["meta",{"property":"article:author","content":"HalfSweet"}],["meta",{"property":"article:tag","content":"Air001"}],["meta",{"property":"article:tag","content":"Air32"}],["meta",{"property":"article:tag","content":"合宙"}],["meta",{"property":"article:published_time","content":"2023-08-19T12:00:00.000Z"}],["meta",{"property":"article:modified_time","content":"2024-03-23T06:35:02.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"更现代的开发方式?使用 MDK6 进行开发\\",\\"image\\":[\\"\\"],\\"datePublished\\":\\"2023-08-19T12:00:00.000Z\\",\\"dateModified\\":\\"2024-03-23T06:35:02.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"HalfSweet\\",\\"link\\":\\"https://github.com/HalfSweet\\"}]}"]]},"headers":[{"level":2,"title":"安装 MDK6","slug":"安装-mdk6","link":"#安装-mdk6","children":[]},{"level":2,"title":"转换工程","slug":"转换工程","link":"#转换工程","children":[]},{"level":2,"title":"编译工程","slug":"编译工程","link":"#编译工程","children":[]},{"level":2,"title":"烧录程序","slug":"烧录程序","link":"#烧录程序","children":[]}],"git":{"createdTime":1692418528000,"updatedTime":1711175702000,"contributors":[{"name":"HalfSweet","email":"halfsweet@halfsweet.cn","commits":2}]},"readingTime":{"minutes":2.42,"words":726},"filePathRelative":"posts/更现代的开发方式?使用MDK6进行开发.md","localizedDate":"2023年8月19日","excerpt":"<p>今日,在千呼万唤中,Arm 的 MDK6 桌面端终于出来了,本想作为第一批吃螃蟹的开发者,但是当时 Air32 和 Air001 的烧录均有问题,最后在 Arm 官方的支持下,终于可以正常使用了,那么现在我们就来尝试一下。</p>\\n","autoDesc":true}`);export{K as comp,S as data};
diff --git a/assets/index.html-0oPRY09N.js b/assets/index.html-DgPmeCdQ.js
similarity index 99%
rename from assets/index.html-0oPRY09N.js
rename to assets/index.html-DgPmeCdQ.js
index 036bc79..5beac61 100644
--- a/assets/index.html-0oPRY09N.js
+++ b/assets/index.html-DgPmeCdQ.js
@@ -1,4 +1,4 @@
-import{_ as o}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as p,o as c,c as i,a as n,b as s,d as t,e}from"./app-ClwIkahu.js";const l="/assets/Screenshot1-gFEd_8ov.png",u="/assets/Screenshot2-DeQiTexZ.png",r="/assets/Screenshot3-BnKgc_vY.png",d="/assets/Screenshot4-8-F-rED9.png",k={},m=n("p",null,[s("众所周知,在c++20以上的标准已经支持了"),n("code",null,"std::format"),s("进行格式化输出,不过显而易见,嵌入式领域想要得到支持显然遥遥无期。但是我们已经厌倦了使用sprintf等方式来格式化字符串,c++的流特性又显得不够优雅,怎么才能用上类似于Python中format这样的方式来格式化并输出想要的字符串呢。")],-1),v={href:"https://fmt.dev/latest/index.html#portability",target:"_blank",rel:"noopener noreferrer"},b=e(`<h2 id="platformio平台" tabindex="-1"><a class="header-anchor" href="#platformio平台"><span>PlatformIO平台</span></a></h2><h3 id="使用arduino作为框架" tabindex="-1"><a class="header-anchor" href="#使用arduino作为框架"><span>使用Arduino作为框架</span></a></h3><h4 id="esp8266芯片" tabindex="-1"><a class="header-anchor" href="#esp8266芯片"><span>ESP8266芯片</span></a></h4><h5 id="移植-fmt-库" tabindex="-1"><a class="header-anchor" href="#移植-fmt-库"><span>移植{fmt}库</span></a></h5><p>首先我们下载fmtlib的包,这里我们使用了最新的版本(9.1.0),下载完成之后将其解压到工程目录下的/lib/文件夹中。不过解压好之后不能直接使用,因为在PlatformIO平台下,所以我们需要先在fmtlib库的根目录下添加一个<code>library.json</code>文件。这里我们可以参考下面的书写方式:</p><div class="language-json line-numbers-mode" data-ext="json" data-title="json"><pre class="language-json"><code><span class="token punctuation">{</span>
+import{_ as o}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as p,o as c,c as i,a as n,b as s,d as t,e}from"./app-Flo2gZk8.js";const l="/assets/Screenshot1-gFEd_8ov.png",u="/assets/Screenshot2-DeQiTexZ.png",r="/assets/Screenshot3-BnKgc_vY.png",d="/assets/Screenshot4-8-F-rED9.png",k={},m=n("p",null,[s("众所周知,在c++20以上的标准已经支持了"),n("code",null,"std::format"),s("进行格式化输出,不过显而易见,嵌入式领域想要得到支持显然遥遥无期。但是我们已经厌倦了使用sprintf等方式来格式化字符串,c++的流特性又显得不够优雅,怎么才能用上类似于Python中format这样的方式来格式化并输出想要的字符串呢。")],-1),v={href:"https://fmt.dev/latest/index.html#portability",target:"_blank",rel:"noopener noreferrer"},b=e(`<h2 id="platformio平台" tabindex="-1"><a class="header-anchor" href="#platformio平台"><span>PlatformIO平台</span></a></h2><h3 id="使用arduino作为框架" tabindex="-1"><a class="header-anchor" href="#使用arduino作为框架"><span>使用Arduino作为框架</span></a></h3><h4 id="esp8266芯片" tabindex="-1"><a class="header-anchor" href="#esp8266芯片"><span>ESP8266芯片</span></a></h4><h5 id="移植-fmt-库" tabindex="-1"><a class="header-anchor" href="#移植-fmt-库"><span>移植{fmt}库</span></a></h5><p>首先我们下载fmtlib的包,这里我们使用了最新的版本(9.1.0),下载完成之后将其解压到工程目录下的/lib/文件夹中。不过解压好之后不能直接使用,因为在PlatformIO平台下,所以我们需要先在fmtlib库的根目录下添加一个<code>library.json</code>文件。这里我们可以参考下面的书写方式:</p><div class="language-json line-numbers-mode" data-ext="json" data-title="json"><pre class="language-json"><code><span class="token punctuation">{</span>
   <span class="token property">&quot;name&quot;</span><span class="token operator">:</span> <span class="token string">&quot;fmt&quot;</span><span class="token punctuation">,</span>
   <span class="token property">&quot;description&quot;</span><span class="token operator">:</span> <span class="token string">&quot;{fmt} is an open-source formatting library providing a fast and safe alternative to C stdio and C++ iostreams.&quot;</span><span class="token punctuation">,</span>
   <span class="token property">&quot;keywords&quot;</span><span class="token operator">:</span> <span class="token string">&quot;c-plus-plus, performance, cross-platform, formatting, printf, output, multiplatform, chrono&quot;</span><span class="token punctuation">,</span>
diff --git a/assets/index.html-CR-9qG2Y.js b/assets/index.html-DhSSZBRU.js
similarity index 94%
rename from assets/index.html-CR-9qG2Y.js
rename to assets/index.html-DhSSZBRU.js
index 7ff9240..3ee50df 100644
--- a/assets/index.html-CR-9qG2Y.js
+++ b/assets/index.html-DhSSZBRU.js
@@ -1 +1 @@
-import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as o}from"./app-ClwIkahu.js";const a={};function r(n,c){return t(),o("div")}const s=e(a,[["render",r],["__file","index.html.vue"]]),i=JSON.parse(`{"path":"/category/%E5%A2%A8%E6%B0%B4%E5%B1%8F/","title":"墨水屏 分类","lang":"zh-CN","frontmatter":{"title":"墨水屏 分类","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"墨水屏","key":"category"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/category/%E5%A2%A8%E6%B0%B4%E5%B1%8F/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"墨水屏 分类"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"墨水屏 分类\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{s as comp,i as data};
+import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as o}from"./app-Flo2gZk8.js";const a={};function r(n,c){return t(),o("div")}const s=e(a,[["render",r],["__file","index.html.vue"]]),i=JSON.parse(`{"path":"/category/%E5%A2%A8%E6%B0%B4%E5%B1%8F/","title":"墨水屏 分类","lang":"zh-CN","frontmatter":{"title":"墨水屏 分类","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"墨水屏","key":"category"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/category/%E5%A2%A8%E6%B0%B4%E5%B1%8F/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"墨水屏 分类"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"墨水屏 分类\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{s as comp,i as data};
diff --git a/assets/index.html-D0wSSTgQ.js b/assets/index.html-DlrkN0XZ.js
similarity index 94%
rename from assets/index.html-D0wSSTgQ.js
rename to assets/index.html-DlrkN0XZ.js
index c9b222c..67bd5d5 100644
--- a/assets/index.html-D0wSSTgQ.js
+++ b/assets/index.html-DlrkN0XZ.js
@@ -1 +1 @@
-import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as a}from"./app-ClwIkahu.js";const o={};function r(n,c){return t(),a("div")}const s=e(o,[["render",r],["__file","index.html.vue"]]),i=JSON.parse(`{"path":"/tag/stc32/","title":"标签: STC32","lang":"zh-CN","frontmatter":{"title":"标签: STC32","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"STC32","key":"tag"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/tag/stc32/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"标签: STC32"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"标签: STC32\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{s as comp,i as data};
+import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as a}from"./app-Flo2gZk8.js";const o={};function r(n,c){return t(),a("div")}const s=e(o,[["render",r],["__file","index.html.vue"]]),i=JSON.parse(`{"path":"/tag/stc32/","title":"标签: STC32","lang":"zh-CN","frontmatter":{"title":"标签: STC32","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"STC32","key":"tag"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/tag/stc32/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"标签: STC32"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"标签: STC32\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{s as comp,i as data};
diff --git a/assets/index.html-CmtlWOBH.js b/assets/index.html-DvNwolvq.js
similarity index 94%
rename from assets/index.html-CmtlWOBH.js
rename to assets/index.html-DvNwolvq.js
index bb9d777..5d75666 100644
--- a/assets/index.html-CmtlWOBH.js
+++ b/assets/index.html-DvNwolvq.js
@@ -1 +1 @@
-import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as a}from"./app-ClwIkahu.js";const o={};function r(n,c){return t(),a("div")}const i=e(o,[["render",r],["__file","index.html.vue"]]),s=JSON.parse(`{"path":"/category/ai/","title":"AI 分类","lang":"zh-CN","frontmatter":{"title":"AI 分类","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"AI","key":"category"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/category/ai/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"AI 分类"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"AI 分类\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{i as comp,s as data};
+import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as a}from"./app-Flo2gZk8.js";const o={};function r(n,c){return t(),a("div")}const i=e(o,[["render",r],["__file","index.html.vue"]]),s=JSON.parse(`{"path":"/category/ai/","title":"AI 分类","lang":"zh-CN","frontmatter":{"title":"AI 分类","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"AI","key":"category"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/category/ai/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"AI 分类"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"AI 分类\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{i as comp,s as data};
diff --git a/assets/index.html-CnJ0E6b5.js b/assets/index.html-DzG2EJXJ.js
similarity index 99%
rename from assets/index.html-CnJ0E6b5.js
rename to assets/index.html-DzG2EJXJ.js
index c85179b..b6284de 100644
--- a/assets/index.html-CnJ0E6b5.js
+++ b/assets/index.html-DzG2EJXJ.js
@@ -1 +1 @@
-import{_ as a}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as n,o as i,c as l,a as p,b as e,d as r,w as o,e as s}from"./app-ClwIkahu.js";const h={},c=s('<h2 id="外观设计" tabindex="-1"><a class="header-anchor" href="#外观设计"><span>外观设计</span></a></h2><p>在外观上,我质疑这个和二代的设计区别不大,有炒冷饭之嫌。</p><p>但是按照原作者的说法,依旧沿用这个外观上考虑到第一比较经典,很多用户已经习惯了这样的设计,因此不好变动。第二就是看起来没什么变化,实际上的话还是有一些小细节进行了变动,比如说在Type-C口处加入了橡胶垫的设计,这样有效避免了外壳与Type-C的外壳地直接接触,带来的最明显的变化就是对于某些可能漏电的充电器来说,悬浮地显然会更加安全,也不会被充电器给电到。</p><p>并且根据作者描述,在后期可能会出一个全密封防水的郊狼版本,未来可期(</p><h2 id="电源拓扑" tabindex="-1"><a class="header-anchor" href="#电源拓扑"><span>电源拓扑</span></a></h2><p>在前文中,我误以为第三代和第二代一样,还是比较朴素的纯开环的boost拓扑进行升压。但是作者所述这个部分恰恰是提升最大的。</p><p>首先在升压部分,电感由原来的 1mH 更换为了 330uH ,理论上来说这有助于采用更低DCR的电感,这样在变换过程中的能量耗散也就降低了。</p><p>然后3.0中也加入了一个电压环的反馈电路,据作者所述这个就是LM393比较器的其中一个功能,用来保证输出的电压保持在一定的范围内,如果超过设定的电压值的情况下将会自动反馈到输出端降低电压。</p><p>另外3.0中也存在一个电流环,虽然可能较为粗糙,但是同样也可以实现输出端电流将被限制在某个值内,这同样有助于减少无谓的功率耗散,同时也能大大增强安全性,避免出现短路导致整个电路挂掉的情况。</p><p>因此相比2.0的硬件来说,3.0的硬件上在电源拓扑方面也可以将其称之为是一套完整的闭环控制系统。相比于2.0的纯开环来说,各方面性能都会更优秀,并且相较于其他的需要MCU控制的软闭环电路来说,也会更加稳定,实时性更好。</p><p>另外其实值得注意的一点就是,3.0中的高压母线卸放电路从2.0中的被动改为了主动式,只有在需要的时候才会进行卸放,这样也有助于减少无谓的功率耗散。并且据作者所述,这一点才是真正的相较于2.0工作温度较高的问题的最有效的解决方案。</p><h2 id="主控方案" tabindex="-1"><a class="header-anchor" href="#主控方案"><span>主控方案</span></a></h2><p>据作者所诉,3.0的方案选择北欧的原因还是考虑到团队的熟悉程度以及性能方面的取舍。用22年的芯片确实是屯多了(逃</p><p>但是绝不存在偷工减料!并且软件方面也进行了较大层面上的重构,也不存在炒冷饭的现象。</p><h2 id="磨标芯片" tabindex="-1"><a class="header-anchor" href="#磨标芯片"><span>磨标芯片</span></a></h2><p>这个确实是为了防抄袭,也确实是主动进行的磨标,但是作者说这个意义似乎不大,并且也已经偷偷告诉我芯片的型号了(逃</p><h2 id="电源电压的限制" tabindex="-1"><a class="header-anchor" href="#电源电压的限制"><span>电源电压的限制</span></a></h2><p>在2.0中,因为是采用的开环boost方案,因此最大的电压采用了直接并联电阻和TVS的双重控制,因为无法控制最终输出的功率,因此能输出的电压也较高。</p><p>但是在3.0中,据作者所述,因为加入了闭环控制和主动卸放,因此不需要做,也没有必要引入那么高的电源电压。所以91V的TVS仅仅是用于最后一道防线失效的情况下的最终保护,整体的余量还非常丰富。</p><h2 id="失效保护" tabindex="-1"><a class="header-anchor" href="#失效保护"><span>失效保护</span></a></h2><p>在其他保护措施失效,TVS进行保护的时候,其中一个光耦也被用来作为TVS触发的检测,在这种情况下主控将会立即关闭整个电源,以保护整个电路。</p><h2 id="冗余-检测" tabindex="-1"><a class="header-anchor" href="#冗余-检测"><span>“冗余”检测</span></a></h2><p>在3.0中,保留了前代的LED输出指示灯,并且负载检测改成了两颗对向光耦进行检测,这样在结构上说完全对称的,避免了前代中单边检测的不均匀压降导致正负压可能会存在差异的情况。</p><h2 id="按钮的按键选型" tabindex="-1"><a class="header-anchor" href="#按钮的按键选型"><span>按钮的按键选型</span></a></h2><p>根据作者所述,选择鼠标微动是因为在结构方面的限制更少,这点和推测一致。至于噪音问题,作者说可以考虑后期增加更多的选项(这也是play的一部分</p><h2 id="按钮的触发力度" tabindex="-1"><a class="header-anchor" href="#按钮的触发力度"><span>按钮的触发力度</span></a></h2><p>这个在结构上预留了一个弹簧,因此是可以做到不同的触发力度,后期会考虑增加更多版本。</p><h2 id="imu的选型" tabindex="-1"><a class="header-anchor" href="#imu的选型"><span>IMU的选型</span></a></h2><p>作者所述三轴的陀螺仪足够满足设计需求。</p><h2 id="外部电压检测" tabindex="-1"><a class="header-anchor" href="#外部电压检测"><span>外部电压检测</span></a></h2><p>这是个赠品,因此凑合能用就行(</p><h2 id="更精确的压力检测" tabindex="-1"><a class="header-anchor" href="#更精确的压力检测"><span>更精确的压力检测</span></a></h2><p>不考虑。</p>',33);function d(m,_){const t=n("RouteLink");return i(),l("div",null,[p("p",null,[e("在上文 "),r(t,{to:"/posts/%E4%B8%BA%E4%BB%80%E4%B9%88%E6%88%91%E5%AF%B9%E7%AC%AC%E4%B8%89%E4%BB%A3%E9%83%8A%E7%8B%BC%E5%A4%B1%E6%9C%9B.html"},{default:o(()=>[e("为什么我对第三代郊狼失望")]),_:1}),e(" 一文中,我对于第三代郊狼的硬件部分进行了一些初步分析,因为没有详细的一些资料,因此在一些地方可能存在一些错误。在昨晚(2024-03-19)郊狼作者找到我,与我群群友进行了一番友好的长时间地交流,也解答了我对设计上的一些疑问。在本文中我们会逐步分析前文中提到的问题。")]),c])}const g=a(h,[["render",d],["__file","index.html.vue"]]),B=JSON.parse(`{"path":"/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/","title":"对《为什么我对第三代郊狼失望》一文的澄清说明","lang":"zh-CN","frontmatter":{"title":"对《为什么我对第三代郊狼失望》一文的澄清说明","permalink":"/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/","category":["posts"],"tag":["碎碎念","郊狼"],"author":{"name":"HalfSweet","link":"https://github.com/HalfSweet"},"description":"在上文 一文中,我对于第三代郊狼的硬件部分进行了一些初步分析,因为没有详细的一些资料,因此在一些地方可能存在一些错误。在昨晚(2024-03-19)郊狼作者找到我,与我群群友进行了一番友好的长时间地交流,也解答了我对设计上的一些疑问。在本文中我们会逐步分析前文中提到的问题。 外观设计 在外观上,我质疑这个和二代的设计区别不大,有炒冷饭之嫌。 但是按照原...","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"对《为什么我对第三代郊狼失望》一文的澄清说明"}],["meta",{"property":"og:description","content":"在上文 一文中,我对于第三代郊狼的硬件部分进行了一些初步分析,因为没有详细的一些资料,因此在一些地方可能存在一些错误。在昨晚(2024-03-19)郊狼作者找到我,与我群群友进行了一番友好的长时间地交流,也解答了我对设计上的一些疑问。在本文中我们会逐步分析前文中提到的问题。 外观设计 在外观上,我质疑这个和二代的设计区别不大,有炒冷饭之嫌。 但是按照原..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-03-23T06:35:02.000Z"}],["meta",{"property":"article:author","content":"HalfSweet"}],["meta",{"property":"article:tag","content":"碎碎念"}],["meta",{"property":"article:tag","content":"郊狼"}],["meta",{"property":"article:modified_time","content":"2024-03-23T06:35:02.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"对《为什么我对第三代郊狼失望》一文的澄清说明\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-03-23T06:35:02.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"HalfSweet\\",\\"link\\":\\"https://github.com/HalfSweet\\"}]}"]]},"headers":[{"level":2,"title":"外观设计","slug":"外观设计","link":"#外观设计","children":[]},{"level":2,"title":"电源拓扑","slug":"电源拓扑","link":"#电源拓扑","children":[]},{"level":2,"title":"主控方案","slug":"主控方案","link":"#主控方案","children":[]},{"level":2,"title":"磨标芯片","slug":"磨标芯片","link":"#磨标芯片","children":[]},{"level":2,"title":"电源电压的限制","slug":"电源电压的限制","link":"#电源电压的限制","children":[]},{"level":2,"title":"失效保护","slug":"失效保护","link":"#失效保护","children":[]},{"level":2,"title":"“冗余”检测","slug":"冗余-检测","link":"#冗余-检测","children":[]},{"level":2,"title":"按钮的按键选型","slug":"按钮的按键选型","link":"#按钮的按键选型","children":[]},{"level":2,"title":"按钮的触发力度","slug":"按钮的触发力度","link":"#按钮的触发力度","children":[]},{"level":2,"title":"IMU的选型","slug":"imu的选型","link":"#imu的选型","children":[]},{"level":2,"title":"外部电压检测","slug":"外部电压检测","link":"#外部电压检测","children":[]},{"level":2,"title":"更精确的压力检测","slug":"更精确的压力检测","link":"#更精确的压力检测","children":[]}],"git":{"createdTime":1710914609000,"updatedTime":1711175702000,"contributors":[{"name":"HalfSweet","email":"HalfSweet@HalfSweet.cn","commits":1},{"name":"HalfSweet","email":"halfsweet@halfsweet.cn","commits":1}]},"readingTime":{"minutes":4.96,"words":1487},"filePathRelative":"posts/对《为什么我对第三代郊狼失望》一文的澄清说明.md","localizedDate":"2024年3月20日","excerpt":"<p>在上文 <a href=\\"/posts/%E4%B8%BA%E4%BB%80%E4%B9%88%E6%88%91%E5%AF%B9%E7%AC%AC%E4%B8%89%E4%BB%A3%E9%83%8A%E7%8B%BC%E5%A4%B1%E6%9C%9B.html\\" target=\\"_blank\\">为什么我对第三代郊狼失望</a> 一文中,我对于第三代郊狼的硬件部分进行了一些初步分析,因为没有详细的一些资料,因此在一些地方可能存在一些错误。在昨晚(2024-03-19)郊狼作者找到我,与我群群友进行了一番友好的长时间地交流,也解答了我对设计上的一些疑问。在本文中我们会逐步分析前文中提到的问题。</p>\\n","autoDesc":true}`);export{g as comp,B as data};
+import{_ as a}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as n,o as i,c as l,a as p,b as e,d as r,w as o,e as s}from"./app-Flo2gZk8.js";const h={},c=s('<h2 id="外观设计" tabindex="-1"><a class="header-anchor" href="#外观设计"><span>外观设计</span></a></h2><p>在外观上,我质疑这个和二代的设计区别不大,有炒冷饭之嫌。</p><p>但是按照原作者的说法,依旧沿用这个外观上考虑到第一比较经典,很多用户已经习惯了这样的设计,因此不好变动。第二就是看起来没什么变化,实际上的话还是有一些小细节进行了变动,比如说在Type-C口处加入了橡胶垫的设计,这样有效避免了外壳与Type-C的外壳地直接接触,带来的最明显的变化就是对于某些可能漏电的充电器来说,悬浮地显然会更加安全,也不会被充电器给电到。</p><p>并且根据作者描述,在后期可能会出一个全密封防水的郊狼版本,未来可期(</p><h2 id="电源拓扑" tabindex="-1"><a class="header-anchor" href="#电源拓扑"><span>电源拓扑</span></a></h2><p>在前文中,我误以为第三代和第二代一样,还是比较朴素的纯开环的boost拓扑进行升压。但是作者所述这个部分恰恰是提升最大的。</p><p>首先在升压部分,电感由原来的 1mH 更换为了 330uH ,理论上来说这有助于采用更低DCR的电感,这样在变换过程中的能量耗散也就降低了。</p><p>然后3.0中也加入了一个电压环的反馈电路,据作者所述这个就是LM393比较器的其中一个功能,用来保证输出的电压保持在一定的范围内,如果超过设定的电压值的情况下将会自动反馈到输出端降低电压。</p><p>另外3.0中也存在一个电流环,虽然可能较为粗糙,但是同样也可以实现输出端电流将被限制在某个值内,这同样有助于减少无谓的功率耗散,同时也能大大增强安全性,避免出现短路导致整个电路挂掉的情况。</p><p>因此相比2.0的硬件来说,3.0的硬件上在电源拓扑方面也可以将其称之为是一套完整的闭环控制系统。相比于2.0的纯开环来说,各方面性能都会更优秀,并且相较于其他的需要MCU控制的软闭环电路来说,也会更加稳定,实时性更好。</p><p>另外其实值得注意的一点就是,3.0中的高压母线卸放电路从2.0中的被动改为了主动式,只有在需要的时候才会进行卸放,这样也有助于减少无谓的功率耗散。并且据作者所述,这一点才是真正的相较于2.0工作温度较高的问题的最有效的解决方案。</p><h2 id="主控方案" tabindex="-1"><a class="header-anchor" href="#主控方案"><span>主控方案</span></a></h2><p>据作者所诉,3.0的方案选择北欧的原因还是考虑到团队的熟悉程度以及性能方面的取舍。用22年的芯片确实是屯多了(逃</p><p>但是绝不存在偷工减料!并且软件方面也进行了较大层面上的重构,也不存在炒冷饭的现象。</p><h2 id="磨标芯片" tabindex="-1"><a class="header-anchor" href="#磨标芯片"><span>磨标芯片</span></a></h2><p>这个确实是为了防抄袭,也确实是主动进行的磨标,但是作者说这个意义似乎不大,并且也已经偷偷告诉我芯片的型号了(逃</p><h2 id="电源电压的限制" tabindex="-1"><a class="header-anchor" href="#电源电压的限制"><span>电源电压的限制</span></a></h2><p>在2.0中,因为是采用的开环boost方案,因此最大的电压采用了直接并联电阻和TVS的双重控制,因为无法控制最终输出的功率,因此能输出的电压也较高。</p><p>但是在3.0中,据作者所述,因为加入了闭环控制和主动卸放,因此不需要做,也没有必要引入那么高的电源电压。所以91V的TVS仅仅是用于最后一道防线失效的情况下的最终保护,整体的余量还非常丰富。</p><h2 id="失效保护" tabindex="-1"><a class="header-anchor" href="#失效保护"><span>失效保护</span></a></h2><p>在其他保护措施失效,TVS进行保护的时候,其中一个光耦也被用来作为TVS触发的检测,在这种情况下主控将会立即关闭整个电源,以保护整个电路。</p><h2 id="冗余-检测" tabindex="-1"><a class="header-anchor" href="#冗余-检测"><span>“冗余”检测</span></a></h2><p>在3.0中,保留了前代的LED输出指示灯,并且负载检测改成了两颗对向光耦进行检测,这样在结构上说完全对称的,避免了前代中单边检测的不均匀压降导致正负压可能会存在差异的情况。</p><h2 id="按钮的按键选型" tabindex="-1"><a class="header-anchor" href="#按钮的按键选型"><span>按钮的按键选型</span></a></h2><p>根据作者所述,选择鼠标微动是因为在结构方面的限制更少,这点和推测一致。至于噪音问题,作者说可以考虑后期增加更多的选项(这也是play的一部分</p><h2 id="按钮的触发力度" tabindex="-1"><a class="header-anchor" href="#按钮的触发力度"><span>按钮的触发力度</span></a></h2><p>这个在结构上预留了一个弹簧,因此是可以做到不同的触发力度,后期会考虑增加更多版本。</p><h2 id="imu的选型" tabindex="-1"><a class="header-anchor" href="#imu的选型"><span>IMU的选型</span></a></h2><p>作者所述三轴的陀螺仪足够满足设计需求。</p><h2 id="外部电压检测" tabindex="-1"><a class="header-anchor" href="#外部电压检测"><span>外部电压检测</span></a></h2><p>这是个赠品,因此凑合能用就行(</p><h2 id="更精确的压力检测" tabindex="-1"><a class="header-anchor" href="#更精确的压力检测"><span>更精确的压力检测</span></a></h2><p>不考虑。</p>',33);function d(m,_){const t=n("RouteLink");return i(),l("div",null,[p("p",null,[e("在上文 "),r(t,{to:"/posts/%E4%B8%BA%E4%BB%80%E4%B9%88%E6%88%91%E5%AF%B9%E7%AC%AC%E4%B8%89%E4%BB%A3%E9%83%8A%E7%8B%BC%E5%A4%B1%E6%9C%9B.html"},{default:o(()=>[e("为什么我对第三代郊狼失望")]),_:1}),e(" 一文中,我对于第三代郊狼的硬件部分进行了一些初步分析,因为没有详细的一些资料,因此在一些地方可能存在一些错误。在昨晚(2024-03-19)郊狼作者找到我,与我群群友进行了一番友好的长时间地交流,也解答了我对设计上的一些疑问。在本文中我们会逐步分析前文中提到的问题。")]),c])}const g=a(h,[["render",d],["__file","index.html.vue"]]),B=JSON.parse(`{"path":"/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/","title":"对《为什么我对第三代郊狼失望》一文的澄清说明","lang":"zh-CN","frontmatter":{"title":"对《为什么我对第三代郊狼失望》一文的澄清说明","permalink":"/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/","category":["posts"],"tag":["碎碎念","郊狼"],"author":{"name":"HalfSweet","link":"https://github.com/HalfSweet"},"description":"在上文 一文中,我对于第三代郊狼的硬件部分进行了一些初步分析,因为没有详细的一些资料,因此在一些地方可能存在一些错误。在昨晚(2024-03-19)郊狼作者找到我,与我群群友进行了一番友好的长时间地交流,也解答了我对设计上的一些疑问。在本文中我们会逐步分析前文中提到的问题。 外观设计 在外观上,我质疑这个和二代的设计区别不大,有炒冷饭之嫌。 但是按照原...","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"对《为什么我对第三代郊狼失望》一文的澄清说明"}],["meta",{"property":"og:description","content":"在上文 一文中,我对于第三代郊狼的硬件部分进行了一些初步分析,因为没有详细的一些资料,因此在一些地方可能存在一些错误。在昨晚(2024-03-19)郊狼作者找到我,与我群群友进行了一番友好的长时间地交流,也解答了我对设计上的一些疑问。在本文中我们会逐步分析前文中提到的问题。 外观设计 在外观上,我质疑这个和二代的设计区别不大,有炒冷饭之嫌。 但是按照原..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-03-23T06:35:02.000Z"}],["meta",{"property":"article:author","content":"HalfSweet"}],["meta",{"property":"article:tag","content":"碎碎念"}],["meta",{"property":"article:tag","content":"郊狼"}],["meta",{"property":"article:modified_time","content":"2024-03-23T06:35:02.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"对《为什么我对第三代郊狼失望》一文的澄清说明\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-03-23T06:35:02.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"HalfSweet\\",\\"link\\":\\"https://github.com/HalfSweet\\"}]}"]]},"headers":[{"level":2,"title":"外观设计","slug":"外观设计","link":"#外观设计","children":[]},{"level":2,"title":"电源拓扑","slug":"电源拓扑","link":"#电源拓扑","children":[]},{"level":2,"title":"主控方案","slug":"主控方案","link":"#主控方案","children":[]},{"level":2,"title":"磨标芯片","slug":"磨标芯片","link":"#磨标芯片","children":[]},{"level":2,"title":"电源电压的限制","slug":"电源电压的限制","link":"#电源电压的限制","children":[]},{"level":2,"title":"失效保护","slug":"失效保护","link":"#失效保护","children":[]},{"level":2,"title":"“冗余”检测","slug":"冗余-检测","link":"#冗余-检测","children":[]},{"level":2,"title":"按钮的按键选型","slug":"按钮的按键选型","link":"#按钮的按键选型","children":[]},{"level":2,"title":"按钮的触发力度","slug":"按钮的触发力度","link":"#按钮的触发力度","children":[]},{"level":2,"title":"IMU的选型","slug":"imu的选型","link":"#imu的选型","children":[]},{"level":2,"title":"外部电压检测","slug":"外部电压检测","link":"#外部电压检测","children":[]},{"level":2,"title":"更精确的压力检测","slug":"更精确的压力检测","link":"#更精确的压力检测","children":[]}],"git":{"createdTime":1710914609000,"updatedTime":1711175702000,"contributors":[{"name":"HalfSweet","email":"HalfSweet@HalfSweet.cn","commits":1},{"name":"HalfSweet","email":"halfsweet@halfsweet.cn","commits":1}]},"readingTime":{"minutes":4.96,"words":1487},"filePathRelative":"posts/对《为什么我对第三代郊狼失望》一文的澄清说明.md","localizedDate":"2024年3月20日","excerpt":"<p>在上文 <a href=\\"/posts/%E4%B8%BA%E4%BB%80%E4%B9%88%E6%88%91%E5%AF%B9%E7%AC%AC%E4%B8%89%E4%BB%A3%E9%83%8A%E7%8B%BC%E5%A4%B1%E6%9C%9B.html\\" target=\\"_blank\\">为什么我对第三代郊狼失望</a> 一文中,我对于第三代郊狼的硬件部分进行了一些初步分析,因为没有详细的一些资料,因此在一些地方可能存在一些错误。在昨晚(2024-03-19)郊狼作者找到我,与我群群友进行了一番友好的长时间地交流,也解答了我对设计上的一些疑问。在本文中我们会逐步分析前文中提到的问题。</p>\\n","autoDesc":true}`);export{g as comp,B as data};
diff --git a/assets/index.html-DO2xY2T5.js b/assets/index.html-GZfFX8ok.js
similarity index 94%
rename from assets/index.html-DO2xY2T5.js
rename to assets/index.html-GZfFX8ok.js
index 540ee93..ef0b3a4 100644
--- a/assets/index.html-DO2xY2T5.js
+++ b/assets/index.html-GZfFX8ok.js
@@ -1 +1 @@
-import{_ as t}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as o,o as a,c as n,d as r}from"./app-ClwIkahu.js";const c={};function l(p,s){const e=o("Catalog");return a(),n("div",null,[r(e)])}const f=t(c,[["render",l],["__file","index.html.vue"]]),d=JSON.parse(`{"path":"/kfGjHcdk36vg74_H/","title":"Kf Gj Hcdk36vg74 H","lang":"zh-CN","frontmatter":{"title":"Kf Gj Hcdk36vg74 H","article":false,"feed":false,"sitemap":false,"head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/kfGjHcdk36vg74_H/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"Kf Gj Hcdk36vg74 H"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"Kf Gj Hcdk36vg74 H\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":1},"filePathRelative":null,"excerpt":""}`);export{f as comp,d as data};
+import{_ as t}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as o,o as a,c as n,d as r}from"./app-Flo2gZk8.js";const c={};function l(p,s){const e=o("Catalog");return a(),n("div",null,[r(e)])}const f=t(c,[["render",l],["__file","index.html.vue"]]),d=JSON.parse(`{"path":"/kfGjHcdk36vg74_H/","title":"Kf Gj Hcdk36vg74 H","lang":"zh-CN","frontmatter":{"title":"Kf Gj Hcdk36vg74 H","article":false,"feed":false,"sitemap":false,"head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/kfGjHcdk36vg74_H/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"Kf Gj Hcdk36vg74 H"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"Kf Gj Hcdk36vg74 H\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":1},"filePathRelative":null,"excerpt":""}`);export{f as comp,d as data};
diff --git a/assets/index.html-R-cHHIas.js b/assets/index.html-R-cHHIas.js
new file mode 100644
index 0000000..39cde51
--- /dev/null
+++ b/assets/index.html-R-cHHIas.js
@@ -0,0 +1 @@
+import{_ as n}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as i,o as l,c as a,d as e,a as o}from"./app-Flo2gZk8.js";const r={},s=o("h2",{id:"友情链接",tabindex:"-1"},[o("a",{class:"header-anchor",href:"#友情链接"},[o("span",null,"友情链接")])],-1),c=o("p",null,"这是一个友链页面,欢迎大家私聊我或者评论留言添加自己的友链,留言的话需要以下内容:",-1),p=o("blockquote",null,[o("ul",null,[o("li",null,"你的名称"),o("li",null,"你的博客链接"),o("li",null,"你的一段简介(可选)"),o("li",null,"你的头像资源文件或者链接(可选)")])],-1);function g(d,m){const t=i("VPCard");return l(),a("div",null,[s,c,p,e(t,{title:"晨旭",desc:"喵喵喵喵喵喵喵喵",logo:"https://cravatar.cn/avatar/b431bf781498d1fe47f732913dce394c?s=64&d=identicon&r=g",link:"https://www.chenxublog.com",background:"rgba(253, 230, 138, 0.15)"}),e(t,{title:"T0kenZero",desc:"一只鸽子咕咕咕",logo:"https://img13.360buyimg.com/ddimg/jfs/t1/172011/22/17602/107398/61421471Eae8931a3/26d7779ad9c8d727.jpg",link:"https://blog.lenxy.net/",background:"rgba(253, 230, 138, 0.15)"}),e(t,{title:"小三花",desc:"花花最可爱",logo:"/img/thinkermaker.jpg",link:"https://thinkermaker.xyz/",background:"rgba(253, 230, 138, 0.15)"}),e(t,{title:"Chiploop",desc:"Chiploop Tech",logo:"https://www.chiploop.net/images/logo.png",link:"http://www.chiploop.net/",background:"rgba(253, 230, 138, 0.15)"}),e(t,{title:"鱼的小站",desc:"鱼的记忆只有七秒,所以要写下来",logo:"https://fishblog.pages.dev/images/logo_white.svg",link:"https://fishblog.pages.dev/",background:"rgba(253, 230, 138, 0.15)"}),e(t,{title:"WuxiProject 乌西",desc:"制作无聊的东西,但不做垃圾",logo:"https://wuxiproj.mzy7.cn/images/logo.png",link:"https://wuxiproj.mzy7.cn/",background:"rgba(253, 230, 138, 0.15)"}),e(t,{title:"云上小筑",desc:"我 24岁,是学生",logo:"https://blog.mzy7.cn/images/avatar.jpg",link:"https://blog.mzy7.cn/",background:"rgba(253, 230, 138, 0.15)"}),e(t,{title:"向阳",desc:"甜甜哒",logo:"/img/xyn.ltd.jpg",link:"https://xyn.ltd/",background:"rgba(253, 230, 138, 0.15)"}),e(t,{title:"Lss233",desc:"Everything is possible by code.",logo:"https://blog-1251229268.cos-website.ap-shanghai.myqcloud.com/kblog/content/images/2021/02/20160725222959_JGMRc.thumb.700_0-1.jpeg",link:"https://blog.lss233.com",background:"rgba(253, 230, 138, 0.15)"}),e(t,{title:"Canmi",desc:"喵喵本喵",logo:"https://raw.githubusercontent.com/Canmi21/Canmi21.github.io/main/img/Canmi.png",link:"https://canmi21.github.io/",background:"rgba(253, 230, 138, 0.15)"})])}const b=n(r,[["render",g],["__file","index.html.vue"]]),k=JSON.parse(`{"path":"/friends/","title":"友情链接","lang":"zh-CN","frontmatter":{"title":"友情链接","date":"2022-11-02T00:30:29.000Z","permalink":"/friends/","sidebar":false,"article":false,"comment":true,"editLink":true,"author":{"title":"HalfSweet","link":"https://github.com/HalfSweet"},"description":"友情链接 这是一个友链页面,欢迎大家私聊我或者评论留言添加自己的友链,留言的话需要以下内容: 你的名称 你的博客链接 你的一段简介(可选) 你的头像资源文件或者链接(可选)","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/friends/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"友情链接"}],["meta",{"property":"og:description","content":"友情链接 这是一个友链页面,欢迎大家私聊我或者评论留言添加自己的友链,留言的话需要以下内容: 你的名称 你的博客链接 你的一段简介(可选) 你的头像资源文件或者链接(可选)"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-07-20T16:02:49.000Z"}],["meta",{"property":"article:published_time","content":"2022-11-02T00:30:29.000Z"}],["meta",{"property":"article:modified_time","content":"2024-07-20T16:02:49.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"友情链接\\",\\"description\\":\\"友情链接 这是一个友链页面,欢迎大家私聊我或者评论留言添加自己的友链,留言的话需要以下内容: 你的名称 你的博客链接 你的一段简介(可选) 你的头像资源文件或者链接(可选)\\"}"]]},"headers":[{"level":2,"title":"友情链接","slug":"友情链接","link":"#友情链接","children":[]}],"git":{"createdTime":1690646966000,"updatedTime":1721491369000,"contributors":[{"name":"HalfSweet","email":"halfsweet@halfsweet.cn","commits":6}]},"readingTime":{"minutes":1.19,"words":358},"filePathRelative":"Catalogue/friends.md","localizedDate":"2022年11月2日","excerpt":"<h2>友情链接</h2>\\n<p>这是一个友链页面,欢迎大家私聊我或者评论留言添加自己的友链,留言的话需要以下内容:</p>\\n<blockquote>\\n<ul>\\n<li>你的名称</li>\\n<li>你的博客链接</li>\\n<li>你的一段简介(可选)</li>\\n<li>你的头像资源文件或者链接(可选)</li>\\n</ul>\\n</blockquote>\\n","autoDesc":true}`);export{b as comp,k as data};
diff --git a/assets/index.html-7uHHiaZx.js b/assets/index.html-R9oSKuoP.js
similarity index 94%
rename from assets/index.html-7uHHiaZx.js
rename to assets/index.html-R9oSKuoP.js
index 3cf8af3..eb2fa75 100644
--- a/assets/index.html-7uHHiaZx.js
+++ b/assets/index.html-R9oSKuoP.js
@@ -1 +1 @@
-import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as a}from"./app-ClwIkahu.js";const o={};function r(n,l){return t(),a("div")}const s=e(o,[["render",r],["__file","index.html.vue"]]),i=JSON.parse(`{"path":"/tag/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/","title":"标签: 人工智能","lang":"zh-CN","frontmatter":{"title":"标签: 人工智能","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"人工智能","key":"tag"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/tag/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"标签: 人工智能"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"标签: 人工智能\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{s as comp,i as data};
+import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as a}from"./app-Flo2gZk8.js";const o={};function r(n,l){return t(),a("div")}const s=e(o,[["render",r],["__file","index.html.vue"]]),i=JSON.parse(`{"path":"/tag/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/","title":"标签: 人工智能","lang":"zh-CN","frontmatter":{"title":"标签: 人工智能","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"人工智能","key":"tag"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/tag/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"标签: 人工智能"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"标签: 人工智能\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{s as comp,i as data};
diff --git a/assets/index.html-DJ-_mZ9n.js b/assets/index.html-U1Oe9QlK.js
similarity index 99%
rename from assets/index.html-DJ-_mZ9n.js
rename to assets/index.html-U1Oe9QlK.js
index 07be32b..378d279 100644
--- a/assets/index.html-DJ-_mZ9n.js
+++ b/assets/index.html-U1Oe9QlK.js
@@ -1,4 +1,4 @@
-import{_ as o}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as i,o as c,c as p,a as n,b as e,d as t,e as a}from"./app-ClwIkahu.js";const l="/assets/2023-05-06-15-04-58-DpMHk8Mb.png",r="/assets/2023-05-06-15-21-02-DpbFT8xU.png",d="/assets/2023-05-06-15-29-11-DOwiQ4YX.png",u="/assets/2023-05-06-15-29-39-DvTCV4f2.png",k="/assets/2023-05-06-15-39-02-CWudQtzv.png",h={},m=a('<p>在日常的开发中,我们免不了使用各种各样的日志打印方式,使用调试器固然好用,但是无法直接打印局部变量以及会打断整个运行状态。并且对于众多<code>Arduino</code>的用户来说,直接打印日志显然是更直观的做法。但是直接使用串口打印的话需要一定的资源,并且速度会稍慢,并且可能会占用一个串口,对于资源就不多的MCU,我们有没有更方便的方法呢?</p><h2 id="调试方式" tabindex="-1"><a class="header-anchor" href="#调试方式"><span>调试方式</span></a></h2><h3 id="使用swo" tabindex="-1"><a class="header-anchor" href="#使用swo"><span>使用SWO</span></a></h3><p>对于这个问题,众多厂商也有着相同的需求,于是Arm公司便提出了一种叫做<code>Serial Wire Output</code>的协议,我们将其简称为<code>SWO</code>。简单来说,它是一种用于调试的接口协议。SWO是在ARM Cortex-M微控制器上实现的,它允许调试器通过单个引脚输出数据,而不需要占用其他引脚。使用SWO接口,可以在运行时输出调试信息,例如程序状态、变量值、函数返回值等,从而帮助开发人员进行调试。</p><p>在<code>STM32</code>微处理器的编程中,我们只需要在<code>STM32CubeMX</code>软件中打开异步跟踪模式即可使用SWO进行输出调试,相比与串口的打印,使用SWO明显效率更高,占用的引脚更少。 <img src="'+l+'" alt=""> 但是遗憾的是,采用SWO的日志输出依然会占用一个IO,并且只能和SWD/JTAG等调试口联用。那么我们有没有一种方法,可以做到只使用调试接口就可以输出日志,并且拥有相似甚至更高的效率呢?</p><h3 id="segger-rtt" tabindex="-1"><a class="header-anchor" href="#segger-rtt"><span>SEGGER-RTT</span></a></h3><p>在此基础上,伟大的<code>SEGGER Microcontroller</code>公司便推出了一种新的日志打印方式,称之为<code>Real-Time Transfer</code>,也就是简称的<code>RTT</code>。什么?你没听过这个公司?那你总用过<code>J-Link</code>吧,是的,它们出自于一家公司。</p><p>SEGGER-RTT 的原理是通过在目标设备上的专用软件库,将实时数据通过 JTAG/SWD 接口传输到 Host 端。这个过程中不需要额外的硬件支持,只需要使用 SEGGER 的调试器和它的支持的 IDE(如SEGGER&#39;s Embedded Studio或其他兼容IDE)。SEGGER-RTT 通过利用调试器的访问权限,从调试目标设备的内部缓冲区中读取数据,并将这些数据发送到 Host 端进行处理和显示。同时也可以在 Host 端向目标设备发送数据,以便执行一些控制操作或者更改程序的状态。由于 SEGGER-RTT 可以非常快速地传输大量数据,因此它通常被用于实时性要求较高的应用程序中。</p><h2 id="移植segger-rtt" tabindex="-1"><a class="header-anchor" href="#移植segger-rtt"><span>移植SEGGER-RTT</span></a></h2><p>我们来尝试在Air001单片机上移植SEGGER-RTT。移植好的工程开源链接:</p>',10),_={href:"https://github.com/Air-duino/Air001-SEGGER-RTT-Keil",target:"_blank",rel:"noopener noreferrer"},T=n("h3",{id:"_0x01-安装j-link",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#_0x01-安装j-link"},[n("span",null,"0x01 安装J-Link")])],-1),g={href:"https://www.segger.com/downloads/jlink/#J-LinkSoftwareAndDocumentationPack",target:"_blank",rel:"noopener noreferrer"},R=n("img",{src:r,alt:""},null,-1),E=a('<h3 id="_0x02-加入keil工程" tabindex="-1"><a class="header-anchor" href="#_0x02-加入keil工程"><span>0x02 加入Keil工程</span></a></h3><p>我们将<code>xxx/JLink\\Samples\\RTT\\SEGGER_RTT_V788a\\</code>下的<code>RTT</code>和<code>Config</code>文件夹复制到我们的工程目录下,并加入到Keil工程中,别忘了添加头文件。 <img src="'+d+'" alt=""><img src="'+u+`" alt=""></p><h3 id="_0x03-初始化并调用" tabindex="-1"><a class="header-anchor" href="#_0x03-初始化并调用"><span>0x03 初始化并调用</span></a></h3><p>在<code>main.c</code>文件中include头文件,并初始化。</p><div class="language-c line-numbers-mode" data-ext="c" data-title="c"><pre class="language-c"><code><span class="token keyword">int</span> <span class="token function">main</span><span class="token punctuation">(</span><span class="token keyword">void</span><span class="token punctuation">)</span>
+import{_ as o}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as i,o as c,c as p,a as n,b as e,d as t,e as a}from"./app-Flo2gZk8.js";const l="/assets/2023-05-06-15-04-58-DpMHk8Mb.png",r="/assets/2023-05-06-15-21-02-DpbFT8xU.png",d="/assets/2023-05-06-15-29-11-DOwiQ4YX.png",u="/assets/2023-05-06-15-29-39-DvTCV4f2.png",k="/assets/2023-05-06-15-39-02-CWudQtzv.png",h={},m=a('<p>在日常的开发中,我们免不了使用各种各样的日志打印方式,使用调试器固然好用,但是无法直接打印局部变量以及会打断整个运行状态。并且对于众多<code>Arduino</code>的用户来说,直接打印日志显然是更直观的做法。但是直接使用串口打印的话需要一定的资源,并且速度会稍慢,并且可能会占用一个串口,对于资源就不多的MCU,我们有没有更方便的方法呢?</p><h2 id="调试方式" tabindex="-1"><a class="header-anchor" href="#调试方式"><span>调试方式</span></a></h2><h3 id="使用swo" tabindex="-1"><a class="header-anchor" href="#使用swo"><span>使用SWO</span></a></h3><p>对于这个问题,众多厂商也有着相同的需求,于是Arm公司便提出了一种叫做<code>Serial Wire Output</code>的协议,我们将其简称为<code>SWO</code>。简单来说,它是一种用于调试的接口协议。SWO是在ARM Cortex-M微控制器上实现的,它允许调试器通过单个引脚输出数据,而不需要占用其他引脚。使用SWO接口,可以在运行时输出调试信息,例如程序状态、变量值、函数返回值等,从而帮助开发人员进行调试。</p><p>在<code>STM32</code>微处理器的编程中,我们只需要在<code>STM32CubeMX</code>软件中打开异步跟踪模式即可使用SWO进行输出调试,相比与串口的打印,使用SWO明显效率更高,占用的引脚更少。 <img src="'+l+'" alt=""> 但是遗憾的是,采用SWO的日志输出依然会占用一个IO,并且只能和SWD/JTAG等调试口联用。那么我们有没有一种方法,可以做到只使用调试接口就可以输出日志,并且拥有相似甚至更高的效率呢?</p><h3 id="segger-rtt" tabindex="-1"><a class="header-anchor" href="#segger-rtt"><span>SEGGER-RTT</span></a></h3><p>在此基础上,伟大的<code>SEGGER Microcontroller</code>公司便推出了一种新的日志打印方式,称之为<code>Real-Time Transfer</code>,也就是简称的<code>RTT</code>。什么?你没听过这个公司?那你总用过<code>J-Link</code>吧,是的,它们出自于一家公司。</p><p>SEGGER-RTT 的原理是通过在目标设备上的专用软件库,将实时数据通过 JTAG/SWD 接口传输到 Host 端。这个过程中不需要额外的硬件支持,只需要使用 SEGGER 的调试器和它的支持的 IDE(如SEGGER&#39;s Embedded Studio或其他兼容IDE)。SEGGER-RTT 通过利用调试器的访问权限,从调试目标设备的内部缓冲区中读取数据,并将这些数据发送到 Host 端进行处理和显示。同时也可以在 Host 端向目标设备发送数据,以便执行一些控制操作或者更改程序的状态。由于 SEGGER-RTT 可以非常快速地传输大量数据,因此它通常被用于实时性要求较高的应用程序中。</p><h2 id="移植segger-rtt" tabindex="-1"><a class="header-anchor" href="#移植segger-rtt"><span>移植SEGGER-RTT</span></a></h2><p>我们来尝试在Air001单片机上移植SEGGER-RTT。移植好的工程开源链接:</p>',10),_={href:"https://github.com/Air-duino/Air001-SEGGER-RTT-Keil",target:"_blank",rel:"noopener noreferrer"},T=n("h3",{id:"_0x01-安装j-link",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#_0x01-安装j-link"},[n("span",null,"0x01 安装J-Link")])],-1),g={href:"https://www.segger.com/downloads/jlink/#J-LinkSoftwareAndDocumentationPack",target:"_blank",rel:"noopener noreferrer"},R=n("img",{src:r,alt:""},null,-1),E=a('<h3 id="_0x02-加入keil工程" tabindex="-1"><a class="header-anchor" href="#_0x02-加入keil工程"><span>0x02 加入Keil工程</span></a></h3><p>我们将<code>xxx/JLink\\Samples\\RTT\\SEGGER_RTT_V788a\\</code>下的<code>RTT</code>和<code>Config</code>文件夹复制到我们的工程目录下,并加入到Keil工程中,别忘了添加头文件。 <img src="'+d+'" alt=""><img src="'+u+`" alt=""></p><h3 id="_0x03-初始化并调用" tabindex="-1"><a class="header-anchor" href="#_0x03-初始化并调用"><span>0x03 初始化并调用</span></a></h3><p>在<code>main.c</code>文件中include头文件,并初始化。</p><div class="language-c line-numbers-mode" data-ext="c" data-title="c"><pre class="language-c"><code><span class="token keyword">int</span> <span class="token function">main</span><span class="token punctuation">(</span><span class="token keyword">void</span><span class="token punctuation">)</span>
 <span class="token punctuation">{</span>
   <span class="token function">HAL_Init</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
   <span class="token function">SystemClock_Config</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
diff --git a/assets/index.html-W8DPbcPd.js b/assets/index.html-W8DPbcPd.js
deleted file mode 100644
index f1943f6..0000000
--- a/assets/index.html-W8DPbcPd.js
+++ /dev/null
@@ -1 +0,0 @@
-import{_ as l}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as n,o as i,c as a,d as o,a as e}from"./app-ClwIkahu.js";const r={},s=e("h2",{id:"友情链接",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#友情链接"},[e("span",null,"友情链接")])],-1),c=e("p",null,"这是一个友链页面,欢迎大家私聊我或者评论留言添加自己的友链,留言的话需要以下内容:",-1),p=e("blockquote",null,[e("ul",null,[e("li",null,"你的名称"),e("li",null,"你的博客链接"),e("li",null,"你的一段简介(可选)"),e("li",null,"你的头像资源文件或者链接(可选)")])],-1);function g(d,m){const t=n("VPCard");return i(),a("div",null,[s,c,p,o(t,{title:"晨旭",desc:"喵喵喵喵喵喵喵喵",logo:"https://cravatar.cn/avatar/b431bf781498d1fe47f732913dce394c?s=64&d=identicon&r=g",link:"https://www.chenxublog.com",background:"rgba(253, 230, 138, 0.15)"}),o(t,{title:"T0kenZero",desc:"一只鸽子咕咕咕",logo:"https://img13.360buyimg.com/ddimg/jfs/t1/172011/22/17602/107398/61421471Eae8931a3/26d7779ad9c8d727.jpg",link:"https://blog.lenxy.net/",background:"rgba(253, 230, 138, 0.15)"}),o(t,{title:"小三花",desc:"花花最可爱",logo:"/img/thinkermaker.jpg",link:"https://thinkermaker.xyz/",background:"rgba(253, 230, 138, 0.15)"}),o(t,{title:"Chiploop",desc:"Chiploop Tech",logo:"https://www.chiploop.net/images/logo.png",link:"http://www.chiploop.net/",background:"rgba(253, 230, 138, 0.15)"}),o(t,{title:"鱼的小站",desc:"鱼的记忆只有七秒,所以要写下来",logo:"https://fishblog.pages.dev/images/logo_white.svg",link:"https://fishblog.pages.dev/",background:"rgba(253, 230, 138, 0.15)"}),o(t,{title:"WuxiProject 乌西",desc:"制作无聊的东西,但不做垃圾",logo:"https://wuxiproj.mzy7.cn/images/logo.png",link:"https://wuxiproj.mzy7.cn/",background:"rgba(253, 230, 138, 0.15)"}),o(t,{title:"云上小筑",desc:"我 24岁,是学生",logo:"https://blog.mzy7.cn/images/avatar.jpg",link:"https://blog.mzy7.cn/",background:"rgba(253, 230, 138, 0.15)"}),o(t,{title:"向阳",desc:"甜甜哒",logo:"/img/xyn.ltd.jpg",link:"https://xyn.ltd/",background:"rgba(253, 230, 138, 0.15)"}),o(t,{title:"Lss233",desc:"Everything is possible by code.",logo:"https://blog-1251229268.cos-website.ap-shanghai.myqcloud.com/kblog/content/images/2021/02/20160725222959_JGMRc.thumb.700_0-1.jpeg",link:"https://blog.lss233.com",background:"rgba(253, 230, 138, 0.15)"})])}const b=l(r,[["render",g],["__file","index.html.vue"]]),k=JSON.parse(`{"path":"/friends/","title":"友情链接","lang":"zh-CN","frontmatter":{"title":"友情链接","date":"2022-11-02T00:30:29.000Z","permalink":"/friends/","sidebar":false,"article":false,"comment":true,"editLink":true,"author":{"title":"HalfSweet","link":"https://github.com/HalfSweet"},"description":"友情链接 这是一个友链页面,欢迎大家私聊我或者评论留言添加自己的友链,留言的话需要以下内容: 你的名称 你的博客链接 你的一段简介(可选) 你的头像资源文件或者链接(可选)","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/friends/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"友情链接"}],["meta",{"property":"og:description","content":"友情链接 这是一个友链页面,欢迎大家私聊我或者评论留言添加自己的友链,留言的话需要以下内容: 你的名称 你的博客链接 你的一段简介(可选) 你的头像资源文件或者链接(可选)"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-04-03T13:37:55.000Z"}],["meta",{"property":"article:published_time","content":"2022-11-02T00:30:29.000Z"}],["meta",{"property":"article:modified_time","content":"2024-04-03T13:37:55.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"友情链接\\",\\"description\\":\\"友情链接 这是一个友链页面,欢迎大家私聊我或者评论留言添加自己的友链,留言的话需要以下内容: 你的名称 你的博客链接 你的一段简介(可选) 你的头像资源文件或者链接(可选)\\"}"]]},"headers":[{"level":2,"title":"友情链接","slug":"友情链接","link":"#友情链接","children":[]}],"git":{"createdTime":1690646966000,"updatedTime":1712151475000,"contributors":[{"name":"HalfSweet","email":"halfsweet@halfsweet.cn","commits":5}]},"readingTime":{"minutes":1.12,"words":337},"filePathRelative":"Catalogue/friends.md","localizedDate":"2022年11月2日","excerpt":"<h2>友情链接</h2>\\n<p>这是一个友链页面,欢迎大家私聊我或者评论留言添加自己的友链,留言的话需要以下内容:</p>\\n<blockquote>\\n<ul>\\n<li>你的名称</li>\\n<li>你的博客链接</li>\\n<li>你的一段简介(可选)</li>\\n<li>你的头像资源文件或者链接(可选)</li>\\n</ul>\\n</blockquote>\\n","autoDesc":true}`);export{b as comp,k as data};
diff --git a/assets/index.html-D7Uf3Wbw.js b/assets/index.html-Y__KWg8u.js
similarity index 94%
rename from assets/index.html-D7Uf3Wbw.js
rename to assets/index.html-Y__KWg8u.js
index 2971129..1cb18ae 100644
--- a/assets/index.html-D7Uf3Wbw.js
+++ b/assets/index.html-Y__KWg8u.js
@@ -1 +1 @@
-import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as a}from"./app-ClwIkahu.js";const o={};function r(n,p){return t(),a("div")}const s=e(o,[["render",r],["__file","index.html.vue"]]),i=JSON.parse(`{"path":"/tag/esp32/","title":"标签: ESP32","lang":"zh-CN","frontmatter":{"title":"标签: ESP32","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"ESP32","key":"tag"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/tag/esp32/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"标签: ESP32"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"标签: ESP32\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{s as comp,i as data};
+import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as a}from"./app-Flo2gZk8.js";const o={};function r(n,p){return t(),a("div")}const s=e(o,[["render",r],["__file","index.html.vue"]]),i=JSON.parse(`{"path":"/tag/esp32/","title":"标签: ESP32","lang":"zh-CN","frontmatter":{"title":"标签: ESP32","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"ESP32","key":"tag"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/tag/esp32/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"标签: ESP32"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"标签: ESP32\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{s as comp,i as data};
diff --git a/assets/index.html-ZwD6xCF4.js b/assets/index.html-ZITi3OK2.js
similarity index 94%
rename from assets/index.html-ZwD6xCF4.js
rename to assets/index.html-ZITi3OK2.js
index cb7ee44..ecc9c5b 100644
--- a/assets/index.html-ZwD6xCF4.js
+++ b/assets/index.html-ZITi3OK2.js
@@ -1 +1 @@
-import{_ as t}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as e,c as a}from"./app-ClwIkahu.js";const o={};function r(n,l){return e(),a("div")}const c=t(o,[["render",r],["__file","index.html.vue"]]),m=JSON.parse(`{"path":"/tag/fmtlib/","title":"标签: fmtlib","lang":"zh-CN","frontmatter":{"title":"标签: fmtlib","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"fmtlib","key":"tag"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/tag/fmtlib/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"标签: fmtlib"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"标签: fmtlib\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{c as comp,m as data};
+import{_ as t}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as e,c as a}from"./app-Flo2gZk8.js";const o={};function r(n,l){return e(),a("div")}const c=t(o,[["render",r],["__file","index.html.vue"]]),m=JSON.parse(`{"path":"/tag/fmtlib/","title":"标签: fmtlib","lang":"zh-CN","frontmatter":{"title":"标签: fmtlib","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"fmtlib","key":"tag"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/tag/fmtlib/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"标签: fmtlib"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"标签: fmtlib\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{c as comp,m as data};
diff --git a/assets/index.html-jFzM8lrm.js b/assets/index.html-fvB3i9PM.js
similarity index 99%
rename from assets/index.html-jFzM8lrm.js
rename to assets/index.html-fvB3i9PM.js
index 680e9a5..0c02896 100644
--- a/assets/index.html-jFzM8lrm.js
+++ b/assets/index.html-fvB3i9PM.js
@@ -1 +1 @@
-import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as l,e as i}from"./app-ClwIkahu.js";const a={},n=i('<p>如果你看到这段界面,恭喜你!这是一个彩蛋,目前因为业务的需求,我们急需一名 FAE,如果你对这个职位感兴趣,欢迎联系我们!</p><p>目前我们在<strong>杭州</strong>和<strong>上海</strong>均有岗位需求。</p><p>我们公司的简介:</p><blockquote><p>译枢科技于 2017 年成立于上海,是一家专注于国产芯片的半导体元器件分销商。2020 年成立深圳分公司,2022 年成立杭州办,2024 年成立南京办。译枢一直致力于消费电子、可穿戴、安全支付、三表等物联网领域产品解决方案的技术推广和销售,为广大企业用户提供产品和技术支持。随着公司的发展,我们的主营产品持续扩大,目前代理的品牌有:普冉、至晟微、矽典微、泰晶、华谷泽、奉加微、景略,产品涵盖存储、晶振、32 位单片机等。</p></blockquote><p>目前我们急需一名 MCU 行业相关的 FAE,具体要求如下:</p><h2 id="岗位职责" tabindex="-1"><a class="header-anchor" href="#岗位职责"><span>岗位职责</span></a></h2><ul><li>快速解决客户技术问题,提供专业支持。</li><li>协助销售团队,进行技术评估和选型。</li><li>定制化解决方案,维护技术文档和知识分享。</li></ul><h2 id="职位要求" tabindex="-1"><a class="header-anchor" href="#职位要求"><span>职位要求</span></a></h2><ul><li>本科以上,电子/计算机/自动化等相关专业优先。</li><li>有 FAE 经验优先。</li><li>有良好的英文阅读能力</li><li>熟悉模拟/数字电路和电路分析。</li><li>熟悉一种 PCB 设计软件,如(AD、Cadence、KiCAD等)</li><li>掌握 C/C++ 语言。</li><li>掌握至少一种脚本语言(Python/Bash/Lua)。</li><li>能熟练使用 Git 或者其它版本控制工具。</li><li>了解 STM32 或其它 Cortex-M 内核的单片机,有 Risc-V 内核使用经验优先。</li><li>有 Linux 使用经验,熟悉Linux相关操作优先。</li><li>有无刷电机驱动经验者优先</li></ul><h2 id="薪资待遇" tabindex="-1"><a class="header-anchor" href="#薪资待遇"><span>薪资待遇</span></a></h2><p>7-15k,有年终,五险一金,周末双休,弹性工作制不打卡</p><h2 id="联系方式" tabindex="-1"><a class="header-anchor" href="#联系方式"><span>联系方式</span></a></h2><p>联系方式这点不要着急哟~ 既然你已经打开这个页面了,那么联系方式可能还是需要你去自行查找一下,祝你好运!</p><p>YW1saGJtZG9ZVzl5WVc1QWVXbHpkR1ZqYUc1dmJHOW5lUzVqYjIwPQ==</p><p>密钥是一种常见的对称加密方式,密文注意一下网页中不同寻常的地方。</p><p>非此邮箱投递的简历将不予处理。</p><p>希望能够和你一起共事!</p>',17),o=[n];function p(r,c){return t(),l("div",null,o)}const h=e(a,[["render",p],["__file","index.html.vue"]]),m=JSON.parse(`{"path":"/kfGjHcdk36vg74_H/FAE/","title":"FAE 招聘广告!","lang":"zh-CN","frontmatter":{"title":"FAE 招聘广告!","permalink":"/kfGjHcdk36vg74_H/FAE/","author":{"name":"HalfSweet","link":"https://github.com/HalfSweet"},"timeline":false,"article":false,"description":"如果你看到这段界面,恭喜你!这是一个彩蛋,目前因为业务的需求,我们急需一名 FAE,如果你对这个职位感兴趣,欢迎联系我们! 目前我们在杭州和上海均有岗位需求。 我们公司的简介: 译枢科技于 2017 年成立于上海,是一家专注于国产芯片的半导体元器件分销商。2020 年成立深圳分公司,2022 年成立杭州办,2024 年成立南京办。译枢一直致力于消费电子...","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/kfGjHcdk36vg74_H/FAE/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"FAE 招聘广告!"}],["meta",{"property":"og:description","content":"如果你看到这段界面,恭喜你!这是一个彩蛋,目前因为业务的需求,我们急需一名 FAE,如果你对这个职位感兴趣,欢迎联系我们! 目前我们在杭州和上海均有岗位需求。 我们公司的简介: 译枢科技于 2017 年成立于上海,是一家专注于国产芯片的半导体元器件分销商。2020 年成立深圳分公司,2022 年成立杭州办,2024 年成立南京办。译枢一直致力于消费电子..."}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-04-03T13:37:55.000Z"}],["meta",{"property":"article:author","content":"HalfSweet"}],["meta",{"property":"article:modified_time","content":"2024-04-03T13:37:55.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"FAE 招聘广告!\\",\\"description\\":\\"如果你看到这段界面,恭喜你!这是一个彩蛋,目前因为业务的需求,我们急需一名 FAE,如果你对这个职位感兴趣,欢迎联系我们! 目前我们在杭州和上海均有岗位需求。 我们公司的简介: 译枢科技于 2017 年成立于上海,是一家专注于国产芯片的半导体元器件分销商。2020 年成立深圳分公司,2022 年成立杭州办,2024 年成立南京办。译枢一直致力于消费电子...\\"}"]]},"headers":[{"level":2,"title":"岗位职责","slug":"岗位职责","link":"#岗位职责","children":[]},{"level":2,"title":"职位要求","slug":"职位要求","link":"#职位要求","children":[]},{"level":2,"title":"薪资待遇","slug":"薪资待遇","link":"#薪资待遇","children":[]},{"level":2,"title":"联系方式","slug":"联系方式","link":"#联系方式","children":[]}],"git":{"createdTime":1711199859000,"updatedTime":1712151475000,"contributors":[{"name":"HalfSweet","email":"halfsweet@halfsweet.cn","commits":5}]},"readingTime":{"minutes":2.06,"words":619},"filePathRelative":"resume/FAE.md","localizedDate":"2024年3月23日","excerpt":"<p>如果你看到这段界面,恭喜你!这是一个彩蛋,目前因为业务的需求,我们急需一名 FAE,如果你对这个职位感兴趣,欢迎联系我们!</p>\\n<p>目前我们在<strong>杭州</strong>和<strong>上海</strong>均有岗位需求。</p>\\n<p>我们公司的简介:</p>\\n<blockquote>\\n<p>译枢科技于 2017 年成立于上海,是一家专注于国产芯片的半导体元器件分销商。2020 年成立深圳分公司,2022 年成立杭州办,2024 年成立南京办。译枢一直致力于消费电子、可穿戴、安全支付、三表等物联网领域产品解决方案的技术推广和销售,为广大企业用户提供产品和技术支持。随着公司的发展,我们的主营产品持续扩大,目前代理的品牌有:普冉、至晟微、矽典微、泰晶、华谷泽、奉加微、景略,产品涵盖存储、晶振、32 位单片机等。</p>\\n</blockquote>","autoDesc":true}`);export{h as comp,m as data};
+import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as l,e as i}from"./app-Flo2gZk8.js";const a={},n=i('<p>如果你看到这段界面,恭喜你!这是一个彩蛋,目前因为业务的需求,我们急需一名 FAE,如果你对这个职位感兴趣,欢迎联系我们!</p><p>目前我们在<strong>杭州</strong>和<strong>上海</strong>均有岗位需求。</p><p>我们公司的简介:</p><blockquote><p>译枢科技于 2017 年成立于上海,是一家专注于国产芯片的半导体元器件分销商。2020 年成立深圳分公司,2022 年成立杭州办,2024 年成立南京办。译枢一直致力于消费电子、可穿戴、安全支付、三表等物联网领域产品解决方案的技术推广和销售,为广大企业用户提供产品和技术支持。随着公司的发展,我们的主营产品持续扩大,目前代理的品牌有:普冉、至晟微、矽典微、泰晶、华谷泽、奉加微、景略,产品涵盖存储、晶振、32 位单片机等。</p></blockquote><p>目前我们急需一名 MCU 行业相关的 FAE,具体要求如下:</p><h2 id="岗位职责" tabindex="-1"><a class="header-anchor" href="#岗位职责"><span>岗位职责</span></a></h2><ul><li>快速解决客户技术问题,提供专业支持。</li><li>协助销售团队,进行技术评估和选型。</li><li>定制化解决方案,维护技术文档和知识分享。</li></ul><h2 id="职位要求" tabindex="-1"><a class="header-anchor" href="#职位要求"><span>职位要求</span></a></h2><ul><li>本科以上,电子/计算机/自动化等相关专业优先。</li><li>有 FAE 经验优先。</li><li>有良好的英文阅读能力</li><li>熟悉模拟/数字电路和电路分析。</li><li>熟悉一种 PCB 设计软件,如(AD、Cadence、KiCAD等)</li><li>掌握 C/C++ 语言。</li><li>掌握至少一种脚本语言(Python/Bash/Lua)。</li><li>能熟练使用 Git 或者其它版本控制工具。</li><li>了解 STM32 或其它 Cortex-M 内核的单片机,有 Risc-V 内核使用经验优先。</li><li>有 Linux 使用经验,熟悉Linux相关操作优先。</li><li>有无刷电机驱动经验者优先</li></ul><h2 id="薪资待遇" tabindex="-1"><a class="header-anchor" href="#薪资待遇"><span>薪资待遇</span></a></h2><p>7-15k,有年终,五险一金,周末双休,弹性工作制不打卡</p><h2 id="联系方式" tabindex="-1"><a class="header-anchor" href="#联系方式"><span>联系方式</span></a></h2><p>联系方式这点不要着急哟~ 既然你已经打开这个页面了,那么联系方式可能还是需要你去自行查找一下,祝你好运!</p><p>YW1saGJtZG9ZVzl5WVc1QWVXbHpkR1ZqYUc1dmJHOW5lUzVqYjIwPQ==</p><p>密钥是一种常见的对称加密方式,密文注意一下网页中不同寻常的地方。</p><p>非此邮箱投递的简历将不予处理。</p><p>希望能够和你一起共事!</p>',17),o=[n];function p(r,c){return t(),l("div",null,o)}const h=e(a,[["render",p],["__file","index.html.vue"]]),m=JSON.parse(`{"path":"/kfGjHcdk36vg74_H/FAE/","title":"FAE 招聘广告!","lang":"zh-CN","frontmatter":{"title":"FAE 招聘广告!","permalink":"/kfGjHcdk36vg74_H/FAE/","author":{"name":"HalfSweet","link":"https://github.com/HalfSweet"},"timeline":false,"article":false,"description":"如果你看到这段界面,恭喜你!这是一个彩蛋,目前因为业务的需求,我们急需一名 FAE,如果你对这个职位感兴趣,欢迎联系我们! 目前我们在杭州和上海均有岗位需求。 我们公司的简介: 译枢科技于 2017 年成立于上海,是一家专注于国产芯片的半导体元器件分销商。2020 年成立深圳分公司,2022 年成立杭州办,2024 年成立南京办。译枢一直致力于消费电子...","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/kfGjHcdk36vg74_H/FAE/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"FAE 招聘广告!"}],["meta",{"property":"og:description","content":"如果你看到这段界面,恭喜你!这是一个彩蛋,目前因为业务的需求,我们急需一名 FAE,如果你对这个职位感兴趣,欢迎联系我们! 目前我们在杭州和上海均有岗位需求。 我们公司的简介: 译枢科技于 2017 年成立于上海,是一家专注于国产芯片的半导体元器件分销商。2020 年成立深圳分公司,2022 年成立杭州办,2024 年成立南京办。译枢一直致力于消费电子..."}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-04-03T13:37:55.000Z"}],["meta",{"property":"article:author","content":"HalfSweet"}],["meta",{"property":"article:modified_time","content":"2024-04-03T13:37:55.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"FAE 招聘广告!\\",\\"description\\":\\"如果你看到这段界面,恭喜你!这是一个彩蛋,目前因为业务的需求,我们急需一名 FAE,如果你对这个职位感兴趣,欢迎联系我们! 目前我们在杭州和上海均有岗位需求。 我们公司的简介: 译枢科技于 2017 年成立于上海,是一家专注于国产芯片的半导体元器件分销商。2020 年成立深圳分公司,2022 年成立杭州办,2024 年成立南京办。译枢一直致力于消费电子...\\"}"]]},"headers":[{"level":2,"title":"岗位职责","slug":"岗位职责","link":"#岗位职责","children":[]},{"level":2,"title":"职位要求","slug":"职位要求","link":"#职位要求","children":[]},{"level":2,"title":"薪资待遇","slug":"薪资待遇","link":"#薪资待遇","children":[]},{"level":2,"title":"联系方式","slug":"联系方式","link":"#联系方式","children":[]}],"git":{"createdTime":1711199859000,"updatedTime":1712151475000,"contributors":[{"name":"HalfSweet","email":"halfsweet@halfsweet.cn","commits":5}]},"readingTime":{"minutes":2.06,"words":619},"filePathRelative":"resume/FAE.md","localizedDate":"2024年3月23日","excerpt":"<p>如果你看到这段界面,恭喜你!这是一个彩蛋,目前因为业务的需求,我们急需一名 FAE,如果你对这个职位感兴趣,欢迎联系我们!</p>\\n<p>目前我们在<strong>杭州</strong>和<strong>上海</strong>均有岗位需求。</p>\\n<p>我们公司的简介:</p>\\n<blockquote>\\n<p>译枢科技于 2017 年成立于上海,是一家专注于国产芯片的半导体元器件分销商。2020 年成立深圳分公司,2022 年成立杭州办,2024 年成立南京办。译枢一直致力于消费电子、可穿戴、安全支付、三表等物联网领域产品解决方案的技术推广和销售,为广大企业用户提供产品和技术支持。随着公司的发展,我们的主营产品持续扩大,目前代理的品牌有:普冉、至晟微、矽典微、泰晶、华谷泽、奉加微、景略,产品涵盖存储、晶振、32 位单片机等。</p>\\n</blockquote>","autoDesc":true}`);export{h as comp,m as data};
diff --git a/assets/index.html-C7FigsQF.js b/assets/index.html-jClrTNl3.js
similarity index 98%
rename from assets/index.html-C7FigsQF.js
rename to assets/index.html-jClrTNl3.js
index a30efa2..360d72b 100644
--- a/assets/index.html-C7FigsQF.js
+++ b/assets/index.html-jClrTNl3.js
@@ -1,3 +1,3 @@
-import{_ as o}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as i,o as n,c,a as t,b as e,d as s,e as p}from"./app-ClwIkahu.js";const l="/assets/2023-08-27-20-49-48-BcktpWcB.png",r="/assets/2023-08-27-20-50-31-BKN8eE3k.png",d="/assets/2023-08-27-20-54-34-CGv3oeYt.png",h="/assets/2023-08-27-20-56-40-9Qb5jVKj.png",m="/assets/2023-08-27-20-56-55-u0KwFhz_.png",g="/assets/2023-08-27-21-00-57-CNv6tgKB.png",C="/assets/2023-09-01-22-19-35-D43g3qmC.png",u="/assets/2023-09-01-22-25-42-CLAhyCNu.png",_="/assets/2023-09-01-22-30-07-CxeyCwt5.png",b={},v=p('<p>在上几篇文章中,我们将 HAL 库移植给了 Air32,但是我们的开发环境还是使用的 Keil,这样就会导致一些问题,比如 Keil 的代码提示不够友好,而且 Keil 的代码补全也不够完善,因此我们可以使用一个更好的开发环境,比如 Clion。</p><div class="hint-container note"><p class="hint-container-title">注</p><p>本文如没有特殊说明,均以 Clion 的新 UI 为例</p></div><h2 id="前置条件" tabindex="-1"><a class="header-anchor" href="#前置条件"><span>前置条件</span></a></h2><ol><li>需要 Clio 你软件(废话</li><li>需要安装<code>arm-none-eabi-gcc</code>,windows 用户建议通过<code>MSYS2</code>的包管理工具安装,在此不多赘述</li><li>我们推荐使用<code>PyOCD</code>作为调试器</li><li>安装<code>STM32CubeMX</code>生成工程模板,当然这一步不是必须的,你也可以用我们文末提供的模板</li></ol><div class="hint-container tip"><p class="hint-container-title">提示</p><p>MinGW 和 Cmake 工具链目前最新版的 Clion 自带,我们无需在意</p></div><h2 id="新建工程" tabindex="-1"><a class="header-anchor" href="#新建工程"><span>新建工程</span></a></h2><p>打开 Clion 软件,点击左上角的<code>☰-文件-新建-项目</code>按钮</p><p><img src="'+l+'" alt=""></p><p>选择左边<code>嵌入式</code>列表中的<code>STM32CubeMX</code>,路径自定</p><p><img src="'+r+'" alt=""></p><p>选择<code>在 STM32CubeMX 中打开</code></p><p><img src="'+d+'" alt=""></p><p>默认采用了<code>STM32F030F4Px</code>,点击顶上面包屑导航的<code>STM32F030F4P6</code>修改为<code>STM32F103CBTx</code></p><p><img src="'+h+'" alt=""></p><p><img src="'+m+'" alt=""></p><p>点击<code>Start Project</code>,进入配置界面</p><p>接下来是常规配置,可以参考 [发挥全部实力!Air32 在 HAL 库环境下运行最高主频](./发挥全部实力!Air32 在 HAL 库环境下运行最高主频。md) 中的配置,这里不再赘述</p><h2 id="生成代码" tabindex="-1"><a class="header-anchor" href="#生成代码"><span>生成代码</span></a></h2><p>生成代码的时候,在<code>Project Manage</code>中的<code>Toolchain / IDE</code>中选择<code>STM32CubeIDE</code>,注意检查路径是否正确</p><p><img src="'+g+`" alt=""></p><p>点击右上角的<code>Generate Code</code>按钮,等待生成完成</p><h2 id="生成-cmake-工程" tabindex="-1"><a class="header-anchor" href="#生成-cmake-工程"><span>生成 Cmake 工程</span></a></h2><p>回到 Clion 中,打开<code>.ioc</code>目录下的工程,会自动生成 Cmake 工程,我们点击一下<code>构建</code>按钮,此时应该可以自动编译完成。</p><div class="hint-container tip"><p class="hint-container-title">提示</p><p>记得安装<code>arm-none-eabi-gcc</code>环境</p></div><h2 id="下载工程" tabindex="-1"><a class="header-anchor" href="#下载工程"><span>下载工程</span></a></h2><p>我们使用<code>pyOCD</code>下载,首先我们需要安装<code>pyOCD</code>的环境,这里我们选择安装<code>develop</code>版本,因为目前内置 Air32 的版本还没正式发布。</p><p>在我们有 Python 环境的前提下,只需要</p><div class="language-bash line-numbers-mode" data-ext="sh" data-title="sh"><pre class="language-bash"><code>pip <span class="token function">install</span> <span class="token parameter variable">--pre</span> <span class="token parameter variable">-U</span> git+https://github.com/pyocd/pyOCD.git@develop
+import{_ as o}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as i,o as n,c,a as t,b as e,d as s,e as p}from"./app-Flo2gZk8.js";const l="/assets/2023-08-27-20-49-48-BcktpWcB.png",r="/assets/2023-08-27-20-50-31-BKN8eE3k.png",d="/assets/2023-08-27-20-54-34-CGv3oeYt.png",h="/assets/2023-08-27-20-56-40-9Qb5jVKj.png",m="/assets/2023-08-27-20-56-55-u0KwFhz_.png",g="/assets/2023-08-27-21-00-57-CNv6tgKB.png",C="/assets/2023-09-01-22-19-35-D43g3qmC.png",u="/assets/2023-09-01-22-25-42-CLAhyCNu.png",_="/assets/2023-09-01-22-30-07-CxeyCwt5.png",b={},v=p('<p>在上几篇文章中,我们将 HAL 库移植给了 Air32,但是我们的开发环境还是使用的 Keil,这样就会导致一些问题,比如 Keil 的代码提示不够友好,而且 Keil 的代码补全也不够完善,因此我们可以使用一个更好的开发环境,比如 Clion。</p><div class="hint-container note"><p class="hint-container-title">注</p><p>本文如没有特殊说明,均以 Clion 的新 UI 为例</p></div><h2 id="前置条件" tabindex="-1"><a class="header-anchor" href="#前置条件"><span>前置条件</span></a></h2><ol><li>需要 Clio 你软件(废话</li><li>需要安装<code>arm-none-eabi-gcc</code>,windows 用户建议通过<code>MSYS2</code>的包管理工具安装,在此不多赘述</li><li>我们推荐使用<code>PyOCD</code>作为调试器</li><li>安装<code>STM32CubeMX</code>生成工程模板,当然这一步不是必须的,你也可以用我们文末提供的模板</li></ol><div class="hint-container tip"><p class="hint-container-title">提示</p><p>MinGW 和 Cmake 工具链目前最新版的 Clion 自带,我们无需在意</p></div><h2 id="新建工程" tabindex="-1"><a class="header-anchor" href="#新建工程"><span>新建工程</span></a></h2><p>打开 Clion 软件,点击左上角的<code>☰-文件-新建-项目</code>按钮</p><p><img src="'+l+'" alt=""></p><p>选择左边<code>嵌入式</code>列表中的<code>STM32CubeMX</code>,路径自定</p><p><img src="'+r+'" alt=""></p><p>选择<code>在 STM32CubeMX 中打开</code></p><p><img src="'+d+'" alt=""></p><p>默认采用了<code>STM32F030F4Px</code>,点击顶上面包屑导航的<code>STM32F030F4P6</code>修改为<code>STM32F103CBTx</code></p><p><img src="'+h+'" alt=""></p><p><img src="'+m+'" alt=""></p><p>点击<code>Start Project</code>,进入配置界面</p><p>接下来是常规配置,可以参考 [发挥全部实力!Air32 在 HAL 库环境下运行最高主频](./发挥全部实力!Air32 在 HAL 库环境下运行最高主频。md) 中的配置,这里不再赘述</p><h2 id="生成代码" tabindex="-1"><a class="header-anchor" href="#生成代码"><span>生成代码</span></a></h2><p>生成代码的时候,在<code>Project Manage</code>中的<code>Toolchain / IDE</code>中选择<code>STM32CubeIDE</code>,注意检查路径是否正确</p><p><img src="'+g+`" alt=""></p><p>点击右上角的<code>Generate Code</code>按钮,等待生成完成</p><h2 id="生成-cmake-工程" tabindex="-1"><a class="header-anchor" href="#生成-cmake-工程"><span>生成 Cmake 工程</span></a></h2><p>回到 Clion 中,打开<code>.ioc</code>目录下的工程,会自动生成 Cmake 工程,我们点击一下<code>构建</code>按钮,此时应该可以自动编译完成。</p><div class="hint-container tip"><p class="hint-container-title">提示</p><p>记得安装<code>arm-none-eabi-gcc</code>环境</p></div><h2 id="下载工程" tabindex="-1"><a class="header-anchor" href="#下载工程"><span>下载工程</span></a></h2><p>我们使用<code>pyOCD</code>下载,首先我们需要安装<code>pyOCD</code>的环境,这里我们选择安装<code>develop</code>版本,因为目前内置 Air32 的版本还没正式发布。</p><p>在我们有 Python 环境的前提下,只需要</p><div class="language-bash line-numbers-mode" data-ext="sh" data-title="sh"><pre class="language-bash"><code>pip <span class="token function">install</span> <span class="token parameter variable">--pre</span> <span class="token parameter variable">-U</span> git+https://github.com/pyocd/pyOCD.git@develop
 </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>即可安装。</p><p>接下来我们需要配置运行参数,我们点击上方的<code>运行/调试配置</code>按钮,然后点击<code>编辑配置</code>。</p><p><img src="`+C+`" alt=""></p><p>可执行文件中,修改为<code>pyOCD</code>的路径,如果找不到可以用<code>which pyocd</code>命令查看。</p><p>命令实参中,加入</p><div class="language-bash line-numbers-mode" data-ext="sh" data-title="sh"><pre class="language-bash"><code>flash <span class="token parameter variable">--erase</span> chip <span class="token parameter variable">--target</span> air32f103xb <span class="token variable">$CMakeCurrentBuildDir</span>$/Air32F103_Clion.hex
 </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>芯片型号和具体的 hex 文件可以根据实际情况进行修改。</p><p>此时点击<code>运行</code>按钮,即可下载程序到 Air32 中。</p><h2 id="配置调试器" tabindex="-1"><a class="header-anchor" href="#配置调试器"><span>配置调试器</span></a></h2><p>点击<code>运行/调试配置</code>按钮,然后点击<code>编辑配置</code>,点击弹出窗口的左上角的<code>+</code>按钮,选择<code>嵌入式 GDB 调试器</code></p><p><img src="`+u+'" alt=""></p><p><code>target remote</code>中填入<code>localhost:65533</code>,或者端口自定,不冲突即可。</p><p><code>GDB 服务器</code>中填入 pyOCD 的可执行文件路径</p><p><code>GDB 服务器实参</code>中填入<code>gdbserver -p 65533 -t air32f103xb -f 10M</code>,端口号和芯片型号自定,如果连不上可适当降低频率。</p><p><img src="'+_+'" alt=""></p><p>最后点击确认即可</p><p>把运行配置切换到刚才设置的调试选项卡中,点击<code>调试</code>按钮即可进行调试</p><h2 id="附录" tabindex="-1"><a class="header-anchor" href="#附录"><span>附录</span></a></h2>',46),f={href:"https://github.com/Air-duino/Air32-Clion-Template",target:"_blank",rel:"noopener noreferrer"};function k(A,y){const a=i("ExternalLinkIcon");return n(),c("div",null,[v,t("p",null,[e("此工程开源在"),t("a",f,[e("https://github.com/Air-duino/Air32-Clion-Template"),s(a)]),e("上")])])}const S=o(b,[["render",k],["__file","index.html.vue"]]),w=JSON.parse(`{"path":"/posts/Air32-Clion/","title":"使用 Clion 来进行 Air32 的开发","lang":"zh-CN","frontmatter":{"title":"使用 Clion 来进行 Air32 的开发","date":"2023-08-27T20:30:00.000Z","permalink":"/posts/Air32-Clion/","category":["单片机"],"tag":["Air32","合宙","Clion"],"author":{"name":"HalfSweet","link":"https://github.com/HalfSweet"},"order":9,"description":"在上几篇文章中,我们将 HAL 库移植给了 Air32,但是我们的开发环境还是使用的 Keil,这样就会导致一些问题,比如 Keil 的代码提示不够友好,而且 Keil 的代码补全也不够完善,因此我们可以使用一个更好的开发环境,比如 Clion。 注 本文如没有特殊说明,均以 Clion 的新 UI 为例 前置条件 需要 Clio 你软件(废话 需要安...","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/posts/Air32-Clion/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"使用 Clion 来进行 Air32 的开发"}],["meta",{"property":"og:description","content":"在上几篇文章中,我们将 HAL 库移植给了 Air32,但是我们的开发环境还是使用的 Keil,这样就会导致一些问题,比如 Keil 的代码提示不够友好,而且 Keil 的代码补全也不够完善,因此我们可以使用一个更好的开发环境,比如 Clion。 注 本文如没有特殊说明,均以 Clion 的新 UI 为例 前置条件 需要 Clio 你软件(废话 需要安..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2023-09-01T14:34:52.000Z"}],["meta",{"property":"article:author","content":"HalfSweet"}],["meta",{"property":"article:tag","content":"Air32"}],["meta",{"property":"article:tag","content":"合宙"}],["meta",{"property":"article:tag","content":"Clion"}],["meta",{"property":"article:published_time","content":"2023-08-27T20:30:00.000Z"}],["meta",{"property":"article:modified_time","content":"2023-09-01T14:34:52.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"使用 Clion 来进行 Air32 的开发\\",\\"image\\":[\\"\\"],\\"datePublished\\":\\"2023-08-27T20:30:00.000Z\\",\\"dateModified\\":\\"2023-09-01T14:34:52.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"HalfSweet\\",\\"link\\":\\"https://github.com/HalfSweet\\"}]}"]]},"headers":[{"level":2,"title":"前置条件","slug":"前置条件","link":"#前置条件","children":[]},{"level":2,"title":"新建工程","slug":"新建工程","link":"#新建工程","children":[]},{"level":2,"title":"生成代码","slug":"生成代码","link":"#生成代码","children":[]},{"level":2,"title":"生成 Cmake 工程","slug":"生成-cmake-工程","link":"#生成-cmake-工程","children":[]},{"level":2,"title":"下载工程","slug":"下载工程","link":"#下载工程","children":[]},{"level":2,"title":"配置调试器","slug":"配置调试器","link":"#配置调试器","children":[]},{"level":2,"title":"附录","slug":"附录","link":"#附录","children":[]}],"git":{"createdTime":1693578892000,"updatedTime":1693578892000,"contributors":[{"name":"HalfSweet","email":"halfsweet@halfsweet.cn","commits":1}]},"readingTime":{"minutes":3.08,"words":924},"filePathRelative":"posts/使用Clion来进行Air32的开发.md","localizedDate":"2023年8月27日","excerpt":"<p>在上几篇文章中,我们将 HAL 库移植给了 Air32,但是我们的开发环境还是使用的 Keil,这样就会导致一些问题,比如 Keil 的代码提示不够友好,而且 Keil 的代码补全也不够完善,因此我们可以使用一个更好的开发环境,比如 Clion。</p>\\n","autoDesc":true}`);export{S as comp,w as data};
diff --git a/assets/index.html-DtEE6E7f.js b/assets/index.html-tFfBEjXi.js
similarity index 99%
rename from assets/index.html-DtEE6E7f.js
rename to assets/index.html-tFfBEjXi.js
index ba421fa..58fc18e 100644
--- a/assets/index.html-DtEE6E7f.js
+++ b/assets/index.html-tFfBEjXi.js
@@ -1,4 +1,4 @@
-import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as t,o as c,c as o,a as s,b as n,d as p,e as l}from"./app-ClwIkahu.js";const i="/assets/2023-08-20-20-27-46-DGEiYCHO.png",u="/assets/2023-08-20-20-36-26-CO_nFz98.png",r="/assets/2023-08-20-20-37-09-BKnAVdzf.png",k="/assets/2023-08-20-20-55-58-DhKtKWYq.png",d="/assets/2023-08-20-20-56-16-CzydazCE.png",m="/assets/2023-08-20-20-59-08-CCOy-H3h.png",v="/assets/2023-08-20-21-04-35-DlLrU9VC.png",b={},C=l('<p>最近打算把 Air32 也吃上 Arduino,发挥全部性能,就不用像是 Air001 那样束手束脚了,但是问题是 Arduino 的库是基于 HAL 的,那要用上 Arduino 就必定得先适配 HAL 库,那我们就来先尝试在 HAL 下让 Air32 跑到最高主频吧。</p><h2 id="初始化工程" tabindex="-1"><a class="header-anchor" href="#初始化工程"><span>初始化工程</span></a></h2><p>首先我们需要先初始化一个工程,就单纯点灯和和串口打印,这里我偷懒用了<code>STM32CubeMX</code>,我们勾上串口和外部时钟,为了方便我们顺便把 SWD 也选上。大概就是这样</p><p><img src="'+i+`" alt="CubeMX"></p><p>然后生成代码即可。</p><h2 id="修改时钟" tabindex="-1"><a class="header-anchor" href="#修改时钟"><span>修改时钟</span></a></h2><p>因为我们要跑高主频,原先的 PLL 倍频数不满足,用到了新的一些配置,因此我们需要修改芯片头文件以及<code>hal_rcc_ex.h</code>中的一些宏定义,首先是芯片的头文件,我们这里以<code>air32f103xb.h</code>为例,我们需要修改的地方如下</p><div class="language-c line-numbers-mode" data-ext="c" data-title="c"><pre class="language-c"><code><span class="token macro property"><span class="token directive-hash">#</span><span class="token directive keyword">define</span> <span class="token macro-name">RCC_CFGR_PLLMULL16_Pos</span>               <span class="token expression"><span class="token punctuation">(</span><span class="token number">19U</span><span class="token punctuation">)</span>                             </span></span>
+import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as t,o as c,c as o,a as s,b as n,d as p,e as l}from"./app-Flo2gZk8.js";const i="/assets/2023-08-20-20-27-46-DGEiYCHO.png",u="/assets/2023-08-20-20-36-26-CO_nFz98.png",r="/assets/2023-08-20-20-37-09-BKnAVdzf.png",k="/assets/2023-08-20-20-55-58-DhKtKWYq.png",d="/assets/2023-08-20-20-56-16-CzydazCE.png",m="/assets/2023-08-20-20-59-08-CCOy-H3h.png",v="/assets/2023-08-20-21-04-35-DlLrU9VC.png",b={},C=l('<p>最近打算把 Air32 也吃上 Arduino,发挥全部性能,就不用像是 Air001 那样束手束脚了,但是问题是 Arduino 的库是基于 HAL 的,那要用上 Arduino 就必定得先适配 HAL 库,那我们就来先尝试在 HAL 下让 Air32 跑到最高主频吧。</p><h2 id="初始化工程" tabindex="-1"><a class="header-anchor" href="#初始化工程"><span>初始化工程</span></a></h2><p>首先我们需要先初始化一个工程,就单纯点灯和和串口打印,这里我偷懒用了<code>STM32CubeMX</code>,我们勾上串口和外部时钟,为了方便我们顺便把 SWD 也选上。大概就是这样</p><p><img src="'+i+`" alt="CubeMX"></p><p>然后生成代码即可。</p><h2 id="修改时钟" tabindex="-1"><a class="header-anchor" href="#修改时钟"><span>修改时钟</span></a></h2><p>因为我们要跑高主频,原先的 PLL 倍频数不满足,用到了新的一些配置,因此我们需要修改芯片头文件以及<code>hal_rcc_ex.h</code>中的一些宏定义,首先是芯片的头文件,我们这里以<code>air32f103xb.h</code>为例,我们需要修改的地方如下</p><div class="language-c line-numbers-mode" data-ext="c" data-title="c"><pre class="language-c"><code><span class="token macro property"><span class="token directive-hash">#</span><span class="token directive keyword">define</span> <span class="token macro-name">RCC_CFGR_PLLMULL16_Pos</span>               <span class="token expression"><span class="token punctuation">(</span><span class="token number">19U</span><span class="token punctuation">)</span>                             </span></span>
 <span class="token macro property"><span class="token directive-hash">#</span><span class="token directive keyword">define</span> <span class="token macro-name">RCC_CFGR_PLLMULL16_Msk</span>               <span class="token expression"><span class="token punctuation">(</span><span class="token number">0x7UL</span> <span class="token operator">&lt;&lt;</span> RCC_CFGR_PLLMULL16_Pos<span class="token punctuation">)</span>  </span><span class="token comment">/*!&lt; 0x00380000 */</span></span>
 <span class="token macro property"><span class="token directive-hash">#</span><span class="token directive keyword">define</span> <span class="token macro-name">RCC_CFGR_PLLMULL16</span>                   <span class="token expression">RCC_CFGR_PLLMULL16_Msk            </span><span class="token comment">/*!&lt; PLL input clock*16 */</span></span>
 <span class="token macro property"><span class="token directive-hash">#</span><span class="token directive keyword">define</span> <span class="token macro-name">RCC_CFGR_PLLMULL17</span>                   <span class="token expression"><span class="token punctuation">(</span><span class="token punctuation">(</span><span class="token class-name">uint32_t</span><span class="token punctuation">)</span><span class="token number">0x10000000</span><span class="token punctuation">)</span></span></span>
diff --git a/assets/index.html-BktjQtFB.js b/assets/index.html-vIW8aJUJ.js
similarity index 93%
rename from assets/index.html-BktjQtFB.js
rename to assets/index.html-vIW8aJUJ.js
index cdede5b..be33b75 100644
--- a/assets/index.html-BktjQtFB.js
+++ b/assets/index.html-vIW8aJUJ.js
@@ -1 +1 @@
-import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as a}from"./app-ClwIkahu.js";const o={};function r(n,p){return t(),a("div")}const c=e(o,[["render",r],["__file","index.html.vue"]]),i=JSON.parse(`{"path":"/star/","title":"星标","lang":"zh-CN","frontmatter":{"title":"星标","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"type","key":"star"},"layout":"BlogType","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/star/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"星标"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"星标\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{c as comp,i as data};
+import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as a}from"./app-Flo2gZk8.js";const o={};function r(n,p){return t(),a("div")}const c=e(o,[["render",r],["__file","index.html.vue"]]),i=JSON.parse(`{"path":"/star/","title":"星标","lang":"zh-CN","frontmatter":{"title":"星标","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"type","key":"star"},"layout":"BlogType","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/star/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"星标"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"星标\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{c as comp,i as data};
diff --git a/assets/index.html-CTp2Oa39.js b/assets/index.html-vKhQGG0S.js
similarity index 94%
rename from assets/index.html-CTp2Oa39.js
rename to assets/index.html-vKhQGG0S.js
index 21e05f8..b178b58 100644
--- a/assets/index.html-CTp2Oa39.js
+++ b/assets/index.html-vKhQGG0S.js
@@ -1 +1 @@
-import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as a}from"./app-ClwIkahu.js";const o={};function r(n,l){return t(),a("div")}const s=e(o,[["render",r],["__file","index.html.vue"]]),i=JSON.parse(`{"path":"/tag/%E6%97%A5%E5%BF%97/","title":"标签: 日志","lang":"zh-CN","frontmatter":{"title":"标签: 日志","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"日志","key":"tag"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/tag/%E6%97%A5%E5%BF%97/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"标签: 日志"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"标签: 日志\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{s as comp,i as data};
+import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as a}from"./app-Flo2gZk8.js";const o={};function r(n,l){return t(),a("div")}const s=e(o,[["render",r],["__file","index.html.vue"]]),i=JSON.parse(`{"path":"/tag/%E6%97%A5%E5%BF%97/","title":"标签: 日志","lang":"zh-CN","frontmatter":{"title":"标签: 日志","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","name":"日志","key":"tag"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/tag/%E6%97%A5%E5%BF%97/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"标签: 日志"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"标签: 日志\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{s as comp,i as data};
diff --git a/assets/index.html-BEwHBlkc.js b/assets/index.html-vhaMR1PK.js
similarity index 94%
rename from assets/index.html-BEwHBlkc.js
rename to assets/index.html-vhaMR1PK.js
index 26f419f..813f47f 100644
--- a/assets/index.html-BEwHBlkc.js
+++ b/assets/index.html-vhaMR1PK.js
@@ -1 +1 @@
-import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as o}from"./app-ClwIkahu.js";const a={};function r(n,c){return t(),o("div")}const s=e(a,[["render",r],["__file","index.html.vue"]]),i=JSON.parse(`{"path":"/category/","title":"分类","lang":"zh-CN","frontmatter":{"title":"分类","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","key":"category"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/category/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"分类"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"分类\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{s as comp,i as data};
+import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as o}from"./app-Flo2gZk8.js";const a={};function r(n,c){return t(),o("div")}const s=e(a,[["render",r],["__file","index.html.vue"]]),i=JSON.parse(`{"path":"/category/","title":"分类","lang":"zh-CN","frontmatter":{"title":"分类","dir":{"index":false},"index":false,"feed":false,"sitemap":false,"blog":{"type":"category","key":"category"},"layout":"BlogCategory","head":[["meta",{"property":"og:url","content":"https://halfsweet.cn/category/"}],["meta",{"property":"og:site_name","content":"HalfSweet's Blog"}],["meta",{"property":"og:title","content":"分类"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"HalfSweet"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"分类\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"excerpt":""}`);export{s as comp,i as data};
diff --git a/assets/photoswipe.esm-GXRgw7eJ.js b/assets/photoswipe.esm-GXRgw7eJ.js
new file mode 100644
index 0000000..2fd7cfd
--- /dev/null
+++ b/assets/photoswipe.esm-GXRgw7eJ.js
@@ -0,0 +1,4 @@
+/*!
+  * PhotoSwipe 5.4.4 - https://photoswipe.com
+  * (c) 2024 Dmytro Semenov
+  */function f(r,t,i){const e=document.createElement(t);return r&&(e.className=r),i&&i.appendChild(e),e}function p(r,t){return r.x=t.x,r.y=t.y,t.id!==void 0&&(r.id=t.id),r}function M(r){r.x=Math.round(r.x),r.y=Math.round(r.y)}function A(r,t){const i=Math.abs(r.x-t.x),e=Math.abs(r.y-t.y);return Math.sqrt(i*i+e*e)}function x(r,t){return r.x===t.x&&r.y===t.y}function I(r,t,i){return Math.min(Math.max(r,t),i)}function b(r,t,i){let e=`translate3d(${r}px,${t||0}px,0)`;return i!==void 0&&(e+=` scale3d(${i},${i},1)`),e}function y(r,t,i,e){r.style.transform=b(t,i,e)}const $="cubic-bezier(.4,0,.22,1)";function R(r,t,i,e){r.style.transition=t?`${t} ${i}ms ${e||$}`:"none"}function L(r,t,i){r.style.width=typeof t=="number"?`${t}px`:t,r.style.height=typeof i=="number"?`${i}px`:i}function U(r){R(r)}function q(r){return"decode"in r?r.decode().catch(()=>{}):r.complete?Promise.resolve(r):new Promise((t,i)=>{r.onload=()=>t(r),r.onerror=i})}const _={IDLE:"idle",LOADING:"loading",LOADED:"loaded",ERROR:"error"};function G(r){return"button"in r&&r.button===1||r.ctrlKey||r.metaKey||r.altKey||r.shiftKey}function K(r,t,i=document){let e=[];if(r instanceof Element)e=[r];else if(r instanceof NodeList||Array.isArray(r))e=Array.from(r);else{const s=typeof r=="string"?r:t;s&&(e=Array.from(i.querySelectorAll(s)))}return e}function C(){return!!(navigator.vendor&&navigator.vendor.match(/apple/i))}let F=!1;try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>{F=!0}}))}catch{}class X{constructor(){this._pool=[]}add(t,i,e,s){this._toggleListener(t,i,e,s)}remove(t,i,e,s){this._toggleListener(t,i,e,s,!0)}removeAll(){this._pool.forEach(t=>{this._toggleListener(t.target,t.type,t.listener,t.passive,!0,!0)}),this._pool=[]}_toggleListener(t,i,e,s,n,o){if(!t)return;const a=n?"removeEventListener":"addEventListener";i.split(" ").forEach(l=>{if(l){o||(n?this._pool=this._pool.filter(d=>d.type!==l||d.listener!==e||d.target!==t):this._pool.push({target:t,type:l,listener:e,passive:s}));const c=F?{passive:s||!1}:!1;t[a](l,e,c)}})}}function B(r,t){if(r.getViewportSizeFn){const i=r.getViewportSizeFn(r,t);if(i)return i}return{x:document.documentElement.clientWidth,y:window.innerHeight}}function S(r,t,i,e,s){let n=0;if(t.paddingFn)n=t.paddingFn(i,e,s)[r];else if(t.padding)n=t.padding[r];else{const o="padding"+r[0].toUpperCase()+r.slice(1);t[o]&&(n=t[o])}return Number(n)||0}function N(r,t,i,e){return{x:t.x-S("left",r,t,i,e)-S("right",r,t,i,e),y:t.y-S("top",r,t,i,e)-S("bottom",r,t,i,e)}}class Y{constructor(t){this.slide=t,this.currZoomLevel=1,this.center={x:0,y:0},this.max={x:0,y:0},this.min={x:0,y:0}}update(t){this.currZoomLevel=t,this.slide.width?(this._updateAxis("x"),this._updateAxis("y"),this.slide.pswp.dispatch("calcBounds",{slide:this.slide})):this.reset()}_updateAxis(t){const{pswp:i}=this.slide,e=this.slide[t==="x"?"width":"height"]*this.currZoomLevel,n=S(t==="x"?"left":"top",i.options,i.viewportSize,this.slide.data,this.slide.index),o=this.slide.panAreaSize[t];this.center[t]=Math.round((o-e)/2)+n,this.max[t]=e>o?Math.round(o-e)+n:this.center[t],this.min[t]=e>o?n:this.center[t]}reset(){this.center.x=0,this.center.y=0,this.max.x=0,this.max.y=0,this.min.x=0,this.min.y=0}correctPan(t,i){return I(i,this.max[t],this.min[t])}}const T=4e3;class H{constructor(t,i,e,s){this.pswp=s,this.options=t,this.itemData=i,this.index=e,this.panAreaSize=null,this.elementSize=null,this.fit=1,this.fill=1,this.vFill=1,this.initial=1,this.secondary=1,this.max=1,this.min=1}update(t,i,e){const s={x:t,y:i};this.elementSize=s,this.panAreaSize=e;const n=e.x/s.x,o=e.y/s.y;this.fit=Math.min(1,n<o?n:o),this.fill=Math.min(1,n>o?n:o),this.vFill=Math.min(1,o),this.initial=this._getInitial(),this.secondary=this._getSecondary(),this.max=Math.max(this.initial,this.secondary,this._getMax()),this.min=Math.min(this.fit,this.initial,this.secondary),this.pswp&&this.pswp.dispatch("zoomLevelsUpdate",{zoomLevels:this,slideData:this.itemData})}_parseZoomLevelOption(t){const i=t+"ZoomLevel",e=this.options[i];if(e)return typeof e=="function"?e(this):e==="fill"?this.fill:e==="fit"?this.fit:Number(e)}_getSecondary(){let t=this._parseZoomLevelOption("secondary");return t||(t=Math.min(1,this.fit*3),this.elementSize&&t*this.elementSize.x>T&&(t=T/this.elementSize.x),t)}_getInitial(){return this._parseZoomLevelOption("initial")||this.fit}_getMax(){return this._parseZoomLevelOption("max")||Math.max(1,this.fit*4)}}class j{constructor(t,i,e){this.data=t,this.index=i,this.pswp=e,this.isActive=i===e.currIndex,this.currentResolution=0,this.panAreaSize={x:0,y:0},this.pan={x:0,y:0},this.isFirstSlide=this.isActive&&!e.opener.isOpen,this.zoomLevels=new H(e.options,t,i,e),this.pswp.dispatch("gettingData",{slide:this,data:this.data,index:i}),this.content=this.pswp.contentLoader.getContentBySlide(this),this.container=f("pswp__zoom-wrap","div"),this.holderElement=null,this.currZoomLevel=1,this.width=this.content.width,this.height=this.content.height,this.heavyAppended=!1,this.bounds=new Y(this),this.prevDisplayedWidth=-1,this.prevDisplayedHeight=-1,this.pswp.dispatch("slideInit",{slide:this})}setIsActive(t){t&&!this.isActive?this.activate():!t&&this.isActive&&this.deactivate()}append(t){this.holderElement=t,this.container.style.transformOrigin="0 0",this.data&&(this.calculateSize(),this.load(),this.updateContentSize(),this.appendHeavy(),this.holderElement.appendChild(this.container),this.zoomAndPanToInitial(),this.pswp.dispatch("firstZoomPan",{slide:this}),this.applyCurrentZoomPan(),this.pswp.dispatch("afterSetContent",{slide:this}),this.isActive&&this.activate())}load(){this.content.load(!1),this.pswp.dispatch("slideLoad",{slide:this})}appendHeavy(){const{pswp:t}=this;this.heavyAppended||!t.opener.isOpen||t.mainScroll.isShifted()||!this.isActive&&!!0||this.pswp.dispatch("appendHeavy",{slide:this}).defaultPrevented||(this.heavyAppended=!0,this.content.append(),this.pswp.dispatch("appendHeavyContent",{slide:this}))}activate(){this.isActive=!0,this.appendHeavy(),this.content.activate(),this.pswp.dispatch("slideActivate",{slide:this})}deactivate(){this.isActive=!1,this.content.deactivate(),this.currZoomLevel!==this.zoomLevels.initial&&this.calculateSize(),this.currentResolution=0,this.zoomAndPanToInitial(),this.applyCurrentZoomPan(),this.updateContentSize(),this.pswp.dispatch("slideDeactivate",{slide:this})}destroy(){this.content.hasSlide=!1,this.content.remove(),this.container.remove(),this.pswp.dispatch("slideDestroy",{slide:this})}resize(){this.currZoomLevel===this.zoomLevels.initial||!this.isActive?(this.calculateSize(),this.currentResolution=0,this.zoomAndPanToInitial(),this.applyCurrentZoomPan(),this.updateContentSize()):(this.calculateSize(),this.bounds.update(this.currZoomLevel),this.panTo(this.pan.x,this.pan.y))}updateContentSize(t){const i=this.currentResolution||this.zoomLevels.initial;if(!i)return;const e=Math.round(this.width*i)||this.pswp.viewportSize.x,s=Math.round(this.height*i)||this.pswp.viewportSize.y;!this.sizeChanged(e,s)&&!t||this.content.setDisplayedSize(e,s)}sizeChanged(t,i){return t!==this.prevDisplayedWidth||i!==this.prevDisplayedHeight?(this.prevDisplayedWidth=t,this.prevDisplayedHeight=i,!0):!1}getPlaceholderElement(){var t;return(t=this.content.placeholder)===null||t===void 0?void 0:t.element}zoomTo(t,i,e,s){const{pswp:n}=this;if(!this.isZoomable()||n.mainScroll.isShifted())return;n.dispatch("beforeZoomTo",{destZoomLevel:t,centerPoint:i,transitionDuration:e}),n.animations.stopAllPan();const o=this.currZoomLevel;s||(t=I(t,this.zoomLevels.min,this.zoomLevels.max)),this.setZoomLevel(t),this.pan.x=this.calculateZoomToPanOffset("x",i,o),this.pan.y=this.calculateZoomToPanOffset("y",i,o),M(this.pan);const a=()=>{this._setResolution(t),this.applyCurrentZoomPan()};e?n.animations.startTransition({isPan:!0,name:"zoomTo",target:this.container,transform:this.getCurrentTransform(),onComplete:a,duration:e,easing:n.options.easing}):a()}toggleZoom(t){this.zoomTo(this.currZoomLevel===this.zoomLevels.initial?this.zoomLevels.secondary:this.zoomLevels.initial,t,this.pswp.options.zoomAnimationDuration)}setZoomLevel(t){this.currZoomLevel=t,this.bounds.update(this.currZoomLevel)}calculateZoomToPanOffset(t,i,e){if(this.bounds.max[t]-this.bounds.min[t]===0)return this.bounds.center[t];i||(i=this.pswp.getViewportCenterPoint()),e||(e=this.zoomLevels.initial);const n=this.currZoomLevel/e;return this.bounds.correctPan(t,(this.pan[t]-i[t])*n+i[t])}panTo(t,i){this.pan.x=this.bounds.correctPan("x",t),this.pan.y=this.bounds.correctPan("y",i),this.applyCurrentZoomPan()}isPannable(){return!!this.width&&this.currZoomLevel>this.zoomLevels.fit}isZoomable(){return!!this.width&&this.content.isZoomable()}applyCurrentZoomPan(){this._applyZoomTransform(this.pan.x,this.pan.y,this.currZoomLevel),this===this.pswp.currSlide&&this.pswp.dispatch("zoomPanUpdate",{slide:this})}zoomAndPanToInitial(){this.currZoomLevel=this.zoomLevels.initial,this.bounds.update(this.currZoomLevel),p(this.pan,this.bounds.center),this.pswp.dispatch("initialZoomPan",{slide:this})}_applyZoomTransform(t,i,e){e/=this.currentResolution||this.zoomLevels.initial,y(this.container,t,i,e)}calculateSize(){const{pswp:t}=this;p(this.panAreaSize,N(t.options,t.viewportSize,this.data,this.index)),this.zoomLevels.update(this.width,this.height,this.panAreaSize),t.dispatch("calcSlideSize",{slide:this})}getCurrentTransform(){const t=this.currZoomLevel/(this.currentResolution||this.zoomLevels.initial);return b(this.pan.x,this.pan.y,t)}_setResolution(t){t!==this.currentResolution&&(this.currentResolution=t,this.updateContentSize(),this.pswp.dispatch("resolutionChanged"))}}const Q=.35,J=.6,z=.4,E=.5;function tt(r,t){return r*t/(1-t)}class it{constructor(t){this.gestures=t,this.pswp=t.pswp,this.startPan={x:0,y:0}}start(){this.pswp.currSlide&&p(this.startPan,this.pswp.currSlide.pan),this.pswp.animations.stopAll()}change(){const{p1:t,prevP1:i,dragAxis:e}=this.gestures,{currSlide:s}=this.pswp;if(e==="y"&&this.pswp.options.closeOnVerticalDrag&&s&&s.currZoomLevel<=s.zoomLevels.fit&&!this.gestures.isMultitouch){const n=s.pan.y+(t.y-i.y);if(!this.pswp.dispatch("verticalDrag",{panY:n}).defaultPrevented){this._setPanWithFriction("y",n,J);const o=1-Math.abs(this._getVerticalDragRatio(s.pan.y));this.pswp.applyBgOpacity(o),s.applyCurrentZoomPan()}}else this._panOrMoveMainScroll("x")||(this._panOrMoveMainScroll("y"),s&&(M(s.pan),s.applyCurrentZoomPan()))}end(){const{velocity:t}=this.gestures,{mainScroll:i,currSlide:e}=this.pswp;let s=0;if(this.pswp.animations.stopAll(),i.isShifted()){const o=(i.x-i.getCurrSlideX())/this.pswp.viewportSize.x;t.x<-E&&o<0||t.x<.1&&o<-.5?(s=1,t.x=Math.min(t.x,0)):(t.x>E&&o>0||t.x>-.1&&o>.5)&&(s=-1,t.x=Math.max(t.x,0)),i.moveIndexBy(s,!0,t.x)}e&&e.currZoomLevel>e.zoomLevels.max||this.gestures.isMultitouch?this.gestures.zoomLevels.correctZoomPan(!0):(this._finishPanGestureForAxis("x"),this._finishPanGestureForAxis("y"))}_finishPanGestureForAxis(t){const{velocity:i}=this.gestures,{currSlide:e}=this.pswp;if(!e)return;const{pan:s,bounds:n}=e,o=s[t],a=this.pswp.bgOpacity<1&&t==="y",l=o+tt(i[t],.995);if(a){const v=this._getVerticalDragRatio(o),w=this._getVerticalDragRatio(l);if(v<0&&w<-z||v>0&&w>z){this.pswp.close();return}}const c=n.correctPan(t,l);if(o===c)return;const d=c===l?1:.82,u=this.pswp.bgOpacity,m=c-o;this.pswp.animations.startSpring({name:"panGesture"+t,isPan:!0,start:o,end:c,velocity:i[t],dampingRatio:d,onUpdate:v=>{if(a&&this.pswp.bgOpacity<1){const w=1-(c-v)/m;this.pswp.applyBgOpacity(I(u+(1-u)*w,0,1))}s[t]=Math.floor(v),e.applyCurrentZoomPan()}})}_panOrMoveMainScroll(t){const{p1:i,dragAxis:e,prevP1:s,isMultitouch:n}=this.gestures,{currSlide:o,mainScroll:a}=this.pswp,h=i[t]-s[t],l=a.x+h;if(!h||!o)return!1;if(t==="x"&&!o.isPannable()&&!n)return a.moveTo(l,!0),!0;const{bounds:c}=o,d=o.pan[t]+h;if(this.pswp.options.allowPanToNext&&e==="x"&&t==="x"&&!n){const u=a.getCurrSlideX(),m=a.x-u,v=h>0,w=!v;if(d>c.min[t]&&v){if(c.min[t]<=this.startPan[t])return a.moveTo(l,!0),!0;this._setPanWithFriction(t,d)}else if(d<c.max[t]&&w){if(this.startPan[t]<=c.max[t])return a.moveTo(l,!0),!0;this._setPanWithFriction(t,d)}else if(m!==0){if(m>0)return a.moveTo(Math.max(l,u),!0),!0;if(m<0)return a.moveTo(Math.min(l,u),!0),!0}else this._setPanWithFriction(t,d)}else t==="y"?!a.isShifted()&&c.min.y!==c.max.y&&this._setPanWithFriction(t,d):this._setPanWithFriction(t,d);return!1}_getVerticalDragRatio(t){var i,e;return(t-((i=(e=this.pswp.currSlide)===null||e===void 0?void 0:e.bounds.center.y)!==null&&i!==void 0?i:0))/(this.pswp.viewportSize.y/3)}_setPanWithFriction(t,i,e){const{currSlide:s}=this.pswp;if(!s)return;const{pan:n,bounds:o}=s;if(o.correctPan(t,i)!==i||e){const h=Math.round(i-n[t]);n[t]+=h*(e||Q)}else n[t]=i}}const et=.05,st=.15;function O(r,t,i){return r.x=(t.x+i.x)/2,r.y=(t.y+i.y)/2,r}class nt{constructor(t){this.gestures=t,this._startPan={x:0,y:0},this._startZoomPoint={x:0,y:0},this._zoomPoint={x:0,y:0},this._wasOverFitZoomLevel=!1,this._startZoomLevel=1}start(){const{currSlide:t}=this.gestures.pswp;t&&(this._startZoomLevel=t.currZoomLevel,p(this._startPan,t.pan)),this.gestures.pswp.animations.stopAllPan(),this._wasOverFitZoomLevel=!1}change(){const{p1:t,startP1:i,p2:e,startP2:s,pswp:n}=this.gestures,{currSlide:o}=n;if(!o)return;const a=o.zoomLevels.min,h=o.zoomLevels.max;if(!o.isZoomable()||n.mainScroll.isShifted())return;O(this._startZoomPoint,i,s),O(this._zoomPoint,t,e);let l=1/A(i,s)*A(t,e)*this._startZoomLevel;if(l>o.zoomLevels.initial+o.zoomLevels.initial/15&&(this._wasOverFitZoomLevel=!0),l<a)if(n.options.pinchToClose&&!this._wasOverFitZoomLevel&&this._startZoomLevel<=o.zoomLevels.initial){const c=1-(a-l)/(a/1.2);n.dispatch("pinchClose",{bgOpacity:c}).defaultPrevented||n.applyBgOpacity(c)}else l=a-(a-l)*st;else l>h&&(l=h+(l-h)*et);o.pan.x=this._calculatePanForZoomLevel("x",l),o.pan.y=this._calculatePanForZoomLevel("y",l),o.setZoomLevel(l),o.applyCurrentZoomPan()}end(){const{pswp:t}=this.gestures,{currSlide:i}=t;(!i||i.currZoomLevel<i.zoomLevels.initial)&&!this._wasOverFitZoomLevel&&t.options.pinchToClose?t.close():this.correctZoomPan()}_calculatePanForZoomLevel(t,i){const e=i/this._startZoomLevel;return this._zoomPoint[t]-(this._startZoomPoint[t]-this._startPan[t])*e}correctZoomPan(t){const{pswp:i}=this.gestures,{currSlide:e}=i;if(!(e!=null&&e.isZoomable()))return;this._zoomPoint.x===0&&(t=!0);const s=e.currZoomLevel;let n,o=!0;s<e.zoomLevels.initial?n=e.zoomLevels.initial:s>e.zoomLevels.max?n=e.zoomLevels.max:(o=!1,n=s);const a=i.bgOpacity,h=i.bgOpacity<1,l=p({x:0,y:0},e.pan);let c=p({x:0,y:0},l);t&&(this._zoomPoint.x=0,this._zoomPoint.y=0,this._startZoomPoint.x=0,this._startZoomPoint.y=0,this._startZoomLevel=s,p(this._startPan,l)),o&&(c={x:this._calculatePanForZoomLevel("x",n),y:this._calculatePanForZoomLevel("y",n)}),e.setZoomLevel(n),c={x:e.bounds.correctPan("x",c.x),y:e.bounds.correctPan("y",c.y)},e.setZoomLevel(s);const d=!x(c,l);if(!d&&!o&&!h){e._setResolution(n),e.applyCurrentZoomPan();return}i.animations.stopAllPan(),i.animations.startSpring({isPan:!0,start:0,end:1e3,velocity:0,dampingRatio:1,naturalFrequency:40,onUpdate:u=>{if(u/=1e3,d||o){if(d&&(e.pan.x=l.x+(c.x-l.x)*u,e.pan.y=l.y+(c.y-l.y)*u),o){const m=s+(n-s)*u;e.setZoomLevel(m)}e.applyCurrentZoomPan()}h&&i.bgOpacity<1&&i.applyBgOpacity(I(a+(1-a)*u,0,1))},onComplete:()=>{e._setResolution(n),e.applyCurrentZoomPan()}})}}function Z(r){return!!r.target.closest(".pswp__container")}class ot{constructor(t){this.gestures=t}click(t,i){const e=i.target.classList,s=e.contains("pswp__img"),n=e.contains("pswp__item")||e.contains("pswp__zoom-wrap");s?this._doClickOrTapAction("imageClick",t,i):n&&this._doClickOrTapAction("bgClick",t,i)}tap(t,i){Z(i)&&this._doClickOrTapAction("tap",t,i)}doubleTap(t,i){Z(i)&&this._doClickOrTapAction("doubleTap",t,i)}_doClickOrTapAction(t,i,e){var s;const{pswp:n}=this.gestures,{currSlide:o}=n,a=t+"Action",h=n.options[a];if(!n.dispatch(a,{point:i,originalEvent:e}).defaultPrevented){if(typeof h=="function"){h.call(n,i,e);return}switch(h){case"close":case"next":n[h]();break;case"zoom":o==null||o.toggleZoom(i);break;case"zoom-or-close":o!=null&&o.isZoomable()&&o.zoomLevels.secondary!==o.zoomLevels.initial?o.toggleZoom(i):n.options.clickToCloseNonZoomable&&n.close();break;case"toggle-controls":(s=this.gestures.pswp.element)===null||s===void 0||s.classList.toggle("pswp--ui-visible");break}}}}const rt=10,at=300,ht=25;class lt{constructor(t){this.pswp=t,this.dragAxis=null,this.p1={x:0,y:0},this.p2={x:0,y:0},this.prevP1={x:0,y:0},this.prevP2={x:0,y:0},this.startP1={x:0,y:0},this.startP2={x:0,y:0},this.velocity={x:0,y:0},this._lastStartP1={x:0,y:0},this._intervalP1={x:0,y:0},this._numActivePoints=0,this._ongoingPointers=[],this._touchEventEnabled="ontouchstart"in window,this._pointerEventEnabled=!!window.PointerEvent,this.supportsTouch=this._touchEventEnabled||this._pointerEventEnabled&&navigator.maxTouchPoints>1,this._numActivePoints=0,this._intervalTime=0,this._velocityCalculated=!1,this.isMultitouch=!1,this.isDragging=!1,this.isZooming=!1,this.raf=null,this._tapTimer=null,this.supportsTouch||(t.options.allowPanToNext=!1),this.drag=new it(this),this.zoomLevels=new nt(this),this.tapHandler=new ot(this),t.on("bindEvents",()=>{t.events.add(t.scrollWrap,"click",this._onClick.bind(this)),this._pointerEventEnabled?this._bindEvents("pointer","down","up","cancel"):this._touchEventEnabled?(this._bindEvents("touch","start","end","cancel"),t.scrollWrap&&(t.scrollWrap.ontouchmove=()=>{},t.scrollWrap.ontouchend=()=>{})):this._bindEvents("mouse","down","up")})}_bindEvents(t,i,e,s){const{pswp:n}=this,{events:o}=n,a=s?t+s:"";o.add(n.scrollWrap,t+i,this.onPointerDown.bind(this)),o.add(window,t+"move",this.onPointerMove.bind(this)),o.add(window,t+e,this.onPointerUp.bind(this)),a&&o.add(n.scrollWrap,a,this.onPointerUp.bind(this))}onPointerDown(t){const i=t.type==="mousedown"||t.pointerType==="mouse";if(i&&t.button>0)return;const{pswp:e}=this;if(!e.opener.isOpen){t.preventDefault();return}e.dispatch("pointerDown",{originalEvent:t}).defaultPrevented||(i&&(e.mouseDetected(),this._preventPointerEventBehaviour(t,"down")),e.animations.stopAll(),this._updatePoints(t,"down"),this._numActivePoints===1&&(this.dragAxis=null,p(this.startP1,this.p1)),this._numActivePoints>1?(this._clearTapTimer(),this.isMultitouch=!0):this.isMultitouch=!1)}onPointerMove(t){this._preventPointerEventBehaviour(t,"move"),this._numActivePoints&&(this._updatePoints(t,"move"),!this.pswp.dispatch("pointerMove",{originalEvent:t}).defaultPrevented&&(this._numActivePoints===1&&!this.isDragging?(this.dragAxis||this._calculateDragDirection(),this.dragAxis&&!this.isDragging&&(this.isZooming&&(this.isZooming=!1,this.zoomLevels.end()),this.isDragging=!0,this._clearTapTimer(),this._updateStartPoints(),this._intervalTime=Date.now(),this._velocityCalculated=!1,p(this._intervalP1,this.p1),this.velocity.x=0,this.velocity.y=0,this.drag.start(),this._rafStopLoop(),this._rafRenderLoop())):this._numActivePoints>1&&!this.isZooming&&(this._finishDrag(),this.isZooming=!0,this._updateStartPoints(),this.zoomLevels.start(),this._rafStopLoop(),this._rafRenderLoop())))}_finishDrag(){this.isDragging&&(this.isDragging=!1,this._velocityCalculated||this._updateVelocity(!0),this.drag.end(),this.dragAxis=null)}onPointerUp(t){this._numActivePoints&&(this._updatePoints(t,"up"),!this.pswp.dispatch("pointerUp",{originalEvent:t}).defaultPrevented&&(this._numActivePoints===0&&(this._rafStopLoop(),this.isDragging?this._finishDrag():!this.isZooming&&!this.isMultitouch&&this._finishTap(t)),this._numActivePoints<2&&this.isZooming&&(this.isZooming=!1,this.zoomLevels.end(),this._numActivePoints===1&&(this.dragAxis=null,this._updateStartPoints()))))}_rafRenderLoop(){(this.isDragging||this.isZooming)&&(this._updateVelocity(),this.isDragging?x(this.p1,this.prevP1)||this.drag.change():(!x(this.p1,this.prevP1)||!x(this.p2,this.prevP2))&&this.zoomLevels.change(),this._updatePrevPoints(),this.raf=requestAnimationFrame(this._rafRenderLoop.bind(this)))}_updateVelocity(t){const i=Date.now(),e=i-this._intervalTime;e<50&&!t||(this.velocity.x=this._getVelocity("x",e),this.velocity.y=this._getVelocity("y",e),this._intervalTime=i,p(this._intervalP1,this.p1),this._velocityCalculated=!0)}_finishTap(t){const{mainScroll:i}=this.pswp;if(i.isShifted()){i.moveIndexBy(0,!0);return}if(t.type.indexOf("cancel")>0)return;if(t.type==="mouseup"||t.pointerType==="mouse"){this.tapHandler.click(this.startP1,t);return}const e=this.pswp.options.doubleTapAction?at:0;this._tapTimer?(this._clearTapTimer(),A(this._lastStartP1,this.startP1)<ht&&this.tapHandler.doubleTap(this.startP1,t)):(p(this._lastStartP1,this.startP1),this._tapTimer=setTimeout(()=>{this.tapHandler.tap(this.startP1,t),this._clearTapTimer()},e))}_clearTapTimer(){this._tapTimer&&(clearTimeout(this._tapTimer),this._tapTimer=null)}_getVelocity(t,i){const e=this.p1[t]-this._intervalP1[t];return Math.abs(e)>1&&i>5?e/i:0}_rafStopLoop(){this.raf&&(cancelAnimationFrame(this.raf),this.raf=null)}_preventPointerEventBehaviour(t,i){this.pswp.applyFilters("preventPointerEvent",!0,t,i)&&t.preventDefault()}_updatePoints(t,i){if(this._pointerEventEnabled){const e=t,s=this._ongoingPointers.findIndex(n=>n.id===e.pointerId);i==="up"&&s>-1?this._ongoingPointers.splice(s,1):i==="down"&&s===-1?this._ongoingPointers.push(this._convertEventPosToPoint(e,{x:0,y:0})):s>-1&&this._convertEventPosToPoint(e,this._ongoingPointers[s]),this._numActivePoints=this._ongoingPointers.length,this._numActivePoints>0&&p(this.p1,this._ongoingPointers[0]),this._numActivePoints>1&&p(this.p2,this._ongoingPointers[1])}else{const e=t;this._numActivePoints=0,e.type.indexOf("touch")>-1?e.touches&&e.touches.length>0&&(this._convertEventPosToPoint(e.touches[0],this.p1),this._numActivePoints++,e.touches.length>1&&(this._convertEventPosToPoint(e.touches[1],this.p2),this._numActivePoints++)):(this._convertEventPosToPoint(t,this.p1),i==="up"?this._numActivePoints=0:this._numActivePoints++)}}_updatePrevPoints(){p(this.prevP1,this.p1),p(this.prevP2,this.p2)}_updateStartPoints(){p(this.startP1,this.p1),p(this.startP2,this.p2),this._updatePrevPoints()}_calculateDragDirection(){if(this.pswp.mainScroll.isShifted())this.dragAxis="x";else{const t=Math.abs(this.p1.x-this.startP1.x)-Math.abs(this.p1.y-this.startP1.y);if(t!==0){const i=t>0?"x":"y";Math.abs(this.p1[i]-this.startP1[i])>=rt&&(this.dragAxis=i)}}}_convertEventPosToPoint(t,i){return i.x=t.pageX-this.pswp.offset.x,i.y=t.pageY-this.pswp.offset.y,"pointerId"in t?i.id=t.pointerId:t.identifier!==void 0&&(i.id=t.identifier),i}_onClick(t){this.pswp.mainScroll.isShifted()&&(t.preventDefault(),t.stopPropagation())}}const ct=.35;class dt{constructor(t){this.pswp=t,this.x=0,this.slideWidth=0,this._currPositionIndex=0,this._prevPositionIndex=0,this._containerShiftIndex=-1,this.itemHolders=[]}resize(t){const{pswp:i}=this,e=Math.round(i.viewportSize.x+i.viewportSize.x*i.options.spacing),s=e!==this.slideWidth;s&&(this.slideWidth=e,this.moveTo(this.getCurrSlideX())),this.itemHolders.forEach((n,o)=>{s&&y(n.el,(o+this._containerShiftIndex)*this.slideWidth),t&&n.slide&&n.slide.resize()})}resetPosition(){this._currPositionIndex=0,this._prevPositionIndex=0,this.slideWidth=0,this._containerShiftIndex=-1}appendHolders(){this.itemHolders=[];for(let t=0;t<3;t++){const i=f("pswp__item","div",this.pswp.container);i.setAttribute("role","group"),i.setAttribute("aria-roledescription","slide"),i.setAttribute("aria-hidden","true"),i.style.display=t===1?"block":"none",this.itemHolders.push({el:i})}}canBeSwiped(){return this.pswp.getNumItems()>1}moveIndexBy(t,i,e){const{pswp:s}=this;let n=s.potentialIndex+t;const o=s.getNumItems();if(s.canLoop()){n=s.getLoopedIndex(n);const h=(t+o)%o;h<=o/2?t=h:t=h-o}else n<0?n=0:n>=o&&(n=o-1),t=n-s.potentialIndex;s.potentialIndex=n,this._currPositionIndex-=t,s.animations.stopMainScroll();const a=this.getCurrSlideX();if(!i)this.moveTo(a),this.updateCurrItem();else{s.animations.startSpring({isMainScroll:!0,start:this.x,end:a,velocity:e||0,naturalFrequency:30,dampingRatio:1,onUpdate:l=>{this.moveTo(l)},onComplete:()=>{this.updateCurrItem(),s.appendHeavy()}});let h=s.potentialIndex-s.currIndex;if(s.canLoop()){const l=(h+o)%o;l<=o/2?h=l:h=l-o}Math.abs(h)>1&&this.updateCurrItem()}return!!t}getCurrSlideX(){return this.slideWidth*this._currPositionIndex}isShifted(){return this.x!==this.getCurrSlideX()}updateCurrItem(){var t;const{pswp:i}=this,e=this._prevPositionIndex-this._currPositionIndex;if(!e)return;this._prevPositionIndex=this._currPositionIndex,i.currIndex=i.potentialIndex;let s=Math.abs(e),n;s>=3&&(this._containerShiftIndex+=e+(e>0?-3:3),s=3,this.itemHolders.forEach(o=>{var a;(a=o.slide)===null||a===void 0||a.destroy(),o.slide=void 0}));for(let o=0;o<s;o++)e>0?(n=this.itemHolders.shift(),n&&(this.itemHolders[2]=n,this._containerShiftIndex++,y(n.el,(this._containerShiftIndex+2)*this.slideWidth),i.setContent(n,i.currIndex-s+o+2))):(n=this.itemHolders.pop(),n&&(this.itemHolders.unshift(n),this._containerShiftIndex--,y(n.el,this._containerShiftIndex*this.slideWidth),i.setContent(n,i.currIndex+s-o-2)));Math.abs(this._containerShiftIndex)>50&&!this.isShifted()&&(this.resetPosition(),this.resize()),i.animations.stopAllPan(),this.itemHolders.forEach((o,a)=>{o.slide&&o.slide.setIsActive(a===1)}),i.currSlide=(t=this.itemHolders[1])===null||t===void 0?void 0:t.slide,i.contentLoader.updateLazy(e),i.currSlide&&i.currSlide.applyCurrentZoomPan(),i.dispatch("change")}moveTo(t,i){if(!this.pswp.canLoop()&&i){let e=(this.slideWidth*this._currPositionIndex-t)/this.slideWidth;e+=this.pswp.currIndex;const s=Math.round(t-this.x);(e<0&&s>0||e>=this.pswp.getNumItems()-1&&s<0)&&(t=this.x+s*ct)}this.x=t,this.pswp.container&&y(this.pswp.container,t),this.pswp.dispatch("moveMainScroll",{x:t,dragging:i??!1})}}const pt={Escape:27,z:90,ArrowLeft:37,ArrowUp:38,ArrowRight:39,ArrowDown:40,Tab:9},g=(r,t)=>t?r:pt[r];class ut{constructor(t){this.pswp=t,this._wasFocused=!1,t.on("bindEvents",()=>{t.options.trapFocus&&(t.options.initialPointerPos||this._focusRoot(),t.events.add(document,"focusin",this._onFocusIn.bind(this))),t.events.add(document,"keydown",this._onKeyDown.bind(this))});const i=document.activeElement;t.on("destroy",()=>{t.options.returnFocus&&i&&this._wasFocused&&i.focus()})}_focusRoot(){!this._wasFocused&&this.pswp.element&&(this.pswp.element.focus(),this._wasFocused=!0)}_onKeyDown(t){const{pswp:i}=this;if(i.dispatch("keydown",{originalEvent:t}).defaultPrevented||G(t))return;let e,s,n=!1;const o="key"in t;switch(o?t.key:t.keyCode){case g("Escape",o):i.options.escKey&&(e="close");break;case g("z",o):e="toggleZoom";break;case g("ArrowLeft",o):s="x";break;case g("ArrowUp",o):s="y";break;case g("ArrowRight",o):s="x",n=!0;break;case g("ArrowDown",o):n=!0,s="y";break;case g("Tab",o):this._focusRoot();break}if(s){t.preventDefault();const{currSlide:a}=i;i.options.arrowKeys&&s==="x"&&i.getNumItems()>1?e=n?"next":"prev":a&&a.currZoomLevel>a.zoomLevels.fit&&(a.pan[s]+=n?-80:80,a.panTo(a.pan.x,a.pan.y))}e&&(t.preventDefault(),i[e]())}_onFocusIn(t){const{template:i}=this.pswp;i&&document!==t.target&&i!==t.target&&!i.contains(t.target)&&i.focus()}}const mt="cubic-bezier(.4,0,.22,1)";class ft{constructor(t){var i;this.props=t;const{target:e,onComplete:s,transform:n,onFinish:o=()=>{},duration:a=333,easing:h=mt}=t;this.onFinish=o;const l=n?"transform":"opacity",c=(i=t[l])!==null&&i!==void 0?i:"";this._target=e,this._onComplete=s,this._finished=!1,this._onTransitionEnd=this._onTransitionEnd.bind(this),this._helperTimeout=setTimeout(()=>{R(e,l,a,h),this._helperTimeout=setTimeout(()=>{e.addEventListener("transitionend",this._onTransitionEnd,!1),e.addEventListener("transitioncancel",this._onTransitionEnd,!1),this._helperTimeout=setTimeout(()=>{this._finalizeAnimation()},a+500),e.style[l]=c},30)},0)}_onTransitionEnd(t){t.target===this._target&&this._finalizeAnimation()}_finalizeAnimation(){this._finished||(this._finished=!0,this.onFinish(),this._onComplete&&this._onComplete())}destroy(){this._helperTimeout&&clearTimeout(this._helperTimeout),U(this._target),this._target.removeEventListener("transitionend",this._onTransitionEnd,!1),this._target.removeEventListener("transitioncancel",this._onTransitionEnd,!1),this._finished||this._finalizeAnimation()}}const _t=12,vt=.75;class gt{constructor(t,i,e){this.velocity=t*1e3,this._dampingRatio=i||vt,this._naturalFrequency=e||_t,this._dampedFrequency=this._naturalFrequency,this._dampingRatio<1&&(this._dampedFrequency*=Math.sqrt(1-this._dampingRatio*this._dampingRatio))}easeFrame(t,i){let e=0,s;i/=1e3;const n=Math.E**(-this._dampingRatio*this._naturalFrequency*i);if(this._dampingRatio===1)s=this.velocity+this._naturalFrequency*t,e=(t+s*i)*n,this.velocity=e*-this._naturalFrequency+s*n;else if(this._dampingRatio<1){s=1/this._dampedFrequency*(this._dampingRatio*this._naturalFrequency*t+this.velocity);const o=Math.cos(this._dampedFrequency*i),a=Math.sin(this._dampedFrequency*i);e=n*(t*o+s*a),this.velocity=e*-this._naturalFrequency*this._dampingRatio+n*(-this._dampedFrequency*t*a+this._dampedFrequency*s*o)}return e}}class yt{constructor(t){this.props=t,this._raf=0;const{start:i,end:e,velocity:s,onUpdate:n,onComplete:o,onFinish:a=()=>{},dampingRatio:h,naturalFrequency:l}=t;this.onFinish=a;const c=new gt(s,h,l);let d=Date.now(),u=i-e;const m=()=>{this._raf&&(u=c.easeFrame(u,Date.now()-d),Math.abs(u)<1&&Math.abs(c.velocity)<50?(n(e),o&&o(),this.onFinish()):(d=Date.now(),n(u+e),this._raf=requestAnimationFrame(m)))};this._raf=requestAnimationFrame(m)}destroy(){this._raf>=0&&cancelAnimationFrame(this._raf),this._raf=0}}class wt{constructor(){this.activeAnimations=[]}startSpring(t){this._start(t,!0)}startTransition(t){this._start(t)}_start(t,i){const e=i?new yt(t):new ft(t);return this.activeAnimations.push(e),e.onFinish=()=>this.stop(e),e}stop(t){t.destroy();const i=this.activeAnimations.indexOf(t);i>-1&&this.activeAnimations.splice(i,1)}stopAll(){this.activeAnimations.forEach(t=>{t.destroy()}),this.activeAnimations=[]}stopAllPan(){this.activeAnimations=this.activeAnimations.filter(t=>t.props.isPan?(t.destroy(),!1):!0)}stopMainScroll(){this.activeAnimations=this.activeAnimations.filter(t=>t.props.isMainScroll?(t.destroy(),!1):!0)}isPanRunning(){return this.activeAnimations.some(t=>t.props.isPan)}}class Pt{constructor(t){this.pswp=t,t.events.add(t.element,"wheel",this._onWheel.bind(this))}_onWheel(t){t.preventDefault();const{currSlide:i}=this.pswp;let{deltaX:e,deltaY:s}=t;if(i&&!this.pswp.dispatch("wheel",{originalEvent:t}).defaultPrevented)if(t.ctrlKey||this.pswp.options.wheelToZoom){if(i.isZoomable()){let n=-s;t.deltaMode===1?n*=.05:n*=t.deltaMode?1:.002,n=2**n;const o=i.currZoomLevel*n;i.zoomTo(o,{x:t.clientX,y:t.clientY})}}else i.isPannable()&&(t.deltaMode===1&&(e*=18,s*=18),i.panTo(i.pan.x-e,i.pan.y-s))}}function St(r){if(typeof r=="string")return r;if(!r||!r.isCustomSVG)return"";const t=r;let i='<svg aria-hidden="true" class="pswp__icn" viewBox="0 0 %d %d" width="%d" height="%d">';return i=i.split("%d").join(t.size||32),t.outlineID&&(i+='<use class="pswp__icn-shadow" xlink:href="#'+t.outlineID+'"/>'),i+=t.inner,i+="</svg>",i}class xt{constructor(t,i){var e;const s=i.name||i.className;let n=i.html;if(t.options[s]===!1)return;typeof t.options[s+"SVG"]=="string"&&(n=t.options[s+"SVG"]),t.dispatch("uiElementCreate",{data:i});let o="";i.isButton?(o+="pswp__button ",o+=i.className||`pswp__button--${i.name}`):o+=i.className||`pswp__${i.name}`;let a=i.isButton?i.tagName||"button":i.tagName||"div";a=a.toLowerCase();const h=f(o,a);if(i.isButton){a==="button"&&(h.type="button");let{title:d}=i;const{ariaLabel:u}=i;typeof t.options[s+"Title"]=="string"&&(d=t.options[s+"Title"]),d&&(h.title=d);const m=u||d;m&&h.setAttribute("aria-label",m)}h.innerHTML=St(n),i.onInit&&i.onInit(h,t),i.onClick&&(h.onclick=d=>{typeof i.onClick=="string"?t[i.onClick]():typeof i.onClick=="function"&&i.onClick(d,h,t)});const l=i.appendTo||"bar";let c=t.element;l==="bar"?(t.topBar||(t.topBar=f("pswp__top-bar pswp__hide-on-close","div",t.scrollWrap)),c=t.topBar):(h.classList.add("pswp__hide-on-close"),l==="wrapper"&&(c=t.scrollWrap)),(e=c)===null||e===void 0||e.appendChild(t.applyFilters("uiElement",h,i))}}function k(r,t,i){r.classList.add("pswp__button--arrow"),r.setAttribute("aria-controls","pswp__items"),t.on("change",()=>{t.options.loop||(i?r.disabled=!(t.currIndex<t.getNumItems()-1):r.disabled=!(t.currIndex>0))})}const bt={name:"arrowPrev",className:"pswp__button--arrow--prev",title:"Previous",order:10,isButton:!0,appendTo:"wrapper",html:{isCustomSVG:!0,size:60,inner:'<path d="M29 43l-3 3-16-16 16-16 3 3-13 13 13 13z" id="pswp__icn-arrow"/>',outlineID:"pswp__icn-arrow"},onClick:"prev",onInit:k},It={name:"arrowNext",className:"pswp__button--arrow--next",title:"Next",order:11,isButton:!0,appendTo:"wrapper",html:{isCustomSVG:!0,size:60,inner:'<use xlink:href="#pswp__icn-arrow"/>',outlineID:"pswp__icn-arrow"},onClick:"next",onInit:(r,t)=>{k(r,t,!0)}},At={name:"close",title:"Close",order:20,isButton:!0,html:{isCustomSVG:!0,inner:'<path d="M24 10l-2-2-6 6-6-6-2 2 6 6-6 6 2 2 6-6 6 6 2-2-6-6z" id="pswp__icn-close"/>',outlineID:"pswp__icn-close"},onClick:"close"},Lt={name:"zoom",title:"Zoom",order:10,isButton:!0,html:{isCustomSVG:!0,inner:'<path d="M17.426 19.926a6 6 0 1 1 1.5-1.5L23 22.5 21.5 24l-4.074-4.074z" id="pswp__icn-zoom"/><path fill="currentColor" class="pswp__zoom-icn-bar-h" d="M11 16v-2h6v2z"/><path fill="currentColor" class="pswp__zoom-icn-bar-v" d="M13 12h2v6h-2z"/>',outlineID:"pswp__icn-zoom"},onClick:"toggleZoom"},Ct={name:"preloader",appendTo:"bar",order:7,html:{isCustomSVG:!0,inner:'<path fill-rule="evenodd" clip-rule="evenodd" d="M21.2 16a5.2 5.2 0 1 1-5.2-5.2V8a8 8 0 1 0 8 8h-2.8Z" id="pswp__icn-loading"/>',outlineID:"pswp__icn-loading"},onInit:(r,t)=>{let i,e=null;const s=(a,h)=>{r.classList.toggle("pswp__preloader--"+a,h)},n=a=>{i!==a&&(i=a,s("active",a))},o=()=>{var a;if(!((a=t.currSlide)!==null&&a!==void 0&&a.content.isLoading())){n(!1),e&&(clearTimeout(e),e=null);return}e||(e=setTimeout(()=>{var h;n(!!(!((h=t.currSlide)===null||h===void 0)&&h.content.isLoading())),e=null},t.options.preloaderDelay))};t.on("change",o),t.on("loadComplete",a=>{t.currSlide===a.slide&&o()}),t.ui&&(t.ui.updatePreloaderVisibility=o)}},Tt={name:"counter",order:5,onInit:(r,t)=>{t.on("change",()=>{r.innerText=t.currIndex+1+t.options.indexIndicatorSep+t.getNumItems()})}};function D(r,t){r.classList.toggle("pswp--zoomed-in",t)}class zt{constructor(t){this.pswp=t,this.isRegistered=!1,this.uiElementsData=[],this.items=[],this.updatePreloaderVisibility=()=>{},this._lastUpdatedZoomLevel=void 0}init(){const{pswp:t}=this;this.isRegistered=!1,this.uiElementsData=[At,bt,It,Lt,Ct,Tt],t.dispatch("uiRegister"),this.uiElementsData.sort((i,e)=>(i.order||0)-(e.order||0)),this.items=[],this.isRegistered=!0,this.uiElementsData.forEach(i=>{this.registerElement(i)}),t.on("change",()=>{var i;(i=t.element)===null||i===void 0||i.classList.toggle("pswp--one-slide",t.getNumItems()===1)}),t.on("zoomPanUpdate",()=>this._onZoomPanUpdate())}registerElement(t){this.isRegistered?this.items.push(new xt(this.pswp,t)):this.uiElementsData.push(t)}_onZoomPanUpdate(){const{template:t,currSlide:i,options:e}=this.pswp;if(this.pswp.opener.isClosing||!t||!i)return;let{currZoomLevel:s}=i;if(this.pswp.opener.isOpen||(s=i.zoomLevels.initial),s===this._lastUpdatedZoomLevel)return;this._lastUpdatedZoomLevel=s;const n=i.zoomLevels.initial-i.zoomLevels.secondary;if(Math.abs(n)<.01||!i.isZoomable()){D(t,!1),t.classList.remove("pswp--zoom-allowed");return}t.classList.add("pswp--zoom-allowed");const o=s===i.zoomLevels.initial?i.zoomLevels.secondary:i.zoomLevels.initial;D(t,o<=s),(e.imageClickAction==="zoom"||e.imageClickAction==="zoom-or-close")&&t.classList.add("pswp--click-to-zoom")}}function Et(r){const t=r.getBoundingClientRect();return{x:t.left,y:t.top,w:t.width}}function Ot(r,t,i){const e=r.getBoundingClientRect(),s=e.width/t,n=e.height/i,o=s>n?s:n,a=(e.width-t*o)/2,h=(e.height-i*o)/2,l={x:e.left+a,y:e.top+h,w:t*o};return l.innerRect={w:e.width,h:e.height,x:a,y:h},l}function Zt(r,t,i){const e=i.dispatch("thumbBounds",{index:r,itemData:t,instance:i});if(e.thumbBounds)return e.thumbBounds;const{element:s}=t;let n,o;if(s&&i.options.thumbSelector!==!1){const a=i.options.thumbSelector||"img";o=s.matches(a)?s:s.querySelector(a)}return o=i.applyFilters("thumbEl",o,t,r),o&&(t.thumbCropped?n=Ot(o,t.width||t.w||0,t.height||t.h||0):n=Et(o)),i.applyFilters("thumbBounds",n,t,r)}class Dt{constructor(t,i){this.type=t,this.defaultPrevented=!1,i&&Object.assign(this,i)}preventDefault(){this.defaultPrevented=!0}}class Mt{constructor(){this._listeners={},this._filters={},this.pswp=void 0,this.options=void 0}addFilter(t,i,e=100){var s,n,o;this._filters[t]||(this._filters[t]=[]),(s=this._filters[t])===null||s===void 0||s.push({fn:i,priority:e}),(n=this._filters[t])===null||n===void 0||n.sort((a,h)=>a.priority-h.priority),(o=this.pswp)===null||o===void 0||o.addFilter(t,i,e)}removeFilter(t,i){this._filters[t]&&(this._filters[t]=this._filters[t].filter(e=>e.fn!==i)),this.pswp&&this.pswp.removeFilter(t,i)}applyFilters(t,...i){var e;return(e=this._filters[t])===null||e===void 0||e.forEach(s=>{i[0]=s.fn.apply(this,i)}),i[0]}on(t,i){var e,s;this._listeners[t]||(this._listeners[t]=[]),(e=this._listeners[t])===null||e===void 0||e.push(i),(s=this.pswp)===null||s===void 0||s.on(t,i)}off(t,i){var e;this._listeners[t]&&(this._listeners[t]=this._listeners[t].filter(s=>i!==s)),(e=this.pswp)===null||e===void 0||e.off(t,i)}dispatch(t,i){var e;if(this.pswp)return this.pswp.dispatch(t,i);const s=new Dt(t,i);return(e=this._listeners[t])===null||e===void 0||e.forEach(n=>{n.call(this,s)}),s}}class Rt{constructor(t,i){if(this.element=f("pswp__img pswp__img--placeholder",t?"img":"div",i),t){const e=this.element;e.decoding="async",e.alt="",e.src=t,e.setAttribute("role","presentation")}this.element.setAttribute("aria-hidden","true")}setDisplayedSize(t,i){this.element&&(this.element.tagName==="IMG"?(L(this.element,250,"auto"),this.element.style.transformOrigin="0 0",this.element.style.transform=b(0,0,t/250)):L(this.element,t,i))}destroy(){var t;(t=this.element)!==null&&t!==void 0&&t.parentNode&&this.element.remove(),this.element=null}}class Ft{constructor(t,i,e){this.instance=i,this.data=t,this.index=e,this.element=void 0,this.placeholder=void 0,this.slide=void 0,this.displayedImageWidth=0,this.displayedImageHeight=0,this.width=Number(this.data.w)||Number(this.data.width)||0,this.height=Number(this.data.h)||Number(this.data.height)||0,this.isAttached=!1,this.hasSlide=!1,this.isDecoding=!1,this.state=_.IDLE,this.data.type?this.type=this.data.type:this.data.src?this.type="image":this.type="html",this.instance.dispatch("contentInit",{content:this})}removePlaceholder(){this.placeholder&&!this.keepPlaceholder()&&setTimeout(()=>{this.placeholder&&(this.placeholder.destroy(),this.placeholder=void 0)},1e3)}load(t,i){if(this.slide&&this.usePlaceholder())if(this.placeholder){const e=this.placeholder.element;e&&!e.parentElement&&this.slide.container.prepend(e)}else{const e=this.instance.applyFilters("placeholderSrc",this.data.msrc&&this.slide.isFirstSlide?this.data.msrc:!1,this);this.placeholder=new Rt(e,this.slide.container)}this.element&&!i||this.instance.dispatch("contentLoad",{content:this,isLazy:t}).defaultPrevented||(this.isImageContent()?(this.element=f("pswp__img","img"),this.displayedImageWidth&&this.loadImage(t)):(this.element=f("pswp__content","div"),this.element.innerHTML=this.data.html||""),i&&this.slide&&this.slide.updateContentSize(!0))}loadImage(t){var i,e;if(!this.isImageContent()||!this.element||this.instance.dispatch("contentLoadImage",{content:this,isLazy:t}).defaultPrevented)return;const s=this.element;this.updateSrcsetSizes(),this.data.srcset&&(s.srcset=this.data.srcset),s.src=(i=this.data.src)!==null&&i!==void 0?i:"",s.alt=(e=this.data.alt)!==null&&e!==void 0?e:"",this.state=_.LOADING,s.complete?this.onLoaded():(s.onload=()=>{this.onLoaded()},s.onerror=()=>{this.onError()})}setSlide(t){this.slide=t,this.hasSlide=!0,this.instance=t.pswp}onLoaded(){this.state=_.LOADED,this.slide&&this.element&&(this.instance.dispatch("loadComplete",{slide:this.slide,content:this}),this.slide.isActive&&this.slide.heavyAppended&&!this.element.parentNode&&(this.append(),this.slide.updateContentSize(!0)),(this.state===_.LOADED||this.state===_.ERROR)&&this.removePlaceholder())}onError(){this.state=_.ERROR,this.slide&&(this.displayError(),this.instance.dispatch("loadComplete",{slide:this.slide,isError:!0,content:this}),this.instance.dispatch("loadError",{slide:this.slide,content:this}))}isLoading(){return this.instance.applyFilters("isContentLoading",this.state===_.LOADING,this)}isError(){return this.state===_.ERROR}isImageContent(){return this.type==="image"}setDisplayedSize(t,i){if(this.element&&(this.placeholder&&this.placeholder.setDisplayedSize(t,i),!this.instance.dispatch("contentResize",{content:this,width:t,height:i}).defaultPrevented&&(L(this.element,t,i),this.isImageContent()&&!this.isError()))){const e=!this.displayedImageWidth&&t;this.displayedImageWidth=t,this.displayedImageHeight=i,e?this.loadImage(!1):this.updateSrcsetSizes(),this.slide&&this.instance.dispatch("imageSizeChange",{slide:this.slide,width:t,height:i,content:this})}}isZoomable(){return this.instance.applyFilters("isContentZoomable",this.isImageContent()&&this.state!==_.ERROR,this)}updateSrcsetSizes(){if(!this.isImageContent()||!this.element||!this.data.srcset)return;const t=this.element,i=this.instance.applyFilters("srcsetSizesWidth",this.displayedImageWidth,this);(!t.dataset.largestUsedSize||i>parseInt(t.dataset.largestUsedSize,10))&&(t.sizes=i+"px",t.dataset.largestUsedSize=String(i))}usePlaceholder(){return this.instance.applyFilters("useContentPlaceholder",this.isImageContent(),this)}lazyLoad(){this.instance.dispatch("contentLazyLoad",{content:this}).defaultPrevented||this.load(!0)}keepPlaceholder(){return this.instance.applyFilters("isKeepingPlaceholder",this.isLoading(),this)}destroy(){this.hasSlide=!1,this.slide=void 0,!this.instance.dispatch("contentDestroy",{content:this}).defaultPrevented&&(this.remove(),this.placeholder&&(this.placeholder.destroy(),this.placeholder=void 0),this.isImageContent()&&this.element&&(this.element.onload=null,this.element.onerror=null,this.element=void 0))}displayError(){if(this.slide){var t,i;let e=f("pswp__error-msg","div");e.innerText=(t=(i=this.instance.options)===null||i===void 0?void 0:i.errorMsg)!==null&&t!==void 0?t:"",e=this.instance.applyFilters("contentErrorElement",e,this),this.element=f("pswp__content pswp__error-msg-container","div"),this.element.appendChild(e),this.slide.container.innerText="",this.slide.container.appendChild(this.element),this.slide.updateContentSize(!0),this.removePlaceholder()}}append(){if(this.isAttached||!this.element)return;if(this.isAttached=!0,this.state===_.ERROR){this.displayError();return}if(this.instance.dispatch("contentAppend",{content:this}).defaultPrevented)return;const t="decode"in this.element;this.isImageContent()?t&&this.slide&&(!this.slide.isActive||C())?(this.isDecoding=!0,this.element.decode().catch(()=>{}).finally(()=>{this.isDecoding=!1,this.appendImage()})):this.appendImage():this.slide&&!this.element.parentNode&&this.slide.container.appendChild(this.element)}activate(){this.instance.dispatch("contentActivate",{content:this}).defaultPrevented||!this.slide||(this.isImageContent()&&this.isDecoding&&!C()?this.appendImage():this.isError()&&this.load(!1,!0),this.slide.holderElement&&this.slide.holderElement.setAttribute("aria-hidden","false"))}deactivate(){this.instance.dispatch("contentDeactivate",{content:this}),this.slide&&this.slide.holderElement&&this.slide.holderElement.setAttribute("aria-hidden","true")}remove(){this.isAttached=!1,!this.instance.dispatch("contentRemove",{content:this}).defaultPrevented&&(this.element&&this.element.parentNode&&this.element.remove(),this.placeholder&&this.placeholder.element&&this.placeholder.element.remove())}appendImage(){this.isAttached&&(this.instance.dispatch("contentAppendImage",{content:this}).defaultPrevented||(this.slide&&this.element&&!this.element.parentNode&&this.slide.container.appendChild(this.element),(this.state===_.LOADED||this.state===_.ERROR)&&this.removePlaceholder()))}}const Bt=5;function W(r,t,i){const e=t.createContentFromData(r,i);let s;const{options:n}=t;if(n){s=new H(n,r,-1);let o;t.pswp?o=t.pswp.viewportSize:o=B(n,t);const a=N(n,o,r,i);s.update(e.width,e.height,a)}return e.lazyLoad(),s&&e.setDisplayedSize(Math.ceil(e.width*s.initial),Math.ceil(e.height*s.initial)),e}function Nt(r,t){const i=t.getItemData(r);if(!t.dispatch("lazyLoadSlide",{index:r,itemData:i}).defaultPrevented)return W(i,t,r)}class Ht{constructor(t){this.pswp=t,this.limit=Math.max(t.options.preload[0]+t.options.preload[1]+1,Bt),this._cachedItems=[]}updateLazy(t){const{pswp:i}=this;if(i.dispatch("lazyLoad").defaultPrevented)return;const{preload:e}=i.options,s=t===void 0?!0:t>=0;let n;for(n=0;n<=e[1];n++)this.loadSlideByIndex(i.currIndex+(s?n:-n));for(n=1;n<=e[0];n++)this.loadSlideByIndex(i.currIndex+(s?-n:n))}loadSlideByIndex(t){const i=this.pswp.getLoopedIndex(t);let e=this.getContentByIndex(i);e||(e=Nt(i,this.pswp),e&&this.addToCache(e))}getContentBySlide(t){let i=this.getContentByIndex(t.index);return i||(i=this.pswp.createContentFromData(t.data,t.index),this.addToCache(i)),i.setSlide(t),i}addToCache(t){if(this.removeByIndex(t.index),this._cachedItems.push(t),this._cachedItems.length>this.limit){const i=this._cachedItems.findIndex(e=>!e.isAttached&&!e.hasSlide);i!==-1&&this._cachedItems.splice(i,1)[0].destroy()}}removeByIndex(t){const i=this._cachedItems.findIndex(e=>e.index===t);i!==-1&&this._cachedItems.splice(i,1)}getContentByIndex(t){return this._cachedItems.find(i=>i.index===t)}destroy(){this._cachedItems.forEach(t=>t.destroy()),this._cachedItems=[]}}class kt extends Mt{getNumItems(){var t;let i=0;const e=(t=this.options)===null||t===void 0?void 0:t.dataSource;e&&"length"in e?i=e.length:e&&"gallery"in e&&(e.items||(e.items=this._getGalleryDOMElements(e.gallery)),e.items&&(i=e.items.length));const s=this.dispatch("numItems",{dataSource:e,numItems:i});return this.applyFilters("numItems",s.numItems,e)}createContentFromData(t,i){return new Ft(t,this,i)}getItemData(t){var i;const e=(i=this.options)===null||i===void 0?void 0:i.dataSource;let s={};Array.isArray(e)?s=e[t]:e&&"gallery"in e&&(e.items||(e.items=this._getGalleryDOMElements(e.gallery)),s=e.items[t]);let n=s;n instanceof Element&&(n=this._domElementToItemData(n));const o=this.dispatch("itemData",{itemData:n||{},index:t});return this.applyFilters("itemData",o.itemData,t)}_getGalleryDOMElements(t){var i,e;return(i=this.options)!==null&&i!==void 0&&i.children||(e=this.options)!==null&&e!==void 0&&e.childSelector?K(this.options.children,this.options.childSelector,t)||[]:[t]}_domElementToItemData(t){const i={element:t},e=t.tagName==="A"?t:t.querySelector("a");if(e){i.src=e.dataset.pswpSrc||e.href,e.dataset.pswpSrcset&&(i.srcset=e.dataset.pswpSrcset),i.width=e.dataset.pswpWidth?parseInt(e.dataset.pswpWidth,10):0,i.height=e.dataset.pswpHeight?parseInt(e.dataset.pswpHeight,10):0,i.w=i.width,i.h=i.height,e.dataset.pswpType&&(i.type=e.dataset.pswpType);const n=t.querySelector("img");if(n){var s;i.msrc=n.currentSrc||n.src,i.alt=(s=n.getAttribute("alt"))!==null&&s!==void 0?s:""}(e.dataset.pswpCropped||e.dataset.cropped)&&(i.thumbCropped=!0)}return this.applyFilters("domItemData",i,t,e)}lazyLoadData(t,i){return W(t,this,i)}}const P=.003;class Wt{constructor(t){this.pswp=t,this.isClosed=!0,this.isOpen=!1,this.isClosing=!1,this.isOpening=!1,this._duration=void 0,this._useAnimation=!1,this._croppedZoom=!1,this._animateRootOpacity=!1,this._animateBgOpacity=!1,this._placeholder=void 0,this._opacityElement=void 0,this._cropContainer1=void 0,this._cropContainer2=void 0,this._thumbBounds=void 0,this._prepareOpen=this._prepareOpen.bind(this),t.on("firstZoomPan",this._prepareOpen)}open(){this._prepareOpen(),this._start()}close(){if(this.isClosed||this.isClosing||this.isOpening)return;const t=this.pswp.currSlide;this.isOpen=!1,this.isOpening=!1,this.isClosing=!0,this._duration=this.pswp.options.hideAnimationDuration,t&&t.currZoomLevel*t.width>=this.pswp.options.maxWidthToAnimate&&(this._duration=0),this._applyStartProps(),setTimeout(()=>{this._start()},this._croppedZoom?30:0)}_prepareOpen(){if(this.pswp.off("firstZoomPan",this._prepareOpen),!this.isOpening){const t=this.pswp.currSlide;this.isOpening=!0,this.isClosing=!1,this._duration=this.pswp.options.showAnimationDuration,t&&t.zoomLevels.initial*t.width>=this.pswp.options.maxWidthToAnimate&&(this._duration=0),this._applyStartProps()}}_applyStartProps(){const{pswp:t}=this,i=this.pswp.currSlide,{options:e}=t;if(e.showHideAnimationType==="fade"?(e.showHideOpacity=!0,this._thumbBounds=void 0):e.showHideAnimationType==="none"?(e.showHideOpacity=!1,this._duration=0,this._thumbBounds=void 0):this.isOpening&&t._initialThumbBounds?this._thumbBounds=t._initialThumbBounds:this._thumbBounds=this.pswp.getThumbBounds(),this._placeholder=i==null?void 0:i.getPlaceholderElement(),t.animations.stopAll(),this._useAnimation=!!(this._duration&&this._duration>50),this._animateZoom=!!this._thumbBounds&&(i==null?void 0:i.content.usePlaceholder())&&(!this.isClosing||!t.mainScroll.isShifted()),!this._animateZoom)this._animateRootOpacity=!0,this.isOpening&&i&&(i.zoomAndPanToInitial(),i.applyCurrentZoomPan());else{var s;this._animateRootOpacity=(s=e.showHideOpacity)!==null&&s!==void 0?s:!1}if(this._animateBgOpacity=!this._animateRootOpacity&&this.pswp.options.bgOpacity>P,this._opacityElement=this._animateRootOpacity?t.element:t.bg,!this._useAnimation){this._duration=0,this._animateZoom=!1,this._animateBgOpacity=!1,this._animateRootOpacity=!0,this.isOpening&&(t.element&&(t.element.style.opacity=String(P)),t.applyBgOpacity(1));return}if(this._animateZoom&&this._thumbBounds&&this._thumbBounds.innerRect){var n;this._croppedZoom=!0,this._cropContainer1=this.pswp.container,this._cropContainer2=(n=this.pswp.currSlide)===null||n===void 0?void 0:n.holderElement,t.container&&(t.container.style.overflow="hidden",t.container.style.width=t.viewportSize.x+"px")}else this._croppedZoom=!1;this.isOpening?(this._animateRootOpacity?(t.element&&(t.element.style.opacity=String(P)),t.applyBgOpacity(1)):(this._animateBgOpacity&&t.bg&&(t.bg.style.opacity=String(P)),t.element&&(t.element.style.opacity="1")),this._animateZoom&&(this._setClosedStateZoomPan(),this._placeholder&&(this._placeholder.style.willChange="transform",this._placeholder.style.opacity=String(P)))):this.isClosing&&(t.mainScroll.itemHolders[0]&&(t.mainScroll.itemHolders[0].el.style.display="none"),t.mainScroll.itemHolders[2]&&(t.mainScroll.itemHolders[2].el.style.display="none"),this._croppedZoom&&t.mainScroll.x!==0&&(t.mainScroll.resetPosition(),t.mainScroll.resize()))}_start(){this.isOpening&&this._useAnimation&&this._placeholder&&this._placeholder.tagName==="IMG"?new Promise(t=>{let i=!1,e=!0;q(this._placeholder).finally(()=>{i=!0,e||t(!0)}),setTimeout(()=>{e=!1,i&&t(!0)},50),setTimeout(t,250)}).finally(()=>this._initiate()):this._initiate()}_initiate(){var t,i;(t=this.pswp.element)===null||t===void 0||t.style.setProperty("--pswp-transition-duration",this._duration+"ms"),this.pswp.dispatch(this.isOpening?"openingAnimationStart":"closingAnimationStart"),this.pswp.dispatch("initialZoom"+(this.isOpening?"In":"Out")),(i=this.pswp.element)===null||i===void 0||i.classList.toggle("pswp--ui-visible",this.isOpening),this.isOpening?(this._placeholder&&(this._placeholder.style.opacity="1"),this._animateToOpenState()):this.isClosing&&this._animateToClosedState(),this._useAnimation||this._onAnimationComplete()}_onAnimationComplete(){const{pswp:t}=this;if(this.isOpen=this.isOpening,this.isClosed=this.isClosing,this.isOpening=!1,this.isClosing=!1,t.dispatch(this.isOpen?"openingAnimationEnd":"closingAnimationEnd"),t.dispatch("initialZoom"+(this.isOpen?"InEnd":"OutEnd")),this.isClosed)t.destroy();else if(this.isOpen){var i;this._animateZoom&&t.container&&(t.container.style.overflow="visible",t.container.style.width="100%"),(i=t.currSlide)===null||i===void 0||i.applyCurrentZoomPan()}}_animateToOpenState(){const{pswp:t}=this;this._animateZoom&&(this._croppedZoom&&this._cropContainer1&&this._cropContainer2&&(this._animateTo(this._cropContainer1,"transform","translate3d(0,0,0)"),this._animateTo(this._cropContainer2,"transform","none")),t.currSlide&&(t.currSlide.zoomAndPanToInitial(),this._animateTo(t.currSlide.container,"transform",t.currSlide.getCurrentTransform()))),this._animateBgOpacity&&t.bg&&this._animateTo(t.bg,"opacity",String(t.options.bgOpacity)),this._animateRootOpacity&&t.element&&this._animateTo(t.element,"opacity","1")}_animateToClosedState(){const{pswp:t}=this;this._animateZoom&&this._setClosedStateZoomPan(!0),this._animateBgOpacity&&t.bgOpacity>.01&&t.bg&&this._animateTo(t.bg,"opacity","0"),this._animateRootOpacity&&t.element&&this._animateTo(t.element,"opacity","0")}_setClosedStateZoomPan(t){if(!this._thumbBounds)return;const{pswp:i}=this,{innerRect:e}=this._thumbBounds,{currSlide:s,viewportSize:n}=i;if(this._croppedZoom&&e&&this._cropContainer1&&this._cropContainer2){const o=-n.x+(this._thumbBounds.x-e.x)+e.w,a=-n.y+(this._thumbBounds.y-e.y)+e.h,h=n.x-e.w,l=n.y-e.h;t?(this._animateTo(this._cropContainer1,"transform",b(o,a)),this._animateTo(this._cropContainer2,"transform",b(h,l))):(y(this._cropContainer1,o,a),y(this._cropContainer2,h,l))}s&&(p(s.pan,e||this._thumbBounds),s.currZoomLevel=this._thumbBounds.w/s.width,t?this._animateTo(s.container,"transform",s.getCurrentTransform()):s.applyCurrentZoomPan())}_animateTo(t,i,e){if(!this._duration){t.style[i]=e;return}const{animations:s}=this.pswp,n={duration:this._duration,easing:this.pswp.options.easing,onComplete:()=>{s.activeAnimations.length||this._onAnimationComplete()},target:t};n[i]=e,s.startTransition(n)}}const Vt={allowPanToNext:!0,spacing:.1,loop:!0,pinchToClose:!0,closeOnVerticalDrag:!0,hideAnimationDuration:333,showAnimationDuration:333,zoomAnimationDuration:333,escKey:!0,arrowKeys:!0,trapFocus:!0,returnFocus:!0,maxWidthToAnimate:4e3,clickToCloseNonZoomable:!0,imageClickAction:"zoom-or-close",bgClickAction:"close",tapAction:"toggle-controls",doubleTapAction:"zoom",indexIndicatorSep:" / ",preloaderDelay:2e3,bgOpacity:.8,index:0,errorMsg:"The image cannot be loaded",preload:[1,2],easing:"cubic-bezier(.4,0,.22,1)"};class $t extends kt{constructor(t){super(),this.options=this._prepareOptions(t||{}),this.offset={x:0,y:0},this._prevViewportSize={x:0,y:0},this.viewportSize={x:0,y:0},this.bgOpacity=1,this.currIndex=0,this.potentialIndex=0,this.isOpen=!1,this.isDestroying=!1,this.hasMouse=!1,this._initialItemData={},this._initialThumbBounds=void 0,this.topBar=void 0,this.element=void 0,this.template=void 0,this.container=void 0,this.scrollWrap=void 0,this.currSlide=void 0,this.events=new X,this.animations=new wt,this.mainScroll=new dt(this),this.gestures=new lt(this),this.opener=new Wt(this),this.keyboard=new ut(this),this.contentLoader=new Ht(this)}init(){if(this.isOpen||this.isDestroying)return!1;this.isOpen=!0,this.dispatch("init"),this.dispatch("beforeOpen"),this._createMainStructure();let t="pswp--open";return this.gestures.supportsTouch&&(t+=" pswp--touch"),this.options.mainClass&&(t+=" "+this.options.mainClass),this.element&&(this.element.className+=" "+t),this.currIndex=this.options.index||0,this.potentialIndex=this.currIndex,this.dispatch("firstUpdate"),this.scrollWheel=new Pt(this),(Number.isNaN(this.currIndex)||this.currIndex<0||this.currIndex>=this.getNumItems())&&(this.currIndex=0),this.gestures.supportsTouch||this.mouseDetected(),this.updateSize(),this.offset.y=window.pageYOffset,this._initialItemData=this.getItemData(this.currIndex),this.dispatch("gettingData",{index:this.currIndex,data:this._initialItemData,slide:void 0}),this._initialThumbBounds=this.getThumbBounds(),this.dispatch("initialLayout"),this.on("openingAnimationEnd",()=>{const{itemHolders:i}=this.mainScroll;i[0]&&(i[0].el.style.display="block",this.setContent(i[0],this.currIndex-1)),i[2]&&(i[2].el.style.display="block",this.setContent(i[2],this.currIndex+1)),this.appendHeavy(),this.contentLoader.updateLazy(),this.events.add(window,"resize",this._handlePageResize.bind(this)),this.events.add(window,"scroll",this._updatePageScrollOffset.bind(this)),this.dispatch("bindEvents")}),this.mainScroll.itemHolders[1]&&this.setContent(this.mainScroll.itemHolders[1],this.currIndex),this.dispatch("change"),this.opener.open(),this.dispatch("afterInit"),!0}getLoopedIndex(t){const i=this.getNumItems();return this.options.loop&&(t>i-1&&(t-=i),t<0&&(t+=i)),I(t,0,i-1)}appendHeavy(){this.mainScroll.itemHolders.forEach(t=>{var i;(i=t.slide)===null||i===void 0||i.appendHeavy()})}goTo(t){this.mainScroll.moveIndexBy(this.getLoopedIndex(t)-this.potentialIndex)}next(){this.goTo(this.potentialIndex+1)}prev(){this.goTo(this.potentialIndex-1)}zoomTo(...t){var i;(i=this.currSlide)===null||i===void 0||i.zoomTo(...t)}toggleZoom(){var t;(t=this.currSlide)===null||t===void 0||t.toggleZoom()}close(){!this.opener.isOpen||this.isDestroying||(this.isDestroying=!0,this.dispatch("close"),this.events.removeAll(),this.opener.close())}destroy(){var t;if(!this.isDestroying){this.options.showHideAnimationType="none",this.close();return}this.dispatch("destroy"),this._listeners={},this.scrollWrap&&(this.scrollWrap.ontouchmove=null,this.scrollWrap.ontouchend=null),(t=this.element)===null||t===void 0||t.remove(),this.mainScroll.itemHolders.forEach(i=>{var e;(e=i.slide)===null||e===void 0||e.destroy()}),this.contentLoader.destroy(),this.events.removeAll()}refreshSlideContent(t){this.contentLoader.removeByIndex(t),this.mainScroll.itemHolders.forEach((i,e)=>{var s,n;let o=((s=(n=this.currSlide)===null||n===void 0?void 0:n.index)!==null&&s!==void 0?s:0)-1+e;if(this.canLoop()&&(o=this.getLoopedIndex(o)),o===t&&(this.setContent(i,t,!0),e===1)){var a;this.currSlide=i.slide,(a=i.slide)===null||a===void 0||a.setIsActive(!0)}}),this.dispatch("change")}setContent(t,i,e){if(this.canLoop()&&(i=this.getLoopedIndex(i)),t.slide){if(t.slide.index===i&&!e)return;t.slide.destroy(),t.slide=void 0}if(!this.canLoop()&&(i<0||i>=this.getNumItems()))return;const s=this.getItemData(i);t.slide=new j(s,i,this),i===this.currIndex&&(this.currSlide=t.slide),t.slide.append(t.el)}getViewportCenterPoint(){return{x:this.viewportSize.x/2,y:this.viewportSize.y/2}}updateSize(t){if(this.isDestroying)return;const i=B(this.options,this);!t&&x(i,this._prevViewportSize)||(p(this._prevViewportSize,i),this.dispatch("beforeResize"),p(this.viewportSize,this._prevViewportSize),this._updatePageScrollOffset(),this.dispatch("viewportSize"),this.mainScroll.resize(this.opener.isOpen),!this.hasMouse&&window.matchMedia("(any-hover: hover)").matches&&this.mouseDetected(),this.dispatch("resize"))}applyBgOpacity(t){this.bgOpacity=Math.max(t,0),this.bg&&(this.bg.style.opacity=String(this.bgOpacity*this.options.bgOpacity))}mouseDetected(){if(!this.hasMouse){var t;this.hasMouse=!0,(t=this.element)===null||t===void 0||t.classList.add("pswp--has_mouse")}}_handlePageResize(){this.updateSize(),/iPhone|iPad|iPod/i.test(window.navigator.userAgent)&&setTimeout(()=>{this.updateSize()},500)}_updatePageScrollOffset(){this.setScrollOffset(0,window.pageYOffset)}setScrollOffset(t,i){this.offset.x=t,this.offset.y=i,this.dispatch("updateScrollOffset")}_createMainStructure(){this.element=f("pswp","div"),this.element.setAttribute("tabindex","-1"),this.element.setAttribute("role","dialog"),this.template=this.element,this.bg=f("pswp__bg","div",this.element),this.scrollWrap=f("pswp__scroll-wrap","section",this.element),this.container=f("pswp__container","div",this.scrollWrap),this.scrollWrap.setAttribute("aria-roledescription","carousel"),this.container.setAttribute("aria-live","off"),this.container.setAttribute("id","pswp__items"),this.mainScroll.appendHolders(),this.ui=new zt(this),this.ui.init(),(this.options.appendToEl||document.body).appendChild(this.element)}getThumbBounds(){return Zt(this.currIndex,this.currSlide?this.currSlide.data:this._initialItemData,this)}canLoop(){return this.options.loop&&this.getNumItems()>2}_prepareOptions(t){return window.matchMedia("(prefers-reduced-motion), (update: slow)").matches&&(t.showHideAnimationType="none",t.zoomAnimationDuration=0),{...Vt,...t}}}export{$t as default};
diff --git a/assets/photoswipe.esm-SzV8tJDW.js b/assets/photoswipe.esm-SzV8tJDW.js
deleted file mode 100644
index 4048314..0000000
--- a/assets/photoswipe.esm-SzV8tJDW.js
+++ /dev/null
@@ -1,4 +0,0 @@
-/*!
-  * PhotoSwipe 5.4.3 - https://photoswipe.com
-  * (c) 2023 Dmytro Semenov
-  */function f(r,t,i){const e=document.createElement(t);return r&&(e.className=r),i&&i.appendChild(e),e}function p(r,t){return r.x=t.x,r.y=t.y,t.id!==void 0&&(r.id=t.id),r}function M(r){r.x=Math.round(r.x),r.y=Math.round(r.y)}function A(r,t){const i=Math.abs(r.x-t.x),e=Math.abs(r.y-t.y);return Math.sqrt(i*i+e*e)}function x(r,t){return r.x===t.x&&r.y===t.y}function I(r,t,i){return Math.min(Math.max(r,t),i)}function b(r,t,i){let e=`translate3d(${r}px,${t||0}px,0)`;return i!==void 0&&(e+=` scale3d(${i},${i},1)`),e}function y(r,t,i,e){r.style.transform=b(t,i,e)}const $="cubic-bezier(.4,0,.22,1)";function R(r,t,i,e){r.style.transition=t?`${t} ${i}ms ${e||$}`:"none"}function L(r,t,i){r.style.width=typeof t=="number"?`${t}px`:t,r.style.height=typeof i=="number"?`${i}px`:i}function U(r){R(r)}function q(r){return"decode"in r?r.decode().catch(()=>{}):r.complete?Promise.resolve(r):new Promise((t,i)=>{r.onload=()=>t(r),r.onerror=i})}const _={IDLE:"idle",LOADING:"loading",LOADED:"loaded",ERROR:"error"};function G(r){return"button"in r&&r.button===1||r.ctrlKey||r.metaKey||r.altKey||r.shiftKey}function K(r,t,i=document){let e=[];if(r instanceof Element)e=[r];else if(r instanceof NodeList||Array.isArray(r))e=Array.from(r);else{const s=typeof r=="string"?r:t;s&&(e=Array.from(i.querySelectorAll(s)))}return e}function C(){return!!(navigator.vendor&&navigator.vendor.match(/apple/i))}let F=!1;try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>{F=!0}}))}catch{}class X{constructor(){this._pool=[]}add(t,i,e,s){this._toggleListener(t,i,e,s)}remove(t,i,e,s){this._toggleListener(t,i,e,s,!0)}removeAll(){this._pool.forEach(t=>{this._toggleListener(t.target,t.type,t.listener,t.passive,!0,!0)}),this._pool=[]}_toggleListener(t,i,e,s,n,o){if(!t)return;const a=n?"removeEventListener":"addEventListener";i.split(" ").forEach(l=>{if(l){o||(n?this._pool=this._pool.filter(d=>d.type!==l||d.listener!==e||d.target!==t):this._pool.push({target:t,type:l,listener:e,passive:s}));const c=F?{passive:s||!1}:!1;t[a](l,e,c)}})}}function B(r,t){if(r.getViewportSizeFn){const i=r.getViewportSizeFn(r,t);if(i)return i}return{x:document.documentElement.clientWidth,y:window.innerHeight}}function S(r,t,i,e,s){let n=0;if(t.paddingFn)n=t.paddingFn(i,e,s)[r];else if(t.padding)n=t.padding[r];else{const o="padding"+r[0].toUpperCase()+r.slice(1);t[o]&&(n=t[o])}return Number(n)||0}function N(r,t,i,e){return{x:t.x-S("left",r,t,i,e)-S("right",r,t,i,e),y:t.y-S("top",r,t,i,e)-S("bottom",r,t,i,e)}}class Y{constructor(t){this.slide=t,this.currZoomLevel=1,this.center={x:0,y:0},this.max={x:0,y:0},this.min={x:0,y:0}}update(t){this.currZoomLevel=t,this.slide.width?(this._updateAxis("x"),this._updateAxis("y"),this.slide.pswp.dispatch("calcBounds",{slide:this.slide})):this.reset()}_updateAxis(t){const{pswp:i}=this.slide,e=this.slide[t==="x"?"width":"height"]*this.currZoomLevel,n=S(t==="x"?"left":"top",i.options,i.viewportSize,this.slide.data,this.slide.index),o=this.slide.panAreaSize[t];this.center[t]=Math.round((o-e)/2)+n,this.max[t]=e>o?Math.round(o-e)+n:this.center[t],this.min[t]=e>o?n:this.center[t]}reset(){this.center.x=0,this.center.y=0,this.max.x=0,this.max.y=0,this.min.x=0,this.min.y=0}correctPan(t,i){return I(i,this.max[t],this.min[t])}}const T=4e3;class k{constructor(t,i,e,s){this.pswp=s,this.options=t,this.itemData=i,this.index=e,this.panAreaSize=null,this.elementSize=null,this.fit=1,this.fill=1,this.vFill=1,this.initial=1,this.secondary=1,this.max=1,this.min=1}update(t,i,e){const s={x:t,y:i};this.elementSize=s,this.panAreaSize=e;const n=e.x/s.x,o=e.y/s.y;this.fit=Math.min(1,n<o?n:o),this.fill=Math.min(1,n>o?n:o),this.vFill=Math.min(1,o),this.initial=this._getInitial(),this.secondary=this._getSecondary(),this.max=Math.max(this.initial,this.secondary,this._getMax()),this.min=Math.min(this.fit,this.initial,this.secondary),this.pswp&&this.pswp.dispatch("zoomLevelsUpdate",{zoomLevels:this,slideData:this.itemData})}_parseZoomLevelOption(t){const i=t+"ZoomLevel",e=this.options[i];if(e)return typeof e=="function"?e(this):e==="fill"?this.fill:e==="fit"?this.fit:Number(e)}_getSecondary(){let t=this._parseZoomLevelOption("secondary");return t||(t=Math.min(1,this.fit*3),this.elementSize&&t*this.elementSize.x>T&&(t=T/this.elementSize.x),t)}_getInitial(){return this._parseZoomLevelOption("initial")||this.fit}_getMax(){return this._parseZoomLevelOption("max")||Math.max(1,this.fit*4)}}class j{constructor(t,i,e){this.data=t,this.index=i,this.pswp=e,this.isActive=i===e.currIndex,this.currentResolution=0,this.panAreaSize={x:0,y:0},this.pan={x:0,y:0},this.isFirstSlide=this.isActive&&!e.opener.isOpen,this.zoomLevels=new k(e.options,t,i,e),this.pswp.dispatch("gettingData",{slide:this,data:this.data,index:i}),this.content=this.pswp.contentLoader.getContentBySlide(this),this.container=f("pswp__zoom-wrap","div"),this.holderElement=null,this.currZoomLevel=1,this.width=this.content.width,this.height=this.content.height,this.heavyAppended=!1,this.bounds=new Y(this),this.prevDisplayedWidth=-1,this.prevDisplayedHeight=-1,this.pswp.dispatch("slideInit",{slide:this})}setIsActive(t){t&&!this.isActive?this.activate():!t&&this.isActive&&this.deactivate()}append(t){this.holderElement=t,this.container.style.transformOrigin="0 0",this.data&&(this.calculateSize(),this.load(),this.updateContentSize(),this.appendHeavy(),this.holderElement.appendChild(this.container),this.zoomAndPanToInitial(),this.pswp.dispatch("firstZoomPan",{slide:this}),this.applyCurrentZoomPan(),this.pswp.dispatch("afterSetContent",{slide:this}),this.isActive&&this.activate())}load(){this.content.load(!1),this.pswp.dispatch("slideLoad",{slide:this})}appendHeavy(){const{pswp:t}=this;this.heavyAppended||!t.opener.isOpen||t.mainScroll.isShifted()||!this.isActive&&!!0||this.pswp.dispatch("appendHeavy",{slide:this}).defaultPrevented||(this.heavyAppended=!0,this.content.append(),this.pswp.dispatch("appendHeavyContent",{slide:this}))}activate(){this.isActive=!0,this.appendHeavy(),this.content.activate(),this.pswp.dispatch("slideActivate",{slide:this})}deactivate(){this.isActive=!1,this.content.deactivate(),this.currZoomLevel!==this.zoomLevels.initial&&this.calculateSize(),this.currentResolution=0,this.zoomAndPanToInitial(),this.applyCurrentZoomPan(),this.updateContentSize(),this.pswp.dispatch("slideDeactivate",{slide:this})}destroy(){this.content.hasSlide=!1,this.content.remove(),this.container.remove(),this.pswp.dispatch("slideDestroy",{slide:this})}resize(){this.currZoomLevel===this.zoomLevels.initial||!this.isActive?(this.calculateSize(),this.currentResolution=0,this.zoomAndPanToInitial(),this.applyCurrentZoomPan(),this.updateContentSize()):(this.calculateSize(),this.bounds.update(this.currZoomLevel),this.panTo(this.pan.x,this.pan.y))}updateContentSize(t){const i=this.currentResolution||this.zoomLevels.initial;if(!i)return;const e=Math.round(this.width*i)||this.pswp.viewportSize.x,s=Math.round(this.height*i)||this.pswp.viewportSize.y;!this.sizeChanged(e,s)&&!t||this.content.setDisplayedSize(e,s)}sizeChanged(t,i){return t!==this.prevDisplayedWidth||i!==this.prevDisplayedHeight?(this.prevDisplayedWidth=t,this.prevDisplayedHeight=i,!0):!1}getPlaceholderElement(){var t;return(t=this.content.placeholder)===null||t===void 0?void 0:t.element}zoomTo(t,i,e,s){const{pswp:n}=this;if(!this.isZoomable()||n.mainScroll.isShifted())return;n.dispatch("beforeZoomTo",{destZoomLevel:t,centerPoint:i,transitionDuration:e}),n.animations.stopAllPan();const o=this.currZoomLevel;s||(t=I(t,this.zoomLevels.min,this.zoomLevels.max)),this.setZoomLevel(t),this.pan.x=this.calculateZoomToPanOffset("x",i,o),this.pan.y=this.calculateZoomToPanOffset("y",i,o),M(this.pan);const a=()=>{this._setResolution(t),this.applyCurrentZoomPan()};e?n.animations.startTransition({isPan:!0,name:"zoomTo",target:this.container,transform:this.getCurrentTransform(),onComplete:a,duration:e,easing:n.options.easing}):a()}toggleZoom(t){this.zoomTo(this.currZoomLevel===this.zoomLevels.initial?this.zoomLevels.secondary:this.zoomLevels.initial,t,this.pswp.options.zoomAnimationDuration)}setZoomLevel(t){this.currZoomLevel=t,this.bounds.update(this.currZoomLevel)}calculateZoomToPanOffset(t,i,e){if(this.bounds.max[t]-this.bounds.min[t]===0)return this.bounds.center[t];i||(i=this.pswp.getViewportCenterPoint()),e||(e=this.zoomLevels.initial);const n=this.currZoomLevel/e;return this.bounds.correctPan(t,(this.pan[t]-i[t])*n+i[t])}panTo(t,i){this.pan.x=this.bounds.correctPan("x",t),this.pan.y=this.bounds.correctPan("y",i),this.applyCurrentZoomPan()}isPannable(){return!!this.width&&this.currZoomLevel>this.zoomLevels.fit}isZoomable(){return!!this.width&&this.content.isZoomable()}applyCurrentZoomPan(){this._applyZoomTransform(this.pan.x,this.pan.y,this.currZoomLevel),this===this.pswp.currSlide&&this.pswp.dispatch("zoomPanUpdate",{slide:this})}zoomAndPanToInitial(){this.currZoomLevel=this.zoomLevels.initial,this.bounds.update(this.currZoomLevel),p(this.pan,this.bounds.center),this.pswp.dispatch("initialZoomPan",{slide:this})}_applyZoomTransform(t,i,e){e/=this.currentResolution||this.zoomLevels.initial,y(this.container,t,i,e)}calculateSize(){const{pswp:t}=this;p(this.panAreaSize,N(t.options,t.viewportSize,this.data,this.index)),this.zoomLevels.update(this.width,this.height,this.panAreaSize),t.dispatch("calcSlideSize",{slide:this})}getCurrentTransform(){const t=this.currZoomLevel/(this.currentResolution||this.zoomLevels.initial);return b(this.pan.x,this.pan.y,t)}_setResolution(t){t!==this.currentResolution&&(this.currentResolution=t,this.updateContentSize(),this.pswp.dispatch("resolutionChanged"))}}const Q=.35,J=.6,z=.4,E=.5;function tt(r,t){return r*t/(1-t)}class it{constructor(t){this.gestures=t,this.pswp=t.pswp,this.startPan={x:0,y:0}}start(){this.pswp.currSlide&&p(this.startPan,this.pswp.currSlide.pan),this.pswp.animations.stopAll()}change(){const{p1:t,prevP1:i,dragAxis:e}=this.gestures,{currSlide:s}=this.pswp;if(e==="y"&&this.pswp.options.closeOnVerticalDrag&&s&&s.currZoomLevel<=s.zoomLevels.fit&&!this.gestures.isMultitouch){const n=s.pan.y+(t.y-i.y);if(!this.pswp.dispatch("verticalDrag",{panY:n}).defaultPrevented){this._setPanWithFriction("y",n,J);const o=1-Math.abs(this._getVerticalDragRatio(s.pan.y));this.pswp.applyBgOpacity(o),s.applyCurrentZoomPan()}}else this._panOrMoveMainScroll("x")||(this._panOrMoveMainScroll("y"),s&&(M(s.pan),s.applyCurrentZoomPan()))}end(){const{velocity:t}=this.gestures,{mainScroll:i,currSlide:e}=this.pswp;let s=0;if(this.pswp.animations.stopAll(),i.isShifted()){const o=(i.x-i.getCurrSlideX())/this.pswp.viewportSize.x;t.x<-E&&o<0||t.x<.1&&o<-.5?(s=1,t.x=Math.min(t.x,0)):(t.x>E&&o>0||t.x>-.1&&o>.5)&&(s=-1,t.x=Math.max(t.x,0)),i.moveIndexBy(s,!0,t.x)}e&&e.currZoomLevel>e.zoomLevels.max||this.gestures.isMultitouch?this.gestures.zoomLevels.correctZoomPan(!0):(this._finishPanGestureForAxis("x"),this._finishPanGestureForAxis("y"))}_finishPanGestureForAxis(t){const{velocity:i}=this.gestures,{currSlide:e}=this.pswp;if(!e)return;const{pan:s,bounds:n}=e,o=s[t],a=this.pswp.bgOpacity<1&&t==="y",l=o+tt(i[t],.995);if(a){const v=this._getVerticalDragRatio(o),w=this._getVerticalDragRatio(l);if(v<0&&w<-z||v>0&&w>z){this.pswp.close();return}}const c=n.correctPan(t,l);if(o===c)return;const d=c===l?1:.82,u=this.pswp.bgOpacity,m=c-o;this.pswp.animations.startSpring({name:"panGesture"+t,isPan:!0,start:o,end:c,velocity:i[t],dampingRatio:d,onUpdate:v=>{if(a&&this.pswp.bgOpacity<1){const w=1-(c-v)/m;this.pswp.applyBgOpacity(I(u+(1-u)*w,0,1))}s[t]=Math.floor(v),e.applyCurrentZoomPan()}})}_panOrMoveMainScroll(t){const{p1:i,dragAxis:e,prevP1:s,isMultitouch:n}=this.gestures,{currSlide:o,mainScroll:a}=this.pswp,h=i[t]-s[t],l=a.x+h;if(!h||!o)return!1;if(t==="x"&&!o.isPannable()&&!n)return a.moveTo(l,!0),!0;const{bounds:c}=o,d=o.pan[t]+h;if(this.pswp.options.allowPanToNext&&e==="x"&&t==="x"&&!n){const u=a.getCurrSlideX(),m=a.x-u,v=h>0,w=!v;if(d>c.min[t]&&v){if(c.min[t]<=this.startPan[t])return a.moveTo(l,!0),!0;this._setPanWithFriction(t,d)}else if(d<c.max[t]&&w){if(this.startPan[t]<=c.max[t])return a.moveTo(l,!0),!0;this._setPanWithFriction(t,d)}else if(m!==0){if(m>0)return a.moveTo(Math.max(l,u),!0),!0;if(m<0)return a.moveTo(Math.min(l,u),!0),!0}else this._setPanWithFriction(t,d)}else t==="y"?!a.isShifted()&&c.min.y!==c.max.y&&this._setPanWithFriction(t,d):this._setPanWithFriction(t,d);return!1}_getVerticalDragRatio(t){var i,e;return(t-((i=(e=this.pswp.currSlide)===null||e===void 0?void 0:e.bounds.center.y)!==null&&i!==void 0?i:0))/(this.pswp.viewportSize.y/3)}_setPanWithFriction(t,i,e){const{currSlide:s}=this.pswp;if(!s)return;const{pan:n,bounds:o}=s;if(o.correctPan(t,i)!==i||e){const h=Math.round(i-n[t]);n[t]+=h*(e||Q)}else n[t]=i}}const et=.05,st=.15;function O(r,t,i){return r.x=(t.x+i.x)/2,r.y=(t.y+i.y)/2,r}class nt{constructor(t){this.gestures=t,this._startPan={x:0,y:0},this._startZoomPoint={x:0,y:0},this._zoomPoint={x:0,y:0},this._wasOverFitZoomLevel=!1,this._startZoomLevel=1}start(){const{currSlide:t}=this.gestures.pswp;t&&(this._startZoomLevel=t.currZoomLevel,p(this._startPan,t.pan)),this.gestures.pswp.animations.stopAllPan(),this._wasOverFitZoomLevel=!1}change(){const{p1:t,startP1:i,p2:e,startP2:s,pswp:n}=this.gestures,{currSlide:o}=n;if(!o)return;const a=o.zoomLevels.min,h=o.zoomLevels.max;if(!o.isZoomable()||n.mainScroll.isShifted())return;O(this._startZoomPoint,i,s),O(this._zoomPoint,t,e);let l=1/A(i,s)*A(t,e)*this._startZoomLevel;if(l>o.zoomLevels.initial+o.zoomLevels.initial/15&&(this._wasOverFitZoomLevel=!0),l<a)if(n.options.pinchToClose&&!this._wasOverFitZoomLevel&&this._startZoomLevel<=o.zoomLevels.initial){const c=1-(a-l)/(a/1.2);n.dispatch("pinchClose",{bgOpacity:c}).defaultPrevented||n.applyBgOpacity(c)}else l=a-(a-l)*st;else l>h&&(l=h+(l-h)*et);o.pan.x=this._calculatePanForZoomLevel("x",l),o.pan.y=this._calculatePanForZoomLevel("y",l),o.setZoomLevel(l),o.applyCurrentZoomPan()}end(){const{pswp:t}=this.gestures,{currSlide:i}=t;(!i||i.currZoomLevel<i.zoomLevels.initial)&&!this._wasOverFitZoomLevel&&t.options.pinchToClose?t.close():this.correctZoomPan()}_calculatePanForZoomLevel(t,i){const e=i/this._startZoomLevel;return this._zoomPoint[t]-(this._startZoomPoint[t]-this._startPan[t])*e}correctZoomPan(t){const{pswp:i}=this.gestures,{currSlide:e}=i;if(!(e!=null&&e.isZoomable()))return;this._zoomPoint.x===0&&(t=!0);const s=e.currZoomLevel;let n,o=!0;s<e.zoomLevels.initial?n=e.zoomLevels.initial:s>e.zoomLevels.max?n=e.zoomLevels.max:(o=!1,n=s);const a=i.bgOpacity,h=i.bgOpacity<1,l=p({x:0,y:0},e.pan);let c=p({x:0,y:0},l);t&&(this._zoomPoint.x=0,this._zoomPoint.y=0,this._startZoomPoint.x=0,this._startZoomPoint.y=0,this._startZoomLevel=s,p(this._startPan,l)),o&&(c={x:this._calculatePanForZoomLevel("x",n),y:this._calculatePanForZoomLevel("y",n)}),e.setZoomLevel(n),c={x:e.bounds.correctPan("x",c.x),y:e.bounds.correctPan("y",c.y)},e.setZoomLevel(s);const d=!x(c,l);if(!d&&!o&&!h){e._setResolution(n),e.applyCurrentZoomPan();return}i.animations.stopAllPan(),i.animations.startSpring({isPan:!0,start:0,end:1e3,velocity:0,dampingRatio:1,naturalFrequency:40,onUpdate:u=>{if(u/=1e3,d||o){if(d&&(e.pan.x=l.x+(c.x-l.x)*u,e.pan.y=l.y+(c.y-l.y)*u),o){const m=s+(n-s)*u;e.setZoomLevel(m)}e.applyCurrentZoomPan()}h&&i.bgOpacity<1&&i.applyBgOpacity(I(a+(1-a)*u,0,1))},onComplete:()=>{e._setResolution(n),e.applyCurrentZoomPan()}})}}function Z(r){return!!r.target.closest(".pswp__container")}class ot{constructor(t){this.gestures=t}click(t,i){const e=i.target.classList,s=e.contains("pswp__img"),n=e.contains("pswp__item")||e.contains("pswp__zoom-wrap");s?this._doClickOrTapAction("imageClick",t,i):n&&this._doClickOrTapAction("bgClick",t,i)}tap(t,i){Z(i)&&this._doClickOrTapAction("tap",t,i)}doubleTap(t,i){Z(i)&&this._doClickOrTapAction("doubleTap",t,i)}_doClickOrTapAction(t,i,e){var s;const{pswp:n}=this.gestures,{currSlide:o}=n,a=t+"Action",h=n.options[a];if(!n.dispatch(a,{point:i,originalEvent:e}).defaultPrevented){if(typeof h=="function"){h.call(n,i,e);return}switch(h){case"close":case"next":n[h]();break;case"zoom":o==null||o.toggleZoom(i);break;case"zoom-or-close":o!=null&&o.isZoomable()&&o.zoomLevels.secondary!==o.zoomLevels.initial?o.toggleZoom(i):n.options.clickToCloseNonZoomable&&n.close();break;case"toggle-controls":(s=this.gestures.pswp.element)===null||s===void 0||s.classList.toggle("pswp--ui-visible");break}}}}const rt=10,at=300,ht=25;class lt{constructor(t){this.pswp=t,this.dragAxis=null,this.p1={x:0,y:0},this.p2={x:0,y:0},this.prevP1={x:0,y:0},this.prevP2={x:0,y:0},this.startP1={x:0,y:0},this.startP2={x:0,y:0},this.velocity={x:0,y:0},this._lastStartP1={x:0,y:0},this._intervalP1={x:0,y:0},this._numActivePoints=0,this._ongoingPointers=[],this._touchEventEnabled="ontouchstart"in window,this._pointerEventEnabled=!!window.PointerEvent,this.supportsTouch=this._touchEventEnabled||this._pointerEventEnabled&&navigator.maxTouchPoints>1,this._numActivePoints=0,this._intervalTime=0,this._velocityCalculated=!1,this.isMultitouch=!1,this.isDragging=!1,this.isZooming=!1,this.raf=null,this._tapTimer=null,this.supportsTouch||(t.options.allowPanToNext=!1),this.drag=new it(this),this.zoomLevels=new nt(this),this.tapHandler=new ot(this),t.on("bindEvents",()=>{t.events.add(t.scrollWrap,"click",this._onClick.bind(this)),this._pointerEventEnabled?this._bindEvents("pointer","down","up","cancel"):this._touchEventEnabled?(this._bindEvents("touch","start","end","cancel"),t.scrollWrap&&(t.scrollWrap.ontouchmove=()=>{},t.scrollWrap.ontouchend=()=>{})):this._bindEvents("mouse","down","up")})}_bindEvents(t,i,e,s){const{pswp:n}=this,{events:o}=n,a=s?t+s:"";o.add(n.scrollWrap,t+i,this.onPointerDown.bind(this)),o.add(window,t+"move",this.onPointerMove.bind(this)),o.add(window,t+e,this.onPointerUp.bind(this)),a&&o.add(n.scrollWrap,a,this.onPointerUp.bind(this))}onPointerDown(t){const i=t.type==="mousedown"||t.pointerType==="mouse";if(i&&t.button>0)return;const{pswp:e}=this;if(!e.opener.isOpen){t.preventDefault();return}e.dispatch("pointerDown",{originalEvent:t}).defaultPrevented||(i&&(e.mouseDetected(),this._preventPointerEventBehaviour(t,"down")),e.animations.stopAll(),this._updatePoints(t,"down"),this._numActivePoints===1&&(this.dragAxis=null,p(this.startP1,this.p1)),this._numActivePoints>1?(this._clearTapTimer(),this.isMultitouch=!0):this.isMultitouch=!1)}onPointerMove(t){this._preventPointerEventBehaviour(t,"move"),this._numActivePoints&&(this._updatePoints(t,"move"),!this.pswp.dispatch("pointerMove",{originalEvent:t}).defaultPrevented&&(this._numActivePoints===1&&!this.isDragging?(this.dragAxis||this._calculateDragDirection(),this.dragAxis&&!this.isDragging&&(this.isZooming&&(this.isZooming=!1,this.zoomLevels.end()),this.isDragging=!0,this._clearTapTimer(),this._updateStartPoints(),this._intervalTime=Date.now(),this._velocityCalculated=!1,p(this._intervalP1,this.p1),this.velocity.x=0,this.velocity.y=0,this.drag.start(),this._rafStopLoop(),this._rafRenderLoop())):this._numActivePoints>1&&!this.isZooming&&(this._finishDrag(),this.isZooming=!0,this._updateStartPoints(),this.zoomLevels.start(),this._rafStopLoop(),this._rafRenderLoop())))}_finishDrag(){this.isDragging&&(this.isDragging=!1,this._velocityCalculated||this._updateVelocity(!0),this.drag.end(),this.dragAxis=null)}onPointerUp(t){this._numActivePoints&&(this._updatePoints(t,"up"),!this.pswp.dispatch("pointerUp",{originalEvent:t}).defaultPrevented&&(this._numActivePoints===0&&(this._rafStopLoop(),this.isDragging?this._finishDrag():!this.isZooming&&!this.isMultitouch&&this._finishTap(t)),this._numActivePoints<2&&this.isZooming&&(this.isZooming=!1,this.zoomLevels.end(),this._numActivePoints===1&&(this.dragAxis=null,this._updateStartPoints()))))}_rafRenderLoop(){(this.isDragging||this.isZooming)&&(this._updateVelocity(),this.isDragging?x(this.p1,this.prevP1)||this.drag.change():(!x(this.p1,this.prevP1)||!x(this.p2,this.prevP2))&&this.zoomLevels.change(),this._updatePrevPoints(),this.raf=requestAnimationFrame(this._rafRenderLoop.bind(this)))}_updateVelocity(t){const i=Date.now(),e=i-this._intervalTime;e<50&&!t||(this.velocity.x=this._getVelocity("x",e),this.velocity.y=this._getVelocity("y",e),this._intervalTime=i,p(this._intervalP1,this.p1),this._velocityCalculated=!0)}_finishTap(t){const{mainScroll:i}=this.pswp;if(i.isShifted()){i.moveIndexBy(0,!0);return}if(t.type.indexOf("cancel")>0)return;if(t.type==="mouseup"||t.pointerType==="mouse"){this.tapHandler.click(this.startP1,t);return}const e=this.pswp.options.doubleTapAction?at:0;this._tapTimer?(this._clearTapTimer(),A(this._lastStartP1,this.startP1)<ht&&this.tapHandler.doubleTap(this.startP1,t)):(p(this._lastStartP1,this.startP1),this._tapTimer=setTimeout(()=>{this.tapHandler.tap(this.startP1,t),this._clearTapTimer()},e))}_clearTapTimer(){this._tapTimer&&(clearTimeout(this._tapTimer),this._tapTimer=null)}_getVelocity(t,i){const e=this.p1[t]-this._intervalP1[t];return Math.abs(e)>1&&i>5?e/i:0}_rafStopLoop(){this.raf&&(cancelAnimationFrame(this.raf),this.raf=null)}_preventPointerEventBehaviour(t,i){this.pswp.applyFilters("preventPointerEvent",!0,t,i)&&t.preventDefault()}_updatePoints(t,i){if(this._pointerEventEnabled){const e=t,s=this._ongoingPointers.findIndex(n=>n.id===e.pointerId);i==="up"&&s>-1?this._ongoingPointers.splice(s,1):i==="down"&&s===-1?this._ongoingPointers.push(this._convertEventPosToPoint(e,{x:0,y:0})):s>-1&&this._convertEventPosToPoint(e,this._ongoingPointers[s]),this._numActivePoints=this._ongoingPointers.length,this._numActivePoints>0&&p(this.p1,this._ongoingPointers[0]),this._numActivePoints>1&&p(this.p2,this._ongoingPointers[1])}else{const e=t;this._numActivePoints=0,e.type.indexOf("touch")>-1?e.touches&&e.touches.length>0&&(this._convertEventPosToPoint(e.touches[0],this.p1),this._numActivePoints++,e.touches.length>1&&(this._convertEventPosToPoint(e.touches[1],this.p2),this._numActivePoints++)):(this._convertEventPosToPoint(t,this.p1),i==="up"?this._numActivePoints=0:this._numActivePoints++)}}_updatePrevPoints(){p(this.prevP1,this.p1),p(this.prevP2,this.p2)}_updateStartPoints(){p(this.startP1,this.p1),p(this.startP2,this.p2),this._updatePrevPoints()}_calculateDragDirection(){if(this.pswp.mainScroll.isShifted())this.dragAxis="x";else{const t=Math.abs(this.p1.x-this.startP1.x)-Math.abs(this.p1.y-this.startP1.y);if(t!==0){const i=t>0?"x":"y";Math.abs(this.p1[i]-this.startP1[i])>=rt&&(this.dragAxis=i)}}}_convertEventPosToPoint(t,i){return i.x=t.pageX-this.pswp.offset.x,i.y=t.pageY-this.pswp.offset.y,"pointerId"in t?i.id=t.pointerId:t.identifier!==void 0&&(i.id=t.identifier),i}_onClick(t){this.pswp.mainScroll.isShifted()&&(t.preventDefault(),t.stopPropagation())}}const ct=.35;class dt{constructor(t){this.pswp=t,this.x=0,this.slideWidth=0,this._currPositionIndex=0,this._prevPositionIndex=0,this._containerShiftIndex=-1,this.itemHolders=[]}resize(t){const{pswp:i}=this,e=Math.round(i.viewportSize.x+i.viewportSize.x*i.options.spacing),s=e!==this.slideWidth;s&&(this.slideWidth=e,this.moveTo(this.getCurrSlideX())),this.itemHolders.forEach((n,o)=>{s&&y(n.el,(o+this._containerShiftIndex)*this.slideWidth),t&&n.slide&&n.slide.resize()})}resetPosition(){this._currPositionIndex=0,this._prevPositionIndex=0,this.slideWidth=0,this._containerShiftIndex=-1}appendHolders(){this.itemHolders=[];for(let t=0;t<3;t++){const i=f("pswp__item","div",this.pswp.container);i.setAttribute("role","group"),i.setAttribute("aria-roledescription","slide"),i.setAttribute("aria-hidden","true"),i.style.display=t===1?"block":"none",this.itemHolders.push({el:i})}}canBeSwiped(){return this.pswp.getNumItems()>1}moveIndexBy(t,i,e){const{pswp:s}=this;let n=s.potentialIndex+t;const o=s.getNumItems();if(s.canLoop()){n=s.getLoopedIndex(n);const h=(t+o)%o;h<=o/2?t=h:t=h-o}else n<0?n=0:n>=o&&(n=o-1),t=n-s.potentialIndex;s.potentialIndex=n,this._currPositionIndex-=t,s.animations.stopMainScroll();const a=this.getCurrSlideX();if(!i)this.moveTo(a),this.updateCurrItem();else{s.animations.startSpring({isMainScroll:!0,start:this.x,end:a,velocity:e||0,naturalFrequency:30,dampingRatio:1,onUpdate:l=>{this.moveTo(l)},onComplete:()=>{this.updateCurrItem(),s.appendHeavy()}});let h=s.potentialIndex-s.currIndex;if(s.canLoop()){const l=(h+o)%o;l<=o/2?h=l:h=l-o}Math.abs(h)>1&&this.updateCurrItem()}return!!t}getCurrSlideX(){return this.slideWidth*this._currPositionIndex}isShifted(){return this.x!==this.getCurrSlideX()}updateCurrItem(){var t;const{pswp:i}=this,e=this._prevPositionIndex-this._currPositionIndex;if(!e)return;this._prevPositionIndex=this._currPositionIndex,i.currIndex=i.potentialIndex;let s=Math.abs(e),n;s>=3&&(this._containerShiftIndex+=e+(e>0?-3:3),s=3);for(let o=0;o<s;o++)e>0?(n=this.itemHolders.shift(),n&&(this.itemHolders[2]=n,this._containerShiftIndex++,y(n.el,(this._containerShiftIndex+2)*this.slideWidth),i.setContent(n,i.currIndex-s+o+2))):(n=this.itemHolders.pop(),n&&(this.itemHolders.unshift(n),this._containerShiftIndex--,y(n.el,this._containerShiftIndex*this.slideWidth),i.setContent(n,i.currIndex+s-o-2)));Math.abs(this._containerShiftIndex)>50&&!this.isShifted()&&(this.resetPosition(),this.resize()),i.animations.stopAllPan(),this.itemHolders.forEach((o,a)=>{o.slide&&o.slide.setIsActive(a===1)}),i.currSlide=(t=this.itemHolders[1])===null||t===void 0?void 0:t.slide,i.contentLoader.updateLazy(e),i.currSlide&&i.currSlide.applyCurrentZoomPan(),i.dispatch("change")}moveTo(t,i){if(!this.pswp.canLoop()&&i){let e=(this.slideWidth*this._currPositionIndex-t)/this.slideWidth;e+=this.pswp.currIndex;const s=Math.round(t-this.x);(e<0&&s>0||e>=this.pswp.getNumItems()-1&&s<0)&&(t=this.x+s*ct)}this.x=t,this.pswp.container&&y(this.pswp.container,t),this.pswp.dispatch("moveMainScroll",{x:t,dragging:i??!1})}}const pt={Escape:27,z:90,ArrowLeft:37,ArrowUp:38,ArrowRight:39,ArrowDown:40,Tab:9},g=(r,t)=>t?r:pt[r];class ut{constructor(t){this.pswp=t,this._wasFocused=!1,t.on("bindEvents",()=>{t.options.trapFocus&&(t.options.initialPointerPos||this._focusRoot(),t.events.add(document,"focusin",this._onFocusIn.bind(this))),t.events.add(document,"keydown",this._onKeyDown.bind(this))});const i=document.activeElement;t.on("destroy",()=>{t.options.returnFocus&&i&&this._wasFocused&&i.focus()})}_focusRoot(){!this._wasFocused&&this.pswp.element&&(this.pswp.element.focus(),this._wasFocused=!0)}_onKeyDown(t){const{pswp:i}=this;if(i.dispatch("keydown",{originalEvent:t}).defaultPrevented||G(t))return;let e,s,n=!1;const o="key"in t;switch(o?t.key:t.keyCode){case g("Escape",o):i.options.escKey&&(e="close");break;case g("z",o):e="toggleZoom";break;case g("ArrowLeft",o):s="x";break;case g("ArrowUp",o):s="y";break;case g("ArrowRight",o):s="x",n=!0;break;case g("ArrowDown",o):n=!0,s="y";break;case g("Tab",o):this._focusRoot();break}if(s){t.preventDefault();const{currSlide:a}=i;i.options.arrowKeys&&s==="x"&&i.getNumItems()>1?e=n?"next":"prev":a&&a.currZoomLevel>a.zoomLevels.fit&&(a.pan[s]+=n?-80:80,a.panTo(a.pan.x,a.pan.y))}e&&(t.preventDefault(),i[e]())}_onFocusIn(t){const{template:i}=this.pswp;i&&document!==t.target&&i!==t.target&&!i.contains(t.target)&&i.focus()}}const mt="cubic-bezier(.4,0,.22,1)";class ft{constructor(t){var i;this.props=t;const{target:e,onComplete:s,transform:n,onFinish:o=()=>{},duration:a=333,easing:h=mt}=t;this.onFinish=o;const l=n?"transform":"opacity",c=(i=t[l])!==null&&i!==void 0?i:"";this._target=e,this._onComplete=s,this._finished=!1,this._onTransitionEnd=this._onTransitionEnd.bind(this),this._helperTimeout=setTimeout(()=>{R(e,l,a,h),this._helperTimeout=setTimeout(()=>{e.addEventListener("transitionend",this._onTransitionEnd,!1),e.addEventListener("transitioncancel",this._onTransitionEnd,!1),this._helperTimeout=setTimeout(()=>{this._finalizeAnimation()},a+500),e.style[l]=c},30)},0)}_onTransitionEnd(t){t.target===this._target&&this._finalizeAnimation()}_finalizeAnimation(){this._finished||(this._finished=!0,this.onFinish(),this._onComplete&&this._onComplete())}destroy(){this._helperTimeout&&clearTimeout(this._helperTimeout),U(this._target),this._target.removeEventListener("transitionend",this._onTransitionEnd,!1),this._target.removeEventListener("transitioncancel",this._onTransitionEnd,!1),this._finished||this._finalizeAnimation()}}const _t=12,vt=.75;class gt{constructor(t,i,e){this.velocity=t*1e3,this._dampingRatio=i||vt,this._naturalFrequency=e||_t,this._dampedFrequency=this._naturalFrequency,this._dampingRatio<1&&(this._dampedFrequency*=Math.sqrt(1-this._dampingRatio*this._dampingRatio))}easeFrame(t,i){let e=0,s;i/=1e3;const n=Math.E**(-this._dampingRatio*this._naturalFrequency*i);if(this._dampingRatio===1)s=this.velocity+this._naturalFrequency*t,e=(t+s*i)*n,this.velocity=e*-this._naturalFrequency+s*n;else if(this._dampingRatio<1){s=1/this._dampedFrequency*(this._dampingRatio*this._naturalFrequency*t+this.velocity);const o=Math.cos(this._dampedFrequency*i),a=Math.sin(this._dampedFrequency*i);e=n*(t*o+s*a),this.velocity=e*-this._naturalFrequency*this._dampingRatio+n*(-this._dampedFrequency*t*a+this._dampedFrequency*s*o)}return e}}class yt{constructor(t){this.props=t,this._raf=0;const{start:i,end:e,velocity:s,onUpdate:n,onComplete:o,onFinish:a=()=>{},dampingRatio:h,naturalFrequency:l}=t;this.onFinish=a;const c=new gt(s,h,l);let d=Date.now(),u=i-e;const m=()=>{this._raf&&(u=c.easeFrame(u,Date.now()-d),Math.abs(u)<1&&Math.abs(c.velocity)<50?(n(e),o&&o(),this.onFinish()):(d=Date.now(),n(u+e),this._raf=requestAnimationFrame(m)))};this._raf=requestAnimationFrame(m)}destroy(){this._raf>=0&&cancelAnimationFrame(this._raf),this._raf=0}}class wt{constructor(){this.activeAnimations=[]}startSpring(t){this._start(t,!0)}startTransition(t){this._start(t)}_start(t,i){const e=i?new yt(t):new ft(t);return this.activeAnimations.push(e),e.onFinish=()=>this.stop(e),e}stop(t){t.destroy();const i=this.activeAnimations.indexOf(t);i>-1&&this.activeAnimations.splice(i,1)}stopAll(){this.activeAnimations.forEach(t=>{t.destroy()}),this.activeAnimations=[]}stopAllPan(){this.activeAnimations=this.activeAnimations.filter(t=>t.props.isPan?(t.destroy(),!1):!0)}stopMainScroll(){this.activeAnimations=this.activeAnimations.filter(t=>t.props.isMainScroll?(t.destroy(),!1):!0)}isPanRunning(){return this.activeAnimations.some(t=>t.props.isPan)}}class Pt{constructor(t){this.pswp=t,t.events.add(t.element,"wheel",this._onWheel.bind(this))}_onWheel(t){t.preventDefault();const{currSlide:i}=this.pswp;let{deltaX:e,deltaY:s}=t;if(i&&!this.pswp.dispatch("wheel",{originalEvent:t}).defaultPrevented)if(t.ctrlKey||this.pswp.options.wheelToZoom){if(i.isZoomable()){let n=-s;t.deltaMode===1?n*=.05:n*=t.deltaMode?1:.002,n=2**n;const o=i.currZoomLevel*n;i.zoomTo(o,{x:t.clientX,y:t.clientY})}}else i.isPannable()&&(t.deltaMode===1&&(e*=18,s*=18),i.panTo(i.pan.x-e,i.pan.y-s))}}function St(r){if(typeof r=="string")return r;if(!r||!r.isCustomSVG)return"";const t=r;let i='<svg aria-hidden="true" class="pswp__icn" viewBox="0 0 %d %d" width="%d" height="%d">';return i=i.split("%d").join(t.size||32),t.outlineID&&(i+='<use class="pswp__icn-shadow" xlink:href="#'+t.outlineID+'"/>'),i+=t.inner,i+="</svg>",i}class xt{constructor(t,i){var e;const s=i.name||i.className;let n=i.html;if(t.options[s]===!1)return;typeof t.options[s+"SVG"]=="string"&&(n=t.options[s+"SVG"]),t.dispatch("uiElementCreate",{data:i});let o="";i.isButton?(o+="pswp__button ",o+=i.className||`pswp__button--${i.name}`):o+=i.className||`pswp__${i.name}`;let a=i.isButton?i.tagName||"button":i.tagName||"div";a=a.toLowerCase();const h=f(o,a);if(i.isButton){a==="button"&&(h.type="button");let{title:d}=i;const{ariaLabel:u}=i;typeof t.options[s+"Title"]=="string"&&(d=t.options[s+"Title"]),d&&(h.title=d);const m=u||d;m&&h.setAttribute("aria-label",m)}h.innerHTML=St(n),i.onInit&&i.onInit(h,t),i.onClick&&(h.onclick=d=>{typeof i.onClick=="string"?t[i.onClick]():typeof i.onClick=="function"&&i.onClick(d,h,t)});const l=i.appendTo||"bar";let c=t.element;l==="bar"?(t.topBar||(t.topBar=f("pswp__top-bar pswp__hide-on-close","div",t.scrollWrap)),c=t.topBar):(h.classList.add("pswp__hide-on-close"),l==="wrapper"&&(c=t.scrollWrap)),(e=c)===null||e===void 0||e.appendChild(t.applyFilters("uiElement",h,i))}}function H(r,t,i){r.classList.add("pswp__button--arrow"),r.setAttribute("aria-controls","pswp__items"),t.on("change",()=>{t.options.loop||(i?r.disabled=!(t.currIndex<t.getNumItems()-1):r.disabled=!(t.currIndex>0))})}const bt={name:"arrowPrev",className:"pswp__button--arrow--prev",title:"Previous",order:10,isButton:!0,appendTo:"wrapper",html:{isCustomSVG:!0,size:60,inner:'<path d="M29 43l-3 3-16-16 16-16 3 3-13 13 13 13z" id="pswp__icn-arrow"/>',outlineID:"pswp__icn-arrow"},onClick:"prev",onInit:H},It={name:"arrowNext",className:"pswp__button--arrow--next",title:"Next",order:11,isButton:!0,appendTo:"wrapper",html:{isCustomSVG:!0,size:60,inner:'<use xlink:href="#pswp__icn-arrow"/>',outlineID:"pswp__icn-arrow"},onClick:"next",onInit:(r,t)=>{H(r,t,!0)}},At={name:"close",title:"Close",order:20,isButton:!0,html:{isCustomSVG:!0,inner:'<path d="M24 10l-2-2-6 6-6-6-2 2 6 6-6 6 2 2 6-6 6 6 2-2-6-6z" id="pswp__icn-close"/>',outlineID:"pswp__icn-close"},onClick:"close"},Lt={name:"zoom",title:"Zoom",order:10,isButton:!0,html:{isCustomSVG:!0,inner:'<path d="M17.426 19.926a6 6 0 1 1 1.5-1.5L23 22.5 21.5 24l-4.074-4.074z" id="pswp__icn-zoom"/><path fill="currentColor" class="pswp__zoom-icn-bar-h" d="M11 16v-2h6v2z"/><path fill="currentColor" class="pswp__zoom-icn-bar-v" d="M13 12h2v6h-2z"/>',outlineID:"pswp__icn-zoom"},onClick:"toggleZoom"},Ct={name:"preloader",appendTo:"bar",order:7,html:{isCustomSVG:!0,inner:'<path fill-rule="evenodd" clip-rule="evenodd" d="M21.2 16a5.2 5.2 0 1 1-5.2-5.2V8a8 8 0 1 0 8 8h-2.8Z" id="pswp__icn-loading"/>',outlineID:"pswp__icn-loading"},onInit:(r,t)=>{let i,e=null;const s=(a,h)=>{r.classList.toggle("pswp__preloader--"+a,h)},n=a=>{i!==a&&(i=a,s("active",a))},o=()=>{var a;if(!((a=t.currSlide)!==null&&a!==void 0&&a.content.isLoading())){n(!1),e&&(clearTimeout(e),e=null);return}e||(e=setTimeout(()=>{var h;n(!!(!((h=t.currSlide)===null||h===void 0)&&h.content.isLoading())),e=null},t.options.preloaderDelay))};t.on("change",o),t.on("loadComplete",a=>{t.currSlide===a.slide&&o()}),t.ui&&(t.ui.updatePreloaderVisibility=o)}},Tt={name:"counter",order:5,onInit:(r,t)=>{t.on("change",()=>{r.innerText=t.currIndex+1+t.options.indexIndicatorSep+t.getNumItems()})}};function D(r,t){r.classList.toggle("pswp--zoomed-in",t)}class zt{constructor(t){this.pswp=t,this.isRegistered=!1,this.uiElementsData=[],this.items=[],this.updatePreloaderVisibility=()=>{},this._lastUpdatedZoomLevel=void 0}init(){const{pswp:t}=this;this.isRegistered=!1,this.uiElementsData=[At,bt,It,Lt,Ct,Tt],t.dispatch("uiRegister"),this.uiElementsData.sort((i,e)=>(i.order||0)-(e.order||0)),this.items=[],this.isRegistered=!0,this.uiElementsData.forEach(i=>{this.registerElement(i)}),t.on("change",()=>{var i;(i=t.element)===null||i===void 0||i.classList.toggle("pswp--one-slide",t.getNumItems()===1)}),t.on("zoomPanUpdate",()=>this._onZoomPanUpdate())}registerElement(t){this.isRegistered?this.items.push(new xt(this.pswp,t)):this.uiElementsData.push(t)}_onZoomPanUpdate(){const{template:t,currSlide:i,options:e}=this.pswp;if(this.pswp.opener.isClosing||!t||!i)return;let{currZoomLevel:s}=i;if(this.pswp.opener.isOpen||(s=i.zoomLevels.initial),s===this._lastUpdatedZoomLevel)return;this._lastUpdatedZoomLevel=s;const n=i.zoomLevels.initial-i.zoomLevels.secondary;if(Math.abs(n)<.01||!i.isZoomable()){D(t,!1),t.classList.remove("pswp--zoom-allowed");return}t.classList.add("pswp--zoom-allowed");const o=s===i.zoomLevels.initial?i.zoomLevels.secondary:i.zoomLevels.initial;D(t,o<=s),(e.imageClickAction==="zoom"||e.imageClickAction==="zoom-or-close")&&t.classList.add("pswp--click-to-zoom")}}function Et(r){const t=r.getBoundingClientRect();return{x:t.left,y:t.top,w:t.width}}function Ot(r,t,i){const e=r.getBoundingClientRect(),s=e.width/t,n=e.height/i,o=s>n?s:n,a=(e.width-t*o)/2,h=(e.height-i*o)/2,l={x:e.left+a,y:e.top+h,w:t*o};return l.innerRect={w:e.width,h:e.height,x:a,y:h},l}function Zt(r,t,i){const e=i.dispatch("thumbBounds",{index:r,itemData:t,instance:i});if(e.thumbBounds)return e.thumbBounds;const{element:s}=t;let n,o;if(s&&i.options.thumbSelector!==!1){const a=i.options.thumbSelector||"img";o=s.matches(a)?s:s.querySelector(a)}return o=i.applyFilters("thumbEl",o,t,r),o&&(t.thumbCropped?n=Ot(o,t.width||t.w||0,t.height||t.h||0):n=Et(o)),i.applyFilters("thumbBounds",n,t,r)}class Dt{constructor(t,i){this.type=t,this.defaultPrevented=!1,i&&Object.assign(this,i)}preventDefault(){this.defaultPrevented=!0}}class Mt{constructor(){this._listeners={},this._filters={},this.pswp=void 0,this.options=void 0}addFilter(t,i,e=100){var s,n,o;this._filters[t]||(this._filters[t]=[]),(s=this._filters[t])===null||s===void 0||s.push({fn:i,priority:e}),(n=this._filters[t])===null||n===void 0||n.sort((a,h)=>a.priority-h.priority),(o=this.pswp)===null||o===void 0||o.addFilter(t,i,e)}removeFilter(t,i){this._filters[t]&&(this._filters[t]=this._filters[t].filter(e=>e.fn!==i)),this.pswp&&this.pswp.removeFilter(t,i)}applyFilters(t,...i){var e;return(e=this._filters[t])===null||e===void 0||e.forEach(s=>{i[0]=s.fn.apply(this,i)}),i[0]}on(t,i){var e,s;this._listeners[t]||(this._listeners[t]=[]),(e=this._listeners[t])===null||e===void 0||e.push(i),(s=this.pswp)===null||s===void 0||s.on(t,i)}off(t,i){var e;this._listeners[t]&&(this._listeners[t]=this._listeners[t].filter(s=>i!==s)),(e=this.pswp)===null||e===void 0||e.off(t,i)}dispatch(t,i){var e;if(this.pswp)return this.pswp.dispatch(t,i);const s=new Dt(t,i);return(e=this._listeners[t])===null||e===void 0||e.forEach(n=>{n.call(this,s)}),s}}class Rt{constructor(t,i){if(this.element=f("pswp__img pswp__img--placeholder",t?"img":"div",i),t){const e=this.element;e.decoding="async",e.alt="",e.src=t,e.setAttribute("role","presentation")}this.element.setAttribute("aria-hidden","true")}setDisplayedSize(t,i){this.element&&(this.element.tagName==="IMG"?(L(this.element,250,"auto"),this.element.style.transformOrigin="0 0",this.element.style.transform=b(0,0,t/250)):L(this.element,t,i))}destroy(){var t;(t=this.element)!==null&&t!==void 0&&t.parentNode&&this.element.remove(),this.element=null}}class Ft{constructor(t,i,e){this.instance=i,this.data=t,this.index=e,this.element=void 0,this.placeholder=void 0,this.slide=void 0,this.displayedImageWidth=0,this.displayedImageHeight=0,this.width=Number(this.data.w)||Number(this.data.width)||0,this.height=Number(this.data.h)||Number(this.data.height)||0,this.isAttached=!1,this.hasSlide=!1,this.isDecoding=!1,this.state=_.IDLE,this.data.type?this.type=this.data.type:this.data.src?this.type="image":this.type="html",this.instance.dispatch("contentInit",{content:this})}removePlaceholder(){this.placeholder&&!this.keepPlaceholder()&&setTimeout(()=>{this.placeholder&&(this.placeholder.destroy(),this.placeholder=void 0)},1e3)}load(t,i){if(this.slide&&this.usePlaceholder())if(this.placeholder){const e=this.placeholder.element;e&&!e.parentElement&&this.slide.container.prepend(e)}else{const e=this.instance.applyFilters("placeholderSrc",this.data.msrc&&this.slide.isFirstSlide?this.data.msrc:!1,this);this.placeholder=new Rt(e,this.slide.container)}this.element&&!i||this.instance.dispatch("contentLoad",{content:this,isLazy:t}).defaultPrevented||(this.isImageContent()?(this.element=f("pswp__img","img"),this.displayedImageWidth&&this.loadImage(t)):(this.element=f("pswp__content","div"),this.element.innerHTML=this.data.html||""),i&&this.slide&&this.slide.updateContentSize(!0))}loadImage(t){var i,e;if(!this.isImageContent()||!this.element||this.instance.dispatch("contentLoadImage",{content:this,isLazy:t}).defaultPrevented)return;const s=this.element;this.updateSrcsetSizes(),this.data.srcset&&(s.srcset=this.data.srcset),s.src=(i=this.data.src)!==null&&i!==void 0?i:"",s.alt=(e=this.data.alt)!==null&&e!==void 0?e:"",this.state=_.LOADING,s.complete?this.onLoaded():(s.onload=()=>{this.onLoaded()},s.onerror=()=>{this.onError()})}setSlide(t){this.slide=t,this.hasSlide=!0,this.instance=t.pswp}onLoaded(){this.state=_.LOADED,this.slide&&this.element&&(this.instance.dispatch("loadComplete",{slide:this.slide,content:this}),this.slide.isActive&&this.slide.heavyAppended&&!this.element.parentNode&&(this.append(),this.slide.updateContentSize(!0)),(this.state===_.LOADED||this.state===_.ERROR)&&this.removePlaceholder())}onError(){this.state=_.ERROR,this.slide&&(this.displayError(),this.instance.dispatch("loadComplete",{slide:this.slide,isError:!0,content:this}),this.instance.dispatch("loadError",{slide:this.slide,content:this}))}isLoading(){return this.instance.applyFilters("isContentLoading",this.state===_.LOADING,this)}isError(){return this.state===_.ERROR}isImageContent(){return this.type==="image"}setDisplayedSize(t,i){if(this.element&&(this.placeholder&&this.placeholder.setDisplayedSize(t,i),!this.instance.dispatch("contentResize",{content:this,width:t,height:i}).defaultPrevented&&(L(this.element,t,i),this.isImageContent()&&!this.isError()))){const e=!this.displayedImageWidth&&t;this.displayedImageWidth=t,this.displayedImageHeight=i,e?this.loadImage(!1):this.updateSrcsetSizes(),this.slide&&this.instance.dispatch("imageSizeChange",{slide:this.slide,width:t,height:i,content:this})}}isZoomable(){return this.instance.applyFilters("isContentZoomable",this.isImageContent()&&this.state!==_.ERROR,this)}updateSrcsetSizes(){if(!this.isImageContent()||!this.element||!this.data.srcset)return;const t=this.element,i=this.instance.applyFilters("srcsetSizesWidth",this.displayedImageWidth,this);(!t.dataset.largestUsedSize||i>parseInt(t.dataset.largestUsedSize,10))&&(t.sizes=i+"px",t.dataset.largestUsedSize=String(i))}usePlaceholder(){return this.instance.applyFilters("useContentPlaceholder",this.isImageContent(),this)}lazyLoad(){this.instance.dispatch("contentLazyLoad",{content:this}).defaultPrevented||this.load(!0)}keepPlaceholder(){return this.instance.applyFilters("isKeepingPlaceholder",this.isLoading(),this)}destroy(){this.hasSlide=!1,this.slide=void 0,!this.instance.dispatch("contentDestroy",{content:this}).defaultPrevented&&(this.remove(),this.placeholder&&(this.placeholder.destroy(),this.placeholder=void 0),this.isImageContent()&&this.element&&(this.element.onload=null,this.element.onerror=null,this.element=void 0))}displayError(){if(this.slide){var t,i;let e=f("pswp__error-msg","div");e.innerText=(t=(i=this.instance.options)===null||i===void 0?void 0:i.errorMsg)!==null&&t!==void 0?t:"",e=this.instance.applyFilters("contentErrorElement",e,this),this.element=f("pswp__content pswp__error-msg-container","div"),this.element.appendChild(e),this.slide.container.innerText="",this.slide.container.appendChild(this.element),this.slide.updateContentSize(!0),this.removePlaceholder()}}append(){if(this.isAttached||!this.element)return;if(this.isAttached=!0,this.state===_.ERROR){this.displayError();return}if(this.instance.dispatch("contentAppend",{content:this}).defaultPrevented)return;const t="decode"in this.element;this.isImageContent()?t&&this.slide&&(!this.slide.isActive||C())?(this.isDecoding=!0,this.element.decode().catch(()=>{}).finally(()=>{this.isDecoding=!1,this.appendImage()})):this.appendImage():this.slide&&!this.element.parentNode&&this.slide.container.appendChild(this.element)}activate(){this.instance.dispatch("contentActivate",{content:this}).defaultPrevented||!this.slide||(this.isImageContent()&&this.isDecoding&&!C()?this.appendImage():this.isError()&&this.load(!1,!0),this.slide.holderElement&&this.slide.holderElement.setAttribute("aria-hidden","false"))}deactivate(){this.instance.dispatch("contentDeactivate",{content:this}),this.slide&&this.slide.holderElement&&this.slide.holderElement.setAttribute("aria-hidden","true")}remove(){this.isAttached=!1,!this.instance.dispatch("contentRemove",{content:this}).defaultPrevented&&(this.element&&this.element.parentNode&&this.element.remove(),this.placeholder&&this.placeholder.element&&this.placeholder.element.remove())}appendImage(){this.isAttached&&(this.instance.dispatch("contentAppendImage",{content:this}).defaultPrevented||(this.slide&&this.element&&!this.element.parentNode&&this.slide.container.appendChild(this.element),(this.state===_.LOADED||this.state===_.ERROR)&&this.removePlaceholder()))}}const Bt=5;function W(r,t,i){const e=t.createContentFromData(r,i);let s;const{options:n}=t;if(n){s=new k(n,r,-1);let o;t.pswp?o=t.pswp.viewportSize:o=B(n,t);const a=N(n,o,r,i);s.update(e.width,e.height,a)}return e.lazyLoad(),s&&e.setDisplayedSize(Math.ceil(e.width*s.initial),Math.ceil(e.height*s.initial)),e}function Nt(r,t){const i=t.getItemData(r);if(!t.dispatch("lazyLoadSlide",{index:r,itemData:i}).defaultPrevented)return W(i,t,r)}class kt{constructor(t){this.pswp=t,this.limit=Math.max(t.options.preload[0]+t.options.preload[1]+1,Bt),this._cachedItems=[]}updateLazy(t){const{pswp:i}=this;if(i.dispatch("lazyLoad").defaultPrevented)return;const{preload:e}=i.options,s=t===void 0?!0:t>=0;let n;for(n=0;n<=e[1];n++)this.loadSlideByIndex(i.currIndex+(s?n:-n));for(n=1;n<=e[0];n++)this.loadSlideByIndex(i.currIndex+(s?-n:n))}loadSlideByIndex(t){const i=this.pswp.getLoopedIndex(t);let e=this.getContentByIndex(i);e||(e=Nt(i,this.pswp),e&&this.addToCache(e))}getContentBySlide(t){let i=this.getContentByIndex(t.index);return i||(i=this.pswp.createContentFromData(t.data,t.index),this.addToCache(i)),i.setSlide(t),i}addToCache(t){if(this.removeByIndex(t.index),this._cachedItems.push(t),this._cachedItems.length>this.limit){const i=this._cachedItems.findIndex(e=>!e.isAttached&&!e.hasSlide);i!==-1&&this._cachedItems.splice(i,1)[0].destroy()}}removeByIndex(t){const i=this._cachedItems.findIndex(e=>e.index===t);i!==-1&&this._cachedItems.splice(i,1)}getContentByIndex(t){return this._cachedItems.find(i=>i.index===t)}destroy(){this._cachedItems.forEach(t=>t.destroy()),this._cachedItems=[]}}class Ht extends Mt{getNumItems(){var t;let i=0;const e=(t=this.options)===null||t===void 0?void 0:t.dataSource;e&&"length"in e?i=e.length:e&&"gallery"in e&&(e.items||(e.items=this._getGalleryDOMElements(e.gallery)),e.items&&(i=e.items.length));const s=this.dispatch("numItems",{dataSource:e,numItems:i});return this.applyFilters("numItems",s.numItems,e)}createContentFromData(t,i){return new Ft(t,this,i)}getItemData(t){var i;const e=(i=this.options)===null||i===void 0?void 0:i.dataSource;let s={};Array.isArray(e)?s=e[t]:e&&"gallery"in e&&(e.items||(e.items=this._getGalleryDOMElements(e.gallery)),s=e.items[t]);let n=s;n instanceof Element&&(n=this._domElementToItemData(n));const o=this.dispatch("itemData",{itemData:n||{},index:t});return this.applyFilters("itemData",o.itemData,t)}_getGalleryDOMElements(t){var i,e;return(i=this.options)!==null&&i!==void 0&&i.children||(e=this.options)!==null&&e!==void 0&&e.childSelector?K(this.options.children,this.options.childSelector,t)||[]:[t]}_domElementToItemData(t){const i={element:t},e=t.tagName==="A"?t:t.querySelector("a");if(e){i.src=e.dataset.pswpSrc||e.href,e.dataset.pswpSrcset&&(i.srcset=e.dataset.pswpSrcset),i.width=e.dataset.pswpWidth?parseInt(e.dataset.pswpWidth,10):0,i.height=e.dataset.pswpHeight?parseInt(e.dataset.pswpHeight,10):0,i.w=i.width,i.h=i.height,e.dataset.pswpType&&(i.type=e.dataset.pswpType);const n=t.querySelector("img");if(n){var s;i.msrc=n.currentSrc||n.src,i.alt=(s=n.getAttribute("alt"))!==null&&s!==void 0?s:""}(e.dataset.pswpCropped||e.dataset.cropped)&&(i.thumbCropped=!0)}return this.applyFilters("domItemData",i,t,e)}lazyLoadData(t,i){return W(t,this,i)}}const P=.003;class Wt{constructor(t){this.pswp=t,this.isClosed=!0,this.isOpen=!1,this.isClosing=!1,this.isOpening=!1,this._duration=void 0,this._useAnimation=!1,this._croppedZoom=!1,this._animateRootOpacity=!1,this._animateBgOpacity=!1,this._placeholder=void 0,this._opacityElement=void 0,this._cropContainer1=void 0,this._cropContainer2=void 0,this._thumbBounds=void 0,this._prepareOpen=this._prepareOpen.bind(this),t.on("firstZoomPan",this._prepareOpen)}open(){this._prepareOpen(),this._start()}close(){if(this.isClosed||this.isClosing||this.isOpening)return;const t=this.pswp.currSlide;this.isOpen=!1,this.isOpening=!1,this.isClosing=!0,this._duration=this.pswp.options.hideAnimationDuration,t&&t.currZoomLevel*t.width>=this.pswp.options.maxWidthToAnimate&&(this._duration=0),this._applyStartProps(),setTimeout(()=>{this._start()},this._croppedZoom?30:0)}_prepareOpen(){if(this.pswp.off("firstZoomPan",this._prepareOpen),!this.isOpening){const t=this.pswp.currSlide;this.isOpening=!0,this.isClosing=!1,this._duration=this.pswp.options.showAnimationDuration,t&&t.zoomLevels.initial*t.width>=this.pswp.options.maxWidthToAnimate&&(this._duration=0),this._applyStartProps()}}_applyStartProps(){const{pswp:t}=this,i=this.pswp.currSlide,{options:e}=t;if(e.showHideAnimationType==="fade"?(e.showHideOpacity=!0,this._thumbBounds=void 0):e.showHideAnimationType==="none"?(e.showHideOpacity=!1,this._duration=0,this._thumbBounds=void 0):this.isOpening&&t._initialThumbBounds?this._thumbBounds=t._initialThumbBounds:this._thumbBounds=this.pswp.getThumbBounds(),this._placeholder=i==null?void 0:i.getPlaceholderElement(),t.animations.stopAll(),this._useAnimation=!!(this._duration&&this._duration>50),this._animateZoom=!!this._thumbBounds&&(i==null?void 0:i.content.usePlaceholder())&&(!this.isClosing||!t.mainScroll.isShifted()),!this._animateZoom)this._animateRootOpacity=!0,this.isOpening&&i&&(i.zoomAndPanToInitial(),i.applyCurrentZoomPan());else{var s;this._animateRootOpacity=(s=e.showHideOpacity)!==null&&s!==void 0?s:!1}if(this._animateBgOpacity=!this._animateRootOpacity&&this.pswp.options.bgOpacity>P,this._opacityElement=this._animateRootOpacity?t.element:t.bg,!this._useAnimation){this._duration=0,this._animateZoom=!1,this._animateBgOpacity=!1,this._animateRootOpacity=!0,this.isOpening&&(t.element&&(t.element.style.opacity=String(P)),t.applyBgOpacity(1));return}if(this._animateZoom&&this._thumbBounds&&this._thumbBounds.innerRect){var n;this._croppedZoom=!0,this._cropContainer1=this.pswp.container,this._cropContainer2=(n=this.pswp.currSlide)===null||n===void 0?void 0:n.holderElement,t.container&&(t.container.style.overflow="hidden",t.container.style.width=t.viewportSize.x+"px")}else this._croppedZoom=!1;this.isOpening?(this._animateRootOpacity?(t.element&&(t.element.style.opacity=String(P)),t.applyBgOpacity(1)):(this._animateBgOpacity&&t.bg&&(t.bg.style.opacity=String(P)),t.element&&(t.element.style.opacity="1")),this._animateZoom&&(this._setClosedStateZoomPan(),this._placeholder&&(this._placeholder.style.willChange="transform",this._placeholder.style.opacity=String(P)))):this.isClosing&&(t.mainScroll.itemHolders[0]&&(t.mainScroll.itemHolders[0].el.style.display="none"),t.mainScroll.itemHolders[2]&&(t.mainScroll.itemHolders[2].el.style.display="none"),this._croppedZoom&&t.mainScroll.x!==0&&(t.mainScroll.resetPosition(),t.mainScroll.resize()))}_start(){this.isOpening&&this._useAnimation&&this._placeholder&&this._placeholder.tagName==="IMG"?new Promise(t=>{let i=!1,e=!0;q(this._placeholder).finally(()=>{i=!0,e||t(!0)}),setTimeout(()=>{e=!1,i&&t(!0)},50),setTimeout(t,250)}).finally(()=>this._initiate()):this._initiate()}_initiate(){var t,i;(t=this.pswp.element)===null||t===void 0||t.style.setProperty("--pswp-transition-duration",this._duration+"ms"),this.pswp.dispatch(this.isOpening?"openingAnimationStart":"closingAnimationStart"),this.pswp.dispatch("initialZoom"+(this.isOpening?"In":"Out")),(i=this.pswp.element)===null||i===void 0||i.classList.toggle("pswp--ui-visible",this.isOpening),this.isOpening?(this._placeholder&&(this._placeholder.style.opacity="1"),this._animateToOpenState()):this.isClosing&&this._animateToClosedState(),this._useAnimation||this._onAnimationComplete()}_onAnimationComplete(){const{pswp:t}=this;if(this.isOpen=this.isOpening,this.isClosed=this.isClosing,this.isOpening=!1,this.isClosing=!1,t.dispatch(this.isOpen?"openingAnimationEnd":"closingAnimationEnd"),t.dispatch("initialZoom"+(this.isOpen?"InEnd":"OutEnd")),this.isClosed)t.destroy();else if(this.isOpen){var i;this._animateZoom&&t.container&&(t.container.style.overflow="visible",t.container.style.width="100%"),(i=t.currSlide)===null||i===void 0||i.applyCurrentZoomPan()}}_animateToOpenState(){const{pswp:t}=this;this._animateZoom&&(this._croppedZoom&&this._cropContainer1&&this._cropContainer2&&(this._animateTo(this._cropContainer1,"transform","translate3d(0,0,0)"),this._animateTo(this._cropContainer2,"transform","none")),t.currSlide&&(t.currSlide.zoomAndPanToInitial(),this._animateTo(t.currSlide.container,"transform",t.currSlide.getCurrentTransform()))),this._animateBgOpacity&&t.bg&&this._animateTo(t.bg,"opacity",String(t.options.bgOpacity)),this._animateRootOpacity&&t.element&&this._animateTo(t.element,"opacity","1")}_animateToClosedState(){const{pswp:t}=this;this._animateZoom&&this._setClosedStateZoomPan(!0),this._animateBgOpacity&&t.bgOpacity>.01&&t.bg&&this._animateTo(t.bg,"opacity","0"),this._animateRootOpacity&&t.element&&this._animateTo(t.element,"opacity","0")}_setClosedStateZoomPan(t){if(!this._thumbBounds)return;const{pswp:i}=this,{innerRect:e}=this._thumbBounds,{currSlide:s,viewportSize:n}=i;if(this._croppedZoom&&e&&this._cropContainer1&&this._cropContainer2){const o=-n.x+(this._thumbBounds.x-e.x)+e.w,a=-n.y+(this._thumbBounds.y-e.y)+e.h,h=n.x-e.w,l=n.y-e.h;t?(this._animateTo(this._cropContainer1,"transform",b(o,a)),this._animateTo(this._cropContainer2,"transform",b(h,l))):(y(this._cropContainer1,o,a),y(this._cropContainer2,h,l))}s&&(p(s.pan,e||this._thumbBounds),s.currZoomLevel=this._thumbBounds.w/s.width,t?this._animateTo(s.container,"transform",s.getCurrentTransform()):s.applyCurrentZoomPan())}_animateTo(t,i,e){if(!this._duration){t.style[i]=e;return}const{animations:s}=this.pswp,n={duration:this._duration,easing:this.pswp.options.easing,onComplete:()=>{s.activeAnimations.length||this._onAnimationComplete()},target:t};n[i]=e,s.startTransition(n)}}const Vt={allowPanToNext:!0,spacing:.1,loop:!0,pinchToClose:!0,closeOnVerticalDrag:!0,hideAnimationDuration:333,showAnimationDuration:333,zoomAnimationDuration:333,escKey:!0,arrowKeys:!0,trapFocus:!0,returnFocus:!0,maxWidthToAnimate:4e3,clickToCloseNonZoomable:!0,imageClickAction:"zoom-or-close",bgClickAction:"close",tapAction:"toggle-controls",doubleTapAction:"zoom",indexIndicatorSep:" / ",preloaderDelay:2e3,bgOpacity:.8,index:0,errorMsg:"The image cannot be loaded",preload:[1,2],easing:"cubic-bezier(.4,0,.22,1)"};class $t extends Ht{constructor(t){super(),this.options=this._prepareOptions(t||{}),this.offset={x:0,y:0},this._prevViewportSize={x:0,y:0},this.viewportSize={x:0,y:0},this.bgOpacity=1,this.currIndex=0,this.potentialIndex=0,this.isOpen=!1,this.isDestroying=!1,this.hasMouse=!1,this._initialItemData={},this._initialThumbBounds=void 0,this.topBar=void 0,this.element=void 0,this.template=void 0,this.container=void 0,this.scrollWrap=void 0,this.currSlide=void 0,this.events=new X,this.animations=new wt,this.mainScroll=new dt(this),this.gestures=new lt(this),this.opener=new Wt(this),this.keyboard=new ut(this),this.contentLoader=new kt(this)}init(){if(this.isOpen||this.isDestroying)return!1;this.isOpen=!0,this.dispatch("init"),this.dispatch("beforeOpen"),this._createMainStructure();let t="pswp--open";return this.gestures.supportsTouch&&(t+=" pswp--touch"),this.options.mainClass&&(t+=" "+this.options.mainClass),this.element&&(this.element.className+=" "+t),this.currIndex=this.options.index||0,this.potentialIndex=this.currIndex,this.dispatch("firstUpdate"),this.scrollWheel=new Pt(this),(Number.isNaN(this.currIndex)||this.currIndex<0||this.currIndex>=this.getNumItems())&&(this.currIndex=0),this.gestures.supportsTouch||this.mouseDetected(),this.updateSize(),this.offset.y=window.pageYOffset,this._initialItemData=this.getItemData(this.currIndex),this.dispatch("gettingData",{index:this.currIndex,data:this._initialItemData,slide:void 0}),this._initialThumbBounds=this.getThumbBounds(),this.dispatch("initialLayout"),this.on("openingAnimationEnd",()=>{const{itemHolders:i}=this.mainScroll;i[0]&&(i[0].el.style.display="block",this.setContent(i[0],this.currIndex-1)),i[2]&&(i[2].el.style.display="block",this.setContent(i[2],this.currIndex+1)),this.appendHeavy(),this.contentLoader.updateLazy(),this.events.add(window,"resize",this._handlePageResize.bind(this)),this.events.add(window,"scroll",this._updatePageScrollOffset.bind(this)),this.dispatch("bindEvents")}),this.mainScroll.itemHolders[1]&&this.setContent(this.mainScroll.itemHolders[1],this.currIndex),this.dispatch("change"),this.opener.open(),this.dispatch("afterInit"),!0}getLoopedIndex(t){const i=this.getNumItems();return this.options.loop&&(t>i-1&&(t-=i),t<0&&(t+=i)),I(t,0,i-1)}appendHeavy(){this.mainScroll.itemHolders.forEach(t=>{var i;(i=t.slide)===null||i===void 0||i.appendHeavy()})}goTo(t){this.mainScroll.moveIndexBy(this.getLoopedIndex(t)-this.potentialIndex)}next(){this.goTo(this.potentialIndex+1)}prev(){this.goTo(this.potentialIndex-1)}zoomTo(...t){var i;(i=this.currSlide)===null||i===void 0||i.zoomTo(...t)}toggleZoom(){var t;(t=this.currSlide)===null||t===void 0||t.toggleZoom()}close(){!this.opener.isOpen||this.isDestroying||(this.isDestroying=!0,this.dispatch("close"),this.events.removeAll(),this.opener.close())}destroy(){var t;if(!this.isDestroying){this.options.showHideAnimationType="none",this.close();return}this.dispatch("destroy"),this._listeners={},this.scrollWrap&&(this.scrollWrap.ontouchmove=null,this.scrollWrap.ontouchend=null),(t=this.element)===null||t===void 0||t.remove(),this.mainScroll.itemHolders.forEach(i=>{var e;(e=i.slide)===null||e===void 0||e.destroy()}),this.contentLoader.destroy(),this.events.removeAll()}refreshSlideContent(t){this.contentLoader.removeByIndex(t),this.mainScroll.itemHolders.forEach((i,e)=>{var s,n;let o=((s=(n=this.currSlide)===null||n===void 0?void 0:n.index)!==null&&s!==void 0?s:0)-1+e;if(this.canLoop()&&(o=this.getLoopedIndex(o)),o===t&&(this.setContent(i,t,!0),e===1)){var a;this.currSlide=i.slide,(a=i.slide)===null||a===void 0||a.setIsActive(!0)}}),this.dispatch("change")}setContent(t,i,e){if(this.canLoop()&&(i=this.getLoopedIndex(i)),t.slide){if(t.slide.index===i&&!e)return;t.slide.destroy(),t.slide=void 0}if(!this.canLoop()&&(i<0||i>=this.getNumItems()))return;const s=this.getItemData(i);t.slide=new j(s,i,this),i===this.currIndex&&(this.currSlide=t.slide),t.slide.append(t.el)}getViewportCenterPoint(){return{x:this.viewportSize.x/2,y:this.viewportSize.y/2}}updateSize(t){if(this.isDestroying)return;const i=B(this.options,this);!t&&x(i,this._prevViewportSize)||(p(this._prevViewportSize,i),this.dispatch("beforeResize"),p(this.viewportSize,this._prevViewportSize),this._updatePageScrollOffset(),this.dispatch("viewportSize"),this.mainScroll.resize(this.opener.isOpen),!this.hasMouse&&window.matchMedia("(any-hover: hover)").matches&&this.mouseDetected(),this.dispatch("resize"))}applyBgOpacity(t){this.bgOpacity=Math.max(t,0),this.bg&&(this.bg.style.opacity=String(this.bgOpacity*this.options.bgOpacity))}mouseDetected(){if(!this.hasMouse){var t;this.hasMouse=!0,(t=this.element)===null||t===void 0||t.classList.add("pswp--has_mouse")}}_handlePageResize(){this.updateSize(),/iPhone|iPad|iPod/i.test(window.navigator.userAgent)&&setTimeout(()=>{this.updateSize()},500)}_updatePageScrollOffset(){this.setScrollOffset(0,window.pageYOffset)}setScrollOffset(t,i){this.offset.x=t,this.offset.y=i,this.dispatch("updateScrollOffset")}_createMainStructure(){this.element=f("pswp","div"),this.element.setAttribute("tabindex","-1"),this.element.setAttribute("role","dialog"),this.template=this.element,this.bg=f("pswp__bg","div",this.element),this.scrollWrap=f("pswp__scroll-wrap","section",this.element),this.container=f("pswp__container","div",this.scrollWrap),this.scrollWrap.setAttribute("aria-roledescription","carousel"),this.container.setAttribute("aria-live","off"),this.container.setAttribute("id","pswp__items"),this.mainScroll.appendHolders(),this.ui=new zt(this),this.ui.init(),(this.options.appendToEl||document.body).appendChild(this.element)}getThumbBounds(){return Zt(this.currIndex,this.currSlide?this.currSlide.data:this._initialItemData,this)}canLoop(){return this.options.loop&&this.getNumItems()>2}_prepareOptions(t){return window.matchMedia("(prefers-reduced-motion), (update: slow)").matches&&(t.showHideAnimationType="none",t.zoomAnimationDuration=0),{...Vt,...t}}}export{$t as default};
diff --git a/assets/prod-xvsVbB4U.js b/assets/prod-BwnsjH-l.js
similarity index 97%
rename from assets/prod-xvsVbB4U.js
rename to assets/prod-BwnsjH-l.js
index d8e4b51..318eb34 100644
--- a/assets/prod-xvsVbB4U.js
+++ b/assets/prod-BwnsjH-l.js
@@ -1,10 +1,10 @@
 function __vite__mapDeps(indexes) {
   if (!__vite__mapDeps.viteFileDeps) {
-    __vite__mapDeps.viteFileDeps = ["assets/srt-parser-B6TtvNfT.js","assets/app-ClwIkahu.js","assets/ssa-parser-ATSTOWE-.js","assets/errors-DMVIUcT9.js"]
+    __vite__mapDeps.viteFileDeps = ["assets/srt-parser-CPqzF2a8.js","assets/app-Flo2gZk8.js","assets/ssa-parser-4bJE8AW5.js","assets/errors-DznrJICi.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-ClwIkahu.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;s<e.length;s++)this.onLine(e[s].trim())}close(){this.x&&this.onLine(this.x.trim()),this.x="",this.onClose()}}async function at(i,t){const e=new ReadableStream({start(s){const n=i.split(V);for(const r of n)s.enqueue(r);s.close()}});return C(e,t)}async function C(i,t){const e=(t==null?void 0:t.type)??"vtt";let s;if(typeof e=="string")switch(e){case"srt":s=(await k(()=>import("./srt-parser-B6TtvNfT.js"),__vite__mapDeps([0,1]))).default;break;case"ssa":case"ass":s=(await k(()=>import("./ssa-parser-ATSTOWE-.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-DMVIUcT9.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-Flo2gZk8.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;s<e.length;s++)this.onLine(e[s].trim())}close(){this.x&&this.onLine(this.x.trim()),this.x="",this.onClose()}}async function at(i,t){const e=new ReadableStream({start(s){const n=i.split(V);for(const r of n)s.enqueue(r);s.close()}});return C(e,t)}async function C(i,t){const e=(t==null?void 0:t.type)??"vtt";let s;if(typeof e=="string")switch(e){case"srt":s=(await k(()=>import("./srt-parser-CPqzF2a8.js"),__vite__mapDeps([0,1]))).default;break;case"ssa":case"ass":s=(await k(()=>import("./ssa-parser-4bJE8AW5.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-DznrJICi.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;o<t.length;o++)if(b.test(t[o])){s=!1;const[a,l]=t[o].split(b);switch(a){case"id":this.b.id=l;break;case"width":const c=y(l);c!==null?this.b.width=c:s=!0;break;case"lines":const f=ct(l);f!==null?this.b.lines=f:s=!0;break;case"regionanchor":const u=z(l);u!==null?(this.b.regionAnchorX=u[0],this.b.regionAnchorY=u[1]):s=!0;break;case"viewportanchor":const d=z(l);d!==null?(this.b.viewportAnchorX=d[0],this.b.viewportAnchorY=d[1]):s=!0;break;case"scroll":l==="up"?this.b.scroll="up":s=!0;break;default:this.e((n=this.d)==null?void 0:n.t(a,l,e))}s&&this.e((r=this.d)==null?void 0:r.u(a,l,e))}}m(t,e){var n,r;let s;for(let o=0;o<t.length;o++)if(s=!1,b.test(t[o])){const[a,l]=t[o].split(b);switch(a){case"region":const c=this.h[l];c&&(this.a.region=c);break;case"vertical":l==="lr"||l==="rl"?(this.a.vertical=l,this.a.region=null):s=!0;break;case"line":const[f,u]=l.split(j);if(f.includes(dt)){const w=y(f);w!==null?(this.a.line=w,this.a.snapToLines=!1):s=!0}else{const w=ut(f);w!==null?this.a.line=w:s=!0}yt.test(u)?this.a.lineAlign=u:u&&(s=!0),this.a.line!=="auto"&&(this.a.region=null);break;case"position":const[d,m]=l.split(j),O=y(d);O!==null?this.a.position=O:s=!0,m&&At.test(m)?this.a.positionAlign=m:m&&(s=!0);break;case"size":const N=y(l);N!==null?(this.a.size=N,N<100&&(this.a.region=null)):s=!0;break;case"align":vt.test(l)?this.a.align=l:s=!0;break;default:this.e((n=this.d)==null?void 0:n.v(a,l,e))}s&&this.e((r=this.d)==null?void 0:r.w(a,l,e))}}e(t){var e,s;if(t){if(this.k.push(t),this.f.strict)throw this.f.cancel(),t;(s=(e=this.f).onError)==null||s.call(e,t)}}}function E(i){const t=i.match(Et);if(!t)return null;const e=t[1]?parseInt(t[1],10):0,s=parseInt(t[2],10),n=parseInt(t[3],10),r=t[4]?parseInt(t[4].padEnd(3,"0"),10):0,o=e*3600+s*60+n+r/1e3;return e<0||s<0||n<0||r<0||s>59||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={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'","&nbsp;":" ","&lrm;":"‎","&rlm;":"‏"},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<i.text.length;u++){const d=i.text[u];switch(e){case 1:d==="<"?(l(),e=2):t+=d;break;case 2:switch(d){case`
 `:case"	":case" ":o(),e=4;break;case".":o(),e=3;break;case"/":e=5;break;case">":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.time<t),e.style=`${n.color?`color: ${n.color};`:""}${n.bgColor?`background-color: ${n.bgColor};`:""}`;const o=Object.entries(e).filter(a=>a[1]).map(a=>`${a[0]}="${a[1]===!0?"":a[1]}"`).join(" ");s+=`<${n.tagName}${o?" "+o:""}>${x(n.children)}</${n.tagName}>`}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?g(e,"past"):e.removeAttribute("data-past"))}}function Ot(i,t){let e=null,s;function n(){r(),i(...s),s=void 0}function r(){clearTimeout(e),e=null}function o(){s=[].slice.call(arguments),r(),e=setTimeout(n,t)}return o}const T=Symbol(0);function P(i){return i instanceof HTMLElement?{top:i.offsetTop,width:i.clientWidth,height:i.clientHeight,left:i.offsetLeft,right:i.offsetLeft+i.clientWidth,bottom:i.offsetTop+i.clientHeight}:{...i}}function S(i,t,e){switch(t){case"+x":i.left+=e,i.right+=e;break;case"-x":i.left-=e,i.right-=e;break;case"+y":i.top+=e,i.bottom+=e;break;case"-y":i.top-=e,i.bottom-=e;break}}function Bt(i,t){return i.left<=t.right&&i.right>=t.left&&i.top<=t.bottom&&i.bottom>=t.top}function zt(i,t){for(let e=0;e<t.length;e++)if(Bt(i,t[e]))return t[e];return null}function $(i,t){return t.top>=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;a<s.length;a++){for(;jt(i,t,s[a])||$(i,t)&&zt(t,e);)S(t,s[a],1);if($(i,t))return t;const l=$t(i,t);n>l&&(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;r<this.B.length;r++){if(e=this.B[r],s[r]===e)continue;if(e.region&&!n.includes(e.region)){const a=this.h.get(e.region.id);a&&(a.removeAttribute("data-active"),t=!0)}const o=this.j.get(e);o&&(o.remove(),t=!0)}for(let r=0;r<s.length;r++){e=s[r];let o=this.j.get(e);o||this.j.set(e,o=this.L(e));const a=this.F(e)&&this.h.get(e.region.id);a&&!a.hasAttribute("data-active")&&(requestAnimationFrame(()=>g(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<a?t.size:a;t.vertical===""?p(e,"cue-width",l+"%"):p(e,"cue-height",l+"%")}const r=document.createElement("div");return _(r,"cue"),t.id&&g(r,"id",t.id),r.innerHTML=L(t),e.append(r),e}F(t){return t.region&&t.size===100&&t.vertical===""&&t.line==="auto"}}const Qt=Object.freeze(Object.defineProperty({__proto__:null,CaptionsRenderer:Yt,ParseError:st,ParseErrorCode:it,TextCue:H,VTTCue:D,VTTRegion:F,createVTTCueTemplate:Mt,parseByteStream:G,parseResponse:ot,parseText:at,parseTextStream:C,parseVTTTimestamp:E,renderVTTCueString:L,renderVTTTokensString:x,tokenizeVTTCue:Y,updateTimedVTTCueNodes:K},Symbol.toStringTag,{value:"Module"}));export{st as P,X as V,W as a,D as b,it as c,Qt as d,E as p};
diff --git a/assets/srt-parser-B6TtvNfT.js b/assets/srt-parser-CPqzF2a8.js
similarity index 76%
rename from assets/srt-parser-B6TtvNfT.js
rename to assets/srt-parser-CPqzF2a8.js
index 396c5da..05e301b 100644
--- a/assets/srt-parser-B6TtvNfT.js
+++ b/assets/srt-parser-CPqzF2a8.js
@@ -1,2 +1,2 @@
-import{V as h,a as i,b as o}from"./prod-xvsVbB4U.js";import"./app-ClwIkahu.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?`
+import{V as h,a as i,b as o}from"./prod-BwnsjH-l.js";import"./app-Flo2gZk8.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-ATSTOWE-.js b/assets/ssa-parser-4bJE8AW5.js
similarity index 95%
rename from assets/ssa-parser-ATSTOWE-.js
rename to assets/ssa-parser-4bJE8AW5.js
index 1c0a952..0d18932 100644
--- a/assets/ssa-parser-ATSTOWE-.js
+++ b/assets/ssa-parser-4bJE8AW5.js
@@ -1,10 +1,10 @@
 function __vite__mapDeps(indexes) {
   if (!__vite__mapDeps.viteFileDeps) {
-    __vite__mapDeps.viteFileDeps = ["assets/errors-DMVIUcT9.js","assets/prod-xvsVbB4U.js","assets/app-ClwIkahu.js"]
+    __vite__mapDeps.viteFileDeps = ["assets/errors-DznrJICi.js","assets/prod-BwnsjH-l.js","assets/app-Flo2gZk8.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-ClwIkahu.js";import{b as L,p as R}from"./prod-xvsVbB4U.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-DMVIUcT9.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-Flo2gZk8.js";import{b as L,p as R}from"./prod-BwnsjH-l.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-DznrJICi.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<this.O.length;g++){const M=this.O[g],l=t[g];switch(M){case"Name":s=l;break;case"Fontname":e["font-family"]=l;break;case"Fontsize":e["font-size"]=`calc(${l} / var(--overlay-height))`;break;case"PrimaryColour":const _=O(l);_&&(e["--cue-color"]=_);break;case"BorderStyle":h=parseInt(l,10);break;case"BackColour":p=O(l);break;case"OutlineColour":const E=O(l);E&&(n=E);break;case"Bold":parseInt(l)&&(e["font-weight"]="bold");break;case"Italic":parseInt(l)&&(e["font-style"]="italic");break;case"Underline":parseInt(l)&&(e["text-decoration"]="underline");break;case"StrikeOut":parseInt(l)&&(e["text-decoration"]="line-through");break;case"Spacing":e["letter-spacing"]=l+"px";break;case"AlphaLevel":e.opacity=parseFloat(l);break;case"ScaleX":d.push(`scaleX(${parseFloat(l)/100})`);break;case"ScaleY":d.push(`scaleY(${parseFloat(l)/100})`);break;case"Angle":d.push(`rotate(${l}deg)`);break;case"Shadow":c=parseInt(l,10)*1.2;break;case"MarginL":e["--cue-width"]="auto",e["--cue-left"]=parseFloat(l)+"px";break;case"MarginR":e["--cue-width"]="auto",e["--cue-right"]=parseFloat(l)+"px";break;case"MarginV":f=parseFloat(l);break;case"Outline":a=parseInt(l,10);break;case"Alignment":const k=parseInt(l,10);switch(k>=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?`<v ${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;e<this.O.length;e++)s[this.O[e]]=t[e];return s}o(t,s,e){var r,f,c;const a=R(t),i=R(s);if(a!==null&&i!==null&&i>a)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<e;i++){const r=2*Math.PI*i/e;a+=o*Math.cos(r)+"px "+t*Math.sin(r)+"px 0 "+s+(i==e-1?"":",")}return a}function C(){return new V}export{V as SSAParser,C as default};
diff --git a/assets/style-7DTFFHvh.css b/assets/style-7DTFFHvh.css
new file mode 100644
index 0000000..40ad5d2
--- /dev/null
+++ b/assets/style-7DTFFHvh.css
@@ -0,0 +1 @@
+@charset "UTF-8";html[data-theme=dark]{--text-color: #9e9e9e;--bg-color: #0d1117;--bg-color-secondary: #161b22;--bg-color-tertiary: #21262c;--border-color: #30363d;--box-shadow: #282a32;--card-shadow: rgba(0, 0, 0, .3);--black: #fff;--dark-grey: #999;--light-grey: #666;--white: #000;--grey3: #bbb;--grey12: #333;--grey14: #111;--bg-color-light: #161b22;--bg-color-back: #0d1117;--bg-color-float: #161b22;--bg-color-blur: rgba(13, 17, 23, .9);--bg-color-float-blur: rgba(22, 27, 34, .9);--text-color-light: #a8a8a8;--text-color-lighter: #b1b1b1;--text-color-bright: #c5c5c5;--border-color-light: #2e333a;--border-color-dark: #394048}:root{--theme-color: #096dd9;--text-color: #2c3e50;--bg-color: #fff;--bg-color-secondary: #f8f8f8;--bg-color-tertiary: #efeef4;--border-color: #eaecef;--box-shadow: #f0f1f2;--card-shadow: rgba(0, 0, 0, .15);--black: #000;--dark-grey: #666;--light-grey: #999;--white: #fff;--grey3: #333;--grey12: #bbb;--grey14: #eee;--navbar-height: 3.75rem;--navbar-horizontal-padding: 1.5rem;--navbar-vertical-padding: .7rem;--navbar-mobile-height: 3.25rem;--navbar-mobile-horizontal-padding: 1rem;--navbar-mobile-vertical-padding: .5rem;--sidebar-width: 18rem;--sidebar-mobile-width: 16rem;--content-width: 780px;--home-page-width: 1160px;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", STHeiti, "Microsoft YaHei", SimSun, sans-serif;--font-family-heading: Georgia Pro, Crimson, Georgia, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", STHeiti, "Microsoft YaHei", SimSun, sans-serif;--font-family-mono: Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;--line-numbers-width: 2.5rem;--color-transition: .3s ease;--transform-transition: .3s ease;--vp-bg: var(--bg-color);--vp-bgl: var(--bg-color-light);--vp-bglt: var(--bg-color-tertiary);--vp-c: var(--text-color);--vp-cl: var(--text-color-light);--vp-clt: var(--text-color-lighter);--vp-brc: var(--border-color);--vp-brcd: var(--border-color-dark);--vp-tc: var(--theme-color);--vp-tcl: var(--theme-color-light);--vp-ct: var(--color-transition);--vp-tt: var(--transform-transition);--bg-color-light: #fff;--bg-color-back: #f8f8f8;--bg-color-float: #fff;--bg-color-blur: rgba(255, 255, 255, .9);--bg-color-float-blur: rgba(255, 255, 255, .9);--text-color-light: #3a5169;--text-color-lighter: #476582;--text-color-bright: #6a8bad;--border-color-light: #eceef1;--border-color-dark: #cfd4db;--theme-color-dark: #0862c3;--theme-color-light: #0a7bf4;--theme-color-mask: rgba(9, 109, 217, .15)}.font-icon{display:inline-block}.theme-hope-content .font-icon{vertical-align:middle}.vp-artplayer{text-align:center}:root{--badge-tip-color: #42b983;--badge-warning-color: #f4cd00;--badge-danger-color: #f55;--badge-info-color: #0295ff;--badge-note-color: #666}.vp-badge{display:inline-block;vertical-align:center;height:18px;padding:0 6px;border-radius:3px;background:var(--vp-tc);color:var(--white);font-size:14px;line-height:18px;transition:background var(--vp-ct),color var(--vp-ct)}.vp-badge+.vp-badge{margin-inline-start:5px}h1 .vp-badge,h2 .vp-badge,h3 .vp-badge,h4 .vp-badge,h5 .vp-badge,h6 .vp-badge{vertical-align:top}.vp-badge.tip{background:var(--badge-tip-color)}.vp-badge.warning{background:var(--badge-warning-color)}.vp-badge.danger{background:var(--badge-danger-color)}.vp-badge.info{background:var(--badge-info-color)}.vp-badge.note{background:var(--badge-note-color)}@media print{.bilibili-desc a{display:block}}.bilibili-iframe{margin:8px 0;border:none;border-radius:8px}@media print{.bilibili-iframe{display:none}}.codepen-wrapper{margin:1rem auto;padding:1rem;border:1px solid var(--vp-brc);text-align:center;transition:background var(--vp-ct),border var(--vp-ct)}.codepen-wrapper .codepen-button{display:block;margin:16px auto;padding:8px 16px;border:1px solid var(--vp-tc);border-radius:4px;background:transparent;color:var(--vp-tc);font-size:16px;cursor:pointer;transition:background var(--vp-ct),border var(--vp-ct),color var(--vp-ct)}.codepen-wrapper .codepen-button:hover{background:var(--vp-tcl);color:var(--vp-bg)}iframe[src*="codepen.io"]{border:none}.pdf-viewer-wrapper{position:relative;overflow:hidden;border-radius:8px}.pdf-viewer{width:100%;height:100%}.replit-wrapper{margin:8px 0;border:none;text-align:center}.replit-wrapper .replit-button{border-width:0;background:transparent;cursor:pointer;display:inline-block;margin:0 auto;padding:.5rem 1rem;border-radius:.5rem;background:var(--vp-bglt);color:var(--vp-c);font-weight:600;line-height:1.5;transition:background .3s ease,color .3s ease}.replit-wrapper .replit-button:hover{background:var(--vp-tc);color:var(--white, #fff)}.replit-iframe{border:none;border-radius:8px}:root{--balloon-border-radius: 2px;--balloon-color: rgba(16, 16, 16, .95);--balloon-text-color: #fff;--balloon-font-size: 12px;--balloon-move: 4px}button[aria-label][data-balloon-pos]{overflow:visible}[aria-label][data-balloon-pos]{position:relative;cursor:pointer}[aria-label][data-balloon-pos]:after{opacity:0;pointer-events:none;transition:all .18s ease-out .18s;text-indent:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-weight:400;font-style:normal;text-shadow:none;font-size:var(--balloon-font-size);background:var(--balloon-color);border-radius:2px;color:var(--balloon-text-color);border-radius:var(--balloon-border-radius);content:attr(aria-label);padding:.5em 1em;position:absolute;white-space:nowrap;z-index:10}[aria-label][data-balloon-pos]:before{width:0;height:0;border:5px solid transparent;border-top-color:var(--balloon-color);opacity:0;pointer-events:none;transition:all .18s ease-out .18s;content:"";position:absolute;z-index:10}[aria-label][data-balloon-pos]:hover:before,[aria-label][data-balloon-pos]:hover:after,[aria-label][data-balloon-pos][data-balloon-visible]:before,[aria-label][data-balloon-pos][data-balloon-visible]:after,[aria-label][data-balloon-pos]:not([data-balloon-nofocus]):focus:before,[aria-label][data-balloon-pos]:not([data-balloon-nofocus]):focus:after{opacity:1;pointer-events:none}[aria-label][data-balloon-pos].font-awesome:after{font-family:FontAwesome,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}[aria-label][data-balloon-pos][data-balloon-break]:after{white-space:pre}[aria-label][data-balloon-pos][data-balloon-break][data-balloon-length]:after{white-space:pre-line;word-break:break-word}[aria-label][data-balloon-pos][data-balloon-blunt]:before,[aria-label][data-balloon-pos][data-balloon-blunt]:after{transition:none}[aria-label][data-balloon-pos][data-balloon-pos=up]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=up][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos=down]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=down][data-balloon-visible]:after{transform:translate(-50%)}[aria-label][data-balloon-pos][data-balloon-pos=up]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=up][data-balloon-visible]:before,[aria-label][data-balloon-pos][data-balloon-pos=down]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=down][data-balloon-visible]:before{transform:translate(-50%)}[aria-label][data-balloon-pos][data-balloon-pos*=-left]:after{left:0}[aria-label][data-balloon-pos][data-balloon-pos*=-left]:before{left:5px}[aria-label][data-balloon-pos][data-balloon-pos*=-right]:after{right:0}[aria-label][data-balloon-pos][data-balloon-pos*=-right]:before{right:5px}[aria-label][data-balloon-pos][data-balloon-po*=-left]:hover:after,[aria-label][data-balloon-pos][data-balloon-po*=-left][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos*=-right]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos*=-right][data-balloon-visible]:after{transform:translate(0)}[aria-label][data-balloon-pos][data-balloon-po*=-left]:hover:before,[aria-label][data-balloon-pos][data-balloon-po*=-left][data-balloon-visible]:before,[aria-label][data-balloon-pos][data-balloon-pos*=-right]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos*=-right][data-balloon-visible]:before{transform:translate(0)}[aria-label][data-balloon-pos][data-balloon-pos^=up]:before,[aria-label][data-balloon-pos][data-balloon-pos^=up]:after{bottom:100%;transform-origin:top;transform:translateY(var(--balloon-move))}[aria-label][data-balloon-pos][data-balloon-pos^=up]:after{margin-bottom:10px}[aria-label][data-balloon-pos][data-balloon-pos=up]:before,[aria-label][data-balloon-pos][data-balloon-pos=up]:after{left:50%;transform:translate(-50%,var(--balloon-move))}[aria-label][data-balloon-pos][data-balloon-pos^=down]:before,[aria-label][data-balloon-pos][data-balloon-pos^=down]:after{top:100%;transform:translateY(calc(var(--balloon-move) * -1))}[aria-label][data-balloon-pos][data-balloon-pos^=down]:after{margin-top:10px}[aria-label][data-balloon-pos][data-balloon-pos^=down]:before{width:0;height:0;border:5px solid transparent;border-bottom-color:var(--balloon-color)}[aria-label][data-balloon-pos][data-balloon-pos=down]:after,[aria-label][data-balloon-pos][data-balloon-pos=down]:before{left:50%;transform:translate(-50%,calc(var(--balloon-move) * -1))}[aria-label][data-balloon-pos][data-balloon-pos=left]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=left][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos=right]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=right][data-balloon-visible]:after{transform:translateY(-50%)}[aria-label][data-balloon-pos][data-balloon-pos=left]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=left][data-balloon-visible]:before,[aria-label][data-balloon-pos][data-balloon-pos=right]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=right][data-balloon-visible]:before{transform:translateY(-50%)}[aria-label][data-balloon-pos][data-balloon-pos=left]:after,[aria-label][data-balloon-pos][data-balloon-pos=left]:before{right:100%;top:50%;transform:translate(var(--balloon-move),-50%)}[aria-label][data-balloon-pos][data-balloon-pos=left]:after{margin-right:10px}[aria-label][data-balloon-pos][data-balloon-pos=left]:before{width:0;height:0;border:5px solid transparent;border-left-color:var(--balloon-color)}[aria-label][data-balloon-pos][data-balloon-pos=right]:after,[aria-label][data-balloon-pos][data-balloon-pos=right]:before{left:100%;top:50%;transform:translate(calc(var(--balloon-move) * -1),-50%)}[aria-label][data-balloon-pos][data-balloon-pos=right]:after{margin-left:10px}[aria-label][data-balloon-pos][data-balloon-pos=right]:before{width:0;height:0;border:5px solid transparent;border-right-color:var(--balloon-color)}[aria-label][data-balloon-pos][data-balloon-length]:after{white-space:normal}[aria-label][data-balloon-pos][data-balloon-length=small]:after{width:80px}[aria-label][data-balloon-pos][data-balloon-length=medium]:after{width:150px}[aria-label][data-balloon-pos][data-balloon-length=large]:after{width:260px}[aria-label][data-balloon-pos][data-balloon-length=xlarge]:after{width:380px}@media screen and (max-width: 768px){[aria-label][data-balloon-pos][data-balloon-length=xlarge]:after{width:90vw}}[aria-label][data-balloon-pos][data-balloon-length=fit]:after{width:100%}@keyframes popup-appear{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes popup-disappear{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}#popup-container .popup-wrapper{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;background:#0003}#popup-container .popup-wrapper.appear .popup-container{animation:popup-appear .3s ease-in-out}#popup-container .popup-wrapper.disappear .popup-container{animation:popup-disappear .3s ease-in-out;animation-fill-mode:forwards}.vp-share-button{border-width:0;background:transparent;cursor:pointer;display:inline-block;padding:.25em}.vp-share-icon{width:2em;height:2em;color:#fff;transition:transform var(--vp-tt)}.vp-share-icon.plain{width:1.5em;height:1.5em;color:var(--dark-grey)}.vp-share-icon.plain :hover{color:var(--vp-tc)}.vp-share-icon:not(.plain):hover{transform:scale(1.1)}.vp-share-icon.colorful{width:1.5em;height:1.5em;padding:.25em;border-radius:50%}.vp-share-icon svg{display:block;width:100%;height:100%;fill:currentcolor}.vp-site-info{position:relative;display:inline-block;overflow:hidden;width:calc(50% - 16px);margin:4px 8px;border-radius:8px;color:inherit;box-shadow:1px 1px 8px var(--card-shadow);cursor:pointer;transition:box-shadow var(--transform-transition)}@media (max-width: 959px){.vp-site-info{width:calc(100% - 24px)}}.vp-site-info:hover{background:var(--vp-bgl);box-shadow:1px 4px 16px var(--card-shadow)}.vp-site-info:hover:after{content:attr(data-name);position:absolute;top:.5rem;left:.5rem;display:block;padding:.5rem;border-radius:.25em;background:#37373780;color:#fff}.vp-site-info:before{content:"";display:inline-block;width:0;padding-top:55%}.vp-site-info-navigator{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:block}.vp-site-info-preview{position:absolute;top:0;right:0;bottom:0;left:0}.vp-site-info-detail{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.5rem 1rem;text-align:center;opacity:1;transition:opacity ease .6s}.vp-site-info-detail:before{content:" ";position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--vp-bg);opacity:.75}.vp-site-info:hover .vp-site-info-detail{opacity:0}.vp-site-info-logo{z-index:1;height:3rem;margin:0 auto}.vp-site-info-name{z-index:1;margin-bottom:8px;border-bottom:1px solid var(--dark-grey);color:var(--black);font-weight:700;font-size:20px}.vp-site-info-desc{z-index:1;flex-shrink:1;overflow:hidden;color:var(--black);font-size:15px;line-height:1.3;text-overflow:ellipsis}.vp-site-info-source-wrapper{position:absolute;bottom:16px;inset-inline-end:16px;z-index:3}.vp-site-info-source{display:inline-block;width:20px;height:20px;padding:4px;border-radius:50%;background:var(--black);transition:transform var(--transform-transition)}.vp-site-info-source:before{display:none}.vp-site-info-source:hover{transform:scale(1.05)}.vp-site-info-source .icon{width:100%;height:100%;color:var(--white)}.stackblitz-container{margin:8px 0;border-radius:8px;text-align:center}.stackblitz-button{border-width:0;background:transparent;cursor:pointer;margin:0 auto;padding:.5rem 1rem;border-radius:.5rem;background:var(--vp-bglt);color:var(--vp-c);font-weight:600;line-height:1.5;transition:background var(--vp-ct),color var(--vp-ct)}.stackblitz-button:hover{background:var(--vp-tc);color:var(--white)}.vp-banner{max-width:880px;margin:1rem .5rem;padding:2.5rem;border-radius:1.5rem;background:var(--vp-bg);color:inherit;box-shadow:2px 2px 10px 2px var(--card-shadow);transition:background var(--vp-ct),box-shadow var(--vp-ct)}@media (max-width: 719px){.vp-banner{margin:.75rem 0;padding:1rem 1.5rem}}.vp-banner-logo{float:right;width:6rem;height:6rem;margin-bottom:12px;margin-inline-start:12px}.vp-banner-title{font-weight:500;font-size:2rem;line-height:1.5}@media (max-width: 719px){.vp-banner-title{font-size:1.75rem}}.vp-banner-content{max-width:80%;font-size:1.125rem}@media (max-width: 719px){.vp-banner-content{font-size:1rem}}.vp-banner-actions{display:flex;flex-wrap:wrap}.vp-banner-action{height:3rem;margin:.25rem .5rem;padding:0 1.75rem;border-radius:1.5rem;background-color:#7f7f7f1a;color:inherit;font-size:1rem;line-height:3;text-decoration:none!important}@media (max-width: 719px){.vp-banner-action{height:2.5rem;line-height:2.5}}.vp-banner-action:hover{background-color:var(--c-border)}.vp-banner-action.primary{background:var(--vp-tc);color:var(--white)}.vp-banner-action.primary:hover{background:var(--vp-tcl)}.vp-card{display:inline-flex;align-items:center;max-width:400px;margin:1rem .5rem;padding:1rem;border-radius:.5rem;background:var(--vp-bg);color:inherit;box-shadow:2px 2px 10px 0 var(--card-shadow);transition:background var(--vp-ct),box-shadow var(--vp-ct)}.vp-card:hover{background:var(--vp-bgl);text-decoration:none!important}.vp-card hr{margin:.25em 0}.vp-card-logo{width:3em;height:3em;margin-inline-end:1em;border-radius:50%}.vp-card-content{flex:1}.vp-card-title{font-weight:500;font-size:1.1em}.vp-card-desc{color:#888;font-size:.9em;line-height:1.5;transition:color var(--vp-ct)}.vp-card-container{display:flex;flex-wrap:wrap;align-items:stretch;place-content:stretch center}.vp-card-container .vp-card{flex-basis:calc(50% - 3rem);max-width:unset;margin:.5rem}@media (max-width: 959px){.vp-card-container .vp-card{flex-basis:100%}}@media (max-width: 719px){.vp-card-container .vp-card{font-size:.95rem}}@media (max-width: 419px){.vp-card-container .vp-card{font-size:.9rem}}[data-media-player]{width:100%;display:inline-flex;align-items:center;position:relative;contain:style;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none}[data-media-player] *{box-sizing:border-box}:where([data-media-player][data-view-type=video]){aspect-ratio:16 / 9}[data-media-player]:focus,[data-media-player]:focus-visible{outline:none}[data-media-player][data-view-type=video][data-started]:not([data-controls]){pointer-events:auto;cursor:none}[data-media-player] slot{display:contents}[data-media-provider]{display:flex;position:relative;box-sizing:border-box;align-items:center;border-radius:inherit;width:100%;aspect-ratio:inherit;overflow:hidden}[data-media-player]:not([data-view-type=audio]) [data-media-provider],[data-media-player][data-fullscreen] [data-media-provider]{height:100%}[data-media-player][data-view-type=audio] [data-media-provider]{display:contents;background-color:unset}[data-media-provider] audio{width:100%}:where(video:not([width]):not([height]),iframe:not([width]):not([height])){width:100%;aspect-ratio:16 / 9}:where([data-media-provider] video),:where([data-media-provider] iframe){aspect-ratio:inherit;display:inline-block;height:auto;-o-object-fit:contain;object-fit:contain;touch-action:manipulation;border-radius:inherit;width:100%}[data-media-provider] iframe{height:100%}[data-media-player][data-view-type=audio] video,[data-media-player][data-view-type=audio] iframe{display:none}[data-media-player][data-fullscreen] video{height:100%}iframe.vds-youtube[data-no-controls]{height:1000%}.vds-blocker{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:auto;aspect-ratio:inherit;pointer-events:auto;border-radius:inherit;z-index:1}[data-ended] .vds-blocker{background-color:#000}.vds-icon:focus{outline:none}.vds-google-cast{width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#dedede;font-family:sans-serif;font-weight:500}.vds-google-cast svg{--size: max(18%, 40px);width:var(--size);height:var(--size);margin-bottom:8px}.vds-google-cast-info{font-size:calc(var(--media-height) / 100 * 6)}:where(.vds-buffering-indicator){position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:1}:where(.vds-buffering-indicator) :where(.vds-buffering-icon,.vds-buffering-spinner){opacity:0;pointer-events:none;transition:var(--media-buffering-transition, opacity .2s ease)}:where(.vds-buffering-indicator) :where(.vds-buffering-icon,svg.vds-buffering-spinner,.vds-buffering-spinner svg){width:var(--media-buffering-size, 96px);height:var(--media-buffering-size, 96px)}:where(.vds-buffering-indicator) :where(.vds-buffering-track,circle[data-part=track]){color:var(--media-buffering-track-color, #f5f5f5);opacity:var(--media-buffering-track-opacity, .25);stroke-width:var(--media-buffering-track-width, 8)}:where(.vds-buffering-indicator) :where(.vds-buffering-track-fill,circle[data-part=track-fill]){color:var(--media-buffering-track-fill-color, var(--media-brand));opacity:var(--media-buffering-track-fill-opacity, .75);stroke-width:var(--media-buffering-track-fill-width, 9);stroke-dasharray:100;stroke-dashoffset:var(--media-buffering-track-fill-offset, 50)}:where([data-buffering]) :where(.vds-buffering-icon,.vds-buffering-spinner){opacity:1;animation:var(--media-buffering-animation, vds-buffering-spin 1s linear infinite)}@keyframes vds-buffering-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion){:where([data-buffering]) :where(.vds-buffering-icon,.vds-buffering-spinner){animation-duration:8s}}:where(.vds-button){position:relative;display:inline-flex;justify-content:center;align-items:center;-moz-user-select:none;user-select:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;outline:none;border:none;border-radius:var(--media-button-border-radius, 8px);width:var(--media-button-size, 40px);height:var(--media-button-size, 40px);transition:transform .2s ease-out;contain:layout style;cursor:pointer;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;flex-shrink:0}.vds-button{border:var(--media-button-border);color:var(--media-button-color, var(--media-controls-color, #f5f5f5));padding:var(--media-button-padding, 0px)}:where([data-fullscreen] .vds-button){width:var(--media-fullscreen-button-size, 42px);height:var(--media-fullscreen-button-size, 42px)}@media screen and (max-width: 599px){:where([data-fullscreen] .vds-button){width:var(--media-sm-fullscreen-button-size, 42px);height:var(--media-sm-fullscreen-button-size, 42px)}}:where(.vds-button .vds-icon){width:var(--media-button-icon-size, 80%);height:var(--media-button-icon-size, 80%);border-radius:var(--media-button-border-radius, 8px)}:where(.vds-menu-button .vds-icon){display:flex!important}:where(.vds-button[aria-hidden=true]){display:none!important}@media (hover: hover) and (pointer: fine){.vds-button:hover{background-color:var(--media-button-hover-bg, rgb(255 255 255 / .2))}.vds-button:hover{transform:var(--media-button-hover-transform, scale(1.05));transition:var(--media-button-hover-transition, transform .2s ease-in)}.vds-button[aria-expanded=true]{transform:unset}}@media (pointer: coarse){.vds-button:hover{border-radius:var(--media-button-touch-hover-border-radius, 100%);background-color:var(--media-button-touch-hover-bg, rgb(255 255 255 / .2))}}:where(.vds-button:focus){outline:none}:where(.vds-button[data-focus],.vds-button:focus-visible){box-shadow:var(--media-focus-ring)}:where(.vds-live-button){min-width:auto;min-height:auto;width:var(--media-live-button-width, 40px);height:var(--media-live-button-height, 40px);padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;outline:none;border:none}:where(.vds-live-button-text){font-family:var(--media-font-family, sans-serif);font-size:var(--media-live-button-font-size, 12px);font-weight:var(--media-live-button-font-weight, 600);letter-spacing:var(--media-live-button-letter-spacing, 1.5px);transition:color .3s ease}.vds-live-button-text{background-color:var(--media-live-button-bg, #8a8a8a);border-radius:var(--media-live-button-border-radius, 2px);color:var(--media-live-button-color, #161616);padding:var(--media-live-button-padding, 1px 4px)}:where(.vds-live-button[data-focus] .vds-live-button-text){box-shadow:var(--media-focus-ring)}:where(.vds-live-button[data-edge]){cursor:unset}.vds-live-button[data-edge] .vds-live-button-text{background-color:var(--media-live-button-edge-bg, #dc2626);color:var(--media-live-button-edge-color, #f5f5f5)}@media (pointer: fine){:where(.vds-live-button:hover){background-color:unset}}.vds-button:not([data-paused]) .vds-play-icon,.vds-button[data-ended] .vds-play-icon,.vds-button[data-paused] .vds-pause-icon,.vds-button[data-ended] .vds-pause-icon,.vds-button:not([data-ended]) .vds-replay-icon,.vds-button[data-active] .vds-pip-enter-icon,.vds-button:not([data-active]) .vds-pip-exit-icon,.vds-button[data-active] .vds-fs-enter-icon,.vds-button:not([data-active]) .vds-fs-exit-icon,.vds-button:not([data-active]) .vds-cc-on-icon,.vds-button[data-active] .vds-cc-off-icon,.vds-button:not([data-muted]) .vds-mute-icon,.vds-button:not([data-state=low]) .vds-volume-low-icon,.vds-button:not([data-state=high]) .vds-volume-high-icon{display:none}:where(.vds-captions){--overlay-padding: var(--media-captions-padding, 1%);--cue-color: var(--media-user-text-color, var(--media-cue-color, white));--cue-bg-color: var(--media-user-text-bg, var(--media-cue-bg, rgba(0, 0, 0, .7)));--cue-default-font-size: var(--media-cue-font-size, calc(var(--overlay-height) / 100 * 4.5));--cue-font-size: calc(var(--cue-default-font-size) * var(--media-user-font-size, 1));--cue-line-height: var(--media-cue-line-height, calc(var(--cue-font-size) * 1.2));--cue-padding-x: var(--media-cue-padding-x, calc(var(--cue-font-size) * .6));--cue-padding-y: var(--media-cue-padding-x, calc(var(--cue-font-size) * .4));--cue-padding: var(--cue-padding-y) var(--cue-padding-x);position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;contain:layout style;margin:var(--overlay-padding);font-size:var(--cue-font-size);font-family:var(--media-user-font-family, sans-serif);box-sizing:border-box;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;word-spacing:normal;word-break:break-word}:where([data-fullscreen][data-orientation=portrait] .vds-captions){--cue-default-font-size: var(--media-cue-font-size, calc(var(--overlay-width) / 100 * 4.5))}:where([data-view-type=audio] .vds-captions){position:relative;margin:0}:where(.vds-captions[aria-hidden=true]){opacity:0;visibility:hidden}.vds-captions[data-example]{opacity:1!important;visibility:visible!important}:where([data-view-type=video] .vds-captions [data-part=cue-display][data-example]){--cue-text-align: center;--cue-width: 100%;--cue-top: 90%;--cue-left: 0%}:where([data-view-type=audio] .vds-captions [data-part=cue-display]){--cue-width: 100%;position:relative!important}:where(.vds-captions [data-part=cue-display]){position:absolute;direction:ltr;overflow:visible;contain:content;top:var(--cue-top);left:var(--cue-left);right:var(--cue-right);bottom:var(--cue-bottom);width:var(--cue-width, auto);height:var(--cue-height, auto);box-sizing:border-box;transform:var(--cue-transform);text-align:var(--cue-text-align);writing-mode:var(--cue-writing-mode, unset);white-space:pre-line;unicode-bidi:plaintext;min-width:-moz-min-content;min-width:min-content;min-height:-moz-min-content;min-height:min-content;background-color:var(--media-user-display-bg, var(--media-cue-display-bg));border-radius:var(--media-cue-display-border-radius)}.vds-captions [data-part=cue-display]{padding:var(--media-cue-display-padding)}:where(.vds-captions[data-dir=rtl] [data-part=cue-display]){direction:rtl}:where(.vds-captions [data-part=cue]){display:inline-block;contain:content;font-variant:var(--media-user-font-variant);border:var(--media-cue-border, unset);border-radius:var(--media-cue-border-radius, 2px);-webkit-backdrop-filter:var(--media-cue-backdrop, blur(8px));backdrop-filter:var(--media-cue-backdrop, blur(8px));line-height:var(--cue-line-height);box-sizing:border-box;box-shadow:var(--media-cue-box-shadow, var(--cue-box-shadow));white-space:var(--cue-white-space, pre-wrap);outline:var(--cue-outline);text-shadow:var(--media-user-text-shadow, var(--cue-text-shadow))}.vds-captions [data-part=cue]{background-color:var(--cue-bg-color);color:var(--cue-color);padding:var(--cue-padding)}:where(.vds-captions [data-part=cue-display][data-vertical] [data-part=cue]){--cue-padding: var(--cue-padding-x) var(--cue-padding-y)}:where(.vds-captions [data-part=region]){--anchor-x-percent: calc(var(--region-anchor-x) / 100);--anchor-x: calc(var(--region-width) * var(--anchor-x-percent));--anchor-y-percent: calc(var(--region-anchor-y) / 100);--anchor-y: calc(var(--region-height) * var(--anchor-y-percent));--vp-anchor-x: calc(var(--region-viewport-anchor-x) * 1%);--vp-anchor-y-percent: calc(var(--region-viewport-anchor-y) / 100);--vp-anchor-y: calc(var(--overlay-height) * var(--vp-anchor-y-percent));position:absolute;display:inline-flex;flex-flow:column;justify-content:flex-start;width:var(--region-width);height:var(--region-height);min-height:0px;max-height:var(--region-height);writing-mode:horizontal-tb;top:var(--region-top, calc(var(--vp-anchor-y) - var(--anchor-y)));left:var(--region-left, calc(var(--vp-anchor-x) - var(--anchor-x)));right:var(--region-right);bottom:var(--region-bottom);overflow:hidden;overflow-wrap:break-word;box-sizing:border-box}:where(.vds-captions [data-part=region][data-scroll=up]){justify-content:end}:where(.vds-captions [data-part=region][data-active][data-scroll=up]){transition:top .433s}:where(.vds-captions [data-part=region]>[data-part=cue-display]){position:relative;width:auto;left:var(--cue-offset);height:var(--cue-height, auto);text-align:var(--cue-text-align);unicode-bidi:plaintext;margin-top:2px}:where(.vds-captions [data-part=region] [data-part=cue]){position:relative;border-radius:0}:where(.vds-chapter-title){--color: var(--media-chapter-title-color, rgba(255 255 255 / .64));display:inline-block;font-family:var(--media-font-family, sans-serif);font-size:var(--media-chapter-title-font-size, 16px);font-weight:var(--media-chapter-title-font-weight, 400);color:var(--color);flex:1 1 0%;padding-inline:6px;overflow:hidden;text-align:start;white-space:nowrap;text-overflow:ellipsis}.vds-chapter-title:before{content:var(--media-chapter-title-separator, "•");display:inline-block;margin-right:var(--media-chapter-title-separator-gap, 6px);color:var(--media-chapter-title-separator-color, var(--color))}.vds-chapter-title:empty:before{content:"";margin:0}:where(.vds-controls),:where(.vds-controls-group){position:relative;display:inline-block;width:100%;box-sizing:border-box}:where([data-view-type=audio] .vds-controls){display:inline-block;max-width:100%}:where([data-view-type=video] .vds-controls){display:flex;position:absolute;flex-direction:column;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:10;opacity:0;visibility:hidden;pointer-events:none;padding:var(--media-controls-padding, 0px);transition:var(--media-controls-out-transition, opacity .2s ease-out)}:where([data-view-type=video] .vds-controls[data-visible]){opacity:1;visibility:visible;transition:var(--media-controls-in-transition, opacity .2s ease-in)}:where(.vds-controls-spacer){flex:1 1 0%;pointer-events:none}:where(.vds-gestures){display:contents}:where(.vds-gesture){position:absolute;display:block;contain:content;z-index:0;opacity:0;visibility:hidden;pointer-events:none!important}:where(.vds-icon svg){display:block;width:100%;height:100%;vertical-align:middle}:where(.vds-kb-action.hidden){opacity:0}:where(.vds-kb-text-wrapper){text-align:center;position:absolute;left:0;right:0;top:var(--media-kb-text-top, 10%);z-index:20;pointer-events:none}:where(.vds-kb-text){display:inline-block;font-size:var(--media-kb-text-size, 150%);font-family:var(--media-font-family, sans-serif);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:var(--media-kb-border-radius, 2.5px);pointer-events:none}.vds-kb-text{color:var(--media-kb-text-color, var(--default-color));background-color:var(--media-kb-text-bg, var(--default-bg));padding:var(--media-kb-text-padding, 10px 20px)}.light .vds-kb-text{--default-color: #1a1a1a;--default-bg: rgb(240 240 240 / .6)}.dark .vds-kb-text{--default-color: #f5f5f5;--default-bg: rgb(10 10 10 / .6)}:where(.vds-kb-text:empty){display:none}:where(.vds-kb-bezel){--size: var(--media-kb-bezel-size, 52px);position:absolute;left:50%;top:45%;display:flex;flex-direction:column;align-items:center;justify-content:center;width:var(--size);height:var(--size);margin-left:calc(-1 * calc(var(--size) / 2));margin-right:calc(-1 * calc(var(--size) / 2));z-index:20;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:var(--media-kb-bezel-bg, var(--default-bg));animation:var(--media-kb-bezel-animation, vds-bezel-fade .35s linear 1 normal forwards);border-radius:var(--media-kb-bezel-border-radius, calc(var(--size) / 2));pointer-events:none}.vds-kb-bezel:not(:has(svg)){display:none!important}.light .vds-kb-bezel{--default-bg: rgb(255 255 255 / .6)}.dark .vds-kb-bezel{--default-bg: rgb(10 10 10 / .6)}@media (prefers-reduced-motion){:where(.vds-kb-bezel){animation:none}}:where(.vds-kb-bezel:has(slot:empty)){opacity:0}:where(.vds-kb-action[data-action=seek-forward] .vds-kb-bezel){top:45%;left:unset;right:10%}:where(.vds-kb-action[data-action=seek-backward] .vds-kb-bezel){top:45%;left:10%}:where(.vds-kb-icon){--size: var(--media-kb-icon-size, 38px);width:var(--size);height:var(--size)}.vds-kb-icon{color:var(--media-kb-icon-color, var(--default-color))}.light .vds-kb-icon{--default-color: #1a1a1a}.dark .vds-kb-icon{--default-color: #f5f5f5}@keyframes vds-bezel-fade{0%{opacity:1}to{opacity:0;transform:scale(2)}}:where(.vds-menu-items){--color-inverse: var(--media-menu-color-inverse, var(--default-inverse));--color-gray-50: var(--media-menu-color-gray-50, var(--default-gray-50));--color-gray-100: var(--media-menu-color-gray-100, var(--default-gray-100));--color-gray-200: var(--media-menu-color-gray-200, var(--default-gray-200));--color-gray-300: var(--media-menu-color-gray-300, var(--default-gray-300));--color-gray-400: var(--media-menu-color-gray-400, var(--default-gray-400));--text-color: var(--media-menu-text-color, var(--default-text));--text-secondary-color: var(--media-menu-text-secondary-color, var(--default-text-secondary));--root-border: var(--media-menu-border, var(--default-root-border))}.light .vds-menu-items{--default-inverse: black;--default-gray-50: rgb(80 80 80 / .15);--default-gray-100: rgb(80 80 80 / .45);--default-gray-200: rgb(235 235 235 / .6);--default-gray-300: rgb(238 238 238);--default-gray-400: rgb(250 250 250);--default-text: #1a1a1a;--default-text-secondary: #6b6b6b;--default-root-border: 1px solid rgb(10 10 10 / .1)}.dark .vds-menu-items{--default-inverse: white;--default-gray-50: rgb(245 245 245 / .1);--default-gray-100: rgb(245 245 245 / .45);--default-gray-200: rgb(10 10 10 / .6);--default-gray-300: rgb(27 27 27);--default-gray-400: rgb(10 10 10);--default-text: #f5f5f5;--default-text-secondary: #8a8a8a;--default-root-border: 1px solid rgb(255 255 255 / .1)}:where(.vds-menu-items){--font-family: var(--media-font-family, sans-serif);--font-size: var(--media-menu-font-size, 14px);--font-weight: var(--media-menu-font-weight, 500);--root-bg: var(--media-menu-bg, var(--color-gray-400));--root-padding: var(--media-menu-padding, 12px);--root-border-radius: var(--media-menu-border-radius, 4px);--divider: var(--media-menu-divider, 1px solid var(--color-gray-50));--section-bg: var(--media-menu-section-bg, var(--color-gray-300));--section-border: var(--media-menu-section-border);--section-divider: var(--media-menu-section-divider, var(--divider));--top-bar-bg: var(--media-menu-top-bar-bg, var(--color-gray-200));--top-bar-divider: var(--media-menu-divider, transparent);--text-hint-color: var(--media-menu-hint-color, var(--text-secondary-color));--chapter-divider: var(--media-chapters-divider, var(--divider));--chapter-active-bg: var(--media-chapters-item-active-bg, var(--color-gray-50));--chapter-active-border-left: var(--media-chapters-item-active-border-left);--chapter-progress-bg: var(--media-chapters-progress-bg, var(--color-inverse));--chapter-time-font-size: var(--media-chapters-time-font-size, 12px);--chapter-time-font-weight: var(--media-chapters-time-font-weight, 500);--chapter-time-gap: var(--media-chapters-time-gap, 6px);--chapter-duration-bg: var(--media-chapters-duration-bg);--item-border: var(--media-menu-item-border, 0);--item-bg: var(--media-menu-item-bg, transparent);--item-hover-bg: var(--media-menu-item-hover-bg, var(--color-gray-50));--item-icon-size: var(--media-menu-item-icon-size, 18px);--item-padding: var(--media-menu-item-padding, 10px);--item-min-height: var(--media-menu-item-height, 40px);--item-border-radius: var(--media-menu-item-border-radius, 2px);--scrollbar-track-bg: var(--media-menu-scrollbar-track-bg, transparent);--scrollbar-thumb-bg: var(--media-menu-scrollbar-thumb-bg, var(--color-gray-50));--webkit-scrollbar-bg: var(--color-gray-400);--webkit-scrollbar-track-bg: var(--media-menu-scrollbar-track-bg, var(--color-gray-50));--checkbox-bg: var(--media-menu-checkbox-bg, var(--color-gray-100));--checkbox-active-bg: var(--media-menu-checkbox-bg-active, #1ba13f);--checkbox-handle-bg: var(--media-menu-checkbox-handle-bg, #f5f5f5);--checkbox-handle-border: var(--media-menu-checkbox-handle-border);--radio-icon-color: var(--media-menu-radio-icon-color, var(--text-color))}:where(.vds-menu[data-root] media-menu[data-root]){display:contents}:where(.vds-menu){font-family:var(--font-family);font-size:var(--font-size);font-weight:var(--font-weight)}:where(.vds-menu[data-disabled][data-root]){display:none}:where(.vds-menu[data-submenu]){display:inline-block}:where(.vds-menu-items:focus){outline:none}:where(.vds-menu-item:focus,.vds-radio:focus){outline:none}:where(.vds-menu-item:focus-visible,.vds-menu-item[data-focus],.vds-radio:focus-visible,.vds-radio[data-focus]){outline:none;box-shadow:var(--media-focus-ring)}:where(.vds-menu[data-open] .vds-tooltip-content){display:none!important}.vds-menu-items [data-hidden]{display:none!important}@media (prefers-reduced-motion: no-preference){:where(.vds-menu-items){scroll-behavior:smooth}}:where(.vds-menu-items){box-sizing:border-box;min-width:var(--media-menu-min-width, 280px);scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb-bg) var(--scrollbar-track-bg);transform:translateZ(0)}:where(.vds-menu-items)::-webkit-scrollbar{background-color:var(--webkit-scrollbar-bg);border-radius:var(--root-border-radius);height:6px;width:5px}:where(.vds-menu-items)::-webkit-scrollbar-track{background-color:var(--webkit-scrollbar-track-bg);border-radius:4px}:where(.vds-menu-items)::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb-bg);border-radius:4px}:where(.vds-menu-items)::-webkit-scrollbar-corner{background-color:var(--scrollbar-thumb-bg)}:where(.vds-menu-button){outline:none;box-sizing:border-box}:where(.vds-menu-button .vds-rotate-icon){transition:transform .2s ease-out}:where(.vds-menu-button[aria-expanded=true] .vds-rotate-icon){transform:rotate(var(--media-menu-icon-rotate-deg, 90deg));transition:transform .2s ease-in}:where(.vds-menu-button){display:inline-flex;align-items:center;justify-content:center}@media (prefers-reduced-motion){:where(.vds-menu-button .vds-rotate-icon){transition:unset}}:where(.vds-menu-items){display:flex;align-items:center;flex-direction:column;font-family:var(--font-family);font-size:var(--font-size);font-weight:var(--font-weight);transition:height .35s ease}@media (prefers-reduced-motion){:where(.vds-menu-items){transition:unset}}:where(.vds-menu-items[data-root]){background-color:var(--root-bg);border-radius:var(--root-border-radius);box-shadow:var(--media-menu-box-shadow);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);height:var(--menu-height, auto);will-change:width,height;overflow-y:auto;overscroll-behavior:contain;opacity:0;z-index:9999999;box-sizing:border-box;max-height:var(--media-menu-max-height, 250px);filter:var( --media-menu-filter, drop-shadow(0 4px 3px rgb(0 0 0 / .07)) drop-shadow(0 2px 2px rgb(0 0 0 / .06)) )}.vds-menu-items[data-root]{border:var(--root-border);padding:var(--root-padding)}:where([data-view-type=video]) :where(.vds-menu-items[data-root]){max-height:var(--media-menu-video-max-height, calc(var(--player-height) * .7))}:where(.vds-menu-items[data-transition=height]){--scrollbar-thumb-bg: rgba(0, 0, 0, 0);pointer-events:none;overflow:hidden}.vds-menu-button[aria-disabled=true],.vds-menu-item[aria-disabled=true],.vds-menu-item[data-disabled]{display:none}:where(.vds-menu-items[data-root]){--enter-transform: translateY(0px);--exit-transform: translateY(12px)}:where(.vds-menu-items[data-root]:not([data-placement])){--enter-transform: translateY(-24px)}:where(.vds-menu-items[data-root][aria-hidden=true]){animation:var(--media-menu-exit-animation, vds-menu-exit .2s ease-out)}:where(.vds-menu-items[data-root][aria-hidden=false]){animation:var(--media-menu-enter-animation, vds-menu-enter .3s ease-out);animation-fill-mode:forwards}:where(.vds-menu-items[data-placement~=bottom]){--enter-transform: translateY(0);--exit-transform: translateY(-12px)}@keyframes vds-menu-enter{0%{opacity:0;transform:var(--exit-transform)}to{opacity:1;transform:var(--enter-transform)}}@keyframes vds-menu-exit{0%{opacity:1;transform:var(--enter-transform)}to{opacity:0;transform:var(--exit-transform)}}@media (prefers-reduced-motion){:where(.vds-menu-items){animation:none;opacity:1}}:where(media-menu-portal){display:contents}:where(.vds-menu-items[data-root]:not([data-placement])){position:fixed;left:16px;right:16px;top:unset;bottom:0;max-height:var(--media-sm-menu-portrait-max-height, 40vh);max-height:var(--media-sm-menu-portrait-max-height, 40dvh)}:where(.vds-menu-items[data-root]:not([data-placement])){max-width:480px;margin:0 auto}@media (orientation: landscape) and (pointer: coarse){:where(.vds-menu-items[data-root]:not([data-placement])){max-height:var(--media-sm-menu-landscape-max-height, min(70vh, 400px));max-height:var(--media-sm-menu-landscape-max-height, min(70dvh, 400px))}}:where(.vds-menu[data-submenu] .vds-menu-button){display:flex;align-items:center;justify-content:flex-start}:where(.vds-menu-items[data-submenu]){width:100%}:where(.vds-menu[aria-hidden=true]),:where(.vds-menu-items[data-submenu][aria-hidden=true]){display:none}:where(.vds-menu-item,.vds-radio){position:relative;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none;display:flex;align-items:center;justify-content:left;width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:var(--item-border-radius);box-sizing:border-box;min-height:var(--item-min-height);font-size:var(--font-size);outline:none}.vds-menu-item,.vds-radio{color:var(--text-color);background-color:var(--item-bg);padding:var(--item-padding)}.vds-menu-item:focus-visible,.vds-menu-item[data-focus],.vds-radio:focus-visible,.vds-radio[data-focus]{cursor:pointer;background-color:var(--item-hover-bg)}@media (hover: hover) and (pointer: fine){.vds-menu-item[role]:hover,.vds-radio:hover{cursor:pointer;background-color:var(--item-hover-bg)}}:where(.vds-menu-items[data-submenu]){align-items:flex-start;justify-content:center;flex-direction:column}:where(.vds-menu-item[aria-expanded=true]){font-weight:700;border-radius:0;border-top-left-radius:var(--item-border-radius);border-top-right-radius:var(--item-border-radius)}.vds-menu-item[aria-expanded=true]{border-bottom:var(--top-bar-divider)}:where(.vds-menu-item[aria-expanded=true]){position:sticky;top:calc(-1 * var(--root-padding));left:0;width:100%;z-index:10;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);margin-bottom:4px}.vds-menu-item[aria-expanded=true]{background-color:var(--top-bar-bg)}:where(.vds-menu-item-label){flex:1 0 0%;text-align:start}:where(.vds-menu-item .vds-icon,.vds-radio .vds-icon){--size: var(--item-icon-size);width:var(--size);height:var(--size);margin-right:var(--media-menu-item-icon-spacing, 6px)}:where(.vds-menu-open-icon,.vds-menu-close-icon){--size: var(--media-menu-arrow-icon-size, 18px);width:var(--size);height:var(--size)}:where(.vds-menu-item-hint,.vds-menu-open-icon,.vds-radio-hint){color:var(--text-hint-color);font-size:var(--media-menu-hint-font-size, 13px);font-weight:var(--media-menu-hint-font-weight, 400)}:where(.vds-menu-items .vds-menu-open-icon){margin-right:0}:where(.vds-menu-items) :where(.vds-menu-item-hint,.vds-menu-open-icon){margin-left:auto}:where(.vds-menu-items) :where(.vds-menu-item-hint+.vds-menu-open-icon),:where(.vds-menu-item-hint+media-icon .vds-menu-open-icon),:where(.vds-menu-item-hint+slot>.vds-menu-open-icon){margin-left:2px}:where(.vds-menu-item[aria-hidden=true]),:where(.vds-menu-item[aria-expanded=true] .vds-menu-open-icon){display:none!important}:where(.vds-menu-items) :where(.vds-menu-item[aria-disabled=true],.vds-menu-item[data-disabled]) :where(.vds-menu-open-icon){opacity:0}:where(.vds-menu-close-icon),:where(.vds-menu-item[aria-expanded=true]>.vds-icon){display:none!important}:where(.vds-menu-item[aria-expanded=true] .vds-menu-close-icon){display:inline!important;margin-left:calc(-1 * var(--item-padding) / 2)}:where(.vds-menu-checkbox){--checkbox-width: var(--media-menu-checkbox-width, 40px);--checkbox-height: var(--media-menu-checkbox-height, 18px);--checkbox-top: calc((var(--checkbox-height) - var(--checkbox-diameter)) / 2);--checkbox-diameter: var( --media-menu-checkbox-handle-diameter, calc(var(--checkbox-height) - 2px) );--checkbox-gap: var(--media-menu-checkbox-gap, 2.5px);position:relative;display:inline-block;width:var(--checkbox-width);height:var(--checkbox-height);border-radius:calc(var(--checkbox-height) / 2);transition:.3s all ease-in-out;box-sizing:border-box;cursor:pointer;pointer-events:auto}.vds-menu-checkbox{background-color:var(--checkbox-bg)}:where(.vds-menu-checkbox:focus-visible){outline:none;box-shadow:var(--media-focus-ring)}.vds-menu-checkbox[aria-checked=true]{background-color:var(--checkbox-active-bg)}:where(.vds-menu-checkbox):after{content:"";display:inline-block;width:var(--checkbox-diameter);height:var(--checkbox-diameter);border-radius:calc(var(--checkbox-diameter) / 2);position:absolute;top:var(--checkbox-top);transform:translate(var(--checkbox-gap));transition:.3s all ease-in-out;border:var(--checkbox-handle-border);box-sizing:border-box}.vds-menu-checkbox:after{background-color:var(--checkbox-handle-bg)}:where(.vds-menu-checkbox[aria-checked=true]):after{transform:translate(calc(var(--checkbox-width) - var(--checkbox-diameter) - var(--checkbox-gap)))}@media (prefers-reduced-motion: no-preference){:where(.vds-menu-checkbox[data-active]):after{width:calc(var(--checkbox-width) - calc(var(--checkbox-gap) * 2))}}:where(.vds-menu-checkbox[aria-checked=true][data-active]):after{transform:translate(var(--checkbox-gap))}:where(.vds-menu-items .vds-slider){--media-slider-track-bg: var(--media-menu-slider-track-bg, var(--color-gray-50));--media-slider-track-fill-bg: var(--media-menu-slider-track-fill-bg, var(--color-inverse));--media-slider-height: var(--media-menu-slider-height, 32px);--track-focus-height: var(--track-height) !important}:where(.vds-menu-items .vds-slider-thumb){opacity:1!important}:where(.vds-menu-slider-item.group){flex-direction:column}:where(.vds-menu-slider-title){margin-top:4px}:where(.vds-menu-slider-body){width:100%;display:flex;align-items:center;margin-top:6px}:where(.vds-menu-slider-item .vds-icon){margin:0;color:var(--text-hint-color)}:where(.vds-menu-slider-item[data-min] .vds-icon.down,.vds-menu-slider-item[data-max] .vds-icon.up){color:var(--text-color);animation:.6s ease-in-out vds-slider-icon;transition:all 1.2s ease}@keyframes vds-slider-icon{0%{transform:scale(1)}50%{transform:scale(1.25)}to{transform:scale(1)}}:where(.vds-menu-items .vds-slider-track-fill){transition:opacity .3s ease}:where(.vds-menu-items .vds-slider[data-active] .vds-slider-track-fill){opacity:0}:where(.vds-radio-group){box-sizing:border-box;width:100%;display:flex;flex-direction:column}.vds-radio{cursor:pointer;contain:content;padding-left:calc(var(--item-icon-size) + var(--item-padding))}.vds-radio[aria-checked=true]{padding-left:0}.vds-radio .vds-icon{display:none;color:var(--radio-icon-color)}.vds-radio[aria-checked=true] .vds-icon{display:inline-block;margin-left:6px}:where(.vds-radio-hint){margin-left:auto}.vds-color-picker{width:32px;height:32px;border:0;background-color:transparent;outline:none}.vds-color-picker::-webkit-color-swatch{border-radius:2px}.vds-color-picker::-moz-color-swatch{border-radius:2px}.vds-color-picker:focus-visible::-webkit-color-swatch{box-shadow:var(--media-focus-ring)}.vds-color-picker:focus-visible::-moz-color-swatch{box-shadow:var(--media-focus-ring)}:where(.vds-menu-section){width:100%}:where(.vds-menu-item+.vds-menu-section){margin-top:8px}:where(.vds-menu-section+.vds-menu-section){margin-top:24px}:where(.vds-menu-section:first-child){margin-top:8px}:where(.vds-menu-section:last-child){margin-bottom:8px}:where(.vds-menu-section-title),:where(.vds-menu-slider-title){width:100%;display:flex;align-items:center;justify-content:space-between;color:var(--text-secondary-color);font-size:var(--media-menu-section-header-font-size, 12px);font-weight:var(--media-menu-section-header-font-weight, 500);padding-inline:2px}:where(.vds-menu-section-body){width:100%}:where(.vds-menu-section-title+.vds-menu-section-body){margin-top:var(--media-menu-section-gap, 8px)}.vds-menu-section-body{background-color:var(--section-bg);border:var(--section-border);border-radius:var(--media-menu-section-border-radius, 2px)}:where(.vds-menu-section:not([data-open]) .vds-menu-item:not(:last-child)){border-bottom:var(--section-divider)}:where(.vds-menu-section-body .vds-menu:last-child>.vds-menu-item){border-bottom:unset}.vds-menu-section[data-open],.vds-menu-section[data-open]>.vds-menu-section-body{display:contents!important;background-color:transparent!important}.vds-menu-section[data-open]>.vds-menu-section-title,.vds-menu-section[data-open]>.vds-menu-section-body>:not([data-open]){display:none}:where(.vds-chapters-menu-items){min-width:var(--media-chapters-min-width, var(--media-menu-min-width, 220px))}.vds-chapters-menu-items{padding:var(--media-chapters-padding, 0)}:where(.vds-menu-items:has(.vds-chapters-radio-group[data-thumbnails])){min-width:var(--media-chapters-with-thumbnails-min-width, 300px)}:where(.vds-chapter-radio){border-radius:0}.vds-chapter-radio{border-bottom:var(--chapter-divider);padding:var(--item-padding)}.vds-chapter-radio[aria-checked=true]{padding-left:var(--item-padding)}:where(.vds-chapter-radio:last-child){border-bottom:0}.vds-chapter-radio[aria-checked=true]{background-color:var(--chapter-active-bg);border-left:var(--chapter-active-border-left)}:where(.vds-chapter-radio[aria-checked=true]):after{content:" ";width:var(--progress);height:var(--media-chapters-progress-height, 4px);position:absolute;bottom:0;left:0}.vds-chapter-radio[aria-checked=true]:after{border-radius:var(--media-chapters-progress-border-radius, 0);background-color:var(--chapter-progress-bg)}.vds-chapters-radio-group :where(.vds-thumbnail){margin-right:var(--media-chapters-thumbnail-gap, 12px);flex-shrink:0;min-width:var(--media-chapters-thumbnail-min-width, 100px);min-height:var(--media-chapters-thumbnail-min-height, 56px);max-width:var(--media-chapters-thumbnail-max-width, 120px);max-height:var(--media-chapters-thumbnail-max-height, 68px)}.vds-chapters-radio-group .vds-thumbnail{border:var(--media-chapters-thumbnail-border, 0)}:where(.vds-chapters-radio-group .vds-chapter-radio-label){color:var(--text-secondary-color);font-size:var(--font-size);font-weight:var(--font-weight);white-space:nowrap}:where(.vds-chapter-radio[aria-checked=true] .vds-chapter-radio-label){color:var(--text-color)}:where(.vds-chapters-radio-group .vds-chapter-radio-start-time){display:inline-block;letter-spacing:var(--media-chapters-start-time-letter-spacing, .4px);border-radius:var(--media-chapters-start-time-border-radius, 2px);font-size:var(--chapter-time-font-size);font-weight:var(--chapter-time-font-weight);margin-top:var(--chapter-time-gap)}.vds-chapters-radio-group .vds-chapter-radio-start-time{color:var(--text-secondary-color);background-color:var(--section-bg);padding:var(--media-chapters-start-time-padding, 1px 4px)}:where(.vds-chapters-radio-group .vds-chapter-radio-duration){color:var(--text-hint-color);font-size:var(--chapter-time-font-size);font-weight:var(--chapter-time-font-weight);margin-top:var(--chapter-time-gap)}.vds-chapters-radio-group .vds-chapter-radio-duration{background-color:var(--chapter-duration-bg);border-radius:var(--media-chapters-duration-border-radius, 2px)}.vds-chapters-radio-group:not([data-thumbnails]) :where(.vds-thumbnail,media-thumbnail){display:none}:where(.vds-chapter-radio-content){display:flex;align-items:flex-start;flex-direction:column}:where(.vds-chapters-radio-group:not([data-thumbnails]) .vds-chapter-radio-content){width:100%;flex-direction:row;display:flex;flex-wrap:wrap;align-items:center}:where(.vds-chapters-radio-group:not([data-thumbnails]) .vds-chapter-radio-start-time){margin-top:0;margin-left:auto}:where(.vds-chapters-radio-group:not([data-thumbnails]) .vds-chapter-radio-duration){margin-top:4px;flex-basis:100%}.vds-menu-items[data-keyboard] .vds-chapters-radio-group:focus-within{padding:var(--media-chapters-focus-padding, 4px)}:where(.vds-poster){display:block;contain:content;position:absolute;top:50%;transform:translateY(-50%);left:0;opacity:0;width:100%;height:100%;z-index:1;border:0;pointer-events:none;box-sizing:border-box;transition:opacity .2s ease-out;background-color:var(--media-poster-bg, black)}:where(.vds-poster img){-o-object-fit:inherit;object-fit:inherit;-o-object-position:inherit;object-position:inherit;pointer-events:none;-moz-user-select:none;user-select:none;-webkit-user-select:none;box-sizing:border-box}.vds-poster :where(img){border:0;width:100%;height:100%;-o-object-fit:contain;object-fit:contain}:where(.vds-poster[data-hidden]){display:none}:where(.vds-poster[data-visible]){opacity:1}.vds-poster:not(:defined),.vds-poster img:not([src]){display:none}:where(.vds-slider){--width: var(--media-slider-width, 100%);--height: var(--media-slider-height, 48px);--thumb-size: var(--media-slider-thumb-size, 15px);--thumb-focus-size: var(--media-slider-focused-thumb-size, calc(var(--thumb-size) * 1.1));--track-width: var(--media-slider-track-width, 100%);--track-height: var(--media-slider-track-height, 5px);--track-focus-width: var(--media-slider-focused-track-width, var(--track-width));--track-focus-height: var(--media-slider-focused-track-height, calc(var(--track-height) * 1.25));display:inline-flex;align-items:center;width:var(--width);height:var(--height);margin:0 calc(var(--thumb-size) / 2);position:relative;contain:layout style;outline:none;pointer-events:auto;cursor:pointer;-moz-user-select:none;user-select:none;touch-action:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}:where(.vds-slider[aria-hidden=true]){display:none!important}:where(.vds-slider[aria-disabled=true]){cursor:unset}:where(.vds-slider:focus){outline:none}:where(.vds-slider:not([data-chapters])[data-focus],.vds-slider:not([data-chapters]):focus-visible) :where(.vds-slider-track){box-shadow:var(--media-focus-ring)}:where(.vds-slider .vds-slider-track){z-index:0;position:absolute;width:var(--track-width);height:var(--track-height);top:50%;left:0;border-radius:var(--media-slider-track-border-radius, 2px);transform:translateY(-50%) translateZ(0);background-color:var(--media-slider-track-bg, rgb(255 255 255 / .3));contain:strict}:where(.vds-slider[data-focus],.vds-slider:focus-visible) :where(.vds-slider-track){outline-offset:var(--thumb-size)}:where(.vds-slider:not([data-chapters])[data-active] .vds-slider-track){width:var(--track-focus-width);height:var(--track-focus-height)}:where(.vds-slider .vds-slider-track-fill){z-index:2;background-color:var(--media-slider-track-fill-bg, var(--media-brand));width:var(--slider-fill, 0%);will-change:width}:where(.vds-slider .vds-slider-thumb){position:absolute;top:50%;left:var(--slider-fill);opacity:0;contain:layout size style;width:var(--thumb-size);height:var(--thumb-size);border:var(--media-slider-thumb-border, 1px solid #cacaca);border-radius:var(--media-slider-thumb-border-radius, 9999px);background-color:var(--media-slider-thumb-bg, #fff);transform:translate(-50%,-50%) translateZ(0);transition:opacity .15s ease-in;pointer-events:none;will-change:left;z-index:2}:where(.vds-slider[data-dragging],.vds-slider[data-focus],.vds-slider:focus-visible) :where(.vds-slider-thumb){box-shadow:var(--media-slider-focused-thumb-shadow, 0 0 0 4px hsla(0, 0%, 100%, .4))}:where(.vds-slider[data-active] .vds-slider-thumb){opacity:1;transition:var(--media-slider-thumb-transition, opacity .2s ease-in, box-shadow .2s ease)}:where(.vds-slider[data-dragging] .vds-slider-thumb){width:var(--thumb-focus-size);height:var(--thumb-focus-size)}:where(.vds-slider-value){display:inline-block;contain:content;font-size:14px;font-family:var(--media-font-family, sans-serif)}:where(.vds-slider-thumbnail){display:block;contain:content;box-sizing:border-box}:where(.vds-slider-video){background-color:#000;box-sizing:border-box;contain:content;display:inline-block;border:var(--media-thumbnail-border, 1px solid white)}:where(.vds-slider-video video){display:block;height:auto;width:156px}:where(.vds-slider-video[data-loading]){opacity:0}:where(.vds-slider-video[data-hidden],.vds-slider-video[data-hidden] video){display:none;width:0px}:where(.vds-slider .vds-slider-preview){display:flex;flex-direction:column;align-items:center;opacity:0;background-color:var(--media-slider-preview-bg);border-radius:var(--media-slider-preview-border-radius, 2px);pointer-events:none;transition:opacity .2s ease-out;will-change:left,opacity;contain:layout paint style}:where(.vds-slider-preview[data-visible]){opacity:1;transition:opacity .2s ease-in}.vds-slider-value{background-color:var(--media-slider-value-bg, black);border-radius:var(--media-slider-value-border-radius, 2px);border:var(--media-slider-value-border);color:var(--media-slider-value-color, white);padding:var(--media-slider-value-padding, 1px 10px)}:where(.vds-slider-video:not([data-hidden])+.vds-slider-chapter-title,.vds-slider-thumbnail:not([data-hidden])+.vds-slider-chapter-title){margin-top:var(--media-slider-chapter-title-gap, 6px)}:where(.vds-slider-video:not([data-hidden])+.vds-slider-value,.vds-slider-thumbnail:not([data-hidden])+.vds-slider-value,.vds-slider-chapter-title+.vds-slider-value){margin-top:var(--media-slider-value-gap, 2px)}:where(.vds-slider[aria-orientation=vertical]){--width: var(--media-slider-width, 48px);--height: var(--media-slider-height, 100%);--track-width: var(--media-slider-track-width, 4px);--track-height: var(--media-slider-track-height, 100%);--track-focus-width: var(--media-slider-focused-track-width, calc(var(--track-width) * 1.25));--track-focus-height: var(--media-slider-focused-track-height, var(--track-height));margin:calc(var(--thumb-size) / 2) 0}:where(.vds-slider[aria-orientation=vertical] .vds-slider-track){top:unset;bottom:0;left:50%;transform:translate(-50%) translateZ(0)}:where(.vds-slider[aria-orientation=vertical] .vds-slider-track-fill){width:var(--track-width);height:var(--slider-fill);will-change:height;transform:translate(-50%) translateZ(0)}:where(.vds-slider[aria-orientation=vertical] .vds-slider-progress){top:unset;bottom:0;width:var(--track-width);height:var(--slider-progress, 0%);will-change:height}:where(.vds-slider[aria-orientation=vertical] .vds-slider-thumb){top:unset;bottom:var(--slider-fill);left:50%;will-change:bottom;transform:translate(-50%,50%) translateZ(0)}:where(.vds-slider[aria-orientation=vertical] .vds-slider-preview){will-change:bottom,opacity}:where([data-live] .vds-time-slider .vds-slider-track-fill){background-color:var(--media-slider-track-fill-live-bg, #dc2626)}:where(.vds-time-slider .vds-slider-progress){z-index:1;left:0;width:var(--slider-progress, 0%);will-change:width;background-color:var(--media-slider-track-progress-bg, rgb(255 255 255 / .5))}:where([data-media-player]:not([data-can-play]) .vds-time-slider .vds-slider-value){display:none}:where(.vds-slider-steps){display:flex;align-items:center;justify-content:space-between;width:100%;height:100%;position:absolute;top:0;left:0}:where(.vds-slider-step){width:var(--media-slider-step-width, 2.5px);height:calc(var(--track-height) + 1px);background-color:var(--media-slider-step-color, rgb(124, 124, 124));opacity:0;transition:opacity .3s ease}:where(.vds-slider[data-active] .vds-slider-step){opacity:1}:where(.vds-time-slider .vds-slider-chapters){position:relative;display:flex;align-items:center;width:100%;height:100%;contain:layout style;border-radius:var(--media-slider-track-border-radius, 1px)}:where(.vds-slider[data-focus],.vds-slider:focus-visible) :where(.vds-slider-chapters){box-shadow:var(--media-focus-ring);height:var(--track-height)}:where(.vds-time-slider .vds-slider-chapter){margin-right:2px}:where(.vds-time-slider .vds-slider-chapter:last-child){margin-right:0}:where(.vds-time-slider .vds-slider-chapter){position:relative;display:flex;align-items:center;width:100%;height:100%;will-change:height,transform;contain:layout style;border-radius:var(--media-slider-track-border-radius, 1px)}:where(.vds-time-slider .vds-slider-chapter .vds-slider-track-fill){width:var(--chapter-fill, 0%);will-change:width}:where(.vds-time-slider .vds-slider-chapter .vds-slider-progress){width:var(--chapter-progress, 0%);will-change:width}@media (hover: hover) and (pointer: fine){:where(.vds-time-slider:hover .vds-slider-chapters){contain:strict}:where(.vds-time-slider .vds-slider-chapter:hover:not(:only-of-type)){transform:var(--media-slider-chapter-hover-transform, scaleY(2));transition:var( --media-slider-chapter-hover-transition, transform .1s cubic-bezier(.4, 0, 1, 1) )}}:where(.vds-time-slider .vds-slider-chapter-title){font-family:var(--media-font-family, sans-serif);font-size:var(--media-slider-chapter-title-font-size, 14px);color:var(--media-slider-chapter-title-color, #f5f5f5);background-color:var(--media-slider-chapter-title-bg)}:where(.vds-thumbnail){--aspect-ratio: calc(var(--media-thumbnail-aspect-ratio, 16 / 9));--min-width: var(--media-thumbnail-min-width, 140px);--max-width: var(--media-thumbnail-max-width, 180px);display:block;width:var(--thumbnail-width);height:var(--thumbnail-height);background-color:var(--media-thumbnail-bg, black);contain:strict;overflow:hidden;box-sizing:border-box;min-width:var(--min-width);min-height:var(--media-thumbnail-min-height, calc(var(--min-width) / var(--aspect-ratio)));max-width:var(--max-width);max-height:var(--media-thumbnail-max-height, calc(var(--max-width) / var(--aspect-ratio)))}.vds-thumbnail{border:var(--media-thumbnail-border, 1px solid white)}:where(.vds-thumbnail img){min-width:unset!important;max-width:unset!important;will-change:width,height,transform}:where(.vds-thumbnail[data-loading] img){opacity:0}:where(.vds-thumbnail[aria-hidden=true]){display:none!important}:where(.vds-time-group){display:flex;align-items:center}.vds-time-divider{margin:0 var(--media-time-divider-gap, 2.5px);color:var(--media-time-divider-color, #e0e0e0)}:where(.vds-time){display:inline-block;contain:content;font-size:var(--media-time-font-size, 15px);font-weight:var(--media-time-font-weight, 400);font-family:var(--media-font-family, sans-serif);border-radius:var(--media-time-border-radius, 2px);letter-spacing:var(--media-time-letter-spacing, .025em)}.vds-time{outline:0;color:var(--media-time-color, var(--default-color));background-color:var(--media-time-bg);border:var(--media-time-border);padding:var(--media-time-padding, 2px)}:where(.vds-time:focus-visible){box-shadow:var(--media-focus-ring)}.light .vds-time{--default-color: rgb(10 10 10)}.dark .vds-time{--default-color: #f5f5f5}:where(.vds-tooltip,media-tooltip){display:contents}:where(.vds-tooltip-content){display:inline-block;box-sizing:border-box;font-family:var(--media-font-family, sans-serif);font-size:var(--media-tooltip-font-size, 13px);font-weight:var(--media-tooltip-font-weight, 500);opacity:0;pointer-events:none;white-space:nowrap;z-index:10;will-change:transform,opacity}.vds-tooltip-content{border-radius:var(--media-tooltip-border-radius, 2px);background-color:var(--media-tooltip-bg-color, var(--default-bg));border:var(--media-tooltip-border, var(--default-border));color:var(--media-tooltip-color, var(--default-color));padding:var(--media-tooltip-padding, 2px 8px)}.light .vds-tooltip-content{--default-color: #1a1a1a;--default-bg: white;--default-border: 1px solid rgb(0 0 0 / .2)}.dark .vds-tooltip-content{--default-color: #f5f5f5;--default-bg: black;--default-border: 1px solid rgb(255 255 255 / .1)}:where(.vds-menu .vds-menu-button[role=button][data-pressed] .vds-tooltip-content){opacity:0;display:none}:where(.vds-tooltip-content){--enter-transform: translateY(0px) scale(1);--exit-transform: translateY(12px) scale(.8)}:where(.vds-tooltip-content:not([data-visible])){animation:var(--media-tooltip-exit-animation, vds-tooltip-exit .2s ease-out)}:where(.vds-tooltip-content[data-visible]){animation:var(--media-tooltip-enter-animation, vds-tooltip-enter .2s ease-in);animation-fill-mode:forwards}:where(.vds-tooltip-content[data-placement~=bottom]){--enter-transform: translateY(0) scale(1);--exit-transform: translateY(-12px) scale(.8)}:where(.vds-tooltip-content[data-placement~=left]){--enter-transform: translateX(0) scale(1);--exit-transform: translateX(12px) scale(.8)}:where(.vds-tooltip-content[data-placement~=right]){--enter-transform: translateX(0) scale(1);--exit-transform: translateX(-12px) scale(.8)}@keyframes vds-tooltip-enter{0%{opacity:0;transform:var(--exit-transform)}to{opacity:1;transform:var(--enter-transform)}}@keyframes vds-tooltip-exit{0%{opacity:1;transform:var(--enter-transform)}to{opacity:0;transform:var(--exit-transform)}}@media (prefers-reduced-motion){:where(.vds-tooltip-content){animation:none}:where(.vds-tooltip-content[data-visible]){opacity:1}}[data-media-player]:not([data-paused]) .vds-play-tooltip-text,[data-media-player][data-paused] .vds-pause-tooltip-text,[data-media-player][data-pip] .vds-pip-enter-tooltip-text,[data-media-player]:not([data-pip]) .vds-pip-exit-tooltip-text,[data-media-player][data-fullscreen] .vds-fs-enter-tooltip-text,[data-media-player]:not([data-fullscreen]) .vds-fs-exit-tooltip-text,[data-media-player]:not([data-captions]) .vds-cc-on-tooltip-text,[data-media-player][data-captions] .vds-cc-off-tooltip-text,[data-media-player]:not([data-muted]) .vds-mute-tooltip-text,[data-media-player][data-muted] .vds-unmute-tooltip-text{display:none}[data-media-player] .vds-audio-layout:not([data-match]){display:none!important}:where([data-media-player][data-layout=audio]){border-radius:var(--audio-border-radius, 6px)}:where(.vds-audio-layout){position:relative;display:inline-flex;align-items:center;min-width:100%;height:60px;color:var(--audio-controls-color, var(--default-color));background-color:var(--audio-bg, var(--default-bg));border-radius:var(--audio-border-radius, 6px);box-sizing:border-box;filter:var( --audio-filter, drop-shadow(0 4px 3px rgb(0 0 0 / .07)) drop-shadow(0 2px 2px rgb(0 0 0 / .06)) )}.vds-audio-layout{border:var(--audio-border, 1px solid rgb(255 255 255 / .1))}:where([data-media-player][data-focus]:not([data-playing]) .vds-audio-layout){box-shadow:var(--media-focus-ring)}:where(.vds-audio-layout){--media-brand: var(--audio-brand, var(--default-brand));--media-font-family: var(--audio-font-family, sans-serif);--media-controls-color: var(--audio-controls-color, var(--default-controls-color));--media-menu-y-offset: 18px;--media-tooltip-y-offset: 18px;--media-slider-track-bg: var(--audio-slider-track-bg, var(--default-slider-track-bg));--media-slider-track-fill-bg: var(--audio-slider-track-bg, var(--media-brand));--media-slider-track-progress-bg: var( --audio-slider-progress-bg, var(--default-slider-progress-bg) );--media-slider-value-border: var(--audio-slider-value-border, 1px solid rgb(255 255 255 / .1));--media-slider-value-gap: var(--audio-slider-value-gap, 6px);--media-focus-ring-color: var(--audio-focus-ring-color, rgb(78 156 246));--media-focus-ring: var(--audio-focus-ring, 0 0 0 3px var(--media-focus-ring-color))}.vds-audio-layout.light,.light .vds-audio-layout{--default-brand: rgb(10 10 10);--default-color: rgb(10 10 10);--default-bg: rgb(250 250 250);--default-controls-color: rgb(10 10 10);--default-border: 1px solid rgb(100 100 100 /.2);--default-slider-track-bg: rgb(50 50 50 / .1);--default-slider-progress-bg: rgb(10 10 10 / .2)}.vds-audio-layout.dark,.dark .vds-audio-layout{--default-brand: #f5f5f5;--default-color: #f5f5f5;--default-controls-color: #f5f5f5;--default-bg: black;--default-slider-track-bg: rgb(255 255 255 / .3);--default-slider-progress-bg: rgb(255 255 255 / .5)}.vds-audio-layout .vds-controls{padding-inline:6px;border-radius:var(--audio-border-radius, 6px)}:where(.vds-audio-layout .vds-controls-group){display:flex;align-items:center;pointer-events:auto;width:100%}:where(.vds-audio-layout .vds-button){width:var(--audio-button-size, 36px);height:var(--audio-button-size, 36px);margin-right:2.5px}:where(.vds-audio-layout .vds-play-tooltip){--media-tooltip-y-offset: 18px}:where(.vds-audio-layout .vds-button){transition:max-width .14s ease-in;max-width:var(--audio-button-size, 36px)}:where(.vds-audio-layout .vds-play-button){--media-button-hover-transform: 0;--media-button-border: var(--audio-play-button-border, var(--color));--media-button-hover-bg: var(--bg-color);--media-button-touch-hover-bg: var(--bg-color);width:var(--audio-play-button-size, 32px);height:var(--audio-play-button-size, 32px);border-radius:var(--audio-play-button-border-radius, 100%);pointer-events:auto;margin-bottom:2px;overflow:hidden}.vds-audio-layout .vds-play-button{color:var(--audio-play-button-color, var(--default-color));background-color:var(--audio-play-button-bg, var(--default-bg))}.light .vds-audio-layout .vds-play-button,.vds-audio-layout.light .vds-play-button{--default-color: #f5f5f5;--default-bg: var(--media-brand)}.dark .vds-audio-layout .vds-play-button,.vds-audio-layout.dark .vds-play-button{--default-color: rgb(10 10 10);--default-bg: var(--media-brand)}:where(.vds-audio-layout .vds-caption-button:not([data-active])){opacity:var(--audio-caption-button-off-opacity, .64)}:where(.vds-audio-layout .vds-live-button){margin-right:8px}:where(.vds-audio-layout .vds-seek-button){max-width:0px;visibility:hidden}:where([data-playing] .vds-audio-layout .vds-seek-button){max-width:var(--audio-button-size, 36px);visibility:visible}:where(.vds-audio-layout .vds-settings-menu .vds-button){margin-right:0}@media (pointer: coarse){:where(.vds-audio-layout .vds-caption-button){display:none}}:where(.vds-audio-layout .vds-title){display:flex;align-items:center;position:relative;margin-left:6px;margin-right:auto;max-width:100%;opacity:1;transition:max-width .15s ease-in,opacity .15s ease-in;overflow:hidden;text-wrap:nowrap;white-space:nowrap;transition-delay:75ms}:where([data-playing] .vds-audio-layout .vds-title){opacity:0;margin:0;max-width:0px;transition:none;transition-delay:0}:where(.vds-audio-layout .vds-title-text){display:inline-flex;align-items:center}:where(.vds-audio-layout .vds-marquee .vds-title-text){animation:vds-marquee 8s linear infinite}:where(.vds-audio-layout .vds-title:hover *){animation-play-state:paused}:where(.vds-audio-layout .vds-title-text:nth-child(2)){margin-left:16px}@keyframes vds-marquee{0%{transform:translate(0)}to{transform:translate(calc(-100% - 16px))}}:where(.vds-audio-layout .vds-time){margin-inline:8px;transition:max-width .14s ease-in;font-size:var(--audio-time-font-size, 15px)}:where(.vds-audio-layout .vds-time-slider){--media-slider-preview-offset: 14px;opacity:0;max-width:0px;transform:scaleX(0);transform-origin:center left;transition:none;visibility:hidden}:where([data-media-player]:not([data-paused]) .vds-audio-layout .vds-time-slider){opacity:1;max-width:100%;transform:scaleX(1);transition:opacity .15s ease-in,transform .15s ease-in;transition-delay:75ms;visibility:visible}:where(.vds-audio-layout .vds-slider-chapter-title){color:var(--audio-slider-chapter-title-color, black)}:where(.dark .vds-audio-layout .vds-slider-chapter-title){color:var(--audio-slider-chapter-title-color, white)}:where([data-buffering] .vds-audio-layout .vds-slider-progress){--stripe-color: var(--audio-buffering-stripe-color, rgb(0 0 0 / .25));--stripe-size: var(--audio-buffering-stripe-size, 30px);width:100%!important;background-image:linear-gradient(-45deg,var(--stripe-color) 25%,transparent 25%,transparent 50%,var(--stripe-color) 50%,var(--stripe-color) 75%,transparent 75%,transparent);background-size:var(--stripe-size) var(--stripe-size);animation:vds-audio-track-progress var(--audio-buffering-stripe-speed, 2s) linear infinite}@keyframes vds-audio-track-progress{0%{background-position:0 0}to{background-position:var(--stripe-size) var(--stripe-size)}}:where(.vds-audio-layout .vds-volume){--media-slider-height: var(--audio-volume-height, 96px);--media-slider-preview-offset: 6px;--gap: var(--audio-volume-gap, 16px);position:relative;display:flex;align-items:center;justify-content:center}:where(.vds-audio-layout .vds-volume-popup){position:absolute;bottom:calc(100% + var(--gap));left:50%;opacity:0;transform:translate(-50%);transition:opacity .15s ease-out,visibility .15s ease-out;border-radius:var(--audio-volume-border-radius, 8px);filter:var(--media-volume-filter, drop-shadow(0 1px 1px rgb(0 0 0 / .05)));visibility:hidden}.vds-audio-layout .vds-volume-popup:after{content:"";position:fixed;bottom:calc(-1 * var(--gap));right:0;width:100%;height:var(--gap);z-index:1;pointer-events:auto}.vds-audio-layout .vds-volume-popup{background-color:var(--audio-volume-bg, var(--media-menu-bg, var(--default-bg)));border:var(--audio-volume-border, var(--default-border))}.light .vds-audio-layout .vds-volume-popup,.vds-audio-layout.light .vds-volume-popup{--default-bg: rgb(250 250 250);--default-border: 1px solid rgb(10 10 10 / .1)}.dark .vds-audio-layout .vds-volume-popup,.vds-audio-layout.dark .vds-volume-popup{--default-bg: rgb(10 10 10);--default-border: 1px solid rgb(255 255 255 / .1)}:where(.vds-audio-layout .vds-volume[data-active] .vds-volume-popup),:where(.vds-audio-layout .vds-volume:has([data-active]) .vds-volume-popup){transition:opacity .15s ease-in,visibility .15s ease-in;opacity:1;visibility:visible}:where(.vds-audio-layout .vds-volume[data-active] .vds-tooltip-content){display:none!important}:where(.vds-audio-layout .vds-menu-items[data-root]){max-height:var(--audio-menu-max-height, 320px)}:where(.vds-audio-layout .vds-captions){--cue-font-size: calc(var(--audio-cue-font-size, 14px) * var(--media-user-font-size, 1));display:inline-block;position:absolute;width:100%;top:unset;bottom:calc(100% + var(--audio-captions-offset, 4px));text-align:center;background-color:var(--media-user-display-bg, var(--media-cue-display-bg))}:where([data-preview] .vds-audio-layout .vds-captions),:where([data-paused] .vds-audio-layout .vds-captions){opacity:0}@media (pointer: coarse){.vds-audio-layout[data-scrubbing] :where(.vds-button,.vds-time){max-width:0!important;margin:0!important;padding:0!important;transition:max-width .15s ease-out}}[data-media-player] .vds-video-layout:not([data-match]){display:none!important}[data-media-player][data-layout=video]{background-color:var(--video-bg, black)}[data-media-player][data-layout=video]:not([data-fullscreen]){border-radius:var(--video-border-radius, 6px);border:var(--video-border, 1px solid rgb(255 255 255 / .1))}:where(.vds-video-layout){--media-brand: var(--video-brand, #f5f5f5);--media-font-family: var(--video-font-family, sans-serif);--media-controls-color: var(--video-controls-color, #f5f5f5);--media-tooltip-y-offset: 6px;--media-menu-y-offset: 6px;--media-focus-ring-color: var(--video-focus-ring-color, rgb(78 156 246));--media-focus-ring: var(--video-focus-ring, 0 0 0 3px var(--media-focus-ring-color));color:var(--video-controls-color, #f5f5f5);display:contents}:where([data-media-player][data-focus]:not([data-playing]) .vds-video-layout .vds-controls){border-radius:var(--video-border-radius, 6px);box-shadow:var(--media-focus-ring)}:where(.vds-video-layout .vds-controls[data-visible]){border-radius:var(--video-border-radius, 6px);background-image:linear-gradient(to top,rgb(0 0 0 / .6),10%,transparent,95%,rgb(0 0 0 / .3))}.vds-video-layout .vds-controls-group{align-items:center;display:flex;pointer-events:auto;z-index:0;padding:4px 6px}.vds-video-layout .vds-controls-group:first-child{z-index:50}.vds-video-layout .vds-controls-group:nth-last-child(2){padding:0 12px;z-index:11;margin-bottom:-16px}.vds-video-layout:not([data-sm]) .vds-controls-group:last-child{--media-menu-y-offset: 26px;--media-tooltip-y-offset: 26px;--media-slider-preview-offset: 26px;z-index:10}:where(.vds-video-layout .vds-button){margin-right:2.5px}:where(.vds-video-layout[data-sm] .vds-chapter-title){font-size:var(--video-sm-chapter-title-font-size, 15px)}:where([data-fullscreen] .vds-video-layout .vds-chapter-title){font-size:var(--video-fullscreen-chapter-title-font-size, 16px)}:where(.vds-video-layout:not([data-sm]) .vds-mute-button){margin-left:-2.5px;margin-right:-5px}:where(.vds-video-layout[data-sm]){--media-button-size: var(--video-sm-button-size, 36px)}:where(.vds-video-layout .vds-time-slider){--media-slider-height: 45px;flex-grow:0}:where(.vds-video-layout .vds-slider-thumbnail){--media-thumbnail-border: var(--video-slider-thumbnail-border, 1px solid #f5f5f5);border-radius:var(--video-slider-thumbnail-border-radius, 2px)}.vds-video-layout .vds-time-slider .vds-slider-value{background-color:var(--video-time-bg, unset);text-shadow:-1px -1px 0 #333333,1px -1px 0 #333333,-1px 1px 0 #333333,1px 1px 0 #333333}:where(.vds-video-layout[data-sm] .vds-time){text-shadow:unset}:where(.vds-video-layout[data-lg] .vds-volume){--gap: var(--video-volume-gap, 10px);display:contents}:where(.vds-video-layout[data-lg] .vds-volume-popup){display:contents}:where(.vds-video-layout[data-lg] .vds-volume-slider){margin:0;max-width:0;transition:all .15s ease}:where(.vds-video-layout[data-lg] .vds-volume[data-active] .vds-volume-slider),:where(.vds-video-layout[data-lg] .vds-volume:has([data-active]) .vds-volume-slider){margin-left:var(--gap);opacity:1;visibility:visible;max-width:var(--video-volume-slider-max-width, 72px)}.vds-video-layout[data-lg] .vds-volume-slider:after{content:"";position:fixed;top:0;left:calc(-1 * var(--gap));width:var(--gap);height:100%;z-index:1;pointer-events:auto}:where(.vds-video-layout[data-sm] .vds-volume){--media-slider-height: var(--video-volume-height, 96px);--media-slider-preview-offset: calc(-200% - 6px) ;--gap: var(--video-volume-gap, 10px);position:relative;display:flex;align-items:center;justify-content:center}:where(.vds-video-layout[data-sm] .vds-volume-popup){display:block;position:absolute;top:calc(100% + var(--gap));left:50%;opacity:0;transform:translate(-50%);transition:opacity .15s ease-out,visibility .15s ease-out;border-radius:var(--video-volume-border-radius, 8px);filter:var(--media-volume-filter, drop-shadow(0 1px 1px rgb(0 0 0 / .05)));visibility:hidden}.vds-video-layout[data-sm] .vds-mute-button:after{content:"";position:fixed;bottom:calc(-1 * var(--gap));right:0;width:100%;height:var(--gap);z-index:1;pointer-events:auto}.vds-video-layout .vds-volume-popup{background-color:var(--video-volume-bg, var(--media-menu-bg, var(--default-bg)));border:var(--video-volume-border, var(--default-border))}.light .vds-video-layout .vds-volume-popup,.vds-video-layout.light .vds-volume-popup{--default-bg: rgb(250 250 250);--default-border: 1px solid rgb(10 10 10 / .1)}.dark .vds-video-layout .vds-volume-popup,.vds-video-layout.dark .vds-volume-popup{--default-bg: rgb(10 10 10);--default-border: 1px solid rgb(255 255 255 / .1)}:where(.vds-video-layout[data-sm] .vds-volume[data-active] .vds-volume-popup),:where(.vds-video-layout[data-sm] .vds-volume:has([data-active]) .vds-volume-popup){transition:opacity .15s ease-in,visibility .15s ease-in;opacity:1;visibility:visible}:where(.vds-video-layout[data-sm] .vds-volume[data-active] .vds-tooltip-content){display:none!important}:where(.vds-video-layout .vds-time[data-type=current]){margin-right:2px}:where(.vds-video-layout .vds-time[data-type=current][remainder]){margin-left:2px}.vds-video-layout .vds-time{--default-color: #f5f5f5 !important}:where([data-preview] .vds-video-layout .vds-captions){opacity:0}:where(.vds-video-layout .vds-captions){z-index:10;transition:var(--video-captions-transition, bottom .3s ease-in-out)}@media (min-width: 980px){:where([data-fullscreen] .vds-video-layout .vds-captions){bottom:var(--video-lg-fullscreen-captions-offset, 54px)}}:where([data-media-player][data-controls] .vds-video-layout .vds-captions){bottom:var(--video-captions-offset, 78px)}:where([data-media-player][data-controls] .vds-video-layout[data-sm] .vds-captions){bottom:var(--video-sm-captions-offset, 48px)}:where(.vds-video-layout .vds-time-slider .vds-slider-chapter-title){width:100%;text-align:center;text-shadow:-1px -1px 0 #212121,1px -1px 0 #212121,-1px 1px 0 #212121,1px 1px 0 #212121}:where(.vds-video-layout .vds-gesture){top:0;left:0;width:100%;height:100%;z-index:0}:where(.vds-video-layout .vds-gesture[action="seek:-10"]){width:var(--video-gesture-seek-width, 20%);z-index:1}:where(.vds-video-layout .vds-gesture[action="seek:10"]){left:unset;right:0;width:var(--video-gesture-seek-width, 20%);z-index:1}@media (pointer: coarse){:where(.vds-video-layout .vds-gesture[action="toggle:paused"]){display:none}}@media not (pointer: coarse){:where([data-media-player] .vds-video-layout .vds-gesture[action="toggle:controls"]){display:none}}:where(.vds-video-layout .vds-live-button){margin-left:12px}:where(.vds-video-layout:not([data-sm]) .vds-time-group){margin-left:10px}:where(.vds-video-layout[data-sm] .vds-time){font-size:var(--video-sm-time-font-size, 14px)}:where([data-fullscreen] .vds-video-layout .vds-time){font-size:var(--video-fullscreen-time-font-size, 16px)}:where(.vds-video-layout .vds-load-container){position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:none;align-items:center;justify-content:center;pointer-events:none;z-index:99}:where([data-media-player][data-load=play]:not([data-started]) .vds-video-layout[data-match] .vds-load-container){display:flex}:where(.vds-video-layout .vds-load-container .vds-play-button){--size: var(--video-load-button-size, 56px);--color: var(--video-load-button-color, rgb(0 0 0 / .8));--bg-color: var(--video-load-button-bg, var(--media-brand));--media-button-hover-transform: 0;--media-button-border: var(--video-load-button-border, var(--color));--media-button-hover-bg: var(--video-load-button-bg, var(--media-brand));width:var(--size);height:var(--size);pointer-events:auto;margin-bottom:2px;overflow:hidden}.vds-video-layout .vds-load-container .vds-play-button{border-radius:var(--video-load-button-border-radius, 100%);color:var(--color)}.vds-video-layout .vds-load-container .vds-play-button{background-color:var(--bg-color)}:where(.vds-video-layout[data-sm] .vds-load-container .vds-play-button){--size: var(--video-sm-load-button-size, 48px);--media-button-hover-transform: translateY(0%);width:var(--size);height:var(--size);transform:translateY(0)}:where(.vds-video-layout[data-sm] .vds-controls-group:nth-last-child(2)){pointer-events:none}:where(.vds-video-layout[data-sm] .vds-controls-group:last-child){z-index:2;margin-top:-2.5px;margin-bottom:-6px}:where([data-fullscreen] .vds-video-layout[data-sm] .vds-controls-group:last-child){margin-bottom:0}.vds-video-layout[data-sm] .vds-controls-group{padding:2px}:where(.vds-video-layout[data-sm]) :where(.vds-button,.vds-slider:not(.vds-time-slider),.vds-time,.vds-time-divider,.vds-chapter-title){transition:opacity .15s ease}:where([data-media-player]:not([data-started]) .vds-video-layout[data-sm]) :where(.vds-button .vds-slider,.vds-time-group){opacity:0;visibility:hidden}:where(.vds-video-layout[data-sm] .vds-time-slider){transition:transform .1s linear}@media (pointer: coarse){:where([data-preview] .vds-video-layout:not([data-no-scrub-gesture])) :where(.vds-button,.vds-slider:not(.vds-time-slider),.vds-time,.vds-chapter-title,.vds-time-divider,.vds-captions,.vds-live-button){opacity:0}:where([data-preview] .vds-video-layout:not([data-no-scrub-gesture]) .vds-time-slider){--track-height: var(--video-sm-slider-focus-track-height, 12px);transform:translateY(-6px);transition:transform .1s linear}}:where(.vds-video-layout[data-sm] .vds-controls .vds-play-button){--size: var(--video-sm-play-button-size, 45px);--media-button-hover-transform: translateY(25%);width:var(--size);height:var(--size);transform:translateY(25%);border-radius:100%;pointer-events:auto;margin-bottom:2px;overflow:hidden}.vds-video-layout[data-sm] .vds-controls .vds-play-button{background-color:var(--video-sm-play-button-bg, rgba(0 0 0 / .6))}:where([data-media-player]:not([data-started]) .vds-video-layout[data-sm] .vds-controls-group:not(:nth-child(3))){opacity:0;visibility:hidden}:where(.vds-video-layout[data-sm] .vds-buffering-indicator){--media-buffering-size: 64px;transform:translate(-2px,-4px)}:where(.vds-video-layout .vds-start-duration .vds-time){position:absolute;right:8px;bottom:8px;margin-right:8px;margin-bottom:8px;z-index:10}.vds-video-layout .vds-start-duration .vds-time{padding:var(--video-sm-start-duration-padding, 3px 6px);color:var(--video-sm-start-duration-color, var(--video-controls-color));background-color:var(--video-sm-start-duration-bg, rgba(0 0 0 / .64))}:where([data-started] .vds-video-layout .vds-start-duration .vds-time){display:none}:where([data-media-player]:not([data-can-play]) .vds-video-layout .vds-start-duration .vds-time){opacity:0}:where(.vds-video-layout[data-sm] .vds-time[data-type=current]){margin-left:8px}:where([data-fullscreen] .vds-video-layout .vds-controls-group:nth-last-child(2)){margin-bottom:-16px}@media (orientation: portrait){:where([data-fullscreen] .vds-video-layout .vds-captions){bottom:30lvh;bottom:10dvh}}@media (orientation: landscape){:where([data-fullscreen] .vds-video-layout .vds-controls-group:nth-last-child(2)){margin-bottom:-12px}}media-community-skin[data-audio]{--audio-brand: var(--vp-tc);--audio-bg: var(--vp-bg);--audio-controls-color: var(--dark-grey);--audio-title-color: var(--vp-c);--audio-time-muted-color: var(--light-grey);--audio-play-button-bg: var(--vp-bglt);--audio-play-button-color: var(--black)}:where(media-community-skin[data-audio] [part~=media-ui]){box-shadow:2px 2px 10px 0 var(--card-shadow)}media-community-skin[data-video]{--video-brand: var(--vp-tc)}@media print{.xi-gua-desc a{display:block}}.xi-gua-iframe{margin:8px 0;border:none;border-radius:8px}@media print{.xi-gua-iframe{display:none}}@media screen{.sr-only{position:absolute;overflow:hidden;clip:rect 0,0,0,0;width:1px;height:1px;margin:-1px;padding:0;border:0}}@media print{.sr-only{display:none}}.vp-catalog-wrapper{margin-top:8px;margin-bottom:8px}.vp-catalog-wrapper.index ol{padding-inline-start:0}.vp-catalog-wrapper.index li{list-style-type:none}.vp-catalog-wrapper.index .vp-catalogs{padding-inline-start:0}.vp-catalog-wrapper.index .vp-catalog{list-style-type:none}.vp-catalog-wrapper.index .vp-catalog-title:before{content:"§" counter(catalog-item,upper-roman) " "}.vp-catalog-wrapper.index .vp-child-catalogs{counter-reset:child-catalog}.vp-catalog-wrapper.index .vp-child-catalog{counter-increment:child-catalog}.vp-catalog-wrapper.index .vp-child-catalog .vp-catalog-title:before{content:counter(catalog-item) "." counter(child-catalog) " "}.vp-catalog-wrapper.index .vp-sub-catalogs{padding-inline-start:.5rem}.vp-catalogs{margin:0;counter-reset:catalog-item}.vp-catalogs.deep{padding-inline-start:0}.vp-catalogs.deep .vp-catalog{list-style-type:none}.vp-catalogs .font-icon{vertical-align:baseline;margin-inline-end:.25rem}.vp-catalog{counter-increment:catalog-item}.vp-catalog-main-title{margin-top:calc(.5rem - var(--navbar-height, 3.6rem));margin-bottom:.5rem;padding-top:var(--navbar-height, 3.6rem);font-weight:500;font-size:1.75rem}.vp-catalog-main-title:first-child{margin-bottom:.5rem!important}.vp-catalog-main-title:only-child{margin-bottom:0!important}.vp-catalog-main-title .vp-link{text-decoration:none!important}.vp-catalog-child-title{margin-bottom:.5rem!important}.vp-catalog-child-title.has-children{margin-top:calc(.5rem - var(--navbar-height, 3.6rem));padding-top:var(--navbar-height, 3.6rem);border-bottom:1px solid var(--catalog-border-color);font-weight:500;font-size:1.3rem;transition:border-color .3s}.vp-catalog-child-title.has-children:only-child{margin-bottom:0!important}.vp-catalog-child-title .vp-link{text-decoration:none!important}.vp-catalog-sub-title{font-weight:500;font-size:1.1rem}.vp-catalog-sub-title:only-child{margin-bottom:0!important}.vp-catalog-title{color:inherit;text-decoration:none}.vp-catalog-title:hover{color:var(--catalog-active-color)}.vp-child-catalogs{margin:0}.vp-child-catalog{list-style-type:disc}.vp-sub-catalogs{counter-reset:sub-catalog}.vp-sub-catalog{counter-increment:sub-catalog}.vp-sub-catalog .vp-link:before{content:counter(catalog-item) "." counter(child-catalog) "." counter(sub-catalog) " "}.vp-sub-catalogs-wrapper{display:flex;flex-wrap:wrap}.vp-sub-catalog-link{display:inline-block;margin:4px 8px;padding:4px 8px;border-radius:6px;background-color:var(--catalog-bg-secondary-color);line-height:1.5;overflow-wrap:break-word;transition:background-color .3s,color .3s}.vp-sub-catalog-link:hover{background-color:var(--catalog-hover-color);color:var(--catalog-bg-color);text-decoration:none!important}.vp-catalog-header-anchor{font-size:.85em;float:left;margin-left:-1em;padding-right:0;margin-top:.125em;opacity:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;text-decoration:none;content:"¶"}@media print{.vp-catalog-header-anchor{display:none}}h2:hover .vp-catalog-header-anchor,h3:hover .vp-catalog-header-anchor{opacity:1;text-decoration:none}.vp-catalog-header-anchor:focus-visible{opacity:1}.vp-empty-catalog{font-size:1.25rem;text-align:center}:root{--catalog-bg-color: #fff;--catalog-bg-secondary-color: #f8f8f8;--catalog-border-color: #e5e5e5;--catalog-active-color: #3eaf7c;--catalog-hover-color: #71cda3}.vp-back-to-top-button{position:fixed!important;bottom:4rem;inset-inline-end:1rem;z-index:100;width:3rem;height:3rem;padding:.5rem;border-width:0;border-radius:50%;background:var(--back-to-top-bg-color);color:var(--back-to-top-color);box-shadow:2px 2px 10px 4px var(--back-to-top-shadow);cursor:pointer}@media (max-width: 959px){.vp-back-to-top-button{width:2.5rem;height:2.5rem}}@media print{.vp-back-to-top-button{display:none}}.vp-back-to-top-button:hover{color:var(--back-to-top-color-hover)}.vp-back-to-top-button .back-to-top-icon{overflow:hidden;width:100%;height:100%;background:currentcolor;border-radius:50%;-webkit-mask-image:var(--back-to-top-icon);mask-image:var(--back-to-top-icon);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:cover;mask-size:cover}.vp-scroll-progress{position:absolute;right:-2px;bottom:-2px;width:calc(100% + 4px);height:calc(100% + 4px)}.vp-scroll-progress svg{width:100%;height:100%}.vp-scroll-progress circle{opacity:.9;fill:none;stroke:currentColor;transform:rotate(-90deg);transform-origin:50% 50%;r:22;stroke-dasharray:0% 314.1593%;stroke-width:3px}@media (max-width: 959px){.vp-scroll-progress circle{r:18}}.back-to-top-enter-active,.back-to-top-leave-active{transition:opacity .3s}.back-to-top-enter-from,.back-to-top-leave-to{opacity:0}:root{--back-to-top-z-index: 5;--back-to-top-icon: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%201024%201024'%3e%3cpath%20d='M512%20843.2c-36.2%200-66.4-13.6-85.8-21.8-10.8-4.6-22.6%203.6-21.8%2015.2l7%20102c.4%206.2%207.6%209.4%2012.6%205.6l29-22c3.6-2.8%209-1.8%2011.4%202l41%2064.2c3%204.8%2010.2%204.8%2013.2%200l41-64.2c2.4-3.8%207.8-4.8%2011.4-2l29%2022c5%203.8%2012.2.6%2012.6-5.6l7-102c.8-11.6-11-20-21.8-15.2-19.6%208.2-49.6%2021.8-85.8%2021.8'/%3e%3cpath%20d='m795.4%20586.2-96-98.2C699.4%20172%20513%2032%20513%2032S324.8%20172%20324.8%20488l-96%2098.2c-3.6%203.6-5.2%209-4.4%2014.2L261.2%20824c1.8%2011.4%2014.2%2017%2023.6%2010.8L419%20744s41.4%2040%2094.2%2040%2092.2-40%2092.2-40l134.2%2090.8c9.2%206.2%2021.6.6%2023.6-10.8l37-223.8c.4-5.2-1.2-10.4-4.8-14M513%20384c-34%200-61.4-28.6-61.4-64s27.6-64%2061.4-64c34%200%2061.4%2028.6%2061.4%2064S547%20384%20513%20384'/%3e%3c/svg%3e");--back-to-top-bg-color: #fff;--back-to-top-color: #3eaf7c;--back-to-top-color-hover: #71cda3;--back-to-top-shadow: rgb(0 0 0 / 20%)}:root{--external-link-icon-color: #aaa}.external-link-icon{position:relative;display:inline-block;color:var(--external-link-icon-color);vertical-align:middle;top:-1px}@media print{.external-link-icon{display:none}}.external-link-icon-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}:root{--nprogress-color: #29d;--nprogress-z-index: 1031}#nprogress{pointer-events:none}#nprogress .bar{background:var(--nprogress-color);position:fixed;z-index:var(--nprogress-z-index);top:0;left:0;width:100%;height:2px}.giscus-wrapper.input-top .giscus{margin-bottom:-3rem}@media print{#vp-comment{display:none!important}}div[class*=language-]:hover:before{display:none}div[class*=language-]:hover .vp-copy-code-button{opacity:1}.vp-copy-code-button{position:absolute;top:.5em;right:.5em;z-index:5;width:2.5rem;height:2.5rem;padding:0;border-width:0;border-radius:.5rem;background:transparent;outline:none;opacity:0;cursor:pointer;transition:opacity .4s}@media print{.vp-copy-code-button{display:none}}.vp-copy-code-button:focus,.vp-copy-code-button.copied{opacity:1}.vp-copy-code-button:hover,.vp-copy-code-button.copied{background:var(--copy-code-hover)}.vp-copy-code-button.copied .vp-copy-icon{-webkit-mask-image:var(--code-copied-icon);mask-image:var(--code-copied-icon)}.vp-copy-code-button.copied:after{content:attr(data-copied);position:absolute;top:0;right:calc(100% + .25rem);display:block;height:1.25rem;padding:.625rem;border-radius:.5rem;background:var(--copy-code-hover);color:var(--copy-code-color);font-weight:500;line-height:1.25rem;white-space:nowrap}.vp-copy-icon{width:1.25rem;height:1.25rem;padding:.625rem;background:currentcolor;color:var(--copy-code-color);font-size:1.25rem;-webkit-mask-image:var(--code-copy-icon);mask-image:var(--code-copy-icon);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:1em;mask-size:1em}:root{--code-copy-icon: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20height='20'%20width='20'%20stroke='rgba(128,128,128,1)'%20stroke-width='2'%3e%3cpath%20stroke-linecap='round'%20stroke-linejoin='round'%20d='M9%205H7a2%202%200%200%200-2%202v12a2%202%200%200%200%202%202h10a2%202%200%200%200%202-2V7a2%202%200%200%200-2-2h-2M9%205a2%202%200%200%200%202%202h2a2%202%200%200%200%202-2M9%205a2%202%200%200%201%202-2h2a2%202%200%200%201%202%202'%20/%3e%3c/svg%3e");--code-copied-icon: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20height='20'%20width='20'%20stroke='rgba(128,128,128,1)'%20stroke-width='2'%3e%3cpath%20stroke-linecap='round'%20stroke-linejoin='round'%20d='M9%205H7a2%202%200%200%200-2%202v12a2%202%200%200%200%202%202h10a2%202%200%200%200%202-2V7a2%202%200%200%200-2-2h-2M9%205a2%202%200%200%200%202%202h2a2%202%200%200%200%202-2M9%205a2%202%200%200%201%202-2h2a2%202%200%200%201%202%202m-6%209%202%202%204-4'%20/%3e%3c/svg%3e");--copy-code-color: #9e9e9e;--copy-code-hover: rgb(0 0 0 / 50%)}:root{--important-title-color: #230555;--important-bg-color: #f4eefe;--important-border-color: #a371f7;--important-code-bg-color: rgb(163 113 247 / 10%);--info-title-color: #193c47;--info-bg-color: #eef9fd;--info-border-color: #4cb3d4;--info-code-bg-color: rgb(76 179 212 / 10%);--note-title-color: #474748;--note-bg-color: #fdfdfe;--note-border-color: #ccc;--note-code-bg-color: rgb(212 213 216 / 20%);--tip-title-color: #003100;--tip-bg-color: #e6f6e6;--tip-border-color: #009400;--tip-code-bg-color: rgb(0 148 0 / 15%);--warning-title-color: #4d3800;--warning-bg-color: #fff8e6;--warning-border-color: #e6a700;--warning-code-bg-color: rgb(230 167 0 / 15%);--caution-title-color: #4b1113;--caution-bg-color: #ffebec;--caution-border-color: #e13238;--caution-code-bg-color: rgb(225 50 56 / 15%);--detail-bg-color: #eee;--detail-text-color: inherit;--detail-code-bg-color: rgb(127 127 127 / 15%)}html[data-theme=dark]{--important-title-color: #f4eefe;--important-bg-color: #230555;--info-title-color: #eef9fd;--info-bg-color: #193c47;--note-title-color: #fdfdfe;--note-bg-color: #474748;--tip-title-color: #e6f6e6;--tip-bg-color: #003100;--warning-title-color: #fff8e6;--warning-bg-color: #4d3800;--caution-title-color: #ffebec;--caution-bg-color: #4b1113;--detail-bg-color: #333;--detail-text-color: #a8a8a8}.hint-container{position:relative;transition:background var(--vp-ct),border-color var(--vp-ct),color var(--vp-ct)}@media print{.hint-container{page-break-inside:avoid}}.hint-container .hint-container-title{position:relative;font-weight:600;line-height:1.25}.hint-container.important,.hint-container.info,.hint-container.note,.hint-container.tip,.hint-container.warning,.hint-container.caution{margin:1rem 0;padding:.25rem 1rem;border-inline-start-width:.3rem;border-inline-start-style:solid;border-radius:.5rem;color:inherit}@media (max-width: 419px){.hint-container.important,.hint-container.info,.hint-container.note,.hint-container.tip,.hint-container.warning,.hint-container.caution{margin-inline:-.75rem}}.hint-container.important .hint-container-title,.hint-container.info .hint-container-title,.hint-container.note .hint-container-title,.hint-container.tip .hint-container-title,.hint-container.warning .hint-container-title,.hint-container.caution .hint-container-title{padding-inline-start:1.75rem}@media print{.hint-container.important .hint-container-title,.hint-container.info .hint-container-title,.hint-container.note .hint-container-title,.hint-container.tip .hint-container-title,.hint-container.warning .hint-container-title,.hint-container.caution .hint-container-title{padding-inline-start:0}}.hint-container.important .hint-container-title:before,.hint-container.info .hint-container-title:before,.hint-container.note .hint-container-title:before,.hint-container.tip .hint-container-title:before,.hint-container.warning .hint-container-title:before,.hint-container.caution .hint-container-title:before{content:" ";position:absolute;top:calc(50% - .6125em);inset-inline-start:0;width:1.25em;height:1.25em;background-position:left;background-repeat:no-repeat}@media print{.hint-container.important .hint-container-title:before,.hint-container.info .hint-container-title:before,.hint-container.note .hint-container-title:before,.hint-container.tip .hint-container-title:before,.hint-container.warning .hint-container-title:before,.hint-container.caution .hint-container-title:before{display:none}}.hint-container.important p,.hint-container.info p,.hint-container.note p,.hint-container.tip p,.hint-container.warning p,.hint-container.caution p{line-height:1.5}.hint-container.important a,.hint-container.info a,.hint-container.note a,.hint-container.tip a,.hint-container.warning a,.hint-container.caution a{color:var(--vp-tc)}.hint-container.important{border-color:var(--important-border-color);background:var(--important-bg-color)}.hint-container.important>.hint-container-title{color:var(--important-title-color)}.hint-container.important>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath d='M512 981.333a84.992 84.992 0 0 1-84.907-84.906h169.814A84.992 84.992 0 0 1 512 981.333zm384-128H128v-42.666l85.333-85.334v-256A298.325 298.325 0 0 1 448 177.92V128a64 64 0 0 1 128 0v49.92a298.325 298.325 0 0 1 234.667 291.413v256L896 810.667v42.666zm-426.667-256v85.334h85.334v-85.334h-85.334zm0-256V512h85.334V341.333h-85.334z' fill='%23a371f7'/%3E%3C/svg%3E")}.hint-container.important code{background:var(--important-code-bg-color)}.hint-container.info{border-color:var(--info-border-color);background:var(--info-bg-color)}.hint-container.info>.hint-container-title{color:var(--info-title-color)}.hint-container.info>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-1-11v6h2v-6h-2zm0-4v2h2V7h-2z' fill='%234cb3d4'/%3E%3C/svg%3E")}.hint-container.info code{background:var(--info-code-bg-color)}.hint-container.note{border-color:var(--note-border-color);background:var(--note-bg-color)}.hint-container.note>.hint-container-title{color:var(--note-title-color)}.hint-container.note>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-1-11v6h2v-6h-2zm0-4v2h2V7h-2z' fill='%23ccc'/%3E%3C/svg%3E")}.hint-container.note code{background:var(--note-code-bg-color)}.hint-container.tip{border-color:var(--tip-border-color);background:var(--tip-bg-color)}.hint-container.tip>.hint-container-title{color:var(--tip-title-color)}.hint-container.tip>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23009400' d='M7.941 18c-.297-1.273-1.637-2.314-2.187-3a8 8 0 1 1 12.49.002c-.55.685-1.888 1.726-2.185 2.998H7.94zM16 20v1a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2v-1h8zm-3-9.995V6l-4.5 6.005H11v4l4.5-6H13z'/%3E%3C/svg%3E")}.hint-container.tip code{background:var(--tip-code-bg-color)}.hint-container.warning{border-color:var(--warning-border-color);background:var(--warning-bg-color)}.hint-container.warning>.hint-container-title{color:var(--warning-title-color)}.hint-container.warning>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath d='M576.286 752.57v-95.425q0-7.031-4.771-11.802t-11.3-4.772h-96.43q-6.528 0-11.3 4.772t-4.77 11.802v95.424q0 7.031 4.77 11.803t11.3 4.77h96.43q6.528 0 11.3-4.77t4.77-11.803zm-1.005-187.836 9.04-230.524q0-6.027-5.022-9.543-6.529-5.524-12.053-5.524H456.754q-5.524 0-12.053 5.524-5.022 3.516-5.022 10.547l8.538 229.52q0 5.023 5.022 8.287t12.053 3.265h92.913q7.032 0 11.803-3.265t5.273-8.287zM568.25 95.65l385.714 707.142q17.578 31.641-1.004 63.282-8.538 14.564-23.354 23.102t-31.892 8.538H126.286q-17.076 0-31.892-8.538T71.04 866.074q-18.582-31.641-1.004-63.282L455.75 95.65q8.538-15.57 23.605-24.61T512 62t32.645 9.04 23.605 24.61z' fill='%23e6a700'/%3E%3C/svg%3E")}.hint-container.warning code{background:var(--warning-code-bg-color)}.hint-container.caution{border-color:var(--caution-border-color);background:var(--caution-bg-color)}.hint-container.caution>.hint-container-title{color:var(--caution-title-color)}.hint-container.caution>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2c5.523 0 10 4.477 10 10v3.764a2 2 0 0 1-1.106 1.789L18 19v1a3 3 0 0 1-2.824 2.995L14.95 23a2.5 2.5 0 0 0 .044-.33L15 22.5V22a2 2 0 0 0-1.85-1.995L13 20h-2a2 2 0 0 0-1.995 1.85L9 22v.5c0 .171.017.339.05.5H9a3 3 0 0 1-3-3v-1l-2.894-1.447A2 2 0 0 1 2 15.763V12C2 6.477 6.477 2 12 2zm-4 9a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm8 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4z' fill='%23e13238'/%3E%3C/svg%3E")}.hint-container.caution code{background:var(--caution-code-bg-color)}.hint-container.details{position:relative;display:block;margin:1rem 0;padding:1.5rem;border-radius:.5rem;background:var(--detail-bg-color);color:var(--detail-text-color);transition:background var(--vp-tt),color var(--vp-tt)}@media (max-width: 419px){.hint-container.details{margin-inline:-.75rem}}.hint-container.details h4{margin-top:0}.hint-container.details figure:last-child,.hint-container.details p:last-child{margin-bottom:0;padding-bottom:0}.hint-container.details a{color:var(--vp-tc)}.hint-container.details code{background:var(--detail-code-bg-color)}.hint-container.details summary{position:relative;margin:-1.5rem;padding-block:1.5rem;padding-inline:4rem 1.5rem;list-style:none;cursor:pointer}.hint-container.details summary::-webkit-details-marker{display:none}.hint-container.details summary::marker{color:transparent;font-size:0}.hint-container.details summary:before,.hint-container.details summary:after{content:" ";position:absolute;top:calc(50% - .75rem);inset-inline-start:1.5rem;width:1.5rem;height:1.5rem}.hint-container.details summary:before{border-radius:50%;background:#ccc;transition:background var(--vp-ct),transform var(--vp-tt)}html[data-theme=dark] .hint-container.details summary:before{background:#555}.hint-container.details summary:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");line-height:normal;transition:transform var(--vp-tt);transform:rotate(90deg)}html[data-theme=dark] .hint-container.details summary:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.hint-container.details[open]>summary{margin-bottom:.5em}.hint-container.details[open]>summary:after{transform:rotate(180deg)}/*! PhotoSwipe main CSS by Dmytro Semenov | photoswipe.com */.pswp{--pswp-bg: #000;--pswp-placeholder-bg: #222;--pswp-root-z-index: 100000;--pswp-preloader-color: rgba(79, 79, 79, .4);--pswp-preloader-color-secondary: rgba(255, 255, 255, .9);--pswp-icon-color: #fff;--pswp-icon-color-secondary: #4f4f4f;--pswp-icon-stroke-color: #4f4f4f;--pswp-icon-stroke-width: 2px;--pswp-error-text-color: var(--pswp-icon-color)}.pswp{position:fixed;top:0;left:0;width:100%;height:100%;z-index:var(--pswp-root-z-index);display:none;touch-action:none;outline:0;opacity:.003;contain:layout style size;-webkit-tap-highlight-color:rgba(0,0,0,0)}.pswp:focus{outline:0}.pswp *{box-sizing:border-box}.pswp img{max-width:none}.pswp--open{display:block}.pswp,.pswp__bg{transform:translateZ(0);will-change:opacity}.pswp__bg{opacity:.005;background:var(--pswp-bg)}.pswp,.pswp__scroll-wrap{overflow:hidden}.pswp__scroll-wrap,.pswp__bg,.pswp__container,.pswp__item,.pswp__content,.pswp__img,.pswp__zoom-wrap{position:absolute;top:0;left:0;width:100%;height:100%}.pswp__img,.pswp__zoom-wrap{width:auto;height:auto}.pswp--click-to-zoom.pswp--zoom-allowed .pswp__img{cursor:zoom-in}.pswp--click-to-zoom.pswp--zoomed-in .pswp__img{cursor:move;cursor:grab}.pswp--click-to-zoom.pswp--zoomed-in .pswp__img:active{cursor:grabbing}.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img,.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img:active,.pswp__img{cursor:zoom-out}.pswp__container,.pswp__img,.pswp__button,.pswp__counter{-webkit-user-select:none;-moz-user-select:none;user-select:none}.pswp__item{z-index:1;overflow:hidden}.pswp__hidden{display:none!important}.pswp__content{pointer-events:none}.pswp__content>*{pointer-events:auto}.pswp__error-msg-container{display:grid}.pswp__error-msg{margin:auto;font-size:1em;line-height:1;color:var(--pswp-error-text-color)}.pswp .pswp__hide-on-close{opacity:.005;will-change:opacity;transition:opacity var(--pswp-transition-duration) cubic-bezier(.4,0,.22,1);z-index:10;pointer-events:none}.pswp--ui-visible .pswp__hide-on-close{opacity:1;pointer-events:auto}.pswp__button{position:relative;display:block;width:50px;height:60px;padding:0;margin:0;overflow:hidden;cursor:pointer;background:none;border:0;box-shadow:none;opacity:.85;-webkit-appearance:none;-webkit-touch-callout:none}.pswp__button:hover,.pswp__button:active,.pswp__button:focus{transition:none;padding:0;background:none;border:0;box-shadow:none;opacity:1}.pswp__button:disabled{opacity:.3;cursor:auto}.pswp__icn{fill:var(--pswp-icon-color);color:var(--pswp-icon-color-secondary)}.pswp__icn{position:absolute;top:14px;left:9px;width:32px;height:32px;overflow:hidden;pointer-events:none}.pswp__icn-shadow{stroke:var(--pswp-icon-stroke-color);stroke-width:var(--pswp-icon-stroke-width);fill:none}.pswp__icn:focus{outline:0}div.pswp__img--placeholder,.pswp__img--with-bg{background:var(--pswp-placeholder-bg)}.pswp__top-bar{position:absolute;left:0;top:0;width:100%;height:60px;display:flex;flex-direction:row;justify-content:flex-end;z-index:10;pointer-events:none!important}.pswp__top-bar>*{pointer-events:auto;will-change:opacity}.pswp__button--close{margin-right:6px}.pswp__button--arrow{position:absolute;width:75px;height:100px;top:50%;margin-top:-50px}.pswp__button--arrow:disabled{display:none;cursor:default}.pswp__button--arrow .pswp__icn{top:50%;margin-top:-30px;width:60px;height:60px;background:none;border-radius:0}.pswp--one-slide .pswp__button--arrow{display:none}.pswp--touch .pswp__button--arrow{visibility:hidden}.pswp--has_mouse .pswp__button--arrow{visibility:visible}.pswp__button--arrow--prev{right:auto;left:0}.pswp__button--arrow--next{right:0}.pswp__button--arrow--next .pswp__icn{left:auto;right:14px;transform:scaleX(-1)}.pswp__button--zoom{display:none}.pswp--zoom-allowed .pswp__button--zoom{display:block}.pswp--zoomed-in .pswp__zoom-icn-bar-v{display:none}.pswp__preloader{position:relative;overflow:hidden;width:50px;height:60px;margin-right:auto}.pswp__preloader .pswp__icn{opacity:0;transition:opacity .2s linear;animation:pswp-clockwise .6s linear infinite}.pswp__preloader--active .pswp__icn{opacity:.85}@keyframes pswp-clockwise{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pswp__counter{height:30px;margin-top:15px;margin-inline-start:20px;font-size:14px;line-height:30px;color:var(--pswp-icon-color);text-shadow:1px 1px 3px var(--pswp-icon-color-secondary);opacity:.85}.pswp--one-slide .pswp__counter{display:none}.photo-swipe-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.photo-swipe-bullets-indicator{position:absolute;bottom:30px;left:50%;display:flex;flex-direction:row;align-items:center;transform:translate(-50%)}.photo-swipe-bullet{width:12px;height:6px;margin:0 5px;border-radius:3px;background:var(--photo-swipe-bullet);transition:width .3s,color .3s}.photo-swipe-bullet.active{width:30px;background:var(--photo-swipe-bullet-active)}:root{--photo-swipe-bullet: #fff;--photo-swipe-bullet-active: #3eaf7c}@keyframes message-move-in{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@keyframes message-move-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-100%)}}#message-container{position:fixed;inset:calc(var(--navbar-height, 3.6rem) + 1rem) 0 auto;z-index:75;text-align:center}#message-container .message{display:inline-block;padding:8px 10px;border-radius:3px;background:var(--vp-bg);color:var(--vp-c);box-shadow:0 0 10px 0 var(--box-shadow, #f0f1f2);font-size:14px}#message-container .message.move-in{animation:message-move-in .3s ease-in-out}#message-container .message.move-out{animation:message-move-out .3s ease-in-out;animation-fill-mode:forwards}#message-container .message svg{position:relative;bottom:-.125em;margin-inline-end:5px}.vp-article-wrapper{position:relative;box-sizing:border-box;width:100%;margin:0 auto 1.25rem;text-align:start;overflow-wrap:break-word}@media (max-width: 959px){.vp-article-wrapper{margin:0 auto 1rem}}.vp-article-wrapper:last-child{margin-bottom:0}.vp-article-item{display:block;padding:.75rem 1.25rem;border-radius:.4rem;background:var(--bg-color-float);color:inherit;box-shadow:0 1px 3px 1px var(--card-shadow);transition:background var(--color-transition),box-shadow var(--color-transition)}@media (max-width: 959px){.vp-article-item{padding:.75rem 1rem}}@media (max-width: 419px){.vp-article-item{border-radius:0}}.vp-article-item:hover{box-shadow:0 2px 6px 2px var(--card-shadow)}.vp-article-item .sticky-icon{position:absolute;top:0;inset-inline-end:0;width:1.5rem;height:1.5rem;color:var(--theme-color)}.vp-article-item .page-info>span{display:flex;flex-shrink:0;align-items:center;margin-inline-end:.5em;line-height:1.8}.vp-article-item .page-info>span:after{--balloon-font-size: 8px;padding:.3em .6em!important}.vp-article-hr{margin-block:.375em .375em}.vp-article-title{position:relative;display:inline-block;color:var(--text-color);font-size:1.25rem;font-family:var(--font-family-heading);line-height:1.6;cursor:pointer}.vp-article-title:after{content:"";position:absolute;inset:auto 0 0;height:2px;background:var(--theme-color);visibility:hidden;transition:transform .3s ease-in-out;transform:scaleX(0)}.vp-article-title:hover{cursor:pointer}.vp-article-title:hover:after{visibility:visible;transform:scaleX(1)}.vp-article-title a{color:inherit;font-weight:600}.vp-article-title .lock-icon,.vp-article-title .slides-icon{position:relative;bottom:-.125em;display:inline-block;vertical-align:baseline;width:1em;height:1em;margin-inline-end:.25em;color:var(--theme-color)}.vp-article-title>span{word-break:break-word}.vp-article-cover{width:calc(100% + 2.5rem);margin:-.75rem -1.25rem .75rem;border-top-left-radius:.4rem;border-top-right-radius:.4rem}@media (max-width: 959px){.vp-article-cover{width:calc(100% + 2rem);margin:-.75rem -1rem .75rem}}@media (max-width: 419px){.vp-article-cover{border-radius:0}}.vp-article-excerpt{overflow:hidden;line-height:1.6;cursor:default}@media (max-width: 959px){.vp-article-excerpt{font-size:15px}}@media (max-width: 419px){.vp-article-excerpt{font-size:14px}}.vp-article-excerpt h1{display:none}.vp-article-excerpt h2{font-size:1.4em}.vp-article-excerpt h3{font-size:1.2em}.vp-article-excerpt h1,.vp-article-excerpt h2,.vp-article-excerpt h3,.vp-article-excerpt h4,.vp-article-excerpt h5,.vp-article-excerpt h6{margin-top:.5em;margin-bottom:.5em}.vp-article-excerpt h1+p{margin-top:.5em}.vp-article-excerpt p:first-child{margin-top:.5em}.vp-article-excerpt p:last-child{margin-bottom:.5em}.vp-article-excerpt div[class*=language-]{overflow:auto hidden}.vp-article-excerpt div[class*=language-] pre{margin:.85rem 0;line-height:1.375}.vp-article-excerpt div[class*=language-] pre code{padding:0;background:transparent}.vp-article-excerpt div[class*=language-].line-numbers-mode .line-numbers{padding:.85rem 0}.vp-article-excerpt .code-demo-wrapper,.vp-article-excerpt .external-link-icon,.vp-article-excerpt .footnote-anchor{display:none}.vp-article-excerpt section.footnotes{display:none}.vp-article-excerpt img{max-width:100%}.vp-article-excerpt figure{display:flex;flex-direction:column;width:auto;margin:1rem auto;text-align:center;transition:transform var(--transform-transition)}.vp-article-excerpt figure img{overflow:hidden;margin:0 auto;border-radius:8px}.vp-article-excerpt figure figcaption{display:inline-block;margin:6px auto;font-size:.8rem}.vp-article-excerpt figure figcaption:only-child{display:none}.vp-article-list{margin-top:calc(-.5rem - var(--navbar-height));padding-top:calc(var(--navbar-height) + .5rem);text-align:center}.vp-article-list:first-child{margin-top:calc(0rem - var(--navbar-height))}.vp-article-list .empty{max-width:560px;margin:0 auto;text-align:center}.vp-article-type-wrapper{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;padding-inline-start:0;list-style:none;font-weight:600;font-size:18px}@media (max-width: 419px){.vp-article-type-wrapper{font-size:16px}}.vp-article-type{position:relative;vertical-align:middle;margin:.3em .8em;line-height:1.2;cursor:pointer}.vp-article-type:after{content:" ";position:absolute;inset:auto 50% -6px;height:2px;border-radius:1px;background:var(--theme-color);visibility:hidden;transition:inset .2s ease-in-out}.vp-article-type a{display:inline-block;color:inherit;transition:all .3s ease-in-out}.vp-article-type.active{position:relative}.vp-article-type.active a{color:var(--theme-color);transform:scale(1.1)}.vp-article-type:hover:after,.vp-article-type.active:after{inset:auto calc(50% - 8px) -6px;visibility:visible}.vp-blog-hero{position:relative;display:flex;flex-direction:column;justify-content:center;height:450px;margin-bottom:1rem;color:#eee;font-family:var(--font-family-heading)}@media (max-width: 719px){.vp-blog-hero{height:350px}}@media (max-width: 419px){.vp-blog-hero{margin:0 0 1rem}}.vp-blog-hero.no-bg{color:var(--text-color)}.vp-blog-hero>:not(.vp-blog-mask){position:relative;z-index:2}.vp-blog-hero .slide-down-button{border-width:0;background:transparent;cursor:pointer;position:absolute;bottom:0;left:calc(50vw - 30px);display:none;width:60px;height:60px;padding:10px}.vp-blog-hero .slide-down-button .icon{width:30px;margin:-15px 0;animation-name:bounce-down;animation-duration:1.5s;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:alternate}.vp-blog-hero .slide-down-button .icon:first-child{color:#ffffff26}.vp-blog-hero .slide-down-button .icon:last-child{color:#ffffff80}.vp-blog-hero.fullscreen{height:calc(100vh - var(--navbar-height))!important}.vp-blog-hero.fullscreen .vp-blog-mask{background-position-y:top!important}.vp-blog-hero.fullscreen .slide-down-button{display:block}.vp-blog-mask{position:absolute;top:0;right:0;bottom:0;left:0}.vp-blog-mask:after{content:" ";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:block;background:var(--light-grey);opacity:.2}.vp-blog-mask.light{display:block}html[data-theme=dark] .vp-blog-mask.light,.vp-blog-mask.dark{display:none}html[data-theme=dark] .vp-blog-mask.dark{display:block}.vp-blog-hero-title{margin:.5rem auto;font-weight:700;font-size:2rem}@media (min-width: 1440px){.vp-blog-hero-title{font-size:2.25rem}}@media (max-width: 719px){.vp-blog-hero-title{font-size:1.75rem}}.vp-blog-hero-image{display:block;max-width:100%;max-height:15rem;margin:1.5rem auto}@media (max-width: 719px){.vp-blog-hero-image{max-height:12rem}}.vp-blog-hero-image.light{display:block}html[data-theme=dark] .vp-blog-hero-image.light,.vp-blog-hero-image.dark{display:none}html[data-theme=dark] .vp-blog-hero-image.dark{display:block}.vp-blog-hero-image+.vp-blog-hero-title{margin:0 auto}.vp-blog-hero-description{margin:1.2rem auto 0;font-size:1.5rem}@media (max-width: 719px){.vp-blog-hero-description{font-size:1.25rem}}@keyframes bounce-down{0%{transform:translateY(-5px)}to{transform:translateY(5px)}}.vp-blogger-info{padding:.5rem;font-family:var(--font-family-heading);overflow-wrap:break-word}.vp-page .vp-blogger-info{background:var(--bg-color-float);transition:background var(--color-transition)}.vp-sidebar .vp-blogger-info.mobile{display:none}@media (max-width: 719px){.vp-sidebar .vp-blogger-info.mobile{display:block}}.vp-sidebar .vp-blogger-info.mobile+hr{display:none}@media (max-width: 719px){.vp-sidebar .vp-blogger-info.mobile+hr{display:block;margin-top:1rem}}.vp-blogger{padding:.5rem;text-align:center}.vp-blogger-avatar{width:8rem;height:8rem;margin:0 auto}.vp-blogger-avatar.round{border-radius:50%}.vp-blogger-name{margin:1rem auto;font-size:22px}.vp-blogger-description{margin:1rem auto;font-size:14px}.vp-blog-counts{display:flex;width:80%;margin:0 auto 1rem}.vp-blog-count{display:block;width:25%;color:inherit;font-size:13px;text-align:center;cursor:pointer;transition:color var(--color-transition)}.vp-blog-count:hover{color:var(--theme-color)}.vp-blog-count .count{position:relative;margin-bottom:.5rem;font-weight:600;font-size:20px}.vp-category-list{position:relative;z-index:2;padding-inline-start:0;list-style:none;font-size:14px}.vp-category{display:inline-block;vertical-align:middle;overflow:hidden;margin:.3rem .6rem .8rem;padding:.4rem .8rem;border-radius:.25rem;color:var(--dark-grey);box-shadow:0 1px 4px 0 var(--card-shadow);word-break:break-word;cursor:pointer;transition:background var(--color-transition),color var(--color-transition)}@media (max-width: 419px){.vp-category{font-size:.9rem}}.vp-category a{color:inherit}.vp-category .count{display:inline-block;min-width:1rem;height:1.2rem;margin-inline-start:.2em;padding:0 .1rem;border-radius:.6rem;color:var(--white);font-size:.7rem;line-height:1.2rem;text-align:center}.vp-category0{background:#fde5e7;color:#ba111f}html[data-theme=dark] .vp-category0{background:#340509;color:#ec2f3e}.vp-category0:hover{background:#f9bec3}html[data-theme=dark] .vp-category0:hover{background:#53080e}.vp-category0.active{background:#cf1322;color:#fff}html[data-theme=dark] .vp-category0.active{background:#a60f1b;color:var(--bg-color)}.vp-category0.active .count{background:var(--bg-color);color:#cf1322}.vp-category0 .count{background:#cf1322}.vp-category1{background:#ffeee8;color:#f54205}html[data-theme=dark] .vp-category1{background:#441201;color:#fb7649}.vp-category1:hover{background:#fed4c6}html[data-theme=dark] .vp-category1:hover{background:#6d1d02}.vp-category1.active{background:#fa541c;color:#fff}html[data-theme=dark] .vp-category1.active{background:#da3a05;color:var(--bg-color)}.vp-category1.active .count{background:var(--bg-color);color:#fa541c}.vp-category1 .count{background:#fa541c}.vp-category2{background:#fef5e7;color:#e08e0b}html[data-theme=dark] .vp-category2{background:#3e2703;color:#f5b041}.vp-category2:hover{background:#fce6c4}html[data-theme=dark] .vp-category2:hover{background:#633f05}.vp-category2.active{background:#f39c12;color:#fff}html[data-theme=dark] .vp-category2.active{background:#c77e0a;color:var(--bg-color)}.vp-category2.active .count{background:var(--bg-color);color:#f39c12}.vp-category2 .count{background:#f39c12}.vp-category3{background:#eafaf1;color:#29b866}html[data-theme=dark] .vp-category3{background:#0c331c;color:#55d98d}.vp-category3:hover{background:#caf3db}html[data-theme=dark] .vp-category3:hover{background:#12522d}.vp-category3.active{background:#2ecc71;color:#fff}html[data-theme=dark] .vp-category3.active{background:#25a35a;color:var(--bg-color)}.vp-category3.active .count{background:var(--bg-color);color:#2ecc71}.vp-category3 .count{background:#2ecc71}.vp-category4{background:#e6f9ee;color:#219552}html[data-theme=dark] .vp-category4{background:#092917;color:#36d278}.vp-category4:hover{background:#c0f1d5}html[data-theme=dark] .vp-category4:hover{background:#0f4224}.vp-category4.active{background:#25a55b;color:#fff}html[data-theme=dark] .vp-category4.active{background:#1e8449;color:var(--bg-color)}.vp-category4.active .count{background:var(--bg-color);color:#25a55b}.vp-category4 .count{background:#25a55b}.vp-category5{background:#e1fcfc;color:#0e9595}html[data-theme=dark] .vp-category5{background:#042929;color:#16e1e1}.vp-category5:hover{background:#b4f8f8}html[data-theme=dark] .vp-category5:hover{background:#064242}.vp-category5.active{background:#10a5a5;color:#fff}html[data-theme=dark] .vp-category5.active{background:#0d8484;color:var(--bg-color)}.vp-category5.active .count{background:var(--bg-color);color:#10a5a5}.vp-category5 .count{background:#10a5a5}.vp-category6{background:#e4f0fe;color:#0862c3}html[data-theme=dark] .vp-category6{background:#021b36;color:#2589f6}.vp-category6:hover{background:#bbdafc}html[data-theme=dark] .vp-category6:hover{background:#042c57}.vp-category6.active{background:#096dd9;color:#fff}html[data-theme=dark] .vp-category6.active{background:#0757ae;color:var(--bg-color)}.vp-category6.active .count{background:var(--bg-color);color:#096dd9}.vp-category6 .count{background:#096dd9}.vp-category7{background:#f7f1fd;color:#9851e4}html[data-theme=dark] .vp-category7{background:#2a0b4b;color:#bb8ced}.vp-category7:hover{background:#eadbfa}html[data-theme=dark] .vp-category7:hover{background:#431277}.vp-category7.active{background:#aa6fe9;color:#fff}html[data-theme=dark] .vp-category7.active{background:#8733e0;color:var(--bg-color)}.vp-category7.active .count{background:var(--bg-color);color:#aa6fe9}.vp-category7 .count{background:#aa6fe9}.vp-category8{background:#fdeaf5;color:#e81689}html[data-theme=dark] .vp-category8{background:#400626;color:#ef59ab}.vp-category8:hover{background:#facbe5}html[data-theme=dark] .vp-category8:hover{background:#670a3d}.vp-category8.active{background:#eb2f96;color:#fff}html[data-theme=dark] .vp-category8.active{background:#ce147a;color:var(--bg-color)}.vp-category8.active .count{background:var(--bg-color);color:#eb2f96}.vp-category8 .count{background:#eb2f96}html[data-theme=dark] .empty-icon g.people{opacity:.8}html[data-theme=dark] .empty-icon g:not(.people){filter:invert(80%)}.vp-page.vp-blog .vp-blog-home{flex:1;width:0;max-width:780px}.vp-page.vp-blog .theme-hope-content:empty{padding:0}.vp-blog-infos{margin:8px auto;padding:8px 16px}.vp-page .vp-blog-infos{border-radius:6px;background:var(--bg-color-float);box-shadow:0 1px 3px 1px var(--card-shadow);transition:background var(--color-transition),box-shadow var(--color-transition)}.vp-page .vp-blog-infos:hover{box-shadow:0 2px 6px 2px var(--card-shadow)}.vp-blog-infos .timeline-list-wrapper .content{max-height:60vh}.vp-blog-type-switcher{display:flex;justify-content:center;margin-bottom:8px}.vp-blog-type-button{border-width:0;background:transparent;cursor:pointer;width:44px;height:44px;margin:0 8px;padding:4px;color:var(--grey3);transition:color var(--color-transition)}.vp-blog-type-button:focus{outline:none}.vp-blog-type-button .icon-wrapper{width:20px;height:20px;padding:8px;border-radius:50%;background:#7f7f7f26;transition:background var(--color-transition)}html[data-theme=dark] .vp-blog-type-button .icon-wrapper{background:#ffffff26}.vp-blog-type-button .icon-wrapper:hover{cursor:pointer}.vp-blog-type-button .icon-wrapper.active{background:var(--theme-color-light)}html[data-theme=dark] .vp-blog-type-button .icon-wrapper.active{background:var(--theme-color-dark)}.vp-blog-type-button .icon{width:100%;height:100%}.vp-sidebar.hide-icon .vp-blog-type-button .icon{display:block!important}.vp-star-article-wrapper,.vp-category-wrapper,.vp-tag-wrapper{padding:8px 0}.vp-star-article-wrapper .title,.vp-category-wrapper .title,.vp-tag-wrapper .title{cursor:pointer}.vp-star-article-wrapper .title .icon,.vp-category-wrapper .title .icon,.vp-tag-wrapper .title .icon{position:relative;bottom:-.125rem;width:16px;height:16px;margin:0 6px}.vp-star-article-wrapper .title .num,.vp-category-wrapper .title .num,.vp-tag-wrapper .title .num{position:relative;margin:0 2px;font-size:22px;font-family:var(--font-family-heading)}.vp-star-articles{overflow-y:auto;max-height:80vh;margin:8px auto;line-height:1.5}.vp-star-article{padding:12px 8px 4px;border-bottom:1px dashed var(--grey);transition:border-color var(--color-transition),color var(--color-transition)}.vp-star-article a{color:inherit}.vp-star-article:hover{cursor:pointer}.vp-star-article:hover a{color:var(--theme-color)}.vp-category-wrapper .category-list-wrapper,.vp-tag-wrapper .tag-list-wrapper{overflow-y:auto;max-height:80vh;margin:8px auto}.vp-sidebar .vp-blog-info-wrapper .vp-blogger-info{display:none}.vp-page .vp-blog-info-wrapper{position:sticky;top:calc(var(--navbar-height) + .75rem);flex:0 0 300px;box-sizing:border-box;width:300px;height:auto;margin-top:.75rem;margin-bottom:.75rem;margin-inline-start:1rem;transition:all .3s}@media (max-width: 719px){.vp-page .vp-blog-info-wrapper{display:none}}.vp-page .vp-blog-info-wrapper .vp-blogger-info{margin-bottom:16px;padding:8px 0;border-radius:8px;box-shadow:0 1px 3px 1px var(--card-shadow)}.vp-page .vp-blog-info-wrapper .vp-blogger-info:hover{box-shadow:0 2px 6px 2px var(--card-shadow)}.theme-container .vp-page.vp-blog{display:flex;flex-direction:column;justify-content:space-between;box-sizing:border-box;padding-top:var(--navbar-height);padding-bottom:2rem;background:var(--bg-color-back);transition:background var(--color-transition)}@media (min-width: 1440px){.theme-container.has-toc .vp-page.vp-blog{padding-inline-end:0}}.blog-page-wrapper{display:flex;align-items:flex-start;justify-content:center;box-sizing:border-box;width:100%;margin:0 auto;padding:0 2rem}@media (max-width: 959px){.blog-page-wrapper{padding:0 1rem}}@media (max-width: 419px){.blog-page-wrapper{padding:0}}.vp-blog-main{flex:1;width:0;max-width:780px}.vp-pagination{margin:1.25rem 0 .75rem;font-weight:600;font-size:15px;line-height:2}.vp-pagination-list{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-evenly;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vp-pagination-number{display:flex;align-items:stretch;overflow:hidden;height:30px;margin:0 .5rem;border:1px solid var(--border-color);border-radius:.25rem}.vp-pagination-number div{position:relative;padding:0 .5rem;background:var(--bg-color);color:var(--theme-color);cursor:pointer}.vp-pagination-number div:before{content:" ";position:absolute;top:0;bottom:0;inset-inline-start:0;width:1px;background:var(--border-color)}.vp-pagination-number div:first-child:before{background:transparent}.vp-pagination-number div:hover{color:var(--theme-color-light)}.vp-pagination-number div.active{background:var(--theme-color);color:var(--white)}.vp-pagination-number div.active:before{background:var(--theme-color)}.vp-pagination-number div.active+div:before{background:var(--theme-color)}.vp-pagination-number div.prev,.vp-pagination-number div.next{font-size:13px;line-height:30px}.vp-pagination-number div.active,.vp-pagination-number div.ellipsis{cursor:default}.vp-pagination-nav{display:flex;align-items:center;justify-content:center;margin:.5rem}.vp-pagination-nav input{width:3.5rem;margin:6px 5px;border:1px solid var(--border-color);border-radius:.25em;background:var(--bg-color);color:var(--text-color);outline:none;line-height:2;text-align:center}.vp-pagination-button{overflow:hidden;padding:0 .75em;border:1px solid var(--border-color);border-radius:.25em;background:var(--bg-color);color:var(--theme-color);outline:none;font-weight:600;font-size:15px;line-height:2;cursor:pointer}.vp-pagination-button:hover{color:var(--theme-color-light)}.vp-project-panel{position:relative;z-index:2;display:flex;flex-wrap:wrap;align-items:stretch;place-content:stretch flex-start;margin-bottom:12px}.vp-project-panel:empty{margin-bottom:0}.vp-project-card{position:relative;width:calc(33% - 40px);margin:6px 8px;padding:12px;border-radius:8px;background:var(--bg-color-float);transition:background var(--color-transition),transform var(--transform-transition)}@media (max-width: 959px){.vp-project-card{width:calc(50% - 40px)}}@media (min-width: 1440px){.vp-project-card{width:calc(25% - 40px)}}.vp-project-card:hover{cursor:pointer;transform:scale(.98)}.vp-project-card .icon{position:relative;z-index:2;float:right;width:20px;height:20px}html[dir=rtl] .vp-project-card .icon{float:left}.vp-project-card.project0{background:#fde5e7}.vp-project-card.project0:hover{background:#f9bec3}html[data-theme=dark] .vp-project-card.project0{background:#340509}html[data-theme=dark] .vp-project-card.project0:hover{background:#53080e}.vp-project-card.project1{background:#ffeee8}.vp-project-card.project1:hover{background:#fed4c6}html[data-theme=dark] .vp-project-card.project1{background:#441201}html[data-theme=dark] .vp-project-card.project1:hover{background:#6d1d02}.vp-project-card.project2{background:#fef5e7}.vp-project-card.project2:hover{background:#fce6c4}html[data-theme=dark] .vp-project-card.project2{background:#3e2703}html[data-theme=dark] .vp-project-card.project2:hover{background:#633f05}.vp-project-card.project3{background:#eafaf1}.vp-project-card.project3:hover{background:#caf3db}html[data-theme=dark] .vp-project-card.project3{background:#0c331c}html[data-theme=dark] .vp-project-card.project3:hover{background:#12522d}.vp-project-card.project4{background:#e6f9ee}.vp-project-card.project4:hover{background:#c0f1d5}html[data-theme=dark] .vp-project-card.project4{background:#092917}html[data-theme=dark] .vp-project-card.project4:hover{background:#0f4224}.vp-project-card.project5{background:#e1fcfc}.vp-project-card.project5:hover{background:#b4f8f8}html[data-theme=dark] .vp-project-card.project5{background:#042929}html[data-theme=dark] .vp-project-card.project5:hover{background:#064242}.vp-project-card.project6{background:#e4f0fe}.vp-project-card.project6:hover{background:#bbdafc}html[data-theme=dark] .vp-project-card.project6{background:#021b36}html[data-theme=dark] .vp-project-card.project6:hover{background:#042c57}.vp-project-card.project7{background:#f7f1fd}.vp-project-card.project7:hover{background:#eadbfa}html[data-theme=dark] .vp-project-card.project7{background:#2a0b4b}html[data-theme=dark] .vp-project-card.project7:hover{background:#431277}.vp-project-card.project8{background:#fdeaf5}.vp-project-card.project8:hover{background:#facbe5}html[data-theme=dark] .vp-project-card.project8{background:#400626}html[data-theme=dark] .vp-project-card.project8:hover{background:#670a3d}.vp-project-name{position:relative;z-index:2;color:var(--grey3);font-weight:500;font-size:16px;transition:color var(--color-transition)}.vp-project-desc{position:relative;z-index:2;margin:6px 0;color:var(--dark-grey);font-size:13px}.vp-project-image{position:relative;z-index:2;float:right;width:40px;height:40px}html[dir=rtl] .vp-project-image{float:left}.vp-social-medias{display:flex;flex-wrap:wrap;justify-content:center;margin:8px auto}.vp-social-media{width:26px;height:26px;margin:4px;transition:transform .18s ease-out .18s;transform:scale(1)}.vp-social-media:hover{cursor:pointer;transform:scale(1.2)}.vp-social-media:after{--balloon-font-size: 8px;padding:.3em .6em}.vp-social-media .icon{width:100%;height:100%}.tag-list-wrapper{position:relative;z-index:2;display:flex;flex-wrap:wrap;justify-content:flex-start;padding-inline-start:0;list-style:none}.tag-list-wrapper a{color:inherit}.tag-list-wrapper .tag{position:relative;display:inline-block;vertical-align:middle;overflow:hidden;min-width:24px;margin:4px 6px;padding:3px 8px;border-radius:8px;color:var(--white);box-shadow:0 1px 6px 0 var(--box-shadow);font-size:12px;text-align:center;word-break:break-word;cursor:pointer;transition:background var(--color-transition),box-shadow var(--color-transition),transform var(--color-transition)}.tag-list-wrapper .tag:hover{cursor:pointer}.tag-list-wrapper .tag.active{transform:scale(1.1)}.tag-list-wrapper .tag-num{margin-inline-start:.5em}.tag-list-wrapper .tag0{background:#e91526}.tag-list-wrapper .tag0:hover,.tag-list-wrapper .tag0.active,html[data-theme=dark] .tag-list-wrapper .tag0{background:#c51220}html[data-theme=dark] .tag-list-wrapper .tag0:hover,html[data-theme=dark] .tag-list-wrapper .tag0.active{background:#e91526}.tag-list-wrapper .tag1{background:#fb6533}.tag-list-wrapper .tag1:hover,.tag-list-wrapper .tag1.active,html[data-theme=dark] .tag-list-wrapper .tag1{background:#fa4a0e}html[data-theme=dark] .tag-list-wrapper .tag1:hover,html[data-theme=dark] .tag-list-wrapper .tag1.active{background:#fb6533}.tag-list-wrapper .tag2{background:#f4a62a}.tag-list-wrapper .tag2:hover,.tag-list-wrapper .tag2.active,html[data-theme=dark] .tag-list-wrapper .tag2{background:#ec950c}html[data-theme=dark] .tag-list-wrapper .tag2:hover,html[data-theme=dark] .tag-list-wrapper .tag2.active{background:#f4a62a}.tag-list-wrapper .tag3{background:#40d47f}.tag-list-wrapper .tag3:hover,.tag-list-wrapper .tag3.active,html[data-theme=dark] .tag-list-wrapper .tag3{background:#2cc26b}html[data-theme=dark] .tag-list-wrapper .tag3:hover,html[data-theme=dark] .tag-list-wrapper .tag3.active{background:#40d47f}.tag-list-wrapper .tag4{background:#2bbe69}.tag-list-wrapper .tag4:hover,.tag-list-wrapper .tag4.active,html[data-theme=dark] .tag-list-wrapper .tag4{background:#239d56}html[data-theme=dark] .tag-list-wrapper .tag4:hover,html[data-theme=dark] .tag-list-wrapper .tag4.active{background:#2bbe69}.tag-list-wrapper .tag5{background:#13c3c3}.tag-list-wrapper .tag5:hover,.tag-list-wrapper .tag5.active,html[data-theme=dark] .tag-list-wrapper .tag5{background:#0f9d9d}html[data-theme=dark] .tag-list-wrapper .tag5:hover,html[data-theme=dark] .tag-list-wrapper .tag5.active{background:#13c3c3}.tag-list-wrapper .tag6{background:#0a7bf4}.tag-list-wrapper .tag6:hover,.tag-list-wrapper .tag6.active,html[data-theme=dark] .tag-list-wrapper .tag6{background:#0968ce}html[data-theme=dark] .tag-list-wrapper .tag6:hover,html[data-theme=dark] .tag-list-wrapper .tag6.active{background:#0a7bf4}.tag-list-wrapper .tag7{background:#b37deb}.tag-list-wrapper .tag7:hover,.tag-list-wrapper .tag7.active,html[data-theme=dark] .tag-list-wrapper .tag7{background:#a160e7}html[data-theme=dark] .tag-list-wrapper .tag7:hover,html[data-theme=dark] .tag-list-wrapper .tag7.active{background:#b37deb}.tag-list-wrapper .tag8{background:#ed44a1}.tag-list-wrapper .tag8:hover,.tag-list-wrapper .tag8.active,html[data-theme=dark] .tag-list-wrapper .tag8{background:#ea2290}html[data-theme=dark] .tag-list-wrapper .tag8:hover,html[data-theme=dark] .tag-list-wrapper .tag8.active{background:#ed44a1}.timeline-wrapper{--dot-color: #fff;--dot-bar-color: #eaecef;--dot-border-color: #ddd;max-width:740px;margin:0 auto;padding:40px 0}@media (max-width: 719px){.timeline-wrapper{margin:0 1.2rem}}html[data-theme=dark] .timeline-wrapper{--dot-color: #444;--dot-bar-color: #333;--dot-border-color: #555}.timeline-wrapper #toc{inset-inline:unset 0;min-width:0}.timeline-wrapper .toc-wrapper{position:relative;z-index:10}.timeline-wrapper .timeline-content{position:relative;box-sizing:border-box;padding-inline-start:76px;list-style:none}.timeline-wrapper .timeline-content:after{content:" ";position:absolute;top:14px;inset-inline-start:64px;z-index:-1;width:4px;height:calc(100% - 38px);margin-inline-end:-2px;background:var(--dot-bar-color);transition:background var(--color-transition)}.timeline-wrapper .motto{position:relative;color:var(--text-color);font-size:18px;transition:color var(--color-transition)}@media (min-width: 1280px){.timeline-wrapper .motto{font-size:20px}}.timeline-wrapper .motto:before{content:" ";position:absolute;top:50%;z-index:2;margin-top:-6px;margin-inline-start:-6px;border:2px solid var(--dot-border-color);border-radius:50%;background:var(--dot-color);transition:background var(--color-transition),border-color var(--color-transition);inset-inline-start:-10px;width:8px;height:8px}.timeline-wrapper .timeline-year-title{margin-top:calc(3rem - var(--navbar-height));margin-bottom:.5rem;padding-top:var(--navbar-height);color:var(--text-color);font-weight:700;font-size:26px;font-family:var(--font-family-heading);transition:color var(--color-transition)}.timeline-wrapper .timeline-year-title span{position:relative}.timeline-wrapper .timeline-year-title span:before{content:" ";position:absolute;top:50%;z-index:2;margin-top:-6px;margin-inline-start:-6px;border:2px solid var(--dot-border-color);border-radius:50%;background:var(--dot-color);transition:background var(--color-transition),border-color var(--color-transition);inset-inline-start:-10px;width:8px;height:8px}.timeline-wrapper .timeline-year-wrapper{padding-inline-start:0!important}.timeline-wrapper .timeline-date{position:absolute;inset-inline-end:calc(100% + 24px);width:50px;font-size:14px;line-height:30px;text-align:end}.timeline-wrapper .timeline-date:before{content:" ";position:absolute;top:50%;z-index:2;margin-top:-6px;margin-inline-start:-6px;border:2px solid var(--dot-border-color);border-radius:50%;background:var(--dot-color);transition:background var(--color-transition),border-color var(--color-transition);inset-inline-end:-19px;width:6px;height:6px}.timeline-wrapper .timeline-title{position:relative;display:block;color:inherit;font-size:16px;line-height:30px;transition:color var(--color-transition),font-size var(--transform-transition)}.timeline-wrapper .timeline-item{position:relative;z-index:3;display:flex;padding:30px 0 10px;border-bottom:1px dashed var(--border-color);list-style:none;transition:border-color var(--color-transition)}.timeline-wrapper .timeline-item:hover{cursor:pointer}.timeline-wrapper .timeline-item:hover .timeline-date{font-size:16px;transition:border-color var(--color-transition),color var(--color-transition),font-size var(--transform-transition)}.timeline-wrapper .timeline-item:hover .timeline-date:before{border-color:var(--theme-color);background:var(--bg-color-secondary)}.timeline-wrapper .timeline-item:hover .timeline-title{color:var(--theme-color);font-size:18px}.timeline-list-wrapper{--dot-color: #fff;--dot-bar-color: #eaecef;--dot-border-color: #ddd;padding:8px 0}html[data-theme=dark] .timeline-list-wrapper{--dot-color: #444;--dot-bar-color: #333;--dot-border-color: #555}.timeline-list-wrapper .timeline-list-title{cursor:pointer}.timeline-list-wrapper .timeline-list-title .icon{position:relative;bottom:-.125rem;width:16px;height:16px;margin:0 6px}.timeline-list-wrapper .timeline-list-title .num{position:relative;margin:0 2px;font-size:22px}.timeline-list-wrapper .timeline-content{overflow-y:auto;max-height:80vh}.timeline-list-wrapper .timeline-content::-webkit-scrollbar-track-piece{background:transparent}.timeline-list-wrapper .timeline-list{position:relative;box-sizing:border-box;margin:0 8px;list-style:none}.timeline-list-wrapper .timeline-list:after{content:" ";position:absolute;top:14px;inset-inline-start:0;z-index:-1;width:4px;height:calc(100% - 14px);margin-inline-start:-2px;background:var(--dot-bar-color);transition:background var(--color-transition)}.timeline-list-wrapper .timeline-year{position:relative;margin:20px 0 0;color:var(--text-color);font-weight:700;font-size:20px}.timeline-list-wrapper .timeline-year:before{content:" ";position:absolute;z-index:2;border:1px solid var(--dot-border-color);border-radius:50%;background:var(--dot-color);transition:background var(--color-transition),border-color var(--color-transition);top:50%;inset-inline-start:-20px;width:8px;height:8px;margin-top:-4px;margin-inline-start:-4px}.timeline-list-wrapper .timeline-year-wrapper{padding-inline-start:0!important}.timeline-list-wrapper .timeline-date{display:inline-block;vertical-align:bottom;width:36px;font-size:12px;line-height:32px;transition:color var(--color-transition)}.timeline-list-wrapper .timeline-date:before{content:" ";position:absolute;z-index:2;border:1px solid var(--dot-border-color);border-radius:50%;background:var(--dot-color);transition:background var(--color-transition),border-color var(--color-transition);top:24px;inset-inline-start:-19px;width:6px;height:6px;margin-inline-start:-4px}.timeline-list-wrapper .timeline-title{color:inherit;font-size:14px;line-height:32px;cursor:pointer;transition:color var(--color-transition)}.timeline-list-wrapper .timeline-item{position:relative;display:flex;padding:12px 0 4px;border-bottom:1px dashed var(--border-color);list-style:none;transition:border-color var(--color-transition)}.timeline-list-wrapper .timeline-item:hover .timeline-date{color:var(--theme-color)}.timeline-list-wrapper .timeline-item:hover .timeline-date:before{border-color:var(--dot-color);background:var(--theme-color)}.timeline-list-wrapper .timeline-item:hover .timeline-title{color:var(--theme-color)}:root{--navbar-bg-color: var(--bg-color-float-blur);--sidebar-bg-color: var(--bg-color-blur)}html[data-theme=dark]{--navbar-bg-color: var(--bg-color-blur);--sidebar-bg-color: var(--bg-color-blur)}#app{--code-hl-bg-color: var(--code-highlight-line-color);--code-ln-color: var(--code-line-color);--code-ln-wrapper-width: var(--line-numbers-width);--code-tabs-nav-text-color: var(--code-color);--code-tabs-nav-bg-color: var(--code-border-color);--code-tabs-nav-hover-color: var(--code-highlight-line-color);--sidebar-space: var(--sidebar-width)}@media (max-width: 959px){#app{--navbar-height: var(--navbar-mobile-height);--navbar-vertical-padding: var(--navbar-mobile-vertical-padding);--navbar-horizontal-padding: var(--navbar-mobile-horizontal-padding);--sidebar-width: var(--sidebar-mobile-width)}}@media (min-width: 1440px){#app{--sidebar-space: clamp( var(--sidebar-width), max(0px, calc((100vw - var(--content-width)) / 2 - 2rem)) , 100vw )}}.vp-copy-code-button{--copy-code-color: var(--code-ln-color);--copy-code-hover: var(--code-hl-bg-color)}.DocSearch-Button,.DocSearch{--docsearch-primary-color: var(--vp-tc);--docsearch-text-color: var(--vp-c);--docsearch-highlight-color: var(--vp-tc);--docsearch-muted-color: var(--light-grey);--docsearch-container-background: rgb(9 10 17 / 80%);--docsearch-modal-background: var(--bg-color-float);--docsearch-searchbox-background: var(--bg-color-secondary);--docsearch-searchbox-focus-background: var(--vp-bg);--docsearch-searchbox-shadow: inset 0 0 0 2px var(--vp-tc);--docsearch-hit-color: var(--vp-cl);--docsearch-hit-active-color: var(--vp-bg);--docsearch-hit-background: var(--vp-bg);--docsearch-hit-shadow: 0 1px 3px 0 var(--border-color);--docsearch-footer-background: var(--vp-bg)}html[data-theme=dark] .DocSearch-Button,html[data-theme=dark] .DocSearch{--docsearch-logo-color: var(--vp-c);--docsearch-modal-shadow: inset 1px 1px 0 0 #2c2e40, 0 3px 8px 0 #000309;--docsearch-key-shadow: inset 0 -2px 0 0 #282d55, inset 0 0 1px 1px #51577d, 0 2px 2px 0 rgb(3 4 9 / 30%);--docsearch-key-gradient: linear-gradient(-225deg, #444950, #1c1e21);--docsearch-footer-shadow: inset 0 1px 0 0 rgb(73 76 106 / 50%), 0 -4px 8px 0 rgb(0 0 0 / 20%)}.vp-back-to-top-button{--back-to-top-color: var(--vp-tc);--back-to-top-color-hover: var(--vp-tcl);--back-to-top-bg-color: var(--vp-bg)}.vp-catalog-wrapper{--catalog-bg-color: var(--vp-bg);--catalog-bg-secondary-color: var(--vp-bgl);--catalog-border-color: var(--vp-brc);--catalog-active-color: var(--vp-tc);--catalog-hover-color: var(--vp-tcl)}.external-link-icon{--external-link-icon-color: var(--light-grey)}#nprogress{--nprogress-color: var(--vp-tc)}body{--photo-swipe-bullet: var(--white);--photo-swipe-bullet-active: var(--vp-tc);--pwa-text-color: var(--vp-c);--pwa-bg-color: var(--vp-bg);--pwa-border-color: var(--vp-brc);--pwa-btn-text-color: var(--vp-bg);--pwa-btn-bg-color: var(--vp-tc);--pwa-btn-hover-bg-color: var(--vp-tcl);--pwa-shadow-color: var(--card-shadow);--pwa-content-color: var(--grey3);--pwa-content-light-color: var(--dark-grey)}.language-modal-mask{--redirect-bg-color: var(--vp-bg);--redirect-bg-color-light: var(--vp-bgl);--redirect-bg-color-lighter: var(--vp-bglt);--redirect-text-color: var(--vp-c);--redirect-primary-color: var(--vp-tc);--redirect-primary-hover-color: var(--vp-tcl);--redirect-primary-text-color: var(--white)}.search-box{--search-bg-color: var(--vp-bg);--search-accent-color: var(--vp-tc);--search-text-color: var(--vp-c);--search-border-color: var(--border-color);--search-item-text-color: var(--vp-clt);--search-item-focus-bg-color: var(--bg-color-secondary)}html,body{margin:0;padding:0;background:#fff}html{font-size:16px;font-display:optional;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent}@media print{html{font-size:12pt}}body{min-height:100vh;color:#2c3e50}a{color:#3eaf7c;font-weight:500;text-decoration:none;overflow-wrap:break-word}kbd{display:inline-block;min-width:1em;margin-inline:.125rem;padding:.25em;border:1px solid #eee;border-radius:.25em;box-shadow:1px 1px 4px #00000026;line-height:1;letter-spacing:-.1em;text-align:center}code{margin:0;padding:.2rem .4rem;border-radius:5px;background:#7f7f7f1f;font-size:.85em;overflow-wrap:break-word}table code{padding:.1rem .4rem}p a code{color:#3eaf7c;font-weight:400}strong{font-weight:600}h1,h2,h3,h4,h5,h6{font-weight:500;line-height:1.25;overflow-wrap:break-word}h1:focus-visible,h2:focus-visible,h3:focus-visible,h4:focus-visible,h5:focus-visible,h6:focus-visible{outline:none}h1{font-size:2rem}h2{padding-bottom:.3rem;border-bottom:1px solid #eaecef;font-size:1.65rem}h3{font-size:1.35rem}h4{font-size:1.15rem}h5{font-size:1.05rem}h6{font-size:1rem}a.header-anchor{position:relative;color:inherit}a.header-anchor:hover:before{content:"¶";position:absolute;bottom:0;left:-.75em;color:var(--c-brand);font-size:.75em}a.header-anchor:focus-visible{outline:none}a.header-anchor:focus-visible:before{content:"¶";position:absolute;left:-.75em;color:var(--c-brand);outline:auto}p,ul,ol{line-height:1.6;overflow-wrap:break-word}@media print{p,ul,ol{line-height:1.5}}ul,ol{padding-inline-start:1.2em}blockquote{margin:1rem 0;padding:.25rem 0 .25rem 1rem;border-inline-start:.2rem solid #ddd;color:#666;font-size:1rem;overflow-wrap:break-word}blockquote>p{margin:0}hr{border:0;border-top:1px solid #eaecef}table{display:block;overflow-x:auto;margin:1rem 0;border-collapse:collapse}tr:nth-child(odd){background:#f6f8fa}th,td{padding:.6em 1em;border:1px solid #dfe2e5}pre{direction:ltr}@page{margin:2cm;font-size:12pt;size:a4}@media print{*,:after,:before{box-shadow:none!important;text-shadow:none!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}a{color:inherit;font-weight:inherit!important;font-size:inherit!important;text-decoration:underline}a[href^="http://"]:after,a[href^="https://"]:after{content:" (" attr(href) ") "}abbr[title]:after{content:" (" attr(title) ")"}pre{border:1px solid #eee;white-space:pre-wrap!important}pre>code{white-space:pre-wrap!important}blockquote{border-inline-start:.2rem solid #ddd;color:inherit}blockquote,pre{orphans:5;widows:5}img,tr,canvas{page-break-inside:avoid}}@font-face{font-weight:400;font-style:normal;font-family:Crimson;src:url(data:font/truetype;charset=utf-8;base64,AAEAAAANAIAAAwBQRkZUTYr5mwEAAAyMAAAAHEdERUYAKQATAAAMbAAAAB5PUy8yVsJ0MgAAAVgAAABgY21hcBiKDzgAAAHcAAABWGdhc3D//wADAAAMZAAAAAhnbHlmr+DBdQAAA1AAAAdsaGVhZBZwt+8AAADcAAAANmhoZWEFawEuAAABFAAAACRobXR4BksA9gAAAbgAAAAibG9jYQlsC24AAAM0AAAAHG1heHAAEQBZAAABOAAAACBuYW1lLaFDVAAACrwAAAFrcG9zdAC1AHoAAAwoAAAAPAABAAAAAQAAqBd2H18PPPUACwQAAAAAANqqufwAAAAA2qq5/AAb/9wB4QMeAAAACAACAAAAAAAAAAEAAAMs/ywAXAH9AAAAAAHhAAEAAAAAAAAAAAAAAAAAAAAEAAEAAAANAFkAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAH1AZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAIABgMAAAAAAAAAAAABEAAAAAAAAAAAAAAAUGZFZADAADAAOQMs/ywAXAMsANQAAAABAAAAAAMYAAAAAAAgAAEBpwAfAAAAAAFVAAAB/QAfAH0ALQA+ABsAPgAyACgAPgAxAAAAAAADAAAAAwAAABwAAQAAAAAAUgADAAEAAAAcAAQANgAAAAQABAABAAAAOf//AAAAL///AAAAAQAEAAAAAAADAAQABQAGAAcACAAJAAoACwAMAAABBgAAAQAAAAAAAAABAgAAAAIAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAwQFBgcICQoLDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYAJgAmAGIAwAEeAZIBzgJAApYC2gNiA7YAAQAf/9wBhwMeABIAAAEGBwYHATAXFjM2NzY3ASYnJjcBgxwLCgH+zgMECxIKCgIBLgEDAwMDHhQFBgP85wMEAQgJBgMOAwMDEwAAAAIAH//9Ad0CkAAQACEAABMWFxYXNjc2NzQnJicGBwYHNyY3NjcWFxYXFAcGByYnJjcfATo6amo7OQE5OmxrOjkBXQIlJEE5IyIBIyJEOSQjAgFOkV5eBAReXoqJXl4EBF5eggJ0UlEDA09Qe3xVVgMDU1OEAAAAAAEAff/9AYACkQA+AAA3FAcGBwYHBiMGFQYXNjc2MzIXFhc2JzQnIicmJyY1JjURNjc2MSYnJicjBgcGBwYVFBUUFxYXNjc2NzIXFhXkAQEEBRgYDAMBBB4ZGhweGxofBAEDDBgZBQQBAQMEAQIDBAIFNTZCAgMDBA0XFw0LBQV3GBMVDAgEBAUKCgUCAQICAQIFCgoFBAQIDBUTGAGnLxkbBAYFAQIZGh4BAgECBQUEAwUHBwEICRYAAAAAAQAtAAAB0QKRADoAADcGFxYXITY3NjcmJyYjIgcGBwYHBisBNjc2NzY3NjUmJyYnBgcGBxQXFhc2NzY3FhcWFxYHBgcGBwYHLgEEAwMBYwURERADBwYFBAMDAg8VEx/LJkBAOhsQDwIxMkxSMjIHCAYGCSYmPTIfHwEBCgoeLkJBQg8EBQQCETAwKQICAgEBBCgUEylJSUYhJicsRDIzAgY1NRoEBQYBEyEhAwEjIjYlJCQtQlBQSAAAAAABAD7/+wG+ApEASgAANwYXFhcWFxYzNjc2NyYnJic2NzY3JicmIwYHBgcUFxYXNjc2NxYXFhcGBwYHBgcUFRQXNjc2NxYXFhcGBwYnIicmJyYnJiciBwYXPwEIBwUaHB0VZU5NBAMvLi8eIB4DAywsKzwrKxgEAwUIHR4wLRscAQMvLz8BAQYKEhEQNSYmAgImJSsWExQPCw0NFREMDQE7DgsLBQwFBgE8PWpMKSoGECQkMkAiIQIdHyUHBwcBCRscAwEbGSpCIyUOAgMCAwwIAwUEAQEoKD9XJSQBBQYODg8PAQ0NFQAAAgAb//oB4QKTACIAJQAANxQXFhchFRQXFjMyNzYjNTM2NzY1NCcmJyMRNCcmIwYHBgcBExEbAgMFASEJCRIdCAkBRgIBAQUEBTwFAwgHCQkG/vjmxgUGBgOwBQIBAwKzAgQDCBAMDQEBlAYGBgEICQf+cwEs/tQAAQA+//sBvgKTAEoAADcGFxYXFhcWMzY3NjcmJyYnIgcGBzY3NjczMjc2NzY3NjU0JyYnBgcGByMGBwYHFBcWMzY3NjMWFxYHBgcGJyInJicmJyYnIgcGFz8BCAcFGhwdFWVOTQQBMjJbFx8gFwoJCQlWKB0dFQ4JCAQDBQMdHSKXCREQEgMCBA4bGhNYJyUBAiYlKxYTFA8LDQ0VEQwNATsOCwsFDAUGATw9akU2NwMFBggrMC8uAgICExcZBgQCAgMBAwQBMVNUWAUFBAYFBAMxMTNZIyQBBQYODg8PAQ0NFQAAAgAy//oBzQKXACAAMwAANxQXFhc2NzY3NicmJyIHBgc2NzY3NCcmJwYHBgcGBwYXNyY3Njc2FxYXFgcGBwYHJicmNzM1NV5aOTsCAioqahoiIRsnWFhFAwIHQ0tMOTAZGQFbBAQaGxkXRB8fAQEfIDE9Hh4E511FRwQDPT1ZPEJBBQwLF4Y9PRMGCwwBEiwsPDZFRkkTHyAbCAcBAjAwREYsLQEFREVQAAAAAAEAKP/7AdUCiwApAAATFhcWMzI3Njc2NzYzIQYHBgcWFxYzMjcBNjc2NzQnJiMiBwYjIQYHBgcoAwYHAwYDAwELEBEdAQUJYWJXAQ8PDgcDAQ4LCQgBAQEEBhUVFv7JBgsNDAH6DQMCAQEFKRITFMjHjQcFBgMCPxYSEwoEAgMBAhkrKiAAAAADAD7/9wG/ApIAKABBAFgAADcGFxYXNjc2NyYnJicmJzQ3Njc2NyYnJiMGBwYHFhcWFxYVFAcGBwYHNyY3Njc2MzIzMhcyFxYXFhcGBwYHIicmNxMmNzY3FhcWFRQHBgcGByIjIicmJyY3PwE1M1ZQODgDAykpMQIBAyYlJQMCMC9HRjExAgIiIiMCAiMvLwNTBBQTKgEBAQECAQIBEjU1CAEdHjMrISICGAMYGSYvGxoTEx8CAQIBBAMfJCQBoU8tLQECMjFPOC4uGwIBAgEWJiU7SCYoAjEwQzopKhMBAgECEykpQAQsIiEbAQEBBywsQjUeHQEiI0QBZSMhIAECJiYvKh8gFAEBAhAfIEYAAAIAMf/6AcsClwAgADMAABMGFxYXMjc2NwYHBgcUFxYXNjc2NzY3NjUmJyYnBgcGBzcmNzY3FhcWFRQHBgcGJyYnJjc0AyopahoiIRsoV1hFAwIHQ0tMODEZGQE2NF5ZOjoBWgMfHzE9Hh4EGhoaF0QeHwUBy0dBQgUMCxeFPj0SBwsLAREsLD01RkVPV0dFBQQ8PU8UPCwtAQVFRUklIRsHCAECMDBPAAAADACWAAEAAAAAAAEABwAQAAEAAAAAAAIABwAoAAEAAAAAAAMABwBAAAEAAAAAAAQABwBYAAEAAAAAAAUAHgCeAAEAAAAAAAYABwDNAAMAAQQJAAEADgAAAAMAAQQJAAIADgAYAAMAAQQJAAMADgAwAAMAAQQJAAQADgBIAAMAAQQJAAUAPABgAAMAAQQJAAYADgC9AEMAcgBpAG0AcwBvAG4AAENyaW1zb24AAEMAcgBpAG0AcwBvAG4AAENyaW1zb24AAEMAcgBpAG0AcwBvAG4AAENyaW1zb24AAEMAcgBpAG0AcwBvAG4AAENyaW1zb24AAFYAZQByAHMAaQBvAG4AIAAxAC4AMAA7ACAARgBvAG4AdABFAGQAaQB0AG8AcgAgACgAdgAxAC4AMAApAABWZXJzaW9uIDEuMDsgRm9udEVkaXRvciAodjEuMCkAAEMAcgBpAG0AcwBvAG4AAENyaW1zb24AAAACAAAAAAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAABAAIAEwAUABUAFgAXABgAGQAaABsAHAAAAAH//wACAAEAAAAMAAAAFgAAAAIAAQADAAwAAQAEAAAAAgAAAAAAAAABAAAAANWkJwgAAAAA2qq5/AAAAADaqrn8) format("truetype")}html,body{background:var(--bg-color);transition:background var(--color-transition)}:root{color-scheme:light}html[data-theme=dark]{color-scheme:dark}body{color:var(--text-color);font-family:var(--font-family)}@media (min-width: 1440px){body{font-size:17px}}a{color:var(--theme-color)}kbd{border-color:var(--border-color-dark);background:var(--bg-color-secondary);font-family:var(--font-family-mono)}code{font-family:var(--font-family-mono);transition:background var(--color-transition),color var(--color-transition)}html[data-theme=dark] code{background:#333}p a code{color:var(--theme-color)}blockquote{border-color:#eee;color:#666;transition:border-color var(--color-transition),color var(--color-transition)}html[data-theme=dark] blockquote{border-color:#333}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-heading)}@media (max-width: 419px){h1{font-size:1.9rem}}h2{border-color:var(--border-color);transition:border-bottom-color var(--color-transition)}hr{border-color:var(--border-color);transition:border-top-color var(--color-transition)}tr:nth-child(odd){background:var(--bg-color-secondary)}th,td{border-color:var(--border-color-dark)}@media print{@page{--text-color: #000 !important;--bg-color: #fff !important}div[class*=language-]{position:relative!important}}.theme-hope-content:not(.custom)>*:first-child{margin-top:0}.vp-breadcrumb{max-width:var(--content-width, 740px);margin-inline:auto;padding-inline:2.5rem;position:relative;z-index:2;padding-top:1rem;font-size:15px}@media (max-width: 959px){.vp-breadcrumb{padding-inline:1.5rem}}@media print{.vp-breadcrumb{max-width:unset}}@media (max-width: 959px){.vp-breadcrumb{font-size:14px}}@media (max-width: 419px){.vp-breadcrumb{padding-top:.5rem;font-size:12.8px}}@media print{.vp-breadcrumb{display:none}}.vp-breadcrumb .icon{margin-inline-end:.25em;font-size:1em}.vp-breadcrumb img.icon{vertical-align:-.125em;height:1em}.vp-breadcrumb a{display:inline-block;padding:0 .5em}.vp-breadcrumb a:before{position:relative;bottom:.125rem;margin-inline-end:.25em}.vp-breadcrumb a:hover{color:var(--theme-color)}.vp-breadcrumb ol{margin:0;padding-inline-start:0;list-style:none}.vp-breadcrumb li{display:inline-block;line-height:1.5}.vp-breadcrumb li:first-child a{padding-inline-start:0}.vp-breadcrumb li:last-child a{padding-inline-end:0}.vp-breadcrumb li.is-active a{color:var(--light-grey);cursor:default;pointer-events:none}.vp-breadcrumb li+li:before{content:"/";color:var(--light-grey)}.toggle-sidebar-wrapper{position:fixed;top:var(--navbar-height);bottom:0;inset-inline-start:var(--sidebar-space);z-index:100;display:flex;align-items:center;justify-content:center;font-size:2rem;transition:inset-inline-start var(--transform-transition)}@media (max-width: 719px){.toggle-sidebar-wrapper{display:none}}@media (min-width: 1440px){.toggle-sidebar-wrapper{display:none}}.toggle-sidebar-wrapper:hover{background:#7f7f7f0d;cursor:pointer}.toggle-sidebar-wrapper .arrow{display:inline-block;vertical-align:middle;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;line-height:normal;transition:all .3s}html[data-theme=dark] .toggle-sidebar-wrapper .arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.toggle-sidebar-wrapper .arrow.down{transform:rotate(180deg)}html[dir=rtl] .toggle-sidebar-wrapper .arrow.down{transform:rotate(-180deg)}.toggle-sidebar-wrapper .arrow.end{transform:rotate(90deg)}html[dir=rtl] .toggle-sidebar-wrapper .arrow.end,.toggle-sidebar-wrapper .arrow.start{transform:rotate(-90deg)}html[dir=rtl] .toggle-sidebar-wrapper .arrow.start{transform:rotate(90deg)}.theme-container{display:flex;flex-direction:column;justify-content:space-between;min-height:100vh}.theme-container .vp-page{padding-top:var(--navbar-height);padding-inline-start:calc(var(--sidebar-space) + 2rem)}@media (max-width: 719px){.theme-container .vp-page{padding-inline:0}}@media (min-width: 1440px){.theme-container .vp-page{padding-inline-end:calc(100vw - var(--content-width) - var(--sidebar-space) - 6rem)}}.theme-container .vp-sidebar{top:var(--navbar-height)}.theme-container.no-navbar .vp-page{padding-top:0}.theme-container.no-navbar .vp-sidebar{top:0}@media (max-width: 719px){.theme-container.no-navbar .vp-sidebar{top:0}}@media (max-width: 719px){.theme-container.hide-navbar .vp-sidebar{top:0}}.theme-container.sidebar-collapsed .vp-page{padding-inline-start:0}.theme-container.sidebar-collapsed .vp-sidebar{box-shadow:none;transform:translate(-100%)}html[dir=rtl] .theme-container.sidebar-collapsed .vp-sidebar{transform:translate(100%)}.theme-container.sidebar-collapsed .toggle-sidebar-wrapper{inset-inline-start:0}.theme-container.no-sidebar .vp-page{padding-inline:0}@media (min-width: 1440px){.theme-container.no-sidebar.has-toc .vp-page{padding-inline-end:16rem}}.theme-container.no-sidebar .vp-toggle-sidebar-button,.theme-container.no-sidebar .toggle-sidebar-wrapper,.theme-container.no-sidebar .vp-sidebar{display:none}.theme-container.sidebar-open .vp-sidebar{box-shadow:2px 0 8px var(--card-shadow);transform:translate(0)}.fade-slide-y-enter-active{transition:all .3s ease!important}.fade-slide-y-leave-active{transition:all .3s cubic-bezier(1,.5,.8,1)!important}.fade-slide-y-enter-from,.fade-slide-y-leave-to{opacity:0;transform:translateY(10px)}.vp-feature-wrapper{position:relative}.vp-feature-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background-attachment:fixed;background-position:50%;background-size:cover}.vp-feature-bg.light{display:inline-block}.vp-feature-bg.dark,html[data-theme=dark] .vp-feature-bg.light{display:none}html[data-theme=dark] .vp-feature-bg.dark{display:inline-block}.vp-feature{position:relative;z-index:1;margin:0 auto;padding:1.5rem 1rem;color:var(--text-color-lighter);text-align:center}.vp-feature-bg+.vp-feature{color:#222}html[data-theme=dark] .vp-feature-bg+.vp-feature{color:#eee}.vp-feature-bg+.vp-feature .icon{color:inherit}.vp-feature-image{height:10rem;margin:0 auto}@media (max-width: 959px){.vp-feature-image{height:8rem}}.vp-feature-image.light{display:inline-block}.vp-feature-image.dark,html[data-theme=dark] .vp-feature-image.light{display:none}html[data-theme=dark] .vp-feature-image.dark{display:inline-block}.vp-feature-header{margin-bottom:1.5rem;border-bottom:none;font-size:3rem;font-family:var(--font-family);text-align:center}@media (max-width: 959px){.vp-feature-header{font-size:2.5rem}}@media (max-width: 719px){.vp-feature-header{font-size:2.25rem}}@media (max-width: 419px){.vp-feature-header{font-size:2rem}}.vp-feature-description{font-size:1.125rem}.vp-features{z-index:1;display:flex;flex-wrap:wrap;align-items:stretch;place-content:stretch center;margin:1rem 0;text-align:start}@media print{.vp-features{display:block}}.vp-features:first-child{border-top:1px solid var(--border-color);transition:border-color var(--color-transition)}.vp-feature-item{position:relative;display:block;flex-basis:calc(33% - 3rem);margin:.5rem;padding:1rem;border-radius:.5rem;color:inherit;transition:background var(--color-transition),box-shadow var(--color-transition),transform var(--transform-transition)}@media (min-width: 1440px){.vp-feature-item{flex-basis:calc(25% - 3rem)}}@media (max-width: 959px){.vp-feature-item{flex-basis:calc(50% - 3rem)}}@media (max-width: 719px){.vp-feature-item{flex-basis:100%;font-size:.95rem}}@media (max-width: 419px){.vp-feature-item{margin:.5rem 0;font-size:.9rem}}.vp-feature-item.link{cursor:pointer}@media print{.vp-feature-item.link{text-decoration:none}}.vp-feature-item .icon{display:inline-block;height:1.1em;margin-inline-end:.5rem;color:var(--theme-color);font-weight:400;font-size:1.1em}.vp-feature-item:hover{background-color:var(--bg-color-secondary);box-shadow:0 2px 12px 0 var(--card-shadow);transform:translate(-2px,-2px);transform:scale(1.05)}.vp-feature-bg+.vp-feature .vp-feature-item:hover{background-color:transparent}.vp-feature-item:only-child{flex-basis:100%}.vp-feature-item:first-child:nth-last-child(2),.vp-feature-item:nth-child(2):last-child{flex-basis:calc(50% - 3rem)}@media (max-width: 719px){.vp-feature-item:first-child:nth-last-child(2),.vp-feature-item:nth-child(2):last-child{flex-basis:100%}}.vp-feature-title{margin:.25rem 0 .5rem;font-weight:700;font-size:1.3rem;font-family:var(--font-family)}@media (max-width: 419px){.vp-feature-title{font-size:1.2rem}}.vp-feature-details{margin:0;line-height:1.4}.vp-footer-wrapper{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-evenly;padding-block:.75rem;padding-inline:calc(var(--sidebar-space) + 2rem) 2rem;border-top:1px solid var(--border-color);background:var(--bg-color);color:var(--dark-grey);text-align:center;transition:border-top-color var(--color-transition),background var(--color-transition),padding var(--transform-transition)}@media (max-width: 719px){.vp-footer-wrapper{padding-inline-start:2rem}}@media (min-width: 1440px){.vp-footer-wrapper{z-index:50;padding-inline-start:2rem}}@media print{.vp-footer-wrapper{margin:0!important;padding:0!important}}@media (max-width: 419px){.vp-footer-wrapper{display:block}}.no-sidebar .vp-footer-wrapper,.sidebar-collapsed .vp-footer-wrapper{padding-inline-start:2rem}.vp-footer{margin:.5rem 1rem;font-size:14px}@media print{.vp-footer{display:none}}.vp-copyright{margin:6px 0;font-size:13px}.vp-page:not(.not-found)+.vp-footer-wrapper{margin-top:-2rem}.vp-hero-info-wrapper{position:relative;display:flex;align-items:center;justify-content:center;margin-inline:auto}.vp-hero-info-wrapper.fullscreen{height:calc(100vh - var(--navbar-height))!important}.vp-hero-info{z-index:1;width:100%;padding-inline:2.5rem}@media (max-width: 959px){.vp-hero-info{padding-inline:1.5rem}}@media (min-width: 959px){.vp-hero-info{display:flex;align-items:center;justify-content:space-evenly}}.vp-hero-mask{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background-position:50%;background-size:cover}.vp-hero-mask:after{content:" ";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:block}.vp-hero-mask.light{display:block}html[data-theme=dark] .vp-hero-mask.light,.vp-hero-mask.dark{display:none}html[data-theme=dark] .vp-hero-mask.dark{display:block}.vp-hero-infos{z-index:1;margin:0 .5rem}.vp-hero-image{display:block;max-width:100%;max-height:18rem;margin:1rem}@media (max-width: 959px){.vp-hero-image{margin:2rem auto}}@media (max-width: 719px){.vp-hero-image{max-height:16rem;margin:1.5rem auto}}@media (max-width: 419px){.vp-hero-image{max-height:14rem}}.vp-hero-image.light{display:block}html[data-theme=dark] .vp-hero-image.light,.vp-hero-image.dark{display:none}html[data-theme=dark] .vp-hero-image.dark{display:block}#main-title{margin:.5rem 0;background:linear-gradient(120deg,var(--theme-color-light),var(--theme-color) 30%,#7509d9 100%);-webkit-background-clip:text;background-clip:text;font-weight:700;font-size:3.6rem;font-family:var(--font-family);line-height:1.5;-webkit-text-fill-color:transparent}@media (max-width: 719px){#main-title{margin:0}}@media (max-width: 959px){#main-title{font-size:2.5rem;text-align:center}}@media (max-width: 719px){#main-title{font-size:2.25rem;text-align:center}}@media (max-width: 419px){#main-title{margin:0 auto;font-size:2rem}}#main-description,.vp-hero-actions{margin:1.8rem 0}@media (max-width: 719px){#main-description,.vp-hero-actions{margin:1.5rem 0}}@media (max-width: 959px){#main-description,.vp-hero-actions{margin:1.5rem auto;text-align:center}}@media (max-width: 419px){#main-description,.vp-hero-actions{margin:1.2rem 0}}#main-description{max-width:35rem;color:var(--text-color-light);font-weight:500;font-size:1.6rem;line-height:1.3}@media (max-width: 719px){#main-description{font-size:1.4rem}}@media (max-width: 419px){#main-description{font-size:1.2rem}}.vp-hero-action{display:inline-block;overflow:hidden;min-width:4rem;margin:.5rem;padding:.5em 1.5rem;border-radius:2rem;background:var(--bg-color-secondary);color:var(--text-color);font-size:1.2rem;text-align:center;transition:color var(--color-transition),color var(--color-transition),transform var(--transform-transition)}@media (max-width: 719px){.vp-hero-action{padding:.5rem 1rem;font-size:1.1rem}}@media (max-width: 419px){.vp-hero-action{font-size:1rem}}@media print{.vp-hero-action{text-decoration:none}}.vp-hero-action:hover{background:var(--bg-color-tertiary)}.vp-hero-action.primary{border-color:var(--theme-color);background:var(--theme-color);color:var(--white)}.vp-hero-action.primary:hover{border-color:var(--theme-color-light);background:var(--theme-color-light)}.vp-project-home:not(.pure) .vp-hero-action:active{transform:scale(.96)}.vp-hero-action .icon{margin-inline-end:.25em}.vp-highlight-wrapper{position:relative;display:flex;align-items:center;justify-content:center}.vp-highlight-wrapper:nth-child(odd) .vp-highlight{flex-direction:row-reverse}.vp-highlight{z-index:1;display:flex;flex:1;align-items:center;justify-content:flex-end;max-width:var(--home-page-width);margin:0 auto;padding:1.5rem 2.5rem;color:#222}@media (max-width: 719px){.vp-highlight{display:block;padding-inline:1.5rem;text-align:center}}html[data-theme=dark] .vp-highlight{color:#eee}.vp-highlight-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background-attachment:fixed;background-position:50%;background-size:cover}.vp-highlight-bg.light{display:inline-block}.vp-highlight-bg.dark,html[data-theme=dark] .vp-highlight-bg.light{display:none}html[data-theme=dark] .vp-highlight-bg.dark{display:inline-block}.vp-highlight-image{width:12rem;margin:2rem 4rem}@media (max-width: 959px){.vp-highlight-image{width:10rem}}@media (max-width: 719px){.vp-highlight-image{width:8rem;margin:0 auto}}.vp-highlight-image.light{display:inline-block}.vp-highlight-image.dark,html[data-theme=dark] .vp-highlight-image.light{display:none}html[data-theme=dark] .vp-highlight-image.dark{display:inline-block}.vp-highlight-info-wrapper{display:flex;flex:1;justify-content:center;padding:2rem}@media (max-width: 719px){.vp-highlight-info-wrapper{padding:1rem 0}}.vp-highlight-info-wrapper:only-child{flex:1 0 100%}.vp-highlight-info{text-align:start}.vp-highlight-header{margin-bottom:1.5rem;border-bottom:none;font-size:3rem;font-family:var(--font-family)}@media (max-width: 959px){.vp-highlight-header{font-size:2.5rem}}@media (max-width: 719px){.vp-highlight-header{font-size:2.25rem;text-align:center}}@media (max-width: 419px){.vp-highlight-header{font-size:2rem}}.vp-highlight-description{font-size:1.125rem}.vp-highlights{margin-inline-start:-1.25em;padding-inline-start:0}.vp-highlight-item-wrapper{padding:.5em .5em .5em 1.75em;border-radius:.5rem;list-style:none}.vp-highlight-item-wrapper.link{cursor:pointer}.vp-highlight-item-wrapper:hover{background-color:var(--bg-color-secondary);box-shadow:0 2px 12px 0 var(--card-shadow);transition:transform var(--transform-transition);transform:translate(-2px,-2px)}.vp-highlight-bg+.vp-highlight .vp-highlight-item-wrapper:hover{background-color:transparent}.vp-highlight-item-wrapper::marker{font-weight:700}.vp-highlight-item{display:list-item;color:inherit;list-style:initial}@media print{.vp-highlight-item{text-decoration:none}}.vp-highlight-title{margin:0;font-weight:600;font-size:1.125rem;font-family:var(--font-family)}.vp-highlight-title .icon{margin-inline-end:.25em;font-size:1em}.vp-highlight-title img.icon{vertical-align:-.125em;height:1em}.vp-highlight-details{margin:.5rem 0 0}.vp-project-home{--content-width: var(--home-page-width);display:block;flex:1;padding-top:var(--navbar-height)}@media screen{.vp-project-home .vp-hero-info-wrapper:not(.fullscreen) .vp-hero-info{max-width:var(--home-page-width)}}@media screen{.vp-project-home .vp-feature{max-width:var(--home-page-width)}}.vp-project-home .theme-hope-content{padding-bottom:1.5rem!important}.vp-project-home .theme-hope-content:empty{padding:0!important}.not-found-hint{padding:2rem}.not-found-hint .error-code{margin:0;font-weight:700;font-size:4rem;line-height:4rem}.not-found-hint .error-title{font-weight:700}.not-found-hint .error-hint{margin:0;padding:12px 0;font-weight:600;font-size:20px;line-height:20px;letter-spacing:2px}.vp-page.not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;width:100vw;max-width:var(--home-page-width);margin:0 auto;padding:calc(var(--navbar-height) + 1rem) 1rem 1rem!important;text-align:center}.vp-page.not-found .action-button{display:inline-block;box-sizing:border-box;margin:.25rem;padding:.75rem 1rem;border-width:0;border-bottom:1px solid var(--theme-color-dark);border-radius:3rem;background:var(--theme-color);color:var(--white);outline:none;font-size:1rem;transition:background .1s ease}.vp-page.not-found .action-button:hover{background:var(--theme-color-light);cursor:pointer}.vp-page-nav{display:flex;flex-wrap:wrap;max-width:var(--content-width, 740px);min-height:2rem;margin-inline:auto;margin-top:0;padding-block:.5rem;padding-inline:2rem;border-top:1px solid var(--border-color);transition:border-top var(--color-transition)}@media (max-width: 959px){.vp-page-nav{padding-inline:1rem}}@media print{.vp-page-nav{display:none}}.vp-page-nav .nav-link{display:inline-block;flex-grow:1;margin:.25rem;padding:.25rem .5rem;border:1px solid var(--border-color);border-radius:.25rem}.vp-page-nav .nav-link:hover{background:var(--bg-color-secondary)}.vp-page-nav .nav-link .hint{color:var(--light-grey);font-size:.875rem;line-height:2}.vp-page-nav .nav-link .arrow{display:inline-block;vertical-align:middle;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;line-height:normal;transition:all .3s;font-size:.75rem}html[data-theme=dark] .vp-page-nav .nav-link .arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.vp-page-nav .nav-link .arrow.down{transform:rotate(180deg)}html[dir=rtl] .vp-page-nav .nav-link .arrow.down{transform:rotate(-180deg)}.vp-page-nav .nav-link .arrow.end{transform:rotate(90deg)}html[dir=rtl] .vp-page-nav .nav-link .arrow.end,.vp-page-nav .nav-link .arrow.start{transform:rotate(-90deg)}html[dir=rtl] .vp-page-nav .nav-link .arrow.start{transform:rotate(90deg)}.vp-page-nav .prev{text-align:start}.vp-page-nav .prev .icon{margin-inline-end:.25em;font-size:1em}.vp-page-nav .prev img.icon{vertical-align:-.125em;height:1em}.vp-page-nav .next{text-align:end}.vp-page-nav .next .icon{margin-inline-start:.25em;font-size:1em}.vp-page-nav .next img.icon{vertical-align:-.125em;height:1em}.vp-page-title{max-width:var(--content-width, 740px);margin-inline:auto;padding-inline:2.5rem;position:relative;z-index:1;padding-top:1rem;padding-bottom:0}@media (max-width: 959px){.vp-page-title{padding-inline:1.5rem}}@media print{.vp-page-title{max-width:unset}}@media print{.vp-page-title{padding-inline:0!important}}@media (max-width: 959px){.vp-page-title{padding-top:.5rem}}.vp-page-title h1{margin-top:calc(0px - var(--navbar-height))!important;margin-bottom:1rem;padding-top:var(--navbar-height)!important;font-size:2.2rem}@media (max-width: 959px){.vp-page-title h1{margin-bottom:.5rem}}.vp-page-title h1 .icon{margin-inline-end:.25em;color:var(--theme-color);font-size:.9em}.vp-page-title h1 img.icon{vertical-align:-.125em;height:1em}.theme-hope-content:not(.custom){padding-top:0!important}.theme-hope-content:not(.custom) h1:first-child,.theme-hope-content:not(.custom) h2:first-child,.theme-hope-content:not(.custom) h3:first-child,.theme-hope-content:not(.custom) h4:first-child,.theme-hope-content:not(.custom) h5:first-child,.theme-hope-content:not(.custom) h6:first-child{margin-top:calc(.5rem - var(--navbar-height))!important;padding-top:var(--navbar-height)!important}.theme-hope-content:not(.custom)>h1:first-child{display:none}.vp-page{display:block;flex-grow:1;padding-bottom:2rem;transition:padding var(--transform-transition)}@media print{.vp-page{min-height:auto!important;margin:0!important;padding:0!important}}.page-cover{width:var(--content-width);margin-inline:auto}@media (max-width: 719px){.page-cover{width:100%}}.page-cover img{-o-object-fit:cover;object-fit:cover;width:100%;max-height:25vh;border-radius:.5rem}@media (max-width: 719px){.page-cover img{border-radius:0}}.vp-skip-link{top:.25rem;inset-inline-start:.25rem;z-index:999;padding:.65rem 1.5rem;border-radius:.5rem;background:var(--bg-color);color:var(--theme-color);box-shadow:var(--card-shadow);font-weight:700;font-size:.9em;text-decoration:none}@media print{.vp-skip-link{display:none}}.vp-skip-link:focus{clip:auto;width:auto;height:auto;clip-path:none}.theme-hope-content pre{overflow:auto;margin:.85rem 0;padding:1rem;border-radius:6px;line-height:1.375}.theme-hope-content pre code{padding:0;border-radius:0;background:transparent!important;color:var(--code-color);font-family:var(--font-family-mono);text-align:left;white-space:pre;word-spacing:normal;word-wrap:normal;word-break:normal;overflow-wrap:unset;-webkit-hyphens:none;hyphens:none;transition:color var(--color-transition);-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}@media print{.theme-hope-content pre code{white-space:pre-wrap}}.theme-hope-content .line-number{font-family:var(--font-family-mono)}div[class*=language-]{position:relative;border-radius:6px;background:var(--code-bg-color);font-size:16px;transition:background var(--color-transition)}@media (max-width: 419px){.theme-hope-content>div[class*=language-]{margin:.85rem -1.5rem;border-radius:0}}div[class*=language-]:before{content:attr(data-title);position:absolute;top:0;right:1em;z-index:3;color:var(--code-line-color);font-size:.75rem;transition:color var(--color-transition)}div[class*=language-] pre{position:relative;z-index:1;scrollbar-gutter:stable}div[class*=language-] .highlight-lines{position:absolute;top:0;bottom:0;left:0;width:100%;padding:1rem 0;line-height:1.375;-webkit-user-select:none;-moz-user-select:none;user-select:none}div[class*=language-] .highlight-line{background:var(--code-highlight-line-color);transition:background var(--color-transition)}div[class*=language-].line-numbers-mode:after{content:"";position:absolute;top:0;bottom:0;left:0;z-index:2;width:var(--line-numbers-width);border-right:1px solid var(--code-highlight-line-color);border-radius:6px 0 0 6px;transition:border-color var(--color-transition)}@media (max-width: 419px){div[class*=language-].line-numbers-mode:after{border-radius:0}}@media print{div[class*=language-].line-numbers-mode:after{display:none}}div[class*=language-].line-numbers-mode .highlight-line{position:relative}div[class*=language-].line-numbers-mode .highlight-line:before{content:" ";position:absolute;top:0;left:0;z-index:3;display:block;width:var(--line-numbers-width);height:100%}div[class*=language-].line-numbers-mode pre{vertical-align:middle;margin-left:var(--line-numbers-width);padding-left:.5rem}@media print{div[class*=language-].line-numbers-mode pre{margin-left:0;padding-left:1rem}}div[class*=language-].line-numbers-mode .line-numbers{position:absolute;top:0;bottom:0;left:0;display:flex;flex-direction:column;width:var(--line-numbers-width);padding:1rem 0;color:var(--code-line-color);counter-reset:line-number;text-align:center;transition:color var(--color-transition)}@media print{div[class*=language-].line-numbers-mode .line-numbers{display:none}}div[class*=language-].line-numbers-mode .line-number{position:relative;z-index:4;display:flex;flex:1;align-items:center;justify-content:center;-webkit-user-select:none;-moz-user-select:none;user-select:none}div[class*=language-].line-numbers-mode .line-number:before{content:counter(line-number);display:block;font-size:.8em;line-height:1;counter-increment:line-number}div[class*=language-]:not(.line-numbers-mode) .line-numbers{display:none}html[data-theme=light] #app{--code-color: #383a42;--code-line-color: rgba(56, 58, 66, .67);--code-bg-color: #ecf4fa;--code-border-color: #c3def3;--code-highlight-line-color: #d8e9f6}html[data-theme=light] code[class*=language-],html[data-theme=light] pre[class*=language-]{-moz-tab-size:2;-o-tab-size:2;tab-size:2}html[data-theme=light] code[class*=language-]::-moz-selection,html[data-theme=light] code[class*=language-] ::-moz-selection,html[data-theme=light] pre[class*=language-]::-moz-selection,html[data-theme=light] pre[class*=language-] ::-moz-selection{background:#e5e5e6;color:inherit}html[data-theme=light] code[class*=language-]::selection,html[data-theme=light] code[class*=language-] ::selection,html[data-theme=light] pre[class*=language-]::selection,html[data-theme=light] pre[class*=language-] ::selection{background:#e5e5e6;color:inherit}html[data-theme=light] .token.comment,html[data-theme=light] .token.prolog,html[data-theme=light] .token.cdata{color:#a0a1a7}html[data-theme=light] .token.doctype,html[data-theme=light] .token.punctuation,html[data-theme=light] .token.entity{color:#383a42}html[data-theme=light] .token.attr-name,html[data-theme=light] .token.class-name,html[data-theme=light] .token.boolean,html[data-theme=light] .token.constant,html[data-theme=light] .token.number,html[data-theme=light] .token.atrule{color:#b76b01}html[data-theme=light] .token.keyword{color:#a626a4}html[data-theme=light] .token.property,html[data-theme=light] .token.tag,html[data-theme=light] .token.symbol,html[data-theme=light] .token.deleted,html[data-theme=light] .token.important{color:#e45649}html[data-theme=light] .token.selector,html[data-theme=light] .token.string,html[data-theme=light] .token.char,html[data-theme=light] .token.builtin,html[data-theme=light] .token.inserted,html[data-theme=light] .token.regex,html[data-theme=light] .token.attr-value,html[data-theme=light] .token.attr-value>.token.punctuation{color:#50a14f}html[data-theme=light] .token.variable,html[data-theme=light] .token.operator,html[data-theme=light] .token.function{color:#4078f2}html[data-theme=light] .token.url{color:#0184bc}html[data-theme=light] .token.attr-value>.token.punctuation.attr-equals,html[data-theme=light] .token.special-attr>.token.attr-value>.token.value.css{color:#383a42}html[data-theme=light] .language-css .token.selector{color:#e45649}html[data-theme=light] .language-css .token.property{color:#383a42}html[data-theme=light] .language-css .token.function,html[data-theme=light] .language-css .token.url>.token.function{color:#0184bc}html[data-theme=light] .language-css .token.url>.token.string.url{color:#50a14f}html[data-theme=light] .language-css .token.important,html[data-theme=light] .language-css .token.atrule .token.rule,html[data-theme=light] .language-javascript .token.operator{color:#a626a4}html[data-theme=light] .language-javascript .token.template-string>.token.interpolation>.token.interpolation-punctuation.punctuation{color:#ca1243}html[data-theme=light] .language-json .token.operator{color:#383a42}html[data-theme=light] .language-json .token.null.keyword{color:#b76b01}html[data-theme=light] .language-markdown .token.url,html[data-theme=light] .language-markdown .token.url>.token.operator,html[data-theme=light] .language-markdown .token.url-reference.url>.token.string{color:#383a42}html[data-theme=light] .language-markdown .token.url>.token.content{color:#4078f2}html[data-theme=light] .language-markdown .token.url>.token.url,html[data-theme=light] .language-markdown .token.url-reference.url{color:#0184bc}html[data-theme=light] .language-markdown .token.blockquote.punctuation,html[data-theme=light] .language-markdown .token.hr.punctuation{color:#a0a1a7;font-style:italic}html[data-theme=light] .language-markdown .token.code-snippet{color:#50a14f}html[data-theme=light] .language-markdown .token.bold .token.content{color:#b76b01}html[data-theme=light] .language-markdown .token.italic .token.content{color:#a626a4}html[data-theme=light] .language-markdown .token.strike .token.content,html[data-theme=light] .language-markdown .token.strike .token.punctuation,html[data-theme=light] .language-markdown .token.list.punctuation,html[data-theme=light] .language-markdown .token.title.important>.token.punctuation{color:#e45649}html[data-theme=light] .token.bold{font-weight:700}html[data-theme=light] .token.comment,html[data-theme=light] .token.italic{font-style:italic}html[data-theme=light] .token.entity{cursor:help}html[data-theme=light] .token.namespace{opacity:.8}html[data-theme=dark] #app{--code-color: #abb2bf;--code-line-color: rgba(171, 178, 191, .67);--code-bg-color: #282c34;--code-border-color: #343e51;--code-highlight-line-color: #2f3542}html[data-theme=dark] code[class*=language-],html[data-theme=dark] pre[class*=language-]{text-shadow:0 1px rgba(0,0,0,.3);-moz-tab-size:2;-o-tab-size:2;tab-size:2}@media print{html[data-theme=dark] code[class*=language-],html[data-theme=dark] pre[class*=language-]{text-shadow:none}}html[data-theme=dark] code[class*=language-]::-moz-selection,html[data-theme=dark] code[class*=language-] ::-moz-selection,html[data-theme=dark] pre[class*=language-]::-moz-selection,html[data-theme=dark] pre[class*=language-] ::-moz-selection{background:#3e4451;color:inherit;text-shadow:none}html[data-theme=dark] code[class*=language-]::selection,html[data-theme=dark] code[class*=language-] ::selection,html[data-theme=dark] pre[class*=language-]::selection,html[data-theme=dark] pre[class*=language-] ::selection{background:#3e4451;color:inherit;text-shadow:none}html[data-theme=dark] .token.comment,html[data-theme=dark] .token.prolog,html[data-theme=dark] .token.cdata{color:#5c6370}html[data-theme=dark] .token.doctype,html[data-theme=dark] .token.punctuation,html[data-theme=dark] .token.entity{color:#abb2bf}html[data-theme=dark] .token.attr-name,html[data-theme=dark] .token.class-name,html[data-theme=dark] .token.boolean,html[data-theme=dark] .token.constant,html[data-theme=dark] .token.number,html[data-theme=dark] .token.atrule{color:#d19a66}html[data-theme=dark] .token.keyword{color:#c678dd}html[data-theme=dark] .token.property,html[data-theme=dark] .token.tag,html[data-theme=dark] .token.symbol,html[data-theme=dark] .token.deleted,html[data-theme=dark] .token.important{color:#e06c75}html[data-theme=dark] .token.selector,html[data-theme=dark] .token.string,html[data-theme=dark] .token.char,html[data-theme=dark] .token.builtin,html[data-theme=dark] .token.inserted,html[data-theme=dark] .token.regex,html[data-theme=dark] .token.attr-value,html[data-theme=dark] .token.attr-value>.token.punctuation{color:#98c379}html[data-theme=dark] .token.variable,html[data-theme=dark] .token.operator,html[data-theme=dark] .token.function{color:#61afef}html[data-theme=dark] .token.url{color:#56b6c2}html[data-theme=dark] .token.attr-value>.token.punctuation.attr-equals,html[data-theme=dark] .token.special-attr>.token.attr-value>.token.value.css{color:#abb2bf}html[data-theme=dark] .language-css .token.selector{color:#e06c75}html[data-theme=dark] .language-css .token.property{color:#abb2bf}html[data-theme=dark] .language-css .token.function,html[data-theme=dark] .language-css .token.url>.token.function{color:#56b6c2}html[data-theme=dark] .language-css .token.url>.token.string.url{color:#98c379}html[data-theme=dark] .language-css .token.important,html[data-theme=dark] .language-css .token.atrule .token.rule,html[data-theme=dark] .language-javascript .token.operator{color:#c678dd}html[data-theme=dark] .language-javascript .token.template-string>.token.interpolation>.token.interpolation-punctuation.punctuation{color:#be5046}html[data-theme=dark] .language-json .token.operator{color:#abb2bf}html[data-theme=dark] .language-json .token.null.keyword{color:#d19a66}html[data-theme=dark] .language-markdown .token.url,html[data-theme=dark] .language-markdown .token.url>.token.operator,html[data-theme=dark] .language-markdown .token.url-reference.url>.token.string{color:#abb2bf}html[data-theme=dark] .language-markdown .token.url>.token.content{color:#61afef}html[data-theme=dark] .language-markdown .token.url>.token.url,html[data-theme=dark] .language-markdown .token.url-reference.url{color:#56b6c2}html[data-theme=dark] .language-markdown .token.blockquote.punctuation,html[data-theme=dark] .language-markdown .token.hr.punctuation{color:#5c6370;font-style:italic}html[data-theme=dark] .language-markdown .token.code-snippet{color:#98c379}html[data-theme=dark] .language-markdown .token.bold .token.content{color:#d19a66}html[data-theme=dark] .language-markdown .token.italic .token.content{color:#c678dd}html[data-theme=dark] .language-markdown .token.strike .token.content,html[data-theme=dark] .language-markdown .token.strike .token.punctuation,html[data-theme=dark] .language-markdown .token.list.punctuation,html[data-theme=dark] .language-markdown .token.title.important>.token.punctuation{color:#e06c75}html[data-theme=dark] .token.bold{font-weight:700}html[data-theme=dark] .token.comment,html[data-theme=dark] .token.italic{font-style:italic}html[data-theme=dark] .token.entity{cursor:help}html[data-theme=dark] .token.namespace{opacity:.8}.sr-only{position:absolute;overflow:hidden;clip:rect(0,0,0,0);width:1px;height:1px;margin:-1px;padding:0;border-width:0;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}@media print{.theme-hope-content{margin:0!important;padding-inline:0!important}}.theme-hope-content.custom{margin:0;padding:0}.theme-hope-content:not(.custom){max-width:var(--content-width, 740px);margin:0 auto;padding:2rem 2.5rem;padding-top:0}@media (max-width: 959px){.theme-hope-content:not(.custom){padding:1.5rem}}@media (max-width: 419px){.theme-hope-content:not(.custom){padding:1rem 1.5rem}}@media print{.theme-hope-content:not(.custom){max-width:unset}}.theme-hope-content:not(.custom)>h1,.theme-hope-content:not(.custom)>h2,.theme-hope-content:not(.custom)>h3,.theme-hope-content:not(.custom)>h4,.theme-hope-content:not(.custom)>h5,.theme-hope-content:not(.custom)>h6{margin-top:calc(.5rem - var(--navbar-height));margin-bottom:.5rem;padding-top:calc(1rem + var(--navbar-height));outline:none}.theme-container.no-navbar .theme-hope-content:not(.custom)>h1,.theme-container.no-navbar .theme-hope-content:not(.custom)>h2,.theme-container.no-navbar .theme-hope-content:not(.custom)>h3,.theme-container.no-navbar .theme-hope-content:not(.custom)>h4,.theme-container.no-navbar .theme-hope-content:not(.custom)>h5,.theme-container.no-navbar .theme-hope-content:not(.custom)>h6{margin-top:1.5rem;padding-top:0}.theme-hope-content:not(.custom)>p,.theme-hope-content:not(.custom)>ul p,.theme-hope-content:not(.custom)>ol p{text-align:justify;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}@media (max-width: 419px){.theme-hope-content:not(.custom)>p,.theme-hope-content:not(.custom)>ul p,.theme-hope-content:not(.custom)>ol p{text-align:start}}@media print{.theme-hope-content:not(.custom)>p,.theme-hope-content:not(.custom)>ul p,.theme-hope-content:not(.custom)>ol p{text-align:start}}.theme-hope-content a:not(.header-anchor):hover{text-decoration:underline}.theme-hope-content img{max-width:100%}::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}html[data-theme=light]::view-transition-old(root),html[data-theme=dark]::view-transition-new(root){z-index:1}html[data-theme=light]::view-transition-new(root),html[data-theme=dark]::view-transition-old(root){z-index:99999}@media (min-width: 1280px){.chart-wrapper::-webkit-scrollbar,.flowchart-wrapper::-webkit-scrollbar,.mermaid-wrapper::-webkit-scrollbar{width:8px;height:8px}.chart-wrapper::-webkit-scrollbar-track-piece,.flowchart-wrapper::-webkit-scrollbar-track-piece,.mermaid-wrapper::-webkit-scrollbar-track-piece{border-radius:8px;background:#0000001a}}html[dir=rtl] a.header-anchor:before{right:-.75em}#docsearch-container{min-width:145.7px!important}@media (max-width: 959px){#docsearch-container{min-width:36px!important}}.DocSearch.DocSearch-Button{margin-left:0}@media (max-width: 959px){.DocSearch.DocSearch-Button{min-width:36px!important}}.DocSearch .DocSearch-Button-Placeholder{display:inline-block;padding:4px 12px 4px 6px;font-size:14px}@media (max-width: 719px){.DocSearch .DocSearch-Button-Placeholder{display:none}}.DocSearch .DocSearch-Search-Icon{width:1.25em;height:1.25em}@media (max-width: 959px){.DocSearch .DocSearch-Button-Keys{display:none}}.DocSearch .DocSearch-Button-Key{background:var(--bg-color);box-shadow:none}:root{scrollbar-width:thin}@media (prefers-reduced-motion: no-preference){:root{scroll-behavior:smooth}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track-piece{border-radius:6px;background:#0000001a}::-webkit-scrollbar-thumb{border-radius:6px;background:var(--theme-color)}::-webkit-scrollbar-thumb:active{background:var(--theme-color-light)}@media (max-width: 719px){.hide-in-mobile{display:none!important}}@media (max-width: 959px){.hide-in-pad{display:none!important}}.page-author-item{display:inline-block;margin:0 4px;font-weight:400;overflow-wrap:break-word}.page-category-info{flex-wrap:wrap}.page-category-item{display:inline-block;margin:.125em .25em;padding:0 .25em;border-radius:.25em;background:var(--bg-color-secondary);color:var(--text-color-light);font-weight:700;font-size:.75rem;line-height:2;transition:background var(--color-transition),color var(--color-transition)}@media print{.page-category-item{padding:0;font-weight:400}.page-category-item:after{content:", "}.page-category-item:last-of-type:after{content:""}}.page-category-item.clickable>span:hover{color:var(--theme-color);cursor:pointer}.page-category-item.category0{background:#fde5e7;color:#ec2f3e}html[data-theme=dark] .page-category-item.category0{background:#340509;color:#ba111f}.page-category-item.category0:hover{background:#f9bec3}html[data-theme=dark] .page-category-item.category0:hover{background:#53080e}.page-category-item.category1{background:#ffeee8;color:#fb7649}html[data-theme=dark] .page-category-item.category1{background:#441201;color:#f54205}.page-category-item.category1:hover{background:#fed4c6}html[data-theme=dark] .page-category-item.category1:hover{background:#6d1d02}.page-category-item.category2{background:#fef5e7;color:#f5b041}html[data-theme=dark] .page-category-item.category2{background:#3e2703;color:#e08e0b}.page-category-item.category2:hover{background:#fce6c4}html[data-theme=dark] .page-category-item.category2:hover{background:#633f05}.page-category-item.category3{background:#eafaf1;color:#55d98d}html[data-theme=dark] .page-category-item.category3{background:#0c331c;color:#29b866}.page-category-item.category3:hover{background:#caf3db}html[data-theme=dark] .page-category-item.category3:hover{background:#12522d}.page-category-item.category4{background:#e6f9ee;color:#36d278}html[data-theme=dark] .page-category-item.category4{background:#092917;color:#219552}.page-category-item.category4:hover{background:#c0f1d5}html[data-theme=dark] .page-category-item.category4:hover{background:#0f4224}.page-category-item.category5{background:#e1fcfc;color:#16e1e1}html[data-theme=dark] .page-category-item.category5{background:#042929;color:#0e9595}.page-category-item.category5:hover{background:#b4f8f8}html[data-theme=dark] .page-category-item.category5:hover{background:#064242}.page-category-item.category6{background:#e4f0fe;color:#2589f6}html[data-theme=dark] .page-category-item.category6{background:#021b36;color:#0862c3}.page-category-item.category6:hover{background:#bbdafc}html[data-theme=dark] .page-category-item.category6:hover{background:#042c57}.page-category-item.category7{background:#f7f1fd;color:#bb8ced}html[data-theme=dark] .page-category-item.category7{background:#2a0b4b;color:#9851e4}.page-category-item.category7:hover{background:#eadbfa}html[data-theme=dark] .page-category-item.category7:hover{background:#431277}.page-category-item.category8{background:#fdeaf5;color:#ef59ab}html[data-theme=dark] .page-category-item.category8{background:#400626;color:#e81689}.page-category-item.category8:hover{background:#facbe5}html[data-theme=dark] .page-category-item.category8:hover{background:#670a3d}.page-original-info{position:relative;display:inline-block;vertical-align:middle;overflow:hidden;padding:0 .5em;border:.5px solid var(--dark-grey);border-radius:.75em;background:var(--bg-color);font-size:.75em;line-height:1.5!important}.page-info{display:flex;flex-wrap:wrap;align-items:center;place-content:stretch flex-start;color:var(--dark-grey);font-size:14px}@media print{.page-info{display:flex!important}}.page-info>span{display:flex;align-items:center;max-width:100%;margin-inline-end:.5em;line-height:2}@media (min-width: 1440px){.page-info>span{font-size:1.1em}}@media (max-width: 419px){.page-info>span{margin-inline-end:.3em;font-size:.875em}}@media print{.page-info>span{display:flex!important}}.page-info .icon{position:relative;display:inline-block;vertical-align:middle;width:1em;height:1em;margin-inline-end:.25em}.page-info a{color:inherit}.page-info a:hover,.page-info a:active{color:var(--theme-color)}.page-meta{max-width:var(--content-width, 740px);margin-inline:auto;padding-inline:2.5rem;display:flex;flex-wrap:wrap;justify-content:space-between;overflow:auto;padding-top:.75rem;padding-bottom:.75rem}@media (max-width: 959px){.page-meta{padding-inline:1.5rem}}@media print{.page-meta{max-width:unset}}@media print{.page-meta{margin:0!important;padding-inline:0!important}}@media (max-width: 719px){.page-meta{display:block}}.page-meta .meta-item{flex-grow:1}.page-meta .meta-item .label{font-weight:500}.page-meta .meta-item .label:not(a){color:var(--text-color-lighter)}.page-meta .meta-item .info{color:var(--dark-grey);font-weight:400}.page-meta .git-info{text-align:end}.page-meta .edit-link{margin-top:.25rem;margin-bottom:.25rem;margin-inline-end:.5rem;font-size:14px}@media print{.page-meta .edit-link{display:none}}.page-meta .edit-link .icon{position:relative;bottom:-.125em;width:1em;height:1em;margin-inline-end:.25em}.page-meta .update-time,.page-meta .contributors{margin-top:.25rem;margin-bottom:.25rem;font-size:14px}@media (max-width: 719px){.page-meta .update-time,.page-meta .contributors{font-size:13px;text-align:start}}.print-button{border-width:0;background:transparent;cursor:pointer;box-sizing:content-box;width:1rem;height:1rem;padding:.5rem;border-radius:.25em;color:inherit;font-size:1rem;transform:translateY(.25rem)}@media print{.print-button{display:none}}.page-tag-info{flex-wrap:wrap}.page-tag-item{position:relative;display:inline-block;vertical-align:middle;overflow:hidden;min-width:1.5rem;margin:.125rem;padding:.125rem .25rem .125rem .625rem;background:var(--bg-color-secondary);background:linear-gradient(135deg,transparent .75em,var(--bg-color-secondary) 0) top,linear-gradient(45deg,transparent .75em,var(--bg-color-secondary) 0) bottom;background-size:100% 52%!important;background-repeat:no-repeat!important;color:var(--text-color-light);font-weight:700;font-size:.625rem;line-height:1.5;text-align:center;transition:background var(--color-transition),color var(--color-transition)}@media print{.page-tag-item{padding:0;font-weight:400}.page-tag-item:after{content:", "}.page-tag-item:last-of-type:after{content:""}}.page-tag-item.clickable:hover{cursor:pointer}.page-tag-item.tag0{background:#fde5e7;background:linear-gradient(135deg,transparent .75em,#fde5e7 0) top,linear-gradient(45deg,transparent .75em,#fde5e7 0) bottom;color:#ec2f3e}html[data-theme=dark] .page-tag-item.tag0{background:#340509;background:linear-gradient(135deg,transparent .75em,#340509 0) top,linear-gradient(45deg,transparent .75em,#340509 0) bottom;color:#ba111f}.page-tag-item.tag0.clickable:hover{background:#f9bec3;background:linear-gradient(135deg,transparent .75em,#f9bec3 0) top,linear-gradient(45deg,transparent .75em,#f9bec3 0) bottom}html[data-theme=dark] .page-tag-item.tag0.clickable:hover{background:#53080e;background:linear-gradient(135deg,transparent .75em,#53080e 0) top,linear-gradient(45deg,transparent .75em,#53080e 0) bottom}.page-tag-item.tag1{background:#ffeee8;background:linear-gradient(135deg,transparent .75em,#ffeee8 0) top,linear-gradient(45deg,transparent .75em,#ffeee8 0) bottom;color:#fb7649}html[data-theme=dark] .page-tag-item.tag1{background:#441201;background:linear-gradient(135deg,transparent .75em,#441201 0) top,linear-gradient(45deg,transparent .75em,#441201 0) bottom;color:#f54205}.page-tag-item.tag1.clickable:hover{background:#fed4c6;background:linear-gradient(135deg,transparent .75em,#fed4c6 0) top,linear-gradient(45deg,transparent .75em,#fed4c6 0) bottom}html[data-theme=dark] .page-tag-item.tag1.clickable:hover{background:#6d1d02;background:linear-gradient(135deg,transparent .75em,#6d1d02 0) top,linear-gradient(45deg,transparent .75em,#6d1d02 0) bottom}.page-tag-item.tag2{background:#fef5e7;background:linear-gradient(135deg,transparent .75em,#fef5e7 0) top,linear-gradient(45deg,transparent .75em,#fef5e7 0) bottom;color:#f5b041}html[data-theme=dark] .page-tag-item.tag2{background:#3e2703;background:linear-gradient(135deg,transparent .75em,#3e2703 0) top,linear-gradient(45deg,transparent .75em,#3e2703 0) bottom;color:#e08e0b}.page-tag-item.tag2.clickable:hover{background:#fce6c4;background:linear-gradient(135deg,transparent .75em,#fce6c4 0) top,linear-gradient(45deg,transparent .75em,#fce6c4 0) bottom}html[data-theme=dark] .page-tag-item.tag2.clickable:hover{background:#633f05;background:linear-gradient(135deg,transparent .75em,#633f05 0) top,linear-gradient(45deg,transparent .75em,#633f05 0) bottom}.page-tag-item.tag3{background:#eafaf1;background:linear-gradient(135deg,transparent .75em,#eafaf1 0) top,linear-gradient(45deg,transparent .75em,#eafaf1 0) bottom;color:#55d98d}html[data-theme=dark] .page-tag-item.tag3{background:#0c331c;background:linear-gradient(135deg,transparent .75em,#0c331c 0) top,linear-gradient(45deg,transparent .75em,#0c331c 0) bottom;color:#29b866}.page-tag-item.tag3.clickable:hover{background:#caf3db;background:linear-gradient(135deg,transparent .75em,#caf3db 0) top,linear-gradient(45deg,transparent .75em,#caf3db 0) bottom}html[data-theme=dark] .page-tag-item.tag3.clickable:hover{background:#12522d;background:linear-gradient(135deg,transparent .75em,#12522d 0) top,linear-gradient(45deg,transparent .75em,#12522d 0) bottom}.page-tag-item.tag4{background:#e6f9ee;background:linear-gradient(135deg,transparent .75em,#e6f9ee 0) top,linear-gradient(45deg,transparent .75em,#e6f9ee 0) bottom;color:#36d278}html[data-theme=dark] .page-tag-item.tag4{background:#092917;background:linear-gradient(135deg,transparent .75em,#092917 0) top,linear-gradient(45deg,transparent .75em,#092917 0) bottom;color:#219552}.page-tag-item.tag4.clickable:hover{background:#c0f1d5;background:linear-gradient(135deg,transparent .75em,#c0f1d5 0) top,linear-gradient(45deg,transparent .75em,#c0f1d5 0) bottom}html[data-theme=dark] .page-tag-item.tag4.clickable:hover{background:#0f4224;background:linear-gradient(135deg,transparent .75em,#0f4224 0) top,linear-gradient(45deg,transparent .75em,#0f4224 0) bottom}.page-tag-item.tag5{background:#e1fcfc;background:linear-gradient(135deg,transparent .75em,#e1fcfc 0) top,linear-gradient(45deg,transparent .75em,#e1fcfc 0) bottom;color:#16e1e1}html[data-theme=dark] .page-tag-item.tag5{background:#042929;background:linear-gradient(135deg,transparent .75em,#042929 0) top,linear-gradient(45deg,transparent .75em,#042929 0) bottom;color:#0e9595}.page-tag-item.tag5.clickable:hover{background:#b4f8f8;background:linear-gradient(135deg,transparent .75em,#b4f8f8 0) top,linear-gradient(45deg,transparent .75em,#b4f8f8 0) bottom}html[data-theme=dark] .page-tag-item.tag5.clickable:hover{background:#064242;background:linear-gradient(135deg,transparent .75em,#064242 0) top,linear-gradient(45deg,transparent .75em,#064242 0) bottom}.page-tag-item.tag6{background:#e4f0fe;background:linear-gradient(135deg,transparent .75em,#e4f0fe 0) top,linear-gradient(45deg,transparent .75em,#e4f0fe 0) bottom;color:#2589f6}html[data-theme=dark] .page-tag-item.tag6{background:#021b36;background:linear-gradient(135deg,transparent .75em,#021b36 0) top,linear-gradient(45deg,transparent .75em,#021b36 0) bottom;color:#0862c3}.page-tag-item.tag6.clickable:hover{background:#bbdafc;background:linear-gradient(135deg,transparent .75em,#bbdafc 0) top,linear-gradient(45deg,transparent .75em,#bbdafc 0) bottom}html[data-theme=dark] .page-tag-item.tag6.clickable:hover{background:#042c57;background:linear-gradient(135deg,transparent .75em,#042c57 0) top,linear-gradient(45deg,transparent .75em,#042c57 0) bottom}.page-tag-item.tag7{background:#f7f1fd;background:linear-gradient(135deg,transparent .75em,#f7f1fd 0) top,linear-gradient(45deg,transparent .75em,#f7f1fd 0) bottom;color:#bb8ced}html[data-theme=dark] .page-tag-item.tag7{background:#2a0b4b;background:linear-gradient(135deg,transparent .75em,#2a0b4b 0) top,linear-gradient(45deg,transparent .75em,#2a0b4b 0) bottom;color:#9851e4}.page-tag-item.tag7.clickable:hover{background:#eadbfa;background:linear-gradient(135deg,transparent .75em,#eadbfa 0) top,linear-gradient(45deg,transparent .75em,#eadbfa 0) bottom}html[data-theme=dark] .page-tag-item.tag7.clickable:hover{background:#431277;background:linear-gradient(135deg,transparent .75em,#431277 0) top,linear-gradient(45deg,transparent .75em,#431277 0) bottom}.page-tag-item.tag8{background:#fdeaf5;background:linear-gradient(135deg,transparent .75em,#fdeaf5 0) top,linear-gradient(45deg,transparent .75em,#fdeaf5 0) bottom;color:#ef59ab}html[data-theme=dark] .page-tag-item.tag8{background:#400626;background:linear-gradient(135deg,transparent .75em,#400626 0) top,linear-gradient(45deg,transparent .75em,#400626 0) bottom;color:#e81689}.page-tag-item.tag8.clickable:hover{background:#facbe5;background:linear-gradient(135deg,transparent .75em,#facbe5 0) top,linear-gradient(45deg,transparent .75em,#facbe5 0) bottom}html[data-theme=dark] .page-tag-item.tag8.clickable:hover{background:#670a3d;background:linear-gradient(135deg,transparent .75em,#670a3d 0) top,linear-gradient(45deg,transparent .75em,#670a3d 0) bottom}.vp-toc-placeholder{margin-inline:auto;padding-inline:2.5rem;position:sticky;top:calc(var(--navbar-height) + .5rem);z-index:99;display:none;max-width:var(--content-width, 740px)}@media (max-width: 959px){.vp-toc-placeholder{padding-inline:1.5rem}}@media print{.vp-toc-placeholder{max-width:unset}}@media (max-width: 719px){.hide-navbar .vp-toc-placeholder{top:.5rem}}@media (min-width: 1440px){.vp-toc-placeholder{top:calc(var(--navbar-height) + 2rem)}}@media print{.vp-toc-placeholder{display:none!important}}.vp-toc-placeholder+.theme-hope-content:not(.custom){padding-top:0}.has-toc .vp-toc-placeholder{display:block}#toc{margin-bottom:1rem;border-radius:8px;background:var(--bg-color-secondary)}@media (min-width: 1440px){#toc{position:absolute;inset-inline-start:calc(100% + 1rem);min-width:10rem;max-width:15rem;margin-bottom:0;border-radius:0;background:transparent}}.vp-toc-header{padding:.5rem 1rem;font-weight:600}@media (min-width: 1440px){.vp-toc-header{padding-top:0;font-size:.875rem}}.vp-toc-header .arrow{display:inline-block;vertical-align:middle;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;line-height:normal;transition:all .3s}html[data-theme=dark] .vp-toc-header .arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.vp-toc-header .arrow.down{transform:rotate(180deg)}html[dir=rtl] .vp-toc-header .arrow.down{transform:rotate(-180deg)}.vp-toc-header .arrow.end{transform:rotate(90deg)}html[dir=rtl] .vp-toc-header .arrow.end,.vp-toc-header .arrow.start{transform:rotate(-90deg)}html[dir=rtl] .vp-toc-header .arrow.start{transform:rotate(90deg)}@media (min-width: 1440px){.vp-toc-header .arrow{display:none}}.vp-toc-header .print-button{display:none}@media (min-width: 1440px){.vp-toc-header .print-button{display:inline-block}}.vp-toc-wrapper{position:relative;overflow:hidden auto;height:0;max-height:8rem;margin:0 .5rem;padding-inline-start:8px;text-overflow:ellipsis;white-space:nowrap;transition:height .5s;scroll-behavior:smooth}@media (min-width: 1440px){.vp-toc-wrapper{height:auto;max-height:75vh}}.vp-toc-wrapper.open{height:auto;margin-top:.5rem;padding-bottom:.5rem}.vp-toc-wrapper::-webkit-scrollbar-track-piece{background:transparent}.vp-toc-wrapper::-webkit-scrollbar{width:3px}.vp-toc-wrapper::-webkit-scrollbar-thumb:vertical{background:#ddd}html[data-theme=dark] .vp-toc-wrapper::-webkit-scrollbar-thumb:vertical{background:#333}.vp-toc-wrapper:before{content:" ";position:absolute;top:0;bottom:0;inset-inline-start:0;z-index:-1;width:2px;background:var(--border-color)}.vp-toc-list{position:relative;margin:0;padding:0}.vp-toc-marker{position:absolute;top:0;inset-inline-start:0;z-index:2;display:none;width:2px;height:1.7rem;background:var(--theme-color);transition:top var(--vp-tt)}@media (min-width: 1440px){.vp-toc-marker{display:block}}.vp-toc-link{position:relative;display:block;overflow:hidden;max-width:100%;color:var(--light-grey);line-height:inherit;text-overflow:ellipsis;white-space:nowrap}.vp-toc-link.level2{padding-inline-start:0px;font-size:14px}.vp-toc-link.level3{padding-inline-start:8px;font-size:13px}.vp-toc-link.level4{padding-inline-start:16px;font-size:12px}.vp-toc-link.level5{padding-inline-start:24px;font-size:11px}.vp-toc-link.level6{padding-inline-start:32px;font-size:10px}.vp-toc-item{position:relative;box-sizing:border-box;height:1.7rem;list-style:none;line-height:1.7rem}@media (min-width: 1440px){.vp-toc-item{padding:0 .5rem}}.vp-toc-item:hover>.vp-toc-link{color:var(--theme-color)}.vp-toc-item.active>.vp-toc-link{color:var(--theme-color);font-weight:700}.dropdown-wrapper{cursor:pointer}.dropdown-wrapper:not(:hover) .arrow{transform:rotate(-180deg)}.dropdown-wrapper .dropdown-title{border-width:0;background:transparent;cursor:pointer;padding:0 .25rem;color:var(--dark-grey);font-weight:500;font-size:inherit;font-family:inherit;line-height:inherit;cursor:inherit}.dropdown-wrapper .dropdown-title:hover{border-color:transparent}.dropdown-wrapper .dropdown-title .icon{margin-inline-end:.25em;font-size:1em}.dropdown-wrapper .dropdown-title .arrow{display:inline-block;vertical-align:middle;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;line-height:normal;transition:all .3s;font-size:1.2em}html[data-theme=dark] .dropdown-wrapper .dropdown-title .arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.dropdown-wrapper .dropdown-title .arrow.down{transform:rotate(180deg)}html[dir=rtl] .dropdown-wrapper .dropdown-title .arrow.down{transform:rotate(-180deg)}.dropdown-wrapper .dropdown-title .arrow.end{transform:rotate(90deg)}html[dir=rtl] .dropdown-wrapper .dropdown-title .arrow.end,.dropdown-wrapper .dropdown-title .arrow.start{transform:rotate(-90deg)}html[dir=rtl] .dropdown-wrapper .dropdown-title .arrow.start{transform:rotate(90deg)}.dropdown-wrapper ul{margin:0;padding:0;list-style-type:none}.dropdown-wrapper .nav-dropdown{position:absolute;top:100%;inset-inline-end:0;overflow-y:auto;box-sizing:border-box;min-width:6rem;max-height:calc(100vh - var(--navbar-height));margin:0;padding:.5rem .75rem;border:1px solid var(--grey14);border-radius:.5rem;background:var(--bg-color);box-shadow:2px 2px 10px var(--card-shadow);text-align:start;white-space:nowrap;opacity:0;visibility:hidden;transition:all .18s ease-out;transform:scale(.9)}.dropdown-wrapper:hover .nav-dropdown,.dropdown-wrapper.open .nav-dropdown{z-index:2;opacity:1;visibility:visible;transform:none}.dropdown-wrapper .nav-link{position:relative;display:block;margin-bottom:0;border-bottom:none;color:var(--dark-grey);font-weight:400;font-size:.875rem;line-height:1.7rem;transition:color var(--color-transition)}.dropdown-wrapper .nav-link:hover,.dropdown-wrapper .nav-link.active{color:var(--theme-color)}.dropdown-wrapper .dropdown-subtitle{margin:0;padding:.5rem .25rem 0;color:var(--light-grey);font-weight:600;font-size:.75rem;line-height:2;text-transform:uppercase;transition:color var(--color-transition)}.dropdown-wrapper .dropdown-subitem-wrapper{padding:0 0 .25rem}.dropdown-wrapper .dropdown-item{color:inherit;line-height:1.7rem}.dropdown-wrapper .dropdown-item:last-child .dropdown-subtitle{padding-top:0}.dropdown-wrapper .dropdown-item:last-child .dropdown-subitem-wrapper{padding-bottom:0}.nav-screen-dropdown-title{border-width:0;background:transparent;position:relative;display:flex;align-items:center;width:100%;padding:0;color:var(--dark-grey);font-size:inherit;font-family:inherit;text-align:start;cursor:pointer}.nav-screen-dropdown-title:hover,.nav-screen-dropdown-title.active{color:var(--text-color)}.nav-screen-dropdown-title .title{flex:1}.nav-screen-dropdown-title .arrow{display:inline-block;vertical-align:middle;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;line-height:normal;transition:all .3s}html[data-theme=dark] .nav-screen-dropdown-title .arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.nav-screen-dropdown-title .arrow.down{transform:rotate(180deg)}html[dir=rtl] .nav-screen-dropdown-title .arrow.down{transform:rotate(-180deg)}.nav-screen-dropdown-title .arrow.end{transform:rotate(90deg)}html[dir=rtl] .nav-screen-dropdown-title .arrow.end,.nav-screen-dropdown-title .arrow.start{transform:rotate(-90deg)}html[dir=rtl] .nav-screen-dropdown-title .arrow.start{transform:rotate(90deg)}.nav-screen-dropdown{overflow:hidden;margin:.5rem 0 0;padding:0;list-style:none;transition:transform .1s ease-out;transform:scaleY(1);transform-origin:top}.nav-screen-dropdown.hide{height:0;margin:0;transform:scaleY(0)}.nav-screen-dropdown .nav-link{position:relative;display:block;padding-inline-start:.5rem;font-weight:400;line-height:2}.nav-screen-dropdown .nav-link:hover,.nav-screen-dropdown .nav-link.active{color:var(--theme-color)}.nav-screen-dropdown .nav-link .icon{font-size:1em}.nav-screen-dropdown .dropdown-item{color:inherit;line-height:1.7rem}.nav-screen-dropdown .dropdown-subtitle{margin:0;padding-inline-start:.25rem;color:var(--light-grey);font-weight:600;font-size:.75rem;line-height:2;text-transform:uppercase;transition:color var(--color-transition)}.nav-screen-dropdown .dropdown-subtitle .nav-link{padding:0}.nav-screen-dropdown .dropdown-subitem-wrapper{margin:0;padding:0;list-style:none}.nav-screen-dropdown .dropdown-subitem{padding-inline-start:.5rem;font-size:.9em}.nav-screen-links{display:none;padding-bottom:.75rem}@media (max-width: 719px){.nav-screen-links{display:block}}.nav-screen-links .navbar-links-item{position:relative;display:block;padding:12px 4px 11px 0;border-bottom:1px solid var(--border-color);font-size:16px;line-height:1.5rem;transition:border-bottom-color var(--color-transition)}.nav-screen-links .nav-link{display:inline-block;width:100%;color:var(--dark-grey);font-weight:400}.nav-screen-links .nav-link:hover{color:var(--text-color)}.nav-screen-links .nav-link.active{color:var(--theme-color)}.vp-nav-screen-container{max-width:320px;margin:0 auto;padding:2rem 0 4rem}#nav-screen{position:fixed;inset:var(--navbar-height) 0 0 0;z-index:150;display:none;overflow-y:auto;padding:0 2rem;background:var(--bg-color);transition:background .5s}@media (max-width: 719px){#nav-screen{display:block}}#nav-screen.fade-enter-active,#nav-screen.fade-leave-active{transition:opacity .25s}#nav-screen.fade-enter-active .vp-nav-screen-container,#nav-screen.fade-leave-active .vp-nav-screen-container{transition:transform .25s ease}#nav-screen.fade-enter-from,#nav-screen.fade-leave-to{opacity:0}#nav-screen.fade-enter-from .vp-nav-screen-container,#nav-screen.fade-leave-to .vp-nav-screen-container{transform:translateY(-8px)}#nav-screen .icon{margin-inline-end:.25em;font-size:1em}#nav-screen img.icon{vertical-align:-.125em;height:1em}.vp-outlook-wrapper{display:flex;justify-content:space-around}.vp-nav-logo{vertical-align:top;height:var(--navbar-line-height);margin-inline-end:.8rem}.vp-nav-logo.light{display:inline-block}.vp-nav-logo.dark,html[data-theme=dark] .vp-nav-logo.light{display:none}html[data-theme=dark] .vp-nav-logo.dark{display:inline-block}.vp-site-name{position:relative;color:var(--text-color);font-size:1.25rem}@media (max-width: 719px){.vp-site-name{overflow:hidden;width:calc(100vw - 9.4rem);text-overflow:ellipsis;white-space:nowrap}}.vp-brand:hover .vp-site-name{color:var(--theme-color)}.vp-navbar .vp-nav-links{display:flex;align-items:center;font-size:.875rem}.vp-navbar .nav-item{position:relative;margin:0 .25rem;line-height:2rem}.vp-navbar .nav-item:first-child{margin-inline-start:0}.vp-navbar .nav-item:last-child{margin-inline-end:0}.vp-navbar .nav-item>.nav-link{color:var(--dark-grey)}.vp-navbar .nav-item>.nav-link:after{content:" ";position:absolute;inset:auto 50% 0;height:2px;border-radius:1px;background:var(--theme-color-light);visibility:hidden;transition:inset .2s ease-in-out}.vp-navbar .nav-item>.nav-link.active{color:var(--theme-color)}.vp-navbar .nav-item>.nav-link:hover:after,.vp-navbar .nav-item>.nav-link.active:after{inset:auto 0 0;visibility:visible}.vp-navbar{--navbar-line-height: calc( var(--navbar-height) - var(--navbar-vertical-padding) * 2 );position:fixed;inset:0 0 auto;z-index:175;display:flex;align-items:center;justify-content:space-between;box-sizing:border-box;height:var(--navbar-height);padding:var(--navbar-vertical-padding) var(--navbar-horizontal-padding);background:var(--navbar-bg-color);box-shadow:0 2px 8px var(--card-shadow);line-height:var(--navbar-line-height);white-space:nowrap;transition:transform ease-in-out .3s,background var(--color-transition),box-shadow var(--color-transition);-webkit-backdrop-filter:saturate(150%) blur(12px);backdrop-filter:saturate(150%) blur(12px)}@media print{.vp-navbar{display:none}}.hide-navbar .vp-navbar.auto-hide{transform:translateY(-100%)}.vp-navbar .nav-link{padding:0 .25rem;color:var(--dark-grey)}.vp-navbar .nav-link.active{color:var(--theme-color)}.vp-navbar .nav-link .icon{margin-inline-end:.25em;font-size:1em}.vp-navbar .nav-link img.icon{vertical-align:-.125em;height:1em}.vp-navbar.hide-icon .vp-nav-links .icon{display:none!important}.vp-navbar-start,.vp-navbar-end,.vp-navbar-center{display:flex;flex:1;align-items:center}.vp-navbar-start>*,.vp-navbar-end>*,.vp-navbar-center>*{position:relative;margin:0 .25rem!important}.vp-navbar-start>*:first-child,.vp-navbar-end>*:first-child,.vp-navbar-center>*:first-child{margin-inline-start:0!important}.vp-navbar-start>*:last-child,.vp-navbar-end>*:last-child,.vp-navbar-center>*:last-child{margin-inline-end:0!important}.vp-navbar-start{justify-content:start}.vp-navbar-center{justify-content:center}.vp-navbar-end{justify-content:end}.vp-navbar .vp-repo{margin:0!important}.vp-navbar .vp-repo-link{display:inline-block;margin:auto;padding:6px;color:var(--dark-grey);line-height:1}.vp-navbar .vp-repo-link:hover,.vp-navbar .vp-repo-link:active{color:var(--theme-color)}.vp-toggle-navbar-button{border-width:0;background:transparent;cursor:pointer;position:relative;display:none;align-items:center;justify-content:center;padding:6px}@media screen and (max-width: 719px){.vp-toggle-navbar-button{display:flex}}.vp-toggle-navbar-button>span{position:relative;overflow:hidden;width:16px;height:14px}.vp-toggle-navbar-button .vp-top,.vp-toggle-navbar-button .vp-middle,.vp-toggle-navbar-button .vp-bottom{position:absolute;width:16px;height:2px;background:var(--dark-grey);transition:top .25s,background .5s,transform .25s}.vp-toggle-navbar-button .vp-top{top:0;left:0;transform:translate(0)}.vp-toggle-navbar-button .vp-middle{top:6px;left:0;transform:translate(8px)}.vp-toggle-navbar-button .vp-bottom{top:12px;left:0;transform:translate(4px)}.vp-toggle-navbar-button:hover .vp-top{top:0;left:0;transform:translate(4px)}.vp-toggle-navbar-button:hover .vp-middle{top:6;left:0;transform:translate(0)}.vp-toggle-navbar-button:hover .vp-bottom{top:12px;left:0;transform:translate(8px)}.vp-toggle-navbar-button.is-active .vp-top{top:6px;transform:translate(0) rotate(225deg)}.vp-toggle-navbar-button.is-active .vp-middle{top:6px;transform:translate(16px)}.vp-toggle-navbar-button.is-active .vp-bottom{top:6px;transform:translate(0) rotate(135deg)}.vp-toggle-navbar-button.is-active:hover .vp-top,.vp-toggle-navbar-button.is-active:hover .vp-middle,.vp-toggle-navbar-button.is-active:hover .vp-bottom{background:var(--theme-color);transition:top .25s,background .25s,transform .25s}.vp-toggle-sidebar-button{border-width:0;background:transparent;cursor:pointer;display:none;vertical-align:middle;box-sizing:content-box;width:1rem;height:1rem;padding:.5rem;font:unset;transition:transform .2s ease-in-out}@media screen and (max-width: 719px){.vp-toggle-sidebar-button{display:block;padding-inline-end:var(--navbar-mobile-horizontal-padding)}}.vp-toggle-sidebar-button:before,.vp-toggle-sidebar-button:after,.vp-toggle-sidebar-button .icon{display:block;width:100%;height:2px;border-radius:.05em;background:var(--dark-grey);transition:transform .2s ease-in-out}.vp-toggle-sidebar-button:before{content:" ";margin-top:.125em}.sidebar-open .vp-toggle-sidebar-button:before{transform:translateY(.34rem) rotate(135deg)}.vp-toggle-sidebar-button:after{content:" ";margin-bottom:.125em}.sidebar-open .vp-toggle-sidebar-button:after{transform:translateY(-.34rem) rotate(-135deg)}.vp-toggle-sidebar-button .icon{margin:.2em 0}.sidebar-open .vp-toggle-sidebar-button .icon{transform:scale(0)}.appearance-title{display:block;margin:0;padding:0 .25rem;color:var(--light-grey);font-weight:600;font-size:.75rem;line-height:2;transition:color var(--color-transition)}#appearance-switch{border-width:0;background:transparent;vertical-align:middle;padding:6px;color:var(--dark-grey);cursor:pointer;transition:color var(--color-transition)}#appearance-switch:hover{color:var(--theme-color)}#appearance-switch .icon{width:1.25rem;height:1.25rem}.outlook-button{border-width:0;background:transparent;cursor:pointer;position:relative;padding:.375rem;color:var(--dark-grey)}.outlook-button .icon{vertical-align:middle;width:1.25rem;height:1.25rem}.outlook-dropdown{position:absolute;top:100%;inset-inline-end:0;overflow-y:auto;box-sizing:border-box;min-width:100px;margin:0;padding:.5rem .75rem;border:1px solid var(--grey14);border-radius:.25rem;background:var(--bg-color);box-shadow:2px 2px 10px var(--card-shadow);text-align:start;white-space:nowrap;opacity:0;visibility:hidden;transition:all .18s ease-out;transform:scale(.8)}.outlook-dropdown>*:not(:last-child){padding-bottom:.5rem;border-bottom:1px solid var(--grey14)}.outlook-button:hover .outlook-dropdown,.outlook-button.open .outlook-dropdown{z-index:2;opacity:1;visibility:visible;transform:scale(1)}.theme-color-title{display:block;margin:0;padding:0 .25rem;color:var(--light-grey);font-weight:600;font-size:.75rem;line-height:2;transition:color var(--color-transition)}#theme-color-picker{display:flex;margin:0;padding:0;list-style-type:none;font-size:14px}#theme-color-picker li span{display:inline-block;vertical-align:middle;width:15px;height:15px;margin:0 2px;border-radius:2px}#theme-color-picker li span.theme-color,#theme-color-picker li span.theme-color html[data-theme=dark]{background:#096dd9}@media print{.full-screen-wrapper{display:none}}.full-screen-title{display:block;margin:0;padding:0 .25rem;color:var(--light-grey);font-weight:600;font-size:.75rem;line-height:2;transition:color var(--color-transition)}.full-screen,.cancel-full-screen{border-width:0;background:transparent;vertical-align:middle;padding:.375rem;color:var(--dark-grey);cursor:pointer}.full-screen:hover,.cancel-full-screen:hover{color:var(--theme-color)}.full-screen .icon,.cancel-full-screen .icon{width:1.25rem;height:1.25rem}.enter-fullscreen-icon:hover,.cancel-fullscreen-icon{color:var(--theme-color)}.cancel-fullscreen-icon:hover{color:var(--dark-grey)}.vp-sidebar-header{display:flex;align-items:center;overflow:hidden;box-sizing:border-box;width:calc(100% - 1rem);margin:0;margin-inline:.5rem;padding:.25rem .5rem;border-width:0;border-radius:.375rem;background:transparent;color:var(--text-color);font-size:1.1em;line-height:1.5;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:color .15s ease;transform:rotate(0)}.vp-sidebar-header.open{color:inherit}.vp-sidebar-header.clickable:hover{background:var(--bg-color-secondary)}.vp-sidebar-header.clickable.exact{border-inline-start-color:var(--theme-color);color:var(--theme-color)}.vp-sidebar-header.clickable.exact a{color:inherit}.vp-sidebar-header .vp-sidebar-title{flex:1}.vp-sidebar-header .vp-arrow{display:inline-block;vertical-align:middle;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;line-height:normal;transition:all .3s;font-size:1.5em}html[data-theme=dark] .vp-sidebar-header .vp-arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.vp-sidebar-header .vp-arrow.down{transform:rotate(180deg)}html[dir=rtl] .vp-sidebar-header .vp-arrow.down{transform:rotate(-180deg)}.vp-sidebar-header .vp-arrow.end{transform:rotate(90deg)}html[dir=rtl] .vp-sidebar-header .vp-arrow.end,.vp-sidebar-header .vp-arrow.start{transform:rotate(-90deg)}html[dir=rtl] .vp-sidebar-header .vp-arrow.start{transform:rotate(90deg)}button.vp-sidebar-header{outline:none;font-weight:inherit;font-family:inherit;line-height:inherit;text-align:start;cursor:pointer}.vp-sidebar-link{display:inline-block;box-sizing:border-box;width:calc(100% - 1rem);margin-inline:.5rem;padding:.25rem .5rem;border-radius:.375rem;color:var(--text-color);font-weight:400;font-size:1em;line-height:1.5}.vp-sidebar-link:hover{background:var(--bg-color-secondary)}.vp-sidebar-link.active{background:var(--theme-color-mask);color:var(--theme-color);font-weight:500}.vp-sidebar-link.active .icon{color:var(--theme-color)}.vp-sidebar-group:not(.collapsible) .vp-sidebar-header:not(.clickable){color:inherit;cursor:auto}.vp-sidebar-group .vp-sidebar-group{padding-inline-start:.75rem}.vp-sidebar-group .vp-sidebar-group .vp-sidebar-header{font-size:1em}.vp-sidebar-group .vp-sidebar-link{padding-inline-start:1.25rem}.vp-sidebar-links,.vp-sidebar-links ul{margin:0;padding:0}.vp-sidebar-links li{list-style-type:none}.vp-sidebar>.vp-sidebar-links{padding:1.5rem 0}@media (max-width: 719px){.vp-sidebar>.vp-sidebar-links{padding:1rem 0}}.vp-sidebar>.vp-sidebar-links>li>.vp-sidebar-link{font-size:1.1em}.vp-sidebar>.vp-sidebar-links>li:not(:first-child){margin-top:.5rem}.vp-sidebar{position:fixed;top:0;bottom:0;inset-inline-start:0;z-index:1;overflow-y:auto;width:var(--sidebar-width);margin:0;padding-inline-start:calc(var(--sidebar-space) - var(--sidebar-width));background:var(--sidebar-bg-color);box-shadow:2px 0 8px var(--card-shadow);font-size:.94rem;transition:background var(--color-transition),box-shadow var(--color-transition),padding var(--transform-transition),transform var(--transform-transition);-webkit-backdrop-filter:saturate(150%) blur(12px);backdrop-filter:saturate(150%) blur(12px);scrollbar-color:var(--theme-color) var(--border-color);scrollbar-width:thin}@media (max-width: 959px){.vp-sidebar{font-size:.86em}}@media (max-width: 719px){.vp-sidebar{z-index:125;box-shadow:none;transform:translate(-100%)}html[dir=rtl] .vp-sidebar{transform:translate(100%)}}@media (min-width: 1440px){.vp-sidebar{padding-bottom:3rem;box-shadow:none;font-size:1rem}}@media print{.vp-sidebar{display:none}}.vp-sidebar a{display:inline-block;color:var(--text-color);font-weight:400}.vp-sidebar .icon{margin-inline-end:.25em;font-size:1em}.vp-sidebar img.icon{vertical-align:-.125em;height:1em}.vp-sidebar.hide-icon .icon{display:none!important}.vp-sidebar-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9;background:#00000026}.vp-sidebar-mask.fade-enter-active,.vp-sidebar-mask.fade-leave-active{transition:opacity .25s}.vp-sidebar-mask.fade-enter-from,.vp-sidebar-mask.fade-leave-to{opacity:0}
diff --git a/assets/style-BDwnt-CL.css b/assets/style-BDwnt-CL.css
deleted file mode 100644
index 6732f85..0000000
--- a/assets/style-BDwnt-CL.css
+++ /dev/null
@@ -1 +0,0 @@
-@charset "UTF-8";html[data-theme=dark]{--text-color: #9e9e9e;--bg-color: #0d1117;--bg-color-secondary: #161b22;--bg-color-tertiary: #21262c;--border-color: #30363d;--box-shadow: #282a32;--card-shadow: rgba(0, 0, 0, .3);--black: #fff;--dark-grey: #999;--light-grey: #666;--white: #000;--grey3: #bbb;--grey12: #333;--grey14: #111;--bg-color-light: #161b22;--bg-color-back: #0d1117;--bg-color-float: #161b22;--bg-color-blur: rgba(13, 17, 23, .9);--bg-color-float-blur: rgba(22, 27, 34, .9);--text-color-light: #a8a8a8;--text-color-lighter: #b1b1b1;--text-color-bright: #c5c5c5;--border-color-light: #2e333a;--border-color-dark: #394048}:root{--theme-color: #096dd9;--text-color: #2c3e50;--bg-color: #fff;--bg-color-secondary: #f8f8f8;--bg-color-tertiary: #efeef4;--border-color: #eaecef;--box-shadow: #f0f1f2;--card-shadow: rgba(0, 0, 0, .15);--black: #000;--dark-grey: #666;--light-grey: #999;--white: #fff;--grey3: #333;--grey12: #bbb;--grey14: #eee;--navbar-height: 3.75rem;--navbar-horizontal-padding: 1.5rem;--navbar-vertical-padding: .7rem;--navbar-mobile-height: 3.25rem;--navbar-mobile-horizontal-padding: 1rem;--navbar-mobile-vertical-padding: .5rem;--sidebar-width: 18rem;--sidebar-mobile-width: 16rem;--content-width: 780px;--home-page-width: 1160px;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", STHeiti, "Microsoft YaHei", SimSun, sans-serif;--font-family-heading: Georgia Pro, Crimson, Georgia, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", STHeiti, "Microsoft YaHei", SimSun, sans-serif;--font-family-mono: Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;--line-numbers-width: 2.5rem;--color-transition: .3s ease;--transform-transition: .3s ease;--vp-bg: var(--bg-color);--vp-bgl: var(--bg-color-light);--vp-bglt: var(--bg-color-tertiary);--vp-c: var(--text-color);--vp-cl: var(--text-color-light);--vp-clt: var(--text-color-lighter);--vp-brc: var(--border-color);--vp-brcd: var(--border-color-dark);--vp-tc: var(--theme-color);--vp-tcl: var(--theme-color-light);--vp-ct: var(--color-transition);--vp-tt: var(--transform-transition);--bg-color-light: #fff;--bg-color-back: #f8f8f8;--bg-color-float: #fff;--bg-color-blur: rgba(255, 255, 255, .9);--bg-color-float-blur: rgba(255, 255, 255, .9);--text-color-light: #3a5169;--text-color-lighter: #476582;--text-color-bright: #6a8bad;--border-color-light: #eceef1;--border-color-dark: #cfd4db;--theme-color-dark: #0862c3;--theme-color-light: #0a7bf4;--theme-color-mask: rgba(9, 109, 217, .15)}.font-icon{display:inline-block}.theme-hope-content .font-icon{vertical-align:middle}.vp-artplayer{text-align:center}:root{--badge-tip-color: #42b983;--badge-warning-color: #f4cd00;--badge-danger-color: #f55;--badge-info-color: #0295ff;--badge-note-color: #666}.vp-badge{display:inline-block;vertical-align:center;height:18px;padding:0 6px;border-radius:3px;background:var(--vp-tc);color:var(--white);font-size:14px;line-height:18px;transition:background var(--vp-ct),color var(--vp-ct)}.vp-badge+.vp-badge{margin-inline-start:5px}h1 .vp-badge,h2 .vp-badge,h3 .vp-badge,h4 .vp-badge,h5 .vp-badge,h6 .vp-badge{vertical-align:top}.vp-badge.tip{background:var(--badge-tip-color)}.vp-badge.warning{background:var(--badge-warning-color)}.vp-badge.danger{background:var(--badge-danger-color)}.vp-badge.info{background:var(--badge-info-color)}.vp-badge.note{background:var(--badge-note-color)}@media print{.bilibili-desc a{display:block}}.bilibili-iframe{margin:8px 0;border:none;border-radius:8px}@media print{.bilibili-iframe{display:none}}.codepen-wrapper{margin:1rem auto;padding:1rem;border:1px solid var(--vp-brc);text-align:center;transition:background var(--vp-ct),border var(--vp-ct)}.codepen-wrapper .codepen-button{display:block;margin:16px auto;padding:8px 16px;border:1px solid var(--vp-tc);border-radius:4px;background:transparent;color:var(--vp-tc);font-size:16px;cursor:pointer;transition:background var(--vp-ct),border var(--vp-ct),color var(--vp-ct)}.codepen-wrapper .codepen-button:hover{background:var(--vp-tcl);color:var(--vp-bg)}iframe[src*="codepen.io"]{border:none}.pdf-viewer-wrapper{position:relative;overflow:hidden;border-radius:8px}.pdf-viewer{width:100%;height:100%}.replit-wrapper{margin:8px 0;border:none;text-align:center}.replit-wrapper .replit-button{border-width:0;background:transparent;cursor:pointer;display:inline-block;margin:0 auto;padding:.5rem 1rem;border-radius:.5rem;background:var(--vp-bglt);color:var(--vp-c);font-weight:600;line-height:1.5;transition:background .3s ease,color .3s ease}.replit-wrapper .replit-button:hover{background:var(--vp-tc);color:var(--white, #fff)}.replit-iframe{border:none;border-radius:8px}:root{--balloon-border-radius: 2px;--balloon-color: rgba(16, 16, 16, .95);--balloon-text-color: #fff;--balloon-font-size: 12px;--balloon-move: 4px}button[aria-label][data-balloon-pos]{overflow:visible}[aria-label][data-balloon-pos]{position:relative;cursor:pointer}[aria-label][data-balloon-pos]:after{opacity:0;pointer-events:none;transition:all .18s ease-out .18s;text-indent:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-weight:400;font-style:normal;text-shadow:none;font-size:var(--balloon-font-size);background:var(--balloon-color);border-radius:2px;color:var(--balloon-text-color);border-radius:var(--balloon-border-radius);content:attr(aria-label);padding:.5em 1em;position:absolute;white-space:nowrap;z-index:10}[aria-label][data-balloon-pos]:before{width:0;height:0;border:5px solid transparent;border-top-color:var(--balloon-color);opacity:0;pointer-events:none;transition:all .18s ease-out .18s;content:"";position:absolute;z-index:10}[aria-label][data-balloon-pos]:hover:before,[aria-label][data-balloon-pos]:hover:after,[aria-label][data-balloon-pos][data-balloon-visible]:before,[aria-label][data-balloon-pos][data-balloon-visible]:after,[aria-label][data-balloon-pos]:not([data-balloon-nofocus]):focus:before,[aria-label][data-balloon-pos]:not([data-balloon-nofocus]):focus:after{opacity:1;pointer-events:none}[aria-label][data-balloon-pos].font-awesome:after{font-family:FontAwesome,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}[aria-label][data-balloon-pos][data-balloon-break]:after{white-space:pre}[aria-label][data-balloon-pos][data-balloon-break][data-balloon-length]:after{white-space:pre-line;word-break:break-word}[aria-label][data-balloon-pos][data-balloon-blunt]:before,[aria-label][data-balloon-pos][data-balloon-blunt]:after{transition:none}[aria-label][data-balloon-pos][data-balloon-pos=up]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=up][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos=down]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=down][data-balloon-visible]:after{transform:translate(-50%)}[aria-label][data-balloon-pos][data-balloon-pos=up]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=up][data-balloon-visible]:before,[aria-label][data-balloon-pos][data-balloon-pos=down]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=down][data-balloon-visible]:before{transform:translate(-50%)}[aria-label][data-balloon-pos][data-balloon-pos*=-left]:after{left:0}[aria-label][data-balloon-pos][data-balloon-pos*=-left]:before{left:5px}[aria-label][data-balloon-pos][data-balloon-pos*=-right]:after{right:0}[aria-label][data-balloon-pos][data-balloon-pos*=-right]:before{right:5px}[aria-label][data-balloon-pos][data-balloon-po*=-left]:hover:after,[aria-label][data-balloon-pos][data-balloon-po*=-left][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos*=-right]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos*=-right][data-balloon-visible]:after{transform:translate(0)}[aria-label][data-balloon-pos][data-balloon-po*=-left]:hover:before,[aria-label][data-balloon-pos][data-balloon-po*=-left][data-balloon-visible]:before,[aria-label][data-balloon-pos][data-balloon-pos*=-right]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos*=-right][data-balloon-visible]:before{transform:translate(0)}[aria-label][data-balloon-pos][data-balloon-pos^=up]:before,[aria-label][data-balloon-pos][data-balloon-pos^=up]:after{bottom:100%;transform-origin:top;transform:translateY(var(--balloon-move))}[aria-label][data-balloon-pos][data-balloon-pos^=up]:after{margin-bottom:10px}[aria-label][data-balloon-pos][data-balloon-pos=up]:before,[aria-label][data-balloon-pos][data-balloon-pos=up]:after{left:50%;transform:translate(-50%,var(--balloon-move))}[aria-label][data-balloon-pos][data-balloon-pos^=down]:before,[aria-label][data-balloon-pos][data-balloon-pos^=down]:after{top:100%;transform:translateY(calc(var(--balloon-move) * -1))}[aria-label][data-balloon-pos][data-balloon-pos^=down]:after{margin-top:10px}[aria-label][data-balloon-pos][data-balloon-pos^=down]:before{width:0;height:0;border:5px solid transparent;border-bottom-color:var(--balloon-color)}[aria-label][data-balloon-pos][data-balloon-pos=down]:after,[aria-label][data-balloon-pos][data-balloon-pos=down]:before{left:50%;transform:translate(-50%,calc(var(--balloon-move) * -1))}[aria-label][data-balloon-pos][data-balloon-pos=left]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=left][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos=right]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=right][data-balloon-visible]:after{transform:translateY(-50%)}[aria-label][data-balloon-pos][data-balloon-pos=left]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=left][data-balloon-visible]:before,[aria-label][data-balloon-pos][data-balloon-pos=right]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=right][data-balloon-visible]:before{transform:translateY(-50%)}[aria-label][data-balloon-pos][data-balloon-pos=left]:after,[aria-label][data-balloon-pos][data-balloon-pos=left]:before{right:100%;top:50%;transform:translate(var(--balloon-move),-50%)}[aria-label][data-balloon-pos][data-balloon-pos=left]:after{margin-right:10px}[aria-label][data-balloon-pos][data-balloon-pos=left]:before{width:0;height:0;border:5px solid transparent;border-left-color:var(--balloon-color)}[aria-label][data-balloon-pos][data-balloon-pos=right]:after,[aria-label][data-balloon-pos][data-balloon-pos=right]:before{left:100%;top:50%;transform:translate(calc(var(--balloon-move) * -1),-50%)}[aria-label][data-balloon-pos][data-balloon-pos=right]:after{margin-left:10px}[aria-label][data-balloon-pos][data-balloon-pos=right]:before{width:0;height:0;border:5px solid transparent;border-right-color:var(--balloon-color)}[aria-label][data-balloon-pos][data-balloon-length]:after{white-space:normal}[aria-label][data-balloon-pos][data-balloon-length=small]:after{width:80px}[aria-label][data-balloon-pos][data-balloon-length=medium]:after{width:150px}[aria-label][data-balloon-pos][data-balloon-length=large]:after{width:260px}[aria-label][data-balloon-pos][data-balloon-length=xlarge]:after{width:380px}@media screen and (max-width: 768px){[aria-label][data-balloon-pos][data-balloon-length=xlarge]:after{width:90vw}}[aria-label][data-balloon-pos][data-balloon-length=fit]:after{width:100%}@keyframes popup-appear{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes popup-disappear{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}#popup-container .popup-wrapper{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;background:#0003}#popup-container .popup-wrapper.appear .popup-container{animation:popup-appear .3s ease-in-out}#popup-container .popup-wrapper.disappear .popup-container{animation:popup-disappear .3s ease-in-out;animation-fill-mode:forwards}.vp-share-button{border-width:0;background:transparent;cursor:pointer;display:inline-block;padding:.25em}.vp-share-icon{width:2em;height:2em;color:#fff;transition:transform var(--vp-tt)}.vp-share-icon.plain{width:1.5em;height:1.5em;color:var(--dark-grey)}.vp-share-icon.plain :hover{color:var(--vp-tc)}.vp-share-icon:not(.plain):hover{transform:scale(1.1)}.vp-share-icon.colorful{width:1.5em;height:1.5em;padding:.25em;border-radius:50%}.vp-share-icon svg{display:block;width:100%;height:100%;fill:currentcolor}.vp-site-info{position:relative;display:inline-block;overflow:hidden;width:calc(50% - 16px);margin:4px 8px;border-radius:8px;color:inherit;box-shadow:1px 1px 8px var(--card-shadow);cursor:pointer;transition:box-shadow var(--transform-transition)}@media (max-width: 959px){.vp-site-info{width:calc(100% - 24px)}}.vp-site-info:hover{background:var(--vp-bgl);box-shadow:1px 4px 16px var(--card-shadow)}.vp-site-info:hover:after{content:attr(data-name);position:absolute;top:.5rem;left:.5rem;display:block;padding:.5rem;border-radius:.25em;background:#37373780;color:#fff}.vp-site-info:before{content:"";display:inline-block;width:0;padding-top:55%}.vp-site-info-navigator{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:block}.vp-site-info-preview{position:absolute;top:0;right:0;bottom:0;left:0}.vp-site-info-detail{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.5rem 1rem;text-align:center;opacity:1;transition:opacity ease .6s}.vp-site-info-detail:before{content:" ";position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--vp-bg);opacity:.75}.vp-site-info:hover .vp-site-info-detail{opacity:0}.vp-site-info-logo{z-index:1;height:3rem;margin:0 auto}.vp-site-info-name{z-index:1;margin-bottom:8px;border-bottom:1px solid var(--dark-grey);color:var(--black);font-weight:700;font-size:20px}.vp-site-info-desc{z-index:1;flex-shrink:1;overflow:hidden;color:var(--black);font-size:15px;line-height:1.3;text-overflow:ellipsis}.vp-site-info-source-wrapper{position:absolute;bottom:16px;inset-inline-end:16px;z-index:3}.vp-site-info-source{display:inline-block;width:20px;height:20px;padding:4px;border-radius:50%;background:var(--black);transition:transform var(--transform-transition)}.vp-site-info-source:before{display:none}.vp-site-info-source:hover{transform:scale(1.05)}.vp-site-info-source .icon{width:100%;height:100%;color:var(--white)}.stackblitz-container{margin:8px 0;border-radius:8px;text-align:center}.stackblitz-button{border-width:0;background:transparent;cursor:pointer;margin:0 auto;padding:.5rem 1rem;border-radius:.5rem;background:var(--vp-bglt);color:var(--vp-c);font-weight:600;line-height:1.5;transition:background var(--vp-ct),color var(--vp-ct)}.stackblitz-button:hover{background:var(--vp-tc);color:var(--white)}.vp-banner{max-width:880px;margin:1rem .5rem;padding:2.5rem;border-radius:1.5rem;background:var(--vp-bg);color:inherit;box-shadow:2px 2px 10px 2px var(--card-shadow);transition:background var(--vp-ct),box-shadow var(--vp-ct)}@media (max-width: 719px){.vp-banner{margin:.75rem 0;padding:1rem 1.5rem}}.vp-banner-logo{float:right;width:6rem;height:6rem;margin-bottom:12px;margin-inline-start:12px}.vp-banner-title{font-weight:500;font-size:2rem;line-height:1.5}@media (max-width: 719px){.vp-banner-title{font-size:1.75rem}}.vp-banner-content{max-width:80%;font-size:1.125rem}@media (max-width: 719px){.vp-banner-content{font-size:1rem}}.vp-banner-actions{display:flex;flex-wrap:wrap}.vp-banner-action{height:3rem;margin:.25rem .5rem;padding:0 1.75rem;border-radius:1.5rem;background-color:#7f7f7f1a;color:inherit;font-size:1rem;line-height:3;text-decoration:none!important}@media (max-width: 719px){.vp-banner-action{height:2.5rem;line-height:2.5}}.vp-banner-action:hover{background-color:var(--c-border)}.vp-banner-action.primary{background:var(--vp-tc);color:var(--white)}.vp-banner-action.primary:hover{background:var(--vp-tcl)}.vp-card{display:inline-flex;align-items:center;max-width:400px;margin:1rem .5rem;padding:1rem;border-radius:.5rem;background:var(--vp-bg);color:inherit;box-shadow:2px 2px 10px 0 var(--card-shadow);transition:background var(--vp-ct),box-shadow var(--vp-ct)}.vp-card:hover{background:var(--vp-bgl);text-decoration:none!important}.vp-card hr{margin:.25em 0}.vp-card-logo{width:3em;height:3em;margin-inline-end:1em;border-radius:50%}.vp-card-content{flex:1}.vp-card-title{font-weight:500;font-size:1.1em}.vp-card-desc{color:#888;font-size:.9em;line-height:1.5;transition:color var(--vp-ct)}.vp-card-container{display:flex;flex-wrap:wrap;align-items:stretch;place-content:stretch center}.vp-card-container .vp-card{flex-basis:calc(50% - 3rem);max-width:unset;margin:.5rem}@media (max-width: 959px){.vp-card-container .vp-card{flex-basis:100%}}@media (max-width: 719px){.vp-card-container .vp-card{font-size:.95rem}}@media (max-width: 419px){.vp-card-container .vp-card{font-size:.9rem}}[data-media-player]{width:100%;display:inline-flex;align-items:center;position:relative;contain:style;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none}[data-media-player] *{box-sizing:border-box}:where([data-media-player][data-view-type=video]){aspect-ratio:16 / 9}[data-media-player]:focus,[data-media-player]:focus-visible{outline:none}[data-media-player][data-view-type=video][data-started]:not([data-controls]){pointer-events:auto;cursor:none}[data-media-player] slot{display:contents}[data-media-provider]{display:flex;position:relative;box-sizing:border-box;align-items:center;border-radius:inherit;width:100%;aspect-ratio:inherit;overflow:hidden}[data-media-player]:not([data-view-type=audio]) [data-media-provider],[data-media-player][data-fullscreen] [data-media-provider]{height:100%}[data-media-player][data-view-type=audio] [data-media-provider]{display:contents;background-color:unset}[data-media-provider] audio{width:100%}:where(video:not([width]):not([height]),iframe:not([width]):not([height])){width:100%;aspect-ratio:16 / 9}:where([data-media-provider] video),:where([data-media-provider] iframe){aspect-ratio:inherit;display:inline-block;height:auto;-o-object-fit:contain;object-fit:contain;touch-action:manipulation;border-radius:inherit;width:100%}[data-media-provider] iframe{height:100%}[data-media-player][data-view-type=audio] video,[data-media-player][data-view-type=audio] iframe{display:none}[data-media-player][data-fullscreen] video{height:100%}iframe.vds-youtube[data-no-controls]{height:1000%}.vds-blocker{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:auto;aspect-ratio:inherit;pointer-events:auto;border-radius:inherit;z-index:1}[data-ended] .vds-blocker{background-color:#000}.vds-icon:focus{outline:none}.vds-google-cast{width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#dedede;font-family:sans-serif;font-weight:500}.vds-google-cast svg{--size: max(18%, 40px);width:var(--size);height:var(--size);margin-bottom:8px}.vds-google-cast-info{font-size:calc(var(--media-height) / 100 * 6)}:where(.vds-buffering-indicator){position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:1}:where(.vds-buffering-indicator) :where(.vds-buffering-icon,.vds-buffering-spinner){opacity:0;pointer-events:none;transition:var(--media-buffering-transition, opacity .2s ease)}:where(.vds-buffering-indicator) :where(.vds-buffering-icon,svg.vds-buffering-spinner,.vds-buffering-spinner svg){width:var(--media-buffering-size, 96px);height:var(--media-buffering-size, 96px)}:where(.vds-buffering-indicator) :where(.vds-buffering-track,circle[data-part=track]){color:var(--media-buffering-track-color, #f5f5f5);opacity:var(--media-buffering-track-opacity, .25);stroke-width:var(--media-buffering-track-width, 8)}:where(.vds-buffering-indicator) :where(.vds-buffering-track-fill,circle[data-part=track-fill]){color:var(--media-buffering-track-fill-color, var(--media-brand));opacity:var(--media-buffering-track-fill-opacity, .75);stroke-width:var(--media-buffering-track-fill-width, 9);stroke-dasharray:100;stroke-dashoffset:var(--media-buffering-track-fill-offset, 50)}:where([data-buffering]) :where(.vds-buffering-icon,.vds-buffering-spinner){opacity:1;animation:var(--media-buffering-animation, vds-buffering-spin 1s linear infinite)}@keyframes vds-buffering-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion){:where([data-buffering]) :where(.vds-buffering-icon,.vds-buffering-spinner){animation-duration:8s}}:where(.vds-button){position:relative;display:inline-flex;justify-content:center;align-items:center;-moz-user-select:none;user-select:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;outline:none;border:none;padding:var(--media-button-padding, 0px);border-radius:var(--media-button-border-radius, 8px);color:var(--media-button-color, var(--media-controls-color, #f5f5f5));width:var(--media-button-size, 40px);height:var(--media-button-size, 40px);transition:transform .2s ease-out;contain:layout style;cursor:pointer;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;flex-shrink:0}.vds-button{border:var(--media-button-border)}:where([data-fullscreen] .vds-button){width:var(--media-fullscreen-button-size, 42px);height:var(--media-fullscreen-button-size, 42px)}@media screen and (max-width: 599px){:where([data-fullscreen] .vds-button){width:var(--media-sm-fullscreen-button-size, 42px);height:var(--media-sm-fullscreen-button-size, 42px)}}:where(.vds-button .vds-icon){width:var(--media-button-icon-size, 80%);height:var(--media-button-icon-size, 80%);border-radius:var(--media-button-border-radius, 8px)}:where(.vds-menu-button .vds-icon){display:flex!important}:where(.vds-button[aria-hidden=true]){display:none!important}@media (hover: hover) and (pointer: fine){.vds-button:hover{background-color:var(--media-button-hover-bg, rgb(255 255 255 / .2))}.vds-button:hover{transform:var(--media-button-hover-transform, scale(1.05));transition:var(--media-button-hover-transition, transform .2s ease-in)}.vds-button[aria-expanded=true]{transform:unset}}@media (pointer: coarse){.vds-button:hover{border-radius:var(--media-button-touch-hover-border-radius, 100%);background-color:var(--media-button-touch-hover-bg, rgb(255 255 255 / .2))}}:where(.vds-button:focus){outline:none}:where(.vds-button[data-focus],.vds-button:focus-visible){box-shadow:var(--media-focus-ring)}:where(.vds-live-button){min-width:auto;min-height:auto;width:var(--media-live-button-width, 40px);height:var(--media-live-button-height, 40px);padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;outline:none;border:none}:where(.vds-live-button-text){background-color:var(--media-live-button-bg, #8a8a8a);border-radius:var(--media-live-button-border-radius, 2px);color:var(--media-live-button-color, #161616);font-family:var(--media-font-family, sans-serif);font-size:var(--media-live-button-font-size, 12px);font-weight:var(--media-live-button-font-weight, 600);letter-spacing:var(--media-live-button-letter-spacing, 1.5px);padding:var(--media-live-button-padding, 1px 4px);transition:color .3s ease}:where(.vds-live-button[data-focus] .vds-live-button-text){box-shadow:var(--media-focus-ring)}:where(.vds-live-button[data-edge]){cursor:unset}:where(.vds-live-button[data-edge] .vds-live-button-text){background-color:var(--media-live-button-edge-bg, #dc2626);color:var(--media-live-button-edge-color, #f5f5f5)}@media (pointer: fine){:where(.vds-live-button:hover){background-color:unset}}.vds-button:not([data-paused]) .vds-play-icon,.vds-button[data-ended] .vds-play-icon,.vds-button[data-paused] .vds-pause-icon,.vds-button[data-ended] .vds-pause-icon,.vds-button:not([data-ended]) .vds-replay-icon,.vds-button[data-active] .vds-pip-enter-icon,.vds-button:not([data-active]) .vds-pip-exit-icon,.vds-button[data-active] .vds-fs-enter-icon,.vds-button:not([data-active]) .vds-fs-exit-icon,.vds-button:not([data-active]) .vds-cc-on-icon,.vds-button[data-active] .vds-cc-off-icon,.vds-button:not([data-muted]) .vds-mute-icon,.vds-button:not([data-state=low]) .vds-volume-low-icon,.vds-button:not([data-state=high]) .vds-volume-high-icon{display:none}:where(.vds-captions){--overlay-padding: var(--media-captions-padding, 1%);--cue-color: var(--media-user-text-color, var(--media-cue-color, white));--cue-bg-color: var(--media-user-text-bg, var(--media-cue-bg, rgba(0, 0, 0, .7)));--cue-default-font-size: var(--media-cue-font-size, calc(var(--overlay-height) / 100 * 4.5));--cue-font-size: calc(var(--cue-default-font-size) * var(--media-user-font-size, 1));--cue-line-height: var(--media-cue-line-height, calc(var(--cue-font-size) * 1.2));--cue-padding-x: var(--media-cue-padding-x, calc(var(--cue-font-size) * .6));--cue-padding-y: var(--media-cue-padding-x, calc(var(--cue-font-size) * .4));--cue-padding: var(--cue-padding-y) var(--cue-padding-x);position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;contain:layout style;margin:var(--overlay-padding);font-size:var(--cue-font-size);font-family:var(--media-user-font-family, sans-serif);box-sizing:border-box;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;word-spacing:normal;word-break:break-word}:where([data-fullscreen][data-orientation=portrait] .vds-captions){--cue-default-font-size: var(--media-cue-font-size, calc(var(--overlay-width) / 100 * 4.5))}:where([data-view-type=audio] .vds-captions){position:relative;margin:0}:where(.vds-captions[aria-hidden=true]){opacity:0;visibility:hidden}.vds-captions[data-example]{opacity:1!important;visibility:visible!important}:where([data-view-type=video] .vds-captions [data-part=cue-display][data-example]){--cue-text-align: center;--cue-width: 100%;--cue-top: 90%;--cue-left: 0%}:where([data-view-type=audio] .vds-captions [data-part=cue-display]){--cue-width: 100%;position:relative!important}:where(.vds-captions [data-part=cue-display]){position:absolute;direction:ltr;overflow:visible;contain:content;top:var(--cue-top);left:var(--cue-left);right:var(--cue-right);bottom:var(--cue-bottom);width:var(--cue-width, auto);height:var(--cue-height, auto);box-sizing:border-box;transform:var(--cue-transform);text-align:var(--cue-text-align);writing-mode:var(--cue-writing-mode, unset);white-space:pre-line;unicode-bidi:plaintext;min-width:-moz-min-content;min-width:min-content;min-height:-moz-min-content;min-height:min-content;padding:var(--media-cue-display-padding);background-color:var(--media-user-display-bg, var(--media-cue-display-bg));border-radius:var(--media-cue-display-border-radius)}:where(.vds-captions[data-dir=rtl] [data-part=cue-display]){direction:rtl}:where(.vds-captions [data-part=cue]){display:inline-block;contain:content;font-variant:var(--media-user-font-variant);border:var(--media-cue-border, unset);border-radius:var(--media-cue-border-radius, 2px);-webkit-backdrop-filter:var(--media-cue-backdrop, blur(8px));backdrop-filter:var(--media-cue-backdrop, blur(8px));padding:var(--cue-padding);line-height:var(--cue-line-height);background-color:var(--cue-bg-color);box-sizing:border-box;color:var(--cue-color);box-shadow:var(--media-cue-box-shadow, var(--cue-box-shadow));white-space:var(--cue-white-space, pre-wrap);outline:var(--cue-outline);text-shadow:var(--media-user-text-shadow, var(--cue-text-shadow))}:where(.vds-captions [data-part=cue-display][data-vertical] [data-part=cue]){--cue-padding: var(--cue-padding-x) var(--cue-padding-y)}:where(.vds-captions [data-part=region]){--anchor-x-percent: calc(var(--region-anchor-x) / 100);--anchor-x: calc(var(--region-width) * var(--anchor-x-percent));--anchor-y-percent: calc(var(--region-anchor-y) / 100);--anchor-y: calc(var(--region-height) * var(--anchor-y-percent));--vp-anchor-x: calc(var(--region-viewport-anchor-x) * 1%);--vp-anchor-y-percent: calc(var(--region-viewport-anchor-y) / 100);--vp-anchor-y: calc(var(--overlay-height) * var(--vp-anchor-y-percent));position:absolute;display:inline-flex;flex-flow:column;justify-content:flex-start;width:var(--region-width);height:var(--region-height);min-height:0px;max-height:var(--region-height);writing-mode:horizontal-tb;top:var(--region-top, calc(var(--vp-anchor-y) - var(--anchor-y)));left:var(--region-left, calc(var(--vp-anchor-x) - var(--anchor-x)));right:var(--region-right);bottom:var(--region-bottom);overflow:hidden;overflow-wrap:break-word;box-sizing:border-box}:where(.vds-captions [data-part=region][data-scroll=up]){justify-content:end}:where(.vds-captions [data-part=region][data-active][data-scroll=up]){transition:top .433s}:where(.vds-captions [data-part=region]>[data-part=cue-display]){position:relative;width:auto;left:var(--cue-offset);height:var(--cue-height, auto);text-align:var(--cue-text-align);unicode-bidi:plaintext;margin-top:2px}:where(.vds-captions [data-part=region] [data-part=cue]){position:relative;border-radius:0}:where(.vds-chapter-title){--color: var(--media-chapter-title-color, rgba(255 255 255 / .64));display:inline-block;font-family:var(--media-font-family, sans-serif);font-size:var(--media-chapter-title-font-size, 16px);font-weight:var(--media-chapter-title-font-weight, 400);color:var(--color);flex:1 1 0%;padding-inline:6px;overflow:hidden;text-align:start;white-space:nowrap;text-overflow:ellipsis}.vds-chapter-title:before{content:var(--media-chapter-title-separator, "•");display:inline-block;margin-right:var(--media-chapter-title-separator-gap, 6px);color:var(--media-chapter-title-separator-color, var(--color))}.vds-chapter-title:empty:before{content:"";margin:0}:where(.vds-controls),:where(.vds-controls-group){position:relative;display:inline-block;width:100%;box-sizing:border-box}:where([data-view-type=audio] .vds-controls){display:inline-block;max-width:100%}:where([data-view-type=video] .vds-controls){display:flex;position:absolute;flex-direction:column;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:10;opacity:0;visibility:hidden;pointer-events:none;padding:var(--media-controls-padding, 0px);transition:var(--media-controls-out-transition, opacity .2s ease-out)}:where([data-view-type=video] .vds-controls[data-visible]){opacity:1;visibility:visible;transition:var(--media-controls-in-transition, opacity .2s ease-in)}:where(.vds-controls-spacer){flex:1 1 0%;pointer-events:none}:where(.vds-gestures){display:contents}:where(.vds-gesture){position:absolute;display:block;contain:content;z-index:0;opacity:0;visibility:hidden;pointer-events:none!important}:where(.vds-icon svg){display:block;width:100%;height:100%;vertical-align:middle}:where(.vds-kb-action.hidden){opacity:0}:where(.vds-kb-text-wrapper){text-align:center;position:absolute;left:0;right:0;top:var(--media-kb-text-top, 10%);z-index:20;pointer-events:none}:where(.vds-kb-text){display:inline-block;padding:var(--media-kb-text-padding, 10px 20px);font-size:var(--media-kb-text-size, 150%);font-family:var(--media-font-family, sans-serif);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:var(--media-kb-border-radius, 2.5px);pointer-events:none}.vds-kb-text{color:var(--media-kb-text-color, var(--default-color));background-color:var(--media-kb-text-bg, var(--default-bg))}.light .vds-kb-text{--default-color: #1a1a1a;--default-bg: rgb(240 240 240 / .6)}.dark .vds-kb-text{--default-color: #f5f5f5;--default-bg: rgb(10 10 10 / .6)}:where(.vds-kb-text:empty){display:none}:where(.vds-kb-bezel){--size: var(--media-kb-bezel-size, 52px);position:absolute;left:50%;top:45%;display:flex;flex-direction:column;align-items:center;justify-content:center;width:var(--size);height:var(--size);margin-left:calc(-1 * calc(var(--size) / 2));margin-right:calc(-1 * calc(var(--size) / 2));z-index:20;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:var(--media-kb-bezel-bg, var(--default-bg));animation:var(--media-kb-bezel-animation, vds-bezel-fade .35s linear 1 normal forwards);border-radius:var(--media-kb-bezel-border-radius, calc(var(--size) / 2));pointer-events:none}.light .vds-kb-bezel{--default-bg: rgb(255 255 255 / .6)}.dark .vds-kb-bezel{--default-bg: rgb(10 10 10 / .6)}@media (prefers-reduced-motion){:where(.vds-kb-bezel){animation:none}}:where(.vds-kb-bezel:has(slot:empty)){opacity:0}:where(.vds-kb-action[data-action=seek-forward] .vds-kb-bezel){top:45%;left:unset;right:10%}:where(.vds-kb-action[data-action=seek-backward] .vds-kb-bezel){top:45%;left:10%}:where(.vds-kb-icon){--size: var(--media-kb-icon-size, 38px);width:var(--size);height:var(--size)}.vds-kb-icon{color:var(--media-kb-icon-color, var(--default-color))}.light .vds-kb-icon{--default-color: #1a1a1a}.dark .vds-kb-icon{--default-color: #f5f5f5}@keyframes vds-bezel-fade{0%{opacity:1}to{opacity:0;transform:scale(2)}}:where(.vds-menu-items){--color-inverse: var(--media-menu-color-inverse, var(--default-inverse));--color-gray-50: var(--media-menu-color-gray-50, var(--default-gray-50));--color-gray-100: var(--media-menu-color-gray-100, var(--default-gray-100));--color-gray-200: var(--media-menu-color-gray-200, var(--default-gray-200));--color-gray-300: var(--media-menu-color-gray-300, var(--default-gray-300));--color-gray-400: var(--media-menu-color-gray-400, var(--default-gray-400));--text-color: var(--media-menu-text-color, var(--default-text));--text-secondary-color: var(--media-menu-text-secondary-color, var(--default-text-secondary));--root-border: var(--media-menu-border, var(--default-root-border))}.light .vds-menu-items{--default-inverse: black;--default-gray-50: rgb(80 80 80 / .15);--default-gray-100: rgb(80 80 80 / .45);--default-gray-200: rgb(235 235 235 / .6);--default-gray-300: rgb(238 238 238);--default-gray-400: rgb(250 250 250);--default-text: #1a1a1a;--default-text-secondary: #6b6b6b;--default-root-border: 1px solid rgb(10 10 10 / .1)}.dark .vds-menu-items{--default-inverse: white;--default-gray-50: rgb(245 245 245 / .1);--default-gray-100: rgb(245 245 245 / .45);--default-gray-200: rgb(10 10 10 / .6);--default-gray-300: rgb(27 27 27);--default-gray-400: rgb(10 10 10);--default-text: #f5f5f5;--default-text-secondary: #8a8a8a;--default-root-border: 1px solid rgb(255 255 255 / .1)}:where(.vds-menu-items){--font-family: var(--media-font-family, sans-serif);--font-size: var(--media-menu-font-size, 14px);--font-weight: var(--media-menu-font-weight, 500);--root-bg: var(--media-menu-bg, var(--color-gray-400));--root-padding: var(--media-menu-padding, 12px);--root-border-radius: var(--media-menu-border-radius, 4px);--divider: var(--media-menu-divider, 1px solid var(--color-gray-50));--section-bg: var(--media-menu-section-bg, var(--color-gray-300));--section-border: var(--media-menu-section-border);--section-divider: var(--media-menu-section-divider, var(--divider));--top-bar-bg: var(--media-menu-top-bar-bg, var(--color-gray-200));--top-bar-divider: var(--media-menu-divider, transparent);--text-hint-color: var(--media-menu-hint-color, var(--text-secondary-color));--chapter-divider: var(--media-chapters-divider, var(--divider));--chapter-active-bg: var(--media-chapters-item-active-bg, var(--color-gray-50));--chapter-active-border-left: var(--media-chapters-item-active-border-left);--chapter-progress-bg: var(--media-chapters-progress-bg, var(--color-inverse));--chapter-time-font-size: var(--media-chapters-time-font-size, 12px);--chapter-time-font-weight: var(--media-chapters-time-font-weight, 500);--chapter-time-gap: var(--media-chapters-time-gap, 6px);--chapter-duration-bg: var(--media-chapters-duration-bg);--item-border: var(--media-menu-item-border, 0);--item-bg: var(--media-menu-item-bg, transparent);--item-hover-bg: var(--media-menu-item-hover-bg, var(--color-gray-50));--item-icon-size: var(--media-menu-item-icon-size, 18px);--item-padding: var(--media-menu-item-padding, 10px);--item-min-height: var(--media-menu-item-height, 40px);--item-border-radius: var(--media-menu-item-border-radius, 2px);--scrollbar-track-bg: var(--media-menu-scrollbar-track-bg, transparent);--scrollbar-thumb-bg: var(--media-menu-scrollbar-thumb-bg, var(--color-gray-50));--webkit-scrollbar-bg: var(--color-gray-400);--webkit-scrollbar-track-bg: var(--media-menu-scrollbar-track-bg, var(--color-gray-50));--checkbox-bg: var(--media-menu-checkbox-bg, var(--color-gray-100));--checkbox-active-bg: var(--media-menu-checkbox-bg-active, #1ba13f);--checkbox-handle-bg: var(--media-menu-checkbox-handle-bg, #f5f5f5);--checkbox-handle-border: var(--media-menu-checkbox-handle-border);--radio-icon-color: var(--media-menu-radio-icon-color, var(--text-color))}:where(.vds-menu[data-root] media-menu[data-root]){display:contents}:where(.vds-menu){font-family:var(--font-family);font-size:var(--font-size);font-weight:var(--font-weight)}:where(.vds-menu[data-disabled][data-root]){display:none}:where(.vds-menu[data-submenu]){display:inline-block}:where(.vds-menu-items:focus){outline:none}:where(.vds-menu-item:focus,.vds-radio:focus){outline:none}:where(.vds-menu-item:focus-visible,.vds-menu-item[data-focus],.vds-radio:focus-visible,.vds-radio[data-focus]){outline:none;box-shadow:var(--media-focus-ring)}:where(.vds-menu[data-open] .vds-tooltip-content){display:none!important}.vds-menu-items [data-hidden]{display:none!important}@media (prefers-reduced-motion: no-preference){:where(.vds-menu-items){scroll-behavior:smooth}}:where(.vds-menu-items){box-sizing:border-box;min-width:var(--media-menu-min-width, 280px);scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb-bg) var(--scrollbar-track-bg)}:where(.vds-menu-items)::-webkit-scrollbar{background-color:var(--webkit-scrollbar-bg);border-radius:var(--root-border-radius);height:6px;width:5px}:where(.vds-menu-items)::-webkit-scrollbar-track{background-color:var(--webkit-scrollbar-track-bg);border-radius:4px}:where(.vds-menu-items)::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb-bg);border-radius:4px}:where(.vds-menu-items)::-webkit-scrollbar-corner{background-color:var(--scrollbar-thumb-bg)}:where(.vds-menu-button){outline:none;box-sizing:border-box}:where(.vds-menu-button .vds-rotate-icon){transition:transform .2s ease-out}:where(.vds-menu-button[aria-expanded=true] .vds-rotate-icon){transform:rotate(var(--media-menu-icon-rotate-deg, 90deg));transition:transform .2s ease-in}:where(.vds-menu-button){display:inline-flex;align-items:center;justify-content:center}@media (prefers-reduced-motion){:where(.vds-menu-button .vds-rotate-icon){transition:unset}}:where(.vds-menu-items){display:flex;align-items:center;flex-direction:column;font-family:var(--font-family);font-size:var(--font-size);font-weight:var(--font-weight);transition:height .35s ease}@media (prefers-reduced-motion){:where(.vds-menu-items){transition:unset}}:where(.vds-menu-items[data-root]){padding:var(--root-padding);background-color:var(--root-bg);border-radius:var(--root-border-radius);box-shadow:var(--media-menu-box-shadow);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);height:var(--menu-height, auto);will-change:width,height;overflow-y:auto;overscroll-behavior:contain;opacity:0;z-index:9999999;box-sizing:border-box;max-height:var(--media-menu-max-height, 250px);filter:var( --media-menu-filter, drop-shadow(0 4px 3px rgb(0 0 0 / .07)) drop-shadow(0 2px 2px rgb(0 0 0 / .06)) )}.vds-menu-items[data-root]{border:var(--root-border)}:where([data-view-type=video]) :where(.vds-menu-items[data-root]){max-height:var(--media-menu-video-max-height, calc(var(--player-height) * .7))}:where(.vds-menu-items[data-transition=height]){--scrollbar-thumb-bg: rgba(0, 0, 0, 0);pointer-events:none;overflow:hidden}.vds-menu-button[aria-disabled=true],.vds-menu-item[aria-disabled=true],.vds-menu-item[data-disabled]{display:none}:where(.vds-menu-items[data-root]){--enter-transform: translateY(0px);--exit-transform: translateY(12px)}:where(.vds-menu-items[data-root]:not([data-placement])){--enter-transform: translateY(-24px)}:where(.vds-menu-items[data-root][aria-hidden=true]){animation:var(--media-menu-exit-animation, vds-menu-exit .2s ease-out)}:where(.vds-menu-items[data-root][aria-hidden=false]){animation:var(--media-menu-enter-animation, vds-menu-enter .3s ease-out);animation-fill-mode:forwards}:where(.vds-menu-items[data-placement~=bottom]){--enter-transform: translateY(0);--exit-transform: translateY(-12px)}@keyframes vds-menu-enter{0%{opacity:0;transform:var(--exit-transform)}to{opacity:1;transform:var(--enter-transform)}}@keyframes vds-menu-exit{0%{opacity:1;transform:var(--enter-transform)}to{opacity:0;transform:var(--exit-transform)}}@media (prefers-reduced-motion){:where(.vds-menu-items){animation:none;opacity:1}}:where(media-menu-portal){display:contents}:where(.vds-menu-items[data-root]:not([data-placement])){position:fixed;left:16px;right:16px;top:unset;bottom:0;max-height:var(--media-sm-menu-portrait-max-height, 40vh);max-height:var(--media-sm-menu-portrait-max-height, 40dvh)}:where(.vds-menu-items[data-root]:not([data-placement])){max-width:480px;margin:0 auto}@media (orientation: landscape) and (pointer: coarse){:where(.vds-menu-items[data-root]:not([data-placement])){max-height:var(--media-sm-menu-landscape-max-height, min(70vh, 400px));max-height:var(--media-sm-menu-landscape-max-height, min(70dvh, 400px))}}:where(.vds-menu[data-submenu] .vds-menu-button){display:flex;align-items:center;justify-content:flex-start}:where(.vds-menu-items[data-submenu]){width:100%}:where(.vds-menu[aria-hidden=true]),:where(.vds-menu-items[data-submenu][aria-hidden=true]){display:none}:where(.vds-menu-item,.vds-radio){position:relative;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none;display:flex;align-items:center;justify-content:left;width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:var(--item-border-radius);box-sizing:border-box;min-height:var(--item-min-height);padding:var(--item-padding);font-size:var(--font-size);outline:none}.vds-menu-item,.vds-radio{color:var(--text-color);background-color:var(--item-bg)}.vds-menu-item:focus-visible,.vds-menu-item[data-focus],.vds-radio:focus-visible,.vds-radio[data-focus]{cursor:pointer;background-color:var(--item-hover-bg)}@media (hover: hover) and (pointer: fine){.vds-menu-item[role]:hover,.vds-radio:hover{cursor:pointer;background-color:var(--item-hover-bg)}}:where(.vds-menu-items[data-submenu]){align-items:flex-start;justify-content:center;flex-direction:column}:where(.vds-menu-item[aria-expanded=true]){font-weight:700;border-radius:0;border-top-left-radius:var(--item-border-radius);border-top-right-radius:var(--item-border-radius)}.vds-menu-item[aria-expanded=true]{border-bottom:var(--top-bar-divider)}:where(.vds-menu-item[aria-expanded=true]){position:sticky;top:calc(-1 * var(--root-padding));left:0;width:100%;z-index:10;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);margin-bottom:4px}.vds-menu-item[aria-expanded=true]{background-color:var(--top-bar-bg)}:where(.vds-menu-item-label){flex:1 0 0%;text-align:start}:where(.vds-menu-item .vds-icon,.vds-radio .vds-icon){--size: var(--item-icon-size);width:var(--size);height:var(--size);margin-right:var(--media-menu-item-icon-spacing, 6px)}:where(.vds-menu-open-icon,.vds-menu-close-icon){--size: var(--media-menu-arrow-icon-size, 18px);width:var(--size);height:var(--size)}:where(.vds-menu-item-hint,.vds-menu-open-icon,.vds-radio-hint){color:var(--text-hint-color);font-size:var(--media-menu-hint-font-size, 13px);font-weight:var(--media-menu-hint-font-weight, 400)}:where(.vds-menu-items .vds-menu-open-icon){margin-right:0}:where(.vds-menu-items) :where(.vds-menu-item-hint,.vds-menu-open-icon){margin-left:auto}:where(.vds-menu-items) :where(.vds-menu-item-hint+.vds-menu-open-icon),:where(.vds-menu-item-hint+media-icon .vds-menu-open-icon),:where(.vds-menu-item-hint+slot>.vds-menu-open-icon){margin-left:2px}:where(.vds-menu-item[aria-hidden=true]),:where(.vds-menu-item[aria-expanded=true] .vds-menu-open-icon){display:none!important}:where(.vds-menu-items) :where(.vds-menu-item[aria-disabled=true],.vds-menu-item[data-disabled]) :where(.vds-menu-open-icon){opacity:0}:where(.vds-menu-close-icon),:where(.vds-menu-item[aria-expanded=true]>.vds-icon){display:none!important}:where(.vds-menu-item[aria-expanded=true] .vds-menu-close-icon){display:inline!important;margin-left:calc(-1 * var(--item-padding) / 2)}:where(.vds-menu-checkbox){--checkbox-width: var(--media-menu-checkbox-width, 40px);--checkbox-height: var(--media-menu-checkbox-height, 18px);--checkbox-top: calc((var(--checkbox-height) - var(--checkbox-diameter)) / 2);--checkbox-diameter: var( --media-menu-checkbox-handle-diameter, calc(var(--checkbox-height) - 2px) );--checkbox-gap: var(--media-menu-checkbox-gap, 2.5px);position:relative;display:inline-block;width:var(--checkbox-width);height:var(--checkbox-height);background-color:var(--checkbox-bg);border-radius:calc(var(--checkbox-height) / 2);transition:.3s all ease-in-out;box-sizing:border-box;cursor:pointer;pointer-events:auto}:where(.vds-menu-checkbox:focus-visible){outline:none;box-shadow:var(--media-focus-ring)}:where(.vds-menu-checkbox[aria-checked=true]){background-color:var(--checkbox-active-bg)}:where(.vds-menu-checkbox):after{content:"";display:inline-block;width:var(--checkbox-diameter);height:var(--checkbox-diameter);background-color:var(--checkbox-handle-bg);border-radius:calc(var(--checkbox-diameter) / 2);position:absolute;top:var(--checkbox-top);transform:translate(var(--checkbox-gap));transition:.3s all ease-in-out;border:var(--checkbox-handle-border);box-sizing:border-box}:where(.vds-menu-checkbox[aria-checked=true]):after{transform:translate(calc(var(--checkbox-width) - var(--checkbox-diameter) - var(--checkbox-gap)))}@media (prefers-reduced-motion: no-preference){:where(.vds-menu-checkbox[data-active]):after{width:calc(var(--checkbox-width) - calc(var(--checkbox-gap) * 2))}}:where(.vds-menu-checkbox[aria-checked=true][data-active]):after{transform:translate(var(--checkbox-gap))}:where(.vds-menu-items .vds-slider){--media-slider-track-bg: var(--media-menu-slider-track-bg, var(--color-gray-50));--media-slider-track-fill-bg: var(--media-menu-slider-track-fill-bg, var(--color-inverse));--media-slider-height: var(--media-menu-slider-height, 32px);--track-focus-height: var(--track-height) !important}:where(.vds-menu-items .vds-slider-thumb){opacity:1!important}:where(.vds-menu-slider-item.group){flex-direction:column}:where(.vds-menu-slider-title){margin-top:4px}:where(.vds-menu-slider-body){width:100%;display:flex;align-items:center;margin-top:6px}:where(.vds-menu-slider-item .vds-icon){margin:0;color:var(--text-hint-color)}:where(.vds-menu-slider-item[data-min] .vds-icon.down,.vds-menu-slider-item[data-max] .vds-icon.up){color:var(--text-color);animation:.6s ease-in-out vds-slider-icon;transition:all 1.2s ease}@keyframes vds-slider-icon{0%{transform:scale(1)}50%{transform:scale(1.25)}to{transform:scale(1)}}:where(.vds-menu-items .vds-slider-track-fill){transition:opacity .3s ease}:where(.vds-menu-items .vds-slider[data-active] .vds-slider-track-fill){opacity:0}:where(.vds-radio-group){box-sizing:border-box;width:100%;display:flex;flex-direction:column}:where(.vds-radio){cursor:pointer;contain:content;padding-left:calc(var(--item-icon-size) + var(--item-padding))}:where(.vds-radio[aria-checked=true]){padding-left:0}.vds-radio .vds-icon{display:none;color:var(--radio-icon-color)}.vds-radio[aria-checked=true] .vds-icon{display:inline-block;margin-left:6px}:where(.vds-radio-hint){margin-left:auto}.vds-color-picker{width:32px;height:32px;border:0;background-color:transparent;outline:none}.vds-color-picker::-webkit-color-swatch{border-radius:2px}.vds-color-picker::-moz-color-swatch{border-radius:2px}.vds-color-picker:focus-visible::-webkit-color-swatch{box-shadow:var(--media-focus-ring)}.vds-color-picker:focus-visible::-moz-color-swatch{box-shadow:var(--media-focus-ring)}:where(.vds-menu-section){width:100%}:where(.vds-menu-item+.vds-menu-section){margin-top:8px}:where(.vds-menu-section+.vds-menu-section){margin-top:24px}:where(.vds-menu-section:first-child){margin-top:8px}:where(.vds-menu-section:last-child){margin-bottom:8px}:where(.vds-menu-section-title),:where(.vds-menu-slider-title){width:100%;display:flex;align-items:center;justify-content:space-between;color:var(--text-secondary-color);font-size:var(--media-menu-section-header-font-size, 12px);font-weight:var(--media-menu-section-header-font-weight, 500);padding-inline:2px}:where(.vds-menu-section-body){width:100%}:where(.vds-menu-section-title+.vds-menu-section-body){margin-top:var(--media-menu-section-gap, 8px)}.vds-menu-section-body{background-color:var(--section-bg);border:var(--section-border);border-radius:var(--media-menu-section-border-radius, 2px)}:where(.vds-menu-section:not([data-open]) .vds-menu-item:not(:last-child)){border-bottom:var(--section-divider)}:where(.vds-menu-section-body .vds-menu:last-child>.vds-menu-item){border-bottom:unset}.vds-menu-section[data-open],.vds-menu-section[data-open]>.vds-menu-section-body{display:contents!important;background-color:transparent!important}.vds-menu-section[data-open]>.vds-menu-section-title,.vds-menu-section[data-open]>.vds-menu-section-body>:not([data-open]){display:none}:where(.vds-chapters-menu-items){padding:var(--media-chapters-padding, 0);min-width:var(--media-chapters-min-width, var(--media-menu-min-width, 220px))}:where(.vds-menu-items:has(.vds-chapters-radio-group[data-thumbnails])){min-width:var(--media-chapters-with-thumbnails-min-width, 300px)}:where(.vds-chapter-radio){border-radius:0;padding:var(--item-padding)}.vds-chapters-radio{border-bottom:var(--chapter-divider)}:where(.vds-chapter-radio:last-child){border-bottom:0}:where(.vds-chapter-radio[aria-checked=true]){background-color:var(--chapter-active-bg);border-left:var(--chapter-active-border-left)}:where(.vds-chapter-radio[aria-checked=true]):after{content:" ";width:var(--progress);height:var(--media-chapters-progress-height, 4px);position:absolute;bottom:0;left:0;border-radius:var(--media-chapters-progress-border-radius, 0);background-color:var(--chapter-progress-bg)}.vds-chapters-radio-group :where(.vds-thumbnail){margin-right:var(--media-chapters-thumbnail-gap, 12px);flex-shrink:0;min-width:var(--media-chapters-thumbnail-min-width, 100px);min-height:var(--media-chapters-thumbnail-min-height, 56px);max-width:var(--media-chapters-thumbnail-max-width, 120px);max-height:var(--media-chapters-thumbnail-max-height, 68px)}.vds-chapters-radio-group .vds-thumbnail{border:var(--media-chapters-thumbnail-border, 0)}:where(.vds-chapters-radio-group .vds-chapter-radio-label){color:var(--text-secondary-color);font-size:var(--font-size);font-weight:var(--font-weight);white-space:nowrap}:where(.vds-chapter-radio[aria-checked=true] .vds-chapter-radio-label){color:var(--text-color)}:where(.vds-chapters-radio-group .vds-chapter-radio-start-time){display:inline-block;padding:var(--media-chapters-start-time-padding, 1px 4px);letter-spacing:var(--media-chapters-start-time-letter-spacing, .4px);border-radius:var(--media-chapters-start-time-border-radius, 2px);color:var(--text-secondary-color);font-size:var(--chapter-time-font-size);font-weight:var(--chapter-time-font-weight);background-color:var(--section-bg);margin-top:var(--chapter-time-gap)}:where(.vds-chapters-radio-group .vds-chapter-radio-duration){color:var(--text-hint-color);background-color:var(--chapter-duration-bg);font-size:var(--chapter-time-font-size);font-weight:var(--chapter-time-font-weight);border-radius:var(--media-chapters-duration-border-radius, 2px);margin-top:var(--chapter-time-gap)}.vds-chapters-radio-group:not([data-thumbnails]) :where(.vds-thumbnail,media-thumbnail){display:none}:where(.vds-chapter-radio-content){display:flex;align-items:flex-start;flex-direction:column}:where(.vds-chapters-radio-group:not([data-thumbnails]) .vds-chapter-radio-content){width:100%;flex-direction:row;display:flex;flex-wrap:wrap;align-items:center}:where(.vds-chapters-radio-group:not([data-thumbnails]) .vds-chapter-radio-start-time){margin-top:0;margin-left:auto}:where(.vds-chapters-radio-group:not([data-thumbnails]) .vds-chapter-radio-duration){margin-top:4px;flex-basis:100%}:where(.vds-menu-items[data-keyboard]) .vds-chapters-radio-group:focus-within{padding:var(--media-chapters-focus-padding, 4px)}:where(.vds-poster){display:block;contain:content;position:absolute;top:0;left:0;opacity:0;width:100%;height:100%;z-index:1;border:0;pointer-events:none;box-sizing:border-box;transition:opacity .2s ease-out;background-color:var(--media-poster-bg, black)}:where(.vds-poster img){-o-object-fit:inherit;object-fit:inherit;-o-object-position:inherit;object-position:inherit;pointer-events:none;-moz-user-select:none;user-select:none;-webkit-user-select:none;box-sizing:border-box}.vds-poster :where(img){border:0;width:100%;height:100%;-o-object-fit:contain;object-fit:contain}:where(.vds-poster[data-hidden]){display:none}:where(.vds-poster[data-visible]){opacity:1}:where(.vds-slider){--width: var(--media-slider-width, 100%);--height: var(--media-slider-height, 48px);--thumb-size: var(--media-slider-thumb-size, 15px);--thumb-focus-size: var(--media-slider-focused-thumb-size, calc(var(--thumb-size) * 1.1));--track-width: var(--media-slider-track-width, 100%);--track-height: var(--media-slider-track-height, 5px);--track-focus-width: var(--media-slider-focused-track-width, var(--track-width));--track-focus-height: var(--media-slider-focused-track-height, calc(var(--track-height) * 1.25));display:inline-flex;align-items:center;width:var(--width);height:var(--height);margin:0 calc(var(--thumb-size) / 2);position:relative;contain:layout style;outline:none;pointer-events:auto;cursor:pointer;-moz-user-select:none;user-select:none;touch-action:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}:where(.vds-slider[aria-hidden=true]){display:none!important}:where(.vds-slider[aria-disabled=true]){cursor:unset}:where(.vds-slider:focus){outline:none}:where(.vds-slider:not([data-chapters])[data-focus],.vds-slider:not([data-chapters]):focus-visible) :where(.vds-slider-track){box-shadow:var(--media-focus-ring)}:where(.vds-slider .vds-slider-track){z-index:0;position:absolute;width:var(--track-width);height:var(--track-height);top:50%;left:0;border-radius:var(--media-slider-track-border-radius, 2px);transform:translateY(-50%) translateZ(0);background-color:var(--media-slider-track-bg, rgb(255 255 255 / .3));contain:strict}:where(.vds-slider[data-focus],.vds-slider:focus-visible) :where(.vds-slider-track){outline-offset:var(--thumb-size)}:where(.vds-slider:not([data-chapters])[data-active] .vds-slider-track){width:var(--track-focus-width);height:var(--track-focus-height)}:where(.vds-slider .vds-slider-track-fill){z-index:2;background-color:var(--media-slider-track-fill-bg, var(--media-brand));width:var(--slider-fill, 0%);will-change:width}:where(.vds-slider .vds-slider-thumb){position:absolute;top:50%;left:var(--slider-fill);opacity:0;contain:layout size style;width:var(--thumb-size);height:var(--thumb-size);border:var(--media-slider-thumb-border, 1px solid #cacaca);border-radius:var(--media-slider-thumb-border-radius, 9999px);background-color:var(--media-slider-thumb-bg, #fff);transform:translate(-50%,-50%) translateZ(0);transition:opacity .15s ease-in;pointer-events:none;will-change:left;z-index:2}:where(.vds-slider[data-dragging],.vds-slider[data-focus],.vds-slider:focus-visible) :where(.vds-slider-thumb){box-shadow:var(--media-slider-focused-thumb-shadow, 0 0 0 4px hsla(0, 0%, 100%, .4))}:where(.vds-slider[data-active] .vds-slider-thumb){opacity:1;transition:var(--media-slider-thumb-transition, opacity .2s ease-in, box-shadow .2s ease)}:where(.vds-slider[data-dragging] .vds-slider-thumb){width:var(--thumb-focus-size);height:var(--thumb-focus-size)}:where(.vds-slider-value){display:inline-block;contain:content;font-size:14px;font-family:var(--media-font-family, sans-serif)}:where(.vds-slider-thumbnail){display:block;contain:content;box-sizing:border-box}:where(.vds-slider-video){background-color:#000;box-sizing:border-box;contain:content;display:inline-block;border:var(--media-thumbnail-border, 1px solid white)}:where(.vds-slider-video video){display:block;height:auto;width:156px}:where(.vds-slider-video[data-loading]){opacity:0}:where(.vds-slider-video[data-hidden],.vds-slider-video[data-hidden] video){display:none;width:0px}:where(.vds-slider .vds-slider-preview){display:flex;flex-direction:column;align-items:center;opacity:0;background-color:var(--media-slider-preview-bg);border-radius:var(--media-slider-preview-border-radius, 2px);pointer-events:none;transition:opacity .2s ease-out;will-change:left,opacity;contain:layout paint style}:where(.vds-slider-preview[data-visible]){opacity:1;transition:opacity .2s ease-in}:where(.vds-slider-value){padding:var(--media-slider-value-padding, 1px 10px);color:var(--media-slider-value-color, white);background-color:var(--media-slider-value-bg, black);border-radius:var(--media-slider-value-border-radius, 2px)}.vds-slider-value{border:var(--media-slider-value-border)}:where(.vds-slider-video:not([data-hidden])+.vds-slider-chapter-title,.vds-slider-thumbnail:not([data-hidden])+.vds-slider-chapter-title){margin-top:var(--media-slider-chapter-title-gap, 6px)}:where(.vds-slider-video:not([data-hidden])+.vds-slider-value,.vds-slider-thumbnail:not([data-hidden])+.vds-slider-value,.vds-slider-chapter-title+.vds-slider-value){margin-top:var(--media-slider-value-gap, 2px)}:where(.vds-slider[aria-orientation=vertical]){--width: var(--media-slider-width, 48px);--height: var(--media-slider-height, 100%);--track-width: var(--media-slider-track-width, 4px);--track-height: var(--media-slider-track-height, 100%);--track-focus-width: var(--media-slider-focused-track-width, calc(var(--track-width) * 1.25));--track-focus-height: var(--media-slider-focused-track-height, var(--track-height));margin:calc(var(--thumb-size) / 2) 0}:where(.vds-slider[aria-orientation=vertical] .vds-slider-track){top:unset;bottom:0;left:50%;transform:translate(-50%) translateZ(0)}:where(.vds-slider[aria-orientation=vertical] .vds-slider-track-fill){width:var(--track-width);height:var(--slider-fill);will-change:height;transform:translate(-50%) translateZ(0)}:where(.vds-slider[aria-orientation=vertical] .vds-slider-progress){top:unset;bottom:0;width:var(--track-width);height:var(--slider-progress, 0%);will-change:height}:where(.vds-slider[aria-orientation=vertical] .vds-slider-thumb){top:unset;bottom:var(--slider-fill);left:50%;will-change:bottom;transform:translate(-50%,50%) translateZ(0)}:where(.vds-slider[aria-orientation=vertical] .vds-slider-preview){will-change:bottom,opacity}:where([data-live] .vds-time-slider .vds-slider-track-fill){background-color:var(--media-slider-track-fill-live-bg, #dc2626)}:where(.vds-time-slider .vds-slider-progress){z-index:1;left:0;width:var(--slider-progress, 0%);will-change:width;background-color:var(--media-slider-track-progress-bg, rgb(255 255 255 / .5))}:where([data-media-player]:not([data-can-play]) .vds-time-slider .vds-slider-value){display:none}:where(.vds-slider-steps){display:flex;align-items:center;justify-content:space-between;width:100%;height:100%;position:absolute;top:0;left:0}:where(.vds-slider-step){width:var(--media-slider-step-width, 2.5px);height:calc(var(--track-height) + 1px);background-color:var(--media-slider-step-color, rgb(124, 124, 124));opacity:0;transition:opacity .3s ease}:where(.vds-slider[data-active] .vds-slider-step){opacity:1}:where(.vds-time-slider .vds-slider-chapters){position:relative;display:flex;align-items:center;width:100%;height:100%;contain:layout style;border-radius:var(--media-slider-track-border-radius, 1px)}:where(.vds-slider[data-focus],.vds-slider:focus-visible) :where(.vds-slider-chapters){box-shadow:var(--media-focus-ring);height:var(--track-height)}:where(.vds-time-slider .vds-slider-chapter){margin-right:2px}:where(.vds-time-slider .vds-slider-chapter:last-child){margin-right:0}:where(.vds-time-slider .vds-slider-chapter){position:relative;display:flex;align-items:center;width:100%;height:100%;will-change:height,transform;contain:layout style;border-radius:var(--media-slider-track-border-radius, 1px)}:where(.vds-time-slider .vds-slider-chapter .vds-slider-track-fill){width:var(--chapter-fill, 0%);will-change:width}:where(.vds-time-slider .vds-slider-chapter .vds-slider-progress){width:var(--chapter-progress, 0%);will-change:width}@media (hover: hover) and (pointer: fine){:where(.vds-time-slider:hover .vds-slider-chapters){contain:strict}:where(.vds-time-slider .vds-slider-chapter:hover:not(:only-of-type)){transform:var(--media-slider-chapter-hover-transform, scaleY(2));transition:var( --media-slider-chapter-hover-transition, transform .1s cubic-bezier(.4, 0, 1, 1) )}}:where(.vds-time-slider .vds-slider-chapter-title){font-family:var(--media-font-family, sans-serif);font-size:var(--media-slider-chapter-title-font-size, 14px);color:var(--media-slider-chapter-title-color, #f5f5f5);background-color:var(--media-slider-chapter-title-bg)}:where(.vds-thumbnail){--aspect-ratio: calc(var(--media-thumbnail-aspect-ratio, 16 / 9));--min-width: var(--media-thumbnail-min-width, 140px);--max-width: var(--media-thumbnail-max-width, 180px);display:block;width:var(--thumbnail-width);height:var(--thumbnail-height);background-color:var(--media-thumbnail-bg, black);contain:strict;overflow:hidden;box-sizing:border-box;min-width:var(--min-width);min-height:var(--media-thumbnail-min-height, calc(var(--min-width) / var(--aspect-ratio)));max-width:var(--max-width);max-height:var(--media-thumbnail-max-height, calc(var(--max-width) / var(--aspect-ratio)))}.vds-thumbnail{border:var(--media-thumbnail-border, 1px solid white)}:where(.vds-thumbnail img){min-width:unset!important;max-width:unset!important;will-change:width,height,transform}:where(.vds-thumbnail[data-loading] img){opacity:0}:where(.vds-thumbnail[aria-hidden=true]){display:none!important}:where(.vds-time-group){display:flex;align-items:center}.vds-time-divider{margin:0 var(--media-time-divider-gap, 2.5px);color:var(--media-time-divider-color, #e0e0e0)}:where(.vds-time){display:inline-block;contain:content;font-size:var(--media-time-font-size, 15px);font-weight:var(--media-time-font-weight, 400);font-family:var(--media-font-family, sans-serif);padding:var(--media-time-padding, 2px);border-radius:var(--media-time-border-radius, 2px);letter-spacing:var(--media-time-letter-spacing, .025em)}.vds-time{outline:0;color:var(--media-time-color, var(--default-color));background-color:var(--media-time-bg);border:var(--media-time-border)}:where(.vds-time:focus-visible){box-shadow:var(--media-focus-ring)}.light .vds-time{--default-color: rgb(10 10 10)}.dark .vds-time{--default-color: #f5f5f5}:where(.vds-tooltip,media-tooltip){display:contents}:where(.vds-tooltip-content){display:inline-block;box-sizing:border-box;font-family:var(--media-font-family, sans-serif);font-size:var(--media-tooltip-font-size, 13px);font-weight:var(--media-tooltip-font-weight, 500);opacity:0;pointer-events:none;white-space:nowrap;z-index:10;will-change:transform,opacity;border-radius:var(--media-tooltip-border-radius, 2px);padding:var(--media-tooltip-padding, 2px 8px)}.vds-tooltip-content{color:var(--media-tooltip-color, var(--default-color));background-color:var(--media-tooltip-bg-color, var(--default-bg));border:var(--media-tooltip-border, var(--default-border))}.light .vds-tooltip-content{--default-color: #1a1a1a;--default-bg: white;--default-border: 1px solid rgb(0 0 0 / .2)}.dark .vds-tooltip-content{--default-color: #f5f5f5;--default-bg: black;--default-border: 1px solid rgb(255 255 255 / .1)}:where(.vds-menu .vds-menu-button[role=button][data-pressed] .vds-tooltip-content){opacity:0;display:none}:where(.vds-tooltip-content){--enter-transform: translateY(0px) scale(1);--exit-transform: translateY(12px) scale(.8)}:where(.vds-tooltip-content:not([data-visible])){animation:var(--media-tooltip-exit-animation, vds-tooltip-exit .2s ease-out)}:where(.vds-tooltip-content[data-visible]){animation:var(--media-tooltip-enter-animation, vds-tooltip-enter .2s ease-in);animation-fill-mode:forwards}:where(.vds-tooltip-content[data-placement~=bottom]){--enter-transform: translateY(0) scale(1);--exit-transform: translateY(-12px) scale(.8)}:where(.vds-tooltip-content[data-placement~=left]){--enter-transform: translateX(0) scale(1);--exit-transform: translateX(12px) scale(.8)}:where(.vds-tooltip-content[data-placement~=right]){--enter-transform: translateX(0) scale(1);--exit-transform: translateX(-12px) scale(.8)}@keyframes vds-tooltip-enter{0%{opacity:0;transform:var(--exit-transform)}to{opacity:1;transform:var(--enter-transform)}}@keyframes vds-tooltip-exit{0%{opacity:1;transform:var(--enter-transform)}to{opacity:0;transform:var(--exit-transform)}}@media (prefers-reduced-motion){:where(.vds-tooltip-content){animation:none}:where(.vds-tooltip-content[data-visible]){opacity:1}}[data-media-player]:not([data-paused]) .vds-play-tooltip-text,[data-media-player][data-paused] .vds-pause-tooltip-text,[data-media-player][data-pip] .vds-pip-enter-tooltip-text,[data-media-player]:not([data-pip]) .vds-pip-exit-tooltip-text,[data-media-player][data-fullscreen] .vds-fs-enter-tooltip-text,[data-media-player]:not([data-fullscreen]) .vds-fs-exit-tooltip-text,[data-media-player]:not([data-captions]) .vds-cc-on-tooltip-text,[data-media-player][data-captions] .vds-cc-off-tooltip-text,[data-media-player]:not([data-muted]) .vds-mute-tooltip-text,[data-media-player][data-muted] .vds-unmute-tooltip-text{display:none}[data-media-player] .vds-audio-layout:not([data-match]){display:none!important}:where([data-media-player][data-layout=audio]){border-radius:var(--audio-border-radius, 6px)}:where(.vds-audio-layout){position:relative;display:inline-flex;align-items:center;min-width:100%;height:60px;color:var(--audio-controls-color, var(--default-color));background-color:var(--audio-bg, var(--default-bg));border-radius:var(--audio-border-radius, 6px);box-sizing:border-box;filter:var( --audio-filter, drop-shadow(0 4px 3px rgb(0 0 0 / .07)) drop-shadow(0 2px 2px rgb(0 0 0 / .06)) )}.vds-audio-layout{border:var(--audio-border, 1px solid rgb(255 255 255 / .1))}:where([data-media-player][data-focus]:not([data-playing]) .vds-audio-layout){box-shadow:var(--media-focus-ring)}:where(.vds-audio-layout){--media-brand: var(--audio-brand, var(--default-brand));--media-font-family: var(--audio-font-family, sans-serif);--media-controls-color: var(--audio-controls-color, var(--default-controls-color));--media-menu-y-offset: 18px;--media-tooltip-y-offset: 18px;--media-slider-track-bg: var(--audio-slider-track-bg, var(--default-slider-track-bg));--media-slider-track-fill-bg: var(--audio-slider-track-bg, var(--media-brand));--media-slider-track-progress-bg: var( --audio-slider-progress-bg, var(--default-slider-progress-bg) );--media-slider-value-border: var(--audio-slider-value-border, 1px solid rgb(255 255 255 / .1));--media-slider-value-gap: var(--audio-slider-value-gap, 6px);--media-focus-ring-color: var(--audio-focus-ring-color, rgb(78 156 246));--media-focus-ring: var(--audio-focus-ring, 0 0 0 3px var(--media-focus-ring-color))}.vds-audio-layout.light,.light .vds-audio-layout{--default-brand: rgb(10 10 10);--default-color: rgb(10 10 10);--default-bg: rgb(250 250 250);--default-controls-color: rgb(10 10 10);--default-border: 1px solid rgb(100 100 100 /.2);--default-slider-track-bg: rgb(50 50 50 / .1);--default-slider-progress-bg: rgb(10 10 10 / .2)}.vds-audio-layout.dark,.dark .vds-audio-layout{--default-brand: #f5f5f5;--default-color: #f5f5f5;--default-controls-color: #f5f5f5;--default-bg: black;--default-slider-track-bg: rgb(255 255 255 / .3);--default-slider-progress-bg: rgb(255 255 255 / .5)}:where(.vds-audio-layout .vds-controls){padding-inline:6px;border-radius:var(--audio-border-radius, 6px)}:where(.vds-audio-layout .vds-controls-group){display:flex;align-items:center;pointer-events:auto;width:100%}:where(.vds-audio-layout .vds-button){width:var(--audio-button-size, 36px);height:var(--audio-button-size, 36px);margin-right:2.5px}:where(.vds-audio-layout .vds-play-tooltip){--media-tooltip-y-offset: 18px}:where(.vds-audio-layout .vds-button){transition:max-width .14s ease-in;max-width:var(--audio-button-size, 36px)}:where(.vds-audio-layout .vds-play-button){--media-button-hover-transform: 0;--media-button-border: var(--audio-play-button-border, var(--color));--media-button-hover-bg: var(--bg-color);--media-button-touch-hover-bg: var(--bg-color);width:var(--audio-play-button-size, 32px);height:var(--audio-play-button-size, 32px);border-radius:var(--audio-play-button-border-radius, 100%);pointer-events:auto;margin-bottom:2px;overflow:hidden}.vds-audio-layout .vds-play-button{color:var(--audio-play-button-color, var(--default-color));background-color:var(--audio-play-button-bg, var(--default-bg))}.light .vds-audio-layout .vds-play-button,.vds-audio-layout.light .vds-play-button{--default-color: #f5f5f5;--default-bg: var(--media-brand)}.dark .vds-audio-layout .vds-play-button,.vds-audio-layout.dark .vds-play-button{--default-color: rgb(10 10 10);--default-bg: var(--media-brand)}:where(.vds-audio-layout .vds-caption-button:not([data-active])){opacity:var(--audio-caption-button-off-opacity, .64)}:where(.vds-audio-layout .vds-live-button){margin-right:8px}:where(.vds-audio-layout .vds-seek-button){max-width:0px;visibility:hidden}:where([data-playing] .vds-audio-layout .vds-seek-button){max-width:var(--audio-button-size, 36px);visibility:visible}:where(.vds-audio-layout .vds-settings-menu .vds-button){margin-right:0}@media (pointer: coarse){:where(.vds-audio-layout .vds-caption-button){display:none}}:where(.vds-audio-layout .vds-title){display:flex;align-items:center;position:relative;margin-left:6px;margin-right:auto;max-width:100%;opacity:1;transition:max-width .15s ease-in,opacity .15s ease-in;overflow:hidden;text-wrap:nowrap;white-space:nowrap;transition-delay:75ms}:where([data-playing] .vds-audio-layout .vds-title){opacity:0;margin:0;max-width:0px;transition:none;transition-delay:0}:where(.vds-audio-layout .vds-title-text){display:inline-flex;align-items:center}:where(.vds-audio-layout .vds-marquee .vds-title-text){animation:vds-marquee 8s linear infinite}:where(.vds-audio-layout .vds-title:hover *){animation-play-state:paused}:where(.vds-audio-layout .vds-title-text:nth-child(2)){margin-left:16px}@keyframes vds-marquee{0%{transform:translate(0)}to{transform:translate(calc(-100% - 16px))}}:where(.vds-audio-layout .vds-time){margin-inline:8px;transition:max-width .14s ease-in;font-size:var(--audio-time-font-size, 15px)}:where(.vds-audio-layout .vds-time-slider){--media-slider-preview-offset: 14px;opacity:0;max-width:0px;transform:scaleX(0);transform-origin:center left;transition:none;visibility:hidden}:where([data-media-player]:not([data-paused]) .vds-audio-layout .vds-time-slider){opacity:1;max-width:100%;transform:scaleX(1);transition:opacity .15s ease-in,transform .15s ease-in;transition-delay:75ms;visibility:visible}:where(.vds-audio-layout .vds-slider-chapter-title){color:var(--audio-slider-chapter-title-color, black)}:where(.dark .vds-audio-layout .vds-slider-chapter-title){color:var(--audio-slider-chapter-title-color, white)}:where([data-buffering] .vds-audio-layout .vds-slider-progress){--stripe-color: var(--audio-buffering-stripe-color, rgb(0 0 0 / .25));--stripe-size: var(--audio-buffering-stripe-size, 30px);width:100%!important;background-image:linear-gradient(-45deg,var(--stripe-color) 25%,transparent 25%,transparent 50%,var(--stripe-color) 50%,var(--stripe-color) 75%,transparent 75%,transparent);background-size:var(--stripe-size) var(--stripe-size);animation:vds-audio-track-progress var(--audio-buffering-stripe-speed, 2s) linear infinite}@keyframes vds-audio-track-progress{0%{background-position:0 0}to{background-position:var(--stripe-size) var(--stripe-size)}}:where(.vds-audio-layout .vds-volume){--media-slider-height: var(--audio-volume-height, 96px);--media-slider-preview-offset: 6px;--gap: var(--audio-volume-gap, 16px);position:relative;display:flex;align-items:center;justify-content:center}:where(.vds-audio-layout .vds-volume-popup){position:absolute;bottom:calc(100% + var(--gap));left:50%;opacity:0;transform:translate(-50%);transition:opacity .15s ease-out,visibility .15s ease-out;border-radius:var(--audio-volume-border-radius, 8px);filter:var(--media-volume-filter, drop-shadow(0 1px 1px rgb(0 0 0 / .05)));visibility:hidden}.vds-audio-layout .vds-volume-popup:after{content:"";position:fixed;bottom:calc(-1 * var(--gap));right:0;width:100%;height:var(--gap);z-index:1;pointer-events:auto}.vds-audio-layout .vds-volume-popup{background-color:var(--audio-volume-bg, var(--media-menu-bg, var(--default-bg)));border:var(--audio-volume-border, var(--default-border))}.light .vds-audio-layout .vds-volume-popup,.vds-audio-layout.light .vds-volume-popup{--default-bg: rgb(250 250 250);--default-border: 1px solid rgb(10 10 10 / .1)}.dark .vds-audio-layout .vds-volume-popup,.vds-audio-layout.dark .vds-volume-popup{--default-bg: rgb(10 10 10);--default-border: 1px solid rgb(255 255 255 / .1)}:where(.vds-audio-layout .vds-volume[data-active] .vds-volume-popup),:where(.vds-audio-layout .vds-volume:has([data-active]) .vds-volume-popup){transition:opacity .15s ease-in,visibility .15s ease-in;opacity:1;visibility:visible}:where(.vds-audio-layout .vds-volume[data-active] .vds-tooltip-content){display:none!important}:where(.vds-audio-layout .vds-menu-items[data-root]){max-height:var(--audio-menu-max-height, 320px)}:where(.vds-audio-layout .vds-captions){--cue-font-size: calc(var(--audio-cue-font-size, 14px) * var(--media-user-font-size, 1));display:inline-block;position:absolute;width:100%;top:unset;bottom:calc(100% + var(--audio-captions-offset, 4px));text-align:center;background-color:var(--media-user-display-bg, var(--media-cue-display-bg))}:where([data-preview] .vds-audio-layout .vds-captions),:where([data-paused] .vds-audio-layout .vds-captions){opacity:0}@media (pointer: coarse){.vds-audio-layout[data-scrubbing] :where(.vds-button,.vds-time){max-width:0!important;margin:0!important;padding:0!important;transition:max-width .15s ease-out}}[data-media-player] .vds-video-layout:not([data-match]){display:none!important}[data-media-player][data-layout=video]{background-color:var(--video-bg, black)}[data-media-player][data-layout=video]:not([data-fullscreen]){border-radius:var(--video-border-radius, 6px);border:var(--video-border, 1px solid rgb(255 255 255 / .1))}:where(.vds-video-layout){--media-brand: var(--video-brand, #f5f5f5);--media-font-family: var(--video-font-family, sans-serif);--media-controls-color: var(--video-controls-color, #f5f5f5);--media-tooltip-y-offset: 6px;--media-menu-y-offset: 6px;--media-focus-ring-color: var(--video-focus-ring-color, rgb(78 156 246));--media-focus-ring: var(--video-focus-ring, 0 0 0 3px var(--media-focus-ring-color));color:var(--video-controls-color, #f5f5f5);display:contents}:where([data-media-player][data-focus]:not([data-playing]) .vds-video-layout .vds-controls){border-radius:var(--video-border-radius, 6px);box-shadow:var(--media-focus-ring)}:where(.vds-video-layout .vds-controls[data-visible]){background-image:linear-gradient(to top,rgb(0 0 0 / .6),10%,transparent,95%,rgb(0 0 0 / .3))}:where(.vds-video-layout .vds-controls-group){align-items:center;display:flex;pointer-events:auto;z-index:0;padding:4px 6px}:where(.vds-video-layout .vds-controls-group:first-child){z-index:50}:where(.vds-video-layout .vds-controls-group:nth-last-child(2)){padding:0 12px;z-index:11;margin-bottom:-16px}:where(.vds-video-layout:not([data-sm]) .vds-controls-group:last-child){--media-menu-y-offset: 26px;--media-tooltip-y-offset: 26px;--media-slider-preview-offset: 26px;z-index:10}:where(.vds-video-layout .vds-button){margin-right:2.5px}:where(.vds-video-layout[data-sm] .vds-chapter-title){font-size:var(--video-sm-chapter-title-font-size, 15px)}:where([data-fullscreen] .vds-video-layout .vds-chapter-title){font-size:var(--video-fullscreen-chapter-title-font-size, 16px)}:where(.vds-video-layout:not([data-sm]) .vds-mute-button){margin-left:-2.5px;margin-right:-5px}:where(.vds-video-layout[data-sm]){--media-button-size: var(--video-sm-button-size, 36px)}:where(.vds-video-layout .vds-time-slider){--media-slider-height: 45px;flex-grow:0}:where(.vds-video-layout .vds-slider-thumbnail){--media-thumbnail-border: var(--video-slider-thumbnail-border, 1px solid #f5f5f5);border-radius:var(--video-slider-thumbnail-border-radius, 2px)}:where(.vds-video-layout .vds-time-slider .vds-slider-value){background-color:var(--video-time-bg, unset);text-shadow:-1px -1px 0 #333333,1px -1px 0 #333333,-1px 1px 0 #333333,1px 1px 0 #333333}:where(.vds-video-layout[data-sm] .vds-time){text-shadow:unset}:where(.vds-video-layout[data-lg] .vds-volume){--gap: var(--video-volume-gap, 10px);display:contents}:where(.vds-video-layout[data-lg] .vds-volume-popup){display:contents}:where(.vds-video-layout[data-lg] .vds-volume-slider){margin:0;max-width:0;transition:all .15s ease}:where(.vds-video-layout[data-lg] .vds-volume[data-active] .vds-volume-slider),:where(.vds-video-layout[data-lg] .vds-volume:has([data-active]) .vds-volume-slider){margin-left:var(--gap);opacity:1;visibility:visible;max-width:var(--video-volume-slider-max-width, 72px)}.vds-video-layout[data-lg] .vds-volume-slider:after{content:"";position:fixed;top:0;left:calc(-1 * var(--gap));width:var(--gap);height:100%;z-index:1;pointer-events:auto}:where(.vds-video-layout[data-sm] .vds-volume){--media-slider-height: var(--video-volume-height, 96px);--media-slider-preview-offset: calc(-200% - 6px) ;--gap: var(--video-volume-gap, 10px);position:relative;display:flex;align-items:center;justify-content:center}:where(.vds-video-layout[data-sm] .vds-volume-popup){display:block;position:absolute;top:calc(100% + var(--gap));left:50%;opacity:0;transform:translate(-50%);transition:opacity .15s ease-out,visibility .15s ease-out;border-radius:var(--video-volume-border-radius, 8px);filter:var(--media-volume-filter, drop-shadow(0 1px 1px rgb(0 0 0 / .05)));visibility:hidden}.vds-video-layout[data-sm] .vds-mute-button:after{content:"";position:fixed;bottom:calc(-1 * var(--gap));right:0;width:100%;height:var(--gap);z-index:1;pointer-events:auto}.vds-video-layout .vds-volume-popup{background-color:var(--video-volume-bg, var(--media-menu-bg, var(--default-bg)));border:var(--video-volume-border, var(--default-border))}.light .vds-video-layout .vds-volume-popup,.vds-video-layout.light .vds-volume-popup{--default-bg: rgb(250 250 250);--default-border: 1px solid rgb(10 10 10 / .1)}.dark .vds-video-layout .vds-volume-popup,.vds-video-layout.dark .vds-volume-popup{--default-bg: rgb(10 10 10);--default-border: 1px solid rgb(255 255 255 / .1)}:where(.vds-video-layout[data-sm] .vds-volume[data-active] .vds-volume-popup),:where(.vds-video-layout[data-sm] .vds-volume:has([data-active]) .vds-volume-popup){transition:opacity .15s ease-in,visibility .15s ease-in;opacity:1;visibility:visible}:where(.vds-video-layout[data-sm] .vds-volume[data-active] .vds-tooltip-content){display:none!important}:where(.vds-video-layout .vds-time[data-type=current]){margin-right:2px}:where(.vds-video-layout .vds-time[data-type=current][remainder]){margin-left:2px}.vds-video-layout .vds-time{--default-color: #f5f5f5 !important}:where([data-preview] .vds-video-layout .vds-captions){opacity:0}:where(.vds-video-layout .vds-captions){z-index:10;transition:var(--video-captions-transition, bottom .3s ease-in-out)}@media (min-width: 980px){:where([data-fullscreen] .vds-video-layout .vds-captions){bottom:var(--video-lg-fullscreen-captions-offset, 54px)}}:where([data-media-player][data-controls] .vds-video-layout .vds-captions){bottom:var(--video-captions-offset, 78px)}:where([data-media-player][data-controls] .vds-video-layout[data-sm] .vds-captions){bottom:var(--video-sm-captions-offset, 48px)}:where(.vds-video-layout .vds-time-slider .vds-slider-chapter-title){width:100%;text-align:center;text-shadow:-1px -1px 0 #212121,1px -1px 0 #212121,-1px 1px 0 #212121,1px 1px 0 #212121}:where(.vds-video-layout .vds-gesture){top:0;left:0;width:100%;height:100%;z-index:0}:where(.vds-video-layout .vds-gesture[action="seek:-10"]){width:var(--video-gesture-seek-width, 20%);z-index:1}:where(.vds-video-layout .vds-gesture[action="seek:10"]){left:unset;right:0;width:var(--video-gesture-seek-width, 20%);z-index:1}@media (pointer: coarse){:where(.vds-video-layout .vds-gesture[action="toggle:paused"]){display:none}}@media not (pointer: coarse){:where([data-media-player] .vds-video-layout .vds-gesture[action="toggle:controls"]){display:none}}:where(.vds-video-layout .vds-live-button){margin-left:12px}:where(.vds-video-layout:not([data-sm]) .vds-time-group){margin-left:10px}:where(.vds-video-layout[data-sm] .vds-time){font-size:var(--video-sm-time-font-size, 14px)}:where([data-fullscreen] .vds-video-layout .vds-time){font-size:var(--video-fullscreen-time-font-size, 16px)}:where(.vds-video-layout .vds-load-container){position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:none;align-items:center;justify-content:center;pointer-events:none;z-index:99}:where([data-media-player][data-load=play]:not([data-started]) .vds-video-layout[data-match] .vds-load-container){display:flex}:where(.vds-video-layout .vds-load-container .vds-play-button){--size: var(--video-load-button-size, 56px);--color: var(--video-load-button-color, rgb(0 0 0 / .8));--bg-color: var(--video-load-button-bg, var(--media-brand));--media-button-hover-transform: 0;--media-button-border: var(--video-load-button-border, var(--color));--media-button-hover-bg: var(--video-load-button-bg, var(--media-brand));width:var(--size);height:var(--size);border-radius:var(--video-load-button-border-radius, 100%);color:var(--color);pointer-events:auto;margin-bottom:2px;overflow:hidden}.vds-video-layout .vds-load-container .vds-play-button{background-color:var(--bg-color)}:where(.vds-video-layout[data-sm] .vds-load-container .vds-play-button){--size: var(--video-sm-load-button-size, 48px);--media-button-hover-transform: translateY(0%);width:var(--size);height:var(--size);transform:translateY(0)}:where(.vds-video-layout[data-sm] .vds-controls-group:nth-last-child(2)){pointer-events:none}:where(.vds-video-layout[data-sm] .vds-controls-group:last-child){z-index:2;margin-top:-2.5px;margin-bottom:-6px}:where([data-fullscreen] .vds-video-layout[data-sm] .vds-controls-group:last-child){margin-bottom:0}:where(.vds-video-layout[data-sm] .vds-controls-group){padding:2px}:where(.vds-video-layout[data-sm]) :where(.vds-button,.vds-slider:not(.vds-time-slider),.vds-time,.vds-time-divider,.vds-chapter-title){transition:opacity .15s ease}:where([data-media-player]:not([data-started]) .vds-video-layout[data-sm]) :where(.vds-button .vds-slider,.vds-time-group){opacity:0;visibility:hidden}:where(.vds-video-layout[data-sm] .vds-time-slider){transition:transform .1s linear}@media (pointer: coarse){:where([data-preview] .vds-video-layout:not([data-no-scrub-gesture])) :where(.vds-button,.vds-slider:not(.vds-time-slider),.vds-time,.vds-chapter-title,.vds-time-divider,.vds-captions,.vds-live-button){opacity:0}:where([data-preview] .vds-video-layout:not([data-no-scrub-gesture]) .vds-time-slider){--track-height: var(--video-sm-slider-focus-track-height, 12px);transform:translateY(-6px);transition:transform .1s linear}}:where(.vds-video-layout[data-sm] .vds-controls .vds-play-button){--size: var(--video-sm-play-button-size, 45px);--media-button-hover-transform: translateY(25%);width:var(--size);height:var(--size);transform:translateY(25%);border-radius:100%;pointer-events:auto;margin-bottom:2px;overflow:hidden}.vds-video-layout[data-sm] .vds-controls .vds-play-button{background-color:var(--video-sm-play-button-bg, rgba(0 0 0 / .6))}:where([data-media-player]:not([data-started]) .vds-video-layout[data-sm] .vds-controls-group:not(:nth-child(3))){opacity:0;visibility:hidden}:where(.vds-video-layout[data-sm] .vds-buffering-indicator){--media-buffering-size: 64px;transform:translate(-2px,-4px)}:where(.vds-video-layout .vds-start-duration .vds-time){position:absolute;right:8px;bottom:8px;margin-right:8px;margin-bottom:8px;z-index:10;padding:var(--video-sm-start-duration-padding, 3px 6px);color:var(--video-sm-start-duration-color, var(--video-controls-color));background-color:var(--video-sm-start-duration-bg, rgba(0 0 0 / .64))}:where([data-started] .vds-video-layout .vds-start-duration .vds-time){display:none}:where([data-media-player]:not([data-can-play]) .vds-video-layout .vds-start-duration .vds-time){opacity:0}:where(.vds-video-layout[data-sm] .vds-time[data-type=current]){margin-left:8px}:where([data-fullscreen] .vds-video-layout .vds-controls-group:nth-last-child(2)){margin-bottom:-16px}@media (orientation: portrait){:where([data-fullscreen] .vds-video-layout .vds-captions){bottom:30lvh;bottom:10dvh}}@media (orientation: landscape){:where([data-fullscreen] .vds-video-layout .vds-controls-group:nth-last-child(2)){margin-bottom:-12px}}media-community-skin[data-audio]{--audio-brand: var(--vp-tc);--audio-bg: var(--vp-bg);--audio-controls-color: var(--dark-grey);--audio-title-color: var(--vp-c);--audio-time-muted-color: var(--light-grey);--audio-play-button-bg: var(--vp-bglt);--audio-play-button-color: var(--black)}:where(media-community-skin[data-audio] [part~=media-ui]){box-shadow:2px 2px 10px 0 var(--card-shadow)}media-community-skin[data-video]{--video-brand: var(--vp-tc)}@media print{.xi-gua-desc a{display:block}}.xi-gua-iframe{margin:8px 0;border:none;border-radius:8px}@media print{.xi-gua-iframe{display:none}}@media screen{.sr-only{position:absolute;overflow:hidden;clip:rect 0,0,0,0;width:1px;height:1px;margin:-1px;padding:0;border:0}}@media print{.sr-only{display:none}}.vp-catalog-wrapper{margin-top:8px;margin-bottom:8px}.vp-catalog-wrapper.index ol{padding-inline-start:0}.vp-catalog-wrapper.index li{list-style-type:none}.vp-catalog-wrapper.index .vp-catalogs{padding-inline-start:0}.vp-catalog-wrapper.index .vp-catalog{list-style-type:none}.vp-catalog-wrapper.index .vp-catalog-title:before{content:"§" counter(catalog-item,upper-roman) " "}.vp-catalog-wrapper.index .vp-child-catalogs{counter-reset:child-catalog}.vp-catalog-wrapper.index .vp-child-catalog{counter-increment:child-catalog}.vp-catalog-wrapper.index .vp-child-catalog .vp-catalog-title:before{content:counter(catalog-item) "." counter(child-catalog) " "}.vp-catalog-wrapper.index .vp-sub-catalogs{padding-inline-start:.5rem}.vp-catalogs{margin:0;counter-reset:catalog-item}.vp-catalogs.deep{padding-inline-start:0}.vp-catalogs.deep .vp-catalog{list-style-type:none}.vp-catalogs .font-icon{vertical-align:baseline;margin-inline-end:.25rem}.vp-catalog{counter-increment:catalog-item}.vp-catalog-main-title{margin-top:calc(.5rem - var(--navbar-height, 3.6rem));margin-bottom:.5rem;padding-top:var(--navbar-height, 3.6rem);font-weight:500;font-size:1.75rem}.vp-catalog-main-title:first-child{margin-bottom:.5rem!important}.vp-catalog-main-title:only-child{margin-bottom:0!important}.vp-catalog-main-title .vp-link{text-decoration:none!important}.vp-catalog-child-title{margin-bottom:.5rem!important}.vp-catalog-child-title.has-children{margin-top:calc(.5rem - var(--navbar-height, 3.6rem));padding-top:var(--navbar-height, 3.6rem);border-bottom:1px solid var(--catalog-border-color);font-weight:500;font-size:1.3rem;transition:border-color .3s}.vp-catalog-child-title.has-children:only-child{margin-bottom:0!important}.vp-catalog-child-title .vp-link{text-decoration:none!important}.vp-catalog-sub-title{font-weight:500;font-size:1.1rem}.vp-catalog-sub-title:only-child{margin-bottom:0!important}.vp-catalog-title{color:inherit;text-decoration:none}.vp-catalog-title:hover{color:var(--catalog-active-color)}.vp-child-catalogs{margin:0}.vp-child-catalog{list-style-type:disc}.vp-sub-catalogs{counter-reset:sub-catalog}.vp-sub-catalog{counter-increment:sub-catalog}.vp-sub-catalog .vp-link:before{content:counter(catalog-item) "." counter(child-catalog) "." counter(sub-catalog) " "}.vp-sub-catalogs-wrapper{display:flex;flex-wrap:wrap}.vp-sub-catalog-link{display:inline-block;margin:4px 8px;padding:4px 8px;border-radius:6px;background-color:var(--catalog-bg-secondary-color);line-height:1.5;overflow-wrap:break-word;transition:background-color .3s,color .3s}.vp-sub-catalog-link:hover{background-color:var(--catalog-hover-color);color:var(--catalog-bg-color);text-decoration:none!important}.vp-catalog-header-anchor{font-size:.85em;float:left;margin-left:-1em;padding-right:0;margin-top:.125em;opacity:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;text-decoration:none;content:"¶"}@media print{.vp-catalog-header-anchor{display:none}}h2:hover .vp-catalog-header-anchor,h3:hover .vp-catalog-header-anchor{opacity:1;text-decoration:none}.vp-catalog-header-anchor:focus-visible{opacity:1}.vp-empty-catalog{font-size:1.25rem;text-align:center}:root{--catalog-bg-color: #fff;--catalog-bg-secondary-color: #f8f8f8;--catalog-border-color: #e5e5e5;--catalog-active-color: #3eaf7c;--catalog-hover-color: #71cda3}.vp-back-to-top-button{position:fixed!important;bottom:4rem;inset-inline-end:1rem;z-index:100;width:3rem;height:3rem;padding:.5rem;border-width:0;border-radius:50%;background:var(--back-to-top-bg-color);color:var(--back-to-top-color);box-shadow:2px 2px 10px 4px var(--back-to-top-shadow);cursor:pointer}@media (max-width: 959px){.vp-back-to-top-button{width:2.5rem;height:2.5rem}}@media print{.vp-back-to-top-button{display:none}}.vp-back-to-top-button:hover{color:var(--back-to-top-color-hover)}.vp-back-to-top-button .back-to-top-icon{overflow:hidden;width:100%;height:100%;background:currentcolor;border-radius:50%;-webkit-mask-image:var(--back-to-top-icon);mask-image:var(--back-to-top-icon);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:cover;mask-size:cover}.vp-scroll-progress{position:absolute;right:-2px;bottom:-2px;width:calc(100% + 4px);height:calc(100% + 4px)}.vp-scroll-progress svg{width:100%;height:100%}.vp-scroll-progress circle{opacity:.9;fill:none;stroke:currentColor;transform:rotate(-90deg);transform-origin:50% 50%;r:22;stroke-dasharray:0% 314.1593%;stroke-width:3px}@media (max-width: 959px){.vp-scroll-progress circle{r:18}}.back-to-top-enter-active,.back-to-top-leave-active{transition:opacity .3s}.back-to-top-enter-from,.back-to-top-leave-to{opacity:0}:root{--back-to-top-z-index: 5;--back-to-top-icon: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%201024%201024'%3e%3cpath%20d='M512%20843.2c-36.2%200-66.4-13.6-85.8-21.8-10.8-4.6-22.6%203.6-21.8%2015.2l7%20102c.4%206.2%207.6%209.4%2012.6%205.6l29-22c3.6-2.8%209-1.8%2011.4%202l41%2064.2c3%204.8%2010.2%204.8%2013.2%200l41-64.2c2.4-3.8%207.8-4.8%2011.4-2l29%2022c5%203.8%2012.2.6%2012.6-5.6l7-102c.8-11.6-11-20-21.8-15.2-19.6%208.2-49.6%2021.8-85.8%2021.8'/%3e%3cpath%20d='m795.4%20586.2-96-98.2C699.4%20172%20513%2032%20513%2032S324.8%20172%20324.8%20488l-96%2098.2c-3.6%203.6-5.2%209-4.4%2014.2L261.2%20824c1.8%2011.4%2014.2%2017%2023.6%2010.8L419%20744s41.4%2040%2094.2%2040%2092.2-40%2092.2-40l134.2%2090.8c9.2%206.2%2021.6.6%2023.6-10.8l37-223.8c.4-5.2-1.2-10.4-4.8-14M513%20384c-34%200-61.4-28.6-61.4-64s27.6-64%2061.4-64c34%200%2061.4%2028.6%2061.4%2064S547%20384%20513%20384'/%3e%3c/svg%3e");--back-to-top-bg-color: #fff;--back-to-top-color: #3eaf7c;--back-to-top-color-hover: #71cda3;--back-to-top-shadow: rgb(0 0 0 / 20%)}:root{--external-link-icon-color: #aaa}.external-link-icon{position:relative;display:inline-block;color:var(--external-link-icon-color);vertical-align:middle;top:-1px}@media print{.external-link-icon{display:none}}.external-link-icon-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}:root{--nprogress-color: #29d;--nprogress-z-index: 1031}#nprogress{pointer-events:none}#nprogress .bar{background:var(--nprogress-color);position:fixed;z-index:var(--nprogress-z-index);top:0;left:0;width:100%;height:2px}.giscus-wrapper.input-top .giscus{margin-bottom:-3rem}@media print{#vp-comment{display:none!important}}div[class*=language-]:hover:before{display:none}div[class*=language-]:hover .vp-copy-code-button{opacity:1}.vp-copy-code-button{position:absolute;top:.5em;right:.5em;z-index:5;width:2.5rem;height:2.5rem;padding:0;border-width:0;border-radius:.5rem;background:transparent;outline:none;opacity:0;cursor:pointer;transition:opacity .4s}@media print{.vp-copy-code-button{display:none}}.vp-copy-code-button:focus,.vp-copy-code-button.copied{opacity:1}.vp-copy-code-button:hover,.vp-copy-code-button.copied{background:var(--copy-code-hover)}.vp-copy-code-button.copied .vp-copy-icon{-webkit-mask-image:var(--code-copied-icon);mask-image:var(--code-copied-icon)}.vp-copy-code-button.copied:after{content:attr(data-copied);position:absolute;top:0;right:calc(100% + .25rem);display:block;height:1.25rem;padding:.625rem;border-radius:.5rem;background:var(--copy-code-hover);color:var(--copy-code-color);font-weight:500;line-height:1.25rem;white-space:nowrap}.vp-copy-icon{width:1.25rem;height:1.25rem;padding:.625rem;background:currentcolor;color:var(--copy-code-color);font-size:1.25rem;-webkit-mask-image:var(--code-copy-icon);mask-image:var(--code-copy-icon);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:1em;mask-size:1em}:root{--code-copy-icon: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20height='20'%20width='20'%20stroke='rgba(128,128,128,1)'%20stroke-width='2'%3e%3cpath%20stroke-linecap='round'%20stroke-linejoin='round'%20d='M9%205H7a2%202%200%200%200-2%202v12a2%202%200%200%200%202%202h10a2%202%200%200%200%202-2V7a2%202%200%200%200-2-2h-2M9%205a2%202%200%200%200%202%202h2a2%202%200%200%200%202-2M9%205a2%202%200%200%201%202-2h2a2%202%200%200%201%202%202'%20/%3e%3c/svg%3e");--code-copied-icon: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20height='20'%20width='20'%20stroke='rgba(128,128,128,1)'%20stroke-width='2'%3e%3cpath%20stroke-linecap='round'%20stroke-linejoin='round'%20d='M9%205H7a2%202%200%200%200-2%202v12a2%202%200%200%200%202%202h10a2%202%200%200%200%202-2V7a2%202%200%200%200-2-2h-2M9%205a2%202%200%200%200%202%202h2a2%202%200%200%200%202-2M9%205a2%202%200%200%201%202-2h2a2%202%200%200%201%202%202m-6%209%202%202%204-4'%20/%3e%3c/svg%3e");--copy-code-color: #9e9e9e;--copy-code-hover: rgb(0 0 0 / 50%)}:root{--important-title-color: #230555;--important-bg-color: #f4eefe;--important-border-color: #a371f7;--important-code-bg-color: rgb(163 113 247 / 10%);--info-title-color: #193c47;--info-bg-color: #eef9fd;--info-border-color: #4cb3d4;--info-code-bg-color: rgb(76 179 212 / 10%);--note-title-color: #474748;--note-bg-color: #fdfdfe;--note-border-color: #ccc;--note-code-bg-color: rgb(212 213 216 / 20%);--tip-title-color: #003100;--tip-bg-color: #e6f6e6;--tip-border-color: #009400;--tip-code-bg-color: rgb(0 148 0 / 15%);--warning-title-color: #4d3800;--warning-bg-color: #fff8e6;--warning-border-color: #e6a700;--warning-code-bg-color: rgb(230 167 0 / 15%);--caution-title-color: #4b1113;--caution-bg-color: #ffebec;--caution-border-color: #e13238;--caution-code-bg-color: rgb(225 50 56 / 15%);--detail-bg-color: #eee;--detail-text-color: inherit;--detail-code-bg-color: rgb(127 127 127 / 15%)}html[data-theme=dark]{--important-title-color: #f4eefe;--important-bg-color: #230555;--info-title-color: #eef9fd;--info-bg-color: #193c47;--note-title-color: #fdfdfe;--note-bg-color: #474748;--tip-title-color: #e6f6e6;--tip-bg-color: #003100;--warning-title-color: #fff8e6;--warning-bg-color: #4d3800;--caution-title-color: #ffebec;--caution-bg-color: #4b1113;--detail-bg-color: #333;--detail-text-color: #a8a8a8}.hint-container{position:relative;transition:background var(--vp-ct),border-color var(--vp-ct),color var(--vp-ct)}@media print{.hint-container{page-break-inside:avoid}}.hint-container .hint-container-title{position:relative;font-weight:600;line-height:1.25}.hint-container.important,.hint-container.info,.hint-container.note,.hint-container.tip,.hint-container.warning,.hint-container.caution{margin:1rem 0;padding:.25rem 1rem;border-inline-start-width:.3rem;border-inline-start-style:solid;border-radius:.5rem;color:inherit}@media (max-width: 419px){.hint-container.important,.hint-container.info,.hint-container.note,.hint-container.tip,.hint-container.warning,.hint-container.caution{margin-inline:-.75rem}}.hint-container.important .hint-container-title,.hint-container.info .hint-container-title,.hint-container.note .hint-container-title,.hint-container.tip .hint-container-title,.hint-container.warning .hint-container-title,.hint-container.caution .hint-container-title{padding-inline-start:1.75rem}@media print{.hint-container.important .hint-container-title,.hint-container.info .hint-container-title,.hint-container.note .hint-container-title,.hint-container.tip .hint-container-title,.hint-container.warning .hint-container-title,.hint-container.caution .hint-container-title{padding-inline-start:0}}.hint-container.important .hint-container-title:before,.hint-container.info .hint-container-title:before,.hint-container.note .hint-container-title:before,.hint-container.tip .hint-container-title:before,.hint-container.warning .hint-container-title:before,.hint-container.caution .hint-container-title:before{content:" ";position:absolute;top:calc(50% - .6125em);inset-inline-start:0;width:1.25em;height:1.25em;background-position:left;background-repeat:no-repeat}@media print{.hint-container.important .hint-container-title:before,.hint-container.info .hint-container-title:before,.hint-container.note .hint-container-title:before,.hint-container.tip .hint-container-title:before,.hint-container.warning .hint-container-title:before,.hint-container.caution .hint-container-title:before{display:none}}.hint-container.important p,.hint-container.info p,.hint-container.note p,.hint-container.tip p,.hint-container.warning p,.hint-container.caution p{line-height:1.5}.hint-container.important a,.hint-container.info a,.hint-container.note a,.hint-container.tip a,.hint-container.warning a,.hint-container.caution a{color:var(--vp-tc)}.hint-container.important{border-color:var(--important-border-color);background:var(--important-bg-color)}.hint-container.important>.hint-container-title{color:var(--important-title-color)}.hint-container.important>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath d='M512 981.333a84.992 84.992 0 0 1-84.907-84.906h169.814A84.992 84.992 0 0 1 512 981.333zm384-128H128v-42.666l85.333-85.334v-256A298.325 298.325 0 0 1 448 177.92V128a64 64 0 0 1 128 0v49.92a298.325 298.325 0 0 1 234.667 291.413v256L896 810.667v42.666zm-426.667-256v85.334h85.334v-85.334h-85.334zm0-256V512h85.334V341.333h-85.334z' fill='%23a371f7'/%3E%3C/svg%3E")}.hint-container.important code{background:var(--important-code-bg-color)}.hint-container.info{border-color:var(--info-border-color);background:var(--info-bg-color)}.hint-container.info>.hint-container-title{color:var(--info-title-color)}.hint-container.info>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-1-11v6h2v-6h-2zm0-4v2h2V7h-2z' fill='%234cb3d4'/%3E%3C/svg%3E")}.hint-container.info code{background:var(--info-code-bg-color)}.hint-container.note{border-color:var(--note-border-color);background:var(--note-bg-color)}.hint-container.note>.hint-container-title{color:var(--note-title-color)}.hint-container.note>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-1-11v6h2v-6h-2zm0-4v2h2V7h-2z' fill='%23ccc'/%3E%3C/svg%3E")}.hint-container.note code{background:var(--note-code-bg-color)}.hint-container.tip{border-color:var(--tip-border-color);background:var(--tip-bg-color)}.hint-container.tip>.hint-container-title{color:var(--tip-title-color)}.hint-container.tip>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23009400' d='M7.941 18c-.297-1.273-1.637-2.314-2.187-3a8 8 0 1 1 12.49.002c-.55.685-1.888 1.726-2.185 2.998H7.94zM16 20v1a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2v-1h8zm-3-9.995V6l-4.5 6.005H11v4l4.5-6H13z'/%3E%3C/svg%3E")}.hint-container.tip code{background:var(--tip-code-bg-color)}.hint-container.warning{border-color:var(--warning-border-color);background:var(--warning-bg-color)}.hint-container.warning>.hint-container-title{color:var(--warning-title-color)}.hint-container.warning>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath d='M576.286 752.57v-95.425q0-7.031-4.771-11.802t-11.3-4.772h-96.43q-6.528 0-11.3 4.772t-4.77 11.802v95.424q0 7.031 4.77 11.803t11.3 4.77h96.43q6.528 0 11.3-4.77t4.77-11.803zm-1.005-187.836 9.04-230.524q0-6.027-5.022-9.543-6.529-5.524-12.053-5.524H456.754q-5.524 0-12.053 5.524-5.022 3.516-5.022 10.547l8.538 229.52q0 5.023 5.022 8.287t12.053 3.265h92.913q7.032 0 11.803-3.265t5.273-8.287zM568.25 95.65l385.714 707.142q17.578 31.641-1.004 63.282-8.538 14.564-23.354 23.102t-31.892 8.538H126.286q-17.076 0-31.892-8.538T71.04 866.074q-18.582-31.641-1.004-63.282L455.75 95.65q8.538-15.57 23.605-24.61T512 62t32.645 9.04 23.605 24.61z' fill='%23e6a700'/%3E%3C/svg%3E")}.hint-container.warning code{background:var(--warning-code-bg-color)}.hint-container.caution{border-color:var(--caution-border-color);background:var(--caution-bg-color)}.hint-container.caution>.hint-container-title{color:var(--caution-title-color)}.hint-container.caution>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2c5.523 0 10 4.477 10 10v3.764a2 2 0 0 1-1.106 1.789L18 19v1a3 3 0 0 1-2.824 2.995L14.95 23a2.5 2.5 0 0 0 .044-.33L15 22.5V22a2 2 0 0 0-1.85-1.995L13 20h-2a2 2 0 0 0-1.995 1.85L9 22v.5c0 .171.017.339.05.5H9a3 3 0 0 1-3-3v-1l-2.894-1.447A2 2 0 0 1 2 15.763V12C2 6.477 6.477 2 12 2zm-4 9a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm8 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4z' fill='%23e13238'/%3E%3C/svg%3E")}.hint-container.caution code{background:var(--caution-code-bg-color)}.hint-container.details{position:relative;display:block;margin:1rem 0;padding:1.5rem;border-radius:.5rem;background:var(--detail-bg-color);color:var(--detail-text-color);transition:background var(--vp-tt),color var(--vp-tt)}@media (max-width: 419px){.hint-container.details{margin-inline:-.75rem}}.hint-container.details h4{margin-top:0}.hint-container.details figure:last-child,.hint-container.details p:last-child{margin-bottom:0;padding-bottom:0}.hint-container.details a{color:var(--vp-tc)}.hint-container.details code{background:var(--detail-code-bg-color)}.hint-container.details summary{position:relative;margin:-1.5rem;padding-block:1.5rem;padding-inline:4rem 1.5rem;list-style:none;cursor:pointer}.hint-container.details summary::-webkit-details-marker{display:none}.hint-container.details summary::marker{color:transparent;font-size:0}.hint-container.details summary:before,.hint-container.details summary:after{content:" ";position:absolute;top:calc(50% - .75rem);inset-inline-start:1.5rem;width:1.5rem;height:1.5rem}.hint-container.details summary:before{border-radius:50%;background:#ccc;transition:background var(--vp-ct),transform var(--vp-tt)}html[data-theme=dark] .hint-container.details summary:before{background:#555}.hint-container.details summary:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");line-height:normal;transition:transform var(--vp-tt);transform:rotate(90deg)}html[data-theme=dark] .hint-container.details summary:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.hint-container.details[open]>summary{margin-bottom:.5em}.hint-container.details[open]>summary:after{transform:rotate(180deg)}/*! PhotoSwipe main CSS by Dmytro Semenov | photoswipe.com */.pswp{--pswp-bg: #000;--pswp-placeholder-bg: #222;--pswp-root-z-index: 100000;--pswp-preloader-color: rgba(79, 79, 79, .4);--pswp-preloader-color-secondary: rgba(255, 255, 255, .9);--pswp-icon-color: #fff;--pswp-icon-color-secondary: #4f4f4f;--pswp-icon-stroke-color: #4f4f4f;--pswp-icon-stroke-width: 2px;--pswp-error-text-color: var(--pswp-icon-color)}.pswp{position:fixed;top:0;left:0;width:100%;height:100%;z-index:var(--pswp-root-z-index);display:none;touch-action:none;outline:0;opacity:.003;contain:layout style size;-webkit-tap-highlight-color:rgba(0,0,0,0)}.pswp:focus{outline:0}.pswp *{box-sizing:border-box}.pswp img{max-width:none}.pswp--open{display:block}.pswp,.pswp__bg{transform:translateZ(0);will-change:opacity}.pswp__bg{opacity:.005;background:var(--pswp-bg)}.pswp,.pswp__scroll-wrap{overflow:hidden}.pswp__scroll-wrap,.pswp__bg,.pswp__container,.pswp__item,.pswp__content,.pswp__img,.pswp__zoom-wrap{position:absolute;top:0;left:0;width:100%;height:100%}.pswp__img,.pswp__zoom-wrap{width:auto;height:auto}.pswp--click-to-zoom.pswp--zoom-allowed .pswp__img{cursor:zoom-in}.pswp--click-to-zoom.pswp--zoomed-in .pswp__img{cursor:move;cursor:grab}.pswp--click-to-zoom.pswp--zoomed-in .pswp__img:active{cursor:grabbing}.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img,.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img:active,.pswp__img{cursor:zoom-out}.pswp__container,.pswp__img,.pswp__button,.pswp__counter{-webkit-user-select:none;-moz-user-select:none;user-select:none}.pswp__item{z-index:1;overflow:hidden}.pswp__hidden{display:none!important}.pswp__content{pointer-events:none}.pswp__content>*{pointer-events:auto}.pswp__error-msg-container{display:grid}.pswp__error-msg{margin:auto;font-size:1em;line-height:1;color:var(--pswp-error-text-color)}.pswp .pswp__hide-on-close{opacity:.005;will-change:opacity;transition:opacity var(--pswp-transition-duration) cubic-bezier(.4,0,.22,1);z-index:10;pointer-events:none}.pswp--ui-visible .pswp__hide-on-close{opacity:1;pointer-events:auto}.pswp__button{position:relative;display:block;width:50px;height:60px;padding:0;margin:0;overflow:hidden;cursor:pointer;background:none;border:0;box-shadow:none;opacity:.85;-webkit-appearance:none;-webkit-touch-callout:none}.pswp__button:hover,.pswp__button:active,.pswp__button:focus{transition:none;padding:0;background:none;border:0;box-shadow:none;opacity:1}.pswp__button:disabled{opacity:.3;cursor:auto}.pswp__icn{fill:var(--pswp-icon-color);color:var(--pswp-icon-color-secondary)}.pswp__icn{position:absolute;top:14px;left:9px;width:32px;height:32px;overflow:hidden;pointer-events:none}.pswp__icn-shadow{stroke:var(--pswp-icon-stroke-color);stroke-width:var(--pswp-icon-stroke-width);fill:none}.pswp__icn:focus{outline:0}div.pswp__img--placeholder,.pswp__img--with-bg{background:var(--pswp-placeholder-bg)}.pswp__top-bar{position:absolute;left:0;top:0;width:100%;height:60px;display:flex;flex-direction:row;justify-content:flex-end;z-index:10;pointer-events:none!important}.pswp__top-bar>*{pointer-events:auto;will-change:opacity}.pswp__button--close{margin-right:6px}.pswp__button--arrow{position:absolute;width:75px;height:100px;top:50%;margin-top:-50px}.pswp__button--arrow:disabled{display:none;cursor:default}.pswp__button--arrow .pswp__icn{top:50%;margin-top:-30px;width:60px;height:60px;background:none;border-radius:0}.pswp--one-slide .pswp__button--arrow{display:none}.pswp--touch .pswp__button--arrow{visibility:hidden}.pswp--has_mouse .pswp__button--arrow{visibility:visible}.pswp__button--arrow--prev{right:auto;left:0}.pswp__button--arrow--next{right:0}.pswp__button--arrow--next .pswp__icn{left:auto;right:14px;transform:scaleX(-1)}.pswp__button--zoom{display:none}.pswp--zoom-allowed .pswp__button--zoom{display:block}.pswp--zoomed-in .pswp__zoom-icn-bar-v{display:none}.pswp__preloader{position:relative;overflow:hidden;width:50px;height:60px;margin-right:auto}.pswp__preloader .pswp__icn{opacity:0;transition:opacity .2s linear;animation:pswp-clockwise .6s linear infinite}.pswp__preloader--active .pswp__icn{opacity:.85}@keyframes pswp-clockwise{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pswp__counter{height:30px;margin-top:15px;margin-inline-start:20px;font-size:14px;line-height:30px;color:var(--pswp-icon-color);text-shadow:1px 1px 3px var(--pswp-icon-color-secondary);opacity:.85}.pswp--one-slide .pswp__counter{display:none}.photo-swipe-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.photo-swipe-bullets-indicator{position:absolute;bottom:30px;left:50%;display:flex;flex-direction:row;align-items:center;transform:translate(-50%)}.photo-swipe-bullet{width:12px;height:6px;margin:0 5px;border-radius:3px;background:var(--photo-swipe-bullet);transition:width .3s,color .3s}.photo-swipe-bullet.active{width:30px;background:var(--photo-swipe-bullet-active)}:root{--photo-swipe-bullet: #fff;--photo-swipe-bullet-active: #3eaf7c}@keyframes message-move-in{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@keyframes message-move-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-100%)}}#message-container{position:fixed;inset:calc(var(--navbar-height, 3.6rem) + 1rem) 0 auto;z-index:75;text-align:center}#message-container .message{display:inline-block;padding:8px 10px;border-radius:3px;background:var(--vp-bg);color:var(--vp-c);box-shadow:0 0 10px 0 var(--box-shadow, #f0f1f2);font-size:14px}#message-container .message.move-in{animation:message-move-in .3s ease-in-out}#message-container .message.move-out{animation:message-move-out .3s ease-in-out;animation-fill-mode:forwards}#message-container .message svg{position:relative;bottom:-.125em;margin-inline-end:5px}.vp-article-wrapper{position:relative;box-sizing:border-box;width:100%;margin:0 auto 1.25rem;text-align:start;overflow-wrap:break-word}@media (max-width: 959px){.vp-article-wrapper{margin:0 auto 1rem}}.vp-article-wrapper:last-child{margin-bottom:0}.vp-article-item{display:block;padding:.75rem 1.25rem;border-radius:.4rem;background:var(--bg-color-float);color:inherit;box-shadow:0 1px 3px 1px var(--card-shadow);transition:background var(--color-transition),box-shadow var(--color-transition)}@media (max-width: 959px){.vp-article-item{padding:.75rem 1rem}}@media (max-width: 419px){.vp-article-item{border-radius:0}}.vp-article-item:hover{box-shadow:0 2px 6px 2px var(--card-shadow)}.vp-article-item .sticky-icon{position:absolute;top:0;inset-inline-end:0;width:1.5rem;height:1.5rem;color:var(--theme-color)}.vp-article-item .page-info>span{display:flex;flex-shrink:0;align-items:center;margin-inline-end:.5em;line-height:1.8}.vp-article-item .page-info>span:after{--balloon-font-size: 8px;padding:.3em .6em!important}.vp-article-hr{margin-block:.375em .375em}.vp-article-title{position:relative;display:inline-block;color:var(--text-color);font-size:1.25rem;font-family:var(--font-family-heading);line-height:1.6;cursor:pointer}.vp-article-title:after{content:"";position:absolute;inset:auto 0 0;height:2px;background:var(--theme-color);visibility:hidden;transition:transform .3s ease-in-out;transform:scaleX(0)}.vp-article-title:hover{cursor:pointer}.vp-article-title:hover:after{visibility:visible;transform:scaleX(1)}.vp-article-title a{color:inherit;font-weight:600}.vp-article-title .lock-icon,.vp-article-title .slides-icon{position:relative;bottom:-.125em;display:inline-block;vertical-align:baseline;width:1em;height:1em;margin-inline-end:.25em;color:var(--theme-color)}.vp-article-title>span{word-break:break-word}.vp-article-cover{width:calc(100% + 2.5rem);margin:-.75rem -1.25rem .75rem;border-top-left-radius:.4rem;border-top-right-radius:.4rem}@media (max-width: 959px){.vp-article-cover{width:calc(100% + 2rem);margin:-.75rem -1rem .75rem}}@media (max-width: 419px){.vp-article-cover{border-radius:0}}.vp-article-excerpt{overflow:hidden;line-height:1.6;cursor:default}@media (max-width: 959px){.vp-article-excerpt{font-size:15px}}@media (max-width: 419px){.vp-article-excerpt{font-size:14px}}.vp-article-excerpt h1{display:none}.vp-article-excerpt h2{font-size:1.4em}.vp-article-excerpt h3{font-size:1.2em}.vp-article-excerpt h1,.vp-article-excerpt h2,.vp-article-excerpt h3,.vp-article-excerpt h4,.vp-article-excerpt h5,.vp-article-excerpt h6{margin-top:.5em;margin-bottom:.5em}.vp-article-excerpt h1+p{margin-top:.5em}.vp-article-excerpt p:first-child{margin-top:.5em}.vp-article-excerpt p:last-child{margin-bottom:.5em}.vp-article-excerpt div[class*=language-]{overflow:auto hidden}.vp-article-excerpt div[class*=language-] pre{margin:.85rem 0;line-height:1.375}.vp-article-excerpt div[class*=language-] pre code{padding:0;background:transparent}.vp-article-excerpt div[class*=language-].line-numbers-mode .line-numbers{padding:.85rem 0}.vp-article-excerpt .code-demo-wrapper,.vp-article-excerpt .external-link-icon,.vp-article-excerpt .footnote-anchor{display:none}.vp-article-excerpt section.footnotes{display:none}.vp-article-excerpt img{max-width:100%}.vp-article-excerpt figure{display:flex;flex-direction:column;width:auto;margin:1rem auto;text-align:center;transition:transform var(--transform-transition)}.vp-article-excerpt figure img{overflow:hidden;margin:0 auto;border-radius:8px}.vp-article-excerpt figure figcaption{display:inline-block;margin:6px auto;font-size:.8rem}.vp-article-excerpt figure figcaption:only-child{display:none}.vp-article-list{margin-top:calc(-.5rem - var(--navbar-height));padding-top:calc(var(--navbar-height) + .5rem);text-align:center}.vp-article-list:first-child{margin-top:calc(0rem - var(--navbar-height))}.vp-article-list .empty{max-width:560px;margin:0 auto;text-align:center}.vp-article-type-wrapper{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;padding-inline-start:0;list-style:none;font-weight:600;font-size:18px}@media (max-width: 419px){.vp-article-type-wrapper{font-size:16px}}.vp-article-type{position:relative;vertical-align:middle;margin:.3em .8em;line-height:1.2;cursor:pointer}.vp-article-type:after{content:" ";position:absolute;inset:auto 50% -6px;height:2px;border-radius:1px;background:var(--theme-color);visibility:hidden;transition:inset .2s ease-in-out}.vp-article-type a{display:inline-block;color:inherit;transition:all .3s ease-in-out}.vp-article-type.active{position:relative}.vp-article-type.active a{color:var(--theme-color);transform:scale(1.1)}.vp-article-type:hover:after,.vp-article-type.active:after{inset:auto calc(50% - 8px) -6px;visibility:visible}.vp-blog-hero{position:relative;display:flex;flex-direction:column;justify-content:center;height:450px;margin-bottom:1rem;color:#eee;font-family:var(--font-family-heading)}@media (max-width: 719px){.vp-blog-hero{height:350px}}@media (max-width: 419px){.vp-blog-hero{margin:0 0 1rem}}.vp-blog-hero.no-bg{color:var(--text-color)}.vp-blog-hero>:not(.vp-blog-mask){position:relative;z-index:2}.vp-blog-hero .slide-down-button{border-width:0;background:transparent;cursor:pointer;position:absolute;bottom:0;left:calc(50vw - 30px);display:none;width:60px;height:60px;padding:10px}.vp-blog-hero .slide-down-button .icon{width:30px;margin:-15px 0;animation-name:bounce-down;animation-duration:1.5s;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:alternate}.vp-blog-hero .slide-down-button .icon:first-child{color:#ffffff26}.vp-blog-hero .slide-down-button .icon:last-child{color:#ffffff80}.vp-blog-hero.fullscreen{height:calc(100vh - var(--navbar-height))!important}.vp-blog-hero.fullscreen .vp-blog-mask{background-position-y:top!important}.vp-blog-hero.fullscreen .slide-down-button{display:block}.vp-blog-mask{position:absolute;top:0;right:0;bottom:0;left:0}.vp-blog-mask:after{content:" ";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:block;background:var(--light-grey);opacity:.2}.vp-blog-mask.light{display:block}html[data-theme=dark] .vp-blog-mask.light,.vp-blog-mask.dark{display:none}html[data-theme=dark] .vp-blog-mask.dark{display:block}.vp-blog-hero-title{margin:.5rem auto;font-weight:700;font-size:2rem}@media (min-width: 1440px){.vp-blog-hero-title{font-size:2.25rem}}@media (max-width: 719px){.vp-blog-hero-title{font-size:1.75rem}}.vp-blog-hero-image{display:block;max-width:100%;max-height:15rem;margin:1.5rem auto}@media (max-width: 719px){.vp-blog-hero-image{max-height:12rem}}.vp-blog-hero-image.light{display:block}html[data-theme=dark] .vp-blog-hero-image.light,.vp-blog-hero-image.dark{display:none}html[data-theme=dark] .vp-blog-hero-image.dark{display:block}.vp-blog-hero-image+.vp-blog-hero-title{margin:0 auto}.vp-blog-hero-description{margin:1.2rem auto 0;font-size:1.5rem}@media (max-width: 719px){.vp-blog-hero-description{font-size:1.25rem}}@keyframes bounce-down{0%{transform:translateY(-5px)}to{transform:translateY(5px)}}.vp-blogger-info{padding:.5rem;font-family:var(--font-family-heading);overflow-wrap:break-word}.vp-page .vp-blogger-info{background:var(--bg-color-float);transition:background var(--color-transition)}.vp-sidebar .vp-blogger-info.mobile{display:none}@media (max-width: 719px){.vp-sidebar .vp-blogger-info.mobile{display:block}}.vp-sidebar .vp-blogger-info.mobile+hr{display:none}@media (max-width: 719px){.vp-sidebar .vp-blogger-info.mobile+hr{display:block;margin-top:1rem}}.vp-blogger{padding:.5rem;text-align:center}.vp-blogger-avatar{width:8rem;height:8rem;margin:0 auto}.vp-blogger-avatar.round{border-radius:50%}.vp-blogger-name{margin:1rem auto;font-size:22px}.vp-blogger-description{margin:1rem auto;font-size:14px}.vp-blog-counts{display:flex;width:80%;margin:0 auto 1rem}.vp-blog-count{display:block;width:25%;color:inherit;font-size:13px;text-align:center;cursor:pointer;transition:color var(--color-transition)}.vp-blog-count:hover{color:var(--theme-color)}.vp-blog-count .count{position:relative;margin-bottom:.5rem;font-weight:600;font-size:20px}.vp-category-list{position:relative;z-index:2;padding-inline-start:0;list-style:none;font-size:14px}.vp-category{display:inline-block;vertical-align:middle;overflow:hidden;margin:.3rem .6rem .8rem;padding:.4rem .8rem;border-radius:.25rem;color:var(--dark-grey);box-shadow:0 1px 4px 0 var(--card-shadow);word-break:break-word;cursor:pointer;transition:background var(--color-transition),color var(--color-transition)}@media (max-width: 419px){.vp-category{font-size:.9rem}}.vp-category a{color:inherit}.vp-category .count{display:inline-block;min-width:1rem;height:1.2rem;margin-inline-start:.2em;padding:0 .1rem;border-radius:.6rem;color:var(--white);font-size:.7rem;line-height:1.2rem;text-align:center}.vp-category0{background:#fde5e7;color:#ba111f}html[data-theme=dark] .vp-category0{background:#340509;color:#ec2f3e}.vp-category0:hover{background:#f9bec3}html[data-theme=dark] .vp-category0:hover{background:#53080e}.vp-category0.active{background:#cf1322;color:#fff}html[data-theme=dark] .vp-category0.active{background:#a60f1b;color:var(--bg-color)}.vp-category0.active .count{background:var(--bg-color);color:#cf1322}.vp-category0 .count{background:#cf1322}.vp-category1{background:#ffeee8;color:#f54205}html[data-theme=dark] .vp-category1{background:#441201;color:#fb7649}.vp-category1:hover{background:#fed4c6}html[data-theme=dark] .vp-category1:hover{background:#6d1d02}.vp-category1.active{background:#fa541c;color:#fff}html[data-theme=dark] .vp-category1.active{background:#da3a05;color:var(--bg-color)}.vp-category1.active .count{background:var(--bg-color);color:#fa541c}.vp-category1 .count{background:#fa541c}.vp-category2{background:#fef5e7;color:#e08e0b}html[data-theme=dark] .vp-category2{background:#3e2703;color:#f5b041}.vp-category2:hover{background:#fce6c4}html[data-theme=dark] .vp-category2:hover{background:#633f05}.vp-category2.active{background:#f39c12;color:#fff}html[data-theme=dark] .vp-category2.active{background:#c77e0a;color:var(--bg-color)}.vp-category2.active .count{background:var(--bg-color);color:#f39c12}.vp-category2 .count{background:#f39c12}.vp-category3{background:#eafaf1;color:#29b866}html[data-theme=dark] .vp-category3{background:#0c331c;color:#55d98d}.vp-category3:hover{background:#caf3db}html[data-theme=dark] .vp-category3:hover{background:#12522d}.vp-category3.active{background:#2ecc71;color:#fff}html[data-theme=dark] .vp-category3.active{background:#25a35a;color:var(--bg-color)}.vp-category3.active .count{background:var(--bg-color);color:#2ecc71}.vp-category3 .count{background:#2ecc71}.vp-category4{background:#e6f9ee;color:#219552}html[data-theme=dark] .vp-category4{background:#092917;color:#36d278}.vp-category4:hover{background:#c0f1d5}html[data-theme=dark] .vp-category4:hover{background:#0f4224}.vp-category4.active{background:#25a55b;color:#fff}html[data-theme=dark] .vp-category4.active{background:#1e8449;color:var(--bg-color)}.vp-category4.active .count{background:var(--bg-color);color:#25a55b}.vp-category4 .count{background:#25a55b}.vp-category5{background:#e1fcfc;color:#0e9595}html[data-theme=dark] .vp-category5{background:#042929;color:#16e1e1}.vp-category5:hover{background:#b4f8f8}html[data-theme=dark] .vp-category5:hover{background:#064242}.vp-category5.active{background:#10a5a5;color:#fff}html[data-theme=dark] .vp-category5.active{background:#0d8484;color:var(--bg-color)}.vp-category5.active .count{background:var(--bg-color);color:#10a5a5}.vp-category5 .count{background:#10a5a5}.vp-category6{background:#e4f0fe;color:#0862c3}html[data-theme=dark] .vp-category6{background:#021b36;color:#2589f6}.vp-category6:hover{background:#bbdafc}html[data-theme=dark] .vp-category6:hover{background:#042c57}.vp-category6.active{background:#096dd9;color:#fff}html[data-theme=dark] .vp-category6.active{background:#0757ae;color:var(--bg-color)}.vp-category6.active .count{background:var(--bg-color);color:#096dd9}.vp-category6 .count{background:#096dd9}.vp-category7{background:#f7f1fd;color:#9851e4}html[data-theme=dark] .vp-category7{background:#2a0b4b;color:#bb8ced}.vp-category7:hover{background:#eadbfa}html[data-theme=dark] .vp-category7:hover{background:#431277}.vp-category7.active{background:#aa6fe9;color:#fff}html[data-theme=dark] .vp-category7.active{background:#8733e0;color:var(--bg-color)}.vp-category7.active .count{background:var(--bg-color);color:#aa6fe9}.vp-category7 .count{background:#aa6fe9}.vp-category8{background:#fdeaf5;color:#e81689}html[data-theme=dark] .vp-category8{background:#400626;color:#ef59ab}.vp-category8:hover{background:#facbe5}html[data-theme=dark] .vp-category8:hover{background:#670a3d}.vp-category8.active{background:#eb2f96;color:#fff}html[data-theme=dark] .vp-category8.active{background:#ce147a;color:var(--bg-color)}.vp-category8.active .count{background:var(--bg-color);color:#eb2f96}.vp-category8 .count{background:#eb2f96}html[data-theme=dark] .empty-icon g.people{opacity:.8}html[data-theme=dark] .empty-icon g:not(.people){filter:invert(80%)}.vp-page.vp-blog .vp-blog-home{flex:1;width:0;max-width:780px}.vp-page.vp-blog .theme-hope-content:empty{padding:0}.vp-blog-infos{margin:8px auto;padding:8px 16px}.vp-page .vp-blog-infos{border-radius:6px;background:var(--bg-color-float);box-shadow:0 1px 3px 1px var(--card-shadow);transition:background var(--color-transition),box-shadow var(--color-transition)}.vp-page .vp-blog-infos:hover{box-shadow:0 2px 6px 2px var(--card-shadow)}.vp-blog-infos .timeline-list-wrapper .content{max-height:60vh}.vp-blog-type-switcher{display:flex;justify-content:center;margin-bottom:8px}.vp-blog-type-button{border-width:0;background:transparent;cursor:pointer;width:44px;height:44px;margin:0 8px;padding:4px;color:var(--grey3);transition:color var(--color-transition)}.vp-blog-type-button:focus{outline:none}.vp-blog-type-button .icon-wrapper{width:20px;height:20px;padding:8px;border-radius:50%;background:#7f7f7f26;transition:background var(--color-transition)}html[data-theme=dark] .vp-blog-type-button .icon-wrapper{background:#ffffff26}.vp-blog-type-button .icon-wrapper:hover{cursor:pointer}.vp-blog-type-button .icon-wrapper.active{background:var(--theme-color-light)}html[data-theme=dark] .vp-blog-type-button .icon-wrapper.active{background:var(--theme-color-dark)}.vp-blog-type-button .icon{width:100%;height:100%}.vp-sidebar.hide-icon .vp-blog-type-button .icon{display:block!important}.vp-star-article-wrapper,.vp-category-wrapper,.vp-tag-wrapper{padding:8px 0}.vp-star-article-wrapper .title,.vp-category-wrapper .title,.vp-tag-wrapper .title{cursor:pointer}.vp-star-article-wrapper .title .icon,.vp-category-wrapper .title .icon,.vp-tag-wrapper .title .icon{position:relative;bottom:-.125rem;width:16px;height:16px;margin:0 6px}.vp-star-article-wrapper .title .num,.vp-category-wrapper .title .num,.vp-tag-wrapper .title .num{position:relative;margin:0 2px;font-size:22px;font-family:var(--font-family-heading)}.vp-star-articles{overflow-y:auto;max-height:80vh;margin:8px auto;line-height:1.5}.vp-star-article{padding:12px 8px 4px;border-bottom:1px dashed var(--grey);transition:border-color var(--color-transition),color var(--color-transition)}.vp-star-article a{color:inherit}.vp-star-article:hover{cursor:pointer}.vp-star-article:hover a{color:var(--theme-color)}.vp-category-wrapper .category-list-wrapper,.vp-tag-wrapper .tag-list-wrapper{overflow-y:auto;max-height:80vh;margin:8px auto}.vp-sidebar .vp-blog-info-wrapper .vp-blogger-info{display:none}.vp-page .vp-blog-info-wrapper{position:sticky;top:calc(var(--navbar-height) + .75rem);flex:0 0 300px;box-sizing:border-box;width:300px;height:auto;margin-top:.75rem;margin-bottom:.75rem;margin-inline-start:1rem;transition:all .3s}@media (max-width: 719px){.vp-page .vp-blog-info-wrapper{display:none}}.vp-page .vp-blog-info-wrapper .vp-blogger-info{margin-bottom:16px;padding:8px 0;border-radius:8px;box-shadow:0 1px 3px 1px var(--card-shadow)}.vp-page .vp-blog-info-wrapper .vp-blogger-info:hover{box-shadow:0 2px 6px 2px var(--card-shadow)}.theme-container .vp-page.vp-blog{display:flex;flex-direction:column;justify-content:space-between;box-sizing:border-box;padding-top:var(--navbar-height);padding-bottom:2rem;background:var(--bg-color-back);transition:background var(--color-transition)}@media (min-width: 1440px){.theme-container.has-toc .vp-page.vp-blog{padding-inline-end:0}}.blog-page-wrapper{display:flex;align-items:flex-start;justify-content:center;box-sizing:border-box;width:100%;margin:0 auto;padding:0 2rem}@media (max-width: 959px){.blog-page-wrapper{padding:0 1rem}}@media (max-width: 419px){.blog-page-wrapper{padding:0}}.vp-blog-main{flex:1;width:0;max-width:780px}.vp-pagination{margin:1.25rem 0 .75rem;font-weight:600;font-size:15px;line-height:2}.vp-pagination-list{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-evenly;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vp-pagination-number{display:flex;align-items:stretch;overflow:hidden;height:30px;margin:0 .5rem;border:1px solid var(--border-color);border-radius:.25rem}.vp-pagination-number div{position:relative;padding:0 .5rem;background:var(--bg-color);color:var(--theme-color);cursor:pointer}.vp-pagination-number div:before{content:" ";position:absolute;top:0;bottom:0;inset-inline-start:0;width:1px;background:var(--border-color)}.vp-pagination-number div:first-child:before{background:transparent}.vp-pagination-number div:hover{color:var(--theme-color-light)}.vp-pagination-number div.active{background:var(--theme-color);color:var(--white)}.vp-pagination-number div.active:before{background:var(--theme-color)}.vp-pagination-number div.active+div:before{background:var(--theme-color)}.vp-pagination-number div.prev,.vp-pagination-number div.next{font-size:13px;line-height:30px}.vp-pagination-number div.active,.vp-pagination-number div.ellipsis{cursor:default}.vp-pagination-nav{display:flex;align-items:center;justify-content:center;margin:.5rem}.vp-pagination-nav input{width:3.5rem;margin:6px 5px;border:1px solid var(--border-color);border-radius:.25em;background:var(--bg-color);color:var(--text-color);outline:none;line-height:2;text-align:center}.vp-pagination-button{overflow:hidden;padding:0 .75em;border:1px solid var(--border-color);border-radius:.25em;background:var(--bg-color);color:var(--theme-color);outline:none;font-weight:600;font-size:15px;line-height:2;cursor:pointer}.vp-pagination-button:hover{color:var(--theme-color-light)}.vp-project-panel{position:relative;z-index:2;display:flex;flex-wrap:wrap;align-items:stretch;place-content:stretch flex-start;margin-bottom:12px}.vp-project-panel:empty{margin-bottom:0}.vp-project-card{position:relative;width:calc(33% - 40px);margin:6px 8px;padding:12px;border-radius:8px;background:var(--bg-color-float);transition:background var(--color-transition),transform var(--transform-transition)}@media (max-width: 959px){.vp-project-card{width:calc(50% - 40px)}}@media (min-width: 1440px){.vp-project-card{width:calc(25% - 40px)}}.vp-project-card:hover{cursor:pointer;transform:scale(.98)}.vp-project-card .icon{position:relative;z-index:2;float:right;width:20px;height:20px}html[dir=rtl] .vp-project-card .icon{float:left}.vp-project-card.project0{background:#fde5e7}.vp-project-card.project0:hover{background:#f9bec3}html[data-theme=dark] .vp-project-card.project0{background:#340509}html[data-theme=dark] .vp-project-card.project0:hover{background:#53080e}.vp-project-card.project1{background:#ffeee8}.vp-project-card.project1:hover{background:#fed4c6}html[data-theme=dark] .vp-project-card.project1{background:#441201}html[data-theme=dark] .vp-project-card.project1:hover{background:#6d1d02}.vp-project-card.project2{background:#fef5e7}.vp-project-card.project2:hover{background:#fce6c4}html[data-theme=dark] .vp-project-card.project2{background:#3e2703}html[data-theme=dark] .vp-project-card.project2:hover{background:#633f05}.vp-project-card.project3{background:#eafaf1}.vp-project-card.project3:hover{background:#caf3db}html[data-theme=dark] .vp-project-card.project3{background:#0c331c}html[data-theme=dark] .vp-project-card.project3:hover{background:#12522d}.vp-project-card.project4{background:#e6f9ee}.vp-project-card.project4:hover{background:#c0f1d5}html[data-theme=dark] .vp-project-card.project4{background:#092917}html[data-theme=dark] .vp-project-card.project4:hover{background:#0f4224}.vp-project-card.project5{background:#e1fcfc}.vp-project-card.project5:hover{background:#b4f8f8}html[data-theme=dark] .vp-project-card.project5{background:#042929}html[data-theme=dark] .vp-project-card.project5:hover{background:#064242}.vp-project-card.project6{background:#e4f0fe}.vp-project-card.project6:hover{background:#bbdafc}html[data-theme=dark] .vp-project-card.project6{background:#021b36}html[data-theme=dark] .vp-project-card.project6:hover{background:#042c57}.vp-project-card.project7{background:#f7f1fd}.vp-project-card.project7:hover{background:#eadbfa}html[data-theme=dark] .vp-project-card.project7{background:#2a0b4b}html[data-theme=dark] .vp-project-card.project7:hover{background:#431277}.vp-project-card.project8{background:#fdeaf5}.vp-project-card.project8:hover{background:#facbe5}html[data-theme=dark] .vp-project-card.project8{background:#400626}html[data-theme=dark] .vp-project-card.project8:hover{background:#670a3d}.vp-project-name{position:relative;z-index:2;color:var(--grey3);font-weight:500;font-size:16px;transition:color var(--color-transition)}.vp-project-desc{position:relative;z-index:2;margin:6px 0;color:var(--dark-grey);font-size:13px}.vp-project-image{position:relative;z-index:2;float:right;width:40px;height:40px}html[dir=rtl] .vp-project-image{float:left}.vp-social-medias{display:flex;flex-wrap:wrap;justify-content:center;margin:8px auto}.vp-social-media{width:26px;height:26px;margin:4px;transition:transform .18s ease-out .18s;transform:scale(1)}.vp-social-media:hover{cursor:pointer;transform:scale(1.2)}.vp-social-media:after{--balloon-font-size: 8px;padding:.3em .6em}.vp-social-media .icon{width:100%;height:100%}.tag-list-wrapper{position:relative;z-index:2;display:flex;flex-wrap:wrap;justify-content:flex-start;padding-inline-start:0;list-style:none}.tag-list-wrapper a{color:inherit}.tag-list-wrapper .tag{position:relative;display:inline-block;vertical-align:middle;overflow:hidden;min-width:24px;margin:4px 6px;padding:3px 8px;border-radius:8px;color:var(--white);box-shadow:0 1px 6px 0 var(--box-shadow);font-size:12px;text-align:center;word-break:break-word;cursor:pointer;transition:background var(--color-transition),box-shadow var(--color-transition),transform var(--color-transition)}.tag-list-wrapper .tag:hover{cursor:pointer}.tag-list-wrapper .tag.active{transform:scale(1.1)}.tag-list-wrapper .tag-num{margin-inline-start:.5em}.tag-list-wrapper .tag0{background:#e91526}.tag-list-wrapper .tag0:hover,.tag-list-wrapper .tag0.active,html[data-theme=dark] .tag-list-wrapper .tag0{background:#c51220}html[data-theme=dark] .tag-list-wrapper .tag0:hover,html[data-theme=dark] .tag-list-wrapper .tag0.active{background:#e91526}.tag-list-wrapper .tag1{background:#fb6533}.tag-list-wrapper .tag1:hover,.tag-list-wrapper .tag1.active,html[data-theme=dark] .tag-list-wrapper .tag1{background:#fa4a0e}html[data-theme=dark] .tag-list-wrapper .tag1:hover,html[data-theme=dark] .tag-list-wrapper .tag1.active{background:#fb6533}.tag-list-wrapper .tag2{background:#f4a62a}.tag-list-wrapper .tag2:hover,.tag-list-wrapper .tag2.active,html[data-theme=dark] .tag-list-wrapper .tag2{background:#ec950c}html[data-theme=dark] .tag-list-wrapper .tag2:hover,html[data-theme=dark] .tag-list-wrapper .tag2.active{background:#f4a62a}.tag-list-wrapper .tag3{background:#40d47f}.tag-list-wrapper .tag3:hover,.tag-list-wrapper .tag3.active,html[data-theme=dark] .tag-list-wrapper .tag3{background:#2cc26b}html[data-theme=dark] .tag-list-wrapper .tag3:hover,html[data-theme=dark] .tag-list-wrapper .tag3.active{background:#40d47f}.tag-list-wrapper .tag4{background:#2bbe69}.tag-list-wrapper .tag4:hover,.tag-list-wrapper .tag4.active,html[data-theme=dark] .tag-list-wrapper .tag4{background:#239d56}html[data-theme=dark] .tag-list-wrapper .tag4:hover,html[data-theme=dark] .tag-list-wrapper .tag4.active{background:#2bbe69}.tag-list-wrapper .tag5{background:#13c3c3}.tag-list-wrapper .tag5:hover,.tag-list-wrapper .tag5.active,html[data-theme=dark] .tag-list-wrapper .tag5{background:#0f9d9d}html[data-theme=dark] .tag-list-wrapper .tag5:hover,html[data-theme=dark] .tag-list-wrapper .tag5.active{background:#13c3c3}.tag-list-wrapper .tag6{background:#0a7bf4}.tag-list-wrapper .tag6:hover,.tag-list-wrapper .tag6.active,html[data-theme=dark] .tag-list-wrapper .tag6{background:#0968ce}html[data-theme=dark] .tag-list-wrapper .tag6:hover,html[data-theme=dark] .tag-list-wrapper .tag6.active{background:#0a7bf4}.tag-list-wrapper .tag7{background:#b37deb}.tag-list-wrapper .tag7:hover,.tag-list-wrapper .tag7.active,html[data-theme=dark] .tag-list-wrapper .tag7{background:#a160e7}html[data-theme=dark] .tag-list-wrapper .tag7:hover,html[data-theme=dark] .tag-list-wrapper .tag7.active{background:#b37deb}.tag-list-wrapper .tag8{background:#ed44a1}.tag-list-wrapper .tag8:hover,.tag-list-wrapper .tag8.active,html[data-theme=dark] .tag-list-wrapper .tag8{background:#ea2290}html[data-theme=dark] .tag-list-wrapper .tag8:hover,html[data-theme=dark] .tag-list-wrapper .tag8.active{background:#ed44a1}.timeline-wrapper{--dot-color: #fff;--dot-bar-color: #eaecef;--dot-border-color: #ddd;max-width:740px;margin:0 auto;padding:40px 0}@media (max-width: 719px){.timeline-wrapper{margin:0 1.2rem}}html[data-theme=dark] .timeline-wrapper{--dot-color: #444;--dot-bar-color: #333;--dot-border-color: #555}.timeline-wrapper #toc{inset-inline:unset 0;min-width:0}.timeline-wrapper .toc-wrapper{position:relative;z-index:10}.timeline-wrapper .timeline-content{position:relative;box-sizing:border-box;padding-inline-start:76px;list-style:none}.timeline-wrapper .timeline-content:after{content:" ";position:absolute;top:14px;inset-inline-start:64px;z-index:-1;width:4px;height:calc(100% - 38px);margin-inline-end:-2px;background:var(--dot-bar-color);transition:background var(--color-transition)}.timeline-wrapper .motto{position:relative;color:var(--text-color);font-size:18px;transition:color var(--color-transition)}@media (min-width: 1280px){.timeline-wrapper .motto{font-size:20px}}.timeline-wrapper .motto:before{content:" ";position:absolute;top:50%;z-index:2;margin-top:-6px;margin-inline-start:-6px;border:2px solid var(--dot-border-color);border-radius:50%;background:var(--dot-color);transition:background var(--color-transition),border-color var(--color-transition);inset-inline-start:-10px;width:8px;height:8px}.timeline-wrapper .timeline-year-title{margin-top:calc(3rem - var(--navbar-height));margin-bottom:.5rem;padding-top:var(--navbar-height);color:var(--text-color);font-weight:700;font-size:26px;font-family:var(--font-family-heading);transition:color var(--color-transition)}.timeline-wrapper .timeline-year-title span{position:relative}.timeline-wrapper .timeline-year-title span:before{content:" ";position:absolute;top:50%;z-index:2;margin-top:-6px;margin-inline-start:-6px;border:2px solid var(--dot-border-color);border-radius:50%;background:var(--dot-color);transition:background var(--color-transition),border-color var(--color-transition);inset-inline-start:-10px;width:8px;height:8px}.timeline-wrapper .timeline-year-wrapper{padding-inline-start:0!important}.timeline-wrapper .timeline-date{position:absolute;inset-inline-end:calc(100% + 24px);width:50px;font-size:14px;line-height:30px;text-align:end}.timeline-wrapper .timeline-date:before{content:" ";position:absolute;top:50%;z-index:2;margin-top:-6px;margin-inline-start:-6px;border:2px solid var(--dot-border-color);border-radius:50%;background:var(--dot-color);transition:background var(--color-transition),border-color var(--color-transition);inset-inline-end:-19px;width:6px;height:6px}.timeline-wrapper .timeline-title{position:relative;display:block;color:inherit;font-size:16px;line-height:30px;transition:color var(--color-transition),font-size var(--transform-transition)}.timeline-wrapper .timeline-item{position:relative;z-index:3;display:flex;padding:30px 0 10px;border-bottom:1px dashed var(--border-color);list-style:none;transition:border-color var(--color-transition)}.timeline-wrapper .timeline-item:hover{cursor:pointer}.timeline-wrapper .timeline-item:hover .timeline-date{font-size:16px;transition:border-color var(--color-transition),color var(--color-transition),font-size var(--transform-transition)}.timeline-wrapper .timeline-item:hover .timeline-date:before{border-color:var(--theme-color);background:var(--bg-color-secondary)}.timeline-wrapper .timeline-item:hover .timeline-title{color:var(--theme-color);font-size:18px}.timeline-list-wrapper{--dot-color: #fff;--dot-bar-color: #eaecef;--dot-border-color: #ddd;padding:8px 0}html[data-theme=dark] .timeline-list-wrapper{--dot-color: #444;--dot-bar-color: #333;--dot-border-color: #555}.timeline-list-wrapper .timeline-list-title{cursor:pointer}.timeline-list-wrapper .timeline-list-title .icon{position:relative;bottom:-.125rem;width:16px;height:16px;margin:0 6px}.timeline-list-wrapper .timeline-list-title .num{position:relative;margin:0 2px;font-size:22px}.timeline-list-wrapper .timeline-content{overflow-y:auto;max-height:80vh}.timeline-list-wrapper .timeline-content::-webkit-scrollbar-track-piece{background:transparent}.timeline-list-wrapper .timeline-list{position:relative;box-sizing:border-box;margin:0 8px;list-style:none}.timeline-list-wrapper .timeline-list:after{content:" ";position:absolute;top:14px;inset-inline-start:0;z-index:-1;width:4px;height:calc(100% - 14px);margin-inline-start:-2px;background:var(--dot-bar-color);transition:background var(--color-transition)}.timeline-list-wrapper .timeline-year{position:relative;margin:20px 0 0;color:var(--text-color);font-weight:700;font-size:20px}.timeline-list-wrapper .timeline-year:before{content:" ";position:absolute;z-index:2;border:1px solid var(--dot-border-color);border-radius:50%;background:var(--dot-color);transition:background var(--color-transition),border-color var(--color-transition);top:50%;inset-inline-start:-20px;width:8px;height:8px;margin-top:-4px;margin-inline-start:-4px}.timeline-list-wrapper .timeline-year-wrapper{padding-inline-start:0!important}.timeline-list-wrapper .timeline-date{display:inline-block;vertical-align:bottom;width:36px;font-size:12px;line-height:32px;transition:color var(--color-transition)}.timeline-list-wrapper .timeline-date:before{content:" ";position:absolute;z-index:2;border:1px solid var(--dot-border-color);border-radius:50%;background:var(--dot-color);transition:background var(--color-transition),border-color var(--color-transition);top:24px;inset-inline-start:-19px;width:6px;height:6px;margin-inline-start:-4px}.timeline-list-wrapper .timeline-title{color:inherit;font-size:14px;line-height:32px;cursor:pointer;transition:color var(--color-transition)}.timeline-list-wrapper .timeline-item{position:relative;display:flex;padding:12px 0 4px;border-bottom:1px dashed var(--border-color);list-style:none;transition:border-color var(--color-transition)}.timeline-list-wrapper .timeline-item:hover .timeline-date{color:var(--theme-color)}.timeline-list-wrapper .timeline-item:hover .timeline-date:before{border-color:var(--dot-color);background:var(--theme-color)}.timeline-list-wrapper .timeline-item:hover .timeline-title{color:var(--theme-color)}:root{--navbar-bg-color: var(--bg-color-float-blur);--sidebar-bg-color: var(--bg-color-blur)}html[data-theme=dark]{--navbar-bg-color: var(--bg-color-blur);--sidebar-bg-color: var(--bg-color-blur)}#app{--code-hl-bg-color: var(--code-highlight-line-color);--code-ln-color: var(--code-line-color);--code-ln-wrapper-width: var(--line-numbers-width);--code-tabs-nav-text-color: var(--code-color);--code-tabs-nav-bg-color: var(--code-border-color);--code-tabs-nav-hover-color: var(--code-highlight-line-color);--sidebar-space: var(--sidebar-width)}@media (max-width: 959px){#app{--navbar-height: var(--navbar-mobile-height);--navbar-vertical-padding: var(--navbar-mobile-vertical-padding);--navbar-horizontal-padding: var(--navbar-mobile-horizontal-padding);--sidebar-width: var(--sidebar-mobile-width)}}@media (min-width: 1440px){#app{--sidebar-space: clamp( var(--sidebar-width), max(0px, calc((100vw - var(--content-width)) / 2 - 2rem)) , 100vw )}}.vp-copy-code-button{--copy-code-color: var(--code-ln-color);--copy-code-hover: var(--code-hl-bg-color)}.DocSearch-Button,.DocSearch{--docsearch-primary-color: var(--vp-tc);--docsearch-text-color: var(--vp-c);--docsearch-highlight-color: var(--vp-tc);--docsearch-muted-color: var(--light-grey);--docsearch-container-background: rgb(9 10 17 / 80%);--docsearch-modal-background: var(--bg-color-float);--docsearch-searchbox-background: var(--bg-color-secondary);--docsearch-searchbox-focus-background: var(--vp-bg);--docsearch-searchbox-shadow: inset 0 0 0 2px var(--vp-tc);--docsearch-hit-color: var(--vp-cl);--docsearch-hit-active-color: var(--vp-bg);--docsearch-hit-background: var(--vp-bg);--docsearch-hit-shadow: 0 1px 3px 0 var(--border-color);--docsearch-footer-background: var(--vp-bg)}html[data-theme=dark] .DocSearch-Button,html[data-theme=dark] .DocSearch{--docsearch-logo-color: var(--vp-c);--docsearch-modal-shadow: inset 1px 1px 0 0 #2c2e40, 0 3px 8px 0 #000309;--docsearch-key-shadow: inset 0 -2px 0 0 #282d55, inset 0 0 1px 1px #51577d, 0 2px 2px 0 rgb(3 4 9 / 30%);--docsearch-key-gradient: linear-gradient(-225deg, #444950, #1c1e21);--docsearch-footer-shadow: inset 0 1px 0 0 rgb(73 76 106 / 50%), 0 -4px 8px 0 rgb(0 0 0 / 20%)}.vp-back-to-top-button{--back-to-top-color: var(--vp-tc);--back-to-top-color-hover: var(--vp-tcl);--back-to-top-bg-color: var(--vp-bg)}.vp-catalog-wrapper{--catalog-bg-color: var(--vp-bg);--catalog-bg-secondary-color: var(--vp-bgl);--catalog-border-color: var(--vp-brc);--catalog-active-color: var(--vp-tc);--catalog-hover-color: var(--vp-tcl)}.external-link-icon{--external-link-icon-color: var(--light-grey)}#nprogress{--nprogress-color: var(--vp-tc)}body{--photo-swipe-bullet: var(--white);--photo-swipe-bullet-active: var(--vp-tc);--pwa-text-color: var(--vp-c);--pwa-bg-color: var(--vp-bg);--pwa-border-color: var(--vp-brc);--pwa-btn-text-color: var(--vp-bg);--pwa-btn-bg-color: var(--vp-tc);--pwa-btn-hover-bg-color: var(--vp-tcl);--pwa-shadow-color: var(--card-shadow);--pwa-content-color: var(--grey3);--pwa-content-light-color: var(--dark-grey)}.language-modal-mask{--redirect-bg-color: var(--vp-bg);--redirect-bg-color-light: var(--vp-bgl);--redirect-bg-color-lighter: var(--vp-bglt);--redirect-text-color: var(--vp-c);--redirect-primary-color: var(--vp-tc);--redirect-primary-hover-color: var(--vp-tcl);--redirect-primary-text-color: var(--white)}.search-box{--search-bg-color: var(--vp-bg);--search-accent-color: var(--vp-tc);--search-text-color: var(--vp-c);--search-border-color: var(--border-color);--search-item-text-color: var(--vp-clt);--search-item-focus-bg-color: var(--bg-color-secondary)}html,body{margin:0;padding:0;background:#fff}html{font-size:16px;font-display:optional;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent}@media print{html{font-size:12pt}}body{min-height:100vh;color:#2c3e50}a{color:#3eaf7c;font-weight:500;text-decoration:none;overflow-wrap:break-word}kbd{display:inline-block;min-width:1em;margin-inline:.125rem;padding:.25em;border:1px solid #eee;border-radius:.25em;box-shadow:1px 1px 4px #00000026;line-height:1;letter-spacing:-.1em;text-align:center}code{margin:0;padding:.2rem .4rem;border-radius:5px;background:#7f7f7f1f;font-size:.85em;overflow-wrap:break-word}table code{padding:.1rem .4rem}p a code{color:#3eaf7c;font-weight:400}strong{font-weight:600}h1,h2,h3,h4,h5,h6{font-weight:500;line-height:1.25;overflow-wrap:break-word}h1:focus-visible,h2:focus-visible,h3:focus-visible,h4:focus-visible,h5:focus-visible,h6:focus-visible{outline:none}h1{font-size:2rem}h2{padding-bottom:.3rem;border-bottom:1px solid #eaecef;font-size:1.65rem}h3{font-size:1.35rem}h4{font-size:1.15rem}h5{font-size:1.05rem}h6{font-size:1rem}a.header-anchor{position:relative;color:inherit}a.header-anchor:hover:before{content:"¶";position:absolute;bottom:0;left:-.75em;color:var(--c-brand);font-size:.75em}a.header-anchor:focus-visible{outline:none}a.header-anchor:focus-visible:before{content:"¶";position:absolute;left:-.75em;color:var(--c-brand);outline:auto}p,ul,ol{line-height:1.6;overflow-wrap:break-word}@media print{p,ul,ol{line-height:1.5}}ul,ol{padding-inline-start:1.2em}blockquote{margin:1rem 0;padding:.25rem 0 .25rem 1rem;border-inline-start:.2rem solid #ddd;color:#666;font-size:1rem;overflow-wrap:break-word}blockquote>p{margin:0}hr{border:0;border-top:1px solid #eaecef}table{display:block;overflow-x:auto;margin:1rem 0;border-collapse:collapse}tr:nth-child(odd){background:#f6f8fa}th,td{padding:.6em 1em;border:1px solid #dfe2e5}pre{direction:ltr}@page{margin:2cm;font-size:12pt;size:a4}@media print{*,:after,:before{box-shadow:none!important;text-shadow:none!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}a{color:inherit;font-weight:inherit!important;font-size:inherit!important;text-decoration:underline}a[href^="http://"]:after,a[href^="https://"]:after{content:" (" attr(href) ") "}abbr[title]:after{content:" (" attr(title) ")"}pre{border:1px solid #eee;white-space:pre-wrap!important}pre>code{white-space:pre-wrap!important}blockquote{border-inline-start:.2rem solid #ddd;color:inherit}blockquote,pre{orphans:5;widows:5}img,tr,canvas{page-break-inside:avoid}}@font-face{font-weight:400;font-style:normal;font-family:Crimson;src:url(data:font/truetype;charset=utf-8;base64,AAEAAAANAIAAAwBQRkZUTYr5mwEAAAyMAAAAHEdERUYAKQATAAAMbAAAAB5PUy8yVsJ0MgAAAVgAAABgY21hcBiKDzgAAAHcAAABWGdhc3D//wADAAAMZAAAAAhnbHlmr+DBdQAAA1AAAAdsaGVhZBZwt+8AAADcAAAANmhoZWEFawEuAAABFAAAACRobXR4BksA9gAAAbgAAAAibG9jYQlsC24AAAM0AAAAHG1heHAAEQBZAAABOAAAACBuYW1lLaFDVAAACrwAAAFrcG9zdAC1AHoAAAwoAAAAPAABAAAAAQAAqBd2H18PPPUACwQAAAAAANqqufwAAAAA2qq5/AAb/9wB4QMeAAAACAACAAAAAAAAAAEAAAMs/ywAXAH9AAAAAAHhAAEAAAAAAAAAAAAAAAAAAAAEAAEAAAANAFkAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAH1AZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAIABgMAAAAAAAAAAAABEAAAAAAAAAAAAAAAUGZFZADAADAAOQMs/ywAXAMsANQAAAABAAAAAAMYAAAAAAAgAAEBpwAfAAAAAAFVAAAB/QAfAH0ALQA+ABsAPgAyACgAPgAxAAAAAAADAAAAAwAAABwAAQAAAAAAUgADAAEAAAAcAAQANgAAAAQABAABAAAAOf//AAAAL///AAAAAQAEAAAAAAADAAQABQAGAAcACAAJAAoACwAMAAABBgAAAQAAAAAAAAABAgAAAAIAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAwQFBgcICQoLDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYAJgAmAGIAwAEeAZIBzgJAApYC2gNiA7YAAQAf/9wBhwMeABIAAAEGBwYHATAXFjM2NzY3ASYnJjcBgxwLCgH+zgMECxIKCgIBLgEDAwMDHhQFBgP85wMEAQgJBgMOAwMDEwAAAAIAH//9Ad0CkAAQACEAABMWFxYXNjc2NzQnJicGBwYHNyY3NjcWFxYXFAcGByYnJjcfATo6amo7OQE5OmxrOjkBXQIlJEE5IyIBIyJEOSQjAgFOkV5eBAReXoqJXl4EBF5eggJ0UlEDA09Qe3xVVgMDU1OEAAAAAAEAff/9AYACkQA+AAA3FAcGBwYHBiMGFQYXNjc2MzIXFhc2JzQnIicmJyY1JjURNjc2MSYnJicjBgcGBwYVFBUUFxYXNjc2NzIXFhXkAQEEBRgYDAMBBB4ZGhweGxofBAEDDBgZBQQBAQMEAQIDBAIFNTZCAgMDBA0XFw0LBQV3GBMVDAgEBAUKCgUCAQICAQIFCgoFBAQIDBUTGAGnLxkbBAYFAQIZGh4BAgECBQUEAwUHBwEICRYAAAAAAQAtAAAB0QKRADoAADcGFxYXITY3NjcmJyYjIgcGBwYHBisBNjc2NzY3NjUmJyYnBgcGBxQXFhc2NzY3FhcWFxYHBgcGBwYHLgEEAwMBYwURERADBwYFBAMDAg8VEx/LJkBAOhsQDwIxMkxSMjIHCAYGCSYmPTIfHwEBCgoeLkJBQg8EBQQCETAwKQICAgEBBCgUEylJSUYhJicsRDIzAgY1NRoEBQYBEyEhAwEjIjYlJCQtQlBQSAAAAAABAD7/+wG+ApEASgAANwYXFhcWFxYzNjc2NyYnJic2NzY3JicmIwYHBgcUFxYXNjc2NxYXFhcGBwYHBgcUFRQXNjc2NxYXFhcGBwYnIicmJyYnJiciBwYXPwEIBwUaHB0VZU5NBAMvLi8eIB4DAywsKzwrKxgEAwUIHR4wLRscAQMvLz8BAQYKEhEQNSYmAgImJSsWExQPCw0NFREMDQE7DgsLBQwFBgE8PWpMKSoGECQkMkAiIQIdHyUHBwcBCRscAwEbGSpCIyUOAgMCAwwIAwUEAQEoKD9XJSQBBQYODg8PAQ0NFQAAAgAb//oB4QKTACIAJQAANxQXFhchFRQXFjMyNzYjNTM2NzY1NCcmJyMRNCcmIwYHBgcBExEbAgMFASEJCRIdCAkBRgIBAQUEBTwFAwgHCQkG/vjmxgUGBgOwBQIBAwKzAgQDCBAMDQEBlAYGBgEICQf+cwEs/tQAAQA+//sBvgKTAEoAADcGFxYXFhcWMzY3NjcmJyYnIgcGBzY3NjczMjc2NzY3NjU0JyYnBgcGByMGBwYHFBcWMzY3NjMWFxYHBgcGJyInJicmJyYnIgcGFz8BCAcFGhwdFWVOTQQBMjJbFx8gFwoJCQlWKB0dFQ4JCAQDBQMdHSKXCREQEgMCBA4bGhNYJyUBAiYlKxYTFA8LDQ0VEQwNATsOCwsFDAUGATw9akU2NwMFBggrMC8uAgICExcZBgQCAgMBAwQBMVNUWAUFBAYFBAMxMTNZIyQBBQYODg8PAQ0NFQAAAgAy//oBzQKXACAAMwAANxQXFhc2NzY3NicmJyIHBgc2NzY3NCcmJwYHBgcGBwYXNyY3Njc2FxYXFgcGBwYHJicmNzM1NV5aOTsCAioqahoiIRsnWFhFAwIHQ0tMOTAZGQFbBAQaGxkXRB8fAQEfIDE9Hh4E511FRwQDPT1ZPEJBBQwLF4Y9PRMGCwwBEiwsPDZFRkkTHyAbCAcBAjAwREYsLQEFREVQAAAAAAEAKP/7AdUCiwApAAATFhcWMzI3Njc2NzYzIQYHBgcWFxYzMjcBNjc2NzQnJiMiBwYjIQYHBgcoAwYHAwYDAwELEBEdAQUJYWJXAQ8PDgcDAQ4LCQgBAQEEBhUVFv7JBgsNDAH6DQMCAQEFKRITFMjHjQcFBgMCPxYSEwoEAgMBAhkrKiAAAAADAD7/9wG/ApIAKABBAFgAADcGFxYXNjc2NyYnJicmJzQ3Njc2NyYnJiMGBwYHFhcWFxYVFAcGBwYHNyY3Njc2MzIzMhcyFxYXFhcGBwYHIicmNxMmNzY3FhcWFRQHBgcGByIjIicmJyY3PwE1M1ZQODgDAykpMQIBAyYlJQMCMC9HRjExAgIiIiMCAiMvLwNTBBQTKgEBAQECAQIBEjU1CAEdHjMrISICGAMYGSYvGxoTEx8CAQIBBAMfJCQBoU8tLQECMjFPOC4uGwIBAgEWJiU7SCYoAjEwQzopKhMBAgECEykpQAQsIiEbAQEBBywsQjUeHQEiI0QBZSMhIAECJiYvKh8gFAEBAhAfIEYAAAIAMf/6AcsClwAgADMAABMGFxYXMjc2NwYHBgcUFxYXNjc2NzY3NjUmJyYnBgcGBzcmNzY3FhcWFRQHBgcGJyYnJjc0AyopahoiIRsoV1hFAwIHQ0tMODEZGQE2NF5ZOjoBWgMfHzE9Hh4EGhoaF0QeHwUBy0dBQgUMCxeFPj0SBwsLAREsLD01RkVPV0dFBQQ8PU8UPCwtAQVFRUklIRsHCAECMDBPAAAADACWAAEAAAAAAAEABwAQAAEAAAAAAAIABwAoAAEAAAAAAAMABwBAAAEAAAAAAAQABwBYAAEAAAAAAAUAHgCeAAEAAAAAAAYABwDNAAMAAQQJAAEADgAAAAMAAQQJAAIADgAYAAMAAQQJAAMADgAwAAMAAQQJAAQADgBIAAMAAQQJAAUAPABgAAMAAQQJAAYADgC9AEMAcgBpAG0AcwBvAG4AAENyaW1zb24AAEMAcgBpAG0AcwBvAG4AAENyaW1zb24AAEMAcgBpAG0AcwBvAG4AAENyaW1zb24AAEMAcgBpAG0AcwBvAG4AAENyaW1zb24AAFYAZQByAHMAaQBvAG4AIAAxAC4AMAA7ACAARgBvAG4AdABFAGQAaQB0AG8AcgAgACgAdgAxAC4AMAApAABWZXJzaW9uIDEuMDsgRm9udEVkaXRvciAodjEuMCkAAEMAcgBpAG0AcwBvAG4AAENyaW1zb24AAAACAAAAAAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAABAAIAEwAUABUAFgAXABgAGQAaABsAHAAAAAH//wACAAEAAAAMAAAAFgAAAAIAAQADAAwAAQAEAAAAAgAAAAAAAAABAAAAANWkJwgAAAAA2qq5/AAAAADaqrn8) format("truetype")}html,body{background:var(--bg-color);transition:background var(--color-transition)}:root{color-scheme:light}html[data-theme=dark]{color-scheme:dark}body{color:var(--text-color);font-family:var(--font-family)}@media (min-width: 1440px){body{font-size:17px}}a{color:var(--theme-color)}kbd{border-color:var(--border-color-dark);background:var(--bg-color-secondary);font-family:var(--font-family-mono)}code{font-family:var(--font-family-mono);transition:background var(--color-transition),color var(--color-transition)}html[data-theme=dark] code{background:#333}p a code{color:var(--theme-color)}blockquote{border-color:#eee;color:#666;transition:border-color var(--color-transition),color var(--color-transition)}html[data-theme=dark] blockquote{border-color:#333}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-heading)}@media (max-width: 419px){h1{font-size:1.9rem}}h2{border-color:var(--border-color);transition:border-bottom-color var(--color-transition)}hr{border-color:var(--border-color);transition:border-top-color var(--color-transition)}tr:nth-child(odd){background:var(--bg-color-secondary)}th,td{border-color:var(--border-color-dark)}@media print{@page{--text-color: #000 !important;--bg-color: #fff !important}div[class*=language-]{position:relative!important}}.theme-hope-content:not(.custom)>*:first-child{margin-top:0}.vp-breadcrumb{max-width:var(--content-width, 740px);margin-inline:auto;padding-inline:2.5rem;position:relative;z-index:2;padding-top:1rem;font-size:15px}@media (max-width: 959px){.vp-breadcrumb{padding-inline:1.5rem}}@media print{.vp-breadcrumb{max-width:unset}}@media (max-width: 959px){.vp-breadcrumb{font-size:14px}}@media (max-width: 419px){.vp-breadcrumb{padding-top:.5rem;font-size:12.8px}}@media print{.vp-breadcrumb{display:none}}.vp-breadcrumb .icon{margin-inline-end:.25em;font-size:1em}.vp-breadcrumb img.icon{vertical-align:-.125em;height:1em}.vp-breadcrumb a{display:inline-block;padding:0 .5em}.vp-breadcrumb a:before{position:relative;bottom:.125rem;margin-inline-end:.25em}.vp-breadcrumb a:hover{color:var(--theme-color)}.vp-breadcrumb ol{margin:0;padding-inline-start:0;list-style:none}.vp-breadcrumb li{display:inline-block;line-height:1.5}.vp-breadcrumb li:first-child a{padding-inline-start:0}.vp-breadcrumb li:last-child a{padding-inline-end:0}.vp-breadcrumb li.is-active a{color:var(--light-grey);cursor:default;pointer-events:none}.vp-breadcrumb li+li:before{content:"/";color:var(--light-grey)}.toggle-sidebar-wrapper{position:fixed;top:var(--navbar-height);bottom:0;inset-inline-start:var(--sidebar-space);z-index:100;display:flex;align-items:center;justify-content:center;font-size:2rem;transition:inset-inline-start var(--transform-transition)}@media (max-width: 719px){.toggle-sidebar-wrapper{display:none}}@media (min-width: 1440px){.toggle-sidebar-wrapper{display:none}}.toggle-sidebar-wrapper:hover{background:#7f7f7f0d;cursor:pointer}.toggle-sidebar-wrapper .arrow{display:inline-block;vertical-align:middle;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;line-height:normal;transition:all .3s}html[data-theme=dark] .toggle-sidebar-wrapper .arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.toggle-sidebar-wrapper .arrow.down{transform:rotate(180deg)}html[dir=rtl] .toggle-sidebar-wrapper .arrow.down{transform:rotate(-180deg)}.toggle-sidebar-wrapper .arrow.end{transform:rotate(90deg)}html[dir=rtl] .toggle-sidebar-wrapper .arrow.end,.toggle-sidebar-wrapper .arrow.start{transform:rotate(-90deg)}html[dir=rtl] .toggle-sidebar-wrapper .arrow.start{transform:rotate(90deg)}.theme-container{display:flex;flex-direction:column;justify-content:space-between;min-height:100vh}.theme-container .vp-page{padding-top:var(--navbar-height);padding-inline-start:calc(var(--sidebar-space) + 2rem)}@media (max-width: 719px){.theme-container .vp-page{padding-inline:0}}@media (min-width: 1440px){.theme-container .vp-page{padding-inline-end:calc(100vw - var(--content-width) - var(--sidebar-space) - 6rem)}}.theme-container .vp-sidebar{top:var(--navbar-height)}.theme-container.no-navbar .vp-page{padding-top:0}.theme-container.no-navbar .vp-sidebar{top:0}@media (max-width: 719px){.theme-container.no-navbar .vp-sidebar{top:0}}@media (max-width: 719px){.theme-container.hide-navbar .vp-sidebar{top:0}}.theme-container.sidebar-collapsed .vp-page{padding-inline-start:0}.theme-container.sidebar-collapsed .vp-sidebar{box-shadow:none;transform:translate(-100%)}html[dir=rtl] .theme-container.sidebar-collapsed .vp-sidebar{transform:translate(100%)}.theme-container.sidebar-collapsed .toggle-sidebar-wrapper{inset-inline-start:0}.theme-container.no-sidebar .vp-page{padding-inline:0}@media (min-width: 1440px){.theme-container.no-sidebar.has-toc .vp-page{padding-inline-end:16rem}}.theme-container.no-sidebar .vp-toggle-sidebar-button,.theme-container.no-sidebar .toggle-sidebar-wrapper,.theme-container.no-sidebar .vp-sidebar{display:none}.theme-container.sidebar-open .vp-sidebar{box-shadow:2px 0 8px var(--card-shadow);transform:translate(0)}.fade-slide-y-enter-active{transition:all .3s ease!important}.fade-slide-y-leave-active{transition:all .3s cubic-bezier(1,.5,.8,1)!important}.fade-slide-y-enter-from,.fade-slide-y-leave-to{opacity:0;transform:translateY(10px)}.vp-feature-wrapper{position:relative}.vp-feature-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background-attachment:fixed;background-position:50%;background-size:cover}.vp-feature-bg.light{display:inline-block}.vp-feature-bg.dark,html[data-theme=dark] .vp-feature-bg.light{display:none}html[data-theme=dark] .vp-feature-bg.dark{display:inline-block}.vp-feature{position:relative;z-index:1;margin:0 auto;padding:1.5rem 1rem;color:var(--text-color-lighter);text-align:center}.vp-feature-bg+.vp-feature{color:#222}html[data-theme=dark] .vp-feature-bg+.vp-feature{color:#eee}.vp-feature-bg+.vp-feature .icon{color:inherit}.vp-feature-image{height:10rem;margin:0 auto}@media (max-width: 959px){.vp-feature-image{height:8rem}}.vp-feature-image.light{display:inline-block}.vp-feature-image.dark,html[data-theme=dark] .vp-feature-image.light{display:none}html[data-theme=dark] .vp-feature-image.dark{display:inline-block}.vp-feature-header{margin-bottom:1.5rem;border-bottom:none;font-size:3rem;font-family:var(--font-family);text-align:center}@media (max-width: 959px){.vp-feature-header{font-size:2.5rem}}@media (max-width: 719px){.vp-feature-header{font-size:2.25rem}}@media (max-width: 419px){.vp-feature-header{font-size:2rem}}.vp-feature-description{font-size:1.125rem}.vp-features{z-index:1;display:flex;flex-wrap:wrap;align-items:stretch;place-content:stretch center;margin:1rem 0;text-align:start}@media print{.vp-features{display:block}}.vp-features:first-child{border-top:1px solid var(--border-color);transition:border-color var(--color-transition)}.vp-feature-item{position:relative;display:block;flex-basis:calc(33% - 3rem);margin:.5rem;padding:1rem;border-radius:.5rem;color:inherit;transition:background var(--color-transition),box-shadow var(--color-transition),transform var(--transform-transition)}@media (min-width: 1440px){.vp-feature-item{flex-basis:calc(25% - 3rem)}}@media (max-width: 959px){.vp-feature-item{flex-basis:calc(50% - 3rem)}}@media (max-width: 719px){.vp-feature-item{flex-basis:100%;font-size:.95rem}}@media (max-width: 419px){.vp-feature-item{margin:.5rem 0;font-size:.9rem}}.vp-feature-item.link{cursor:pointer}@media print{.vp-feature-item.link{text-decoration:none}}.vp-feature-item .icon{display:inline-block;height:1.1em;margin-inline-end:.5rem;color:var(--theme-color);font-weight:400;font-size:1.1em}.vp-feature-item:hover{background-color:var(--bg-color-secondary);box-shadow:0 2px 12px 0 var(--card-shadow);transform:translate(-2px,-2px);transform:scale(1.05)}.vp-feature-bg+.vp-feature .vp-feature-item:hover{background-color:transparent}.vp-feature-item:only-child{flex-basis:100%}.vp-feature-item:first-child:nth-last-child(2),.vp-feature-item:nth-child(2):last-child{flex-basis:calc(50% - 3rem)}@media (max-width: 719px){.vp-feature-item:first-child:nth-last-child(2),.vp-feature-item:nth-child(2):last-child{flex-basis:100%}}.vp-feature-title{margin:.25rem 0 .5rem;font-weight:700;font-size:1.3rem;font-family:var(--font-family)}@media (max-width: 419px){.vp-feature-title{font-size:1.2rem}}.vp-feature-details{margin:0;line-height:1.4}.vp-footer-wrapper{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-evenly;padding-block:.75rem;padding-inline:calc(var(--sidebar-space) + 2rem) 2rem;border-top:1px solid var(--border-color);background:var(--bg-color);color:var(--dark-grey);text-align:center;transition:border-top-color var(--color-transition),background var(--color-transition),padding var(--transform-transition)}@media (max-width: 719px){.vp-footer-wrapper{padding-inline-start:2rem}}@media (min-width: 1440px){.vp-footer-wrapper{z-index:50;padding-inline-start:2rem}}@media print{.vp-footer-wrapper{margin:0!important;padding:0!important}}@media (max-width: 419px){.vp-footer-wrapper{display:block}}.no-sidebar .vp-footer-wrapper,.sidebar-collapsed .vp-footer-wrapper{padding-inline-start:2rem}.vp-footer{margin:.5rem 1rem;font-size:14px}@media print{.vp-footer{display:none}}.vp-copyright{margin:6px 0;font-size:13px}.vp-page:not(.not-found)+.vp-footer-wrapper{margin-top:-2rem}.vp-hero-info-wrapper{position:relative;display:flex;align-items:center;justify-content:center;margin-inline:auto}.vp-hero-info-wrapper.fullscreen{height:calc(100vh - var(--navbar-height))!important}.vp-hero-info{z-index:1;width:100%;padding-inline:2.5rem}@media (max-width: 959px){.vp-hero-info{padding-inline:1.5rem}}@media (min-width: 959px){.vp-hero-info{display:flex;align-items:center;justify-content:space-evenly}}.vp-hero-mask{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background-position:50%;background-size:cover}.vp-hero-mask:after{content:" ";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:block}.vp-hero-mask.light{display:block}html[data-theme=dark] .vp-hero-mask.light,.vp-hero-mask.dark{display:none}html[data-theme=dark] .vp-hero-mask.dark{display:block}.vp-hero-infos{z-index:1;margin:0 .5rem}.vp-hero-image{display:block;max-width:100%;max-height:18rem;margin:1rem}@media (max-width: 959px){.vp-hero-image{margin:2rem auto}}@media (max-width: 719px){.vp-hero-image{max-height:16rem;margin:1.5rem auto}}@media (max-width: 419px){.vp-hero-image{max-height:14rem}}.vp-hero-image.light{display:block}html[data-theme=dark] .vp-hero-image.light,.vp-hero-image.dark{display:none}html[data-theme=dark] .vp-hero-image.dark{display:block}#main-title{margin:.5rem 0;background:linear-gradient(120deg,var(--theme-color-light),var(--theme-color) 30%,#7509d9 100%);-webkit-background-clip:text;background-clip:text;font-weight:700;font-size:3.6rem;font-family:var(--font-family);line-height:1.5;-webkit-text-fill-color:transparent}@media (max-width: 719px){#main-title{margin:0}}@media (max-width: 959px){#main-title{font-size:2.5rem;text-align:center}}@media (max-width: 719px){#main-title{font-size:2.25rem;text-align:center}}@media (max-width: 419px){#main-title{margin:0 auto;font-size:2rem}}#main-description,.vp-hero-actions{margin:1.8rem 0}@media (max-width: 719px){#main-description,.vp-hero-actions{margin:1.5rem 0}}@media (max-width: 959px){#main-description,.vp-hero-actions{margin:1.5rem auto;text-align:center}}@media (max-width: 419px){#main-description,.vp-hero-actions{margin:1.2rem 0}}#main-description{max-width:35rem;color:var(--text-color-light);font-weight:500;font-size:1.6rem;line-height:1.3}@media (max-width: 719px){#main-description{font-size:1.4rem}}@media (max-width: 419px){#main-description{font-size:1.2rem}}.vp-hero-action{display:inline-block;overflow:hidden;min-width:4rem;margin:.5rem;padding:.5em 1.5rem;border-radius:2rem;background:var(--bg-color-secondary);color:var(--text-color);font-size:1.2rem;text-align:center;transition:color var(--color-transition),color var(--color-transition),transform var(--transform-transition)}@media (max-width: 719px){.vp-hero-action{padding:.5rem 1rem;font-size:1.1rem}}@media (max-width: 419px){.vp-hero-action{font-size:1rem}}@media print{.vp-hero-action{text-decoration:none}}.vp-hero-action:hover{background:var(--bg-color-tertiary)}.vp-hero-action.primary{border-color:var(--theme-color);background:var(--theme-color);color:var(--white)}.vp-hero-action.primary:hover{border-color:var(--theme-color-light);background:var(--theme-color-light)}.vp-project-home:not(.pure) .vp-hero-action:active{transform:scale(.96)}.vp-hero-action .icon{margin-inline-end:.25em}.vp-highlight-wrapper{position:relative;display:flex;align-items:center;justify-content:center}.vp-highlight-wrapper:nth-child(odd) .vp-highlight{flex-direction:row-reverse}.vp-highlight{z-index:1;display:flex;flex:1;align-items:center;justify-content:flex-end;max-width:var(--home-page-width);margin:0 auto;padding:1.5rem 2.5rem;color:#222}@media (max-width: 719px){.vp-highlight{display:block;padding-inline:1.5rem;text-align:center}}html[data-theme=dark] .vp-highlight{color:#eee}.vp-highlight-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background-attachment:fixed;background-position:50%;background-size:cover}.vp-highlight-bg.light{display:inline-block}.vp-highlight-bg.dark,html[data-theme=dark] .vp-highlight-bg.light{display:none}html[data-theme=dark] .vp-highlight-bg.dark{display:inline-block}.vp-highlight-image{width:12rem;margin:2rem 4rem}@media (max-width: 959px){.vp-highlight-image{width:10rem}}@media (max-width: 719px){.vp-highlight-image{width:8rem;margin:0 auto}}.vp-highlight-image.light{display:inline-block}.vp-highlight-image.dark,html[data-theme=dark] .vp-highlight-image.light{display:none}html[data-theme=dark] .vp-highlight-image.dark{display:inline-block}.vp-highlight-info-wrapper{display:flex;flex:1;justify-content:center;padding:2rem}@media (max-width: 719px){.vp-highlight-info-wrapper{padding:1rem 0}}.vp-highlight-info-wrapper:only-child{flex:1 0 100%}.vp-highlight-info{text-align:start}.vp-highlight-header{margin-bottom:1.5rem;border-bottom:none;font-size:3rem;font-family:var(--font-family)}@media (max-width: 959px){.vp-highlight-header{font-size:2.5rem}}@media (max-width: 719px){.vp-highlight-header{font-size:2.25rem;text-align:center}}@media (max-width: 419px){.vp-highlight-header{font-size:2rem}}.vp-highlight-description{font-size:1.125rem}.vp-highlights{margin-inline-start:-1.25em;padding-inline-start:0}.vp-highlight-item-wrapper{padding:.5em .5em .5em 1.75em;border-radius:.5rem;list-style:none}.vp-highlight-item-wrapper.link{cursor:pointer}.vp-highlight-item-wrapper:hover{background-color:var(--bg-color-secondary);box-shadow:0 2px 12px 0 var(--card-shadow);transition:transform var(--transform-transition);transform:translate(-2px,-2px)}.vp-highlight-bg+.vp-highlight .vp-highlight-item-wrapper:hover{background-color:transparent}.vp-highlight-item-wrapper::marker{font-weight:700}.vp-highlight-item{display:list-item;color:inherit;list-style:initial}@media print{.vp-highlight-item{text-decoration:none}}.vp-highlight-title{margin:0;font-weight:600;font-size:1.125rem;font-family:var(--font-family)}.vp-highlight-title .icon{margin-inline-end:.25em;font-size:1em}.vp-highlight-title img.icon{vertical-align:-.125em;height:1em}.vp-highlight-details{margin:.5rem 0 0}.vp-project-home{--content-width: var(--home-page-width);display:block;flex:1;padding-top:var(--navbar-height)}@media screen{.vp-project-home .vp-hero-info-wrapper:not(.fullscreen) .vp-hero-info{max-width:var(--home-page-width)}}@media screen{.vp-project-home .vp-feature{max-width:var(--home-page-width)}}.vp-project-home .theme-hope-content{padding-bottom:1.5rem!important}.vp-project-home .theme-hope-content:empty{padding:0!important}.not-found-hint{padding:2rem}.not-found-hint .error-code{margin:0;font-weight:700;font-size:4rem;line-height:4rem}.not-found-hint .error-title{font-weight:700}.not-found-hint .error-hint{margin:0;padding:12px 0;font-weight:600;font-size:20px;line-height:20px;letter-spacing:2px}.vp-page.not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;width:100vw;max-width:var(--home-page-width);margin:0 auto;padding:calc(var(--navbar-height) + 1rem) 1rem 1rem!important;text-align:center}.vp-page.not-found .action-button{display:inline-block;box-sizing:border-box;margin:.25rem;padding:.75rem 1rem;border-width:0;border-bottom:1px solid var(--theme-color-dark);border-radius:3rem;background:var(--theme-color);color:var(--white);outline:none;font-size:1rem;transition:background .1s ease}.vp-page.not-found .action-button:hover{background:var(--theme-color-light);cursor:pointer}.vp-page-nav{display:flex;flex-wrap:wrap;max-width:var(--content-width, 740px);min-height:2rem;margin-inline:auto;margin-top:0;padding-block:.5rem;padding-inline:2rem;border-top:1px solid var(--border-color);transition:border-top var(--color-transition)}@media (max-width: 959px){.vp-page-nav{padding-inline:1rem}}@media print{.vp-page-nav{display:none}}.vp-page-nav .nav-link{display:inline-block;flex-grow:1;margin:.25rem;padding:.25rem .5rem;border:1px solid var(--border-color);border-radius:.25rem}.vp-page-nav .nav-link:hover{background:var(--bg-color-secondary)}.vp-page-nav .nav-link .hint{color:var(--light-grey);font-size:.875rem;line-height:2}.vp-page-nav .nav-link .arrow{display:inline-block;vertical-align:middle;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;line-height:normal;transition:all .3s;font-size:.75rem}html[data-theme=dark] .vp-page-nav .nav-link .arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.vp-page-nav .nav-link .arrow.down{transform:rotate(180deg)}html[dir=rtl] .vp-page-nav .nav-link .arrow.down{transform:rotate(-180deg)}.vp-page-nav .nav-link .arrow.end{transform:rotate(90deg)}html[dir=rtl] .vp-page-nav .nav-link .arrow.end,.vp-page-nav .nav-link .arrow.start{transform:rotate(-90deg)}html[dir=rtl] .vp-page-nav .nav-link .arrow.start{transform:rotate(90deg)}.vp-page-nav .prev{text-align:start}.vp-page-nav .prev .icon{margin-inline-end:.25em;font-size:1em}.vp-page-nav .prev img.icon{vertical-align:-.125em;height:1em}.vp-page-nav .next{text-align:end}.vp-page-nav .next .icon{margin-inline-start:.25em;font-size:1em}.vp-page-nav .next img.icon{vertical-align:-.125em;height:1em}.vp-page-title{max-width:var(--content-width, 740px);margin-inline:auto;padding-inline:2.5rem;position:relative;z-index:1;padding-top:1rem;padding-bottom:0}@media (max-width: 959px){.vp-page-title{padding-inline:1.5rem}}@media print{.vp-page-title{max-width:unset}}@media print{.vp-page-title{padding-inline:0!important}}@media (max-width: 959px){.vp-page-title{padding-top:.5rem}}.vp-page-title h1{margin-top:calc(0px - var(--navbar-height))!important;margin-bottom:1rem;padding-top:var(--navbar-height)!important;font-size:2.2rem}@media (max-width: 959px){.vp-page-title h1{margin-bottom:.5rem}}.vp-page-title h1 .icon{margin-inline-end:.25em;color:var(--theme-color);font-size:.9em}.vp-page-title h1 img.icon{vertical-align:-.125em;height:1em}.theme-hope-content:not(.custom){padding-top:0!important}.theme-hope-content:not(.custom) h1:first-child,.theme-hope-content:not(.custom) h2:first-child,.theme-hope-content:not(.custom) h3:first-child,.theme-hope-content:not(.custom) h4:first-child,.theme-hope-content:not(.custom) h5:first-child,.theme-hope-content:not(.custom) h6:first-child{margin-top:calc(.5rem - var(--navbar-height))!important;padding-top:var(--navbar-height)!important}.theme-hope-content:not(.custom)>h1:first-child{display:none}.vp-page{display:block;flex-grow:1;padding-bottom:2rem;transition:padding var(--transform-transition)}@media print{.vp-page{min-height:auto!important;margin:0!important;padding:0!important}}.page-cover{width:var(--content-width);margin-inline:auto}@media (max-width: 719px){.page-cover{width:100%}}.page-cover img{-o-object-fit:cover;object-fit:cover;width:100%;max-height:25vh;border-radius:.5rem}@media (max-width: 719px){.page-cover img{border-radius:0}}.vp-skip-link{top:.25rem;inset-inline-start:.25rem;z-index:999;padding:.65rem 1.5rem;border-radius:.5rem;background:var(--bg-color);color:var(--theme-color);box-shadow:var(--card-shadow);font-weight:700;font-size:.9em;text-decoration:none}@media print{.vp-skip-link{display:none}}.vp-skip-link:focus{clip:auto;width:auto;height:auto;-webkit-clip-path:none;clip-path:none}.theme-hope-content pre{overflow:auto;margin:.85rem 0;padding:1rem;border-radius:6px;line-height:1.375}.theme-hope-content pre code{padding:0;border-radius:0;background:transparent!important;color:var(--code-color);font-family:var(--font-family-mono);text-align:left;white-space:pre;word-spacing:normal;word-wrap:normal;word-break:normal;overflow-wrap:unset;-webkit-hyphens:none;hyphens:none;transition:color var(--color-transition);-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}@media print{.theme-hope-content pre code{white-space:pre-wrap}}.theme-hope-content .line-number{font-family:var(--font-family-mono)}div[class*=language-]{position:relative;border-radius:6px;background:var(--code-bg-color);font-size:16px;transition:background var(--color-transition)}@media (max-width: 419px){.theme-hope-content>div[class*=language-]{margin:.85rem -1.5rem;border-radius:0}}div[class*=language-]:before{content:attr(data-title);position:absolute;top:0;right:1em;z-index:3;color:var(--code-line-color);font-size:.75rem;transition:color var(--color-transition)}div[class*=language-] pre{position:relative;z-index:1;scrollbar-gutter:stable}div[class*=language-] .highlight-lines{position:absolute;top:0;bottom:0;left:0;width:100%;padding:1rem 0;line-height:1.375;-webkit-user-select:none;-moz-user-select:none;user-select:none}div[class*=language-] .highlight-line{background:var(--code-highlight-line-color);transition:background var(--color-transition)}div[class*=language-].line-numbers-mode:after{content:"";position:absolute;top:0;bottom:0;left:0;z-index:2;width:var(--line-numbers-width);border-right:1px solid var(--code-highlight-line-color);border-radius:6px 0 0 6px;transition:border-color var(--color-transition)}@media (max-width: 419px){div[class*=language-].line-numbers-mode:after{border-radius:0}}@media print{div[class*=language-].line-numbers-mode:after{display:none}}div[class*=language-].line-numbers-mode .highlight-line{position:relative}div[class*=language-].line-numbers-mode .highlight-line:before{content:" ";position:absolute;top:0;left:0;z-index:3;display:block;width:var(--line-numbers-width);height:100%}div[class*=language-].line-numbers-mode pre{vertical-align:middle;margin-left:var(--line-numbers-width);padding-left:.5rem}@media print{div[class*=language-].line-numbers-mode pre{margin-left:0;padding-left:1rem}}div[class*=language-].line-numbers-mode .line-numbers{position:absolute;top:0;bottom:0;left:0;display:flex;flex-direction:column;width:var(--line-numbers-width);padding:1rem 0;color:var(--code-line-color);counter-reset:line-number;text-align:center;transition:color var(--color-transition)}@media print{div[class*=language-].line-numbers-mode .line-numbers{display:none}}div[class*=language-].line-numbers-mode .line-number{position:relative;z-index:4;display:flex;flex:1;align-items:center;justify-content:center;-webkit-user-select:none;-moz-user-select:none;user-select:none}div[class*=language-].line-numbers-mode .line-number:before{content:counter(line-number);display:block;font-size:.8em;line-height:1;counter-increment:line-number}div[class*=language-]:not(.line-numbers-mode) .line-numbers{display:none}html[data-theme=light] #app{--code-color: #383a42;--code-line-color: rgba(56, 58, 66, .67);--code-bg-color: #ecf4fa;--code-border-color: #c3def3;--code-highlight-line-color: #d8e9f6}html[data-theme=light] code[class*=language-],html[data-theme=light] pre[class*=language-]{-moz-tab-size:2;-o-tab-size:2;tab-size:2}html[data-theme=light] code[class*=language-]::-moz-selection,html[data-theme=light] code[class*=language-] ::-moz-selection,html[data-theme=light] pre[class*=language-]::-moz-selection,html[data-theme=light] pre[class*=language-] ::-moz-selection{background:#e5e5e6;color:inherit}html[data-theme=light] code[class*=language-]::selection,html[data-theme=light] code[class*=language-] ::selection,html[data-theme=light] pre[class*=language-]::selection,html[data-theme=light] pre[class*=language-] ::selection{background:#e5e5e6;color:inherit}html[data-theme=light] .token.comment,html[data-theme=light] .token.prolog,html[data-theme=light] .token.cdata{color:#a0a1a7}html[data-theme=light] .token.doctype,html[data-theme=light] .token.punctuation,html[data-theme=light] .token.entity{color:#383a42}html[data-theme=light] .token.attr-name,html[data-theme=light] .token.class-name,html[data-theme=light] .token.boolean,html[data-theme=light] .token.constant,html[data-theme=light] .token.number,html[data-theme=light] .token.atrule{color:#b76b01}html[data-theme=light] .token.keyword{color:#a626a4}html[data-theme=light] .token.property,html[data-theme=light] .token.tag,html[data-theme=light] .token.symbol,html[data-theme=light] .token.deleted,html[data-theme=light] .token.important{color:#e45649}html[data-theme=light] .token.selector,html[data-theme=light] .token.string,html[data-theme=light] .token.char,html[data-theme=light] .token.builtin,html[data-theme=light] .token.inserted,html[data-theme=light] .token.regex,html[data-theme=light] .token.attr-value,html[data-theme=light] .token.attr-value>.token.punctuation{color:#50a14f}html[data-theme=light] .token.variable,html[data-theme=light] .token.operator,html[data-theme=light] .token.function{color:#4078f2}html[data-theme=light] .token.url{color:#0184bc}html[data-theme=light] .token.attr-value>.token.punctuation.attr-equals,html[data-theme=light] .token.special-attr>.token.attr-value>.token.value.css{color:#383a42}html[data-theme=light] .language-css .token.selector{color:#e45649}html[data-theme=light] .language-css .token.property{color:#383a42}html[data-theme=light] .language-css .token.function,html[data-theme=light] .language-css .token.url>.token.function{color:#0184bc}html[data-theme=light] .language-css .token.url>.token.string.url{color:#50a14f}html[data-theme=light] .language-css .token.important,html[data-theme=light] .language-css .token.atrule .token.rule,html[data-theme=light] .language-javascript .token.operator{color:#a626a4}html[data-theme=light] .language-javascript .token.template-string>.token.interpolation>.token.interpolation-punctuation.punctuation{color:#ca1243}html[data-theme=light] .language-json .token.operator{color:#383a42}html[data-theme=light] .language-json .token.null.keyword{color:#b76b01}html[data-theme=light] .language-markdown .token.url,html[data-theme=light] .language-markdown .token.url>.token.operator,html[data-theme=light] .language-markdown .token.url-reference.url>.token.string{color:#383a42}html[data-theme=light] .language-markdown .token.url>.token.content{color:#4078f2}html[data-theme=light] .language-markdown .token.url>.token.url,html[data-theme=light] .language-markdown .token.url-reference.url{color:#0184bc}html[data-theme=light] .language-markdown .token.blockquote.punctuation,html[data-theme=light] .language-markdown .token.hr.punctuation{color:#a0a1a7;font-style:italic}html[data-theme=light] .language-markdown .token.code-snippet{color:#50a14f}html[data-theme=light] .language-markdown .token.bold .token.content{color:#b76b01}html[data-theme=light] .language-markdown .token.italic .token.content{color:#a626a4}html[data-theme=light] .language-markdown .token.strike .token.content,html[data-theme=light] .language-markdown .token.strike .token.punctuation,html[data-theme=light] .language-markdown .token.list.punctuation,html[data-theme=light] .language-markdown .token.title.important>.token.punctuation{color:#e45649}html[data-theme=light] .token.bold{font-weight:700}html[data-theme=light] .token.comment,html[data-theme=light] .token.italic{font-style:italic}html[data-theme=light] .token.entity{cursor:help}html[data-theme=light] .token.namespace{opacity:.8}html[data-theme=dark] #app{--code-color: #abb2bf;--code-line-color: rgba(171, 178, 191, .67);--code-bg-color: #282c34;--code-border-color: #343e51;--code-highlight-line-color: #2f3542}html[data-theme=dark] code[class*=language-],html[data-theme=dark] pre[class*=language-]{text-shadow:0 1px rgba(0,0,0,.3);-moz-tab-size:2;-o-tab-size:2;tab-size:2}@media print{html[data-theme=dark] code[class*=language-],html[data-theme=dark] pre[class*=language-]{text-shadow:none}}html[data-theme=dark] code[class*=language-]::-moz-selection,html[data-theme=dark] code[class*=language-] ::-moz-selection,html[data-theme=dark] pre[class*=language-]::-moz-selection,html[data-theme=dark] pre[class*=language-] ::-moz-selection{background:#3e4451;color:inherit;text-shadow:none}html[data-theme=dark] code[class*=language-]::selection,html[data-theme=dark] code[class*=language-] ::selection,html[data-theme=dark] pre[class*=language-]::selection,html[data-theme=dark] pre[class*=language-] ::selection{background:#3e4451;color:inherit;text-shadow:none}html[data-theme=dark] .token.comment,html[data-theme=dark] .token.prolog,html[data-theme=dark] .token.cdata{color:#5c6370}html[data-theme=dark] .token.doctype,html[data-theme=dark] .token.punctuation,html[data-theme=dark] .token.entity{color:#abb2bf}html[data-theme=dark] .token.attr-name,html[data-theme=dark] .token.class-name,html[data-theme=dark] .token.boolean,html[data-theme=dark] .token.constant,html[data-theme=dark] .token.number,html[data-theme=dark] .token.atrule{color:#d19a66}html[data-theme=dark] .token.keyword{color:#c678dd}html[data-theme=dark] .token.property,html[data-theme=dark] .token.tag,html[data-theme=dark] .token.symbol,html[data-theme=dark] .token.deleted,html[data-theme=dark] .token.important{color:#e06c75}html[data-theme=dark] .token.selector,html[data-theme=dark] .token.string,html[data-theme=dark] .token.char,html[data-theme=dark] .token.builtin,html[data-theme=dark] .token.inserted,html[data-theme=dark] .token.regex,html[data-theme=dark] .token.attr-value,html[data-theme=dark] .token.attr-value>.token.punctuation{color:#98c379}html[data-theme=dark] .token.variable,html[data-theme=dark] .token.operator,html[data-theme=dark] .token.function{color:#61afef}html[data-theme=dark] .token.url{color:#56b6c2}html[data-theme=dark] .token.attr-value>.token.punctuation.attr-equals,html[data-theme=dark] .token.special-attr>.token.attr-value>.token.value.css{color:#abb2bf}html[data-theme=dark] .language-css .token.selector{color:#e06c75}html[data-theme=dark] .language-css .token.property{color:#abb2bf}html[data-theme=dark] .language-css .token.function,html[data-theme=dark] .language-css .token.url>.token.function{color:#56b6c2}html[data-theme=dark] .language-css .token.url>.token.string.url{color:#98c379}html[data-theme=dark] .language-css .token.important,html[data-theme=dark] .language-css .token.atrule .token.rule,html[data-theme=dark] .language-javascript .token.operator{color:#c678dd}html[data-theme=dark] .language-javascript .token.template-string>.token.interpolation>.token.interpolation-punctuation.punctuation{color:#be5046}html[data-theme=dark] .language-json .token.operator{color:#abb2bf}html[data-theme=dark] .language-json .token.null.keyword{color:#d19a66}html[data-theme=dark] .language-markdown .token.url,html[data-theme=dark] .language-markdown .token.url>.token.operator,html[data-theme=dark] .language-markdown .token.url-reference.url>.token.string{color:#abb2bf}html[data-theme=dark] .language-markdown .token.url>.token.content{color:#61afef}html[data-theme=dark] .language-markdown .token.url>.token.url,html[data-theme=dark] .language-markdown .token.url-reference.url{color:#56b6c2}html[data-theme=dark] .language-markdown .token.blockquote.punctuation,html[data-theme=dark] .language-markdown .token.hr.punctuation{color:#5c6370;font-style:italic}html[data-theme=dark] .language-markdown .token.code-snippet{color:#98c379}html[data-theme=dark] .language-markdown .token.bold .token.content{color:#d19a66}html[data-theme=dark] .language-markdown .token.italic .token.content{color:#c678dd}html[data-theme=dark] .language-markdown .token.strike .token.content,html[data-theme=dark] .language-markdown .token.strike .token.punctuation,html[data-theme=dark] .language-markdown .token.list.punctuation,html[data-theme=dark] .language-markdown .token.title.important>.token.punctuation{color:#e06c75}html[data-theme=dark] .token.bold{font-weight:700}html[data-theme=dark] .token.comment,html[data-theme=dark] .token.italic{font-style:italic}html[data-theme=dark] .token.entity{cursor:help}html[data-theme=dark] .token.namespace{opacity:.8}.sr-only{position:absolute;overflow:hidden;clip:rect(0,0,0,0);width:1px;height:1px;margin:-1px;padding:0;border-width:0;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}@media print{.theme-hope-content{margin:0!important;padding-inline:0!important}}.theme-hope-content.custom{margin:0;padding:0}.theme-hope-content:not(.custom){max-width:var(--content-width, 740px);margin:0 auto;padding:2rem 2.5rem;padding-top:0}@media (max-width: 959px){.theme-hope-content:not(.custom){padding:1.5rem}}@media (max-width: 419px){.theme-hope-content:not(.custom){padding:1rem 1.5rem}}@media print{.theme-hope-content:not(.custom){max-width:unset}}.theme-hope-content:not(.custom)>h1,.theme-hope-content:not(.custom)>h2,.theme-hope-content:not(.custom)>h3,.theme-hope-content:not(.custom)>h4,.theme-hope-content:not(.custom)>h5,.theme-hope-content:not(.custom)>h6{margin-top:calc(.5rem - var(--navbar-height));margin-bottom:.5rem;padding-top:calc(1rem + var(--navbar-height));outline:none}.theme-container.no-navbar .theme-hope-content:not(.custom)>h1,.theme-container.no-navbar .theme-hope-content:not(.custom)>h2,.theme-container.no-navbar .theme-hope-content:not(.custom)>h3,.theme-container.no-navbar .theme-hope-content:not(.custom)>h4,.theme-container.no-navbar .theme-hope-content:not(.custom)>h5,.theme-container.no-navbar .theme-hope-content:not(.custom)>h6{margin-top:1.5rem;padding-top:0}.theme-hope-content:not(.custom)>p,.theme-hope-content:not(.custom)>ul p,.theme-hope-content:not(.custom)>ol p{text-align:justify;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}@media (max-width: 419px){.theme-hope-content:not(.custom)>p,.theme-hope-content:not(.custom)>ul p,.theme-hope-content:not(.custom)>ol p{text-align:start}}@media print{.theme-hope-content:not(.custom)>p,.theme-hope-content:not(.custom)>ul p,.theme-hope-content:not(.custom)>ol p{text-align:start}}.theme-hope-content a:not(.header-anchor):hover{text-decoration:underline}.theme-hope-content img{max-width:100%}::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}html[data-theme=light]::view-transition-old(root),html[data-theme=dark]::view-transition-new(root){z-index:1}html[data-theme=light]::view-transition-new(root),html[data-theme=dark]::view-transition-old(root){z-index:99999}@media (min-width: 1280px){.chart-wrapper::-webkit-scrollbar,.flowchart-wrapper::-webkit-scrollbar,.mermaid-wrapper::-webkit-scrollbar{width:8px;height:8px}.chart-wrapper::-webkit-scrollbar-track-piece,.flowchart-wrapper::-webkit-scrollbar-track-piece,.mermaid-wrapper::-webkit-scrollbar-track-piece{border-radius:8px;background:#0000001a}}html[dir=rtl] a.header-anchor:before{right:-.75em}#docsearch-container{min-width:145.7px!important}@media (max-width: 959px){#docsearch-container{min-width:36px!important}}.DocSearch.DocSearch-Button{margin-left:0}@media (max-width: 959px){.DocSearch.DocSearch-Button{min-width:36px!important}}.DocSearch .DocSearch-Button-Placeholder{display:inline-block;padding:4px 12px 4px 6px;font-size:14px}@media (max-width: 719px){.DocSearch .DocSearch-Button-Placeholder{display:none}}.DocSearch .DocSearch-Search-Icon{width:1.25em;height:1.25em}@media (max-width: 959px){.DocSearch .DocSearch-Button-Keys{display:none}}.DocSearch .DocSearch-Button-Key{background:var(--bg-color);box-shadow:none}:root{scrollbar-width:thin}@media (prefers-reduced-motion: no-preference){:root{scroll-behavior:smooth}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track-piece{border-radius:6px;background:#0000001a}::-webkit-scrollbar-thumb{border-radius:6px;background:var(--theme-color)}::-webkit-scrollbar-thumb:active{background:var(--theme-color-light)}@media (max-width: 719px){.hide-in-mobile{display:none!important}}@media (max-width: 959px){.hide-in-pad{display:none!important}}.page-author-item{display:inline-block;margin:0 4px;font-weight:400;overflow-wrap:break-word}.page-category-info{flex-wrap:wrap}.page-category-item{display:inline-block;margin:.125em .25em;padding:0 .25em;border-radius:.25em;background:var(--bg-color-secondary);color:var(--text-color-light);font-weight:700;font-size:.75rem;line-height:2;transition:background var(--color-transition),color var(--color-transition)}@media print{.page-category-item{padding:0;font-weight:400}.page-category-item:after{content:", "}.page-category-item:last-of-type:after{content:""}}.page-category-item.clickable>span:hover{color:var(--theme-color);cursor:pointer}.page-category-item.category0{background:#fde5e7;color:#ec2f3e}html[data-theme=dark] .page-category-item.category0{background:#340509;color:#ba111f}.page-category-item.category0:hover{background:#f9bec3}html[data-theme=dark] .page-category-item.category0:hover{background:#53080e}.page-category-item.category1{background:#ffeee8;color:#fb7649}html[data-theme=dark] .page-category-item.category1{background:#441201;color:#f54205}.page-category-item.category1:hover{background:#fed4c6}html[data-theme=dark] .page-category-item.category1:hover{background:#6d1d02}.page-category-item.category2{background:#fef5e7;color:#f5b041}html[data-theme=dark] .page-category-item.category2{background:#3e2703;color:#e08e0b}.page-category-item.category2:hover{background:#fce6c4}html[data-theme=dark] .page-category-item.category2:hover{background:#633f05}.page-category-item.category3{background:#eafaf1;color:#55d98d}html[data-theme=dark] .page-category-item.category3{background:#0c331c;color:#29b866}.page-category-item.category3:hover{background:#caf3db}html[data-theme=dark] .page-category-item.category3:hover{background:#12522d}.page-category-item.category4{background:#e6f9ee;color:#36d278}html[data-theme=dark] .page-category-item.category4{background:#092917;color:#219552}.page-category-item.category4:hover{background:#c0f1d5}html[data-theme=dark] .page-category-item.category4:hover{background:#0f4224}.page-category-item.category5{background:#e1fcfc;color:#16e1e1}html[data-theme=dark] .page-category-item.category5{background:#042929;color:#0e9595}.page-category-item.category5:hover{background:#b4f8f8}html[data-theme=dark] .page-category-item.category5:hover{background:#064242}.page-category-item.category6{background:#e4f0fe;color:#2589f6}html[data-theme=dark] .page-category-item.category6{background:#021b36;color:#0862c3}.page-category-item.category6:hover{background:#bbdafc}html[data-theme=dark] .page-category-item.category6:hover{background:#042c57}.page-category-item.category7{background:#f7f1fd;color:#bb8ced}html[data-theme=dark] .page-category-item.category7{background:#2a0b4b;color:#9851e4}.page-category-item.category7:hover{background:#eadbfa}html[data-theme=dark] .page-category-item.category7:hover{background:#431277}.page-category-item.category8{background:#fdeaf5;color:#ef59ab}html[data-theme=dark] .page-category-item.category8{background:#400626;color:#e81689}.page-category-item.category8:hover{background:#facbe5}html[data-theme=dark] .page-category-item.category8:hover{background:#670a3d}.page-original-info{position:relative;display:inline-block;vertical-align:middle;overflow:hidden;padding:0 .5em;border:.5px solid var(--dark-grey);border-radius:.75em;background:var(--bg-color);font-size:.75em;line-height:1.5!important}.page-info{display:flex;flex-wrap:wrap;align-items:center;place-content:stretch flex-start;color:var(--dark-grey);font-size:14px}@media print{.page-info{display:flex!important}}.page-info>span{display:flex;align-items:center;max-width:100%;margin-inline-end:.5em;line-height:2}@media (min-width: 1440px){.page-info>span{font-size:1.1em}}@media (max-width: 419px){.page-info>span{margin-inline-end:.3em;font-size:.875em}}@media print{.page-info>span{display:flex!important}}.page-info .icon{position:relative;display:inline-block;vertical-align:middle;width:1em;height:1em;margin-inline-end:.25em}.page-info a{color:inherit}.page-info a:hover,.page-info a:active{color:var(--theme-color)}.page-meta{max-width:var(--content-width, 740px);margin-inline:auto;padding-inline:2.5rem;display:flex;flex-wrap:wrap;justify-content:space-between;overflow:auto;padding-top:.75rem;padding-bottom:.75rem}@media (max-width: 959px){.page-meta{padding-inline:1.5rem}}@media print{.page-meta{max-width:unset}}@media print{.page-meta{margin:0!important;padding-inline:0!important}}@media (max-width: 719px){.page-meta{display:block}}.page-meta .meta-item{flex-grow:1}.page-meta .meta-item .label{font-weight:500}.page-meta .meta-item .label:not(a){color:var(--text-color-lighter)}.page-meta .meta-item .info{color:var(--dark-grey);font-weight:400}.page-meta .git-info{text-align:end}.page-meta .edit-link{margin-top:.25rem;margin-bottom:.25rem;margin-inline-end:.5rem;font-size:14px}@media print{.page-meta .edit-link{display:none}}.page-meta .edit-link .icon{position:relative;bottom:-.125em;width:1em;height:1em;margin-inline-end:.25em}.page-meta .update-time,.page-meta .contributors{margin-top:.25rem;margin-bottom:.25rem;font-size:14px}@media (max-width: 719px){.page-meta .update-time,.page-meta .contributors{font-size:13px;text-align:start}}.print-button{border-width:0;background:transparent;cursor:pointer;box-sizing:content-box;width:1rem;height:1rem;padding:.5rem;border-radius:.25em;color:inherit;font-size:1rem;transform:translateY(.25rem)}@media print{.print-button{display:none}}.page-tag-info{flex-wrap:wrap}.page-tag-item{position:relative;display:inline-block;vertical-align:middle;overflow:hidden;min-width:1.5rem;margin:.125rem;padding:.125rem .25rem .125rem .625rem;background:var(--bg-color-secondary);background:linear-gradient(135deg,transparent .75em,var(--bg-color-secondary) 0) top,linear-gradient(45deg,transparent .75em,var(--bg-color-secondary) 0) bottom;background-size:100% 52%!important;background-repeat:no-repeat!important;color:var(--text-color-light);font-weight:700;font-size:.625rem;line-height:1.5;text-align:center;transition:background var(--color-transition),color var(--color-transition)}@media print{.page-tag-item{padding:0;font-weight:400}.page-tag-item:after{content:", "}.page-tag-item:last-of-type:after{content:""}}.page-tag-item.clickable:hover{cursor:pointer}.page-tag-item.tag0{background:#fde5e7;background:linear-gradient(135deg,transparent .75em,#fde5e7 0) top,linear-gradient(45deg,transparent .75em,#fde5e7 0) bottom;color:#ec2f3e}html[data-theme=dark] .page-tag-item.tag0{background:#340509;background:linear-gradient(135deg,transparent .75em,#340509 0) top,linear-gradient(45deg,transparent .75em,#340509 0) bottom;color:#ba111f}.page-tag-item.tag0.clickable:hover{background:#f9bec3;background:linear-gradient(135deg,transparent .75em,#f9bec3 0) top,linear-gradient(45deg,transparent .75em,#f9bec3 0) bottom}html[data-theme=dark] .page-tag-item.tag0.clickable:hover{background:#53080e;background:linear-gradient(135deg,transparent .75em,#53080e 0) top,linear-gradient(45deg,transparent .75em,#53080e 0) bottom}.page-tag-item.tag1{background:#ffeee8;background:linear-gradient(135deg,transparent .75em,#ffeee8 0) top,linear-gradient(45deg,transparent .75em,#ffeee8 0) bottom;color:#fb7649}html[data-theme=dark] .page-tag-item.tag1{background:#441201;background:linear-gradient(135deg,transparent .75em,#441201 0) top,linear-gradient(45deg,transparent .75em,#441201 0) bottom;color:#f54205}.page-tag-item.tag1.clickable:hover{background:#fed4c6;background:linear-gradient(135deg,transparent .75em,#fed4c6 0) top,linear-gradient(45deg,transparent .75em,#fed4c6 0) bottom}html[data-theme=dark] .page-tag-item.tag1.clickable:hover{background:#6d1d02;background:linear-gradient(135deg,transparent .75em,#6d1d02 0) top,linear-gradient(45deg,transparent .75em,#6d1d02 0) bottom}.page-tag-item.tag2{background:#fef5e7;background:linear-gradient(135deg,transparent .75em,#fef5e7 0) top,linear-gradient(45deg,transparent .75em,#fef5e7 0) bottom;color:#f5b041}html[data-theme=dark] .page-tag-item.tag2{background:#3e2703;background:linear-gradient(135deg,transparent .75em,#3e2703 0) top,linear-gradient(45deg,transparent .75em,#3e2703 0) bottom;color:#e08e0b}.page-tag-item.tag2.clickable:hover{background:#fce6c4;background:linear-gradient(135deg,transparent .75em,#fce6c4 0) top,linear-gradient(45deg,transparent .75em,#fce6c4 0) bottom}html[data-theme=dark] .page-tag-item.tag2.clickable:hover{background:#633f05;background:linear-gradient(135deg,transparent .75em,#633f05 0) top,linear-gradient(45deg,transparent .75em,#633f05 0) bottom}.page-tag-item.tag3{background:#eafaf1;background:linear-gradient(135deg,transparent .75em,#eafaf1 0) top,linear-gradient(45deg,transparent .75em,#eafaf1 0) bottom;color:#55d98d}html[data-theme=dark] .page-tag-item.tag3{background:#0c331c;background:linear-gradient(135deg,transparent .75em,#0c331c 0) top,linear-gradient(45deg,transparent .75em,#0c331c 0) bottom;color:#29b866}.page-tag-item.tag3.clickable:hover{background:#caf3db;background:linear-gradient(135deg,transparent .75em,#caf3db 0) top,linear-gradient(45deg,transparent .75em,#caf3db 0) bottom}html[data-theme=dark] .page-tag-item.tag3.clickable:hover{background:#12522d;background:linear-gradient(135deg,transparent .75em,#12522d 0) top,linear-gradient(45deg,transparent .75em,#12522d 0) bottom}.page-tag-item.tag4{background:#e6f9ee;background:linear-gradient(135deg,transparent .75em,#e6f9ee 0) top,linear-gradient(45deg,transparent .75em,#e6f9ee 0) bottom;color:#36d278}html[data-theme=dark] .page-tag-item.tag4{background:#092917;background:linear-gradient(135deg,transparent .75em,#092917 0) top,linear-gradient(45deg,transparent .75em,#092917 0) bottom;color:#219552}.page-tag-item.tag4.clickable:hover{background:#c0f1d5;background:linear-gradient(135deg,transparent .75em,#c0f1d5 0) top,linear-gradient(45deg,transparent .75em,#c0f1d5 0) bottom}html[data-theme=dark] .page-tag-item.tag4.clickable:hover{background:#0f4224;background:linear-gradient(135deg,transparent .75em,#0f4224 0) top,linear-gradient(45deg,transparent .75em,#0f4224 0) bottom}.page-tag-item.tag5{background:#e1fcfc;background:linear-gradient(135deg,transparent .75em,#e1fcfc 0) top,linear-gradient(45deg,transparent .75em,#e1fcfc 0) bottom;color:#16e1e1}html[data-theme=dark] .page-tag-item.tag5{background:#042929;background:linear-gradient(135deg,transparent .75em,#042929 0) top,linear-gradient(45deg,transparent .75em,#042929 0) bottom;color:#0e9595}.page-tag-item.tag5.clickable:hover{background:#b4f8f8;background:linear-gradient(135deg,transparent .75em,#b4f8f8 0) top,linear-gradient(45deg,transparent .75em,#b4f8f8 0) bottom}html[data-theme=dark] .page-tag-item.tag5.clickable:hover{background:#064242;background:linear-gradient(135deg,transparent .75em,#064242 0) top,linear-gradient(45deg,transparent .75em,#064242 0) bottom}.page-tag-item.tag6{background:#e4f0fe;background:linear-gradient(135deg,transparent .75em,#e4f0fe 0) top,linear-gradient(45deg,transparent .75em,#e4f0fe 0) bottom;color:#2589f6}html[data-theme=dark] .page-tag-item.tag6{background:#021b36;background:linear-gradient(135deg,transparent .75em,#021b36 0) top,linear-gradient(45deg,transparent .75em,#021b36 0) bottom;color:#0862c3}.page-tag-item.tag6.clickable:hover{background:#bbdafc;background:linear-gradient(135deg,transparent .75em,#bbdafc 0) top,linear-gradient(45deg,transparent .75em,#bbdafc 0) bottom}html[data-theme=dark] .page-tag-item.tag6.clickable:hover{background:#042c57;background:linear-gradient(135deg,transparent .75em,#042c57 0) top,linear-gradient(45deg,transparent .75em,#042c57 0) bottom}.page-tag-item.tag7{background:#f7f1fd;background:linear-gradient(135deg,transparent .75em,#f7f1fd 0) top,linear-gradient(45deg,transparent .75em,#f7f1fd 0) bottom;color:#bb8ced}html[data-theme=dark] .page-tag-item.tag7{background:#2a0b4b;background:linear-gradient(135deg,transparent .75em,#2a0b4b 0) top,linear-gradient(45deg,transparent .75em,#2a0b4b 0) bottom;color:#9851e4}.page-tag-item.tag7.clickable:hover{background:#eadbfa;background:linear-gradient(135deg,transparent .75em,#eadbfa 0) top,linear-gradient(45deg,transparent .75em,#eadbfa 0) bottom}html[data-theme=dark] .page-tag-item.tag7.clickable:hover{background:#431277;background:linear-gradient(135deg,transparent .75em,#431277 0) top,linear-gradient(45deg,transparent .75em,#431277 0) bottom}.page-tag-item.tag8{background:#fdeaf5;background:linear-gradient(135deg,transparent .75em,#fdeaf5 0) top,linear-gradient(45deg,transparent .75em,#fdeaf5 0) bottom;color:#ef59ab}html[data-theme=dark] .page-tag-item.tag8{background:#400626;background:linear-gradient(135deg,transparent .75em,#400626 0) top,linear-gradient(45deg,transparent .75em,#400626 0) bottom;color:#e81689}.page-tag-item.tag8.clickable:hover{background:#facbe5;background:linear-gradient(135deg,transparent .75em,#facbe5 0) top,linear-gradient(45deg,transparent .75em,#facbe5 0) bottom}html[data-theme=dark] .page-tag-item.tag8.clickable:hover{background:#670a3d;background:linear-gradient(135deg,transparent .75em,#670a3d 0) top,linear-gradient(45deg,transparent .75em,#670a3d 0) bottom}.vp-toc-placeholder{margin-inline:auto;padding-inline:2.5rem;position:sticky;top:calc(var(--navbar-height) + .5rem);z-index:99;display:none;max-width:var(--content-width, 740px)}@media (max-width: 959px){.vp-toc-placeholder{padding-inline:1.5rem}}@media print{.vp-toc-placeholder{max-width:unset}}@media (max-width: 719px){.hide-navbar .vp-toc-placeholder{top:.5rem}}@media (min-width: 1440px){.vp-toc-placeholder{top:calc(var(--navbar-height) + 2rem)}}@media print{.vp-toc-placeholder{display:none!important}}.vp-toc-placeholder+.theme-hope-content:not(.custom){padding-top:0}.has-toc .vp-toc-placeholder{display:block}#toc{margin-bottom:1rem;border-radius:8px;background:var(--bg-color-secondary)}@media (min-width: 1440px){#toc{position:absolute;inset-inline-start:calc(100% + 1rem);min-width:10rem;max-width:15rem;margin-bottom:0;border-radius:0;background:transparent}}.vp-toc-header{padding:.5rem 1rem;font-weight:600}@media (min-width: 1440px){.vp-toc-header{padding-top:0;font-size:.875rem}}.vp-toc-header .arrow{display:inline-block;vertical-align:middle;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;line-height:normal;transition:all .3s}html[data-theme=dark] .vp-toc-header .arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.vp-toc-header .arrow.down{transform:rotate(180deg)}html[dir=rtl] .vp-toc-header .arrow.down{transform:rotate(-180deg)}.vp-toc-header .arrow.end{transform:rotate(90deg)}html[dir=rtl] .vp-toc-header .arrow.end,.vp-toc-header .arrow.start{transform:rotate(-90deg)}html[dir=rtl] .vp-toc-header .arrow.start{transform:rotate(90deg)}@media (min-width: 1440px){.vp-toc-header .arrow{display:none}}.vp-toc-header .print-button{display:none}@media (min-width: 1440px){.vp-toc-header .print-button{display:inline-block}}.vp-toc-wrapper{position:relative;overflow:hidden auto;height:0;max-height:8rem;margin:0 .5rem;padding-inline-start:8px;text-overflow:ellipsis;white-space:nowrap;transition:height .5s;scroll-behavior:smooth}@media (min-width: 1440px){.vp-toc-wrapper{height:auto;max-height:75vh}}.vp-toc-wrapper.open{height:auto;margin-top:.5rem;padding-bottom:.5rem}.vp-toc-wrapper::-webkit-scrollbar-track-piece{background:transparent}.vp-toc-wrapper::-webkit-scrollbar{width:3px}.vp-toc-wrapper::-webkit-scrollbar-thumb:vertical{background:#ddd}html[data-theme=dark] .vp-toc-wrapper::-webkit-scrollbar-thumb:vertical{background:#333}.vp-toc-wrapper:before{content:" ";position:absolute;top:0;bottom:0;inset-inline-start:0;z-index:-1;width:2px;background:var(--border-color)}.vp-toc-list{position:relative;margin:0;padding:0}.vp-toc-marker{position:absolute;top:0;inset-inline-start:0;z-index:2;display:none;width:2px;height:1.7rem;background:var(--theme-color);transition:top var(--vp-tt)}@media (min-width: 1440px){.vp-toc-marker{display:block}}.vp-toc-link{position:relative;display:block;overflow:hidden;max-width:100%;color:var(--light-grey);line-height:inherit;text-overflow:ellipsis;white-space:nowrap}.vp-toc-link.level2{padding-inline-start:0px;font-size:14px}.vp-toc-link.level3{padding-inline-start:8px;font-size:13px}.vp-toc-link.level4{padding-inline-start:16px;font-size:12px}.vp-toc-link.level5{padding-inline-start:24px;font-size:11px}.vp-toc-link.level6{padding-inline-start:32px;font-size:10px}.vp-toc-item{position:relative;box-sizing:border-box;height:1.7rem;list-style:none;line-height:1.7rem}@media (min-width: 1440px){.vp-toc-item{padding:0 .5rem}}.vp-toc-item:hover>.vp-toc-link{color:var(--theme-color)}.vp-toc-item.active>.vp-toc-link{color:var(--theme-color);font-weight:700}.dropdown-wrapper{cursor:pointer}.dropdown-wrapper:not(:hover) .arrow{transform:rotate(-180deg)}.dropdown-wrapper .dropdown-title{border-width:0;background:transparent;cursor:pointer;padding:0 .25rem;color:var(--dark-grey);font-weight:500;font-size:inherit;font-family:inherit;line-height:inherit;cursor:inherit}.dropdown-wrapper .dropdown-title:hover{border-color:transparent}.dropdown-wrapper .dropdown-title .icon{margin-inline-end:.25em;font-size:1em}.dropdown-wrapper .dropdown-title .arrow{display:inline-block;vertical-align:middle;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;line-height:normal;transition:all .3s;font-size:1.2em}html[data-theme=dark] .dropdown-wrapper .dropdown-title .arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.dropdown-wrapper .dropdown-title .arrow.down{transform:rotate(180deg)}html[dir=rtl] .dropdown-wrapper .dropdown-title .arrow.down{transform:rotate(-180deg)}.dropdown-wrapper .dropdown-title .arrow.end{transform:rotate(90deg)}html[dir=rtl] .dropdown-wrapper .dropdown-title .arrow.end,.dropdown-wrapper .dropdown-title .arrow.start{transform:rotate(-90deg)}html[dir=rtl] .dropdown-wrapper .dropdown-title .arrow.start{transform:rotate(90deg)}.dropdown-wrapper ul{margin:0;padding:0;list-style-type:none}.dropdown-wrapper .nav-dropdown{position:absolute;top:100%;inset-inline-end:0;overflow-y:auto;box-sizing:border-box;min-width:6rem;max-height:calc(100vh - var(--navbar-height));margin:0;padding:.5rem .75rem;border:1px solid var(--grey14);border-radius:.5rem;background:var(--bg-color);box-shadow:2px 2px 10px var(--card-shadow);text-align:start;white-space:nowrap;opacity:0;visibility:hidden;transition:all .18s ease-out;transform:scale(.9)}.dropdown-wrapper:hover .nav-dropdown,.dropdown-wrapper.open .nav-dropdown{z-index:2;opacity:1;visibility:visible;transform:none}.dropdown-wrapper .nav-link{position:relative;display:block;margin-bottom:0;border-bottom:none;color:var(--dark-grey);font-weight:400;font-size:.875rem;line-height:1.7rem;transition:color var(--color-transition)}.dropdown-wrapper .nav-link:hover,.dropdown-wrapper .nav-link.active{color:var(--theme-color)}.dropdown-wrapper .dropdown-subtitle{margin:0;padding:.5rem .25rem 0;color:var(--light-grey);font-weight:600;font-size:.75rem;line-height:2;text-transform:uppercase;transition:color var(--color-transition)}.dropdown-wrapper .dropdown-subitem-wrapper{padding:0 0 .25rem}.dropdown-wrapper .dropdown-item{color:inherit;line-height:1.7rem}.dropdown-wrapper .dropdown-item:last-child .dropdown-subtitle{padding-top:0}.dropdown-wrapper .dropdown-item:last-child .dropdown-subitem-wrapper{padding-bottom:0}.nav-screen-dropdown-title{border-width:0;background:transparent;position:relative;display:flex;align-items:center;width:100%;padding:0;color:var(--dark-grey);font-size:inherit;font-family:inherit;text-align:start;cursor:pointer}.nav-screen-dropdown-title:hover,.nav-screen-dropdown-title.active{color:var(--text-color)}.nav-screen-dropdown-title .title{flex:1}.nav-screen-dropdown-title .arrow{display:inline-block;vertical-align:middle;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;line-height:normal;transition:all .3s}html[data-theme=dark] .nav-screen-dropdown-title .arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.nav-screen-dropdown-title .arrow.down{transform:rotate(180deg)}html[dir=rtl] .nav-screen-dropdown-title .arrow.down{transform:rotate(-180deg)}.nav-screen-dropdown-title .arrow.end{transform:rotate(90deg)}html[dir=rtl] .nav-screen-dropdown-title .arrow.end,.nav-screen-dropdown-title .arrow.start{transform:rotate(-90deg)}html[dir=rtl] .nav-screen-dropdown-title .arrow.start{transform:rotate(90deg)}.nav-screen-dropdown{overflow:hidden;margin:.5rem 0 0;padding:0;list-style:none;transition:transform .1s ease-out;transform:scaleY(1);transform-origin:top}.nav-screen-dropdown.hide{height:0;margin:0;transform:scaleY(0)}.nav-screen-dropdown .nav-link{position:relative;display:block;padding-inline-start:.5rem;font-weight:400;line-height:2}.nav-screen-dropdown .nav-link:hover,.nav-screen-dropdown .nav-link.active{color:var(--theme-color)}.nav-screen-dropdown .nav-link .icon{font-size:1em}.nav-screen-dropdown .dropdown-item{color:inherit;line-height:1.7rem}.nav-screen-dropdown .dropdown-subtitle{margin:0;padding-inline-start:.25rem;color:var(--light-grey);font-weight:600;font-size:.75rem;line-height:2;text-transform:uppercase;transition:color var(--color-transition)}.nav-screen-dropdown .dropdown-subtitle .nav-link{padding:0}.nav-screen-dropdown .dropdown-subitem-wrapper{margin:0;padding:0;list-style:none}.nav-screen-dropdown .dropdown-subitem{padding-inline-start:.5rem;font-size:.9em}.nav-screen-links{display:none;padding-bottom:.75rem}@media (max-width: 719px){.nav-screen-links{display:block}}.nav-screen-links .navbar-links-item{position:relative;display:block;padding:12px 4px 11px 0;border-bottom:1px solid var(--border-color);font-size:16px;line-height:1.5rem;transition:border-bottom-color var(--color-transition)}.nav-screen-links .nav-link{display:inline-block;width:100%;color:var(--dark-grey);font-weight:400}.nav-screen-links .nav-link:hover{color:var(--text-color)}.nav-screen-links .nav-link.active{color:var(--theme-color)}.vp-nav-screen-container{max-width:320px;margin:0 auto;padding:2rem 0 4rem}#nav-screen{position:fixed;inset:var(--navbar-height) 0 0 0;z-index:150;display:none;overflow-y:auto;padding:0 2rem;background:var(--bg-color);transition:background .5s}@media (max-width: 719px){#nav-screen{display:block}}#nav-screen.fade-enter-active,#nav-screen.fade-leave-active{transition:opacity .25s}#nav-screen.fade-enter-active .vp-nav-screen-container,#nav-screen.fade-leave-active .vp-nav-screen-container{transition:transform .25s ease}#nav-screen.fade-enter-from,#nav-screen.fade-leave-to{opacity:0}#nav-screen.fade-enter-from .vp-nav-screen-container,#nav-screen.fade-leave-to .vp-nav-screen-container{transform:translateY(-8px)}#nav-screen .icon{margin-inline-end:.25em;font-size:1em}#nav-screen img.icon{vertical-align:-.125em;height:1em}.vp-outlook-wrapper{display:flex;justify-content:space-around}.vp-nav-logo{vertical-align:top;height:var(--navbar-line-height);margin-inline-end:.8rem}.vp-nav-logo.light{display:inline-block}.vp-nav-logo.dark,html[data-theme=dark] .vp-nav-logo.light{display:none}html[data-theme=dark] .vp-nav-logo.dark{display:inline-block}.vp-site-name{position:relative;color:var(--text-color);font-size:1.25rem}@media (max-width: 719px){.vp-site-name{overflow:hidden;width:calc(100vw - 9.4rem);text-overflow:ellipsis;white-space:nowrap}}.vp-brand:hover .vp-site-name{color:var(--theme-color)}.vp-navbar .vp-nav-links{display:flex;align-items:center;font-size:.875rem}.vp-navbar .nav-item{position:relative;margin:0 .25rem;line-height:2rem}.vp-navbar .nav-item:first-child{margin-inline-start:0}.vp-navbar .nav-item:last-child{margin-inline-end:0}.vp-navbar .nav-item>.nav-link{color:var(--dark-grey)}.vp-navbar .nav-item>.nav-link:after{content:" ";position:absolute;inset:auto 50% 0;height:2px;border-radius:1px;background:var(--theme-color-light);visibility:hidden;transition:inset .2s ease-in-out}.vp-navbar .nav-item>.nav-link.active{color:var(--theme-color)}.vp-navbar .nav-item>.nav-link:hover:after,.vp-navbar .nav-item>.nav-link.active:after{inset:auto 0 0;visibility:visible}.vp-navbar{--navbar-line-height: calc( var(--navbar-height) - var(--navbar-vertical-padding) * 2 );position:fixed;inset:0 0 auto;z-index:175;display:flex;align-items:center;justify-content:space-between;box-sizing:border-box;height:var(--navbar-height);padding:var(--navbar-vertical-padding) var(--navbar-horizontal-padding);background:var(--navbar-bg-color);box-shadow:0 2px 8px var(--card-shadow);line-height:var(--navbar-line-height);white-space:nowrap;transition:transform ease-in-out .3s,background var(--color-transition),box-shadow var(--color-transition);-webkit-backdrop-filter:saturate(150%) blur(12px);backdrop-filter:saturate(150%) blur(12px)}@media print{.vp-navbar{display:none}}.hide-navbar .vp-navbar.auto-hide{transform:translateY(-100%)}.vp-navbar .nav-link{padding:0 .25rem;color:var(--dark-grey)}.vp-navbar .nav-link.active{color:var(--theme-color)}.vp-navbar .nav-link .icon{margin-inline-end:.25em;font-size:1em}.vp-navbar .nav-link img.icon{vertical-align:-.125em;height:1em}.vp-navbar.hide-icon .vp-nav-links .icon{display:none!important}.vp-navbar-start,.vp-navbar-end,.vp-navbar-center{display:flex;flex:1;align-items:center}.vp-navbar-start>*,.vp-navbar-end>*,.vp-navbar-center>*{position:relative;margin:0 .25rem!important}.vp-navbar-start>*:first-child,.vp-navbar-end>*:first-child,.vp-navbar-center>*:first-child{margin-inline-start:0!important}.vp-navbar-start>*:last-child,.vp-navbar-end>*:last-child,.vp-navbar-center>*:last-child{margin-inline-end:0!important}.vp-navbar-start{justify-content:start}.vp-navbar-center{justify-content:center}.vp-navbar-end{justify-content:end}.vp-navbar .vp-repo{margin:0!important}.vp-navbar .vp-repo-link{display:inline-block;margin:auto;padding:6px;color:var(--dark-grey);line-height:1}.vp-navbar .vp-repo-link:hover,.vp-navbar .vp-repo-link:active{color:var(--theme-color)}.vp-toggle-navbar-button{border-width:0;background:transparent;cursor:pointer;position:relative;display:none;align-items:center;justify-content:center;padding:6px}@media screen and (max-width: 719px){.vp-toggle-navbar-button{display:flex}}.vp-toggle-navbar-button>span{position:relative;overflow:hidden;width:16px;height:14px}.vp-toggle-navbar-button .vp-top,.vp-toggle-navbar-button .vp-middle,.vp-toggle-navbar-button .vp-bottom{position:absolute;width:16px;height:2px;background:var(--dark-grey);transition:top .25s,background .5s,transform .25s}.vp-toggle-navbar-button .vp-top{top:0;left:0;transform:translate(0)}.vp-toggle-navbar-button .vp-middle{top:6px;left:0;transform:translate(8px)}.vp-toggle-navbar-button .vp-bottom{top:12px;left:0;transform:translate(4px)}.vp-toggle-navbar-button:hover .vp-top{top:0;left:0;transform:translate(4px)}.vp-toggle-navbar-button:hover .vp-middle{top:6;left:0;transform:translate(0)}.vp-toggle-navbar-button:hover .vp-bottom{top:12px;left:0;transform:translate(8px)}.vp-toggle-navbar-button.is-active .vp-top{top:6px;transform:translate(0) rotate(225deg)}.vp-toggle-navbar-button.is-active .vp-middle{top:6px;transform:translate(16px)}.vp-toggle-navbar-button.is-active .vp-bottom{top:6px;transform:translate(0) rotate(135deg)}.vp-toggle-navbar-button.is-active:hover .vp-top,.vp-toggle-navbar-button.is-active:hover .vp-middle,.vp-toggle-navbar-button.is-active:hover .vp-bottom{background:var(--theme-color);transition:top .25s,background .25s,transform .25s}.vp-toggle-sidebar-button{border-width:0;background:transparent;cursor:pointer;display:none;vertical-align:middle;box-sizing:content-box;width:1rem;height:1rem;padding:.5rem;font:unset;transition:transform .2s ease-in-out}@media screen and (max-width: 719px){.vp-toggle-sidebar-button{display:block;padding-inline-end:var(--navbar-mobile-horizontal-padding)}}.vp-toggle-sidebar-button:before,.vp-toggle-sidebar-button:after,.vp-toggle-sidebar-button .icon{display:block;width:100%;height:2px;border-radius:.05em;background:var(--dark-grey);transition:transform .2s ease-in-out}.vp-toggle-sidebar-button:before{content:" ";margin-top:.125em}.sidebar-open .vp-toggle-sidebar-button:before{transform:translateY(.34rem) rotate(135deg)}.vp-toggle-sidebar-button:after{content:" ";margin-bottom:.125em}.sidebar-open .vp-toggle-sidebar-button:after{transform:translateY(-.34rem) rotate(-135deg)}.vp-toggle-sidebar-button .icon{margin:.2em 0}.sidebar-open .vp-toggle-sidebar-button .icon{transform:scale(0)}.appearance-title{display:block;margin:0;padding:0 .25rem;color:var(--light-grey);font-weight:600;font-size:.75rem;line-height:2;transition:color var(--color-transition)}#appearance-switch{border-width:0;background:transparent;vertical-align:middle;padding:6px;color:var(--dark-grey);cursor:pointer;transition:color var(--color-transition)}#appearance-switch:hover{color:var(--theme-color)}#appearance-switch .icon{width:1.25rem;height:1.25rem}.outlook-button{border-width:0;background:transparent;cursor:pointer;position:relative;padding:.375rem;color:var(--dark-grey)}.outlook-button .icon{vertical-align:middle;width:1.25rem;height:1.25rem}.outlook-dropdown{position:absolute;top:100%;inset-inline-end:0;overflow-y:auto;box-sizing:border-box;min-width:100px;margin:0;padding:.5rem .75rem;border:1px solid var(--grey14);border-radius:.25rem;background:var(--bg-color);box-shadow:2px 2px 10px var(--card-shadow);text-align:start;white-space:nowrap;opacity:0;visibility:hidden;transition:all .18s ease-out;transform:scale(.8)}.outlook-dropdown>*:not(:last-child){padding-bottom:.5rem;border-bottom:1px solid var(--grey14)}.outlook-button:hover .outlook-dropdown,.outlook-button.open .outlook-dropdown{z-index:2;opacity:1;visibility:visible;transform:scale(1)}.theme-color-title{display:block;margin:0;padding:0 .25rem;color:var(--light-grey);font-weight:600;font-size:.75rem;line-height:2;transition:color var(--color-transition)}#theme-color-picker{display:flex;margin:0;padding:0;list-style-type:none;font-size:14px}#theme-color-picker li span{display:inline-block;vertical-align:middle;width:15px;height:15px;margin:0 2px;border-radius:2px}#theme-color-picker li span.theme-color,#theme-color-picker li span.theme-color html[data-theme=dark]{background:#096dd9}@media print{.full-screen-wrapper{display:none}}.full-screen-title{display:block;margin:0;padding:0 .25rem;color:var(--light-grey);font-weight:600;font-size:.75rem;line-height:2;transition:color var(--color-transition)}.full-screen,.cancel-full-screen{border-width:0;background:transparent;vertical-align:middle;padding:.375rem;color:var(--dark-grey);cursor:pointer}.full-screen:hover,.cancel-full-screen:hover{color:var(--theme-color)}.full-screen .icon,.cancel-full-screen .icon{width:1.25rem;height:1.25rem}.enter-fullscreen-icon:hover,.cancel-fullscreen-icon{color:var(--theme-color)}.cancel-fullscreen-icon:hover{color:var(--dark-grey)}.vp-sidebar-header{display:flex;align-items:center;overflow:hidden;box-sizing:border-box;width:calc(100% - 1rem);margin:0;margin-inline:.5rem;padding:.25rem .5rem;border-width:0;border-radius:.375rem;background:transparent;color:var(--text-color);font-size:1.1em;line-height:1.5;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:color .15s ease;transform:rotate(0)}.vp-sidebar-header.open{color:inherit}.vp-sidebar-header.clickable:hover{background:var(--bg-color-secondary)}.vp-sidebar-header.clickable.exact{border-inline-start-color:var(--theme-color);color:var(--theme-color)}.vp-sidebar-header.clickable.exact a{color:inherit}.vp-sidebar-header .vp-sidebar-title{flex:1}.vp-sidebar-header .vp-arrow{display:inline-block;vertical-align:middle;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;line-height:normal;transition:all .3s;font-size:1.5em}html[data-theme=dark] .vp-sidebar-header .vp-arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.vp-sidebar-header .vp-arrow.down{transform:rotate(180deg)}html[dir=rtl] .vp-sidebar-header .vp-arrow.down{transform:rotate(-180deg)}.vp-sidebar-header .vp-arrow.end{transform:rotate(90deg)}html[dir=rtl] .vp-sidebar-header .vp-arrow.end,.vp-sidebar-header .vp-arrow.start{transform:rotate(-90deg)}html[dir=rtl] .vp-sidebar-header .vp-arrow.start{transform:rotate(90deg)}button.vp-sidebar-header{outline:none;font-weight:inherit;font-family:inherit;line-height:inherit;text-align:start;cursor:pointer}.vp-sidebar-link{display:inline-block;box-sizing:border-box;width:calc(100% - 1rem);margin-inline:.5rem;padding:.25rem .5rem;border-radius:.375rem;color:var(--text-color);font-weight:400;font-size:1em;line-height:1.5}.vp-sidebar-link:hover{background:var(--bg-color-secondary)}.vp-sidebar-link.active{background:var(--theme-color-mask);color:var(--theme-color);font-weight:500}.vp-sidebar-link.active .icon{color:var(--theme-color)}.vp-sidebar-group:not(.collapsible) .vp-sidebar-header:not(.clickable){color:inherit;cursor:auto}.vp-sidebar-group .vp-sidebar-group{padding-inline-start:.75rem}.vp-sidebar-group .vp-sidebar-group .vp-sidebar-header{font-size:1em}.vp-sidebar-group .vp-sidebar-link{padding-inline-start:1.25rem}.vp-sidebar-links,.vp-sidebar-links ul{margin:0;padding:0}.vp-sidebar-links li{list-style-type:none}.vp-sidebar>.vp-sidebar-links{padding:1.5rem 0}@media (max-width: 719px){.vp-sidebar>.vp-sidebar-links{padding:1rem 0}}.vp-sidebar>.vp-sidebar-links>li>.vp-sidebar-link{font-size:1.1em}.vp-sidebar>.vp-sidebar-links>li:not(:first-child){margin-top:.5rem}.vp-sidebar{position:fixed;top:0;bottom:0;inset-inline-start:0;z-index:1;overflow-y:auto;width:var(--sidebar-width);margin:0;padding-inline-start:calc(var(--sidebar-space) - var(--sidebar-width));background:var(--sidebar-bg-color);box-shadow:2px 0 8px var(--card-shadow);font-size:.94rem;transition:background var(--color-transition),box-shadow var(--color-transition),padding var(--transform-transition),transform var(--transform-transition);-webkit-backdrop-filter:saturate(150%) blur(12px);backdrop-filter:saturate(150%) blur(12px);scrollbar-color:var(--theme-color) var(--border-color);scrollbar-width:thin}@media (max-width: 959px){.vp-sidebar{font-size:.86em}}@media (max-width: 719px){.vp-sidebar{z-index:125;box-shadow:none;transform:translate(-100%)}html[dir=rtl] .vp-sidebar{transform:translate(100%)}}@media (min-width: 1440px){.vp-sidebar{padding-bottom:3rem;box-shadow:none;font-size:1rem}}@media print{.vp-sidebar{display:none}}.vp-sidebar a{display:inline-block;color:var(--text-color);font-weight:400}.vp-sidebar .icon{margin-inline-end:.25em;font-size:1em}.vp-sidebar img.icon{vertical-align:-.125em;height:1em}.vp-sidebar.hide-icon .icon{display:none!important}.vp-sidebar-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9;background:#00000026}.vp-sidebar-mask.fade-enter-active,.vp-sidebar-mask.fade-leave-active{transition:opacity .25s}.vp-sidebar-mask.fade-enter-from,.vp-sidebar-mask.fade-leave-to{opacity:0}
diff --git a/assets/vidstack--aheHlrm-D0XbZ3jM.js b/assets/vidstack--aheHlrm-D0XbZ3jM.js
deleted file mode 100644
index be090a5..0000000
--- a/assets/vidstack--aheHlrm-D0XbZ3jM.js
+++ /dev/null
@@ -1 +0,0 @@
-import{aI as m,o as g,s as n,aJ as y,f as k,aK as v,e as f,G as h,aL as T,aM as S,aN as C,p as $,v as w,aO as b,aP as A,aQ as u,h as D}from"./vidstack-6noeGFNR-CV2ORO4j.js";import{R as E}from"./vidstack-Bo6FErSD-BNmXqUs8.js";let o=null,c=[],d=[];function l(){return o??(o=new AudioContext)}function x(){const e=l(),t=e.createGain();return t.connect(e.destination),c.push(t),t}function G(e,t){const i=l(),s=i.createMediaElementSource(e);return t&&s.connect(t),d.push(s),s}function P(e){const t=c.indexOf(e);t!==-1&&(c.splice(t,1),e.disconnect(),p())}function R(e){const t=d.indexOf(e);t!==-1&&(d.splice(t,1),e.disconnect(),p())}function p(){o&&c.length===0&&d.length===0&&o.close().then(()=>{o=null})}class B{constructor(t,i){this.a=t,this.B=i,this.Cn=null,this.Dn=null}get currentGain(){var t,i;return((i=(t=this.Cn)==null?void 0:t.gain)==null?void 0:i.value)??null}get supported(){return!0}setGain(t){const i=this.currentGain;if(t!==this.currentGain){if(t===1&&i!==1){this.removeGain();return}this.Cn||(this.Cn=x(),this.Dn&&this.Dn.connect(this.Cn)),this.Dn||(this.Dn=G(this.a,this.Cn)),this.Cn.gain.value=t,this.B(t)}}removeGain(){this.Cn&&(this.Dn&&this.Dn.connect(l().destination),this.En(),this.B(null))}destroy(){this.Fn(),this.En()}Fn(){if(this.Dn)try{R(this.Dn)}catch{}finally{this.Dn=null}}En(){if(this.Cn)try{P(this.Cn)}catch{}finally{this.Cn=null}}}class I{constructor(t,i){this.i=t,this.b=i,this.sa=v(),this.Cb=!1,this.$c=!1,this.ad=!1,this.Da=new E(this.bd.bind(this)),this.Qe=void 0,this.Dg=void 0,this.pg(),f(this.qg.bind(this)),g(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 h(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),(T||S&&C(this.b.$state.source()))&&this.b.delegate.jc(this.ed(),t)}ed(){return{provider:$(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()&&w(this.a.controls)&&(this.a.controls=!1)}qg(){this.b.$state.paused()&&h(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)&&b(this.a.duration)>b(this.a.currentTime)&&(this.$a(this.a.duration,t),this.a.ended||this.b.player.dispatch(new A("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 M{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),h(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=i.id.toString()||`native-audio-${this.b.audioTracks.length}`,a={id:s,label:i.label,language:i.language,kind:i.kind,selected:!1};this.b.audioTracks[u.oa](a,t),i.enabled&&(a.selected=!0)}Gg(t){const i=this.b.audioTracks.getById(t.track.id);i&&this.b.audioTracks[u.Yb](i,t)}Hg(t){let i=this.Re();if(!i)return;const s=this.b.audioTracks.getById(i.id);s&&this.b.audioTracks[u.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 a=this.Re();a&&(a.enabled=!1),s.enabled=!0}}}class L{constructor(t,i){this.a=t,this.b=i,this.scope=m(),this.V=null,this.audioGain=new B(this.a,s=>{this.b.delegate.c("audio-gain-change",s)})}setup(){new I(this,this.b),"audioTracks"in this.media&&new M(this,this.b),g(()=>{this.audioGain.destroy(),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){n(this.a,"playsinline",t)}async loadSource({src:t,type:i},s){this.a.preload=s||"",y(t)?(this.Bn(),this.a.srcObject=t):(this.a.srcObject=null,k(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]"),a=s??document.createElement("source");n(a,"src",this.Ik(t.src)),n(a,"type",t.type!=="?"?t.type:i),n(a,"data-vds",""),s||this.a.append(a)}Bn(){var t;(t=this.a.querySelector("source[data-vds]"))==null||t.remove()}Ik(t){const{clipStartTime:i,clipEndTime:s}=this.b.$state,a=i(),r=s();return a>0&&r>0?`${t}#t=${a},${r}`:a>0?`${t}#t=${a}`:r>0?`${t}#t=0,${r}`:t}}class F{constructor(t,i){this.a=t,this.b=i,this.Se=D(!1),this.Hm()}get supported(){return this.Se()}Hm(){var t;!((t=this.a)!=null&&t.remote)||!this.sl||(this.a.remote.watchAvailability(i=>{this.Se.set(i)}).catch(()=>{this.Se.set(!1)}),f(this.rn.bind(this)))}rn(){if(!this.Se())return;const t=["connecting","connect","disconnect"],i=this.Rg.bind(this);i(),h(this.a,"playing",i);for(const s of t)h(this.a.remote,s,i)}async prompt(){if(!this.supported)throw Error("Not supported on this platform.");return this.vb==="airplay"&&this.a.webkitShowPlaybackTargetPicker?this.a.webkitShowPlaybackTargetPicker():this.a.remote.prompt()}Rg(t){const i=this.a.remote.state;if(i===this.mc)return;const s={type:this.vb,state:i};this.b.delegate.c("remote-playback-change",s,t),this.mc=i}}class N extends F{constructor(){super(...arguments),this.vb="airplay"}get sl(){return"WebKitPlaybackTargetAvailabilityEvent"in window}}export{L as H,N as a};
diff --git a/assets/vidstack-6Diumpjc-skZC_-ru.js b/assets/vidstack-6Diumpjc-skZC_-ru.js
deleted file mode 100644
index 73b7f7b..0000000
--- a/assets/vidstack-6Diumpjc-skZC_-ru.js
+++ /dev/null
@@ -1 +0,0 @@
-import{b6 as n,h as a,G as c,e as d,p as h,b7 as u,f as b}from"./vidstack-6noeGFNR-CV2ORO4j.js";function f(r,t=3e3){const s=n();return setTimeout(()=>{const i=r();i&&s.reject(i)},t),s}class p{constructor(t){this.db=t,this.cb=a(""),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))&&(!b(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-6noeGFNR-CV2ORO4j.js b/assets/vidstack-6noeGFNR-CV2ORO4j.js
deleted file mode 100644
index e774ed4..0000000
--- a/assets/vidstack-6noeGFNR-CV2ORO4j.js
+++ /dev/null
@@ -1,9 +0,0 @@
-function __vite__mapDeps(indexes) {
-  if (!__vite__mapDeps.viteFileDeps) {
-    __vite__mapDeps.viteFileDeps = ["assets/prod-xvsVbB4U.js","assets/app-ClwIkahu.js","assets/vidstack-audio-hs_QPpze.js","assets/vidstack--aheHlrm-D0XbZ3jM.js","assets/vidstack-Bo6FErSD-BNmXqUs8.js","assets/vidstack-video-CyPaYbdo.js","assets/vidstack-dash-BqbBaHag.js","assets/vidstack-hls-CIP-Lz7f.js","assets/vidstack-vimeo-BPMOyBVx.js","assets/vidstack-6Diumpjc-skZC_-ru.js","assets/vidstack-BTBUzdbF-Cao5mZMB.js","assets/vidstack-youtube-C5r0TGB2.js","assets/vidstack-DscYSLiW-CA6XwpqT.js","assets/vidstack-CAAXXkW1-BpQVpXJK.js"]
-  }
-  return indexes.map((i) => __vite__mapDeps.viteFileDeps[i])
-}
-import{_ as et}from"./app-ClwIkahu.js";const rt=Symbol(0);let De=!1,Ts=!1,ct=null,Kt=null,nt=null,X=0,Ht=[],Vs={};const ir=()=>{},Yt=0,la=1,re=2,as=3;function nr(){De=!0,queueMicrotask(ua)}function ua(){if(!Ht.length){De=!1;return}Ts=!0;for(let i=0;i<Ht.length;i++)Ht[i].$st!==Yt&&ar(Ht[i]);Ht=[],De=!1,Ts=!1}function ar(i){let t=[i];for(;i=i[rt];)i.$e&&i.$st!==Yt&&t.push(i);for(let e=t.length-1;e>=0;e--)zs(t[e])}function rr(i){const t=Me();return ge(t,i.length?i.bind(null,be.bind(t)):i,null)}function m(i){return ge(ct,i,null)}function Hs(i){return ge(null,i,null)}function $t(){Ts||ua()}function rs(){return ct}function B(i,t){try{return ge(t,i,null)}catch(e){Ks(t,e);return}}function da(i,t=ct){return t==null?void 0:t.$cx[i]}function or(i,t,e=ct){e&&(e.$cx={...e.$cx,[i]:t})}function P(i){if(!i||!ct)return i||ir;const t=ct;return t.$d?Array.isArray(t.$d)?t.$d.push(i):t.$d=[t.$d,i]:t.$d=i,function(){t.$st!==as&&(i.call(null),os(t.$d)?t.$d=null:Array.isArray(t.$d)&&t.$d.splice(t.$d.indexOf(i),1))}}function be(i=!0){if(this.$st===as)return;let t=i?this.$ps||this[rt]:this,e=this.$ns,s=null;for(;e&&e[rt]===this;)be.call(e,!0),nn(e),s=e.$ns,e.$ns=null,e=s;i&&nn(this),e&&(e.$ps=i?this.$ps:this),t&&(t.$ns=e)}function nn(i){i.$st=as,i.$d&&pa(i),i.$s&&Ee(i,0),i.$ps&&(i.$ps.$ns=null),i[rt]=null,i.$s=null,i.$o=null,i.$ps=null,i.$cx=Vs,i.$eh=null}function pa(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){Ks(i,t)}}function ge(i,t,e){const s=ct,n=Kt;ct=i,Kt=e;try{return t.call(i)}finally{ct=s,Kt=n}}function Ks(i,t){if(!i||!i.$eh)throw t;let e=0,s=i.$eh.length,n=an(t);for(e=0;e<s;e++)try{i.$eh[e](n);break}catch(a){n=an(a)}if(e===s)throw n}function an(i){return i instanceof Error?i:Error(JSON.stringify(i))}function Us(){return this.$st===as?this.$v:(Kt&&!this.$e&&(!nt&&Kt.$s&&Kt.$s[X]==this?X++:nt?nt.push(this):nt=[this]),this.$c&&zs(this),this.$v)}function fa(i){const t=os(i)?i(this.$v):i;if(this.$ch(this.$v,t)&&(this.$v=t,this.$o))for(let e=0;e<this.$o.length;e++)ga(this.$o[e],re);return this.$v}const Qs=function(){this[rt]=null,this.$ns=null,this.$ps=null,ct&&ct.append(this)},It=Qs.prototype;It.$cx=Vs;It.$eh=null;It.$c=null;It.$d=null;It.append=function(i){if(i[rt]=this,i.$ps=this,this.$ns)if(i.$ns){let t=i.$ns;for(;t.$ns;)t=t.$ns;t.$ns=this.$ns,this.$ns.$ps=t}else i.$ns=this.$ns,this.$ns.$ps=i;this.$ns=i,i.$cx=i.$cx===Vs?this.$cx:{...this.$cx,...i.$cx},this.$eh&&(i.$eh=i.$eh?[...i.$eh,...this.$eh]:this.$eh)};It.dispose=function(){be.call(this)};function Me(){return new Qs}const ma=function(t,e,s){Qs.call(this),this.$st=e?re:Yt,this.$i=!1,this.$e=!1,this.$s=null,this.$o=null,this.$v=t,e&&(this.$c=e),s&&s.dirty&&(this.$ch=s.dirty)},Bs=ma.prototype;Object.setPrototypeOf(Bs,It);Bs.$ch=hr;Bs.call=Us;function Ws(i,t,e){return new ma(i,t,e)}function hr(i,t){return i!==t}function os(i){return typeof i=="function"}function zs(i){if(i.$st===la)for(let t=0;t<i.$s.length&&(zs(i.$s[t]),i.$st!==re);t++);i.$st===re?ba(i):i.$st=Yt}function rn(i){i.$ns&&i.$ns[rt]===i&&be.call(i,!1),i.$d&&pa(i),i.$eh=i[rt]?i[rt].$eh:null}function ba(i){let t=nt,e=X;nt=null,X=0;try{rn(i);const s=ge(i,i.$c,i);if(nt){if(i.$s&&Ee(i,X),i.$s&&X>0){i.$s.length=X+nt.length;for(let a=0;a<nt.length;a++)i.$s[X+a]=nt[a]}else i.$s=nt;let n;for(let a=X;a<i.$s.length;a++)n=i.$s[a],n.$o?n.$o.push(i):n.$o=[i]}else i.$s&&X<i.$s.length&&(Ee(i,X),i.$s.length=X);!i.$e&&i.$i?fa.call(i,s):(i.$v=s,i.$i=!0)}catch(s){Ks(i,s),i.$st===re&&(rn(i),i.$s&&Ee(i,0));return}nt=t,X=e,i.$st=Yt}function ga(i,t){if(!(i.$st>=t)&&(i.$e&&i.$st===Yt&&(Ht.push(i),De||nr()),i.$st=t,i.$o))for(let e=0;e<i.$o.length;e++)ga(i.$o[e],la)}function Ee(i,t){let e,s;for(let n=t;n<i.$s.length;n++)e=i.$s[n],e.$o&&(s=e.$o.indexOf(i),e.$o[s]=e.$o[e.$o.length-1],e.$o.pop())}function qe(...i){}function Et(i){return i===null}function J(i){return typeof i>"u"}function Kc(i){return Et(i)||J(i)}function cr(i){return(i==null?void 0:i.constructor)===Object}function at(i){return typeof i=="number"&&!Number.isNaN(i)}function v(i){return typeof i=="string"}function on(i){return typeof i=="boolean"}function ut(i){return typeof i=="function"}function U(i){return Array.isArray(i)}var hn;const lr=Event,ya=Symbol("DOM_EVENT");class D extends lr{constructor(t,...e){var n,a;super(t,e[0]),this[hn]=!0,this.triggers=new ur,this.detail=(n=e[0])==null?void 0:n.detail;const s=(a=e[0])==null?void 0:a.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}}hn=ya;class ur{constructor(){this.chain=[]}get source(){return this.chain[0]}get origin(){return this.chain[this.chain.length-1]}add(t){this.chain.push(t),dr(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 dr(i){return!!(i!=null&&i[ya])}class $a 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 cn(i){return!!(i!=null&&i.type.startsWith("pointer"))}function Ae(i){return!!(i!=null&&i.type.startsWith("touch"))}function pr(i){return/^(click|mouse)/.test((i==null?void 0:i.type)??"")}function Ys(i){return!!(i!=null&&i.type.startsWith("key"))}function wa(i){return Ys(i)&&(i.key==="Enter"||i.key===" ")}function fr(i){return i instanceof Node}function T(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 ln(i,t,e){i.classList[e?"add":"remove"](t)}function $(i,t){const e=Ws(i,null,t),s=Us.bind(e);return s[rt]=!0,s.set=fa.bind(e),s}function mr(i){return os(i)&&rt in i}function dt(i,t){const e=Ws(t==null?void 0:t.initial,i,t),s=Us.bind(e);return s[rt]=!0,s}function br(i,t){const e=Ws(null,function(){let n=i();return os(n)&&P(n),null},void 0);return e.$e=!0,ba(e),be.bind(e,!0)}function gr(i){return mr(i)&&"set"in i}const u=br;function vt(i){return{id:Symbol(),provide:i}}function z(i,t,e=rs()){var n;const s=!J(t);or(i.id,s?t:(n=i.provide)==null?void 0:n.call(i),e)}function q(i){return da(i.id)}function st(i){return!J(da(i.id))}const Zt=Symbol(0),te=Symbol(0),va=Symbol(0);var un;const ms={};class yr{constructor(t,e,s){var r;this[un]=null,this.$el=$(null),this.a=null,this.d=null,this.f=null,this.g=null,this.e=null,this.o=!1,this.i=ms,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,a=t.props;if(n&&(this.h=n.create(),this.k=new Proxy(this.h,{get:(o,h)=>this.h[h]()}),z(n,this.h)),a&&(this.i=$r(a),s!=null&&s.props))for(const o of Object.keys(s.props))(r=this.i[o])==null||r.set(s.props[o]);P(this.p.bind(this))}w(){B(()=>{for(const t of this.l)t()},this.d)}x(t){this.a||(this.a=t,this.$el.set(t),B(()=>{this.f=Me(),B(()=>{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||B(()=>{this.g=Me(),B(()=>{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,B(()=>{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=ms,this.d=null,this.k=ms,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))ut(this.b[t])?u(this.u.bind(this,t)):T(this.a,t,this.b[t])}r(){if(this.c)for(const t of Object.keys(this.c))ut(this.c[t])?u(this.v.bind(this,t)):Z(this.a,t,this.c[t])}u(t){T(this.a,t,this.b[t].call(this.e))}v(t){Z(this.a,t,this.c[t].call(this.e))}}un=va;function $r(i){const t={};for(const e of Object.keys(i)){const s=i[e];t[e]=$(s,s)}return t}let ee={$$:null};function wr(i,t){return rr(()=>{ee.$$=new yr(i,rs(),t);const e=new i;return ee.$$.e=e,ee.$$=null,e})}class ht extends EventTarget{constructor(){super(),ee.$$&&this.attach(ee)}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 D(t,e[0])}dispatch(t,...e){if(!this.el)return!1;const s=t instanceof Event?t:new D(t,e[0]);return Object.defineProperty(s,"target",{get:()=>this.$$.e}),Hs(()=>{var n,a;return(a=(n=this.$$)[va])==null||a.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):qe}}class w extends ht{subscribe(t){return B(()=>u(()=>t(this.state)),this.$$.d)}destroy(){this.$$.p()}}function k(i,t,e){i[Zt]||(i[Zt]=new Set),i[Zt].add(t)}function I(i,t,e){i[te]||(i[te]=new Set),i[te].add(t)}class At{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?dt(n.bind(e)):$(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 hs(i){return q(i)}function vr(i,t){for(const e of i)e(t)}function Ta(i){return i.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function Tr(i){return i.replace(/-./g,t=>t[1].toUpperCase())}function kr(i){return i.charAt(0).toUpperCase()+i.slice(1)}function Uc(i){return ut(i)?i():i}function Ie(i){return i?"true":"false"}function Gs(){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 Qc(){const i=Gs();return P(i.empty),i}function Bc(i){return Object.keys(i)}function ks(){let i,t;return{promise:new Promise((s,n)=>{i=s,t=n}),resolve:i,reject:t}}function Sr(i){return new Promise(t=>setTimeout(t,i))}function jt(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 xr=typeof window<"u"?"requestIdleCallback"in window?window.requestIdleCallback:i=>window.setTimeout(i,1):qe;function Pr(i,t){return new Promise(e=>{xr(s=>{i==null||i(s),e()},t)})}const Ss=Math.min,Ut=Math.max,je=Math.round,ke=Math.floor,St=i=>({x:i,y:i});function ka(i){return i.split("-")[0]}function Er(i){return i.split("-")[1]}function Ar(i){return i==="x"?"y":"x"}function Cr(i){return i==="y"?"height":"width"}function Sa(i){return["top","bottom"].includes(ka(i))?"y":"x"}function Or(i){return Ar(Sa(i))}function xa(i){return{...i,top:i.y,left:i.x,right:i.x+i.width,bottom:i.y+i.height}}function dn(i,t,e){let{reference:s,floating:n}=i;const a=Sa(t),r=Or(t),o=Cr(r),h=ka(t),c=a==="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(Er(t)){case"start":f[r]-=p*(e&&c?-1:1);break;case"end":f[r]+=p*(e&&c?-1:1);break}return f}const Lr=async(i,t,e)=>{const{placement:s="bottom",strategy:n="absolute",middleware:a=[],platform:r}=e,o=a.filter(Boolean),h=await(r.isRTL==null?void 0:r.isRTL(t));let c=await r.getElementRects({reference:i,floating:t,strategy:n}),{x:l,y:d}=dn(c,s,h),p=s,f={},g=0;for(let y=0;y<o.length;y++){const{name:L,fn:M}=o[y],{x:j,y:V,data:H,reset:K}=await M({x:l,y:d,initialPlacement:s,placement:p,strategy:n,middlewareData:f,rects:c,platform:r,elements:{reference:i,floating:t}});l=j??l,d=V??d,f={...f,[L]:{...f[L],...H}},K&&g<=50&&(g++,typeof K=="object"&&(K.placement&&(p=K.placement),K.rects&&(c=K.rects===!0?await r.getElementRects({reference:i,floating:t,strategy:n}):K.rects),{x:l,y:d}=dn(c,p,h)),y=-1)}return{x:l,y:d,placement:p,strategy:n,middlewareData:f}};function xt(i){return Pa(i)?(i.nodeName||"").toLowerCase():"#document"}function tt(i){var t;return(i==null||(t=i.ownerDocument)==null?void 0:t.defaultView)||window}function Tt(i){var t;return(t=(Pa(i)?i.ownerDocument:i.document)||window.document)==null?void 0:t.documentElement}function Pa(i){return i instanceof Node||i instanceof tt(i).Node}function wt(i){return i instanceof Element||i instanceof tt(i).Element}function pt(i){return i instanceof HTMLElement||i instanceof tt(i).HTMLElement}function pn(i){return typeof ShadowRoot>"u"?!1:i instanceof ShadowRoot||i instanceof tt(i).ShadowRoot}function ye(i){const{overflow:t,overflowX:e,overflowY:s,display:n}=ot(i);return/auto|scroll|overlay|hidden|clip/.test(t+s+e)&&!["inline","contents"].includes(n)}function Dr(i){return["table","td","th"].includes(xt(i))}function Xs(i){const t=Js(),e=ot(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 Mr(i){let t=Bt(i);for(;pt(t)&&!cs(t);){if(Xs(t))return t;t=Bt(t)}return null}function Js(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}function cs(i){return["html","body","#document"].includes(xt(i))}function ot(i){return tt(i).getComputedStyle(i)}function ls(i){return wt(i)?{scrollLeft:i.scrollLeft,scrollTop:i.scrollTop}:{scrollLeft:i.pageXOffset,scrollTop:i.pageYOffset}}function Bt(i){if(xt(i)==="html")return i;const t=i.assignedSlot||i.parentNode||pn(i)&&i.host||Tt(i);return pn(t)?t.host:t}function Ea(i){const t=Bt(i);return cs(t)?i.ownerDocument?i.ownerDocument.body:i.body:pt(t)&&ye(t)?t:Ea(t)}function oe(i,t,e){var s;t===void 0&&(t=[]),e===void 0&&(e=!0);const n=Ea(i),a=n===((s=i.ownerDocument)==null?void 0:s.body),r=tt(n);return a?t.concat(r,r.visualViewport||[],ye(n)?n:[],r.frameElement&&e?oe(r.frameElement):[]):t.concat(n,oe(n,[],e))}function Aa(i){const t=ot(i);let e=parseFloat(t.width)||0,s=parseFloat(t.height)||0;const n=pt(i),a=n?i.offsetWidth:e,r=n?i.offsetHeight:s,o=je(e)!==a||je(s)!==r;return o&&(e=a,s=r),{width:e,height:s,$:o}}function Zs(i){return wt(i)?i:i.contextElement}function Qt(i){const t=Zs(i);if(!pt(t))return St(1);const e=t.getBoundingClientRect(),{width:s,height:n,$:a}=Aa(t);let r=(a?je(e.width):e.width)/s,o=(a?je(e.height):e.height)/n;return(!r||!Number.isFinite(r))&&(r=1),(!o||!Number.isFinite(o))&&(o=1),{x:r,y:o}}const qr=St(0);function Ca(i){const t=tt(i);return!Js()||!t.visualViewport?qr:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Ir(i,t,e){return t===void 0&&(t=!1),!e||t&&e!==tt(i)?!1:t}function Mt(i,t,e,s){t===void 0&&(t=!1),e===void 0&&(e=!1);const n=i.getBoundingClientRect(),a=Zs(i);let r=St(1);t&&(s?wt(s)&&(r=Qt(s)):r=Qt(i));const o=Ir(a,e,s)?Ca(a):St(0);let h=(n.left+o.x)/r.x,c=(n.top+o.y)/r.y,l=n.width/r.x,d=n.height/r.y;if(a){const p=tt(a),f=s&&wt(s)?tt(s):s;let g=p,y=g.frameElement;for(;y&&s&&f!==g;){const L=Qt(y),M=y.getBoundingClientRect(),j=ot(y),V=M.left+(y.clientLeft+parseFloat(j.paddingLeft))*L.x,H=M.top+(y.clientTop+parseFloat(j.paddingTop))*L.y;h*=L.x,c*=L.y,l*=L.x,d*=L.y,h+=V,c+=H,g=tt(y),y=g.frameElement}}return xa({width:l,height:d,x:h,y:c})}const jr=[":popover-open",":modal"];function Oa(i){return jr.some(t=>{try{return i.matches(t)}catch{return!1}})}function Rr(i){let{elements:t,rect:e,offsetParent:s,strategy:n}=i;const a=n==="fixed",r=Tt(s),o=t?Oa(t.floating):!1;if(s===r||o&&a)return e;let h={scrollLeft:0,scrollTop:0},c=St(1);const l=St(0),d=pt(s);if((d||!d&&!a)&&((xt(s)!=="body"||ye(r))&&(h=ls(s)),pt(s))){const p=Mt(s);c=Qt(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 _r(i){return Array.from(i.getClientRects())}function La(i){return Mt(Tt(i)).left+ls(i).scrollLeft}function Fr(i){const t=Tt(i),e=ls(i),s=i.ownerDocument.body,n=Ut(t.scrollWidth,t.clientWidth,s.scrollWidth,s.clientWidth),a=Ut(t.scrollHeight,t.clientHeight,s.scrollHeight,s.clientHeight);let r=-e.scrollLeft+La(i);const o=-e.scrollTop;return ot(s).direction==="rtl"&&(r+=Ut(t.clientWidth,s.clientWidth)-n),{width:n,height:a,x:r,y:o}}function Nr(i,t){const e=tt(i),s=Tt(i),n=e.visualViewport;let a=s.clientWidth,r=s.clientHeight,o=0,h=0;if(n){a=n.width,r=n.height;const c=Js();(!c||c&&t==="fixed")&&(o=n.offsetLeft,h=n.offsetTop)}return{width:a,height:r,x:o,y:h}}function Vr(i,t){const e=Mt(i,!0,t==="fixed"),s=e.top+i.clientTop,n=e.left+i.clientLeft,a=pt(i)?Qt(i):St(1),r=i.clientWidth*a.x,o=i.clientHeight*a.y,h=n*a.x,c=s*a.y;return{width:r,height:o,x:h,y:c}}function fn(i,t,e){let s;if(t==="viewport")s=Nr(i,e);else if(t==="document")s=Fr(Tt(i));else if(wt(t))s=Vr(t,e);else{const n=Ca(i);s={...t,x:t.x-n.x,y:t.y-n.y}}return xa(s)}function Da(i,t){const e=Bt(i);return e===t||!wt(e)||cs(e)?!1:ot(e).position==="fixed"||Da(e,t)}function Hr(i,t){const e=t.get(i);if(e)return e;let s=oe(i,[],!1).filter(o=>wt(o)&&xt(o)!=="body"),n=null;const a=ot(i).position==="fixed";let r=a?Bt(i):i;for(;wt(r)&&!cs(r);){const o=ot(r),h=Xs(r);!h&&o.position==="fixed"&&(n=null),(a?!h&&!n:!h&&o.position==="static"&&!!n&&["absolute","fixed"].includes(n.position)||ye(r)&&!h&&Da(i,r))?s=s.filter(l=>l!==r):n=o,r=Bt(r)}return t.set(i,s),s}function Kr(i){let{element:t,boundary:e,rootBoundary:s,strategy:n}=i;const r=[...e==="clippingAncestors"?Hr(t,this._c):[].concat(e),s],o=r[0],h=r.reduce((c,l)=>{const d=fn(t,l,n);return c.top=Ut(d.top,c.top),c.right=Ss(d.right,c.right),c.bottom=Ss(d.bottom,c.bottom),c.left=Ut(d.left,c.left),c},fn(t,o,n));return{width:h.right-h.left,height:h.bottom-h.top,x:h.left,y:h.top}}function Ur(i){const{width:t,height:e}=Aa(i);return{width:t,height:e}}function Qr(i,t,e){const s=pt(t),n=Tt(t),a=e==="fixed",r=Mt(i,!0,a,t);let o={scrollLeft:0,scrollTop:0};const h=St(0);if(s||!s&&!a)if((xt(t)!=="body"||ye(n))&&(o=ls(t)),s){const d=Mt(t,!0,a,t);h.x=d.x+t.clientLeft,h.y=d.y+t.clientTop}else n&&(h.x=La(n));const c=r.left+o.scrollLeft-h.x,l=r.top+o.scrollTop-h.y;return{x:c,y:l,width:r.width,height:r.height}}function mn(i,t){return!pt(i)||ot(i).position==="fixed"?null:t?t(i):i.offsetParent}function Ma(i,t){const e=tt(i);if(!pt(i)||Oa(i))return e;let s=mn(i,t);for(;s&&Dr(s)&&ot(s).position==="static";)s=mn(s,t);return s&&(xt(s)==="html"||xt(s)==="body"&&ot(s).position==="static"&&!Xs(s))?e:s||Mr(i)||e}const Br=async function(i){const t=this.getOffsetParent||Ma,e=this.getDimensions;return{reference:Qr(i.reference,await t(i.floating),i.strategy),floating:{x:0,y:0,...await e(i.floating)}}};function Wr(i){return ot(i).direction==="rtl"}const zr={convertOffsetParentRelativeRectToViewportRelativeRect:Rr,getDocumentElement:Tt,getClippingRect:Kr,getOffsetParent:Ma,getElementRects:Br,getClientRects:_r,getDimensions:Ur,getScale:Qt,isElement:wt,isRTL:Wr};function Yr(i,t){let e=null,s;const n=Tt(i);function a(){var o;clearTimeout(s),(o=e)==null||o.disconnect(),e=null}function r(o,h){o===void 0&&(o=!1),h===void 0&&(h=1),a();const{left:c,top:l,width:d,height:p}=i.getBoundingClientRect();if(o||t(),!d||!p)return;const f=ke(l),g=ke(n.clientWidth-(c+d)),y=ke(n.clientHeight-(l+p)),L=ke(c),j={rootMargin:-f+"px "+-g+"px "+-y+"px "+-L+"px",threshold:Ut(0,Ss(1,h))||1};let V=!0;function H(K){const mt=K[0].intersectionRatio;if(mt!==h){if(!V)return r();mt?r(!1,mt):s=setTimeout(()=>{r(!1,1e-7)},100)}V=!1}try{e=new IntersectionObserver(H,{...j,root:n.ownerDocument})}catch{e=new IntersectionObserver(H,j)}e.observe(i)}return r(!0),a}function Gr(i,t,e,s){s===void 0&&(s={});const{ancestorScroll:n=!0,ancestorResize:a=!0,elementResize:r=typeof ResizeObserver=="function",layoutShift:o=typeof IntersectionObserver=="function",animationFrame:h=!1}=s,c=Zs(i),l=n||a?[...c?oe(c):[],...oe(t)]:[];l.forEach(M=>{n&&M.addEventListener("scroll",e,{passive:!0}),a&&M.addEventListener("resize",e)});const d=c&&o?Yr(c,e):null;let p=-1,f=null;r&&(f=new ResizeObserver(M=>{let[j]=M;j&&j.target===c&&f&&(f.unobserve(t),cancelAnimationFrame(p),p=requestAnimationFrame(()=>{var V;(V=f)==null||V.observe(t)})),e()}),c&&!h&&f.observe(c),f.observe(t));let g,y=h?Mt(i):null;h&&L();function L(){const M=Mt(i);y&&(M.x!==y.x||M.y!==y.y||M.width!==y.width||M.height!==y.height)&&e(),y=M,g=requestAnimationFrame(L)}return e(),()=>{var M;l.forEach(j=>{n&&j.removeEventListener("scroll",e),a&&j.removeEventListener("resize",e)}),d==null||d(),(M=f)==null||M.disconnect(),f=null,h&&cancelAnimationFrame(g)}}const Xr=(i,t,e)=>{const s=new Map,n={platform:zr,...e},a={...n.platform,_c:s};return Lr(i,t,{...n,platform:a})},bs=i=>i===null?"":i+"",Jr=i=>i===null?null:i+"",Zr=i=>i===null?0:Number(i),to=i=>i!==null,eo=()=>null,so=i=>i===null?[]:JSON.parse(i),io=i=>i===null?{}:JSON.parse(i);function no(i){if(i===null)return Jr;switch(typeof i){case"undefined":return bs;case"string":return bs;case"boolean":return to;case"number":return Zr;case"function":return eo;case"object":return U(i)?so:io;default:return bs}}const kt=Symbol(0),qa=Symbol(0),Dt=Symbol(0),Ot=Symbol(0);function Wc(i,t){var e,s,n;const r=class r extends i{constructor(...h){if(super(...h),this[s]=0,this[n]=null,this.keepAlive=!1,this.forwardKeepAlive=!0,this.$=B(()=>wr(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[kt]&&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=Ta(l)),c.set(p,{C:l,B:d&&!v(d)&&(d==null?void 0:d.converter)||no(t.props[l])}))}this[kt]=c}return this[kt]?Array.from(this[kt].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[kt]){(f=super.attributeChangedCallback)==null||f.call(this,h,c,l);return}const p=d[kt].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[Dt]!==2){ro.call(this);return}if(!this.isConnected)return;this.hasAttribute("keep-alive")&&(this.keepAlive=!0),h.y(),U(this[Ot])&&vr(this[Ot],this),this[Ot]=null;const c=super.connectedCallback;c&&B(()=>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=kt,s=Dt,n=Ot,qa)](){const h=this.$.$$,c=this.constructor;if(h.o)return;const l=c[kt];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[Dt]=2,this.connectedCallback()}subscribe(h){return this.$.subscribe(h)}destroy(){this.disconnectedCallback(),this.$.destroy()}};r[e]=null;let a=r;return ao(a,t),a}function ao(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(a){this.$props[n].set(a)}});if(s[Zt])for(const n of s[Zt])Object.defineProperty(e,n,{enumerable:!0,configurable:!0,get(){return this.$[n]},set(a){this.$[n]=a}});if(s[te])for(const n of s[te])e[n]=function(...a){return this.$[n](...a)}}function ro(){if(this[Dt]!==0)return;this[Dt]=1;const i=ho(this),t=i&&window.customElements.get(i.localName),e=i&&i[Dt]===2;if(i&&(!t||!e)){oo.call(this,i);return}Ia.call(this,i)}async function oo(i){await window.customElements.whenDefined(i.localName),i[Dt]!==2&&await new Promise(t=>(i[Ot]??(i[Ot]=[])).push(t)),Ia.call(this,i)}function Ia(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[qa]()}}function ho(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 zc(i,t=!1){(t||!window.customElements.get(i.tagName))&&window.customElements.define(i.tagName,i)}const co=Symbol(0),lo=Symbol(0),uo=Symbol(0),po=Symbol(0),fo=Symbol(0),mo=Symbol(0),bo=Symbol(0),go=Symbol(0),yo=Symbol(0),E={oa:co,Yb:lo,H:uo,pa:po,Zb:fo,Mc:mo,ne:bo,oe:go,pe:yo},$o=(navigator==null?void 0:navigator.userAgent.toLowerCase())||"",ja=/iphone|ipad|ipod|ios|crios|fxios/i.test($o),bn=/(iphone|ipod)/gi.test((navigator==null?void 0:navigator.platform)||""),wo=!!window.chrome,Yc=!!window.safari||ja;function Ra(){return vo()&&ut(screen.orientation.unlock)}function vo(){return!J(window.screen.orientation)&&!J(window.screen.orientation.lock)}function To(i,t){return i||(i=document.createElement("audio")),i.canPlayType(t).length>0}function ko(i,t){return i||(i=document.createElement("video")),i.canPlayType(t).length>0}function So(i){return i||(i=document.createElement("video")),i.canPlayType("application/vnd.apple.mpegurl").length>0}function Gc(i){return!!document.pictureInPictureEnabled&&!(i!=null&&i.disablePictureInPicture)}function Xc(i){return ut(i==null?void 0:i.webkitSupportsPresentationMode)&&ut(i==null?void 0:i.webkitSetPresentationMode)}async function xo(){const i=document.createElement("video");return i.volume=.5,await Sr(0),i.volume===.5}function Po(){return(window==null?void 0:window.ManagedMediaSource)??(window==null?void 0:window.MediaSource)??(window==null?void 0:window.WebKitMediaSource)}function Eo(){return(window==null?void 0:window.SourceBuffer)??(window==null?void 0:window.WebKitSourceBuffer)}function ti(){const i=Po();if(J(i))return!1;const t=i&&ut(i.isTypeSupported)&&i.isTypeSupported('video/mp4; codecs="avc1.42E01E,mp4a.40.2"'),e=Eo(),s=J(e)||!J(e.prototype)&&ut(e.prototype.appendBuffer)&&ut(e.prototype.remove);return!!t&&!!s}function Ao(){return ti()}const Co=/\.(m4a|m4b|mp4a|mpga|mp2|mp2a|mp3|m2a|m3a|wav|weba|aac|oga|spx)($|\?)/i,Oo=new Set(["audio/mpeg","audio/ogg","audio/3gp","audio/mp4","audio/webm","audio/flac"]),Lo=/\.(mp4|og[gv]|webm|mov|m4v)(#t=[,\d+]+)?($|\?)/i,Do=new Set(["video/mp4","video/webm","video/3gp","video/ogg","video/avi","video/mpeg"]),Mo=/\.(m3u8)($|\?)/i,qo=/\.(mpd)($|\?)/i,Io=new Set(["application/vnd.apple.mpegurl","audio/mpegurl","audio/x-mpegurl","application/x-mpegurl","video/x-mpegurl","video/mpegurl","application/mpegurl"]),jo=new Set(["application/dash+xml"]);function ei({src:i,type:t}){return v(i)?Co.test(i)||Oo.has(t)||i.startsWith("blob:")&&t==="audio/object":t==="audio/object"}function si(i){return v(i.src)?Lo.test(i.src)||Do.has(i.type)||i.src.startsWith("blob:")&&i.type==="video/object"||us(i)&&So():i.type==="video/object"}function us({src:i,type:t}){return v(i)&&Mo.test(i)||Io.has(t)}function _a({src:i,type:t}){return v(i)&&qo.test(i)||jo.has(t)}function Ro(i){return v(i.src)&&(ei(i)||si(i)||us(i))}function Jc(i){return typeof window.MediaStream<"u"&&i instanceof window.MediaStream}class Ce{get length(){return this.$.length}constructor(t,e){U(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 xs(i){if(!i.length)return null;let t=i.start(0);for(let e=1;e<i.length;e++){const s=i.start(e);s<t&&(t=s)}return t}function se(i){if(!i.length)return null;let t=i.end(0);for(let e=1;e<i.length;e++){const s=i.end(e);s>t&&(t=s)}return t}function Zc(i,t,e){if(i)return b(i,t,e)}function gn(i,t){return fr(t.target)&&i.contains(t.target)}const Ps=new Set;window.setInterval(()=>{for(const i of Ps)i()},1e3);function _o(i){return Ps.add(i),()=>Ps.delete(i)}function A(i,t,e){i.hasAttribute(t)||i.setAttribute(t,e)}function Ct(i,t){if(i.hasAttribute("aria-label")||i.hasAttribute("data-no-label"))return;if(!ut(t)){T(i,"aria-label",t);return}function e(){T(i,"aria-label",t())}u(e)}function Fa(i){const t=getComputedStyle(i);return t.display!=="none"&&parseInt(t.opacity)>0}function Fo(i){return!!i&&("checkVisibility"in i?i.checkVisibility({checkOpacity:!0,checkVisibilityCSS:!0}):Fa(i))}function Na(i,t){return _o(()=>t(Fo(i)))}function Va(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=>{wa(e)&&t(e)})}function ii(i){return Ae(i)&&(i.touches.length>1||i.changedTouches.length>1)}function Re(i){let t=rs(),e=window.requestAnimationFrame(()=>{B(i,t),e=-1});return()=>void window.cancelAnimationFrame(e)}function tl(i,t,e){let s,n=i,a=i.parentElement,r=i.content.firstElementChild,o=[];!r&&i.firstElementChild&&(i.innerHTML=i.firstElementChild.outerHTML,i.firstElementChild.remove(),r=i.content.firstElementChild);for(let h=0;h<t;h++)s=document.importNode(r,!0),e==null||e(s,h),a.insertBefore(s,n.nextSibling),o.push(s),n=s;return P(()=>{for(let h=0;h<o.length;h++)o[h].remove()}),o}function el(i){const t=document.createElement("template");return t.innerHTML=i,t.content}function sl(i){return i.cloneNode(!0).firstElementChild}function Ha(i,t,e,{offsetVarName:s,xOffset:n,yOffset:a,...r}){if(!i)return;const o=e.replace(" ","-").replace("-center","");if(Z(i,"visibility",t?null:"hidden"),!t)return;const h=l=>e.includes("left")?`calc(-1 * ${l})`:l,c=l=>e.includes("top")?`calc(-1 * ${l})`:l;return Gr(t,i,()=>{Xr(t,i,{placement:o,...r}).then(({x:l,y:d})=>{Object.assign(i.style,{top:`calc(${d+"px"} + ${c(a?a+"px":`var(--${s}-y-offset, 0px)`)})`,left:`calc(${l+"px"} + ${h(n?n+"px":`var(--${s}-x-offset, 0px)`)})`})})})}function No(i){return getComputedStyle(i).animationName!=="none"}function il(i){const t=document.createElement("slot");return t.name=i,t}function nl(i){const t=$(!1);return u(()=>{const e=i();e&&(b(e,"transitionstart",()=>t.set(!0)),b(e,"transitionend",()=>t.set(!1)))}),t}function al(i,t){function e(){const s=i();if(!s)return;t();const n=new ResizeObserver(jt(t));return n.observe(s),()=>n.disconnect()}u(e)}function rl(i){const t=Vo(i),e=Ho(i);let s=!1;return dt(()=>{const n=t();return s&&!n?!1:(s=n,n||e())})}function Vo(i){const t=$(!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 Ho(i){const t=$(!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}function he(i){return i instanceof HTMLElement}function Ko(){const i=$("dark"),t=window.matchMedia("(prefers-color-scheme: light)");function e(){i.set(t.matches?"light":"dark")}return e(),b(t,"change",e),i}function ol(i,t){u(()=>{const s=t();if(s==="system"){const n=Ko();u(()=>e(n()));return}e(s)});function e(s){ln(i,"light",s==="light"),ln(i,"dark",s==="dark")}}function hl(i,t){const e=new URLSearchParams;for(const s of Object.keys(t))e.set(s,t[s]+"");return i+"?"+e.toString()}function $e(i,t="preconnect"){const e=document.querySelector(`link[href="${i}"]`);if(!Et(e))return!0;const s=document.createElement("link");return s.rel=t,s.href=i,s.crossOrigin="true",document.head.append(s),!0}const Se={};function cl(i){if(Se[i])return Se[i].promise;const t=ks(),e=document.querySelector(`script[src="${i}"]`);if(!Et(e))return t.resolve(),t.promise;const s=document.createElement("script");return s.src=i,s.onload=()=>{t.resolve(),delete Se[i]},s.onerror=()=>{t.reject(),delete Se[i]},setTimeout(()=>document.head.append(s),0),t.promise}function ie(i){return i==="use-credentials"?"include":v(i)?"same-origin":void 0}function ll({title:i,src:t,download:e}){const s=on(e)||e===""?t.src:v(e)?e:e==null?void 0:e.url;return Uo({url:s,src:t,download:e})?{url:s,name:!on(e)&&!v(e)&&(e==null?void 0:e.filename)||i.toLowerCase()||"media"}:null}function Uo({url:i,src:t,download:e}){return v(i)&&(e&&e!==!0||ei(t)||si(t))}const Qo=Symbol(0),Bo=Symbol(0),Wo=Symbol(0),zo=Symbol(0),Yo=Symbol(0),Go=Symbol(0),Xo=Symbol(0),x={al:Qo,M:Bo,Ta:Wo,P:zo,Ua:Yo,T:Go,te:Xo};function Es(i,t){return t>=i.startTime&&t<i.endTime}function ds(i,t,e){let s=null,n=rs();function a(){const r=v(t)?[t]:t,o=i.toArray().find(h=>r.includes(h.kind)&&h.mode==="showing");if(o!==s){if(!o){e(null),s=null;return}o.readyState==2?e(o):(e(null),B(()=>{const h=b(o,"load",()=>{e(o),h()},{once:!0})},n)),s=o}}return a(),b(i,"mode-change",a)}function ul(i,t,e){ds(i,t,s=>{if(!s){e("");return}const n=()=>{const a=s==null?void 0:s.activeCues[0];e((a==null?void 0:a.text)||"")};n(),b(s,"cue-change",n)})}var yn,$n,wn;class _e extends $a{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[yn]=0,this[$n]=null,this[wn]=null;for(const e of Object.keys(t))this[e]=t[e];this.type||(this.type="vtt"),t.content?this.ap(t):t.src||(this[x.M]=2)}static createId(t){return`vds-${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[x.M]}get mode(){return this.I}set mode(t){this.setMode(t)}addCue(t,e){var a;let s=0,n=this.J.length;for(s=0;s<n&&!(t.endTime<=this.J[s].startTime);s++);s===n?this.J.push(t):this.J.splice(s,0,t),t instanceof TextTrackCue||(a=this[x.T])==null||a.track.addCue(t),this.dispatchEvent(new D("add-cue",{detail:t,trigger:e})),Es(t,this.Va)&&this[x.Ta](this.Va,e)}removeCue(t,e){var n;const s=this.J.indexOf(t);if(s>=0){const a=this.Wa.includes(t);this.J.splice(s,1),(n=this[x.T])==null||n.track.removeCue(t),this.dispatchEvent(new D("remove-cue",{detail:t,trigger:e})),a&&this[x.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[x.Ta](this.Va,e):this.xe(),this.dispatchEvent(new D("mode-change",{detail:this,trigger:e})),(s=this[x.Ua])==null||s.call(this))}[(yn=x.M,$n=x.Ua,wn=x.T,x.Ta)](t,e){if(this.Va=t,this.mode==="disabled"||!this.J.length)return;const s=[];for(let a=0,r=this.J.length;a<r;a++){const o=this.J[a];Es(o,t)&&s.push(o)}let n=s.length!==this.Wa.length;if(!n){for(let a=0;a<s.length;a++)if(!this.Wa.includes(s[a])){n=!0;break}}this.Wa=s,n&&this.we(e)}[x.P](){this.P=!0,this.I!=="disabled"&&this.xe()}ap(t){et(()=>import("./prod-xvsVbB4U.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.jc()):e(t.content,{type:t.type}).then(({cues:a,regions:r})=>{this.J=a,this.ac=r,this.jc()})})}async xe(){var t,e;if(!(!this.P||this[x.M]>0)){if(this[x.M]=1,this.dispatchEvent(new D("load-start")),!this.src){this.jc();return}try{const{parseResponse:s,VTTCue:n,VTTRegion:a}=await et(()=>import("./prod-xvsVbB4U.js").then(h=>h.d),__vite__mapDeps([0,1])),r=(t=this[x.al])==null?void 0:t.call(this),o=fetch(this.src,{headers:this.type==="json"?{"Content-Type":"application/json"}:void 0,credentials:ie(r)});if(this.type==="json")this.ve(await(await o).text(),n,a);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.jc()}catch(s){this.$o(s)}}}jc(){if(this[x.M]=2,!this.src||this.type!=="vtt"){const e=this[x.T];if(e&&!e.managed)for(const s of this.J)e.track.addCue(s)}const t=new D("load");this[x.Ta](this.Va,t),this.dispatchEvent(t)}$o(t){this[x.M]=3,this.dispatchEvent(new D("error",{detail:t}))}ve(t,e,s){try{const{regions:n,cues:a}=Zo(t,e,s);this.ac=n,this.J=a}catch(n){this.$o(n)}}we(t){this.dispatchEvent(new D("cue-change",{trigger:t}))}}const Jo=/captions|subtitles/;function Q(i){return Jo.test(i.kind)}function Zo(i,t,e){const s=v(i)?JSON.parse(i):i;let n=[],a=[];return s.regions&&e&&(n=s.regions.map(r=>Object.assign(new e,r))),(s.cues||U(s))&&(a=(U(s)?s:s.cues).filter(r=>at(r.startTime)&&at(r.endTime)).map(r=>Object.assign(new t(0,0,""),r))),{regions:n,cues:a}}var vn;class Ka extends $a{constructor(){super(...arguments),this.r=[],this[vn]=!1}get length(){return this.r.length}get readonly(){return this[E.Zb]}indexOf(t){return this.r.indexOf(t)}getById(t){return t===""?null:this.r.find(e=>e.id===t)??null}toArray(){return[...this.r]}[(vn=E.Zb,Symbol.iterator)](){return this.r.values()}[E.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 D("add",{detail:t,trigger:e})))}[E.Yb](t,e){var n;const s=this.r.indexOf(t);s>=0&&((n=this[E.oe])==null||n.call(this,t,e),this.r.splice(s,1),this.dispatchEvent(new D("remove",{detail:t,trigger:e})))}[E.H](t){var e;for(const s of[...this.r])this[E.Yb](s,t);this.r=[],this[E.Mc](!1,t),(e=this[E.ne])==null||e.call(this)}[E.Mc](t,e){this[E.Zb]!==t&&(this[E.Zb]=t,this.dispatchEvent(new D("readonly-change",{detail:t,trigger:e})))}}const Ua=new At({artist:"",artwork:null,audioTrack:null,audioTracks:[],autoPlay:!1,autoPlayError:null,audioGain:null,buffered:new Ce,canLoad:!1,canLoadPoster:!1,canFullscreen:!1,canOrientScreen:Ra(),canPictureInPicture:!1,canPlay:!1,clipStartTime:0,clipEndTime:0,controls:!1,controlsVisible:!1,get controlsHidden(){return!this.controlsVisible},crossOrigin:null,ended:!1,error:null,fullscreen:!1,get loop(){return this.providedLoop||this.userPrefersLoop},logLevel:"silent",mediaType:"unknown",muted:!1,paused:!0,played:new Ce,playing:!1,playsInline:!1,pictureInPicture:!1,preload:"metadata",playbackRate:1,qualities:[],quality:null,autoQuality:!1,canSetQuality:!0,canSetPlaybackRate:!0,canSetVolume:!1,canSetAudioGain:!1,seekable:new Ce,seeking:!1,source:{src:"",type:""},sources:[],started:!1,textTracks:[],textTrack:null,get hasCaptions(){return this.textTracks.filter(Q).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=xs(this.buffered)??0;return Math.max(0,i-this.clipStartTime)},get bufferedEnd(){const i=se(this.buffered)??0;return Math.min(this.duration,Math.max(0,i-this.clipStartTime))},get seekableStart(){const i=xs(this.seekable)??0;return Math.max(0,i-this.clipStartTime)},get seekableEnd(){const i=this.canPlay?se(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:"",providedLoop:!1,userPrefersLoop:!1,providedPoster:"",inferredPoster:"",inferredViewType:"unknown",providedViewType:"unknown",providedStreamType:"unknown",inferredStreamType:"unknown",liveSyncPosition:null,savedState:null}),Qa=new Set(["autoPlayError","autoPlaying","buffered","canPlay","error","paused","played","playing","seekable","seeking","waiting"]),th=new Set([...Qa,"ended","inferredPoster","inferredStreamType","inferredTitle","intrinsicDuration","liveSyncPosition","realCurrentTime","savedState","started","userBehindLiveEdge"]);function Tn(i,t=!1){const e=t?Qa:th;Ua.reset(i,s=>e.has(s)),$t()}const Ba=vt();function S(){return q(Ba)}function dl(){return S().$state}const Wa=vt();function pl(){return q(Wa)}const eh={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]},mi=class mi extends w{onSetup(){this.a=S(),z(Wa,{...this.$props,previewTime:$(0)})}};mi.props=eh;let kn=mi;function fl(i,t){const{canAirPlay:e,canFullscreen:s,canPictureInPicture:n,controlsHidden:a,currentTime:r,fullscreen:o,hasCaptions:h,isAirPlayConnected:c,paused:l,pictureInPicture:d,playing:p,pointer:f,poster:g,textTrack:y,viewType:L,waiting:M}=t.$state;i.classList.add("plyr"),i.classList.add("plyr--full-ui");const j={"plyr--airplay-active":c,"plyr--airplay-supported":e,"plyr--fullscreen-active":o,"plyr--fullscreen-enabled":s,"plyr--hide-controls":a,"plyr--is-touch":()=>f()==="coarse","plyr--loading":M,"plyr--paused":l,"plyr--pip-active":d,"plyr--pip-enabled":n,"plyr--playing":p,"plyr__poster-enabled":g,"plyr--stopped":()=>l()&&r()===0,"plyr--captions-active":y,"plyr--captions-enabled":h},V=Gs();for(const H of Object.keys(j))V.add(u(()=>void i.classList.toggle(H,!!j[H]())));return V.add(u(()=>{const H=`plyr--${L()}`;return i.classList.add(H),()=>i.classList.remove(H)}),u(()=>{var Nt;const{$provider:H}=t,K=(Nt=H())==null?void 0:Nt.type,mt=`plyr--${sh(K)?"html5":K}`;return i.classList.toggle(mt,!!K),()=>i.classList.remove(mt)})),()=>V.empty()}function sh(i){return i==="audio"||i==="video"}const ih=Symbol(0),nh=Symbol(0),lt={Ya:ih,Za:nh};function gs(i){return i instanceof Error?i:Error(typeof i=="string"?i:JSON.stringify(i))}function bt(i,t){if(!i)throw Error(t||"Assertion failed.")}function _(i,t=2){return Number(i.toFixed(t))}function ah(i){var t;return((t=String(i).split(".")[1])==null?void 0:t.length)??0}function ni(i,t,e){return Math.max(i,Math.min(e,t))}var G={fullscreenEnabled:0,fullscreenElement:1,requestFullscreen:2,exitFullscreen:3,fullscreenchange:4,fullscreenerror:5,fullscreen:6},Sn=["webkitFullscreenEnabled","webkitFullscreenElement","webkitRequestFullscreen","webkitExitFullscreen","webkitfullscreenchange","webkitfullscreenerror","-webkit-full-screen"],xn=["mozFullScreenEnabled","mozFullScreenElement","mozRequestFullScreen","mozCancelFullScreen","mozfullscreenchange","mozfullscreenerror","-moz-full-screen"],Pn=["msFullscreenEnabled","msFullscreenElement","msRequestFullscreen","msExitFullscreen","MSFullscreenChange","MSFullscreenError","-ms-fullscreen"],W=typeof window<"u"&&typeof window.document<"u"?window.document:{},it="fullscreenEnabled"in W&&Object.keys(G)||Sn[0]in W&&Sn||xn[0]in W&&xn||Pn[0]in W&&Pn||[],Lt={requestFullscreen:function(i){return i[it[G.requestFullscreen]]()},requestFullscreenFunction:function(i){return i[it[G.requestFullscreen]]},get exitFullscreen(){return W[it[G.exitFullscreen]].bind(W)},get fullscreenPseudoClass(){return":"+it[G.fullscreen]},addEventListener:function(i,t,e){return W.addEventListener(it[G[i]],t,e)},removeEventListener:function(i,t,e){return W.removeEventListener(it[G[i]],t,e)},get fullscreenEnabled(){return!!W[it[G.fullscreenEnabled]]},set fullscreenEnabled(i){},get fullscreenElement(){return W[it[G.fullscreenElement]]},set fullscreenElement(i){},get onfullscreenchange(){return W[("on"+it[G.fullscreenchange]).toLowerCase()]},set onfullscreenchange(i){return W[("on"+it[G.fullscreenchange]).toLowerCase()]=i},get onfullscreenerror(){return W[("on"+it[G.fullscreenerror]).toLowerCase()]},set onfullscreenerror(i){return W[("on"+it[G.fullscreenerror]).toLowerCase()]=i}};const Fe=Lt.fullscreenEnabled;class rh extends ht{constructor(){super(...arguments),this.ub=!1,this.Nc=!1}get active(){return this.Nc}get supported(){return Fe}onConnect(){b(Lt,"fullscreenchange",this.Oc.bind(this)),b(Lt,"fullscreenerror",this._b.bind(this)),P(this.ya.bind(this))}async ya(){Fe&&await this.exit()}Oc(t){const e=ys(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||ys(this.el)?void 0:(En(),Lt.requestFullscreen(this.el))}catch(t){throw this.ub=!1,t}}async exit(){if(!(!this.el||!ys(this.el)))return En(),Lt.exitFullscreen()}}function oh(){return Fe}function ys(i){if(Lt.fullscreenElement===i)return!0;try{return i.matches(Lt.fullscreenPseudoClass)}catch{return!1}}function En(){if(!Fe)throw Error("[vidstack] no fullscreen API")}const Ue=class Ue extends ht{constructor(){super(...arguments),this.vb=$(this.qe()),this.Ra=$(!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 Ue.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"}};Ue.supported=Ra();let Ne=Ue;function As(i){return!v(i)&&"width"in i&&"height"in i&&at(i.width)&&at(i.height)}class hh{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 D("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)}changeAudioGain(t,e){this.s("media-audio-gain-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))}showCaptions(t){const e=this.getPlayer(t==null?void 0:t.target);if(!e)return;let s=e.state.textTracks,n=this.Pc;(!s[n]||!Q(s[n]))&&(n=-1),n===-1&&(n=s.findIndex(a=>Q(a)&&a.default)),n===-1&&(n=s.findIndex(a=>Q(a))),n>=0&&this.changeTextTrackMode(n,"showing",t),this.Pc=-1}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 a=s.indexOf(n);this.changeTextTrackMode(a,"disabled",t),this.Pc=a}}toggleCaptions(t){const e=this.getPlayer(t==null?void 0:t.target);e&&(e.state.textTrack?this.disableCaptions():this.showCaptions())}userPrefersLoopChange(t,e){this.s("media-user-loop-change-request",e,t)}s(t,e,s){var o,h;const n=new D(t,{bubbles:!0,composed:!0,cancelable:!0,detail:s,trigger:e});let a=(e==null?void 0:e.target)||null;a&&a instanceof w&&(a=a.el),a=!a||a===document||a===window||a===document.body||((o=this.aa)==null?void 0:o.el)&&a instanceof Node&&!this.aa.el.contains(a)?this.A??((h=this.getPlayer())==null?void 0:h.el):a??this.A,this.aa?t==="media-play-request"&&!this.aa.state.canLoad?a==null||a.dispatchEvent(n):this.aa.canPlayQueue.k(t,()=>a==null?void 0:a.dispatchEvent(n)):a==null||a.dispatchEvent(n)}za(t){}}class Rt extends ht{}class ch extends Rt{constructor(){super(...arguments),this.Qc=-2,this.Xa=!1,this.ze=$(!1),this.Rc=$(!1),this.wb=null,this.Ho=$(!0),this.defaultDelay=2e3}get canIdle(){return this.Ho()}set canIdle(t){this.Ho.set(t)}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.Ch.bind(this))}Ch(){const{viewType:t}=this.$state;if(!this.Ho())return;if(t()==="audio"){this.show();return}u(this.bg.bind(this)),u(this.Tc.bind(this));const e=this.xb.bind(this),s=this.Aa.bind(this);this.listen("can-play",n=>this.show(0,n)),this.listen("play",e),this.listen("pause",s),this.listen("auto-play-fail",s)}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 a=this.$state.pointer(),r=a==="coarse",o=[r?"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||ii(t)||(Ys(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;(n=this.el)==null||n.focus({preventScroll:!0})})),this.dispatch("controls-change",{detail:t,trigger:e}))}}var _t=lh;function lh(i,t,e){var s=null,n=null,a=e&&e.leading,r=e&&e.trailing;a==null&&(a=!0),r==null&&(r=!a),a==!0&&(r=!1);var o=function(){s&&(clearTimeout(s),s=null)},h=function(){var l=n;o(),l&&l()},c=function(){var l=a&&!s,d=this,p=arguments;if(n=function(){return i.apply(d,p)},s||(s=setTimeout(function(){if(s=null,r)return n()},t)),l)return l=!1,n()};return c.cancel=o,c.flush=h,c}class uh{constructor(){this.playerId="vds-player",this.mediaId=null,this.Qk={volume:null,muted:null,audioGain:null,time:null,lang:null,captions:null,rate:null,quality:null},this.saveTimeThrottled=_t(this.saveTime.bind(this),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,e){const s=t<0;this.Qk.time=s?null:t,s||e?this.saveTime():this.saveTimeThrottled()}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 getAudioGain(){return this.Qk.audioGain}async setAudioGain(t){this.Qk.audioGain=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,a=e?localStorage.getItem(e):null;this.playerId=s,this.mediaId=e,this.Qk={volume:null,muted:null,audioGain:null,lang:null,captions:null,rate:null,quality:null,...n?JSON.parse(n):{},time:a?+a:null}}save(){if(!this.playerId)return;const t=JSON.stringify({...this.Qk,time:void 0});localStorage.setItem(this.playerId,t)}saveTime(){if(!this.mediaId)return;const t=(this.Qk.time??0).toString();localStorage.setItem(this.mediaId,t)}}class dh{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[x.T])==null?void 0:e.remove)==null||s.call(e),t[x.T]=null,this.yb.delete(t)}changeTrack(t){const e=t==null?void 0:t[x.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=x.T]??(t[s]=this.fg(t));he(e)&&(this.m.append(e),e.track.mode=e.default?"showing":"disabled")}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:"",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){for(const e of this.yb){const s=e[x.T];if(!s)continue;if(!this.Be){s.track.mode=s.managed?"hidden":"disabled";continue}const n=s.track.mode==="showing";n&&this.Ce(e,s.track),e.setMode(n?"showing":"disabled",t)}}}class ph{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 dh,this.ba.attach(t);for(const e of this.Uc)this.Ge(e)}this.ea()})}Ge(t){var e;Q(t)&&((e=this.ba)==null||e.addTrack(t))}hg(t){var e;Q(t)&&((e=this.ba)==null||e.removeTrack(t))}Wc(t){this.Ge(t.detail)}gg(t){this.hg(t.detail)}ea(){var s,n,a,r,o,h,c;const t=this.Uc.selected;if(this.m&&(this.De||t!=null&&t[x.te])){(s=this.Ba)==null||s.changeTrack(null),(n=this.ba)==null||n.setDisplay(!0),(a=this.ba)==null||a.changeTrack(t);return}if((r=this.ba)==null||r.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 ai=fh;function fh(i,t,e){var s=null,n=null,a=function(){s&&(clearTimeout(s),n=null,s=null)},r=function(){var h=n;a(),h&&h()},o=function(){if(!t)return i.apply(this,arguments);var h=this,c=arguments,l=e&&!s;if(a(),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=a,o.flush=r,o}class mh extends Ka{constructor(){super(),this.P=!1,this.dc={},this.Sk=null,this.Rk=null,this.un=ai(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 a=this.getByKind(n);if(a.find(l=>l.mode==="showing"))continue;const r=this.Rk?a.find(l=>l.language===this.Rk):null,o=U(n)?this.dc[n.find(l=>this.dc[l])||""]:this.dc[n],h=r??o,c=h&&Q(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"&&Q(e))??null}get selectedIndex(){const t=this.selected;return t?this.indexOf(t):-1}get preferredLang(){return this.Rk}set preferredLang(t){this.Rk=t,this.tn(t)}add(t,e){const s=t instanceof _e,n=s?t:new _e(t),a=t.kind==="captions"||t.kind==="subtitles"?"captions":t.kind;return this.dc[a]&&t.default&&delete t.default,n.addEventListener("mode-change",this.Je),this[E.oa](n,e),n[x.al]=this[x.al],this.P&&n[x.P](),t.default&&(this.dc[a]=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[x.Ua]=null,t.removeEventListener("mode-change",this.Je),this[E.Yb](t,e),this}clear(t){for(const e of[...this.r])this.remove(e,t);return this}getByKind(t){const e=Array.isArray(t)?t:[t];return this.r.filter(s=>e.includes(s.kind))}[x.P](){if(!this.P){for(const t of this.r)t[x.P]();this.P=!0,this.un()}}ig(t){const e=t.detail;if(this.Sk&&Q(e)&&e.mode!=="disabled"&&this.vn(e),e.mode==="showing"){const s=Q(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 D("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 Jt=Symbol(0);class za extends Ka{get selected(){return this.r.find(t=>t.selected)??null}get selectedIndex(){return this.r.findIndex(t=>t.selected)}[E.oe](t,e){this[E.pa](t,!1,e)}[E.oa](t,e){t[Jt]=!1,Object.defineProperty(t,"selected",{get(){return this[Jt]},set:s=>{var n;this.readonly||((n=this[E.pe])==null||n.call(this),this[E.pa](t,s))}}),super[E.oa](t,e)}[E.pa](t,e,s){if(e===(t==null?void 0:t[Jt]))return;const n=this.selected;t&&(t[Jt]=e),(e?n!==t:n===t)&&(n&&(n[Jt]=!1),this.dispatchEvent(new D("change",{detail:{prev:n,current:this.selected},trigger:s})))}}class bh extends za{}class gh extends za{constructor(){super(...arguments),this.fc=!1,this.switch="current"}get auto(){return this.fc||this.readonly}[E.pe](){this[lt.Ya](!1)}[E.ne](t){this[lt.Za]=void 0,this[lt.Ya](!1,t)}autoSelect(t){var e;this.readonly||this.fc||!this[lt.Za]||((e=this[lt.Za])==null||e.call(this,t),this[lt.Ya](!0,t))}getBySrc(t){return this.r.find(e=>e.src===t)}[lt.Ya](t,e){this.fc!==t&&(this.fc=t,this.dispatchEvent(new D("auto-change",{detail:t,trigger:e})))}}function Ya(i,t){return[...i].sort(t?$h:yh)}function yh(i,t){return i.height===t.height?(i.bitrate??0)-(t.bitrate??0):i.height-t.height}function $h(i,t){return t.height===i.height?(t.bitrate??0)-(i.bitrate??0):t.height-i.height}function wh(i){return i instanceof HTMLAudioElement}function vh(i){return i instanceof HTMLVideoElement}function Th(i){return wh(i)||vh(i)}const kh={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:"<"},An=new Set(["Shift","Alt","Meta","Control"]),Sh='button, [role="button"]',Cn='input, textarea, select, [contenteditable], [role^="menuitem"], [role="timer"]';class xh extends Rt{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=$(!1);s===this.el?(this.listen("focusin",()=>n.set(!0)),this.listen("focusout",a=>{this.el.contains(a.target)||n.set(!1)})):(m(n)||n.set(document.querySelector("[data-media-player]")===this.el),b(document,"focusin",a=>{const r=a.composedPath().find(o=>o instanceof Element&&o.localName==="media-player");r!==void 0&&n.set(this.el===r)})),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 a,r;const e=document.activeElement;if(!t.key||!this.$state.canSeek()||e!=null&&e.matches(Cn))return;let{method:s,value:n}=this.Zc(t);if(!v(n)&&!U(n)){(a=n==null?void 0:n.onKeyUp)==null||a.call(n,{event:t,player:this.a.player,remote:this.a.remote}),(r=n==null?void 0:n.callback)==null||r.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 r,o,h,c;if(!t.key||An.has(t.key))return;const e=document.activeElement;if(e!=null&&e.matches(Cn)||wa(t)&&(e!=null&&e.matches(Sh)))return;let{method:s,value:n}=this.Zc(t),a=!t.metaKey&&/^[0-9]$/.test(t.key);if(!v(n)&&!U(n)&&!a){(r=n==null?void 0:n.onKeyDown)==null||r.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&&a){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){Th(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 a=e[n],r=U(a)?a.join(" "):v(a)?a:a==null?void 0:a.keys;return(o=U(r)?r:r==null?void 0:r.split(" "))==null?void 0:o.some(h=>Eh(h).replace(/Control/g,"Ctrl").split("+").every(c=>An.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 Ph=["!","@","#","$","%","^","&","*","(",")"];function Eh(i){return i.replace(/Shift\+(\d)/g,(t,e)=>Ph[e-1])}class Ah extends ht{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 a=e.keyShortcuts()[this._c];if(a){const r=U(a)?a.join(" "):v(a)?a:a==null?void 0:a.keys;t.setAttribute("aria-keyshortcuts",U(r)?r.join(" "):r)}}}class Ch{constructor(){this.name="audio"}canPlay(t){return ei(t)?!v(t.src)||t.type==="?"||To(this.target,t.type):!1}mediaType(){return"audio"}async load(t){return new(await et(()=>import("./vidstack-audio-hs_QPpze.js"),__vite__mapDeps([2,3,4,1]))).AudioProvider(this.target,t)}}class ri{constructor(){this.name="video"}canPlay(t){return si(t)?!v(t.src)||t.type==="?"||ko(this.target,t.type):!1}mediaType(){return"video"}async load(t){return new(await et(()=>import("./vidstack-video-CyPaYbdo.js"),__vite__mapDeps([5,3,4,1]))).VideoProvider(this.target,t)}}const Qe=class Qe extends ri{constructor(){super(...arguments),this.name="dash"}canPlay(t){return Qe.supported&&_a(t)}async load(t){return new(await et(()=>import("./vidstack-dash-BqbBaHag.js"),__vite__mapDeps([6,5,3,4,1]))).DASHProvider(this.target,t)}};Qe.supported=Ao();let Cs=Qe;const Be=class Be extends ri{constructor(){super(...arguments),this.name="hls"}canPlay(t){return Be.supported&&us(t)}async load(t){return new(await et(()=>import("./vidstack-hls-CIP-Lz7f.js"),__vite__mapDeps([7,5,3,4,1]))).HLSProvider(this.target,t)}};Be.supported=ti();let Os=Be;class Oh{constructor(){this.name="vimeo"}preconnect(){const t=["https://i.vimeocdn.com","https://f.vimeocdn.com","https://fresnel.vimeocdn.com"];for(const e of t)$e(e)}canPlay(t){return v(t.src)&&t.type==="video/vimeo"}mediaType(){return"video"}async load(t){return new(await et(()=>import("./vidstack-vimeo-BPMOyBVx.js"),__vite__mapDeps([8,4,9,10,1]))).VimeoProvider(this.target,t)}async loadPoster(t,e,s){const{resolveVimeoVideoId:n,getVimeoVideoInfo:a}=await et(()=>import("./vidstack-BTBUzdbF-Cao5mZMB.js"),__vite__mapDeps([]));if(!v(t.src))return null;const{videoId:r}=n(t.src);return r?a(r,s).then(o=>o?o.poster:null):null}}class Lh{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)$e(e)}canPlay(t){return v(t.src)&&t.type==="video/youtube"}mediaType(){return"video"}async load(t){return new(await et(()=>import("./vidstack-youtube-C5r0TGB2.js"),__vite__mapDeps([11,9,12,1]))).YouTubeProvider(this.target,t)}async loadPoster(t,e,s){const{findYouTubePoster:n,resolveYouTubeVideoId:a}=await et(()=>import("./vidstack-DscYSLiW-CA6XwpqT.js"),__vite__mapDeps([])),r=v(t.src)&&a(t.src);return r?n(r,s):null}}const $s=Symbol(0),Dh=["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"],Mh={artist:"",artwork:null,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:kh,storage:null};class On extends Rt{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")Pr(this.Ca);else if(e==="visible"){let s,n=new IntersectionObserver(a=>{this.scope&&a[0].isIntersecting&&(s==null||s(),s=void 0,this.Ca())});n.observe(t),s=P(()=>n.disconnect())}}}class qh{constructor(t,e){this.X=t,this.a=e,this.c=(s,...n)=>{this.X(new D(s,{detail:n==null?void 0:n[0],trigger:n==null?void 0:n[1]}))}}async jc(t,e){return Hs(async()=>{var Yi,Gi,Xi,ve,Ji,Zi,tn;this.a;const{autoPlay:s,canPlay:n,started:a,duration:r,seekable:o,buffered:h,remotePlaybackInfo:c,playsInline:l,savedState:d,source:p}=this.a.$state;if(n())return;const f={duration:(t==null?void 0:t.duration)??r(),seekable:(t==null?void 0:t.seekable)??o(),buffered:(t==null?void 0:t.buffered)??h(),provider:this.a.$provider()};this.c("can-play",f,e),$t();let g=this.a.$provider(),{storage:y,qualities:L}=this.a,{muted:M,volume:j,clipStartTime:V,playbackRate:H}=this.a.$props;await((Yi=y==null?void 0:y.onLoad)==null?void 0:Yi.call(y,p()));const K=(Gi=d())==null?void 0:Gi.currentTime,mt=(Xi=d())==null?void 0:Xi.paused,Nt=await(y==null?void 0:y.getTime()),zi=K??Nt??V(),sr=mt||mt!==!1&&!a()&&s();if(g){g.setVolume(await(y==null?void 0:y.getVolume())??j()),g.setMuted(await(y==null?void 0:y.getMuted())??M());const Vt=await(y==null?void 0:y.getAudioGain())??1;Vt>1&&((Ji=(ve=g.audioGain)==null?void 0:ve.setGain)==null||Ji.call(ve,Vt)),(Zi=g.setPlaybackRate)==null||Zi.call(g,await(y==null?void 0:y.getPlaybackRate())??H()),(tn=g.setPlaysInline)==null||tn.call(g,l()),zi>0&&g.setCurrentTime(zi)}const Xt=await(y==null?void 0:y.getVideoQuality());if(Xt&&L.length){let Vt=null,en=1/0;for(const Te of L){const sn=Math.abs(Xt.width-Te.width)+Math.abs(Xt.height-Te.height)+(Xt.bitrate?Math.abs(Xt.bitrate-(Te.bitrate??0)):0);sn<en&&(Vt=Te,en=sn)}Vt&&(Vt.selected=!0)}n()&&sr?await this.oh(e):Nt&&Nt>0&&this.c("started",void 0,e),c.set(null)})}async oh(t){const{player:e,$state:{autoPlaying:s,muted:n}}=this.a;s.set(!0);const a=new D("auto-play-attempt",{trigger:t});try{await e.play(a)}catch{}}}class Ih{constructor(){this.e=new Map}k(t,e){this.e.set(t,e)}td(t){const e=this.kl(t);return this.e.delete(t),e}kl(t){return this.e.get(t)}qc(t){this.e.delete(t)}pl(){this.e.clear()}}class Ga{constructor(){this.Mb=!1,this.Ed=ks(),this.e=new Map}get ph(){return this.e.size}get Rj(){return this.Mb}async Sj(){this.Mb||await this.Ed.promise}k(t,e){if(this.Mb){e();return}this.e.delete(t),this.e.set(t,e)}td(t){var e;(e=this.e.get(t))==null||e(),this.e.delete(t)}Bb(){this.jf(),this.Mb=!0,this.e.size>0&&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=ks()}}class jh extends Rt{constructor(t,e,s){super(),this.ga=t,this.f=e,this.a=s,this.vk=new Ga,this.vd=!1,this.uk=s.$provider,this.Ib=new ch,this.rc=new rh,this.ta=new Ne}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.Gn.bind(this)),u(this.Ln.bind(this)),u(this.Hn.bind(this)),u(this.In.bind(this)),u(this.Jn.bind(this)),u(this.Kn.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 a=m(this.uk);return ws(a,m(e)),await a.play()}catch(a){const r=this.createEvent("play-fail",{detail:gs(a),trigger:t});throw r.autoPlay=n(),this.ga.X(r),a}}}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 ws(n,m(e)),await n.pause()}catch(n){throw this.f.e.qc("media-pause-request"),n}}}gp(t,e){const{audioGain:s,canSetAudioGain:n}=this.$state;if(s()===t)return;const a=this.uk();if(!(a!=null&&a.audioGain)||!n())throw Error("[vidstack] audio gain api not available");e&&this.f.e.k("media-audio-gain-change-request",e),a.audioGain.setGain(t)}Ze(t){const{canPlay:e,live:s,liveEdge:n,canSeek:a,liveSyncPosition:r,seekableEnd:o,userBehindLiveEdge:h}=this.$state;if(h.set(!1),m(()=>!s()||n()||!a()))return;const c=m(this.uk);ws(c,m(e)),t&&this.f.e.k("media-seek-request",t);const l=o()-2;c.setCurrentTime(Math.min(l,r()??l))}async _e(t="prefer-media",e){const s=this.$e(t);if(Ln(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(Ln(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")}Gn(){this.Ib.defaultDelay=this.$props.controlsDelay()}Ln(){var s,n;const{canSetAudioGain:t}=this.$state,e=!!((n=(s=this.uk())==null?void 0:s.audioGain)!=null&&n.supported);t.set(e)}Hn(){var s,n;const{canAirPlay:t}=this.$state,e=!!((n=(s=this.uk())==null?void 0:s.airPlay)!=null&&n.supported);t.set(e)}In(){const{canGoogleCast:t,source:e}=this.$state,s=wo&&!ja&&Ro(e());t.set(s)}Jn(){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)}Kn(){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)){const n=Error("Cast not available.");throw n.code="CAST_NOT_AVAILABLE",n}if($e("https://www.gstatic.com"),!this.om){const n=await et(()=>import("./vidstack-CAAXXkW1-BpQVpXJK.js").then(a=>a.v),__vite__mapDeps([13,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.savedState.set({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,a=s[n];if(a){const r=t.type;this.f.e.k(r,t),a.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)||e==="none"||!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:gs(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:gs(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}}"media-user-loop-change-request"(t){this.$state.userPrefersLoop.set(t.detail)}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-audio-gain-change-request"(t){try{this.gp(t.detail,t)}catch{}}"media-quality-change-request"(t){var r,o;const{qualities:e,storage:s,logger:n}=this.a;if(e.readonly)return;this.f.e.k("media-quality-change-request",t);const a=t.detail;if(a<0)e.autoSelect(t),t.isOriginTrusted&&((r=s==null?void 0:s.setVideoQuality)==null||r.call(s,null));else{const h=e[a];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:a,live:r,userBehindLiveEdge:o,clipStartTime:h}=this.$state,c=t.detail;n()&&(this.f.gb=!0);const l=t.type;this.f.qa=!1,this.f.e.qc(l);const d=c+h(),p=Math.floor(d)===Math.floor(s()),f=p?s():Math.min(Math.max(e()+.1,d),s()-.1);!Number.isFinite(f)||!a()||(this.f.e.k(l,t),this.uk().setCurrentTime(f),r()&&t.isOriginTrusted&&Math.abs(s()-f)>=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 a=t.type;this.f.e.k(a,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 a=t.type;this.f.e.k(a,t),this.uk().setVolume(n),n>0&&e()&&(this.f.e.k(a,t),this.uk().setMuted(!1))}ql(t,e,s){}}function ws(i,t){if(!(i&&t))throw Error("[vidstack] media not ready")}function Ln(i,t){if(!(t!=null&&t.supported))throw Error("[vidstack] no fullscreen support")}class Rh{constructor(){this.qa=!1,this.Ha=!1,this.gb=!1,this.e=new Ih}}const _h=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 Fh extends Rt{constructor(t,e){super(),this.f=t,this.a=e,this.p=new Map,this.Kk=!1,this.tc=!1,this.Jb=!1,this.to=null,this.seeking=_t(s=>{const{seeking:n,realCurrentTime:a,paused:r}=this.$state;n.set(!0),a.set(s.detail),this.F("media-seeking-request",s),r()&&(this.hb=s,this.zd())},150,{leading:!0}),this.zd=ai(()=>{if(!this.hb)return;this.tc=!0;const{waiting:s,playing:n}=this.$state;s.set(!0),n.set(!1);const a=this.createEvent("waiting",{trigger:this.hb});this.p.set("waiting",a),this.dispatch(a),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))}onDestroy(){const{audioTracks:t,qualities:e,textTracks:s}=this.a;t[E.H](),e[E.H](),s[E.H](),this.so()}X(t){if(!this.scope)return;const e=t.type;Hs(()=>{var s;return(s=this[t.type])==null?void 0:s.call(this,t)}),_h.has(e)&&this.p.set(e,t),this.dispatch(t)}xh(){this.Jb&&(requestAnimationFrame(()=>{this.scope&&this.a.remote.play(new D("dom-connect"))}),this.Jb=!1)}yh(){var t;this.Jb||(this.Jb=!this.$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(){const{qualities:t}=this.a,e=t.auto;this.$state.autoQuality.set(e),e||this.so()}uo(){this.so(),this.to=u(()=>{const{qualities:t}=this.a,{mediaWidth:e,mediaHeight:s}=this.$state,n=e(),a=s();if(n===0||a===0)return;let r=null,o=1/0;for(const h of t){const c=Math.abs(h.width-n)+Math.abs(h.height-a);c<o&&(o=c,r=h)}r&&t[E.pa](r,!0,new D("resize",{detail:{width:n,height:a}}))})}so(){var t;(t=this.to)==null||t.call(this),this.to=null}Ah(){this.$state.canSetQuality.set(!this.a.qualities.readonly)}nm(){const{canSetVolume:t,isGoogleCastConnected:e}=this.$state;if(e()){t.set(!1);return}xo().then(t.set)}"provider-change"(t){var n,a;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),(a=e==null?void 0:e.scope)==null||a.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[x.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(),a=n==="unknown"?t.detail:n;s!==a&&setTimeout(()=>{requestAnimationFrame(()=>{this.scope&&(this.$state.inferredViewType.set(t.detail),this.dispatch("view-type-change",{detail:a,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:a}=t.detail,r=a==="connected";s.set(n),e.set(a);const o=n==="airplay"?"media-airplay-request":"media-google-cast-request";if(r)this.F(o,t);else{const h=this.f.e.kl(o);h&&(t.request=h,t.triggers.add(h))}}"sources-change"(t){const e=this.$state.sources(),s=t.detail;this.$state.sources.set(s),this.vo(e,s,t)}vo(t,e,s){let{qualities:n}=this.a,a=!1,r=!1;for(const o of t){if(!As(o))continue;if(!e.some(c=>c.src===o.src)){const c=n.getBySrc(o.src);c&&(n[E.Yb](c,s),r=!0)}}r&&!n.length&&(this.$state.savedState.set(null),n[E.H](s));for(const o of e){if(!As(o)||n.getBySrc(o.src))continue;const h={id:o.id??o.height+"p",bitrate:null,codec:null,...o,selected:!1};n[E.oa](h,s),a=!0}a&&!n[lt.Za]&&(this.uo(),n[lt.Za]=this.uo.bind(this),n[lt.Ya](!0,s))}"source-change"(t){var s,n;t.isQualityChange=((s=t.originEvent)==null?void 0:s.type)==="quality-change";const e=t.detail;this.gf(t,t.isQualityChange),this.p.set(t.type,t),this.$state.source.set(e),(n=this.el)==null||n.setAttribute("aria-busy","true")}gf(t,e=!1){const{audioTracks:s,qualities:n}=this.a;if(!e){s[E.H](t),n[E.H](t),Tn(this.$state,e),this.ib();return}Tn(this.$state,e),this.ib()}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:a}=this.$state;a.set(!0),s.set(t.buffered),e.set(t.seekable);const r=se(t.seekable)??1/0;n.set(r)}"duration-change"(t){const{live:e,intrinsicDuration:s,ended:n}=this.$state,a=t.detail;if(!e()){const r=Number.isNaN(a)?0:a;s.set(r),n()&&this.fp(t)}}progress(t){const{buffered:e,bufferedEnd:s,seekable:n,seekableEnd:a,live:r,intrinsicDuration:o}=this.$state,{buffered:h,seekable:c}=t.detail,l=se(h)??1/0,d=h.length!==e().length,p=l>s(),f=se(c)??1/0,g=c.length!==n().length,y=f>a();(d||p)&&e.set(h),(g||y)&&n.set(c),r()&&(o.set(f),this.dispatch("duration-change",{detail:f,trigger:t}))}play(t){const{paused:e,autoPlayError:s,ended:n,autoPlaying:a,playsInline:r,pointer:o,muted:h,viewType:c,live:l,userBehindLiveEdge:d}=this.$state;if(this.Gk(),!e()){t.stopImmediatePropagation();return}t.autoPlay=a();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})),a.set(!1)),(n()||this.f.gb)&&(this.f.gb=!1,n.set(!1),this.X(this.createEvent("replay",{trigger:t}))),!r()&&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:a,clipEndTime:r,realCurrentTime:o,duration:h}=this.$state,c=o()<a()||r()>0&&o()>=r()||Math.abs(o()-h())<.1||s();return c&&this.dispatch("media-seek-request",{detail:(a()>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:a,playing:r}=this.$state;a.set(!0),r.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:a,live:r,liveSyncPosition:o,seekableEnd:h,started:c,currentTime:l,seeking:d,ended:p}=this.$state;if(n.set(!1),a.set(!0),d.set(!1),p.set(!1),this.f.Ha){this.f.Ha=!1;return}if(r()&&!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 a;(a=this.el)!=null&&a.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:a}=this.$state,r=a(),o=t.detail;e.set(o.currentTime),s.set(o.played),n.set(!1);for(const h of this.a.textTracks)h[x.Ta](o.currentTime,t);r>0&&o.currentTime>=r&&(this.Kk=!0,this.dispatch("media-pause-request",{trigger:t})),this.Nk()}fp(t){const{duration:e,played:s}=this.$state,n=xs(s())??0;this.X(this.createEvent("time-update",{detail:{currentTime:e(),played:new Ce(n,e())},trigger:t}))}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()))}"audio-gain-change"(t){var a;const{storage:e}=this.a,{canPlay:s,audioGain:n}=this.$state;n.set(t.detail),this.F("media-audio-gain-change-request",t),s()&&((a=e==null?void 0:e.setAudioGain)==null||a.call(e,n()))}"volume-change"(t){var o,h;const{storage:e}=this.a,{volume:s,muted:n,canPlay:a}=this.$state,r=t.detail;s.set(r.volume),n.set(r.muted||r.volume===0),this.F("media-volume-change-request",t),this.F(r.muted?"media-mute-request":"media-unmute-request",t),a()&&((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:a,seekableEnd:r,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),a()&&this.df(),e.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.floor(s())!==Math.floor(r())?o.set(!1):this.end(t)}waiting(t){this.tc||this.f.qa||(t.stopImmediatePropagation(),this.hb=t,this.zd())}end(t){const{loop:e,ended:s}=this.$state;if(!(!e()&&s())){if(e()){setTimeout(()=>{requestAnimationFrame(()=>{this.dispatch("media-loop-request",{trigger:t})})},10);return}setTimeout(()=>this.Db(t),0)}}Db(t){var o;const{storage:e}=this.a,{paused:s,seeking:n,ended:a,duration:r}=this.$state;this.fp(t),s()||this.dispatch("pause",{trigger:t}),n()&&this.dispatch("seeked",{detail:r(),trigger:t}),a.set(!0),this.ib(),(o=e==null?void 0:e.setTime)==null||o.call(e,r(),!0),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 Nh extends Rt{onSetup(){this.Ch(),u(this.Mo.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",loop:"providedLoop",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,loop:a}=this.$props,r=this.$state;r.providedPoster.set(n()),r.providedStreamType.set(e()),r.providedViewType.set(t()),r.providedTitle.set(s()),r.providedLoop.set(a())}Dh(){}Mo(){const{artist:t,artwork:e}=this.$props;this.$state.artist.set(t()),this.$state.artwork.set(e())}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.$state.loop();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 ae=class ae extends Rt{constructor(){super()}onConnect(){u(this.Pm.bind(this)),u(this.Qm.bind(this));const t=this.Rm.bind(this);for(const e of ae.Nm)navigator.mediaSession.setActionHandler(e,t);P(this.ya.bind(this))}ya(){for(const t of ae.Nm)navigator.mediaSession.setActionHandler(t,null)}Pm(){const{title:t,artist:e,artwork:s,poster:n}=this.$state;navigator.mediaSession.metadata=new MediaMetadata({title:t(),artist:e(),artwork:s()??[{src:n()}]})}Qm(){const{canPlay:t,paused:e}=this.$state;navigator.mediaSession.playbackState=t()?e()?"paused":"playing":"none"}Rm(t){const e=new D("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:at(t.seekTime)?t.seekTime:this.$state.currentTime()+(t.seekOffset??10),trigger:e});break}}};ae.Nm=["play","pause","seekforward","seekbackward","seekto"];let Ls=ae,Ve=$(!1);b(document,"pointerdown",()=>{Ve.set(!1)}),b(document,"keydown",i=>{i.metaKey||i.altKey||i.ctrlKey||Ve.set(!0)});class ft extends ht{constructor(){super(...arguments),this.Kb=$(!1)}onConnect(t){u(()=>{if(!Ve()){this.Kb.set(!1),xe(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),xe(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),xe(this.el,!0)}Nh(){this.Kb.set(!1),xe(this.el,!1)}Cd(){Dn(this.el,!0)}Dd(){Dn(this.el,!1)}}function xe(i,t){T(i,"data-focus",t),T(i,"data-hocus",t)}function Dn(i,t){T(i,"data-hocus",t),T(i,"data-hover",t)}var Vh=Object.defineProperty,Hh=Object.getOwnPropertyDescriptor,O=(i,t,e,s)=>{for(var n=s>1?void 0:s?Hh(t,e):t,a=i.length-1,r;a>=0;a--)(r=i[a])&&(n=(s?r(t,e,n):r(n))||n);return s&&n&&Vh(t,e,n),n},yt;const C=(yt=class extends w{constructor(){super(),this.canPlayQueue=new Ga,this.wc=!1,new Nh;const t={player:this,qualities:new gh,audioTracks:new bh,storage:null,$provider:$(null),$providerSetup:$(!1),$props:this.$props,$state:this.$state};t.remote=this.remoteControl=new hh(void 0),t.remote.setPlayer(this),t.$iosControls=dt(this.Oh.bind(this)),t.textTracks=new mh,t.textTracks[x.al]=this.$state.crossOrigin,t.textRenderers=new ph(t),t.ariaKeys={},this.a=t,z(Ba,t),this.orientation=new Ne,new ft,new xh(t);const e=new Rh;this.ga=new Fh(e,t),this.Y=new jh(this.ga,e,t),t.delegate=new qh(this.ga.X.bind(this.ga),t),new Ls,new On("load",this.startLoading.bind(this)),new On("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){bn&&T(t,"data-iphone","");const e=window.matchMedia("(pointer: coarse)");this.mf(e),e.onchange=this.mf.bind(this);const s=new ResizeObserver(jt(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:a}=this.$state,r=s(),o=kr(n()),h=o!=="Unknown"?`${r?"Live ":""}${o}`:r?"Live":"Media",c=e();T(this.el,"aria-label",`${h} Player`+(c?` - ${c}`:"")),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),T(this.el,"data-orientation",t),this.O()}Qh(){this.$state.canPlay()&&this.i?this.canPlayQueue.Bb():this.canPlayQueue.ra()}Ph(){if(yt[$s]){this.setAttributes(yt[$s]);return}const t={"data-load":function(){return this.$props.load()},"data-captions":function(){const s=this.$state.textTrack();return!!s&&Q(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:a}=this.$state;return s()&&(!n()||a())},"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 Dh){const n="data-"+(e[s]??Ta(s));t[n]=function(){return this.$state[s]()}}delete t.title,yt[$s]=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";T(this.el,"data-pointer",e),this.$state.pointer.set(e),this.O()}Oh(){const{playsInline:t,fullscreen:e}=this.$state;return bn&&!oh()&&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:a}=this.$state;t!==m(e)&&m(()=>{if(!this.i)return;const r=t+s(),o=Math.floor(r)===Math.floor(a()),h=o?a():Math.min(Math.max(n()+.1,r),a()-.1);Number.isFinite(h)&&this.i.setCurrentTime(h)})})}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=ni(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 uh:t;if(e!=null&&e.onChange){const{source:n}=this.$state,a=v(t)?t:(s=this.el)==null?void 0:s.id,r=dt(this.Um.bind(this));u(()=>e.onChange(n(),r(),a||void 0))}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)}setAudioGain(t,e){return this.Y.gp(t,e)}destroy(){this.a.remote.setPlayer(null),this.dispatch("destroy")}},yt.props=Mh,yt.state=Ua,yt);O([k],C.prototype,"canPlayQueue",2);O([k],C.prototype,"remoteControl",2);O([k],C.prototype,"provider",1);O([k],C.prototype,"controls",1);O([k],C.prototype,"orientation",2);O([k],C.prototype,"title",1);O([k],C.prototype,"qualities",1);O([k],C.prototype,"audioTracks",1);O([k],C.prototype,"textTracks",1);O([k],C.prototype,"textRenderers",1);O([k],C.prototype,"duration",1);O([k],C.prototype,"paused",1);O([k],C.prototype,"muted",1);O([k],C.prototype,"currentTime",1);O([k],C.prototype,"volume",1);O([k],C.prototype,"playbackRate",1);O([I],C.prototype,"play",1);O([I],C.prototype,"pause",1);O([I],C.prototype,"enterFullscreen",1);O([I],C.prototype,"exitFullscreen",1);O([I],C.prototype,"enterPictureInPicture",1);O([I],C.prototype,"exitPictureInPicture",1);O([I],C.prototype,"seekToLiveEdge",1);O([I],C.prototype,"startLoading",1);O([I],C.prototype,"startLoadingPoster",1);O([I],C.prototype,"requestAirPlay",1);O([I],C.prototype,"requestGoogleCast",1);O([I],C.prototype,"setAudioGain",1);let ml=C;function Kh(i,t){return fetch(i,t).then(e=>e.text()).then(e=>/type="static"/.test(e)?"on-demand":"live")}function Xa(i,t){return fetch(i,t).then(e=>e.text()).then(e=>{const s=Uh(e);if(s)return Xa(/^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"&&Qh(e)>=10&&(/#EXT-X-DVR-ENABLED:\s*true/.test(e)||e.includes("#EXT-X-DISCONTINUITY"))?"live:dvr":n})}function Uh(i){const t=i.match(/#EXT-X-STREAM-INF:[^\n]+(\n[^\n]+)*/g);return t?t[0].split(`
-`)[1].trim():null}function Qh(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 Ds=new Map;class Bh{constructor(t,e,s,n=[]){this.xc=t,this.a=e,this.ha=s,this.Gd=!1;const a=new Cs,r=new Os,o=new ri,h=new Ch,c=new Lh,l=new Oh,d=[c,l];this.Hd=dt(()=>{const f=e.$state.remotePlaybackLoader(),g=e.$props.preferNativeHLS()?[o,h,a,r,...d,...n]:[r,o,h,a,...d,...n];return f?[f,...g]:g});const{$state:p}=e;p.sources.set(Mn(e.$props.src()));for(const f of p.sources()){const g=this.Hd().find(L=>L.canPlay(f));if(!g)continue;const y=g.mediaType(f);this.a.$state.source.set(f),this.a.$state.mediaType.set(y),this.a.$state.inferredViewType.set(y),this.ha.set(g),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",[...Mn(this.a.$props.src()),...this.xc()])}Yh(){var r;const{$state:t}=this.a,e=t.sources(),s=m(t.source),n=this.sf(s,e);if(((r=e[0])==null?void 0:r.src)&&!n.src&&!n.type){const{crossOrigin:o}=t,h=ie(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")||"??",Ds.set(l.src,l.type),l)).catch(()=>l):l)).then(l=>{c.signal.aborted||(this.sf(m(t.source),l),$t())}),()=>c.abort()}$t()}sf(t,e){let s={src:"",type:""},n=null,a=new D("sources-change",{detail:{sources:e}}),r=this.Hd(),{started:o,paused:h,currentTime:c,quality:l,savedState:d}=this.a.$state;for(const p of e){const f=r.find(g=>g.canPlay(p));if(f){s=p,n=f;break}}if(As(s)){const p=l(),f=e.find(g=>g.src===(p==null?void 0:p.src));m(o)?d.set({paused:m(h),currentTime:m(c)}):d.set(null),f&&(s=f,a=new D("quality-change",{detail:{quality:p}}))}return In(t,s)||this.qf(s,n,a),n!==m(this.ha)&&this.rf(n,a),s}qf(t,e,s){this.c("source-change",t,s),this.c("media-type-change",(e==null?void 0:e.mediaType(t))||"unknown",s)}rf(t,e){this.a.$providerSetup.set(!1),this.c("provider-change",null,e),t&&m(()=>{var s;return(s=t.preconnect)==null?void 0:s.call(t,this.a)}),this.ha.set(t),this.c("provider-loader-change",t,e)}Zh(){const t=this.a.$provider();if(!(!t||m(this.a.$providerSetup))){if(this.a.$state.canLoad()){B(()=>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(!In(t==null?void 0:t.currentSrc,e)){if(this.a.$state.canLoad()){const a=new AbortController;return us(e)?(n||!ti())&&Xa(e.src,{credentials:ie(s),signal:a.signal}).then(r=>{this.c("stream-type-change",r)}).catch(qe):_a(e)?Kh(e.src,{credentials:ie(s),signal:a.signal}).then(r=>{this.c("stream-type-change",r)}).catch(qe):this.c("stream-type-change","on-demand"),m(()=>{const r=m(this.a.$state.preload);return t==null?void 0:t.loadSource(e,r).catch(o=>{})}),()=>a.abort()}try{v(e.src)&&$e(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 a=new AbortController,r=new D("source-change",{detail:s});return t.loadPoster(s(),this.a,a).then(o=>{this.c("poster-change",o||"",r)}).catch(()=>{this.c("poster-change","",r)}),()=>{a.abort()}}}function Mn(i){return(U(i)?i:[i]).map(t=>v(t)?{src:t,type:qn(t)}:{...t,type:qn(t.src,t.type)}).sort(t=>t.type==="?"?1:-1)}function qn(i,t){return v(t)&&t.length?t:v(i)&&Ds.has(i)?Ds.get(i):!v(i)||i.startsWith("blob:")?"video/object":i.includes("youtube")||i.includes("youtu.be")?"video/youtube":i.includes("vimeo")&&!i.includes("progressive_redirect")&&!i.includes(".m3u8")?"video/vimeo":"?"}function In(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 Wh{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||_e.createId(e);this.a.textTracks.getById(s)||(e.id=s,this.a.textTracks.add(e))}this.tf=t}}var zh=Object.defineProperty,Yh=Object.getOwnPropertyDescriptor,Gh=(i,t,e,s)=>{for(var n=s>1?void 0:s?Yh(t,e):t,a=i.length-1,r;a>=0;a--)(r=i[a])&&(n=(s?r(t,e,n):r(n))||n);return s&&n&&zh(t,e,n),n};const We=class We extends w{constructor(){super(...arguments),this.xc=$([]),this.yc=$([]),this.ha=null,this.Id=-1}onSetup(){this.a=S(),this.uf=new Bh(this.xc,this.a,this.$state.loader,this.$props.loaders())}onAttach(t){t.setAttribute("data-media-provider","")}onConnect(t){this.uf.connect(),new Wh(this.yc,this.a);const e=new ResizeObserver(jt(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{player:t,$state:e}=this.a,s=this.el.offsetWidth,n=this.el.offsetHeight;t&&(e.mediaWidth.set(s),e.mediaHeight.set(n),t.el&&(Z(t.el,"--media-width",s+"px"),Z(t.el,"--media-height",n+"px")))}vf(){const t=[],e=[],s=this.el.children;for(const n of s)if(!n.hasAttribute("data-vds")){if(n instanceof HTMLSourceElement){const a={id:n.id,src:n.src,type:n.type};for(const r of["id","src","width","height","bitrate","codec"]){const o=n.getAttribute(`data-${r}`);v(o)&&(a[r]=/id|src|codec/.test(r)?o:Number(o))}t.push(a)}else if(n instanceof HTMLTrackElement){const a={src:n.src,kind:n.track.kind,language:n.srclang,label:n.label,default:n.default,type:n.getAttribute("data-type")};e.push({id:n.id||_e.createId(a),...a})}}this.xc.set(t),this.yc.set(e),$t()}};We.props={loaders:[]},We.state=new At({loader:null});let Ms=We;Gh([I],Ms.prototype,"load",1);function vs(i,t){const e=String(i),s=e.length;if(s<t){const a=t-s;return`${"0".repeat(a)}${i}`}return e}function Ja(i){const t=Math.trunc(i/3600),e=Math.trunc(i%3600/60),s=Math.trunc(i%60),n=Number((i-Math.trunc(i)).toPrecision(3));return{hours:t,minutes:e,seconds:s,fraction:n}}function ps(i,{padHrs:t=null,padMins:e=null,showHrs:s=!1,showMs:n=!1}={}){const{hours:a,minutes:r,seconds:o,fraction:h}=Ja(i),c=t?vs(a,2):a,l=e||Et(e)&&i>=3600?vs(r,2):r,d=vs(o,2),p=n&&h>0?`.${String(h).replace(/^0?\./,"")}`:"",f=`${l}:${d}${p}`;return a>0||s?`${c}:${f}`:f}function He(i){const t=[],{hours:e,minutes:s,seconds:n}=Ja(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(" ")}const ze=class ze extends w{constructor(){super(...arguments),this._n=!1,this.Zn=-1,this.ao=-1}onSetup(){this.a=S()}onAttach(t){t.style.display="contents"}onConnect(t){t.setAttribute("data-media-announcer",""),A(t,"role","status"),A(t,"aria-live","polite");const{busy:e}=this.$state;this.setAttributes({"aria-busy":()=>e()?"true":null}),this._n=!0,u(this.Tc.bind(this)),u(this.Fd.bind(this)),u(this.bo.bind(this)),u(this.co.bind(this)),u(this.eo.bind(this)),u(this.fo.bind(this)),u(this.go.bind(this)),$t(),this._n=!1}Tc(){const{paused:t}=this.a.$state;this.Yn(t()?"Pause":"Play")}co(){const{fullscreen:t}=this.a.$state;this.Yn(t()?"Enter Fullscreen":"Exit Fullscreen")}eo(){const{pictureInPicture:t}=this.a.$state;this.Yn(t()?"Enter PiP":"Exit PiP")}bo(){const{textTrack:t}=this.a.$state;this.Yn(t()?"Closed-Captions On":"Closed-Captions Off")}Fd(){const{muted:t,volume:e,audioGain:s}=this.a.$state;this.Yn(t()||e()===0?"Mute":`${Math.round(e()*(s()??1)*100)}% ${this.$n("Volume")}`)}fo(){const{seeking:t,currentTime:e}=this.a.$state,s=t();this.Zn>0?(window.clearTimeout(this.ao),this.ao=window.setTimeout(()=>{const n=m(e),a=Math.abs(n-this.Zn);if(a>=1){const r=n>=this.Zn,o=He(a);this.Yn(`${this.$n(r?"Seek Forward":"Seek Backward")} ${o}`)}this.Zn=-1,this.ao=-1},300)):s&&(this.Zn=m(e))}$n(t){var s;const{translations:e}=this.$props;return((s=e==null?void 0:e())==null?void 0:s[t||""])??t}go(){const{label:t,busy:e}=this.$state,s=this.$n(t());if(this._n)return;e.set(!0);const n=window.setTimeout(()=>void e.set(!1),150);return this.el&&T(this.el,"aria-label",s),v(s)&&this.dispatch("change",{detail:s}),()=>window.clearTimeout(n)}Yn(t){const{label:e}=this.$state;e.set(t)}};ze.props={translations:null},ze.state=new At({label:null,busy:!1});let jn=ze;const bi=class bi extends w{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 a of["top","right","bottom","left"])Z(t,`padding-${a}`,n&&`env(safe-area-inset-${a})`)})}ci(){if(!this.el)return;const{$iosControls:t}=this.a,{controls:e}=this.a.$state,s=e()||t();T(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()}};bi.props={hideDelay:2e3,hideOnMouseLeave:!1};let Rn=bi;class Za extends ht{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 a=this.j.u();a&&a.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(No(e)){(s=this.Ia)==null||s.call(this);const r=b(e,"animationend",n,{once:!0});this.Ia=r}else n()}})}nn(){window.clearTimeout(this.Ac),this.Ac=-1}}const Oe=vt();let Xh=0;const gi=class gi extends w{constructor(){super(),this.ca=`media-tooltip-${++Xh}`,this.C=$(null),this.u=$(null),new ft;const{showDelay:t}=this.$props;new Za({C:this.C,u:this.u,yf:t,zc(e,s,n){b(e,"touchstart",a=>a.preventDefault(),{passive:!1}),u(()=>{Ve()&&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(){z(Oe,{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`,"")),T(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&&T(e,"aria-describedby",t?this.ca:null);for(const n of[this.el,e,s])n&&T(n,"data-visible",t)}};gi.props={showDelay:700};let _n=gi;const yi=class yi extends w{constructor(){super(),new ft;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=q(Oe);P(()=>e.Md(t)),P(Re(()=>{this.connectScope&&u(this.Nd.bind(this))}))}Ja(t){q(Oe).Ld(t)}Nd(){const{placement:t,offset:e,alignOffset:s}=this.$props;return Ha(this.el,this.fi(),t(),{offsetVarName:"media-tooltip",xOffset:s(),yOffset:e()})}fi(){return q(Oe).C()}};yi.props={placement:"top center",offset:0,alignOffset:0};let Fn=yi;const $i=class $i extends ht{constructor(t){super(),this.j=t,new ft,t.kb&&new Ah(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 Ie(this.j.n())}ji(t){gr(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())}};$i.props={disabled:!1};let F=$i;var Jh=Object.defineProperty,Zh=Object.getOwnPropertyDescriptor,tc=(i,t,e,s)=>{for(var n=s>1?void 0:s?Zh(t,e):t,a=i.length-1,r;a>=0;a--)(r=i[a])&&(n=(s?r(t,e,n):r(n))||n);return s&&n&&Jh(t,e,n),n};const wi=class wi extends w{constructor(){super(),this.zf=$(!1),new F({n:this.zf})}get pressed(){return this.zf()}};wi.props={disabled:!1,defaultPressed:!1};let qs=wi;tc([k],qs.prototype,"pressed",1);function ec(i){return i?"true":"false"}function N(i){return()=>ec(i())}const vi=class vi extends w{constructor(){super(),new F({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":N(()=>!t())})}onAttach(t){t.setAttribute("data-media-tooltip","airplay"),Ct(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()}`}};vi.props=F.props;let Nn=vi;const Ti=class Ti extends w{constructor(){super(),new F({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":N(()=>!t())})}onAttach(t){t.setAttribute("data-media-tooltip","google-cast"),Ct(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()}`}};Ti.props=F.props;let Vn=Ti;const ki=class ki extends w{constructor(){super(),new F({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"),Ct(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()}};ki.props=F.props;let Hn=ki;const Si=class Si extends w{constructor(){super(),new F({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":N(this.lb.bind(this))})}onAttach(t){t.setAttribute("data-media-tooltip","caption"),Ct(t,"Captions")}v(t){this.a.remote.toggleCaptions(t)}n(){const{textTrack:t}=this.a.$state,e=t();return!!e&&Q(e)}lb(){const{hasCaptions:t}=this.a.$state;return!t()}};Si.props=F.props;let Kn=Si;const xi=class xi extends w{constructor(){super(),new F({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":N(()=>!e())})}onAttach(t){t.setAttribute("data-media-tooltip","fullscreen"),Ct(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()}};xi.props={...F.props,target:"prefer-media"};let Un=xi;const Pi=class Pi extends w{constructor(){super(),new F({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"),Ct(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"}};Pi.props=F.props;let Qn=Pi;const Ei=class Ei extends w{constructor(){super(),new F({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":N(()=>!e())})}onAttach(t){t.setAttribute("data-media-tooltip","pip"),Ct(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()}};Ei.props=F.props;let Bn=Ei;const Ai=class Ai extends w{constructor(){super(),new ft}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":N(()=>!s())})}onAttach(t){A(t,"tabindex","0"),A(t,"role","button"),A(t,"type","button"),t.setAttribute("data-media-tooltip","seek"),Ct(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,a=n()+e();this.a.remote.seek(a,t)}};Ai.props={disabled:!1,seconds:30};let Wn=Ai;const Ci=class Ci extends w{constructor(){super(),new ft}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":N(()=>t()||s()),"aria-hidden":N(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)}};Ci.props={disabled:!1};let zn=Ci;const Gt=new At({min:0,max:100,value:0,step:1,pointerValue:0,focused:!1,dragging:!1,pointing:!1,hidden:!1,get active(){return this.dragging||this.focused||this.pointing},get fillRate(){return Yn(this.min,this.max,this.value)},get fillPercent(){return this.fillRate*100},get pointerRate(){return Yn(this.min,this.max,this.pointerValue)},get pointerPercent(){return this.pointerRate*100}});function Yn(i,t,e){const s=t-i,n=e-i;return s>0?n/s:0}class tr extends ht{constructor(t){super(),this.Ch=t}onConnect(t){this.x=new IntersectionObserver(e=>{var s,n;(n=(s=this.Ch).callback)==null||n.call(s,e,this.x)},this.Ch),this.x.observe(t),P(this.y.bind(this))}y(){var t;(t=this.x)==null||t.disconnect(),this.x=void 0}}const oi=vt(),ne=vt();function sc(i,t,e,s){return ni(i,_(e,ah(s)),t)}function ic(i,t,e,s){const n=ni(0,e,1),a=t-i,r=a*n,o=r/s,h=s*Math.round(o);return i+h}const Gn={Left:-1,ArrowLeft:-1,Up:1,ArrowUp:1,Right:1,ArrowRight:1,Down:-1,ArrowDown:-1};class nc extends ht{constructor(t,e){super(),this.j=t,this.a=e,this.i=null,this.ua=null,this.mb=null,this.ti=_t(s=>{this.va(this.Dc(s),s)},20,{leading:!0})}onSetup(){st(ne)&&(this.x=q(ne))}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(Et(this.ua)||ii(t))return;const e=t.touches[0],s=e.clientX-this.ua.clientX,n=e.clientY-this.ua.clientY,a=this.$state.dragging();!a&&Math.abs(n)>5||a||(t.preventDefault(),Math.abs(s)>20&&(this.ua=e,this.mb=this.$state.value(),this.Od(this.mb,t)))}li(){const{hidden:t}=this.$props;this.listen("focus",this.Lb.bind(this)),this.listen("keydown",this.Ab.bind(this)),this.listen("keyup",this.zb.bind(this)),!(t()||this.j.K())&&(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)))}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:a,dragging:r}=this.$state,o=Math.max(n(),Math.min(t,a()));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),r()){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:a}=this.$state;if(this.$props.orientation()==="vertical"){const{bottom:r,height:o}=s;e=(r-t.clientY)/o}else if(this.ua&&at(this.mb)){const{width:r}=this.i.getBoundingClientRect(),o=(t.clientX-this.ua.clientX)/r,h=a()-n(),c=h*Math.abs(o);e=(o<0?this.mb-c:this.mb+c)/h}else{const{left:r,width:o}=s;e=(t.clientX-r)/o}return Math.max(n(),Math.min(a(),this.j.Ob(ic(n(),a(),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 a,r,o,h;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),(r=(a=this.j).Qd)==null||r.call(a,n),(h=(o=this.x)==null?void 0:o.onDragStart)==null||h.call(o)}Af(t,e){var a,r,o,h;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),(r=(a=this.j).Ec)==null||r.call(a,n),this.ua=null,this.mb=null,(h=(o=this.x)==null?void 0:o.onDragEnd)==null||h.call(o)}Ab(t){const{key:e}=t,{min:s,max:n}=this.$state;let a;if(e==="Home"||e==="PageUp"?a=s():e==="End"||e==="PageDown"?a=n():!t.metaKey&&/^[0-9]$/.test(e)&&(a=(n()-s())/10*Number(e)),!J(a)){this.va(a,t),this.Pd(a,t);return}const r=this.Bf(t);if(J(r))return;const o=e===this.Rd;!this.$state.dragging()&&o&&this.Od(r,t),this.va(r,t),o||this.Pd(r,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){var y,L;const{key:e,shiftKey:s}=t;if(!Object.keys(Gn).includes(e))return;t.preventDefault(),t.stopPropagation();const{shiftKeyMultiplier:a}=this.$props,{value:r,min:o,max:h}=this.$state,c=this.j.Ka(),l=this.j.Pb(),d=s?l*a():l,p=Number(Gn[e]),f=d*p,g=((((L=(y=this.j).na)==null?void 0:L.call(y))??r())+f)/c;return Math.max(o(),Math.min(h(),Number((c*g).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 Wt=vt(()=>({})),Oi=class Oi extends ht{constructor(t){super(),this.j=t,this.Co=$(!0),this.Do=$(!0),this.xi=jt((e,s)=>{var n,a;(n=this.el)==null||n.style.setProperty("--slider-fill",e+"%"),(a=this.el)==null||a.style.setProperty("--slider-pointer",s+"%")})}onSetup(){this.a=S();const t=new ft;t.attach(this),this.$state.focused=t.focused.bind(t),st(Wt)||z(Wt,{default:"value"}),z(oi,{ta:this.$props.orientation,Fc:this.j.K,Cf:$(null)}),u(this.D.bind(this)),u(this.ro.bind(this)),u(this.Qb.bind(this)),this.vi(),new nc(this.j,this.a).attach(this),new tr({callback:this.Eo.bind(this)}).attach(this)}onAttach(t){A(t,"role","slider"),A(t,"tabindex","0"),A(t,"autocomplete","off"),u(this.Df.bind(this))}onConnect(t){P(Na(t,this.Co.set)),u(this.ob.bind(this))}Eo(t){this.Do.set(t[0].isIntersecting)}ob(){const{hidden:t}=this.$props;this.$state.hidden.set(t()||!this.Co()||!this.Do.bind(this))}D(){const{dragging:t,value:e,min:s,max:n}=this.$state;m(t)||e.set(sc(s(),n(),e(),this.j.Ka()))}ro(){this.$state.step.set(this.j.Ka())}Qb(){if(!this.j.K())return;const{dragging:t,pointing:e}=this.$state;t.set(!1),e.set(!1)}wi(){return Ie(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.j.Pn??this.$state.min,"aria-valuemax":this.j.Mn??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(_(t(),3),_(e(),3))}};Oi.props={hidden:!1,disabled:!1,step:1,keyStep:1,orientation:"horizontal",shiftKeyMultiplier:5};let Y=Oi;const Ye=class Ye extends w{constructor(){super(),new Y({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 _(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())}};Ye.props={...Y.props,min:0,max:100,value:0},Ye.state=Gt;let ce=Ye;const gt=new Map,Pe=new Map;class hi{constructor(t,e,s){this.$src=t,this.$crossOrigin=e,this.a=s,this.$images=$([]),u(this.zi.bind(this))}static create(t,e){const s=S();return new hi(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)&&gt.has(e)){const a=gt.get(e);if(gt.delete(e),gt.set(e,a),gt.size>30){const r=gt.keys().next().value;gt.delete(r)}this.$images.set(gt.get(e))}else if(v(e)){const a=this.$crossOrigin(),r=e+"::"+a;if(!Pe.has(r)){const o=new Promise(async(h,c)=>{try{const l=await fetch(e,{signal:s.signal,credentials:ie(a)});if(l.headers.get("content-type")==="application/json"){const p=await l.json();if(U(p))if(p[0]&&"text"in p[0])h(this.bl(p));else{for(let f=0;f<p.length;f++){const g=p[f];bt(cr(g),!1),bt("url"in g&&v(g.url),!1),bt("startTime"in g&&at(g.startTime),!1)}h(p)}else h(this.cl(p));return}et(()=>import("./prod-xvsVbB4U.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||gt.set(r,h),h)).catch(h=>{s.signal.aborted||this.U(e,h)}).finally(()=>{v(r)&&Pe.delete(r)});Pe.set(r,o)}(n=Pe.get(r))==null||n.then(o=>{s.signal.aborted||this.$images.set(o||[])})}else if(U(e))try{this.$images.set(this.jl(e))}catch(a){this.U(e,a)}else try{this.$images.set(this.cl(e))}catch(a){this.U(e,a)}return()=>{s.abort(),this.$images.set([])}}}jl(t){const e=this.dl();return t.map((s,n)=>(bt(s.url&&v(s.url),!1),bt("startTime"in s&&at(s.startTime),!1),{...s,url:v(s.url)?this.gl(s.url,e):s.url}))}cl(t){var r;bt(v(t.url),!1),bt(U(t.tiles)&&((r=t.tiles)==null?void 0:r.length),!1);const e=new URL(t.url),s=[],n="tile_width"in t?t.tile_width:t.tileWidth,a="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:a,coords:{x:o.x,y:o.y}});return s}bl(t){for(let n=0;n<t.length;n++){const a=t[n];bt("startTime"in a&&at(a.startTime),!1),bt("text"in a&&v(a.text),!1)}const e=[],s=this.dl();for(const n of t){const[a,r]=n.text.split("#"),o=this.fl(r);e.push({url:this.gl(a,s),startTime:n.startTime,endTime:n.endTime,width:o==null?void 0:o.w,height:o==null?void 0:o.h,coords:o&&at(o.x)&&at(o.y)?{x:o.x,y:o.y}:void 0})}return e}dl(){let t=m(this.$src);return!v(t)||!/^https?:/.test(t)?location.href:t}gl(t,e){return/^https?:/.test(t)?new URL(t):new URL(t,e)}fl(t){if(!t)return{};const[e,s]=t.split("="),n=s==null?void 0:s.split(","),a={};if(!e||!n)return null;for(let r=0;r<e.length;r++){const o=+n[r];isNaN(o)||(a[e[r]]=o)}return a}U(t,e){}}const Ge=class Ge extends w{constructor(){super(...arguments),this.Td=[]}onSetup(){this.a=S(),this.ha=hi.create(this.$props.src,this.$state.crossOrigin),this.Hh(),this.setAttributes({"data-loading":this.Rb.bind(this),"data-error":this.wa.bind(this),"data-hidden":this.$state.hidden,"aria-hidden":N(this.$state.hidden)})}onConnect(t){u(this.Ud.bind(this)),u(this.ob.bind(this)),u(this.Hh.bind(this)),u(this.Ea.bind(this)),u(this.il.bind(this)),u(this.Fi.bind(this))}Ud(){const t=this.$state.img();t&&(b(t,"load",this.qd.bind(this)),b(t,"error",this.U.bind(this)))}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)}Ea(){const{src:t,loading:e,error:s}=this.$state;return t()&&(e.set(!0),s.set(null)),()=>{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!Et(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,a=-1,r=null;for(let o=t.length-1;o>=0;o--){const h=t[o];if(e>=h.startTime&&(!h.endTime||e<h.endTime)){a=o;break}}t[a]&&(r=t[a]),n.set(r),s.set((r==null?void 0:r.url.href)||"")}Fi(){if(!this.scope||this.$state.hidden())return;const t=this.el,e=this.$state.img(),s=this.$state.activeThumbnail();if(!e||!s||!t)return;let n=s.width??e.naturalWidth,a=(s==null?void 0:s.height)??e.naturalHeight,{maxWidth:r,maxHeight:o,minWidth:h,minHeight:c,width:l,height:d}=getComputedStyle(this.el);h==="100%"&&(h=parseFloat(l)+""),c==="100%"&&(c=parseFloat(d)+"");let p=Math.max(parseInt(h)/n,parseInt(c)/a),f=Math.min(Math.max(parseInt(h),parseInt(r))/n,Math.max(parseInt(c),parseInt(o))/a),g=!isNaN(f)&&f<1?f:p>1?p:1;this.pb(t,"--thumbnail-width",`${n*g}px`),this.pb(t,"--thumbnail-height",`${a*g}px`),this.pb(e,"width",`${e.naturalWidth*g}px`),this.pb(e,"height",`${e.naturalHeight*g}px`),this.pb(e,"transform",s.coords?`translate(-${s.coords.x*g}px, -${s.coords.y*g}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=[]}};Ge.props={src:null,time:0,crossOrigin:null},Ge.state=new At({src:"",img:null,thumbnails:[],activeThumbnail:null,crossOrigin:null,loading:!1,error:null,hidden:!1});let Xn=Ge;var ac=Object.defineProperty,rc=Object.getOwnPropertyDescriptor,oc=(i,t,e,s)=>{for(var n=s>1?void 0:s?rc(t,e):t,a=i.length-1,r;a>=0;a--)(r=i[a])&&(n=(s?r(t,e,n):r(n))||n);return s&&n&&ac(t,e,n),n};const Xe=class Xe extends w{get video(){return this.$state.video()}onSetup(){this.a=S(),this.Q=hs(ce.state),this.Hh(),this.setAttributes({"data-loading":this.Rb.bind(this),"data-hidden":this.$state.hidden,"data-error":this.wa.bind(this),"aria-hidden":N(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!Et(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,a=t();e()&&a&&Number.isFinite(s())&&Number.isFinite(n())&&(a.currentTime=n()*s())}};Xe.props={src:null,crossOrigin:null},Xe.state=new At({video:null,src:null,crossOrigin:null,canPlay:!1,error:null,hidden:!1});let Is=Xe;oc([k],Is.prototype,"video",1);var hc=Object.defineProperty,cc=Object.getOwnPropertyDescriptor,lc=(i,t,e,s)=>{for(var n=s>1?void 0:s?cc(t,e):t,a=i.length-1,r;a>=0;a--)(r=i[a])&&(n=(s?r(t,e,n):r(n))||n);return s&&n&&hc(t,e,n),n};const Li=class Li extends w{onSetup(){this.Q=hs(ce.state),this.Sb=q(Wt),this.Ji=dt(this.getValueText.bind(this))}getValueText(){var g,y;const{type:t,format:e,decimalPlaces:s,padHours:n,padMinutes:a,showHours:r,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 L=d()-l(),M=f/L*100;return(this.Sb.percent??_)(M,s())+"%"}else return p==="time"?(this.Sb.time??ps)(f,{padHrs:n(),padMins:a(),showHrs:r(),showMs:o()}):(((y=(g=this.Sb).value)==null?void 0:y.call(g,f))??f.toFixed(2))+""}};Li.props={type:"pointer",format:null,showHours:!1,showMs:!1,padHours:null,padMinutes:null,decimalPlaces:2};let js=Li;lc([I],js.prototype,"getValueText",1);const Di=class Di extends w{constructor(){super(...arguments),this.Hf=jt(()=>{const{Fc:t,ta:e}=this.Q;if(t())return;const s=this.el,{offset:n,noClamp:a}=this.$props;s&&uc(s,{clamp:!a(),offset:n(),orientation:e()})})}onSetup(){this.Q=q(oi);const{active:t}=hs(ce.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())}};Di.props={offset:0,noClamp:!1};let Jn=Di;function uc(i,{clamp:t,offset:e,orientation:s}){const n=getComputedStyle(i),a=parseFloat(n.width),r=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=a/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% - ${a}px)`;o.left=`min(${c}, ${l})`}}else{const h=r/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% - ${r}px)`;o.bottom=`min(${c}, ${l})`}}Object.assign(i.style,o)}const Je=class Je extends w{constructor(){super(...arguments),this.If=_t(this.ab.bind(this),25)}onSetup(){this.a=S();const{audioGain:t}=this.a.$state;z(Wt,{default:"percent",value(e){return(e*(t()??1)).toFixed(2)},percent(e){return Math.round(e*(t()??1))}}),new Y({Ka:this.$props.step,Pb:this.$props.keyStep,Ob:Math.round,K:this.K.bind(this),Mn:this.Mn.bind(this),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":N(()=>!e())})}ia(){const{value:t}=this.$state,{audioGain:e}=this.a.$state;return Math.round(t()*(e()??1))}ja(){const{value:t,max:e}=this.$state,{audioGain:s}=this.a.$state;return _(t()/e()*(s()??1)*100,2)+"%"}Mn(){const{audioGain:t}=this.a.$state;return this.$state.max()*(t()??1)}K(){const{disabled:t}=this.$props,{canSetVolume:e}=this.a.$state;return t()||!e()}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=_(t.detail/100,3);this.a.remote.changeVolume(e,t)}o(t){this.If(t)}nb(t){this.If(t)}};Je.props={...Y.props,keyStep:5,shiftKeyMultiplier:2},Je.state=Gt;let Zn=Je;const Ze=class Ze extends w{onSetup(){this.a=S(),z(Wt,{default:"percent",percent:(t,e)=>_(this.$state.value(),e)+"%"}),new Y({Ka:this.$props.step,Pb:this.$props.keyStep,Ob:Math.round,K:this.K.bind(this),ia:this.ia.bind(this),ja:this.ja.bind(this),nb:this.nb.bind(this),o:this.o.bind(this)}).attach(this),u(this.yi.bind(this)),u(this.On.bind(this))}onAttach(t){t.setAttribute("data-media-audio-gain-slider",""),A(t,"aria-label","Audio Boost");const{canSetAudioGain:e}=this.a.$state;this.setAttributes({"data-supported":e,"aria-hidden":N(()=>!e())})}ia(){const{value:t}=this.$state;return Math.round(t())}ja(){const{value:t}=this.$state;return t()+"%"}yi(){const{min:t,max:e}=this.$props;this.$state.min.set(t()),this.$state.max.set(e())}On(){const{audioGain:t}=this.a.$state,e=((t()??1)-1)*100;this.$state.value.set(e),this.dispatch("value-change",{detail:e})}K(){const{disabled:t}=this.$props,{canSetAudioGain:e}=this.a.$state;return t()||!e()}Nn(t){if(!t.trigger)return;const e=_(1+t.detail/100,2);this.a.remote.changeAudioGain(e,t)}o(t){this.Nn(t)}nb(t){this.Nn(t)}};Ze.props={...Y.props,step:25,keyStep:25,shiftKeyMultiplier:2,min:0,max:300},Ze.state=Gt;let ta=Ze;const ts=class ts extends w{constructor(){super(...arguments),this.ho=_t(this.io.bind(this),25)}onSetup(){this.a=S(),new Y({Ka:this.$props.step,Pb:this.$props.keyStep,Ob:this.Ob,K:this.K.bind(this),ia:this.ia.bind(this),ja:this.ja.bind(this),nb:this.nb.bind(this),o:this.o.bind(this)}).attach(this),u(this.yi.bind(this)),u(this.Sh.bind(this))}onAttach(t){t.setAttribute("data-media-speed-slider",""),A(t,"aria-label","Speed");const{canSetPlaybackRate:e}=this.a.$state;this.setAttributes({"data-supported":e,"aria-hidden":N(()=>!e())})}ia(){const{value:t}=this.$state;return t()}ja(){const{value:t}=this.$state;return t()+"x"}yi(){const{min:t,max:e}=this.$props;this.$state.min.set(t()),this.$state.max.set(e())}Sh(){const{playbackRate:t}=this.a.$state,e=t();this.$state.value.set(e),this.dispatch("value-change",{detail:e})}Ob(t){return _(t,2)}K(){const{disabled:t}=this.$props,{canSetPlaybackRate:e}=this.a.$state;return t()||!e()}io(t){if(!t.trigger)return;const e=t.detail;this.a.remote.changePlaybackRate(e,t)}o(t){this.ho(t)}nb(t){this.ho(t)}};ts.props={...Y.props,step:.25,keyStep:.25,shiftKeyMultiplier:2,min:0,max:2},ts.state=Gt;let ea=ts;const es=class es extends w{constructor(){super(...arguments),this.Dj=dt(()=>{const{qualities:t}=this.a.$state;return Ya(t())}),this.jo=_t(this.fb.bind(this),25)}onSetup(){this.a=S(),new Y({Ka:this.$props.step,Pb:this.$props.keyStep,Ob:Math.round,K:this.K.bind(this),ia:this.ia.bind(this),ja:this.ja.bind(this),nb:this.nb.bind(this),o:this.o.bind(this)}).attach(this),u(this.ko.bind(this)),u(this.lo.bind(this))}onAttach(t){t.setAttribute("data-media-quality-slider",""),A(t,"aria-label","Video Quality");const{qualities:e,canSetQuality:s}=this.a.$state,n=dt(()=>s()&&e().length>0);this.setAttributes({"data-supported":n,"aria-hidden":N(()=>!n())})}ia(){const{value:t}=this.$state;return t()}ja(){const{quality:t}=this.a.$state;if(!t())return"";const{height:e,bitrate:s}=t(),n=s&&s>0?`${(s/1e6).toFixed(2)} Mbps`:null;return e?`${e}p${n?` (${n})`:""}`:"Auto"}ko(){const t=this.Dj();this.$state.max.set(Math.max(0,t.length-1))}lo(){let{quality:t}=this.a.$state,e=this.Dj(),s=Math.max(0,e.indexOf(t()));this.$state.value.set(s),this.dispatch("value-change",{detail:s})}K(){const{disabled:t}=this.$props,{canSetQuality:e,qualities:s}=this.a.$state;return t()||s().length<=1||!e()}fb(t){if(!t.trigger)return;const{qualities:e}=this.a,s=m(this.Dj)[t.detail];this.a.remote.changeQuality(e.indexOf(s),t)}o(t){this.jo(t)}nb(t){this.jo(t)}};es.props={...Y.props,step:1,keyStep:1,shiftKeyMultiplier:1},es.state=Gt;let sa=es;const ss=class ss extends w{constructor(){super(),this.Jf=$(null),this.Wd=!1;const{noSwipeGesture:t}=this.$props;new Y({ni:()=>!t(),na:this.na.bind(this),Ka:this.Ka.bind(this),Pb:this.Pb.bind(this),Ob:this.Ob,K:this.K.bind(this),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(),z(Wt,{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)),ds(this.a.textTracks,"chapters",this.Jf.set)}Ni(){const{bufferedEnd:t,duration:e}=this.a.$state;return _(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=_t(this.qa.bind(this),this.$props.seekingRequestThrottle())}jb(){if(this.$state.hidden())return;const{value:t,dragging:e}=this.$state,s=this.na();m(e)||(t.set(s),this.dispatch("value-change",{detail:s}))}Pi(){const t=this.a.player.el,{Cf:e}=q(oi);t&&e()&&T(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{seeking:e}=this.a.$state;m(e)||this.qa(this.Tb(t.detail),t);const s=t.detail;this.Ri(this.Tb(s),s,t);const{pauseWhileDragging:n}=this.$props;n()&&this.Wd&&(this.a.remote.play(t),this.Wd=!1)}o(t){const{dragging:e}=this.$state;e()||!t.trigger||this.Ec(t)}na(){const{currentTime:t}=this.a.$state;return this.Qi(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 _(t,3)}K(){const{disabled:t}=this.$props,{canSeek:e}=this.a.$state;return t()||!e()}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)?`${He(t)} out of ${He(e())}`:"live"}Tb(t){const{duration:e}=this.a.$state;return _(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:a}=this.a.$state,r=n()?s-a():s;return Number.isFinite(s)?`${r<0?"-":""}${ps(Math.abs(r),e)}`:"LIVE"}};ss.props={...Y.props,step:.1,keyStep:5,shiftKeyMultiplier:2,pauseWhileDragging:!1,noSwipeGesture:!1,seekingRequestThrottle:100},ss.state=Gt;let Rs=ss;var dc=Object.defineProperty,pc=Object.getOwnPropertyDescriptor,fs=(i,t,e,s)=>{for(var n=s>1?void 0:s?pc(t,e):t,a=i.length-1,r;a>=0;a--)(r=i[a])&&(n=(s?r(t,e,n):r(n))||n);return s&&n&&dc(t,e,n),n};const Mi=class Mi extends w{constructor(){super(...arguments),this.La=null,this.R=[],this.Gc=$(null),this._=$([]),this.Ub=$(-1),this.Hc=$(-1),this.Zd=0,this.Xi=jt(t=>{var o;let e,s=this._(),{clipStartTime:n}=this.a.$state,a=n(),r=this.Hk(s);for(let h=this.Zd;h<this.R.length;h++)if(e=this.ae(s[h],t,a,r),(o=this.R[h])==null||o.style.setProperty("--chapter-progress",e+"%"),e<100){this.Zd=h;break}}),this.Yi=dt(this.Zi.bind(this)),this.$i=ai(()=>{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=hs(Rs.state)}onAttach(t){ds(this.a.textTracks,"chapters",this.Kf.bind(this)),u(this.wo.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&&B(()=>this.Si(),this.Yd=Me())}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.Fo.bind(this))}Fo(){const{hidden:t}=this.Xd;t()||(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,a=s(),r=n()||t[t.length-1].endTime,o=r-a,h=100;for(let c=0;c<t.length;c++)if(e=t[c],this.R[c]){const l=c===t.length-1?h:_((e.endTime-Math.max(a,e.startTime))/o*100,3);this.R[c].style.width=l+"%",h-=l}}Ui(){let{liveEdge:t,clipStartTime:e,duration:s}=this.a.$state,{fillPercent:n,value:a}=this.Xd,r=this._(),o=t(),h=m(this.Ub),c=r[h],l=o?this._.length-1:this.Lf(c&&c.startTime/s()*100<=m(a)?h:0,n());o||!c?this.$d(0,r.length,"100%"):l>h?this.$d(h,l,"100%"):l<h&&this.$d(l+1,h+1,"0%");const d=o?"100%":this.ae(r[l],n(),e(),this.Hk(r))+"%";this.Mf(this.R[l],d),this.Ub.set(l)}Vi(){let{pointing:t,pointerPercent:e}=this.Xd;if(!t()){this.Hc.set(-1);return}const s=this.Lf(0,e());this.Hc.set(s)}$d(t,e,s){for(let n=t;n<e;n++)this.Mf(this.R[n],s)}Mf(t,e){t&&t.style.setProperty("--chapter-fill",e)}Lf(t,e){let s=0,n=this._();if(e===0)return 0;if(e===100)return n.length-1;let{clipStartTime:a}=this.a.$state,r=a(),o=this.Hk(n);for(let h=t;h<n.length;h++)if(s=this.ae(n[h],e,r,o),s>=0&&s<100)return h;return 0}Wi(){this.Xi(this.Yi())}Zi(){const{bufferedEnd:t,duration:e}=this.a.$state;return _(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 r=n-s,o=Math.max(0,t.startTime-s),h=Math.min(n,t.endTime)-s,c=o/r,l=c*100,d=Math.min(1,c+(h-o)/r)*100;return Math.max(0,_(e>=d?100:(e-l)/(d-l)*100,3))}_i(t){let e=[],{clipStartTime:s,clipEndTime:n,duration:a}=this.a.$state,r=s(),o=n()||1/0;t=t.filter(l=>l.startTime<=o&&l.endTime>=r);const h=t[0];h&&h.startTime>r&&e.push(new window.VTTCue(r,h.startTime,""));for(let l=0;l<t.length-1;l++){const d=t[l],p=t[l+1];if(e.push(d),p){const f=p.startTime-d.endTime;f>0&&e.push(new window.VTTCue(d.endTime,d.endTime+f,""))}}const c=t[t.length-1];if(c){e.push(c);const l=a();l>=0&&l-c.endTime>1&&e.push(new window.VTTCue(c.endTime,a(),""))}return e}wo(){const{source:t}=this.a.$state;t(),this._d()}_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}};Mi.props={disabled:!1};let zt=Mi;fs([k],zt.prototype,"cues",1);fs([k],zt.prototype,"activeCue",1);fs([k],zt.prototype,"activePointerCue",1);fs([I],zt.prototype,"setRefs",1);const R=vt(),fc=["a[href]","[tabindex]","input","select","button"].map(i=>`${i}:not([aria-hidden='true'])`).join(","),ia=new Set(["Escape","Tab","ArrowUp","ArrowDown","Home","PageUp","End","PageDown","Enter"," "]);class mc{constructor(t){this.j=t,this.ka=-1,this.xa=null,this.da=[]}get r(){return this.da}Nf(t){b(t,"focus",this.Lb.bind(this)),this.xa=t,P(()=>{this.xa=null})}zc(){this.xa&&(this.ea(),b(this.xa,"keyup",this.zb.bind(this)),b(this.xa,"keydown",this.Ab.bind(this)),P(()=>{this.ka=-1,this.da=[]}))}ea(){this.ka=0,this.da=this.dj()}Of(t=this.Pf()){const e=this.da[t];e&&requestAnimationFrame(()=>{requestAnimationFrame(()=>{e.scrollIntoView({block:"center"})})})}Ao(t=!0){const e=this.Pf();this.qb(e>=0?e:0,t)}qb(t,e=!0){var s;this.ka=t,this.da[t]?(this.da[t].focus({preventScroll:!0}),e&&this.Of(t)):(s=this.xa)==null||s.focus({preventScroll:!0})}Pf(){return this.da.findIndex(t=>document.activeElement===t||t.getAttribute("role")==="menuitemradio"&&t.getAttribute("aria-checked")==="true")}Lb(){this.ka>=0||(this.ea(),this.Ao())}zb(t){ia.has(t.key)&&(t.stopPropagation(),t.preventDefault())}Ab(t){if(ia.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(fc),e=[],s=n=>n.getAttribute("role")==="menu";for(const n of t)he(n)&&n.offsetParent!==null&&Va(this.xa,n,s)&&e.push(n);return e}}var bc=Object.defineProperty,gc=Object.getOwnPropertyDescriptor,we=(i,t,e,s)=>{for(var n=s>1?void 0:s?gc(t,e):t,a=i.length-1,r;a>=0;a--)(r=i[a])&&(n=(s?r(t,e,n):r(n))||n);return s&&n&&bc(t,e,n),n};let yc=0;const qi=class qi extends w{constructor(){super(),this.L=$(!1),this.Fc=$(!1),this.C=$(null),this.u=$(null),this.Qf=$(!1),this.Vb=new Set,this.Ic=null,this.Qn=!1,this.xo=!1,this.rj=this.sj.bind(this),this.zo=!1,this.pj=this.tj.bind(this),this.qj=this.uj.bind(this),this.O=jt(()=>{const e=m(this.u);if(!e)return;let s=0,n=getComputedStyle(e),a=[...e.children];for(const r of["paddingTop","paddingBottom","borderTopWidth","borderBottomWidth"])s+=parseFloat(n[r])||0;for(const r of a)if(he(r)&&r.style.display==="contents")a.push(...r.children);else if(r.nodeType===3)s+=parseFloat(getComputedStyle(r).fontSize);else if(he(r)){if(!Fa(r))continue;const o=getComputedStyle(r);s+=r.offsetHeight+(parseFloat(o.marginTop)||0)+(parseFloat(o.marginBottom)||0)}Z(e,"--menu-height",s+"px")}),this.yo=!1;const{showDelay:t}=this.$props;this.Jc=new Za({C:this.C,u:this.u,yf:t,zc:(e,s,n)=>{Pt(e,r=>{this.L()?n(r):s(r)});const a=this.gj();a&&Pt(a,r=>{r.stopPropagation(),n(r)})},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=++yc;this.ce=`media-menu-${t}`,this.de=`media-menu-button-${t}`,this.rb=new mc({fj:this.close.bind(this)}),st(R)&&(this.ee=q(R)),this.mo(),this.setAttributes({"data-open":this.L,"data-root":!this.isSubmenu,"data-submenu":this.isSubmenu,"data-disabled":this.K.bind(this)}),z(R,{jj:this.C,L:this.L,Wb:$(""),no:!!this.ee,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")}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}mo(){let t=-1,e=st(ne)?q(ne):null;z(ne,{onDragStart:()=>{var s;(s=e==null?void 0:e.onDragStart)==null||s.call(e),window.clearTimeout(t),t=-1,this.Qn=!0},onDragEnd:()=>{var s;(s=e==null?void 0:e.onDragEnd)==null||s.call(e),t=window.setTimeout(()=>{this.Qn=!1,t=-1},300)}})}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=N(this.K.bind(this));A(e,"tabindex",s?"-1":"0"),A(e,"role",s?"menuitem":"button"),T(e,"id",this.de),T(e,"aria-haspopup","menu"),T(e,"aria-expanded","false"),T(e,"data-root",!this.isSubmenu),T(e,"data-submenu",this.isSubmenu),u(()=>{T(e,"data-open",this.L()),T(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"),T(e,"id",this.ce),A(e,"role","menu"),A(e,"tabindex","-1"),T(e,"data-root",!this.isSubmenu),T(e,"data-submenu",this.isSubmenu),this.u.set(e),P(()=>this.u.set(null)),u(()=>T(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}Rf(t){const e=m(this.u);e&&T(e,"aria-hidden",Ie(!t))}ie(t){this.Qf.set(t)}hj(t,e){var a,r,o,h,c,l;if(this.xo=Ys(e),e==null||e.stopPropagation(),this.L()===t)return;if(this.K()){t&&this.Jc.hide(e);return}(a=this.el)==null||a.dispatchEvent(new Event("vds-menu-resize",{bubbles:!0,composed:!0}));const s=this.C(),n=this.u();if(s&&(T(s,"aria-controls",t&&this.ce),T(s,"aria-expanded",Ie(t))),n&&T(n,"aria-labelledby",t&&this.de),this.L.set(t),this.oj(e),$t(),this.xo){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");if(this.dispatch(t?"open":"close",{trigger:e}),t)!this.isSubmenu&&this.a.activeMenu!==this&&((r=this.a.activeMenu)==null||r.close(e),this.a.activeMenu=this),(h=(o=this.Ic)==null?void 0:o.ke)==null||h.call(o,e);else{if(this.isSubmenu)for(const d of this.Vb)d.close(e);else this.a.activeMenu=null;(l=(c=this.Ic)==null?void 0:c.Tj)==null||l.call(c,e)}t&&requestAnimationFrame(this.Bo.bind(this))}Bo(){this.yo||this.zo||(this.rb.ea(),this.xo?this.rb.Ao():this.rb.Of())}lj(){return!this.K()&&this.L()}K(){return this.Fc()||this.Qf()}Ma(t){this.Fc.set(t)}mj(t){const e=this.u();this.Qn||e&&gn(e,t)||t.stopPropagation()}nj(t){const e=this.u();this.Qn||e&&gn(e,t)||this.close(t)}gj(){var e;const t=(e=this.el)==null?void 0:e.querySelector('[data-part="close-target"]');return this.el&&t&&Va(this.el,t,s=>s.getAttribute("role")==="menu")?t: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 s;this.zo=!0;const e=this.u();this.isSubmenu&&((s=this.triggerElement)==null||s.setAttribute("aria-hidden","true"));for(const n of this.Vb)if(n!==t.target)for(const a of[n.el,n.triggerElement])a==null||a.setAttribute("aria-hidden","true");if(e){const n=t.target.el;for(const a of e.children)a.contains(n)?a.setAttribute("data-open",""):a!==n&&a.setAttribute("data-hidden","")}}uj(t){var s;this.zo=!1;const e=this.u();this.isSubmenu&&((s=this.triggerElement)==null||s.setAttribute("aria-hidden","false"));for(const n of this.Vb)for(const a of[n.el,n.triggerElement])a==null||a.setAttribute("aria-hidden","false");if(e)for(const n of e.children)n.removeAttribute("data-open"),n.removeAttribute("data-hidden")}Xm(t){const e=this.u();e&&t.propertyName==="height"&&(this.yo=t.type==="transitionstart",T(e,"data-transition",this.yo?"height":null),this.L()&&this.Bo())}open(t){m(this.L)||(this.Jc.show(t),$t())}close(t){m(this.L)&&(this.Jc.hide(t),$t())}};qi.props={showDelay:0};let qt=qi;we([k],qt.prototype,"triggerElement",1);we([k],qt.prototype,"contentElement",1);we([k],qt.prototype,"isSubmenu",1);we([I],qt.prototype,"open",1);we([I],qt.prototype,"close",1);var $c=Object.defineProperty,wc=Object.getOwnPropertyDescriptor,vc=(i,t,e,s)=>{for(var n=s>1?void 0:s?wc(t,e):t,a=i.length-1,r;a>=0;a--)(r=i[a])&&(n=(s?r(t,e,n):r(n))||n);return s&&n&&$c(t,e,n),n};const Ii=class Ii extends w{constructor(){super(),this.zn=$(null),new ft}get expanded(){var t;return((t=this.l)==null?void 0:t.L())??!1}onSetup(){this.l=q(R)}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)}};Ii.props={disabled:!1};let _s=Ii;vc([k],_s.prototype,"expanded",1);const ji=class ji extends w{constructor(){super(...arguments),this.A=null}onSetup(){this.a=S(),z(Le,{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,Re(()=>{Re(()=>{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;T(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 he(t)?t:t?document.querySelector(t):document.body}};ji.props={container:null,disabled:!1};let na=ji;const Le=vt(),Ri=class Ri extends w{constructor(){super(),new ft;const{placement:t}=this.$props;this.setAttributes({"data-placement":t})}onAttach(t){if(this.l=q(R),this.l.ge(this),st(Le)){const e=q(Le);e&&(z(Le,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 Ha(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()}};Ri.props={placement:null,offset:0,alignOffset:0};let aa=Ri;const Fs=vt();class Ft extends ht{constructor(){super(...arguments),this.sb=new Set,this.la=$(""),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(){z(Fs,{add:this.yj.bind(this),remove:this.zj.bind(this)})}onAttach(t){st(R)||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 r;const s=m(this.la);if(!t||t===s)return;const n=this.Uf(s),a=this.Uf(t);n==null||n.Xb(!1,e),a==null||a.Xb(!0,e),this.la.set(t),(r=this.o)==null||r.call(this,t,e)}Uf(t){for(const e of this.sb)if(t===m(e.la))return e;return null}}var Tc=Object.defineProperty,kc=Object.getOwnPropertyDescriptor,er=(i,t,e,s)=>{for(var n=s>1?void 0:s?kc(t,e):t,a=i.length-1,r;a>=0;a--)(r=i[a])&&(n=(s?r(t,e,n):r(n))||n);return s&&n&&Tc(t,e,n),n};const _i=class _i extends w{get values(){return this.d.xj}get value(){return this.d.value}set value(t){this.d.value=t}constructor(){super(),this.d=new Ft,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)}};_i.props={value:""};let Ke=_i;er([k],Ke.prototype,"values",1);er([k],Ke.prototype,"value",1);var Sc=Object.defineProperty,xc=Object.getOwnPropertyDescriptor,Pc=(i,t,e,s)=>{for(var n=s>1?void 0:s?xc(t,e):t,a=i.length-1,r;a>=0;a--)(r=i[a])&&(n=(s?r(t,e,n):r(n))||n);return s&&n&&Sc(t,e,n),n};const Fi=class Fi extends w{constructor(){super(),this.Na=$(!1),this.d={la:this.$props.value,Xb:this.Xb.bind(this),Kc:null},new ft}get checked(){return this.Na()}onSetup(){this.setAttributes({value:this.$props.value,"data-checked":this.Na,"aria-checked":N(this.Na)})}onAttach(t){const e=st(R);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(){B(()=>{q(Fs).remove(this.d)},this.connectScope)}Bj(){q(Fs).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})}};Fi.props={value:""};let Ns=Fi;Pc([k],Ns.prototype,"checked",1);var Ec=Object.defineProperty,Ac=Object.getOwnPropertyDescriptor,ci=(i,t,e,s)=>{for(var n=s>1?void 0:s?Ac(t,e):t,a=i.length-1,r;a>=0;a--)(r=i[a])&&(n=(s?r(t,e,n):r(n))||n);return s&&n&&Ec(t,e,n),n};const Ni=class Ni extends w{constructor(){super(),this.z=$(null),this.J=$([]),this.d=new Ft,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(),st(R)&&(this.l=q(R));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((a,r)=>({cue:a,value:r.toString(),label:a.text,startTime:ps(Math.max(0,a.startTime-s)),duration:He(Math.min(n,a.endTime)-Math.max(s,a.startTime))}))}ke(){m(()=>this.jb())}onConnect(t){u(this.jb.bind(this)),u(this.ma.bind(this)),u(this.tk.bind(this)),ds(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(),a=s()||1/0;this.J.set([...t.cues].filter(r=>r.startTime<=a&&r.endTime>=n))}jb(){var c;if(!((c=this.l)!=null&&c.L()))return;if(!this.z()){this.d.value="-1";return}const{realCurrentTime:e,clipStartTime:s,clipEndTime:n}=this.a.$state,a=s(),r=n()||1/0,o=e(),h=this.J().findIndex(l=>Es(l,o));this.d.value=h.toString(),h>=0&&Re(()=>{if(!this.connectScope)return;const l=this.J()[h],d=this.el.querySelector("[aria-checked='true']"),p=Math.max(a,l.startTime),f=Math.min(r,l.endTime)-p,g=Math.max(0,o-p)/f*100;d&&Z(d,"--progress",_(g,3)+"%")})}ma(){var t;(t=this.l)==null||t.Ma(this.disabled)}o(t,e){if(this.disabled||!e)return;const s=+t,n=this.J(),{clipStartTime:a}=this.a.$state;at(s)&&(n!=null&&n[s])&&(this.d.value=s.toString(),this.a.remote.seek(n[s].startTime-a(),e),this.dispatch("change",{detail:n[s],trigger:e}))}};Ni.props={thumbnails:null};let le=Ni;ci([k],le.prototype,"value",1);ci([k],le.prototype,"disabled",1);ci([I],le.prototype,"getOptions",1);var Cc=Object.defineProperty,Oc=Object.getOwnPropertyDescriptor,li=(i,t,e,s)=>{for(var n=s>1?void 0:s?Oc(t,e):t,a=i.length-1,r;a>=0;a--)(r=i[a])&&(n=(s?r(t,e,n):r(n))||n);return s&&n&&Cc(t,e,n),n};const Vi=class Vi extends w{get value(){return this.d.value}get disabled(){const{audioTracks:t}=this.a.$state;return t().length<=1}constructor(){super(),this.d=new Ft,this.d.o=this.o.bind(this)}onSetup(){this.a=S(),st(R)&&(this.l=q(R))}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})}}};Vi.props={emptyLabel:"Default"};let ue=Vi;li([k],ue.prototype,"value",1);li([k],ue.prototype,"disabled",1);li([I],ue.prototype,"getOptions",1);var Lc=Object.defineProperty,Dc=Object.getOwnPropertyDescriptor,ui=(i,t,e,s)=>{for(var n=s>1?void 0:s?Dc(t,e):t,a=i.length-1,r;a>=0;a--)(r=i[a])&&(n=(s?r(t,e,n):r(n))||n);return s&&n&&Lc(t,e,n),n};const Mc=[1,1.25,1.5,1.75,2,2.5,3,4],Hi=class Hi extends w{get value(){return this.d.value}get disabled(){const{gains:t}=this.$props,{canSetAudioGain:e}=this.a.$state;return!e()||t().length===0}constructor(){super(),this.d=new Ft,this.d.o=this.o.bind(this)}onSetup(){this.a=S(),st(R)&&(this.l=q(R))}onConnect(t){u(this.D.bind(this)),u(this.Oa.bind(this)),u(this.ma.bind(this))}getOptions(){const{gains:t,normalLabel:e}=this.$props;return t().map(s=>({label:s===1||s===null?e:String(s*100)+"%",value:s.toString()}))}D(){this.d.value=this.na()}Oa(){var n;const{normalLabel:t}=this.$props,{audioGain:e}=this.a.$state,s=e();(n=this.l)==null||n.Wb.set(s===1||s==null?t():String(s*100)+"%")}ma(){var t;(t=this.l)==null||t.Ma(this.disabled)}na(){var e;const{audioGain:t}=this.a.$state;return((e=t())==null?void 0:e.toString())??"1"}o(t,e){if(this.disabled)return;const s=+t;this.a.remote.changeAudioGain(s,e),this.dispatch("change",{detail:s,trigger:e})}};Hi.props={normalLabel:"Disabled",gains:Mc};let de=Hi;ui([k],de.prototype,"value",1);ui([k],de.prototype,"disabled",1);ui([I],de.prototype,"getOptions",1);var qc=Object.defineProperty,Ic=Object.getOwnPropertyDescriptor,di=(i,t,e,s)=>{for(var n=s>1?void 0:s?Ic(t,e):t,a=i.length-1,r;a>=0;a--)(r=i[a])&&(n=(s?r(t,e,n):r(n))||n);return s&&n&&qc(t,e,n),n};const Ki=class Ki extends w{get value(){return this.d.value}get disabled(){const{hasCaptions:t}=this.a.$state;return!t()}constructor(){super(),this.d=new Ft,this.d.o=this.o.bind(this)}onSetup(){this.a=S(),st(R)&&(this.l=q(R))}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(Q).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&&Q(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&&Q(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 a=this.a.textTracks.indexOf(n);this.a.remote.changeTextTrackMode(a,"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()}};Ki.props={offLabel:"Off"};let pe=Ki;di([k],pe.prototype,"value",1);di([k],pe.prototype,"disabled",1);di([I],pe.prototype,"getOptions",1);var jc=Object.defineProperty,Rc=Object.getOwnPropertyDescriptor,pi=(i,t,e,s)=>{for(var n=s>1?void 0:s?Rc(t,e):t,a=i.length-1,r;a>=0;a--)(r=i[a])&&(n=(s?r(t,e,n):r(n))||n);return s&&n&&jc(t,e,n),n};const _c=[.25,.5,.75,1,1.25,1.5,1.75,2],Ui=class Ui extends w{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 Ft,this.d.o=this.o.bind(this)}onSetup(){this.a=S(),st(R)&&(this.l=q(R))}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})}};Ui.props={normalLabel:"Normal",rates:_c};let fe=Ui;pi([k],fe.prototype,"value",1);pi([k],fe.prototype,"disabled",1);pi([I],fe.prototype,"getOptions",1);var Fc=Object.defineProperty,Nc=Object.getOwnPropertyDescriptor,fi=(i,t,e,s)=>{for(var n=s>1?void 0:s?Nc(t,e):t,a=i.length-1,r;a>=0;a--)(r=i[a])&&(n=(s?r(t,e,n):r(n))||n);return s&&n&&Fc(t,e,n),n};const Qi=class Qi extends w{constructor(){super(),this.Dj=dt(()=>{const{sort:t}=this.$props,{qualities:e}=this.a.$state;return Ya(e(),t()==="descending")}),this.d=new Ft,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<=1}onSetup(){this.a=S(),st(R)&&(this.l=q(R))}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&&s.bitrate>=0?`${_(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 a;const{autoLabel:t}=this.$props,{autoQuality:e,quality:s}=this.a.$state,n=s()?s().height+"p":"";(a=this.l)==null||a.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(a=>this.le(a)===t);if(n>=0){const a=m(s)[n];this.a.remote.changeQuality(n,e),this.dispatch("change",{detail:a,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}};Qi.props={autoLabel:"Auto",hideBitrate:!1,sort:"descending"};let me=Qi;fi([k],me.prototype,"value",1);fi([k],me.prototype,"disabled",1);fi([I],me.prototype,"getOptions",1);const Bi=class Bi extends w{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()||cn(t)&&(t.button!==0||this.a.activeMenu)||Ae(t)&&this.a.activeMenu||ii(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(cn(t)||pr(t)||Ae(t)){const e=Ae(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,a=this.el.getBoundingClientRect(),r=n>=a.top&&n<=a.bottom&&s>=a.left&&s<=a.right;return t.type.includes("leave")?!r:r}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 D("will-trigger",{detail:t,cancelable:!0,trigger:e});if(this.dispatchEvent(s),s.defaultPrevented)return;const[n,a]=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)+(+a||0),e):this.a.remote[Tr(n)](e),this.dispatch("trigger",{detail:t,trigger:e})}};Bi.props={disabled:!1,event:void 0,action:void 0};let ra=Bi;class Vc{constructor(t){this.S=t,this.priority=10,this.z=null,this.sa=Gs()}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 Wi=class Wi extends w{constructor(){super(...arguments),this.Rn=-1}onSetup(){this.a=S(),this.setAttributes({"aria-hidden":N(this.lb.bind(this))})}onAttach(t){t.style.setProperty("pointer-events","none")}onConnect(t){const e=this.a.player;if(e&&b(e,"vds-font-change",this.Wn.bind(this)),this.S){u(this.Yf.bind(this));return}et(()=>import("./prod-xvsVbB4U.js").then(s=>s.d),__vite__mapDeps([0,1])).then(s=>{this.connectScope&&B(()=>{this.W=s;const{CaptionsRenderer:n}=this.W;this.S=new n(t),this.Qa=new Vc(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||!Q(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="",this.Rn>=0&&this.Sn();const{realCurrentTime:t,textTrack:e}=this.a.$state,{renderVTTCueString:s}=this.W,n=m(t),a=m(e).activeCues;for(const r of a){const o=this.Tn(),h=this.Un();h.innerHTML=s(r,n),o.append(h),this.el.append(h)}}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(){var s;if(this.lb())return;const{realCurrentTime:t,textTrack:e}=this.a.$state;this.S.currentTime=t(),this.Rn>=0&&((s=e())!=null&&s.activeCues[0])&&this.Sn()}Wn(){var e,s;if(this.Rn>=0){this.Vn();return}const{textTrack:t}=this.a.$state;(e=t())!=null&&e.activeCues[0]?(s=this.S)==null||s.update(!0):this.Xn()}Xn(){var s,n;const t=this.Tn();T(t,"data-example","");const e=this.Un();T(e,"data-example",""),e.textContent=this.$props.exampleText(),t==null||t.append(e),(s=this.el)==null||s.append(t),(n=this.el)==null||n.setAttribute("data-example",""),this.Vn()}Vn(){window.clearTimeout(this.Rn),this.Rn=window.setTimeout(this.Sn.bind(this),2500)}Sn(){var t,e;(t=this.el)==null||t.removeAttribute("data-example"),(e=this.el)!=null&&e.querySelector("[data-example]")&&(this.el.textContent=""),this.Rn=-1}Tn(){const t=document.createElement("div");return T(t,"data-part","cue-display"),t}Un(){const t=document.createElement("div");return T(t,"data-part","cue"),t}};Wi.props={textDir:"ltr",exampleText:"Captions look like this."};let oa=Wi;const is=class is extends w{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!Et(t())}Pk(){const{canLoadPoster:t,poster:e}=this.a.$state;!t()&&e()&&$e(e(),"preconnect")}ob(){const{src:t}=this.$props,{$iosControls:e}=this.a,{poster:s}=this.a.$state;this.el&&T(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,a=this.$props.src()||"",r=a||t()||n();this.wn===s()&&s.set(a),this.$state.src.set(e()&&r.length?r:null),this.wn=a}$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,a=t()!==null?t():s();e.set(/ytimg\.com|vimeo/.test(n()||"")?null:a===!0?"anonymous":a)}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)}};is.props={src:null,alt:null,crossOrigin:null},is.state=new At({img:null,src:null,alt:null,crossOrigin:null,loading:!0,error:null,hidden:!1});let ha=is;const ns=class ns extends w{constructor(){super(...arguments),this.cn=$(null),this.Co=$(!0),this.Do=$(!0)}onSetup(){this.a=S(),this.ag();const{type:t}=this.$props;this.setAttributes({"data-type":t,"data-remainder":this.fn.bind(this)}),new tr({callback:this.Eo.bind(this)}).attach(this)}onAttach(t){t.hasAttribute("role")||u(this.hn.bind(this)),u(this.ag.bind(this))}onConnect(t){P(Na(t,this.Co.set)),u(this.ob.bind(this)),u(this.Go.bind(this))}Eo(t){this.Do.set(t[0].isIntersecting)}ob(){const{hidden:t}=this.$props;this.$state.hidden.set(t()||!this.Co()||!this.Do())}Go(){if(!this.$props.toggle()){this.cn.set(null);return}this.el&&Pt(this.el,this.gn.bind(this))}ag(){const{hidden:t,timeText:e}=this.$state,{duration:s}=this.a.$state;if(t())return;const{type:n,padHours:a,padMinutes:r,showHours:o}=this.$props,h=this.Oj(n()),c=s(),l=this.fn();if(!Number.isFinite(h+c)){e.set("LIVE");return}const d=l?Math.max(0,c-h):h,p=ps(d,{padHrs:a(),padMins:r(),showHrs:o()});e.set((l?"-":"")+p)}hn(){if(!this.el)return;const{toggle:t}=this.$props;T(this.el,"role",t()?"timer":null),T(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)}};ns.props={type:"current",showHours:!1,padHours:null,padMinutes:null,remainder:!1,toggle:!1,hidden:!1},ns.state=new At({timeText:"",hidden:!1});let ca=ns;export{N as $,rl as A,qe as B,w as C,U as D,Ya as E,wa as F,b as G,Wc as H,he as I,nl as J,ln as K,Ta as L,Ms as M,il as N,fl as O,pl as P,kn as Q,Ys as R,Z as S,ft as T,Re as U,Oe as V,_s as W,Xn as X,sl as Y,ca as Z,Nn as _,ml as a,ko as a$,Kn as a0,Un as a1,zn as a2,Qn as a3,Bn as a4,Hn as a5,Wn as a6,ue as a7,pe as a8,qt as a9,Is as aA,ta as aB,ea as aC,sa as aD,zt as aE,Gt as aF,ha as aG,B as aH,Me as aI,Jc as aJ,Qc as aK,ja as aL,Yc as aM,us as aN,ah as aO,D as aP,E as aQ,J as aR,at as aS,Xc as aT,Gc as aU,So as aV,_e as aW,x as aX,Ao as aY,$e as aZ,lt as a_,aa,fe as ab,me as ac,hs as ad,js as ae,to as af,Rs as ag,Jn as ah,Zn as ai,tl as aj,ce as ak,el as al,oa as am,ra as an,jn as ao,Rn as ap,ul as aq,Vn as ar,qs as as,_n as at,Fn as au,na as av,le as aw,de as ax,Ns as ay,Ke as az,jt as b,To as b0,wo as b1,gs as b2,cl as b3,ti as b4,Ce as b5,ks as b6,hl as b7,cr as b8,Zc as b9,Ro as ba,Bc as bb,Hs as bc,dt as c,zc as d,u as e,v as f,z as g,$ as h,fr as i,on as j,dl as k,vt as l,q as m,k as n,P as o,m as p,ut as q,al as r,T as s,kr as t,S as u,Kc as v,ol as w,ll as x,ds as y,Uc as z};
diff --git a/assets/vidstack-BTBUzdbF-Cao5mZMB.js b/assets/vidstack-BTBUzdbF-Cao5mZMB.js
deleted file mode 100644
index a6eaf0a..0000000
--- a/assets/vidstack-BTBUzdbF-Cao5mZMB.js
+++ /dev/null
@@ -1 +0,0 @@
-const f=/(?:https:\/\/)?(?:player\.)?vimeo(?:\.com)?\/(?:video\/)?(\d+)(?:\?hash=(.*))?/,t=new Map,i=new Map;function g(n){const o=n.match(f);return{videoId:o==null?void 0:o[1],hash:o==null?void 0:o[2]}}async function b(n,o){if(t.has(n))return t.get(n);if(i.has(n))return i.get(n);const p=`https://vimeo.com/api/oembed.json?url=https://player.vimeo.com/video/${n}`,c=window.fetch(p,{mode:"cors",signal:o.signal}).then(e=>e.json()).then(e=>{var m,h;const l=/vimeocdn.com\/video\/(.*)?_/,s=(h=(m=e==null?void 0:e.thumbnail_url)==null?void 0:m.match(l))==null?void 0:h[1],u=s?`https://i.vimeocdn.com/video/${s}_1920x1080.webp`:"",r={title:(e==null?void 0:e.title)??"",duration:(e==null?void 0:e.duration)??0,poster:u,pro:e.account_type!=="basic"};return t.set(n,r),r}).finally(()=>i.delete(n));return i.set(n,c),c}export{b as getVimeoVideoInfo,g as resolveVimeoVideoId};
diff --git a/assets/vidstack-BeyDmEgV-DK6K5w61.js b/assets/vidstack-BeyDmEgV-DK6K5w61.js
new file mode 100644
index 0000000..75d6a2b
--- /dev/null
+++ b/assets/vidstack-BeyDmEgV-DK6K5w61.js
@@ -0,0 +1 @@
+const W=Symbol(0);let N1=!1,o6=!1,Z=null,a1=null,P=null,T=0,u1=[],f6={};const $3=()=>{},p1=0,B6=1,D1=2,z1=3;function y3(){N1=!0,queueMicrotask(j6)}function j6(){if(!u1.length){N1=!1;return}o6=!0;for(let t=0;t<u1.length;t++)u1[t].$st!==p1&&v3(u1[t]);u1=[],N1=!1,o6=!1}function v3(t){let e=[t];for(;t=t[W];)t.$e&&t.$st!==p1&&e.push(t);for(let n=e.length-1;n>=0;n--)g6(e[n])}function w3(t){const e=s6();return S1(e,t.length?t.bind(null,h1.bind(e)):t,null)}function he(t){return S1(Z,t,null)}function L3(t){return S1(null,t,null)}function Ce(){o6||j6()}function U1(){return Z}function R(t,e){try{return S1(e,t,null)}catch(n){h6(e,n);return}}function _6(t,e=Z){return e==null?void 0:e.$cx[t]}function E3(t,e,n=Z){n&&(n.$cx={...n.$cx,[t]:e})}function x1(t){if(!t||!Z)return t||$3;const e=Z;return e.$d?Array.isArray(e.$d)?e.$d.push(t):e.$d=[e.$d,t]:e.$d=t,function(){e.$st!==z1&&(t.call(null),Y1(e.$d)?e.$d=null:Array.isArray(e.$d)&&e.$d.splice(e.$d.indexOf(t),1))}}function h1(t=!0){if(this.$st!==z1){if(this.$h)if(Array.isArray(this.$h))for(let e=this.$h.length-1;e>=0;e--)h1.call(this.$h[e]);else h1.call(this.$h);if(t){const e=this[W];e&&(Array.isArray(e.$h)?e.$h.splice(e.$h.indexOf(this),1):e.$h=null),x3(this)}}}function x3(t){t.$st=z1,t.$d&&q6(t),t.$s&&l6(t,0),t[W]=null,t.$s=null,t.$o=null,t.$h=null,t.$cx=f6,t.$eh=null}function q6(t){try{if(Array.isArray(t.$d))for(let e=t.$d.length-1;e>=0;e--){const n=t.$d[e];n.call(n)}else t.$d.call(t.$d);t.$d=null}catch(e){h6(t,e)}}function S1(t,e,n){const r=Z,i=a1;Z=t,a1=n;try{return e.call(t)}finally{Z=r,a1=i}}function h6(t,e){if(!t||!t.$eh)throw e;let n=0,r=t.$eh.length,i=e;for(n=0;n<r;n++)try{t.$eh[n](i);break}catch(o){i=o}if(n===r)throw i}function C6(){return this.$st===z1?this.$v:(a1&&!this.$e&&(!P&&a1.$s&&a1.$s[T]==this?T++:P?P.push(this):P=[this]),this.$c&&g6(this),this.$v)}function z6(t){const e=Y1(t)?t(this.$v):t;if(this.$ch(this.$v,e)&&(this.$v=e,this.$o))for(let n=0;n<this.$o.length;n++)X6(this.$o[n],D1);return this.$v}const d6=function(){this[W]=null,this.$h=null,Z&&Z.append(this)},o1=d6.prototype;o1.$cx=f6;o1.$eh=null;o1.$c=null;o1.$d=null;o1.append=function(t){t[W]=this,this.$h?Array.isArray(this.$h)?this.$h.push(t):this.$h=[this.$h,t]:this.$h=t,t.$cx=t.$cx===f6?this.$cx:{...this.$cx,...t.$cx},this.$eh&&(t.$eh=t.$eh?[...t.$eh,...this.$eh]:this.$eh)};o1.dispose=function(){h1.call(this)};function s6(){return new d6}const U6=function(e,n,r){d6.call(this),this.$st=n?D1:p1,this.$i=!1,this.$e=!1,this.$s=null,this.$o=null,this.$v=e,n&&(this.$c=n),r&&r.dirty&&(this.$ch=r.dirty)},p6=U6.prototype;Object.setPrototypeOf(p6,o1);p6.$ch=S3;p6.call=C6;function m6(t,e,n){return new U6(t,e,n)}function S3(t,e){return t!==e}function Y1(t){return typeof t=="function"}function g6(t){if(t.$st===B6)for(let e=0;e<t.$s.length&&(g6(t.$s[e]),t.$st!==D1);e++);t.$st===D1?Y6(t):t.$st=p1}function V3(t){t.$h&&h1.call(t,!1),t.$d&&q6(t),t.$eh=t[W]?t[W].$eh:null}function Y6(t){let e=P,n=T;P=null,T=0;try{V3(t);const r=S1(t,t.$c,t);S6(t),!t.$e&&t.$i?z6.call(t,r):(t.$v=r,t.$i=!0)}catch(r){S6(t),h6(t,r)}finally{P=e,T=n,t.$st=p1}}function S6(t){if(P){if(t.$s&&l6(t,T),t.$s&&T>0){t.$s.length=T+P.length;for(let n=0;n<P.length;n++)t.$s[T+n]=P[n]}else t.$s=P;let e;for(let n=T;n<t.$s.length;n++)e=t.$s[n],e.$o?e.$o.push(t):e.$o=[t]}else t.$s&&T<t.$s.length&&(l6(t,T),t.$s.length=T)}function X6(t,e){if(!(t.$st>=e)&&(t.$e&&t.$st===p1&&(u1.push(t),N1||y3()),t.$st=e,t.$o))for(let n=0;n<t.$o.length;n++)X6(t.$o[n],B6)}function l6(t,e){let n,r;for(let i=e;i<t.$s.length;i++)n=t.$s[i],n.$o&&(r=n.$o.indexOf(t),n.$o[r]=n.$o[n.$o.length-1],n.$o.pop())}function K6(...t){}function b6(t){return t===null}function J(t){return typeof t>"u"}function de(t){return b6(t)||J(t)}function pe(t){return(t==null?void 0:t.constructor)===Object}function me(t){return typeof t=="number"&&!Number.isNaN(t)}function I(t){return typeof t=="string"}function V6(t){return typeof t=="boolean"}function D(t){return typeof t=="function"}function J6(t){return Array.isArray(t)}var H6;const H3=Event,G6=Symbol("DOM_EVENT");class M6 extends H3{constructor(e,...n){var i,o;super(e,n[0]),this[H6]=!0,this.triggers=new M3,this.detail=(i=n[0])==null?void 0:i.detail;const r=(o=n[0])==null?void 0:o.trigger;r&&this.triggers.add(r)}get trigger(){return this.triggers.source}get originEvent(){return this.triggers.origin}get isOriginTrusted(){var e;return((e=this.triggers.origin)==null?void 0:e.isTrusted)??!1}}H6=G6;class M3{constructor(){this.chain=[]}get source(){return this.chain[0]}get origin(){return this.chain[this.chain.length-1]}add(e){this.chain.push(e),A3(e)&&this.chain.push(...e.triggers)}remove(e){return this.chain.splice(this.chain.indexOf(e),1)[0]}has(e){return this.chain.some(n=>n===e)}hasType(e){return!!this.findType(e)}findType(e){return this.chain.find(n=>n.type===e)}walk(e){for(const n of this.chain){const r=e(n);if(r)return[n,r]}}[Symbol.iterator](){return this.chain.values()}}function A3(t){return!!(t!=null&&t[G6])}class ge extends EventTarget{addEventListener(e,n,r){return super.addEventListener(e,n,r)}removeEventListener(e,n,r){return super.removeEventListener(e,n,r)}}function S(t,e,n,r){return t.addEventListener(e,n,r),x1(()=>t.removeEventListener(e,n,r))}function be(t){return!!(t!=null&&t.type.startsWith("pointer"))}function T3(t){return!!(t!=null&&t.type.startsWith("touch"))}function $e(t){return/^(click|mouse)/.test((t==null?void 0:t.type)??"")}function Q6(t){return!!(t!=null&&t.type.startsWith("key"))}function ye(t){return Q6(t)&&t.key==="Enter"}function O3(t){return Q6(t)&&(t.key==="Enter"||t.key===" ")}function k3(t){return t instanceof Node}function W1(t,e,n){if(t)if(!n&&n!==""&&n!==0)t.removeAttribute(e);else{const r=n===!0?"":n+"";t.getAttribute(e)!==r&&t.setAttribute(e,r)}else return}function c6(t,e,n){if(t)!n&&n!==0?t.style.removeProperty(e):t.style.setProperty(e,n+"");else return}function A6(t,e,n){t.classList[n?"add":"remove"](e)}function s1(t,e){const n=m6(t,null,e),r=C6.bind(n);return r[W]=!0,r.set=z6.bind(n),r}function P3(t){return Y1(t)&&W in t}function t3(t,e){const n=m6(e==null?void 0:e.initial,t,e),r=C6.bind(n);return r[W]=!0,r}function I3(t,e){const n=m6(null,function(){let i=t();return Y1(i)&&x1(i),null},void 0);return n.$e=!0,Y6(n),h1.bind(n,!0)}function ve(t){return P3(t)&&"set"in t}const B=I3;function R3(t){return{id:Symbol(),provide:t}}function Z3(t,e,n=U1()){var i;const r=!J(e);E3(t.id,r?e:(i=t.provide)==null?void 0:i.call(t),n)}function e3(t){return _6(t.id)}function we(t){return!J(_6(t.id))}const y1=Symbol(0),v1=Symbol(0),n3=Symbol(0);var T6;const e6={};class F3{constructor(e,n,r){var s;this[T6]=null,this.$el=s1(null),this.a=null,this.d=null,this.f=null,this.g=null,this.e=null,this.o=!1,this.i=e6,this.b=null,this.c=null,this.l=[],this.m=[],this.j=[],this.n=[],this.d=n,r!=null&&r.scope&&r.scope.append(n);let i=e.state,o=e.props;if(i&&(this.h=i.create(),this.k=new Proxy(this.h,{get:(c,l)=>this.h[l]()}),Z3(i,this.h)),o&&(this.i=N3(o),r!=null&&r.props))for(const c of Object.keys(r.props))(s=this.i[c])==null||s.set(r.props[c]);x1(this.p.bind(this))}w(){R(()=>{for(const e of this.l)e()},this.d)}x(e){this.a||(this.a=e,this.$el.set(e),R(()=>{this.f=s6(),R(()=>{for(const n of this.m)n(this.a);this.q(),this.r()},this.f)},this.d),e.dispatchEvent(new Event("attached")))}s(){var e;(e=this.f)==null||e.dispose(),this.f=null,this.g=null,this.a=null,this.$el.set(null)}y(){!this.a||!this.f||!this.j.length||R(()=>{this.g=s6(),R(()=>{for(const e of this.j)e(this.a)},this.g)},this.f)}z(){var e;(e=this.g)==null||e.dispose(),this.g=null}p(){if(this.o)return;this.o=!0,R(()=>{for(const n of this.n)n(this.a)},this.d);const e=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=e6,this.d=null,this.k=e6,this.h=null,e&&delete e.$}t(e){e.onSetup&&this.l.push(e.onSetup.bind(e)),e.onAttach&&this.m.push(e.onAttach.bind(e)),e.onConnect&&this.j.push(e.onConnect.bind(e)),e.onDestroy&&this.n.push(e.onDestroy.bind(e))}q(){if(this.b)for(const e of Object.keys(this.b))D(this.b[e])?B(this.u.bind(this,e)):W1(this.a,e,this.b[e])}r(){if(this.c)for(const e of Object.keys(this.c))D(this.c[e])?B(this.v.bind(this,e)):c6(this.a,e,this.c[e])}u(e){W1(this.a,e,this.b[e].call(this.e))}v(e){c6(this.a,e,this.c[e].call(this.e))}}T6=n3;function N3(t){const e={};for(const n of Object.keys(t)){const r=t[n];e[n]=s1(r,r)}return e}let w1={$$:null};function D3(t,e){return w3(()=>{w1.$$=new F3(t,U1(),e);const n=new t;return w1.$$.e=n,w1.$$=null,n})}class W3 extends EventTarget{constructor(){super(),w1.$$&&this.attach(w1)}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({$$:e}){return this.$$=e,e.t(this),this}addEventListener(e,n,r){this.listen(e,n,r)}removeEventListener(e,n,r){var i;(i=this.el)==null||i.removeEventListener(e,n,r)}setAttributes(e){this.$$.b||(this.$$.b={}),Object.assign(this.$$.b,e)}setStyles(e){this.$$.c||(this.$$.c={}),Object.assign(this.$$.c,e)}setCSSVars(e){this.setStyles(e)}createEvent(e,...n){return new M6(e,n[0])}dispatch(e,...n){if(!this.el)return!1;const r=e instanceof Event?e:new M6(e,n[0]);return Object.defineProperty(r,"target",{get:()=>this.$$.e}),L3(()=>{var i,o;return(o=(i=this.$$)[n3])==null||o.call(i,r),this.el.dispatchEvent(r)})}dispatchEvent(e){return this.dispatch(e)}listen(e,n,r){return this.el?S(this.el,e,n,r):K6}}class Le extends W3{subscribe(e){return R(()=>B(()=>e(this.state)),this.$$.d)}destroy(){this.$$.p()}}function Ee(t,e,n){t[y1]||(t[y1]=new Set),t[y1].add(e)}function xe(t,e,n){t[v1]||(t[v1]=new Set),t[v1].add(e)}class Se{constructor(e){this.id=Symbol(0),this.record=e,this.A=Object.getOwnPropertyDescriptors(e)}create(){const e={},n=new Proxy(e,{get:(r,i)=>e[i]()});for(const r of Object.keys(this.record)){const i=this.A[r].get;e[r]=i?t3(i.bind(n)):s1(this.record[r])}return e}reset(e,n){for(const r of Object.keys(e))!this.A[r].get&&(!n||n(r))&&e[r].set(this.record[r])}}function Ve(t){return e3(t)}function B3(t,e){for(const n of t)n(e)}function j3(t){return t.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function He(t){return t.replace(/-./g,e=>e[1].toUpperCase())}function Me(t){return t.charAt(0).toUpperCase()+t.slice(1)}function Ae(t){return D(t)?t():t}function Te(t){return t?"true":"false"}function _3(){const t=new Set;return{add(...e){for(const n of e)t.add(n)},empty(){for(const e of t)e();t.clear()}}}function Oe(){const t=_3();return x1(t.empty),t}function ke(t){return Object.keys(t)}function q3(){let t,e;return{promise:new Promise((r,i)=>{t=r,e=i}),resolve:t,reject:e}}function z3(t){return new Promise(e=>setTimeout(e,t))}function U3(t){let e=-1,n;function r(...i){n=i,!(e>=0)&&(e=window.requestAnimationFrame(()=>{t.apply(this,n),e=-1,n=void 0}))}return r}const Y3=typeof window<"u"?"requestIdleCallback"in window?window.requestIdleCallback:t=>window.setTimeout(t,1):K6;function Pe(t,e){return new Promise(n=>{Y3(r=>{t==null||t(r),n()},e)})}var A={fullscreenEnabled:0,fullscreenElement:1,requestFullscreen:2,exitFullscreen:3,fullscreenchange:4,fullscreenerror:5,fullscreen:6},O6=["webkitFullscreenEnabled","webkitFullscreenElement","webkitRequestFullscreen","webkitExitFullscreen","webkitfullscreenchange","webkitfullscreenerror","-webkit-full-screen"],k6=["mozFullScreenEnabled","mozFullScreenElement","mozRequestFullScreen","mozCancelFullScreen","mozfullscreenchange","mozfullscreenerror","-moz-full-screen"],P6=["msFullscreenEnabled","msFullscreenElement","msRequestFullscreen","msExitFullscreen","MSFullscreenChange","MSFullscreenError","-ms-fullscreen"],x=typeof window<"u"&&typeof window.document<"u"?window.document:{},k="fullscreenEnabled"in x&&Object.keys(A)||O6[0]in x&&O6||k6[0]in x&&k6||P6[0]in x&&P6||[],Ie={requestFullscreen:function(t){return t[k[A.requestFullscreen]]()},requestFullscreenFunction:function(t){return t[k[A.requestFullscreen]]},get exitFullscreen(){return x[k[A.exitFullscreen]].bind(x)},get fullscreenPseudoClass(){return":"+k[A.fullscreen]},addEventListener:function(t,e,n){return x.addEventListener(k[A[t]],e,n)},removeEventListener:function(t,e,n){return x.removeEventListener(k[A[t]],e,n)},get fullscreenEnabled(){return!!x[k[A.fullscreenEnabled]]},set fullscreenEnabled(t){},get fullscreenElement(){return x[k[A.fullscreenElement]]},set fullscreenElement(t){},get onfullscreenchange(){return x[("on"+k[A.fullscreenchange]).toLowerCase()]},set onfullscreenchange(t){return x[("on"+k[A.fullscreenchange]).toLowerCase()]=t},get onfullscreenerror(){return x[("on"+k[A.fullscreenerror]).toLowerCase()]},set onfullscreenerror(t){return x[("on"+k[A.fullscreenerror]).toLowerCase()]=t}},Re=X3;function X3(t,e,n){var r=null,i=null,o=n&&n.leading,s=n&&n.trailing;o==null&&(o=!0),s==null&&(s=!o),o==!0&&(s=!1);var c=function(){r&&(clearTimeout(r),r=null)},l=function(){var f=i;c(),f&&f()},u=function(){var f=o&&!r,a=this,h=arguments;if(i=function(){return t.apply(a,h)},r||(r=setTimeout(function(){if(r=null,s)return i()},e)),f)return f=!1,i()};return u.cancel=c,u.flush=l,u}var Ze=K3;function K3(t,e,n){var r=null,i=null,o=function(){r&&(clearTimeout(r),i=null,r=null)},s=function(){var l=i;o(),l&&l()},c=function(){if(!e)return t.apply(this,arguments);var l=this,u=arguments,f=n&&!r;if(o(),i=function(){t.apply(l,u)},r=setTimeout(function(){if(r=null,!f){var a=i;return i=null,a()}},e),f)return i()};return c.cancel=o,c.flush=s,c}const I6=t=>typeof t=="object"&&t!=null&&t.nodeType===1,R6=(t,e)=>(!e||t!=="hidden")&&t!=="visible"&&t!=="clip",n6=(t,e)=>{if(t.clientHeight<t.scrollHeight||t.clientWidth<t.scrollWidth){const n=getComputedStyle(t,null);return R6(n.overflowY,e)||R6(n.overflowX,e)||(r=>{const i=(o=>{if(!o.ownerDocument||!o.ownerDocument.defaultView)return null;try{return o.ownerDocument.defaultView.frameElement}catch{return null}})(r);return!!i&&(i.clientHeight<r.scrollHeight||i.clientWidth<r.scrollWidth)})(t)}return!1},R1=(t,e,n,r,i,o,s,c)=>o<t&&s>e||o>t&&s<e?0:o<=t&&c<=n||s>=e&&c>=n?o-t-r:s>e&&c<n||o<t&&c>n?s-e+i:0,J3=t=>{const e=t.parentElement;return e??(t.getRootNode().host||null)},Fe=(t,e)=>{var n,r,i,o;if(typeof document>"u")return[];const{scrollMode:s,block:c,inline:l,boundary:u,skipOverflowHiddenElements:f}=e,a=typeof u=="function"?u:V=>V!==u;if(!I6(t))throw new TypeError("Invalid target");const h=document.scrollingElement||document.documentElement,C=[];let d=t;for(;I6(d)&&a(d);){if(d=J3(d),d===h){C.push(d);break}d!=null&&d===document.body&&n6(d)&&!n6(document.documentElement)||d!=null&&n6(d,f)&&C.push(d)}const p=(r=(n=window.visualViewport)==null?void 0:n.width)!=null?r:innerWidth,g=(o=(i=window.visualViewport)==null?void 0:i.height)!=null?o:innerHeight,{scrollX:m,scrollY:b}=window,{height:y,width:w,top:v,right:N,bottom:g1,left:z}=t.getBoundingClientRect(),{top:t1,right:U,bottom:b1,left:$1}=(V=>{const $=window.getComputedStyle(V);return{top:parseFloat($.scrollMarginTop)||0,right:parseFloat($.scrollMarginRight)||0,bottom:parseFloat($.scrollMarginBottom)||0,left:parseFloat($.scrollMarginLeft)||0}})(t);let E=c==="start"||c==="nearest"?v-t1:c==="end"?g1+b1:v+y/2-t1+b1,L=l==="center"?z+w/2-$1+U:l==="end"?N+U:z-$1;const l1=[];for(let V=0;V<C.length;V++){const $=C[V],{height:H,width:M,top:c1,right:J1,bottom:G1,left:H1}=$.getBoundingClientRect();if(s==="if-needed"&&v>=0&&z>=0&&g1<=g&&N<=p&&v>=c1&&g1<=G1&&z>=H1&&N<=J1)return l1;const M1=getComputedStyle($),A1=parseInt(M1.borderLeftWidth,10),T1=parseInt(M1.borderTopWidth,10),O1=parseInt(M1.borderRightWidth,10),k1=parseInt(M1.borderBottomWidth,10);let Y=0,X=0;const P1="offsetWidth"in $?$.offsetWidth-$.clientWidth-A1-O1:0,I1="offsetHeight"in $?$.offsetHeight-$.clientHeight-T1-k1:0,Q1="offsetWidth"in $?$.offsetWidth===0?0:M/$.offsetWidth:0,t6="offsetHeight"in $?$.offsetHeight===0?0:H/$.offsetHeight:0;if(h===$)Y=c==="start"?E:c==="end"?E-g:c==="nearest"?R1(b,b+g,g,T1,k1,b+E,b+E+y,y):E-g/2,X=l==="start"?L:l==="center"?L-p/2:l==="end"?L-p:R1(m,m+p,p,A1,O1,m+L,m+L+w,w),Y=Math.max(0,Y+b),X=Math.max(0,X+m);else{Y=c==="start"?E-c1-T1:c==="end"?E-G1+k1+I1:c==="nearest"?R1(c1,G1,H,T1,k1+I1,E,E+y,y):E-(c1+H/2)+I1/2,X=l==="start"?L-H1-A1:l==="center"?L-(H1+M/2)+P1/2:l==="end"?L-J1+O1+P1:R1(H1,J1,M,A1,O1+P1,L,L+w,w);const{scrollLeft:E6,scrollTop:x6}=$;Y=t6===0?0:Math.max(0,Math.min(x6+Y/t6,$.scrollHeight-H/t6+I1)),X=Q1===0?0:Math.max(0,Math.min(E6+X/Q1,$.scrollWidth-M/Q1+P1)),E+=x6-Y,L+=E6-X}l1.push({el:$,top:Y,left:X})}return l1},r6=t=>t===null?"":t+"",G3=t=>t===null?null:t+"",Q3=t=>t===null?0:Number(t),tt=t=>t!==null,et=()=>null,nt=t=>t===null?[]:JSON.parse(t),rt=t=>t===null?{}:JSON.parse(t);function it(t){if(t===null)return G3;switch(typeof t){case"undefined":return r6;case"string":return r6;case"boolean":return tt;case"number":return Q3;case"function":return et;case"object":return J6(t)?nt:rt;default:return r6}}const K=Symbol(0),r3=Symbol(0),n1=Symbol(0),e1=Symbol(0);function Ne(t,e){var n,r,i;const s=class s extends t{constructor(...l){if(super(...l),this[r]=0,this[i]=null,this.keepAlive=!1,this.forwardKeepAlive=!0,this.$=R(()=>D3(e),null),this.$.$$.t(this),e.props){const u=this.$props,f=Object.getOwnPropertyDescriptors(this);for(const a of Object.keys(f))a in e.props&&(u[a].set(this[a]),delete this[a])}}static get observedAttributes(){var l;if(!this[K]&&e.props){const u=new Map;for(const f of Object.keys(e.props)){let a=(l=this.attrs)==null?void 0:l[f],h=I(a)?a:a&&(a==null?void 0:a.attr);h!==!1&&(h||(h=j3(f)),u.set(h,{C:f,B:a&&!I(a)&&(a==null?void 0:a.converter)||it(e.props[f])}))}this[K]=u}return this[K]?Array.from(this[K].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(l,u,f){var C;const a=this.constructor;if(!a[K]){(C=super.attributeChangedCallback)==null||C.call(this,l,u,f);return}const h=a[K].get(l);h&&(this[h.C]=h.B(f))}connectedCallback(){var f;const l=(f=this.$)==null?void 0:f.$$;if(!l||l.o)return;if(this[n1]!==2){st.call(this);return}if(!this.isConnected)return;this.hasAttribute("keep-alive")&&(this.keepAlive=!0),l.y(),J6(this[e1])&&B3(this[e1],this),this[e1]=null;const u=super.connectedCallback;u&&R(()=>u.call(this),this.connectScope)}disconnectedCallback(){var f;const l=(f=this.$)==null?void 0:f.$$;if(!l||l.o)return;l.z();const u=super.disconnectedCallback;u&&u.call(this),!this.keepAlive&&!this.hasAttribute("keep-alive")&&setTimeout(()=>{requestAnimationFrame(()=>{this.isConnected||l.p()})},0)}[(n=K,r=n1,i=e1,r3)](){const l=this.$.$$,u=this.constructor;if(l.o)return;const f=u[K];if(f)for(const a of this.attributes){let h=f.get(a.name);h&&h.B&&l.i[h.C].set(h.B(this.getAttribute(a.name)))}l.w(),l.x(this),this[n1]=2,this.connectedCallback()}subscribe(l){return this.$.subscribe(l)}destroy(){this.disconnectedCallback(),this.$.destroy()}};s[n]=null;let o=s;return ot(o,e),o}function ot(t,e){const n=t.prototype,r=e.prototype;if(e.props)for(const i of Object.keys(e.props))Object.defineProperty(n,i,{enumerable:!0,configurable:!0,get(){return this.$props[i]()},set(o){this.$props[i].set(o)}});if(r[y1])for(const i of r[y1])Object.defineProperty(n,i,{enumerable:!0,configurable:!0,get(){return this.$[i]},set(o){this.$[i]=o}});if(r[v1])for(const i of r[v1])n[i]=function(...o){return this.$[i](...o)}}function st(){if(this[n1]!==0)return;this[n1]=1;const t=ct(this),e=t&&window.customElements.get(t.localName),n=t&&t[n1]===2;if(t&&(!e||!n)){lt.call(this,t);return}i3.call(this,t)}async function lt(t){await window.customElements.whenDefined(t.localName),t[n1]!==2&&await new Promise(e=>(t[e1]??(t[e1]=[])).push(e)),i3.call(this,t)}function i3(t){if(this.isConnected){if(t){t.keepAlive&&t.forwardKeepAlive&&(this.keepAlive=!0,this.setAttribute("keep-alive",""));const e=this.$.$$.d;e&&t.$.$$.f.append(e)}this[r3]()}}function ct(t){let e=t.parentNode,n=t.localName.split("-",1)[0]+"-";for(;e;){if(e.nodeType===1&&e.localName.startsWith(n))return e;e=e.parentNode}return null}function De(t,e=!1){(e||!window.customElements.get(t.tagName))&&window.customElements.define(t.tagName,t)}var We='<path fill-rule="evenodd" clip-rule="evenodd" d="M6 7C5.63181 7 5.33333 7.29848 5.33333 7.66667V14.8667C5.33333 14.9403 5.39361 14.9999 5.46724 15.0009C10.8844 15.0719 15.2614 19.449 15.3325 24.8661C15.3334 24.9397 15.393 25 15.4667 25H26C26.3682 25 26.6667 24.7015 26.6667 24.3333V7.66667C26.6667 7.29848 26.3682 7 26 7H6ZM17.0119 22.2294C17.0263 22.29 17.0802 22.3333 17.1425 22.3333H23.3333C23.7015 22.3333 24 22.0349 24 21.6667V10.3333C24 9.96514 23.7015 9.66667 23.3333 9.66667H8.66667C8.29848 9.66667 8 9.96514 8 10.3333V13.1909C8 13.2531 8.04332 13.3071 8.10392 13.3214C12.5063 14.3618 15.9715 17.827 17.0119 22.2294Z" fill="currentColor"/> <path d="M13.2 25C13.2736 25 13.3334 24.9398 13.3322 24.8661C13.2615 20.5544 9.77889 17.0718 5.46718 17.0011C5.39356 16.9999 5.33333 17.0597 5.33333 17.1333V18.8667C5.33333 18.9403 5.39348 18.9999 5.4671 19.0015C8.67465 19.0716 11.2617 21.6587 11.3319 24.8662C11.3335 24.9399 11.393 25 11.4667 25H13.2Z" fill="currentColor"/> <path d="M5.33333 21.1333C5.33333 21.0597 5.39332 20.9998 5.46692 21.0022C7.57033 21.0712 9.26217 22.763 9.33114 24.8664C9.33356 24.94 9.27364 25 9.2 25H6C5.63181 25 5.33333 24.7015 5.33333 24.3333V21.1333Z" fill="currentColor"/>',Be='<path fill-rule="evenodd" clip-rule="evenodd" d="M15.0007 28.7923C15.0007 29.0152 14.9774 29.096 14.9339 29.1775C14.8903 29.259 14.8263 29.323 14.7449 29.3665C14.6634 29.4101 14.5826 29.4333 14.3597 29.4333H12.575C12.3521 29.4333 12.2713 29.4101 12.1898 29.3665C12.1083 29.323 12.0443 29.259 12.0008 29.1775C11.9572 29.096 11.934 29.0152 11.934 28.7923V12.2993L5.97496 12.3C5.75208 12.3 5.67125 12.2768 5.58977 12.2332C5.50829 12.1896 5.44434 12.1257 5.40077 12.0442C5.35719 11.9627 5.33398 11.8819 5.33398 11.659V9.87429C5.33398 9.65141 5.35719 9.57059 5.40077 9.48911C5.44434 9.40762 5.50829 9.34368 5.58977 9.3001C5.67125 9.25652 5.75208 9.23332 5.97496 9.23332H26.0263C26.2492 9.23332 26.33 9.25652 26.4115 9.3001C26.493 9.34368 26.557 9.40762 26.6005 9.48911C26.6441 9.57059 26.6673 9.65141 26.6673 9.87429V11.659C26.6673 11.8819 26.6441 11.9627 26.6005 12.0442C26.557 12.1257 26.493 12.1896 26.4115 12.2332C26.33 12.2768 26.2492 12.3 26.0263 12.3L20.067 12.2993L20.0673 28.7923C20.0673 29.0152 20.0441 29.096 20.0005 29.1775C19.957 29.259 19.893 29.323 19.8115 29.3665C19.73 29.4101 19.6492 29.4333 19.4263 29.4333H17.6416C17.4187 29.4333 17.3379 29.4101 17.2564 29.3665C17.175 29.323 17.111 29.259 17.0674 29.1775C17.0239 29.096 17.0007 29.0152 17.0007 28.7923L17 22.7663H15L15.0007 28.7923Z" fill="currentColor"/> <path d="M16.0007 7.89998C17.4734 7.89998 18.6673 6.70608 18.6673 5.23332C18.6673 3.76056 17.4734 2.56665 16.0007 2.56665C14.5279 2.56665 13.334 3.76056 13.334 5.23332C13.334 6.70608 14.5279 7.89998 16.0007 7.89998Z" fill="currentColor"/>',je='<path d="M5.33334 6.00001C5.33334 5.63182 5.63181 5.33334 6 5.33334H26C26.3682 5.33334 26.6667 5.63182 26.6667 6.00001V20.6667C26.6667 21.0349 26.3682 21.3333 26 21.3333H23.7072C23.4956 21.3333 23.2966 21.233 23.171 21.0628L22.1859 19.7295C21.8607 19.2894 22.1749 18.6667 22.7221 18.6667H23.3333C23.7015 18.6667 24 18.3682 24 18V8.66668C24 8.29849 23.7015 8.00001 23.3333 8.00001H8.66667C8.29848 8.00001 8 8.29849 8 8.66668V18C8 18.3682 8.29848 18.6667 8.66667 18.6667H9.29357C9.84072 18.6667 10.1549 19.2894 9.82976 19.7295L8.84467 21.0628C8.71898 21.233 8.52 21.3333 8.30848 21.3333H6C5.63181 21.3333 5.33334 21.0349 5.33334 20.6667V6.00001Z" fill="currentColor"/> <path d="M8.78528 25.6038C8.46013 26.0439 8.77431 26.6667 9.32147 26.6667L22.6785 26.6667C23.2256 26.6667 23.5398 26.0439 23.2146 25.6038L16.5358 16.5653C16.2693 16.2046 15.73 16.2047 15.4635 16.5653L8.78528 25.6038Z" fill="currentColor"/>',_e='<path d="M17.4853 18.9093C17.4853 19.0281 17.6289 19.0875 17.7129 19.0035L22.4185 14.2979C22.6788 14.0376 23.1009 14.0376 23.3613 14.2979L24.7755 15.7122C25.0359 15.9725 25.0359 16.3946 24.7755 16.655L16.2902 25.1403C16.0299 25.4006 15.6078 25.4006 15.3474 25.1403L13.9332 23.726L13.9319 23.7247L6.86189 16.6547C6.60154 16.3944 6.60154 15.9723 6.86189 15.7119L8.2761 14.2977C8.53645 14.0373 8.95856 14.0373 9.21891 14.2977L13.9243 19.0031C14.0083 19.0871 14.1519 19.0276 14.1519 18.9088L14.1519 6.00004C14.1519 5.63185 14.4504 5.33337 14.8186 5.33337L16.8186 5.33337C17.1868 5.33337 17.4853 5.63185 17.4853 6.00004L17.4853 18.9093Z" fill="currentColor"/>',qe='<path d="M13.0908 14.3334C12.972 14.3334 12.9125 14.1898 12.9965 14.1058L17.7021 9.40022C17.9625 9.13987 17.9625 8.71776 17.7021 8.45741L16.2879 7.04319C16.0275 6.78284 15.6054 6.78284 15.3451 7.04319L6.8598 15.5285C6.59945 15.7888 6.59945 16.2109 6.8598 16.4713L8.27401 17.8855L8.27536 17.8868L15.3453 24.9568C15.6057 25.2172 16.0278 25.2172 16.2881 24.9568L17.7024 23.5426C17.9627 23.2822 17.9627 22.8601 17.7024 22.5998L12.9969 17.8944C12.9129 17.8104 12.9724 17.6668 13.0912 17.6668L26 17.6668C26.3682 17.6668 26.6667 17.3683 26.6667 17.0001V15.0001C26.6667 14.6319 26.3682 14.3334 26 14.3334L13.0908 14.3334Z" fill="currentColor"/>',ze='<path d="M14.1521 13.0929C14.1521 12.9741 14.0085 12.9147 13.9245 12.9987L9.21891 17.7043C8.95856 17.9646 8.53645 17.9646 8.2761 17.7043L6.86189 16.29C6.60154 16.0297 6.60154 15.6076 6.86189 15.3472L15.3472 6.86195C15.6075 6.6016 16.0296 6.6016 16.29 6.86195L17.7042 8.27616L17.7055 8.27751L24.7755 15.3475C25.0359 15.6078 25.0359 16.0299 24.7755 16.2903L23.3613 17.7045C23.1009 17.9649 22.6788 17.9649 22.4185 17.7045L17.7131 12.9991C17.6291 12.9151 17.4855 12.9746 17.4855 13.0934V26.0022C17.4855 26.3704 17.187 26.6688 16.8188 26.6688H14.8188C14.4506 26.6688 14.1521 26.3704 14.1521 26.0022L14.1521 13.0929Z" fill="currentColor"/>',Ue='<path d="M16.6927 25.3346C16.3245 25.3346 16.026 25.0361 16.026 24.6679L16.026 7.3346C16.026 6.96641 16.3245 6.66794 16.6927 6.66794L18.6927 6.66794C19.0609 6.66794 19.3594 6.96642 19.3594 7.3346L19.3594 24.6679C19.3594 25.0361 19.0609 25.3346 18.6927 25.3346H16.6927Z" fill="currentColor"/> <path d="M24.026 25.3346C23.6578 25.3346 23.3594 25.0361 23.3594 24.6679L23.3594 7.3346C23.3594 6.96641 23.6578 6.66794 24.026 6.66794L26.026 6.66794C26.3942 6.66794 26.6927 6.96642 26.6927 7.3346V24.6679C26.6927 25.0361 26.3942 25.3346 26.026 25.3346H24.026Z" fill="currentColor"/> <path d="M5.48113 23.9407C5.38584 24.2963 5.59689 24.6619 5.95254 24.7572L7.88439 25.2748C8.24003 25.3701 8.60559 25.159 8.70089 24.8034L13.1871 8.06067C13.2824 7.70503 13.0713 7.33947 12.7157 7.24417L10.7838 6.72654C10.4282 6.63124 10.0626 6.8423 9.96733 7.19794L5.48113 23.9407Z" fill="currentColor"/>',Ye='<path fill-rule="evenodd" clip-rule="evenodd" d="M24.9266 7.57992C25.015 7.60672 25.0886 7.64746 25.2462 7.80506L26.956 9.51488C27.1136 9.67248 27.1543 9.74604 27.1811 9.83447C27.2079 9.9229 27.2079 10.0133 27.1811 10.1018C27.1543 10.1902 27.1136 10.2638 26.956 10.4214L13.1822 24.1951C13.0246 24.3527 12.951 24.3935 12.8626 24.4203C12.797 24.4402 12.7304 24.4453 12.6642 24.4357L12.7319 24.4203C12.6435 24.4471 12.553 24.4471 12.4646 24.4203C12.3762 24.3935 12.3026 24.3527 12.145 24.1951L5.04407 17.0942C4.88647 16.9366 4.84573 16.863 4.81893 16.7746C4.79213 16.6862 4.79213 16.5957 4.81893 16.5073C4.84573 16.4189 4.88647 16.3453 5.04407 16.1877L6.7539 14.4779C6.9115 14.3203 6.98506 14.2796 7.07349 14.2528C7.16191 14.226 7.25235 14.226 7.34078 14.2528C7.42921 14.2796 7.50277 14.3203 7.66037 14.4779L12.6628 19.4808L24.3397 7.80506C24.4973 7.64746 24.5709 7.60672 24.6593 7.57992C24.7477 7.55311 24.8382 7.55311 24.9266 7.57992Z" fill="currentColor"/>',Xe='<path d="M17.947 16.095C17.999 16.043 17.999 15.9585 17.947 15.9065L11.6295 9.58899C11.3691 9.32864 11.3691 8.90653 11.6295 8.64618L13.2323 7.04341C13.4926 6.78306 13.9147 6.78306 14.1751 7.04341L21.0289 13.8973C21.0392 13.9064 21.0493 13.9158 21.0591 13.9257L22.6619 15.5285C22.9223 15.7888 22.9223 16.2109 22.6619 16.4713L14.1766 24.9565C13.9163 25.2169 13.4942 25.2169 13.2338 24.9565L11.631 23.3538C11.3707 23.0934 11.3707 22.6713 11.631 22.411L17.947 16.095Z" fill="currentColor"/>',Ke='<path d="M8 28.0003C8 27.6321 8.29848 27.3336 8.66667 27.3336H23.3333C23.7015 27.3336 24 27.6321 24 28.0003V29.3336C24 29.7018 23.7015 30.0003 23.3333 30.0003H8.66667C8.29848 30.0003 8 29.7018 8 29.3336V28.0003Z" fill="currentColor"/> <path fill-rule="evenodd" clip-rule="evenodd" d="M4.66602 6.66699C4.29783 6.66699 3.99935 6.96547 3.99935 7.33366V24.667C3.99935 25.0352 4.29783 25.3337 4.66602 25.3337H27.3327C27.7009 25.3337 27.9994 25.0352 27.9994 24.667V7.33366C27.9994 6.96547 27.7009 6.66699 27.3327 6.66699H4.66602ZM8.66659 21.3333C8.2984 21.3333 7.99992 21.0349 7.99992 20.6667V11.3333C7.99992 10.9651 8.2984 10.6667 8.66659 10.6667H13.9999C14.3681 10.6667 14.6666 10.9651 14.6666 11.3333V12.6667C14.6666 13.0349 14.3681 13.3333 13.9999 13.3333H10.7999C10.7263 13.3333 10.6666 13.393 10.6666 13.4667V18.5333C10.6666 18.607 10.7263 18.6667 10.7999 18.6667H13.9999C14.3681 18.6667 14.6666 18.9651 14.6666 19.3333V20.6667C14.6666 21.0349 14.3681 21.3333 13.9999 21.3333H8.66659ZM17.9999 21.3333C17.6317 21.3333 17.3333 21.0349 17.3333 20.6667V11.3333C17.3333 10.9651 17.6317 10.6667 17.9999 10.6667H23.3333C23.7014 10.6667 23.9999 10.9651 23.9999 11.3333V12.6667C23.9999 13.0349 23.7014 13.3333 23.3333 13.3333H20.1333C20.0596 13.3333 19.9999 13.393 19.9999 13.4667V18.5333C19.9999 18.607 20.0596 18.6667 20.1333 18.6667H23.3333C23.7014 18.6667 23.9999 18.9651 23.9999 19.3333V20.6667C23.9999 21.0349 23.7014 21.3333 23.3333 21.3333H17.9999Z" fill="currentColor"/>',Je='<path fill-rule="evenodd" clip-rule="evenodd" d="M4.6661 6.66699C4.29791 6.66699 3.99943 6.96547 3.99943 7.33366V24.667C3.99943 25.0352 4.29791 25.3337 4.6661 25.3337H27.3328C27.701 25.3337 27.9994 25.0352 27.9994 24.667V7.33366C27.9994 6.96547 27.701 6.66699 27.3328 6.66699H4.6661ZM8.66667 21.3333C8.29848 21.3333 8 21.0349 8 20.6667V11.3333C8 10.9651 8.29848 10.6667 8.66667 10.6667H14C14.3682 10.6667 14.6667 10.9651 14.6667 11.3333V12.6667C14.6667 13.0349 14.3682 13.3333 14 13.3333H10.8C10.7264 13.3333 10.6667 13.393 10.6667 13.4667V18.5333C10.6667 18.607 10.7264 18.6667 10.8 18.6667H14C14.3682 18.6667 14.6667 18.9651 14.6667 19.3333V20.6667C14.6667 21.0349 14.3682 21.3333 14 21.3333H8.66667ZM18 21.3333C17.6318 21.3333 17.3333 21.0349 17.3333 20.6667V11.3333C17.3333 10.9651 17.6318 10.6667 18 10.6667H23.3333C23.7015 10.6667 24 10.9651 24 11.3333V12.6667C24 13.0349 23.7015 13.3333 23.3333 13.3333H20.1333C20.0597 13.3333 20 13.393 20 13.4667V18.5333C20 18.607 20.0597 18.6667 20.1333 18.6667H23.3333C23.7015 18.6667 24 18.9651 24 19.3333V20.6667C24 21.0349 23.7015 21.3333 23.3333 21.3333H18Z" fill="currentColor"/>',Ge='<path d="M14.2225 13.7867C14.3065 13.8706 14.4501 13.8112 14.4501 13.6924V5.99955C14.4501 5.63136 14.7486 5.33289 15.1167 5.33289H16.8501C17.2183 5.33289 17.5167 5.63136 17.5167 5.99955V13.6916C17.5167 13.8104 17.6604 13.8699 17.7444 13.7859L19.9433 11.5869C20.2037 11.3266 20.6258 11.3266 20.8861 11.5869L22.1118 12.8126C22.3722 13.0729 22.3722 13.4951 22.1118 13.7554L16.4549 19.4123C16.1946 19.6726 15.772 19.6731 15.5116 19.4128L9.85479 13.7559C9.59444 13.4956 9.59444 13.0734 9.85479 12.8131L11.0804 11.5874C11.3408 11.3271 11.7629 11.3271 12.0233 11.5874L14.2225 13.7867Z" fill="currentColor"/> <path d="M5.99998 20.267C5.63179 20.267 5.33331 20.5654 5.33331 20.9336V25.9997C5.33331 26.3678 5.63179 26.6663 5.99998 26.6663H26C26.3682 26.6663 26.6666 26.3678 26.6666 25.9997V20.9336C26.6666 20.5654 26.3682 20.267 26 20.267H24.2666C23.8985 20.267 23.6 20.5654 23.6 20.9336V22.9333C23.6 23.3014 23.3015 23.5999 22.9333 23.5999H9.06638C8.69819 23.5999 8.39972 23.3014 8.39972 22.9333V20.9336C8.39972 20.5654 8.10124 20.267 7.73305 20.267H5.99998Z" fill="currentColor"/>',Qe='<path d="M16 20C18.2091 20 20 18.2092 20 16C20 13.7909 18.2091 12 16 12C13.7909 12 12 13.7909 12 16C12 18.2092 13.7909 20 16 20Z" fill="currentColor"/> <path fill-rule="evenodd" clip-rule="evenodd" d="M28 16.0058C28 18.671 23.5 25.3334 16 25.3334C8.5 25.3334 4 18.6762 4 16.0058C4 13.3354 8.50447 6.66669 16 6.66669C23.4955 6.66669 28 13.3406 28 16.0058ZM25.3318 15.9934C25.3328 16.0017 25.3328 16.0099 25.3318 16.0182C25.3274 16.0571 25.3108 16.1728 25.2485 16.3708C25.1691 16.6229 25.0352 16.9462 24.8327 17.3216C24.4264 18.0749 23.7969 18.9398 22.9567 19.754C21.2791 21.3798 18.9148 22.6667 16 22.6667C13.0845 22.6667 10.7202 21.3805 9.04298 19.7557C8.20295 18.9419 7.57362 18.0773 7.16745 17.3241C6.96499 16.9486 6.83114 16.6252 6.75172 16.3729C6.67942 16.1431 6.66856 16.0243 6.66695 16.0066L6.66695 16.005C6.66859 15.9871 6.67951 15.8682 6.75188 15.6383C6.83145 15.3854 6.96554 15.0614 7.16831 14.6853C7.57507 13.9306 8.20514 13.0644 9.04577 12.249C10.7245 10.6208 13.0886 9.33335 16 9.33335C18.9108 9.33335 21.2748 10.6215 22.9539 12.2507C23.7947 13.0664 24.4249 13.933 24.8318 14.6877C25.0346 15.0639 25.1688 15.3878 25.2483 15.6404C25.3107 15.8386 25.3274 15.9545 25.3318 15.9934Z" fill="currentColor"/>',t2='<path d="M15.8747 8.11857C16.3148 7.79342 16.9375 8.10759 16.9375 8.65476V14.2575C16.9375 14.3669 17.0621 14.4297 17.1501 14.3647L25.6038 8.11857C26.0439 7.79342 26.6667 8.10759 26.6667 8.65476V23.3451C26.6667 23.8923 26.0439 24.2064 25.6038 23.8813L17.1501 17.6346C17.0621 17.5695 16.9375 17.6324 16.9375 17.7418L16.9375 23.3451C16.9375 23.8923 16.3147 24.2064 15.8747 23.8813L5.93387 16.5358C5.57322 16.2693 5.57323 15.7299 5.93389 15.4634L15.8747 8.11857Z" fill="currentColor"/>',e2='<path d="M16.1253 8.11866C15.6852 7.7935 15.0625 8.10768 15.0625 8.65484V14.2576C15.0625 14.367 14.9379 14.4298 14.8499 14.3648L6.39615 8.11866C5.95607 7.7935 5.33331 8.10768 5.33331 8.65484V23.3452C5.33331 23.8923 5.9561 24.2065 6.39617 23.8813L14.8499 17.6347C14.9379 17.5696 15.0625 17.6325 15.0625 17.7419L15.0625 23.3452C15.0625 23.8923 15.6853 24.2065 16.1253 23.8813L26.0661 16.5358C26.4268 16.2694 26.4268 15.73 26.0661 15.4635L16.1253 8.11866Z" fill="currentColor"/>',n2='<path d="M19.3334 13.3333C18.9652 13.3333 18.6667 13.0349 18.6667 12.6667L18.6667 7.33333C18.6667 6.96514 18.9652 6.66666 19.3334 6.66666H21.3334C21.7015 6.66666 22 6.96514 22 7.33333V9.86666C22 9.9403 22.0597 10 22.1334 10L24.6667 10C25.0349 10 25.3334 10.2985 25.3334 10.6667V12.6667C25.3334 13.0349 25.0349 13.3333 24.6667 13.3333L19.3334 13.3333Z" fill="currentColor"/> <path d="M13.3334 19.3333C13.3334 18.9651 13.0349 18.6667 12.6667 18.6667H7.33335C6.96516 18.6667 6.66669 18.9651 6.66669 19.3333V21.3333C6.66669 21.7015 6.96516 22 7.33335 22H9.86669C9.94032 22 10 22.0597 10 22.1333L10 24.6667C10 25.0349 10.2985 25.3333 10.6667 25.3333H12.6667C13.0349 25.3333 13.3334 25.0349 13.3334 24.6667L13.3334 19.3333Z" fill="currentColor"/> <path d="M18.6667 24.6667C18.6667 25.0349 18.9652 25.3333 19.3334 25.3333H21.3334C21.7015 25.3333 22 25.0349 22 24.6667V22.1333C22 22.0597 22.0597 22 22.1334 22H24.6667C25.0349 22 25.3334 21.7015 25.3334 21.3333V19.3333C25.3334 18.9651 25.0349 18.6667 24.6667 18.6667L19.3334 18.6667C18.9652 18.6667 18.6667 18.9651 18.6667 19.3333L18.6667 24.6667Z" fill="currentColor"/> <path d="M10.6667 13.3333H12.6667C13.0349 13.3333 13.3334 13.0349 13.3334 12.6667L13.3334 10.6667V7.33333C13.3334 6.96514 13.0349 6.66666 12.6667 6.66666H10.6667C10.2985 6.66666 10 6.96514 10 7.33333L10 9.86666C10 9.9403 9.94033 10 9.86669 10L7.33335 10C6.96516 10 6.66669 10.2985 6.66669 10.6667V12.6667C6.66669 13.0349 6.96516 13.3333 7.33335 13.3333L10.6667 13.3333Z" fill="currentColor"/>',r2='<path d="M25.3299 7.26517C25.2958 6.929 25.0119 6.66666 24.6667 6.66666H19.3334C18.9652 6.66666 18.6667 6.96514 18.6667 7.33333V9.33333C18.6667 9.70152 18.9652 10 19.3334 10L21.8667 10C21.9403 10 22 10.0597 22 10.1333V12.6667C22 13.0349 22.2985 13.3333 22.6667 13.3333H24.6667C25.0349 13.3333 25.3334 13.0349 25.3334 12.6667V7.33333C25.3334 7.31032 25.3322 7.28758 25.3299 7.26517Z" fill="currentColor"/> <path d="M22 21.8667C22 21.9403 21.9403 22 21.8667 22L19.3334 22C18.9652 22 18.6667 22.2985 18.6667 22.6667V24.6667C18.6667 25.0349 18.9652 25.3333 19.3334 25.3333L24.6667 25.3333C25.0349 25.3333 25.3334 25.0349 25.3334 24.6667V19.3333C25.3334 18.9651 25.0349 18.6667 24.6667 18.6667H22.6667C22.2985 18.6667 22 18.9651 22 19.3333V21.8667Z" fill="currentColor"/> <path d="M12.6667 22H10.1334C10.0597 22 10 21.9403 10 21.8667V19.3333C10 18.9651 9.70154 18.6667 9.33335 18.6667H7.33335C6.96516 18.6667 6.66669 18.9651 6.66669 19.3333V24.6667C6.66669 25.0349 6.96516 25.3333 7.33335 25.3333H12.6667C13.0349 25.3333 13.3334 25.0349 13.3334 24.6667V22.6667C13.3334 22.2985 13.0349 22 12.6667 22Z" fill="currentColor"/> <path d="M10 12.6667V10.1333C10 10.0597 10.0597 10 10.1334 10L12.6667 10C13.0349 10 13.3334 9.70152 13.3334 9.33333V7.33333C13.3334 6.96514 13.0349 6.66666 12.6667 6.66666H7.33335C6.96516 6.66666 6.66669 6.96514 6.66669 7.33333V12.6667C6.66669 13.0349 6.96516 13.3333 7.33335 13.3333H9.33335C9.70154 13.3333 10 13.0349 10 12.6667Z" fill="currentColor"/>',i2='<path fill-rule="evenodd" clip-rule="evenodd" d="M26.6667 5.99998C26.6667 5.63179 26.3682 5.33331 26 5.33331H11.3333C10.9651 5.33331 10.6667 5.63179 10.6667 5.99998V17.5714C10.6667 17.6694 10.5644 17.7342 10.4741 17.6962C9.91823 17.4625 9.30754 17.3333 8.66667 17.3333C6.08934 17.3333 4 19.4226 4 22C4 24.5773 6.08934 26.6666 8.66667 26.6666C11.244 26.6666 13.3333 24.5773 13.3333 22V8.66665C13.3333 8.29846 13.6318 7.99998 14 7.99998L23.3333 7.99998C23.7015 7.99998 24 8.29846 24 8.66665V14.9048C24 15.0027 23.8978 15.0675 23.8075 15.0296C23.2516 14.7958 22.6409 14.6666 22 14.6666C19.4227 14.6666 17.3333 16.756 17.3333 19.3333C17.3333 21.9106 19.4227 24 22 24C24.5773 24 26.6667 21.9106 26.6667 19.3333V5.99998ZM22 21.3333C23.1046 21.3333 24 20.4379 24 19.3333C24 18.2287 23.1046 17.3333 22 17.3333C20.8954 17.3333 20 18.2287 20 19.3333C20 20.4379 20.8954 21.3333 22 21.3333ZM8.66667 24C9.77124 24 10.6667 23.1045 10.6667 22C10.6667 20.8954 9.77124 20 8.66667 20C7.5621 20 6.66667 20.8954 6.66667 22C6.66667 23.1045 7.5621 24 8.66667 24Z" fill="currentColor"/>',o2='<path d="M17.5091 24.6594C17.5091 25.2066 16.8864 25.5208 16.4463 25.1956L9.44847 20.0252C9.42553 20.0083 9.39776 19.9991 9.36923 19.9991H4.66667C4.29848 19.9991 4 19.7006 4 19.3325V12.6658C4 12.2976 4.29848 11.9991 4.66667 11.9991H9.37115C9.39967 11.9991 9.42745 11.99 9.45039 11.973L16.4463 6.8036C16.8863 6.47842 17.5091 6.79259 17.5091 7.33977L17.5091 24.6594Z" fill="currentColor"/> <path d="M28.8621 13.6422C29.1225 13.3818 29.1225 12.9597 28.8621 12.6994L27.9193 11.7566C27.659 11.4962 27.2368 11.4962 26.9765 11.7566L24.7134 14.0197C24.6613 14.0717 24.5769 14.0717 24.5248 14.0197L22.262 11.7568C22.0016 11.4964 21.5795 11.4964 21.3191 11.7568L20.3763 12.6996C20.116 12.9599 20.116 13.382 20.3763 13.6424L22.6392 15.9053C22.6913 15.9573 22.6913 16.0418 22.6392 16.0938L20.3768 18.3562C20.1165 18.6166 20.1165 19.0387 20.3768 19.299L21.3196 20.2419C21.58 20.5022 22.0021 20.5022 22.2624 20.2418L24.5248 17.9795C24.5769 17.9274 24.6613 17.9274 24.7134 17.9795L26.976 20.2421C27.2363 20.5024 27.6585 20.5024 27.9188 20.2421L28.8616 19.2992C29.122 19.0389 29.122 18.6168 28.8616 18.3564L26.599 16.0938C26.547 16.0418 26.547 15.9573 26.599 15.9053L28.8621 13.6422Z" fill="currentColor"/>',s2='<path d="M26.6009 16.0725C26.6009 16.424 26.4302 17.1125 25.9409 18.0213C25.4676 18.8976 24.7542 19.8715 23.8182 20.7783C21.9489 22.5905 19.2662 24.0667 15.9342 24.0667C12.6009 24.0667 9.91958 22.5915 8.04891 20.78C7.11424 19.8736 6.40091 18.9 5.92758 18.0236C5.43824 17.1149 5.26758 16.4257 5.26758 16.0725C5.26758 15.7193 5.43824 15.0293 5.92891 14.1193C6.40224 13.2416 7.11558 12.2665 8.05158 11.3587C9.92224 9.54398 12.6049 8.06665 15.9342 8.06665C19.2636 8.06665 21.9449 9.54505 23.8169 11.3604C24.7529 12.2687 25.4662 13.2441 25.9396 14.1216C26.4302 15.0317 26.6009 15.7209 26.6009 16.0725Z" stroke="currentColor" stroke-width="3"/> <path d="M15.9336 20.0667C18.1427 20.0667 19.9336 18.2758 19.9336 16.0667C19.9336 13.8575 18.1427 12.0667 15.9336 12.0667C13.7245 12.0667 11.9336 13.8575 11.9336 16.0667C11.9336 18.2758 13.7245 20.0667 15.9336 20.0667Z" fill="currentColor"/> <path fill-rule="evenodd" clip-rule="evenodd" d="M27.2323 25.0624L6.93878 4.76886C6.78118 4.61126 6.70762 4.57052 6.61919 4.54372C6.53077 4.51692 6.44033 4.51691 6.3519 4.54372C6.26347 4.57052 6.18991 4.61126 6.03231 4.76886L4.77032 6.03085C4.61272 6.18845 4.57198 6.26201 4.54518 6.35044C4.51838 6.43887 4.51838 6.5293 4.54518 6.61773C4.57198 6.70616 4.61272 6.77972 4.77032 6.93732L25.0639 27.2308C25.2215 27.3884 25.295 27.4292 25.3834 27.456C25.4719 27.4828 25.5623 27.4828 25.6507 27.456C25.7392 27.4292 25.8127 27.3885 25.9703 27.2309L27.2323 25.9689C27.3899 25.8113 27.4307 25.7377 27.4575 25.6493C27.4843 25.5608 27.4843 25.4704 27.4575 25.382C27.4307 25.2935 27.3899 25.22 27.2323 25.0624Z" fill="currentColor"/>',l2='<path d="M8.66667 6.66667C8.29848 6.66667 8 6.96514 8 7.33333V24.6667C8 25.0349 8.29848 25.3333 8.66667 25.3333H12.6667C13.0349 25.3333 13.3333 25.0349 13.3333 24.6667V7.33333C13.3333 6.96514 13.0349 6.66667 12.6667 6.66667H8.66667Z" fill="currentColor"/> <path d="M19.3333 6.66667C18.9651 6.66667 18.6667 6.96514 18.6667 7.33333V24.6667C18.6667 25.0349 18.9651 25.3333 19.3333 25.3333H23.3333C23.7015 25.3333 24 25.0349 24 24.6667V7.33333C24 6.96514 23.7015 6.66667 23.3333 6.66667H19.3333Z" fill="currentColor"/>',c2='<path d="M5.33334 26V19.4667C5.33334 19.393 5.39304 19.3333 5.46668 19.3333H7.86668C7.94031 19.3333 8.00001 19.393 8.00001 19.4667V23.3333C8.00001 23.7015 8.29849 24 8.66668 24H23.3333C23.7015 24 24 23.7015 24 23.3333V8.66666C24 8.29847 23.7015 7.99999 23.3333 7.99999H19.4667C19.393 7.99999 19.3333 7.9403 19.3333 7.86666V5.46666C19.3333 5.39302 19.393 5.33333 19.4667 5.33333H26C26.3682 5.33333 26.6667 5.63181 26.6667 5.99999V26C26.6667 26.3682 26.3682 26.6667 26 26.6667H6.00001C5.63182 26.6667 5.33334 26.3682 5.33334 26Z" fill="currentColor"/> <path d="M14.0098 8.42359H10.806C10.6872 8.42359 10.6277 8.56721 10.7117 8.6512L16.5491 14.4886C16.8094 14.7489 16.8094 15.171 16.5491 15.4314L15.3234 16.657C15.0631 16.9174 14.641 16.9174 14.3806 16.657L8.63739 10.9138C8.55339 10.8298 8.40978 10.8893 8.40978 11.0081V14.0236C8.40978 14.3918 8.1113 14.6903 7.74311 14.6903H6.00978C5.64159 14.6903 5.34311 14.3918 5.34311 14.0236L5.34311 6.02359C5.34311 5.6554 5.64159 5.35692 6.00978 5.35692L14.0098 5.35692C14.378 5.35692 14.6764 5.6554 14.6764 6.02359V7.75692C14.6764 8.12511 14.378 8.42359 14.0098 8.42359Z" fill="currentColor"/>',u2='<path d="M16 15.3333C15.6318 15.3333 15.3333 15.6318 15.3333 16V20C15.3333 20.3682 15.6318 20.6667 16 20.6667H21.3333C21.7015 20.6667 22 20.3682 22 20V16C22 15.6318 21.7015 15.3333 21.3333 15.3333H16Z" fill="currentColor"/> <path fill-rule="evenodd" clip-rule="evenodd" d="M5.33333 7.33334C5.33333 6.96515 5.63181 6.66667 5.99999 6.66667H26C26.3682 6.66667 26.6667 6.96515 26.6667 7.33334V24.6667C26.6667 25.0349 26.3682 25.3333 26 25.3333H5.99999C5.63181 25.3333 5.33333 25.0349 5.33333 24.6667V7.33334ZM7.99999 10C7.99999 9.63182 8.29847 9.33334 8.66666 9.33334H23.3333C23.7015 9.33334 24 9.63182 24 10V22C24 22.3682 23.7015 22.6667 23.3333 22.6667H8.66666C8.29847 22.6667 7.99999 22.3682 7.99999 22V10Z" fill="currentColor"/>',a2='<path d="M10.6667 6.6548C10.6667 6.10764 11.2894 5.79346 11.7295 6.11862L24.377 15.4634C24.7377 15.7298 24.7377 16.2692 24.3771 16.5357L11.7295 25.8813C11.2895 26.2065 10.6667 25.8923 10.6667 25.3451L10.6667 6.6548Z" fill="currentColor"/>',f2='<path d="M13.9213 5.53573C14.3146 5.45804 14.6666 5.76987 14.6666 6.17079V7.57215C14.6666 7.89777 14.4305 8.17277 14.114 8.24925C12.5981 8.61559 11.2506 9.41368 10.2091 10.506C9.98474 10.7414 9.62903 10.8079 9.34742 10.6453L8.14112 9.94885C7.79394 9.7484 7.69985 9.28777 7.96359 8.98585C9.48505 7.24409 11.5636 6.00143 13.9213 5.53573Z" fill="currentColor"/> <path d="M5.88974 12.5908C6.01805 12.2101 6.46491 12.0603 6.81279 12.2611L8.01201 12.9535C8.29379 13.1162 8.41396 13.4577 8.32238 13.7699C8.11252 14.4854 7.99998 15.2424 7.99998 16.0257C7.99998 16.809 8.11252 17.566 8.32238 18.2814C8.41396 18.5936 8.29378 18.9352 8.01201 19.0979L6.82742 19.7818C6.48051 19.9821 6.03488 19.8337 5.90521 19.4547C5.5345 18.3712 5.33331 17.2091 5.33331 16C5.33331 14.8078 5.5289 13.6613 5.88974 12.5908Z" fill="currentColor"/> <path d="M8.17106 22.0852C7.82291 22.2862 7.72949 22.7486 7.99532 23.0502C9.51387 24.773 11.5799 26.0017 13.9213 26.4642C14.3146 26.5419 14.6666 26.2301 14.6666 25.8291V24.4792C14.6666 24.1536 14.4305 23.8786 14.114 23.8021C12.5981 23.4358 11.2506 22.6377 10.2091 21.5453C9.98474 21.31 9.62903 21.2435 9.34742 21.4061L8.17106 22.0852Z" fill="currentColor"/> <path d="M17.3333 25.8291C17.3333 26.2301 17.6857 26.5418 18.079 26.4641C22.9748 25.4969 26.6666 21.1796 26.6666 16C26.6666 10.8204 22.9748 6.50302 18.079 5.5358C17.6857 5.4581 17.3333 5.76987 17.3333 6.17079V7.57215C17.3333 7.89777 17.5697 8.17282 17.8862 8.24932C21.3942 9.09721 24 12.2572 24 16.0257C24 19.7942 21.3942 22.9542 17.8862 23.802C17.5697 23.8785 17.3333 24.1536 17.3333 24.4792V25.8291Z" fill="currentColor"/> <path d="M14.3961 10.4163C13.9561 10.0911 13.3333 10.4053 13.3333 10.9525L13.3333 21.0474C13.3333 21.5946 13.9561 21.9087 14.3962 21.5836L21.2273 16.5359C21.5879 16.2694 21.5879 15.73 21.2273 15.4635L14.3961 10.4163Z" fill="currentColor"/>',h2='<path d="M15.6038 12.2147C16.0439 12.5399 16.6667 12.2257 16.6667 11.6786V10.1789C16.6667 10.1001 16.7351 10.0384 16.8134 10.0479C20.1116 10.4494 22.6667 13.2593 22.6667 16.6659C22.6667 20.3481 19.6817 23.3332 15.9995 23.3332C12.542 23.3332 9.69927 20.7014 9.36509 17.332C9.32875 16.9655 9.03371 16.6662 8.66548 16.6662L6.66655 16.6666C6.29841 16.6666 5.99769 16.966 6.02187 17.3334C6.36494 22.5454 10.7012 26.6667 16 26.6667C21.5228 26.6667 26 22.1895 26 16.6667C26 11.4103 21.9444 7.10112 16.7916 6.69757C16.7216 6.69209 16.6667 6.63396 16.6667 6.56372V4.98824C16.6667 4.44106 16.0439 4.12689 15.6038 4.45206L11.0765 7.79738C10.7159 8.06387 10.7159 8.60326 11.0766 8.86973L15.6038 12.2147Z" fill="currentColor"/>',C2='<path d="M16.6667 10.3452C16.6667 10.8924 16.0439 11.2066 15.6038 10.8814L11.0766 7.5364C10.7159 7.26993 10.7159 6.73054 11.0766 6.46405L15.6038 3.11873C16.0439 2.79356 16.6667 3.10773 16.6667 3.6549V5.22682C16.6667 5.29746 16.7223 5.35579 16.7927 5.36066C22.6821 5.76757 27.3333 10.674 27.3333 16.6667C27.3333 22.9259 22.2592 28 16 28C9.96483 28 5.03145 23.2827 4.68601 17.3341C4.66466 16.9665 4.96518 16.6673 5.33339 16.6673H7.3334C7.70157 16.6673 7.99714 16.9668 8.02743 17.3337C8.36638 21.4399 11.8064 24.6667 16 24.6667C20.4183 24.6667 24 21.085 24 16.6667C24 12.5225 20.8483 9.11428 16.8113 8.70739C16.7337 8.69957 16.6667 8.76096 16.6667 8.83893V10.3452Z" fill="currentColor"/> <path fill-rule="evenodd" clip-rule="evenodd" d="M17.0879 19.679C17.4553 19.9195 17.8928 20.0398 18.4004 20.0398C18.9099 20.0398 19.3474 19.9205 19.7129 19.6818C20.0803 19.4413 20.3635 19.0938 20.5623 18.6392C20.7612 18.1847 20.8606 17.6373 20.8606 16.9972C20.8625 16.3608 20.764 15.8192 20.5652 15.3722C20.3663 14.9252 20.0822 14.5853 19.7129 14.3523C19.3455 14.1175 18.908 14 18.4004 14C17.8928 14 17.4553 14.1175 17.0879 14.3523C16.7224 14.5853 16.4402 14.9252 16.2413 15.3722C16.0443 15.8173 15.9449 16.3589 15.943 16.9972C15.9411 17.6354 16.0396 18.1818 16.2385 18.6364C16.4373 19.089 16.7205 19.4366 17.0879 19.679ZM19.1362 18.4262C18.9487 18.7349 18.7034 18.8892 18.4004 18.8892C18.1996 18.8892 18.0226 18.8211 17.8691 18.6847C17.7157 18.5464 17.5964 18.3372 17.5112 18.0568C17.4279 17.7765 17.3871 17.4233 17.389 16.9972C17.3909 16.3684 17.4847 15.9025 17.6703 15.5995C17.8559 15.2945 18.0993 15.1421 18.4004 15.1421C18.603 15.1421 18.7801 15.2093 18.9316 15.3438C19.0832 15.4782 19.2015 15.6828 19.2868 15.9574C19.372 16.2301 19.4146 16.5767 19.4146 16.9972C19.4165 17.6392 19.3237 18.1156 19.1362 18.4262Z" fill="currentColor"/> <path d="M13.7746 19.8978C13.8482 19.8978 13.9079 19.8381 13.9079 19.7644V14.2129C13.9079 14.1393 13.8482 14.0796 13.7746 14.0796H12.642C12.6171 14.0796 12.5927 14.0865 12.5716 14.0997L11.2322 14.9325C11.1931 14.9568 11.1693 14.9996 11.1693 15.0457V15.9497C11.1693 16.0539 11.2833 16.1178 11.3722 16.0635L12.464 15.396C12.4682 15.3934 12.473 15.3921 12.4779 15.3921C12.4926 15.3921 12.5045 15.404 12.5045 15.4187V19.7644C12.5045 19.8381 12.5642 19.8978 12.6378 19.8978H13.7746Z" fill="currentColor"/>',d2='<path d="M15.3333 10.3452C15.3333 10.8924 15.9561 11.2066 16.3962 10.8814L20.9234 7.5364C21.2841 7.26993 21.2841 6.73054 20.9235 6.46405L16.3962 3.11873C15.9561 2.79356 15.3333 3.10773 15.3333 3.6549V5.22682C15.3333 5.29746 15.2778 5.35579 15.2073 5.36066C9.31791 5.76757 4.66667 10.674 4.66667 16.6667C4.66667 22.9259 9.74078 28 16 28C22.0352 28 26.9686 23.2827 27.314 17.3341C27.3354 16.9665 27.0348 16.6673 26.6666 16.6673H24.6666C24.2984 16.6673 24.0029 16.9668 23.9726 17.3337C23.6336 21.4399 20.1937 24.6667 16 24.6667C11.5817 24.6667 8 21.085 8 16.6667C8 12.5225 11.1517 9.11428 15.1887 8.70739C15.2663 8.69957 15.3333 8.76096 15.3333 8.83893V10.3452Z" fill="currentColor"/> <path fill-rule="evenodd" clip-rule="evenodd" d="M17.0879 19.679C17.4553 19.9195 17.8928 20.0398 18.4004 20.0398C18.9099 20.0398 19.3474 19.9205 19.7129 19.6818C20.0803 19.4413 20.3635 19.0938 20.5623 18.6392C20.7612 18.1847 20.8606 17.6373 20.8606 16.9972C20.8625 16.3608 20.764 15.8192 20.5652 15.3722C20.3663 14.9252 20.0822 14.5853 19.7129 14.3523C19.3455 14.1175 18.908 14 18.4004 14C17.8928 14 17.4553 14.1175 17.0879 14.3523C16.7224 14.5853 16.4402 14.9252 16.2413 15.3722C16.0443 15.8173 15.9449 16.3589 15.943 16.9972C15.9411 17.6354 16.0396 18.1818 16.2385 18.6364C16.4373 19.089 16.7205 19.4366 17.0879 19.679ZM19.1362 18.4262C18.9487 18.7349 18.7034 18.8892 18.4004 18.8892C18.1996 18.8892 18.0225 18.8211 17.8691 18.6847C17.7157 18.5464 17.5964 18.3372 17.5112 18.0568C17.4278 17.7765 17.3871 17.4233 17.389 16.9972C17.3909 16.3684 17.4847 15.9025 17.6703 15.5995C17.8559 15.2945 18.0992 15.1421 18.4004 15.1421C18.603 15.1421 18.7801 15.2093 18.9316 15.3438C19.0831 15.4782 19.2015 15.6828 19.2867 15.9574C19.372 16.2301 19.4146 16.5767 19.4146 16.9972C19.4165 17.6392 19.3237 18.1156 19.1362 18.4262Z" fill="currentColor"/> <path d="M13.7746 19.8978C13.8482 19.8978 13.9079 19.8381 13.9079 19.7644V14.2129C13.9079 14.1393 13.8482 14.0796 13.7746 14.0796H12.642C12.6171 14.0796 12.5927 14.0865 12.5716 14.0997L11.2322 14.9325C11.1931 14.9568 11.1693 14.9996 11.1693 15.0457V15.9497C11.1693 16.0539 11.2833 16.1178 11.3722 16.0635L12.464 15.396C12.4682 15.3934 12.473 15.3921 12.4779 15.3921C12.4926 15.3921 12.5045 15.404 12.5045 15.4187V19.7644C12.5045 19.8381 12.5642 19.8978 12.6378 19.8978H13.7746Z" fill="currentColor"/>',p2='<path fill-rule="evenodd" clip-rule="evenodd" d="M13.5722 5.33333C13.2429 5.33333 12.9629 5.57382 12.9132 5.89938L12.4063 9.21916C12.4 9.26058 12.3746 9.29655 12.3378 9.31672C12.2387 9.37118 12.1409 9.42779 12.0444 9.48648C12.0086 9.5083 11.9646 9.51242 11.9255 9.49718L8.79572 8.27692C8.48896 8.15732 8.14083 8.27958 7.9762 8.56472L5.5491 12.7686C5.38444 13.0538 5.45271 13.4165 5.70981 13.6223L8.33308 15.7225C8.3658 15.7487 8.38422 15.7887 8.38331 15.8306C8.38209 15.8867 8.38148 15.9429 8.38148 15.9993C8.38148 16.0558 8.3821 16.1121 8.38332 16.1684C8.38423 16.2102 8.36582 16.2503 8.33313 16.2765L5.7103 18.3778C5.45334 18.5836 5.38515 18.9462 5.54978 19.2314L7.97688 23.4352C8.14155 23.7205 8.48981 23.8427 8.79661 23.723L11.926 22.5016C11.9651 22.4864 12.009 22.4905 12.0449 22.5123C12.1412 22.5709 12.2388 22.6274 12.3378 22.6818C12.3745 22.7019 12.4 22.7379 12.4063 22.7793L12.9132 26.0993C12.9629 26.4249 13.2429 26.6654 13.5722 26.6654H18.4264C18.7556 26.6654 19.0356 26.425 19.0854 26.0995L19.5933 22.7801C19.5997 22.7386 19.6252 22.7027 19.6619 22.6825C19.7614 22.6279 19.8596 22.5711 19.9564 22.5121C19.9923 22.4903 20.0362 22.4862 20.0754 22.5015L23.2035 23.7223C23.5103 23.842 23.8585 23.7198 24.0232 23.4346L26.4503 19.2307C26.6149 18.9456 26.5467 18.583 26.2898 18.3771L23.6679 16.2766C23.6352 16.2504 23.6168 16.2104 23.6177 16.1685C23.619 16.1122 23.6196 16.0558 23.6196 15.9993C23.6196 15.9429 23.619 15.8866 23.6177 15.8305C23.6168 15.7886 23.6353 15.7486 23.668 15.7224L26.2903 13.623C26.5474 13.4172 26.6156 13.0544 26.451 12.7692L24.0239 8.56537C23.8592 8.28023 23.5111 8.15797 23.2043 8.27757L20.0758 9.49734C20.0367 9.51258 19.9927 9.50846 19.9569 9.48664C19.8599 9.42762 19.7616 9.37071 19.6618 9.31596C19.6251 9.2958 19.5997 9.25984 19.5933 9.21843L19.0854 5.89915C19.0356 5.57369 18.7556 5.33333 18.4264 5.33333H13.5722ZM16.0001 20.2854C18.3672 20.2854 20.2862 18.3664 20.2862 15.9993C20.2862 13.6322 18.3672 11.7132 16.0001 11.7132C13.6329 11.7132 11.714 13.6322 11.714 15.9993C11.714 18.3664 13.6329 20.2854 16.0001 20.2854Z" fill="currentColor"/>',m2='<path d="M17.5091 24.6595C17.5091 25.2066 16.8864 25.5208 16.4463 25.1956L9.44847 20.0252C9.42553 20.0083 9.39776 19.9992 9.36923 19.9992H4.66667C4.29848 19.9992 4 19.7007 4 19.3325V12.6658C4 12.2976 4.29848 11.9992 4.66667 11.9992H9.37115C9.39967 11.9992 9.42745 11.99 9.45039 11.9731L16.4463 6.80363C16.8863 6.47845 17.5091 6.79262 17.5091 7.3398L17.5091 24.6595Z" fill="currentColor"/> <path d="M27.5091 9.33336C27.8773 9.33336 28.1758 9.63184 28.1758 10V22C28.1758 22.3682 27.8773 22.6667 27.5091 22.6667H26.1758C25.8076 22.6667 25.5091 22.3682 25.5091 22V10C25.5091 9.63184 25.8076 9.33336 26.1758 9.33336L27.5091 9.33336Z" fill="currentColor"/> <path d="M22.1758 12C22.544 12 22.8424 12.2985 22.8424 12.6667V19.3334C22.8424 19.7016 22.544 20 22.1758 20H20.8424C20.4743 20 20.1758 19.7016 20.1758 19.3334V12.6667C20.1758 12.2985 20.4743 12 20.8424 12H22.1758Z" fill="currentColor"/>',g2='<path d="M17.5091 24.6594C17.5091 25.2066 16.8864 25.5207 16.4463 25.1956L9.44847 20.0252C9.42553 20.0083 9.39776 19.9991 9.36923 19.9991H4.66667C4.29848 19.9991 4 19.7006 4 19.3324V12.6658C4 12.2976 4.29848 11.9991 4.66667 11.9991H9.37115C9.39967 11.9991 9.42745 11.99 9.45039 11.973L16.4463 6.80358C16.8863 6.4784 17.5091 6.79258 17.5091 7.33975L17.5091 24.6594Z" fill="currentColor"/> <path d="M22.8424 12.6667C22.8424 12.2985 22.544 12 22.1758 12H20.8424C20.4743 12 20.1758 12.2985 20.1758 12.6667V19.3333C20.1758 19.7015 20.4743 20 20.8424 20H22.1758C22.544 20 22.8424 19.7015 22.8424 19.3333V12.6667Z" fill="currentColor"/>';const ut=R3();function at(){return e3(ut)}function b2(){return at().$state}const ft=(navigator==null?void 0:navigator.userAgent.toLowerCase())||"",ht=/iphone|ipad|ipod|ios|crios|fxios/i.test(ft),$2=/(iphone|ipod)/gi.test((navigator==null?void 0:navigator.platform)||""),y2=!!window.chrome,v2=!!window.safari||ht;function w2(){return Ct()&&D(screen.orientation.unlock)}function Ct(){return!J(window.screen.orientation)&&!J(window.screen.orientation.lock)}function L2(t,e){return t||(t=document.createElement("audio")),t.canPlayType(e).length>0}function E2(t,e){return t||(t=document.createElement("video")),t.canPlayType(e).length>0}function dt(t){return t||(t=document.createElement("video")),t.canPlayType("application/vnd.apple.mpegurl").length>0}function x2(t){return!!document.pictureInPictureEnabled&&!(t!=null&&t.disablePictureInPicture)}function S2(t){return D(t==null?void 0:t.webkitSupportsPresentationMode)&&D(t==null?void 0:t.webkitSetPresentationMode)}async function V2(){const t=document.createElement("video");return t.volume=.5,await z3(0),t.volume===.5}function pt(){return(window==null?void 0:window.ManagedMediaSource)??(window==null?void 0:window.MediaSource)??(window==null?void 0:window.WebKitMediaSource)}function mt(){return(window==null?void 0:window.SourceBuffer)??(window==null?void 0:window.WebKitSourceBuffer)}function gt(){const t=pt();if(J(t))return!1;const e=t&&D(t.isTypeSupported)&&t.isTypeSupported('video/mp4; codecs="avc1.42E01E,mp4a.40.2"'),n=mt(),r=J(n)||!J(n.prototype)&&D(n.prototype.appendBuffer)&&D(n.prototype.remove);return!!e&&!!r}function H2(){return gt()}const bt=/\.(m4a|m4b|mp4a|mpga|mp2|mp2a|mp3|m2a|m3a|wav|weba|aac|oga|spx|flac)($|\?)/i,$t=new Set(["audio/mpeg","audio/ogg","audio/3gp","audio/mp3","audio/webm","audio/flac"]),yt=/\.(mp4|og[gv]|webm|mov|m4v)(#t=[,\d+]+)?($|\?)/i,vt=new Set(["video/mp4","video/webm","video/3gp","video/ogg","video/avi","video/mpeg"]),wt=/\.(m3u8)($|\?)/i,Lt=/\.(mpd)($|\?)/i,Et=new Set(["application/vnd.apple.mpegurl","audio/mpegurl","audio/x-mpegurl","application/x-mpegurl","video/x-mpegurl","video/mpegurl","application/mpegurl"]),xt=new Set(["application/dash+xml"]);function o3({src:t,type:e}){return I(t)?bt.test(t)||$t.has(e)||t.startsWith("blob:")&&e==="audio/object":e==="audio/object"}function s3(t){return I(t.src)?yt.test(t.src)||vt.has(t.type)||t.src.startsWith("blob:")&&t.type==="video/object"||l3(t)&&dt():t.type==="video/object"}function l3({src:t,type:e}){return I(t)&&wt.test(t)||Et.has(e)}function M2({src:t,type:e}){return I(t)&&Lt.test(t)||xt.has(e)}function A2(t){return I(t.src)&&(o3(t)||s3(t)||l3(t))}function T2(t){return typeof window.MediaStream<"u"&&t instanceof window.MediaStream}function O2(t,e){const n=new URLSearchParams;for(const r of Object.keys(e))n.set(r,e[r]+"");return t+"?"+n.toString()}function k2(t,e="preconnect"){const n=document.querySelector(`link[href="${t}"]`);if(!b6(n))return!0;const r=document.createElement("link");return r.rel=e,r.href=t,r.crossOrigin="true",document.head.append(r),!0}const Z1={};function P2(t){if(Z1[t])return Z1[t].promise;const e=q3(),n=document.querySelector(`script[src="${t}"]`);if(!b6(n))return e.resolve(),e.promise;const r=document.createElement("script");return r.src=t,r.onload=()=>{e.resolve(),delete Z1[t]},r.onerror=()=>{e.reject(),delete Z1[t]},setTimeout(()=>document.head.append(r),0),e.promise}function I2(t){return t==="use-credentials"?"include":I(t)?"same-origin":void 0}function R2({title:t,src:e,download:n}){const r=V6(n)||n===""?e.src:I(n)?n:n==null?void 0:n.url;return St({url:r,src:e,download:n})?{url:r,name:!V6(n)&&!I(n)&&(n==null?void 0:n.filename)||t.toLowerCase()||"media"}:null}function St({url:t,src:e,download:n}){return I(t)&&(n&&n!==!0||o3(e)||s3(e))}function Z2(t,e){return e>=t.startTime&&e<t.endTime}function Vt(t,e,n){let r=null,i=U1();function o(){const s=I(e)?[e]:e,c=t.toArray().find(l=>s.includes(l.kind)&&l.mode==="showing");if(c!==r){if(!c){n(null),r=null;return}c.readyState==2?n(c):(n(null),R(()=>{const l=S(c,"load",()=>{n(c),l()},{once:!0})},i)),r=c}}return o(),S(t,"mode-change",o)}function F2(t,e,n){Vt(t,e,r=>{if(!r){n("");return}const i=()=>{const o=r==null?void 0:r.activeCues[0];n((o==null?void 0:o.text)||"")};i(),S(r,"cue-change",i)})}const B1=Math.min,r1=Math.max,j1=Math.round,F1=Math.floor,G=t=>({x:t,y:t}),Ht={left:"right",right:"left",bottom:"top",top:"bottom"},Mt={start:"end",end:"start"};function Z6(t,e,n){return r1(t,B1(e,n))}function $6(t,e){return typeof t=="function"?t(e):t}function C1(t){return t.split("-")[0]}function y6(t){return t.split("-")[1]}function c3(t){return t==="x"?"y":"x"}function u3(t){return t==="y"?"height":"width"}function L1(t){return["top","bottom"].includes(C1(t))?"y":"x"}function a3(t){return c3(L1(t))}function At(t,e,n){n===void 0&&(n=!1);const r=y6(t),i=a3(t),o=u3(i);let s=i==="x"?r===(n?"end":"start")?"right":"left":r==="start"?"bottom":"top";return e.reference[o]>e.floating[o]&&(s=_1(s)),[s,_1(s)]}function Tt(t){const e=_1(t);return[u6(t),e,u6(e)]}function u6(t){return t.replace(/start|end/g,e=>Mt[e])}function Ot(t,e,n){const r=["left","right"],i=["right","left"],o=["top","bottom"],s=["bottom","top"];switch(t){case"top":case"bottom":return n?e?i:r:e?r:i;case"left":case"right":return e?o:s;default:return[]}}function kt(t,e,n,r){const i=y6(t);let o=Ot(C1(t),n==="start",r);return i&&(o=o.map(s=>s+"-"+i),e&&(o=o.concat(o.map(u6)))),o}function _1(t){return t.replace(/left|right|bottom|top/g,e=>Ht[e])}function Pt(t){return{top:0,right:0,bottom:0,left:0,...t}}function It(t){return typeof t!="number"?Pt(t):{top:t,right:t,bottom:t,left:t}}function q1(t){const{x:e,y:n,width:r,height:i}=t;return{width:r,height:i,top:n,left:e,right:e+r,bottom:n+i,x:e,y:n}}function F6(t,e,n){let{reference:r,floating:i}=t;const o=L1(e),s=a3(e),c=u3(s),l=C1(e),u=o==="y",f=r.x+r.width/2-i.width/2,a=r.y+r.height/2-i.height/2,h=r[c]/2-i[c]/2;let C;switch(l){case"top":C={x:f,y:r.y-i.height};break;case"bottom":C={x:f,y:r.y+r.height};break;case"right":C={x:r.x+r.width,y:a};break;case"left":C={x:r.x-i.width,y:a};break;default:C={x:r.x,y:r.y}}switch(y6(e)){case"start":C[s]-=h*(n&&u?-1:1);break;case"end":C[s]+=h*(n&&u?-1:1);break}return C}const Rt=async(t,e,n)=>{const{placement:r="bottom",strategy:i="absolute",middleware:o=[],platform:s}=n,c=o.filter(Boolean),l=await(s.isRTL==null?void 0:s.isRTL(e));let u=await s.getElementRects({reference:t,floating:e,strategy:i}),{x:f,y:a}=F6(u,r,l),h=r,C={},d=0;for(let p=0;p<c.length;p++){const{name:g,fn:m}=c[p],{x:b,y,data:w,reset:v}=await m({x:f,y:a,initialPlacement:r,placement:h,strategy:i,middlewareData:C,rects:u,platform:s,elements:{reference:t,floating:e}});f=b??f,a=y??a,C={...C,[g]:{...C[g],...w}},v&&d<=50&&(d++,typeof v=="object"&&(v.placement&&(h=v.placement),v.rects&&(u=v.rects===!0?await s.getElementRects({reference:t,floating:e,strategy:i}):v.rects),{x:f,y:a}=F6(u,h,l)),p=-1)}return{x:f,y:a,placement:h,strategy:i,middlewareData:C}};async function f3(t,e){var n;e===void 0&&(e={});const{x:r,y:i,platform:o,rects:s,elements:c,strategy:l}=t,{boundary:u="clippingAncestors",rootBoundary:f="viewport",elementContext:a="floating",altBoundary:h=!1,padding:C=0}=$6(e,t),d=It(C),g=c[h?a==="floating"?"reference":"floating":a],m=q1(await o.getClippingRect({element:(n=await(o.isElement==null?void 0:o.isElement(g)))==null||n?g:g.contextElement||await(o.getDocumentElement==null?void 0:o.getDocumentElement(c.floating)),boundary:u,rootBoundary:f,strategy:l})),b=a==="floating"?{x:r,y:i,width:s.floating.width,height:s.floating.height}:s.reference,y=await(o.getOffsetParent==null?void 0:o.getOffsetParent(c.floating)),w=await(o.isElement==null?void 0:o.isElement(y))?await(o.getScale==null?void 0:o.getScale(y))||{x:1,y:1}:{x:1,y:1},v=q1(o.convertOffsetParentRelativeRectToViewportRelativeRect?await o.convertOffsetParentRelativeRectToViewportRelativeRect({elements:c,rect:b,offsetParent:y,strategy:l}):b);return{top:(m.top-v.top+d.top)/w.y,bottom:(v.bottom-m.bottom+d.bottom)/w.y,left:(m.left-v.left+d.left)/w.x,right:(v.right-m.right+d.right)/w.x}}const Zt=function(t){return t===void 0&&(t={}),{name:"flip",options:t,async fn(e){var n,r;const{placement:i,middlewareData:o,rects:s,initialPlacement:c,platform:l,elements:u}=e,{mainAxis:f=!0,crossAxis:a=!0,fallbackPlacements:h,fallbackStrategy:C="bestFit",fallbackAxisSideDirection:d="none",flipAlignment:p=!0,...g}=$6(t,e);if((n=o.arrow)!=null&&n.alignmentOffset)return{};const m=C1(i),b=L1(c),y=C1(c)===c,w=await(l.isRTL==null?void 0:l.isRTL(u.floating)),v=h||(y||!p?[_1(c)]:Tt(c)),N=d!=="none";!h&&N&&v.push(...kt(c,p,d,w));const g1=[c,...v],z=await f3(e,g),t1=[];let U=((r=o.flip)==null?void 0:r.overflows)||[];if(f&&t1.push(z[m]),a){const L=At(i,s,w);t1.push(z[L[0]],z[L[1]])}if(U=[...U,{placement:i,overflows:t1}],!t1.every(L=>L<=0)){var b1,$1;const L=(((b1=o.flip)==null?void 0:b1.index)||0)+1,l1=g1[L];if(l1)return{data:{index:L,overflows:U},reset:{placement:l1}};let V=($1=U.filter($=>$.overflows[0]<=0).sort(($,H)=>$.overflows[1]-H.overflows[1])[0])==null?void 0:$1.placement;if(!V)switch(C){case"bestFit":{var E;const $=(E=U.filter(H=>{if(N){const M=L1(H.placement);return M===b||M==="y"}return!0}).map(H=>[H.placement,H.overflows.filter(M=>M>0).reduce((M,c1)=>M+c1,0)]).sort((H,M)=>H[1]-M[1])[0])==null?void 0:E[0];$&&(V=$);break}case"initialPlacement":V=c;break}if(i!==V)return{reset:{placement:V}}}return{}}}},Ft=function(t){return t===void 0&&(t={}),{name:"shift",options:t,async fn(e){const{x:n,y:r,placement:i}=e,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:g=>{let{x:m,y:b}=g;return{x:m,y:b}}},...l}=$6(t,e),u={x:n,y:r},f=await f3(e,l),a=L1(C1(i)),h=c3(a);let C=u[h],d=u[a];if(o){const g=h==="y"?"top":"left",m=h==="y"?"bottom":"right",b=C+f[g],y=C-f[m];C=Z6(b,C,y)}if(s){const g=a==="y"?"top":"left",m=a==="y"?"bottom":"right",b=d+f[g],y=d-f[m];d=Z6(b,d,y)}const p=c.fn({...e,[h]:C,[a]:d});return{...p,data:{x:p.x-n,y:p.y-r}}}}};function m1(t){return h3(t)?(t.nodeName||"").toLowerCase():"#document"}function O(t){var e;return(t==null||(e=t.ownerDocument)==null?void 0:e.defaultView)||window}function q(t){var e;return(e=(h3(t)?t.ownerDocument:t.document)||window.document)==null?void 0:e.documentElement}function h3(t){return t instanceof Node||t instanceof O(t).Node}function j(t){return t instanceof Element||t instanceof O(t).Element}function _(t){return t instanceof HTMLElement||t instanceof O(t).HTMLElement}function N6(t){return typeof ShadowRoot>"u"?!1:t instanceof ShadowRoot||t instanceof O(t).ShadowRoot}function V1(t){const{overflow:e,overflowX:n,overflowY:r,display:i}=F(t);return/auto|scroll|overlay|hidden|clip/.test(e+r+n)&&!["inline","contents"].includes(i)}function Nt(t){return["table","td","th"].includes(m1(t))}function X1(t){return[":popover-open",":modal"].some(e=>{try{return t.matches(e)}catch{return!1}})}function v6(t){const e=w6(),n=F(t);return n.transform!=="none"||n.perspective!=="none"||(n.containerType?n.containerType!=="normal":!1)||!e&&(n.backdropFilter?n.backdropFilter!=="none":!1)||!e&&(n.filter?n.filter!=="none":!1)||["transform","perspective","filter"].some(r=>(n.willChange||"").includes(r))||["paint","layout","strict","content"].some(r=>(n.contain||"").includes(r))}function Dt(t){let e=Q(t);for(;_(e)&&!d1(e);){if(X1(e))return null;if(v6(e))return e;e=Q(e)}return null}function w6(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}function d1(t){return["html","body","#document"].includes(m1(t))}function F(t){return O(t).getComputedStyle(t)}function K1(t){return j(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.scrollX,scrollTop:t.scrollY}}function Q(t){if(m1(t)==="html")return t;const e=t.assignedSlot||t.parentNode||N6(t)&&t.host||q(t);return N6(e)?e.host:e}function C3(t){const e=Q(t);return d1(e)?t.ownerDocument?t.ownerDocument.body:t.body:_(e)&&V1(e)?e:C3(e)}function E1(t,e,n){var r;e===void 0&&(e=[]),n===void 0&&(n=!0);const i=C3(t),o=i===((r=t.ownerDocument)==null?void 0:r.body),s=O(i);return o?e.concat(s,s.visualViewport||[],V1(i)?i:[],s.frameElement&&n?E1(s.frameElement):[]):e.concat(i,E1(i,[],n))}function d3(t){const e=F(t);let n=parseFloat(e.width)||0,r=parseFloat(e.height)||0;const i=_(t),o=i?t.offsetWidth:n,s=i?t.offsetHeight:r,c=j1(n)!==o||j1(r)!==s;return c&&(n=o,r=s),{width:n,height:r,$:c}}function L6(t){return j(t)?t:t.contextElement}function f1(t){const e=L6(t);if(!_(e))return G(1);const n=e.getBoundingClientRect(),{width:r,height:i,$:o}=d3(e);let s=(o?j1(n.width):n.width)/r,c=(o?j1(n.height):n.height)/i;return(!s||!Number.isFinite(s))&&(s=1),(!c||!Number.isFinite(c))&&(c=1),{x:s,y:c}}const Wt=G(0);function p3(t){const e=O(t);return!w6()||!e.visualViewport?Wt:{x:e.visualViewport.offsetLeft,y:e.visualViewport.offsetTop}}function Bt(t,e,n){return e===void 0&&(e=!1),!n||e&&n!==O(t)?!1:e}function i1(t,e,n,r){e===void 0&&(e=!1),n===void 0&&(n=!1);const i=t.getBoundingClientRect(),o=L6(t);let s=G(1);e&&(r?j(r)&&(s=f1(r)):s=f1(t));const c=Bt(o,n,r)?p3(o):G(0);let l=(i.left+c.x)/s.x,u=(i.top+c.y)/s.y,f=i.width/s.x,a=i.height/s.y;if(o){const h=O(o),C=r&&j(r)?O(r):r;let d=h,p=d.frameElement;for(;p&&r&&C!==d;){const g=f1(p),m=p.getBoundingClientRect(),b=F(p),y=m.left+(p.clientLeft+parseFloat(b.paddingLeft))*g.x,w=m.top+(p.clientTop+parseFloat(b.paddingTop))*g.y;l*=g.x,u*=g.y,f*=g.x,a*=g.y,l+=y,u+=w,d=O(p),p=d.frameElement}}return q1({width:f,height:a,x:l,y:u})}function jt(t){let{elements:e,rect:n,offsetParent:r,strategy:i}=t;const o=i==="fixed",s=q(r),c=e?X1(e.floating):!1;if(r===s||c&&o)return n;let l={scrollLeft:0,scrollTop:0},u=G(1);const f=G(0),a=_(r);if((a||!a&&!o)&&((m1(r)!=="body"||V1(s))&&(l=K1(r)),_(r))){const h=i1(r);u=f1(r),f.x=h.x+r.clientLeft,f.y=h.y+r.clientTop}return{width:n.width*u.x,height:n.height*u.y,x:n.x*u.x-l.scrollLeft*u.x+f.x,y:n.y*u.y-l.scrollTop*u.y+f.y}}function _t(t){return Array.from(t.getClientRects())}function m3(t){return i1(q(t)).left+K1(t).scrollLeft}function qt(t){const e=q(t),n=K1(t),r=t.ownerDocument.body,i=r1(e.scrollWidth,e.clientWidth,r.scrollWidth,r.clientWidth),o=r1(e.scrollHeight,e.clientHeight,r.scrollHeight,r.clientHeight);let s=-n.scrollLeft+m3(t);const c=-n.scrollTop;return F(r).direction==="rtl"&&(s+=r1(e.clientWidth,r.clientWidth)-i),{width:i,height:o,x:s,y:c}}function zt(t,e){const n=O(t),r=q(t),i=n.visualViewport;let o=r.clientWidth,s=r.clientHeight,c=0,l=0;if(i){o=i.width,s=i.height;const u=w6();(!u||u&&e==="fixed")&&(c=i.offsetLeft,l=i.offsetTop)}return{width:o,height:s,x:c,y:l}}function Ut(t,e){const n=i1(t,!0,e==="fixed"),r=n.top+t.clientTop,i=n.left+t.clientLeft,o=_(t)?f1(t):G(1),s=t.clientWidth*o.x,c=t.clientHeight*o.y,l=i*o.x,u=r*o.y;return{width:s,height:c,x:l,y:u}}function D6(t,e,n){let r;if(e==="viewport")r=zt(t,n);else if(e==="document")r=qt(q(t));else if(j(e))r=Ut(e,n);else{const i=p3(t);r={...e,x:e.x-i.x,y:e.y-i.y}}return q1(r)}function g3(t,e){const n=Q(t);return n===e||!j(n)||d1(n)?!1:F(n).position==="fixed"||g3(n,e)}function Yt(t,e){const n=e.get(t);if(n)return n;let r=E1(t,[],!1).filter(c=>j(c)&&m1(c)!=="body"),i=null;const o=F(t).position==="fixed";let s=o?Q(t):t;for(;j(s)&&!d1(s);){const c=F(s),l=v6(s);!l&&c.position==="fixed"&&(i=null),(o?!l&&!i:!l&&c.position==="static"&&!!i&&["absolute","fixed"].includes(i.position)||V1(s)&&!l&&g3(t,s))?r=r.filter(f=>f!==s):i=c,s=Q(s)}return e.set(t,r),r}function Xt(t){let{element:e,boundary:n,rootBoundary:r,strategy:i}=t;const s=[...n==="clippingAncestors"?X1(e)?[]:Yt(e,this._c):[].concat(n),r],c=s[0],l=s.reduce((u,f)=>{const a=D6(e,f,i);return u.top=r1(a.top,u.top),u.right=B1(a.right,u.right),u.bottom=B1(a.bottom,u.bottom),u.left=r1(a.left,u.left),u},D6(e,c,i));return{width:l.right-l.left,height:l.bottom-l.top,x:l.left,y:l.top}}function Kt(t){const{width:e,height:n}=d3(t);return{width:e,height:n}}function Jt(t,e,n){const r=_(e),i=q(e),o=n==="fixed",s=i1(t,!0,o,e);let c={scrollLeft:0,scrollTop:0};const l=G(0);if(r||!r&&!o)if((m1(e)!=="body"||V1(i))&&(c=K1(e)),r){const a=i1(e,!0,o,e);l.x=a.x+e.clientLeft,l.y=a.y+e.clientTop}else i&&(l.x=m3(i));const u=s.left+c.scrollLeft-l.x,f=s.top+c.scrollTop-l.y;return{x:u,y:f,width:s.width,height:s.height}}function i6(t){return F(t).position==="static"}function W6(t,e){return!_(t)||F(t).position==="fixed"?null:e?e(t):t.offsetParent}function b3(t,e){const n=O(t);if(X1(t))return n;if(!_(t)){let i=Q(t);for(;i&&!d1(i);){if(j(i)&&!i6(i))return i;i=Q(i)}return n}let r=W6(t,e);for(;r&&Nt(r)&&i6(r);)r=W6(r,e);return r&&d1(r)&&i6(r)&&!v6(r)?n:r||Dt(t)||n}const Gt=async function(t){const e=this.getOffsetParent||b3,n=this.getDimensions,r=await n(t.floating);return{reference:Jt(t.reference,await e(t.floating),t.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function Qt(t){return F(t).direction==="rtl"}const te={convertOffsetParentRelativeRectToViewportRelativeRect:jt,getDocumentElement:q,getClippingRect:Xt,getOffsetParent:b3,getElementRects:Gt,getClientRects:_t,getDimensions:Kt,getScale:f1,isElement:j,isRTL:Qt};function ee(t,e){let n=null,r;const i=q(t);function o(){var c;clearTimeout(r),(c=n)==null||c.disconnect(),n=null}function s(c,l){c===void 0&&(c=!1),l===void 0&&(l=1),o();const{left:u,top:f,width:a,height:h}=t.getBoundingClientRect();if(c||e(),!a||!h)return;const C=F1(f),d=F1(i.clientWidth-(u+a)),p=F1(i.clientHeight-(f+h)),g=F1(u),b={rootMargin:-C+"px "+-d+"px "+-p+"px "+-g+"px",threshold:r1(0,B1(1,l))||1};let y=!0;function w(v){const N=v[0].intersectionRatio;if(N!==l){if(!y)return s();N?s(!1,N):r=setTimeout(()=>{s(!1,1e-7)},1e3)}y=!1}try{n=new IntersectionObserver(w,{...b,root:i.ownerDocument})}catch{n=new IntersectionObserver(w,b)}n.observe(t)}return s(!0),o}function ne(t,e,n,r){r===void 0&&(r={});const{ancestorScroll:i=!0,ancestorResize:o=!0,elementResize:s=typeof ResizeObserver=="function",layoutShift:c=typeof IntersectionObserver=="function",animationFrame:l=!1}=r,u=L6(t),f=i||o?[...u?E1(u):[],...E1(e)]:[];f.forEach(m=>{i&&m.addEventListener("scroll",n,{passive:!0}),o&&m.addEventListener("resize",n)});const a=u&&c?ee(u,n):null;let h=-1,C=null;s&&(C=new ResizeObserver(m=>{let[b]=m;b&&b.target===u&&C&&(C.unobserve(e),cancelAnimationFrame(h),h=requestAnimationFrame(()=>{var y;(y=C)==null||y.observe(e)})),n()}),u&&!l&&C.observe(u),C.observe(e));let d,p=l?i1(t):null;l&&g();function g(){const m=i1(t);p&&(m.x!==p.x||m.y!==p.y||m.width!==p.width||m.height!==p.height)&&n(),p=m,d=requestAnimationFrame(g)}return n(),()=>{var m;f.forEach(b=>{i&&b.removeEventListener("scroll",n),o&&b.removeEventListener("resize",n)}),a==null||a(),(m=C)==null||m.disconnect(),C=null,l&&cancelAnimationFrame(d)}}const re=Ft,ie=Zt,oe=(t,e,n)=>{const r=new Map,i={platform:te,...n},o={...i.platform,_c:r};return Rt(t,e,{...i,platform:o})};function N2(t,e,n){if(t)return S(t,e,n)}function D2(t,e){const n=e.composedPath()[0];return k3(n)&&t.contains(n)}const a6=new Set;{let t=function(){for(const e of a6)try{e()}catch{}window.requestAnimationFrame(t)};t()}function se(t){return a6.add(t),()=>a6.delete(t)}function W2(t,e,n){t.hasAttribute(e)||t.setAttribute(e,n)}function B2(t,e){if(t.hasAttribute("aria-label")||t.hasAttribute("data-no-label"))return;if(!D(e)){W1(t,"aria-label",e);return}function n(){W1(t,"aria-label",e())}B(n)}function le(t){const e=getComputedStyle(t);return e.display!=="none"&&parseInt(e.opacity)>0}function ce(t){return!!t&&("checkVisibility"in t?t.checkVisibility({checkOpacity:!0,checkVisibilityCSS:!0}):le(t))}function j2(t,e){return se(()=>e(ce(t)))}function _2(t,e,n){for(;e;){if(e===t)return!0;if(n!=null&&n(e))break;e=e.parentElement}return!1}function q2(t,e){S(t,"pointerup",n=>{n.button===0&&!n.defaultPrevented&&e(n)}),S(t,"keydown",n=>{O3(n)&&e(n)})}function z2(t){return T3(t)&&(t.touches.length>1||t.changedTouches.length>1)}function U2(t){let e=U1(),n=window.requestAnimationFrame(()=>{R(t,e),n=-1});return()=>void window.cancelAnimationFrame(n)}function Y2(t,e,n){let r,i=t,o=t.parentElement,s=t.content.firstElementChild,c=[];!s&&t.firstElementChild&&(t.innerHTML=t.firstElementChild.outerHTML,t.firstElementChild.remove(),s=t.content.firstElementChild);for(let l=0;l<e;l++)r=document.importNode(s,!0),n==null||n(r,l),o.insertBefore(r,i.nextSibling),c.push(r),i=r;return x1(()=>{for(let l=0;l<c.length;l++)c[l].remove()}),c}function X2(t){const e=document.createElement("template");return e.innerHTML=t,e.content}function K2(t){return t.cloneNode(!0).firstElementChild}function J2(t,e,n,{offsetVarName:r,xOffset:i,yOffset:o,...s}){if(!t)return;const c=n.replace(" ","-").replace("-center","");if(c6(t,"visibility",e?null:"hidden"),!e)return;let l=n.includes("top");const u=a=>n.includes("left")?`calc(-1 * ${a})`:a,f=a=>l?`calc(-1 * ${a})`:a;return ne(e,t,()=>{oe(e,t,{placement:c,middleware:[...s.middleware??[],ie({fallbackAxisSideDirection:"start",crossAxis:!1}),re()],...s}).then(({x:a,y:h,middlewareData:C})=>{var p;const d=!!((p=C.flip)!=null&&p.index);l=n.includes(d?"bottom":"top"),t.setAttribute("data-placement",d?n.startsWith("top")?n.replace("top","bottom"):n.replace("bottom","top"):n),Object.assign(t.style,{top:`calc(${h+"px"} + ${f(o?o+"px":`var(--${r}-y-offset, 0px)`)})`,left:`calc(${a+"px"} + ${u(i?i+"px":`var(--${r}-x-offset, 0px)`)})`})})})}function G2(t){return getComputedStyle(t).animationName!=="none"}function Q2(t){const e=document.createElement("slot");return e.name=t,e}function tn(t){const e=s1(!1);return B(()=>{const n=t();n&&(S(n,"transitionstart",()=>e.set(!0)),S(n,"transitionend",()=>e.set(!1)))}),e}function en(t,e){function n(){const r=t();if(!r)return;e();const i=new ResizeObserver(U3(e));return i.observe(r),()=>i.disconnect()}B(n)}function nn(t){const e=ue(t),n=ae(t);let r=!1;return t3(()=>{const i=e();return r&&!i?!1:(r=i,i||n())})}function ue(t){const e=s1(!1);return B(()=>{const n=t();if(!n){e.set(!1);return}S(n,"mouseenter",()=>e.set(!0)),S(n,"mouseleave",()=>e.set(!1))}),e}function ae(t){const e=s1(!1);return B(()=>{const n=t();if(!n){e.set(!1);return}S(n,"focusin",()=>e.set(!0)),S(n,"focusout",()=>e.set(!1))}),e}function rn(t){return t instanceof HTMLElement}function fe(){const t=s1("dark"),e=window.matchMedia("(prefers-color-scheme: light)");function n(){t.set(e.matches?"light":"dark")}return n(),S(e,"change",n),t}function on(t,e){B(()=>{const r=e();if(r==="system"){const i=fe();B(()=>n(i()));return}n(r)});function n(r){A6(t,"light",r==="light"),A6(t,"dark",r==="dark")}}export{o3 as $,at as A,Ce as B,Le as C,M6 as D,Re as E,L3 as F,Ze as G,O3 as H,$2 as I,s3 as J,E2 as K,Pe as L,q3 as M,y2 as N,ht as O,A2 as P,k2 as Q,V2 as R,Se as S,I2 as T,R as U,W3 as V,K6 as W,ge as X,rn as Y,z2 as Z,Q6 as _,J as a,h2 as a$,L2 as a0,Ne as a1,De as a2,Z2 as a3,k3 as a4,e3 as a5,on as a6,V6 as a7,R3 as a8,b2 as a9,ye as aA,le as aB,Fe as aC,s6 as aD,be as aE,T3 as aF,$e as aG,He as aH,K2 as aI,tt as aJ,Y2 as aK,X2 as aL,F2 as aM,We as aN,T2 as aO,Oe as aP,v2 as aQ,S2 as aR,x2 as aS,dt as aT,P2 as aU,O2 as aV,N2 as aW,je as aX,Ge as aY,a2 as aZ,l2 as a_,D as aa,en as ab,de as ac,R2 as ad,Vt as ae,Ae as af,nn as ag,ke as ah,tn as ai,A6 as aj,Q2 as ak,_3 as al,q2 as am,Te as an,ve as ao,B2 as ap,we as aq,j2 as ar,b6 as as,Ve as at,D2 as au,_2 as av,U2 as aw,J2 as ax,G2 as ay,pe as az,gt as b,o2 as b0,g2 as b1,m2 as b2,Ke as b3,Je as b4,u2 as b5,c2 as b6,r2 as b7,n2 as b8,d2 as b9,C2 as ba,Ue as bb,p2 as bc,qe as bd,Xe as be,Be as bf,i2 as bg,f2 as bh,e2 as bi,t2 as bj,ze as bk,_e as bl,Ye as bm,Qe as bn,s2 as bo,w2 as c,l3 as d,H2 as e,Ie as f,M2 as g,B as h,J6 as i,me as j,Z3 as k,S as l,ut as m,W2 as n,x1 as o,he as p,W1 as q,U3 as r,s1 as s,j3 as t,Me as u,c6 as v,I as w,t3 as x,Ee as y,xe as z};
diff --git a/assets/vidstack-BmG4eXX--DDObzXvb.js b/assets/vidstack-BmG4eXX--DDObzXvb.js
new file mode 100644
index 0000000..d3a6fb0
--- /dev/null
+++ b/assets/vidstack-BmG4eXX--DDObzXvb.js
@@ -0,0 +1 @@
+import{aI as d,aN as i,h as l,aL as m}from"./vidstack-BeyDmEgV-DK6K5w61.js";const p=m('<svg viewBox="0 0 32 32" fill="none" aria-hidden="true" xmlns="http://www.w3.org/2000/svg"></svg>');function v(a,s){const o=d(p);o.innerHTML=i,a.append(o);const e=document.createElement("span");e.classList.add("vds-google-cast-info"),a.append(e);const n=document.createElement("span");n.classList.add("vds-google-cast-device-name"),l(()=>{const{remotePlaybackInfo:c}=s,t=c();return t!=null&&t.deviceName&&(n.textContent=t.deviceName,e.append("Google Cast on ",n)),()=>{e.textContent=""}})}export{v as insertContent};
diff --git a/assets/vidstack-Bo6FErSD-BNmXqUs8.js b/assets/vidstack-Bo6FErSD-BNmXqUs8.js
deleted file mode 100644
index 5e865bb..0000000
--- a/assets/vidstack-Bo6FErSD-BNmXqUs8.js
+++ /dev/null
@@ -1 +0,0 @@
-import{aR as i,aS as s}from"./vidstack-6noeGFNR-CV2ORO4j.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-C-clE4br-xJyL0UOa.js b/assets/vidstack-C-clE4br-xJyL0UOa.js
new file mode 100644
index 0000000..30c342d
--- /dev/null
+++ b/assets/vidstack-C-clE4br-xJyL0UOa.js
@@ -0,0 +1 @@
+import{a as i,j as s}from"./vidstack-BeyDmEgV-DK6K5w61.js";class n{constructor(a){this.La=a}Xa(){i(this.ya)&&this.fg()}$(){s(this.ya)&&window.cancelAnimationFrame(this.ya),this.ya=void 0}fg(){this.ya=window.requestAnimationFrame(()=>{i(this.ya)||(this.La(),this.fg())})}}export{n as R};
diff --git a/assets/vidstack-CAAXXkW1-BpQVpXJK.js b/assets/vidstack-CAAXXkW1-BpQVpXJK.js
deleted file mode 100644
index ba1ff99..0000000
--- a/assets/vidstack-CAAXXkW1-BpQVpXJK.js
+++ /dev/null
@@ -1,7 +0,0 @@
-function __vite__mapDeps(indexes) {
-  if (!__vite__mapDeps.viteFileDeps) {
-    __vite__mapDeps.viteFileDeps = ["assets/vidstack-google-cast-CNECbQwa.js","assets/vidstack-6noeGFNR-CV2ORO4j.js","assets/app-ClwIkahu.js","assets/vidstack-Bo6FErSD-BNmXqUs8.js"]
-  }
-  return indexes.map((i) => __vite__mapDeps.viteFileDeps[i])
-}
-import{_ as g}from"./app-ClwIkahu.js";import{b9 as p,b1 as u,aL as m,ba as C,p as h,b3 as f}from"./vidstack-6noeGFNR-CV2ORO4j.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 l(){return s().getCastState()===cast.framework.CastState.CONNECTED}function s(){return window.cast.framework.CastContext.getInstance()}function d(){return s().getCurrentSession()}function y(){var a;return(a=d())==null?void 0:a.getSessionObj().media[0]}function P(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 A(a,e){return p(s(),a,e)}class b{constructor(){this.name="google-cast"}get cast(){return s()}mediaType(){return"video"}canPlay(e){return u&&!m&&C(e)}async prompt(e){var i;let t,o,r;try{t=await this.Pl(e),this.aa||(this.aa=new cast.framework.RemotePlayer,new cast.framework.RemotePlayerController(this.aa)),o=e.player.createEvent("google-cast-prompt-open",{trigger:t}),e.player.dispatchEvent(o),this.pm(e,"connecting",o),await this.Rl(h(e.$props.googleCast)),e.$state.remotePlaybackInfo.set({deviceName:(i=d())==null?void 0:i.getCastDevice().friendlyName}),l()&&this.pm(e,"connected",o)}catch(n){const c=n instanceof Error?n:this.Oo((n+"").toUpperCase(),"Prompt failed.");throw r=e.player.createEvent("google-cast-prompt-error",{detail:c,trigger:o??t,cancelable:!0}),e.player.dispatch(r),this.pm(e,l()?"connected":"disconnected",r),c}finally{e.player.dispatch("google-cast-prompt-close",{trigger:r??o??t})}}async load(e){if(!this.aa)throw Error("[vidstack] google cast player was not initialized");return new(await g(()=>import("./vidstack-google-cast-CNECbQwa.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 f(w()),await customElements.whenDefined("google-cast-launcher");const o=e.player.createEvent("google-cast-loaded",{trigger:t});if(e.player.dispatch(o),!E())throw this.Oo("CAST_NOT_AVAILABLE","Google Cast not available on this platform.");return o}async Rl(e){this.Tl(e);const t=await this.cast.requestSession();if(t)throw this.Oo(t.toUpperCase(),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)}Oo(e,t){const o=Error(t);return o.code=e,o}}const k=Object.freeze(Object.defineProperty({__proto__:null,GoogleCastLoader:b},Symbol.toStringTag,{value:"Module"}));export{d as a,y as b,S as c,s as g,P as h,A as l,k as v};
diff --git a/assets/vidstack-CMYUT9x7-7uKR5yes.js b/assets/vidstack-CMYUT9x7-7uKR5yes.js
new file mode 100644
index 0000000..263a740
--- /dev/null
+++ b/assets/vidstack-CMYUT9x7-7uKR5yes.js
@@ -0,0 +1,7 @@
+function __vite__mapDeps(indexes) {
+  if (!__vite__mapDeps.viteFileDeps) {
+    __vite__mapDeps.viteFileDeps = ["assets/vidstack-google-cast-CT9_6G5-.js","assets/vidstack-BeyDmEgV-DK6K5w61.js","assets/vidstack-player-DaNo29Rn.js","assets/app-Flo2gZk8.js","assets/vidstack-D6_zYTXL-OYeDKsnR.js","assets/vidstack-C-clE4br-xJyL0UOa.js"]
+  }
+  return indexes.map((i) => __vite__mapDeps.viteFileDeps[i])
+}
+import{_ as g}from"./app-Flo2gZk8.js";import{aW as p,N as u,O as C,P as f,p as m,aU as h}from"./vidstack-BeyDmEgV-DK6K5w61.js";function w(){return"https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1"}function E(){var a;return!!((a=window.cast)!=null&&a.framework)}function v(){var a,e;return!!((e=(a=window.chrome)==null?void 0:a.cast)!=null&&e.isAvailable)}function l(){return s().getCastState()===cast.framework.CastState.CONNECTED}function s(){return window.cast.framework.CastContext.getInstance()}function d(){return s().getCurrentSession()}function y(){var a;return(a=d())==null?void 0:a.getSessionObj().media[0]}function A(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 D(a,e){return p(s(),a,e)}class I{constructor(){this.name="google-cast"}get cast(){return s()}mediaType(){return"video"}canPlay(e){return u&&!C&&f(e)}async prompt(e){var i;let t,o,r;try{t=await this.Ej(e),this.f||(this.f=new cast.framework.RemotePlayer,new cast.framework.RemotePlayerController(this.f)),o=e.player.createEvent("google-cast-prompt-open",{trigger:t}),e.player.dispatchEvent(o),this.Ce(e,"connecting",o),await this.Fj(m(e.$props.googleCast)),e.$state.remotePlaybackInfo.set({deviceName:(i=d())==null?void 0:i.getCastDevice().friendlyName}),l()&&this.Ce(e,"connected",o)}catch(n){const c=n instanceof Error?n:this.De((n+"").toUpperCase(),"Prompt failed.");throw r=e.player.createEvent("google-cast-prompt-error",{detail:c,trigger:o??t,cancelable:!0}),e.player.dispatch(r),this.Ce(e,l()?"connected":"disconnected",r),c}finally{e.player.dispatch("google-cast-prompt-close",{trigger:r??o??t})}}async load(e){if(!this.f)throw Error("[vidstack] google cast player was not initialized");return new(await g(()=>import("./vidstack-google-cast-CT9_6G5-.js"),__vite__mapDeps([0,1,2,3,4,5]))).GoogleCastProvider(this.f,e)}async Ej(e){if(E())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),!v())throw this.De("CAST_NOT_AVAILABLE","Google Cast not available on this platform.");return o}async Fj(e){this.Gj(e);const t=await this.cast.requestSession();if(t)throw this.De(t.toUpperCase(),S(t))}Gj(e){var t;(t=this.cast)==null||t.setOptions({..._(),...e})}Ce(e,t,o){const r={type:"google-cast",state:t};e.delegate.c("remote-playback-change",r,o)}De(e,t){const o=Error(t);return o.code=e,o}}const O=Object.freeze(Object.defineProperty({__proto__:null,GoogleCastLoader:I},Symbol.toStringTag,{value:"Module"}));export{d as a,y as b,S as c,s as g,A as h,D as l,O as v};
diff --git a/assets/vidstack-CRlTZX3Z-PBDNdscv.js b/assets/vidstack-CRlTZX3Z-PBDNdscv.js
deleted file mode 100644
index b35a54f..0000000
--- a/assets/vidstack-CRlTZX3Z-PBDNdscv.js
+++ /dev/null
@@ -1 +0,0 @@
-import{I as H}from"./vidstack-DQ6dSZwe-BTtv5vWE.js";var f='<path fill-rule="evenodd" clip-rule="evenodd" d="M15.0007 28.7923C15.0007 29.0152 14.9774 29.096 14.9339 29.1775C14.8903 29.259 14.8263 29.323 14.7449 29.3665C14.6634 29.4101 14.5826 29.4333 14.3597 29.4333H12.575C12.3521 29.4333 12.2713 29.4101 12.1898 29.3665C12.1083 29.323 12.0443 29.259 12.0008 29.1775C11.9572 29.096 11.934 29.0152 11.934 28.7923V12.2993L5.97496 12.3C5.75208 12.3 5.67125 12.2768 5.58977 12.2332C5.50829 12.1896 5.44434 12.1257 5.40077 12.0442C5.35719 11.9627 5.33398 11.8819 5.33398 11.659V9.87429C5.33398 9.65141 5.35719 9.57059 5.40077 9.48911C5.44434 9.40762 5.50829 9.34368 5.58977 9.3001C5.67125 9.25652 5.75208 9.23332 5.97496 9.23332H26.0263C26.2492 9.23332 26.33 9.25652 26.4115 9.3001C26.493 9.34368 26.557 9.40762 26.6005 9.48911C26.6441 9.57059 26.6673 9.65141 26.6673 9.87429V11.659C26.6673 11.8819 26.6441 11.9627 26.6005 12.0442C26.557 12.1257 26.493 12.1896 26.4115 12.2332C26.33 12.2768 26.2492 12.3 26.0263 12.3L20.067 12.2993L20.0673 28.7923C20.0673 29.0152 20.0441 29.096 20.0005 29.1775C19.957 29.259 19.893 29.323 19.8115 29.3665C19.73 29.4101 19.6492 29.4333 19.4263 29.4333H17.6416C17.4187 29.4333 17.3379 29.4101 17.2564 29.3665C17.175 29.323 17.111 29.259 17.0674 29.1775C17.0239 29.096 17.0007 29.0152 17.0007 28.7923L17 22.7663H15L15.0007 28.7923Z" fill="currentColor"/> <path d="M16.0007 7.89998C17.4734 7.89998 18.6673 6.70608 18.6673 5.23332C18.6673 3.76056 17.4734 2.56665 16.0007 2.56665C14.5279 2.56665 13.334 3.76056 13.334 5.23332C13.334 6.70608 14.5279 7.89998 16.0007 7.89998Z" fill="currentColor"/>',M='<path d="M5.33334 6.00001C5.33334 5.63182 5.63181 5.33334 6 5.33334H26C26.3682 5.33334 26.6667 5.63182 26.6667 6.00001V20.6667C26.6667 21.0349 26.3682 21.3333 26 21.3333H23.7072C23.4956 21.3333 23.2966 21.233 23.171 21.0628L22.1859 19.7295C21.8607 19.2894 22.1749 18.6667 22.7221 18.6667H23.3333C23.7015 18.6667 24 18.3682 24 18V8.66668C24 8.29849 23.7015 8.00001 23.3333 8.00001H8.66667C8.29848 8.00001 8 8.29849 8 8.66668V18C8 18.3682 8.29848 18.6667 8.66667 18.6667H9.29357C9.84072 18.6667 10.1549 19.2894 9.82976 19.7295L8.84467 21.0628C8.71898 21.233 8.52 21.3333 8.30848 21.3333H6C5.63181 21.3333 5.33334 21.0349 5.33334 20.6667V6.00001Z" fill="currentColor"/> <path d="M8.78528 25.6038C8.46013 26.0439 8.77431 26.6667 9.32147 26.6667L22.6785 26.6667C23.2256 26.6667 23.5398 26.0439 23.2146 25.6038L16.5358 16.5653C16.2693 16.2046 15.73 16.2047 15.4635 16.5653L8.78528 25.6038Z" fill="currentColor"/>',o='<path d="M17.4853 18.9093C17.4853 19.0281 17.6289 19.0875 17.7129 19.0035L22.4185 14.2979C22.6788 14.0376 23.1009 14.0376 23.3613 14.2979L24.7755 15.7122C25.0359 15.9725 25.0359 16.3946 24.7755 16.655L16.2902 25.1403C16.0299 25.4006 15.6078 25.4006 15.3474 25.1403L13.9332 23.726L13.9319 23.7247L6.86189 16.6547C6.60154 16.3944 6.60154 15.9723 6.86189 15.7119L8.2761 14.2977C8.53645 14.0373 8.95856 14.0373 9.21891 14.2977L13.9243 19.0031C14.0083 19.0871 14.1519 19.0276 14.1519 18.9088L14.1519 6.00004C14.1519 5.63185 14.4504 5.33337 14.8186 5.33337L16.8186 5.33337C17.1868 5.33337 17.4853 5.63185 17.4853 6.00004L17.4853 18.9093Z" fill="currentColor"/>',Z='<path d="M13.0908 14.3334C12.972 14.3334 12.9125 14.1898 12.9965 14.1058L17.7021 9.40022C17.9625 9.13987 17.9625 8.71776 17.7021 8.45741L16.2879 7.04319C16.0275 6.78284 15.6054 6.78284 15.3451 7.04319L6.8598 15.5285C6.59945 15.7888 6.59945 16.2109 6.8598 16.4713L8.27401 17.8855L8.27536 17.8868L15.3453 24.9568C15.6057 25.2172 16.0278 25.2172 16.2881 24.9568L17.7024 23.5426C17.9627 23.2822 17.9627 22.8601 17.7024 22.5998L12.9969 17.8944C12.9129 17.8104 12.9724 17.6668 13.0912 17.6668L26 17.6668C26.3682 17.6668 26.6667 17.3683 26.6667 17.0001V15.0001C26.6667 14.6319 26.3682 14.3334 26 14.3334L13.0908 14.3334Z" fill="currentColor"/>',e='<path d="M14.1521 13.0929C14.1521 12.9741 14.0085 12.9147 13.9245 12.9987L9.21891 17.7043C8.95856 17.9646 8.53645 17.9646 8.2761 17.7043L6.86189 16.29C6.60154 16.0297 6.60154 15.6076 6.86189 15.3472L15.3472 6.86195C15.6075 6.6016 16.0296 6.6016 16.29 6.86195L17.7042 8.27616L17.7055 8.27751L24.7755 15.3475C25.0359 15.6078 25.0359 16.0299 24.7755 16.2903L23.3613 17.7045C23.1009 17.9649 22.6788 17.9649 22.4185 17.7045L17.7131 12.9991C17.6291 12.9151 17.4855 12.9746 17.4855 13.0934V26.0022C17.4855 26.3704 17.187 26.6688 16.8188 26.6688H14.8188C14.4506 26.6688 14.1521 26.3704 14.1521 26.0022L14.1521 13.0929Z" fill="currentColor"/>',h='<path d="M16.6927 25.3346C16.3245 25.3346 16.026 25.0361 16.026 24.6679L16.026 7.3346C16.026 6.96641 16.3245 6.66794 16.6927 6.66794L18.6927 6.66794C19.0609 6.66794 19.3594 6.96642 19.3594 7.3346L19.3594 24.6679C19.3594 25.0361 19.0609 25.3346 18.6927 25.3346H16.6927Z" fill="currentColor"/> <path d="M24.026 25.3346C23.6578 25.3346 23.3594 25.0361 23.3594 24.6679L23.3594 7.3346C23.3594 6.96641 23.6578 6.66794 24.026 6.66794L26.026 6.66794C26.3942 6.66794 26.6927 6.96642 26.6927 7.3346V24.6679C26.6927 25.0361 26.3942 25.3346 26.026 25.3346H24.026Z" fill="currentColor"/> <path d="M5.48113 23.9407C5.38584 24.2963 5.59689 24.6619 5.95254 24.7572L7.88439 25.2748C8.24003 25.3701 8.60559 25.159 8.70089 24.8034L13.1871 8.06067C13.2824 7.70503 13.0713 7.33947 12.7157 7.24417L10.7838 6.72654C10.4282 6.63124 10.0626 6.8423 9.96733 7.19794L5.48113 23.9407Z" fill="currentColor"/>',v='<path fill-rule="evenodd" clip-rule="evenodd" d="M24.9266 7.57992C25.015 7.60672 25.0886 7.64746 25.2462 7.80506L26.956 9.51488C27.1136 9.67248 27.1543 9.74604 27.1811 9.83447C27.2079 9.9229 27.2079 10.0133 27.1811 10.1018C27.1543 10.1902 27.1136 10.2638 26.956 10.4214L13.1822 24.1951C13.0246 24.3527 12.951 24.3935 12.8626 24.4203C12.797 24.4402 12.7304 24.4453 12.6642 24.4357L12.7319 24.4203C12.6435 24.4471 12.553 24.4471 12.4646 24.4203C12.3762 24.3935 12.3026 24.3527 12.145 24.1951L5.04407 17.0942C4.88647 16.9366 4.84573 16.863 4.81893 16.7746C4.79213 16.6862 4.79213 16.5957 4.81893 16.5073C4.84573 16.4189 4.88647 16.3453 5.04407 16.1877L6.7539 14.4779C6.9115 14.3203 6.98506 14.2796 7.07349 14.2528C7.16191 14.226 7.25235 14.226 7.34078 14.2528C7.42921 14.2796 7.50277 14.3203 7.66037 14.4779L12.6628 19.4808L24.3397 7.80506C24.4973 7.64746 24.5709 7.60672 24.6593 7.57992C24.7477 7.55311 24.8382 7.55311 24.9266 7.57992Z" fill="currentColor"/>',I='<path d="M17.947 16.095C17.999 16.043 17.999 15.9585 17.947 15.9065L11.6295 9.58899C11.3691 9.32864 11.3691 8.90653 11.6295 8.64618L13.2323 7.04341C13.4926 6.78306 13.9147 6.78306 14.1751 7.04341L21.0289 13.8973C21.0392 13.9064 21.0493 13.9158 21.0591 13.9257L22.6619 15.5285C22.9223 15.7888 22.9223 16.2109 22.6619 16.4713L14.1766 24.9565C13.9163 25.2169 13.4942 25.2169 13.2338 24.9565L11.631 23.3538C11.3707 23.0934 11.3707 22.6713 11.631 22.411L17.947 16.095Z" fill="currentColor"/>',L='<path d="M8 28.0003C8 27.6321 8.29848 27.3336 8.66667 27.3336H23.3333C23.7015 27.3336 24 27.6321 24 28.0003V29.3336C24 29.7018 23.7015 30.0003 23.3333 30.0003H8.66667C8.29848 30.0003 8 29.7018 8 29.3336V28.0003Z" fill="currentColor"/> <path fill-rule="evenodd" clip-rule="evenodd" d="M4.66602 6.66699C4.29783 6.66699 3.99935 6.96547 3.99935 7.33366V24.667C3.99935 25.0352 4.29783 25.3337 4.66602 25.3337H27.3327C27.7009 25.3337 27.9994 25.0352 27.9994 24.667V7.33366C27.9994 6.96547 27.7009 6.66699 27.3327 6.66699H4.66602ZM8.66659 21.3333C8.2984 21.3333 7.99992 21.0349 7.99992 20.6667V11.3333C7.99992 10.9651 8.2984 10.6667 8.66659 10.6667H13.9999C14.3681 10.6667 14.6666 10.9651 14.6666 11.3333V12.6667C14.6666 13.0349 14.3681 13.3333 13.9999 13.3333H10.7999C10.7263 13.3333 10.6666 13.393 10.6666 13.4667V18.5333C10.6666 18.607 10.7263 18.6667 10.7999 18.6667H13.9999C14.3681 18.6667 14.6666 18.9651 14.6666 19.3333V20.6667C14.6666 21.0349 14.3681 21.3333 13.9999 21.3333H8.66659ZM17.9999 21.3333C17.6317 21.3333 17.3333 21.0349 17.3333 20.6667V11.3333C17.3333 10.9651 17.6317 10.6667 17.9999 10.6667H23.3333C23.7014 10.6667 23.9999 10.9651 23.9999 11.3333V12.6667C23.9999 13.0349 23.7014 13.3333 23.3333 13.3333H20.1333C20.0596 13.3333 19.9999 13.393 19.9999 13.4667V18.5333C19.9999 18.607 20.0596 18.6667 20.1333 18.6667H23.3333C23.7014 18.6667 23.9999 18.9651 23.9999 19.3333V20.6667C23.9999 21.0349 23.7014 21.3333 23.3333 21.3333H17.9999Z" fill="currentColor"/>',C='<path fill-rule="evenodd" clip-rule="evenodd" d="M4.6661 6.66699C4.29791 6.66699 3.99943 6.96547 3.99943 7.33366V24.667C3.99943 25.0352 4.29791 25.3337 4.6661 25.3337H27.3328C27.701 25.3337 27.9994 25.0352 27.9994 24.667V7.33366C27.9994 6.96547 27.701 6.66699 27.3328 6.66699H4.6661ZM8.66667 21.3333C8.29848 21.3333 8 21.0349 8 20.6667V11.3333C8 10.9651 8.29848 10.6667 8.66667 10.6667H14C14.3682 10.6667 14.6667 10.9651 14.6667 11.3333V12.6667C14.6667 13.0349 14.3682 13.3333 14 13.3333H10.8C10.7264 13.3333 10.6667 13.393 10.6667 13.4667V18.5333C10.6667 18.607 10.7264 18.6667 10.8 18.6667H14C14.3682 18.6667 14.6667 18.9651 14.6667 19.3333V20.6667C14.6667 21.0349 14.3682 21.3333 14 21.3333H8.66667ZM18 21.3333C17.6318 21.3333 17.3333 21.0349 17.3333 20.6667V11.3333C17.3333 10.9651 17.6318 10.6667 18 10.6667H23.3333C23.7015 10.6667 24 10.9651 24 11.3333V12.6667C24 13.0349 23.7015 13.3333 23.3333 13.3333H20.1333C20.0597 13.3333 20 13.393 20 13.4667V18.5333C20 18.607 20.0597 18.6667 20.1333 18.6667H23.3333C23.7015 18.6667 24 18.9651 24 19.3333V20.6667C24 21.0349 23.7015 21.3333 23.3333 21.3333H18Z" fill="currentColor"/>',$='<path d="M14.2225 13.7867C14.3065 13.8706 14.4501 13.8112 14.4501 13.6924V5.99955C14.4501 5.63136 14.7486 5.33289 15.1167 5.33289H16.8501C17.2183 5.33289 17.5167 5.63136 17.5167 5.99955V13.6916C17.5167 13.8104 17.6604 13.8699 17.7444 13.7859L19.9433 11.5869C20.2037 11.3266 20.6258 11.3266 20.8861 11.5869L22.1118 12.8126C22.3722 13.0729 22.3722 13.4951 22.1118 13.7554L16.4549 19.4123C16.1946 19.6726 15.772 19.6731 15.5116 19.4128L9.85479 13.7559C9.59444 13.4956 9.59444 13.0734 9.85479 12.8131L11.0804 11.5874C11.3408 11.3271 11.7629 11.3271 12.0233 11.5874L14.2225 13.7867Z" fill="currentColor"/> <path d="M5.99998 20.267C5.63179 20.267 5.33331 20.5654 5.33331 20.9336V25.9997C5.33331 26.3678 5.63179 26.6663 5.99998 26.6663H26C26.3682 26.6663 26.6666 26.3678 26.6666 25.9997V20.9336C26.6666 20.5654 26.3682 20.267 26 20.267H24.2666C23.8985 20.267 23.6 20.5654 23.6 20.9336V22.9333C23.6 23.3014 23.3015 23.5999 22.9333 23.5999H9.06638C8.69819 23.5999 8.39972 23.3014 8.39972 22.9333V20.9336C8.39972 20.5654 8.10124 20.267 7.73305 20.267H5.99998Z" fill="currentColor"/>',s='<path d="M16 20C18.2091 20 20 18.2092 20 16C20 13.7909 18.2091 12 16 12C13.7909 12 12 13.7909 12 16C12 18.2092 13.7909 20 16 20Z" fill="currentColor"/> <path fill-rule="evenodd" clip-rule="evenodd" d="M28 16.0058C28 18.671 23.5 25.3334 16 25.3334C8.5 25.3334 4 18.6762 4 16.0058C4 13.3354 8.50447 6.66669 16 6.66669C23.4955 6.66669 28 13.3406 28 16.0058ZM25.3318 15.9934C25.3328 16.0017 25.3328 16.0099 25.3318 16.0182C25.3274 16.0571 25.3108 16.1728 25.2485 16.3708C25.1691 16.6229 25.0352 16.9462 24.8327 17.3216C24.4264 18.0749 23.7969 18.9398 22.9567 19.754C21.2791 21.3798 18.9148 22.6667 16 22.6667C13.0845 22.6667 10.7202 21.3805 9.04298 19.7557C8.20295 18.9419 7.57362 18.0773 7.16745 17.3241C6.96499 16.9486 6.83114 16.6252 6.75172 16.3729C6.67942 16.1431 6.66856 16.0243 6.66695 16.0066L6.66695 16.005C6.66859 15.9871 6.67951 15.8682 6.75188 15.6383C6.83145 15.3854 6.96554 15.0614 7.16831 14.6853C7.57507 13.9306 8.20514 13.0644 9.04577 12.249C10.7245 10.6208 13.0886 9.33335 16 9.33335C18.9108 9.33335 21.2748 10.6215 22.9539 12.2507C23.7947 13.0664 24.4249 13.933 24.8318 14.6877C25.0346 15.0639 25.1688 15.3878 25.2483 15.6404C25.3107 15.8386 25.3274 15.9545 25.3318 15.9934Z" fill="currentColor"/>',t='<path d="M15.8747 8.11857C16.3148 7.79342 16.9375 8.10759 16.9375 8.65476V14.2575C16.9375 14.3669 17.0621 14.4297 17.1501 14.3647L25.6038 8.11857C26.0439 7.79342 26.6667 8.10759 26.6667 8.65476V23.3451C26.6667 23.8923 26.0439 24.2064 25.6038 23.8813L17.1501 17.6346C17.0621 17.5695 16.9375 17.6324 16.9375 17.7418L16.9375 23.3451C16.9375 23.8923 16.3147 24.2064 15.8747 23.8813L5.93387 16.5358C5.57322 16.2693 5.57323 15.7299 5.93389 15.4634L15.8747 8.11857Z" fill="currentColor"/>',n='<path d="M16.1253 8.11866C15.6852 7.7935 15.0625 8.10768 15.0625 8.65484V14.2576C15.0625 14.367 14.9379 14.4298 14.8499 14.3648L6.39615 8.11866C5.95607 7.7935 5.33331 8.10768 5.33331 8.65484V23.3452C5.33331 23.8923 5.9561 24.2065 6.39617 23.8813L14.8499 17.6347C14.9379 17.5696 15.0625 17.6325 15.0625 17.7419L15.0625 23.3452C15.0625 23.8923 15.6853 24.2065 16.1253 23.8813L26.0661 16.5358C26.4268 16.2694 26.4268 15.73 26.0661 15.4635L16.1253 8.11866Z" fill="currentColor"/>',c='<path d="M19.3334 13.3333C18.9652 13.3333 18.6667 13.0349 18.6667 12.6667L18.6667 7.33333C18.6667 6.96514 18.9652 6.66666 19.3334 6.66666H21.3334C21.7015 6.66666 22 6.96514 22 7.33333V9.86666C22 9.9403 22.0597 10 22.1334 10L24.6667 10C25.0349 10 25.3334 10.2985 25.3334 10.6667V12.6667C25.3334 13.0349 25.0349 13.3333 24.6667 13.3333L19.3334 13.3333Z" fill="currentColor"/> <path d="M13.3334 19.3333C13.3334 18.9651 13.0349 18.6667 12.6667 18.6667H7.33335C6.96516 18.6667 6.66669 18.9651 6.66669 19.3333V21.3333C6.66669 21.7015 6.96516 22 7.33335 22H9.86669C9.94032 22 10 22.0597 10 22.1333L10 24.6667C10 25.0349 10.2985 25.3333 10.6667 25.3333H12.6667C13.0349 25.3333 13.3334 25.0349 13.3334 24.6667L13.3334 19.3333Z" fill="currentColor"/> <path d="M18.6667 24.6667C18.6667 25.0349 18.9652 25.3333 19.3334 25.3333H21.3334C21.7015 25.3333 22 25.0349 22 24.6667V22.1333C22 22.0597 22.0597 22 22.1334 22H24.6667C25.0349 22 25.3334 21.7015 25.3334 21.3333V19.3333C25.3334 18.9651 25.0349 18.6667 24.6667 18.6667L19.3334 18.6667C18.9652 18.6667 18.6667 18.9651 18.6667 19.3333L18.6667 24.6667Z" fill="currentColor"/> <path d="M10.6667 13.3333H12.6667C13.0349 13.3333 13.3334 13.0349 13.3334 12.6667L13.3334 10.6667V7.33333C13.3334 6.96514 13.0349 6.66666 12.6667 6.66666H10.6667C10.2985 6.66666 10 6.96514 10 7.33333L10 9.86666C10 9.9403 9.94033 10 9.86669 10L7.33335 10C6.96516 10 6.66669 10.2985 6.66669 10.6667V12.6667C6.66669 13.0349 6.96516 13.3333 7.33335 13.3333L10.6667 13.3333Z" fill="currentColor"/>',d='<path d="M25.3299 7.26517C25.2958 6.929 25.0119 6.66666 24.6667 6.66666H19.3334C18.9652 6.66666 18.6667 6.96514 18.6667 7.33333V9.33333C18.6667 9.70152 18.9652 10 19.3334 10L21.8667 10C21.9403 10 22 10.0597 22 10.1333V12.6667C22 13.0349 22.2985 13.3333 22.6667 13.3333H24.6667C25.0349 13.3333 25.3334 13.0349 25.3334 12.6667V7.33333C25.3334 7.31032 25.3322 7.28758 25.3299 7.26517Z" fill="currentColor"/> <path d="M22 21.8667C22 21.9403 21.9403 22 21.8667 22L19.3334 22C18.9652 22 18.6667 22.2985 18.6667 22.6667V24.6667C18.6667 25.0349 18.9652 25.3333 19.3334 25.3333L24.6667 25.3333C25.0349 25.3333 25.3334 25.0349 25.3334 24.6667V19.3333C25.3334 18.9651 25.0349 18.6667 24.6667 18.6667H22.6667C22.2985 18.6667 22 18.9651 22 19.3333V21.8667Z" fill="currentColor"/> <path d="M12.6667 22H10.1334C10.0597 22 10 21.9403 10 21.8667V19.3333C10 18.9651 9.70154 18.6667 9.33335 18.6667H7.33335C6.96516 18.6667 6.66669 18.9651 6.66669 19.3333V24.6667C6.66669 25.0349 6.96516 25.3333 7.33335 25.3333H12.6667C13.0349 25.3333 13.3334 25.0349 13.3334 24.6667V22.6667C13.3334 22.2985 13.0349 22 12.6667 22Z" fill="currentColor"/> <path d="M10 12.6667V10.1333C10 10.0597 10.0597 10 10.1334 10L12.6667 10C13.0349 10 13.3334 9.70152 13.3334 9.33333V7.33333C13.3334 6.96514 13.0349 6.66666 12.6667 6.66666H7.33335C6.96516 6.66666 6.66669 6.96514 6.66669 7.33333V12.6667C6.66669 13.0349 6.96516 13.3333 7.33335 13.3333H9.33335C9.70154 13.3333 10 13.0349 10 12.6667Z" fill="currentColor"/>',m='<path fill-rule="evenodd" clip-rule="evenodd" d="M26.6667 5.99998C26.6667 5.63179 26.3682 5.33331 26 5.33331H11.3333C10.9651 5.33331 10.6667 5.63179 10.6667 5.99998V17.5714C10.6667 17.6694 10.5644 17.7342 10.4741 17.6962C9.91823 17.4625 9.30754 17.3333 8.66667 17.3333C6.08934 17.3333 4 19.4226 4 22C4 24.5773 6.08934 26.6666 8.66667 26.6666C11.244 26.6666 13.3333 24.5773 13.3333 22V8.66665C13.3333 8.29846 13.6318 7.99998 14 7.99998L23.3333 7.99998C23.7015 7.99998 24 8.29846 24 8.66665V14.9048C24 15.0027 23.8978 15.0675 23.8075 15.0296C23.2516 14.7958 22.6409 14.6666 22 14.6666C19.4227 14.6666 17.3333 16.756 17.3333 19.3333C17.3333 21.9106 19.4227 24 22 24C24.5773 24 26.6667 21.9106 26.6667 19.3333V5.99998ZM22 21.3333C23.1046 21.3333 24 20.4379 24 19.3333C24 18.2287 23.1046 17.3333 22 17.3333C20.8954 17.3333 20 18.2287 20 19.3333C20 20.4379 20.8954 21.3333 22 21.3333ZM8.66667 24C9.77124 24 10.6667 23.1045 10.6667 22C10.6667 20.8954 9.77124 20 8.66667 20C7.5621 20 6.66667 20.8954 6.66667 22C6.66667 23.1045 7.5621 24 8.66667 24Z" fill="currentColor"/>',a='<path d="M17.5091 24.6594C17.5091 25.2066 16.8864 25.5208 16.4463 25.1956L9.44847 20.0252C9.42553 20.0083 9.39776 19.9991 9.36923 19.9991H4.66667C4.29848 19.9991 4 19.7006 4 19.3325V12.6658C4 12.2976 4.29848 11.9991 4.66667 11.9991H9.37115C9.39967 11.9991 9.42745 11.99 9.45039 11.973L16.4463 6.8036C16.8863 6.47842 17.5091 6.79259 17.5091 7.33977L17.5091 24.6594Z" fill="currentColor"/> <path d="M28.8621 13.6422C29.1225 13.3818 29.1225 12.9597 28.8621 12.6994L27.9193 11.7566C27.659 11.4962 27.2368 11.4962 26.9765 11.7566L24.7134 14.0197C24.6613 14.0717 24.5769 14.0717 24.5248 14.0197L22.262 11.7568C22.0016 11.4964 21.5795 11.4964 21.3191 11.7568L20.3763 12.6996C20.116 12.9599 20.116 13.382 20.3763 13.6424L22.6392 15.9053C22.6913 15.9573 22.6913 16.0418 22.6392 16.0938L20.3768 18.3562C20.1165 18.6166 20.1165 19.0387 20.3768 19.299L21.3196 20.2419C21.58 20.5022 22.0021 20.5022 22.2624 20.2418L24.5248 17.9795C24.5769 17.9274 24.6613 17.9274 24.7134 17.9795L26.976 20.2421C27.2363 20.5024 27.6585 20.5024 27.9188 20.2421L28.8616 19.2992C29.122 19.0389 29.122 18.6168 28.8616 18.3564L26.599 16.0938C26.547 16.0418 26.547 15.9573 26.599 15.9053L28.8621 13.6422Z" fill="currentColor"/>',k='<path d="M26.6009 16.0725C26.6009 16.424 26.4302 17.1125 25.9409 18.0213C25.4676 18.8976 24.7542 19.8715 23.8182 20.7783C21.9489 22.5905 19.2662 24.0667 15.9342 24.0667C12.6009 24.0667 9.91958 22.5915 8.04891 20.78C7.11424 19.8736 6.40091 18.9 5.92758 18.0236C5.43824 17.1149 5.26758 16.4257 5.26758 16.0725C5.26758 15.7193 5.43824 15.0293 5.92891 14.1193C6.40224 13.2416 7.11558 12.2665 8.05158 11.3587C9.92224 9.54398 12.6049 8.06665 15.9342 8.06665C19.2636 8.06665 21.9449 9.54505 23.8169 11.3604C24.7529 12.2687 25.4662 13.2441 25.9396 14.1216C26.4302 15.0317 26.6009 15.7209 26.6009 16.0725Z" stroke="currentColor" stroke-width="3"/> <path d="M15.9336 20.0667C18.1427 20.0667 19.9336 18.2758 19.9336 16.0667C19.9336 13.8575 18.1427 12.0667 15.9336 12.0667C13.7245 12.0667 11.9336 13.8575 11.9336 16.0667C11.9336 18.2758 13.7245 20.0667 15.9336 20.0667Z" fill="currentColor"/> <path fill-rule="evenodd" clip-rule="evenodd" d="M27.2323 25.0624L6.93878 4.76886C6.78118 4.61126 6.70762 4.57052 6.61919 4.54372C6.53077 4.51692 6.44033 4.51691 6.3519 4.54372C6.26347 4.57052 6.18991 4.61126 6.03231 4.76886L4.77032 6.03085C4.61272 6.18845 4.57198 6.26201 4.54518 6.35044C4.51838 6.43887 4.51838 6.5293 4.54518 6.61773C4.57198 6.70616 4.61272 6.77972 4.77032 6.93732L25.0639 27.2308C25.2215 27.3884 25.295 27.4292 25.3834 27.456C25.4719 27.4828 25.5623 27.4828 25.6507 27.456C25.7392 27.4292 25.8127 27.3885 25.9703 27.2309L27.2323 25.9689C27.3899 25.8113 27.4307 25.7377 27.4575 25.6493C27.4843 25.5608 27.4843 25.4704 27.4575 25.382C27.4307 25.2935 27.3899 25.22 27.2323 25.0624Z" fill="currentColor"/>',u='<path d="M8.66667 6.66667C8.29848 6.66667 8 6.96514 8 7.33333V24.6667C8 25.0349 8.29848 25.3333 8.66667 25.3333H12.6667C13.0349 25.3333 13.3333 25.0349 13.3333 24.6667V7.33333C13.3333 6.96514 13.0349 6.66667 12.6667 6.66667H8.66667Z" fill="currentColor"/> <path d="M19.3333 6.66667C18.9651 6.66667 18.6667 6.96514 18.6667 7.33333V24.6667C18.6667 25.0349 18.9651 25.3333 19.3333 25.3333H23.3333C23.7015 25.3333 24 25.0349 24 24.6667V7.33333C24 6.96514 23.7015 6.66667 23.3333 6.66667H19.3333Z" fill="currentColor"/>',i='<path d="M5.33334 26V19.4667C5.33334 19.393 5.39304 19.3333 5.46668 19.3333H7.86668C7.94031 19.3333 8.00001 19.393 8.00001 19.4667V23.3333C8.00001 23.7015 8.29849 24 8.66668 24H23.3333C23.7015 24 24 23.7015 24 23.3333V8.66666C24 8.29847 23.7015 7.99999 23.3333 7.99999H19.4667C19.393 7.99999 19.3333 7.9403 19.3333 7.86666V5.46666C19.3333 5.39302 19.393 5.33333 19.4667 5.33333H26C26.3682 5.33333 26.6667 5.63181 26.6667 5.99999V26C26.6667 26.3682 26.3682 26.6667 26 26.6667H6.00001C5.63182 26.6667 5.33334 26.3682 5.33334 26Z" fill="currentColor"/> <path d="M14.0098 8.42359H10.806C10.6872 8.42359 10.6277 8.56721 10.7117 8.6512L16.5491 14.4886C16.8094 14.7489 16.8094 15.171 16.5491 15.4314L15.3234 16.657C15.0631 16.9174 14.641 16.9174 14.3806 16.657L8.63739 10.9138C8.55339 10.8298 8.40978 10.8893 8.40978 11.0081V14.0236C8.40978 14.3918 8.1113 14.6903 7.74311 14.6903H6.00978C5.64159 14.6903 5.34311 14.3918 5.34311 14.0236L5.34311 6.02359C5.34311 5.6554 5.64159 5.35692 6.00978 5.35692L14.0098 5.35692C14.378 5.35692 14.6764 5.6554 14.6764 6.02359V7.75692C14.6764 8.12511 14.378 8.42359 14.0098 8.42359Z" fill="currentColor"/>',V='<path d="M16 15.3333C15.6318 15.3333 15.3333 15.6318 15.3333 16V20C15.3333 20.3682 15.6318 20.6667 16 20.6667H21.3333C21.7015 20.6667 22 20.3682 22 20V16C22 15.6318 21.7015 15.3333 21.3333 15.3333H16Z" fill="currentColor"/> <path fill-rule="evenodd" clip-rule="evenodd" d="M5.33333 7.33334C5.33333 6.96515 5.63181 6.66667 5.99999 6.66667H26C26.3682 6.66667 26.6667 6.96515 26.6667 7.33334V24.6667C26.6667 25.0349 26.3682 25.3333 26 25.3333H5.99999C5.63181 25.3333 5.33333 25.0349 5.33333 24.6667V7.33334ZM7.99999 10C7.99999 9.63182 8.29847 9.33334 8.66666 9.33334H23.3333C23.7015 9.33334 24 9.63182 24 10V22C24 22.3682 23.7015 22.6667 23.3333 22.6667H8.66666C8.29847 22.6667 7.99999 22.3682 7.99999 22V10Z" fill="currentColor"/>',p='<path d="M10.6667 6.6548C10.6667 6.10764 11.2894 5.79346 11.7295 6.11862L24.377 15.4634C24.7377 15.7298 24.7377 16.2692 24.3771 16.5357L11.7295 25.8813C11.2895 26.2065 10.6667 25.8923 10.6667 25.3451L10.6667 6.6548Z" fill="currentColor"/>',b='<path d="M13.9213 5.53573C14.3146 5.45804 14.6666 5.76987 14.6666 6.17079V7.57215C14.6666 7.89777 14.4305 8.17277 14.114 8.24925C12.5981 8.61559 11.2506 9.41368 10.2091 10.506C9.98474 10.7414 9.62903 10.8079 9.34742 10.6453L8.14112 9.94885C7.79394 9.7484 7.69985 9.28777 7.96359 8.98585C9.48505 7.24409 11.5636 6.00143 13.9213 5.53573Z" fill="currentColor"/> <path d="M5.88974 12.5908C6.01805 12.2101 6.46491 12.0603 6.81279 12.2611L8.01201 12.9535C8.29379 13.1162 8.41396 13.4577 8.32238 13.7699C8.11252 14.4854 7.99998 15.2424 7.99998 16.0257C7.99998 16.809 8.11252 17.566 8.32238 18.2814C8.41396 18.5936 8.29378 18.9352 8.01201 19.0979L6.82742 19.7818C6.48051 19.9821 6.03488 19.8337 5.90521 19.4547C5.5345 18.3712 5.33331 17.2091 5.33331 16C5.33331 14.8078 5.5289 13.6613 5.88974 12.5908Z" fill="currentColor"/> <path d="M8.17106 22.0852C7.82291 22.2862 7.72949 22.7486 7.99532 23.0502C9.51387 24.773 11.5799 26.0017 13.9213 26.4642C14.3146 26.5419 14.6666 26.2301 14.6666 25.8291V24.4792C14.6666 24.1536 14.4305 23.8786 14.114 23.8021C12.5981 23.4358 11.2506 22.6377 10.2091 21.5453C9.98474 21.31 9.62903 21.2435 9.34742 21.4061L8.17106 22.0852Z" fill="currentColor"/> <path d="M17.3333 25.8291C17.3333 26.2301 17.6857 26.5418 18.079 26.4641C22.9748 25.4969 26.6666 21.1796 26.6666 16C26.6666 10.8204 22.9748 6.50302 18.079 5.5358C17.6857 5.4581 17.3333 5.76987 17.3333 6.17079V7.57215C17.3333 7.89777 17.5697 8.17282 17.8862 8.24932C21.3942 9.09721 24 12.2572 24 16.0257C24 19.7942 21.3942 22.9542 17.8862 23.802C17.5697 23.8785 17.3333 24.1536 17.3333 24.4792V25.8291Z" fill="currentColor"/> <path d="M14.3961 10.4163C13.9561 10.0911 13.3333 10.4053 13.3333 10.9525L13.3333 21.0474C13.3333 21.5946 13.9561 21.9087 14.3962 21.5836L21.2273 16.5359C21.5879 16.2694 21.5879 15.73 21.2273 15.4635L14.3961 10.4163Z" fill="currentColor"/>',w='<path d="M15.6038 12.2147C16.0439 12.5399 16.6667 12.2257 16.6667 11.6786V10.1789C16.6667 10.1001 16.7351 10.0384 16.8134 10.0479C20.1116 10.4494 22.6667 13.2593 22.6667 16.6659C22.6667 20.3481 19.6817 23.3332 15.9995 23.3332C12.542 23.3332 9.69927 20.7014 9.36509 17.332C9.32875 16.9655 9.03371 16.6662 8.66548 16.6662L6.66655 16.6666C6.29841 16.6666 5.99769 16.966 6.02187 17.3334C6.36494 22.5454 10.7012 26.6667 16 26.6667C21.5228 26.6667 26 22.1895 26 16.6667C26 11.4103 21.9444 7.10112 16.7916 6.69757C16.7216 6.69209 16.6667 6.63396 16.6667 6.56372V4.98824C16.6667 4.44106 16.0439 4.12689 15.6038 4.45206L11.0765 7.79738C10.7159 8.06387 10.7159 8.60326 11.0766 8.86973L15.6038 12.2147Z" fill="currentColor"/>',y='<path d="M16.6667 10.3452C16.6667 10.8924 16.0439 11.2066 15.6038 10.8814L11.0766 7.5364C10.7159 7.26993 10.7159 6.73054 11.0766 6.46405L15.6038 3.11873C16.0439 2.79356 16.6667 3.10773 16.6667 3.6549V5.22682C16.6667 5.29746 16.7223 5.35579 16.7927 5.36066C22.6821 5.76757 27.3333 10.674 27.3333 16.6667C27.3333 22.9259 22.2592 28 16 28C9.96483 28 5.03145 23.2827 4.68601 17.3341C4.66466 16.9665 4.96518 16.6673 5.33339 16.6673H7.3334C7.70157 16.6673 7.99714 16.9668 8.02743 17.3337C8.36638 21.4399 11.8064 24.6667 16 24.6667C20.4183 24.6667 24 21.085 24 16.6667C24 12.5225 20.8483 9.11428 16.8113 8.70739C16.7337 8.69957 16.6667 8.76096 16.6667 8.83893V10.3452Z" fill="currentColor"/> <path fill-rule="evenodd" clip-rule="evenodd" d="M17.0879 19.679C17.4553 19.9195 17.8928 20.0398 18.4004 20.0398C18.9099 20.0398 19.3474 19.9205 19.7129 19.6818C20.0803 19.4413 20.3635 19.0938 20.5623 18.6392C20.7612 18.1847 20.8606 17.6373 20.8606 16.9972C20.8625 16.3608 20.764 15.8192 20.5652 15.3722C20.3663 14.9252 20.0822 14.5853 19.7129 14.3523C19.3455 14.1175 18.908 14 18.4004 14C17.8928 14 17.4553 14.1175 17.0879 14.3523C16.7224 14.5853 16.4402 14.9252 16.2413 15.3722C16.0443 15.8173 15.9449 16.3589 15.943 16.9972C15.9411 17.6354 16.0396 18.1818 16.2385 18.6364C16.4373 19.089 16.7205 19.4366 17.0879 19.679ZM19.1362 18.4262C18.9487 18.7349 18.7034 18.8892 18.4004 18.8892C18.1996 18.8892 18.0226 18.8211 17.8691 18.6847C17.7157 18.5464 17.5964 18.3372 17.5112 18.0568C17.4279 17.7765 17.3871 17.4233 17.389 16.9972C17.3909 16.3684 17.4847 15.9025 17.6703 15.5995C17.8559 15.2945 18.0993 15.1421 18.4004 15.1421C18.603 15.1421 18.7801 15.2093 18.9316 15.3438C19.0832 15.4782 19.2015 15.6828 19.2868 15.9574C19.372 16.2301 19.4146 16.5767 19.4146 16.9972C19.4165 17.6392 19.3237 18.1156 19.1362 18.4262Z" fill="currentColor"/> <path d="M13.7746 19.8978C13.8482 19.8978 13.9079 19.8381 13.9079 19.7644V14.2129C13.9079 14.1393 13.8482 14.0796 13.7746 14.0796H12.642C12.6171 14.0796 12.5927 14.0865 12.5716 14.0997L11.2322 14.9325C11.1931 14.9568 11.1693 14.9996 11.1693 15.0457V15.9497C11.1693 16.0539 11.2833 16.1178 11.3722 16.0635L12.464 15.396C12.4682 15.3934 12.473 15.3921 12.4779 15.3921C12.4926 15.3921 12.5045 15.404 12.5045 15.4187V19.7644C12.5045 19.8381 12.5642 19.8978 12.6378 19.8978H13.7746Z" fill="currentColor"/>',g='<path d="M15.3333 10.3452C15.3333 10.8924 15.9561 11.2066 16.3962 10.8814L20.9234 7.5364C21.2841 7.26993 21.2841 6.73054 20.9235 6.46405L16.3962 3.11873C15.9561 2.79356 15.3333 3.10773 15.3333 3.6549V5.22682C15.3333 5.29746 15.2778 5.35579 15.2073 5.36066C9.31791 5.76757 4.66667 10.674 4.66667 16.6667C4.66667 22.9259 9.74078 28 16 28C22.0352 28 26.9686 23.2827 27.314 17.3341C27.3354 16.9665 27.0348 16.6673 26.6666 16.6673H24.6666C24.2984 16.6673 24.0029 16.9668 23.9726 17.3337C23.6336 21.4399 20.1937 24.6667 16 24.6667C11.5817 24.6667 8 21.085 8 16.6667C8 12.5225 11.1517 9.11428 15.1887 8.70739C15.2663 8.69957 15.3333 8.76096 15.3333 8.83893V10.3452Z" fill="currentColor"/> <path fill-rule="evenodd" clip-rule="evenodd" d="M17.0879 19.679C17.4553 19.9195 17.8928 20.0398 18.4004 20.0398C18.9099 20.0398 19.3474 19.9205 19.7129 19.6818C20.0803 19.4413 20.3635 19.0938 20.5623 18.6392C20.7612 18.1847 20.8606 17.6373 20.8606 16.9972C20.8625 16.3608 20.764 15.8192 20.5652 15.3722C20.3663 14.9252 20.0822 14.5853 19.7129 14.3523C19.3455 14.1175 18.908 14 18.4004 14C17.8928 14 17.4553 14.1175 17.0879 14.3523C16.7224 14.5853 16.4402 14.9252 16.2413 15.3722C16.0443 15.8173 15.9449 16.3589 15.943 16.9972C15.9411 17.6354 16.0396 18.1818 16.2385 18.6364C16.4373 19.089 16.7205 19.4366 17.0879 19.679ZM19.1362 18.4262C18.9487 18.7349 18.7034 18.8892 18.4004 18.8892C18.1996 18.8892 18.0225 18.8211 17.8691 18.6847C17.7157 18.5464 17.5964 18.3372 17.5112 18.0568C17.4278 17.7765 17.3871 17.4233 17.389 16.9972C17.3909 16.3684 17.4847 15.9025 17.6703 15.5995C17.8559 15.2945 18.0992 15.1421 18.4004 15.1421C18.603 15.1421 18.7801 15.2093 18.9316 15.3438C19.0831 15.4782 19.2015 15.6828 19.2867 15.9574C19.372 16.2301 19.4146 16.5767 19.4146 16.9972C19.4165 17.6392 19.3237 18.1156 19.1362 18.4262Z" fill="currentColor"/> <path d="M13.7746 19.8978C13.8482 19.8978 13.9079 19.8381 13.9079 19.7644V14.2129C13.9079 14.1393 13.8482 14.0796 13.7746 14.0796H12.642C12.6171 14.0796 12.5927 14.0865 12.5716 14.0997L11.2322 14.9325C11.1931 14.9568 11.1693 14.9996 11.1693 15.0457V15.9497C11.1693 16.0539 11.2833 16.1178 11.3722 16.0635L12.464 15.396C12.4682 15.3934 12.473 15.3921 12.4779 15.3921C12.4926 15.3921 12.5045 15.404 12.5045 15.4187V19.7644C12.5045 19.8381 12.5642 19.8978 12.6378 19.8978H13.7746Z" fill="currentColor"/>',x='<path fill-rule="evenodd" clip-rule="evenodd" d="M13.5722 5.33333C13.2429 5.33333 12.9629 5.57382 12.9132 5.89938L12.4063 9.21916C12.4 9.26058 12.3746 9.29655 12.3378 9.31672C12.2387 9.37118 12.1409 9.42779 12.0444 9.48648C12.0086 9.5083 11.9646 9.51242 11.9255 9.49718L8.79572 8.27692C8.48896 8.15732 8.14083 8.27958 7.9762 8.56472L5.5491 12.7686C5.38444 13.0538 5.45271 13.4165 5.70981 13.6223L8.33308 15.7225C8.3658 15.7487 8.38422 15.7887 8.38331 15.8306C8.38209 15.8867 8.38148 15.9429 8.38148 15.9993C8.38148 16.0558 8.3821 16.1121 8.38332 16.1684C8.38423 16.2102 8.36582 16.2503 8.33313 16.2765L5.7103 18.3778C5.45334 18.5836 5.38515 18.9462 5.54978 19.2314L7.97688 23.4352C8.14155 23.7205 8.48981 23.8427 8.79661 23.723L11.926 22.5016C11.9651 22.4864 12.009 22.4905 12.0449 22.5123C12.1412 22.5709 12.2388 22.6274 12.3378 22.6818C12.3745 22.7019 12.4 22.7379 12.4063 22.7793L12.9132 26.0993C12.9629 26.4249 13.2429 26.6654 13.5722 26.6654H18.4264C18.7556 26.6654 19.0356 26.425 19.0854 26.0995L19.5933 22.7801C19.5997 22.7386 19.6252 22.7027 19.6619 22.6825C19.7614 22.6279 19.8596 22.5711 19.9564 22.5121C19.9923 22.4903 20.0362 22.4862 20.0754 22.5015L23.2035 23.7223C23.5103 23.842 23.8585 23.7198 24.0232 23.4346L26.4503 19.2307C26.6149 18.9456 26.5467 18.583 26.2898 18.3771L23.6679 16.2766C23.6352 16.2504 23.6168 16.2104 23.6177 16.1685C23.619 16.1122 23.6196 16.0558 23.6196 15.9993C23.6196 15.9429 23.619 15.8866 23.6177 15.8305C23.6168 15.7886 23.6353 15.7486 23.668 15.7224L26.2903 13.623C26.5474 13.4172 26.6156 13.0544 26.451 12.7692L24.0239 8.56537C23.8592 8.28023 23.5111 8.15797 23.2043 8.27757L20.0758 9.49734C20.0367 9.51258 19.9927 9.50846 19.9569 9.48664C19.8599 9.42762 19.7616 9.37071 19.6618 9.31596C19.6251 9.2958 19.5997 9.25984 19.5933 9.21843L19.0854 5.89915C19.0356 5.57369 18.7556 5.33333 18.4264 5.33333H13.5722ZM16.0001 20.2854C18.3672 20.2854 20.2862 18.3664 20.2862 15.9993C20.2862 13.6322 18.3672 11.7132 16.0001 11.7132C13.6329 11.7132 11.714 13.6322 11.714 15.9993C11.714 18.3664 13.6329 20.2854 16.0001 20.2854Z" fill="currentColor"/>',r='<path d="M17.5091 24.6595C17.5091 25.2066 16.8864 25.5208 16.4463 25.1956L9.44847 20.0252C9.42553 20.0083 9.39776 19.9992 9.36923 19.9992H4.66667C4.29848 19.9992 4 19.7007 4 19.3325V12.6658C4 12.2976 4.29848 11.9992 4.66667 11.9992H9.37115C9.39967 11.9992 9.42745 11.99 9.45039 11.9731L16.4463 6.80363C16.8863 6.47845 17.5091 6.79262 17.5091 7.3398L17.5091 24.6595Z" fill="currentColor"/> <path d="M27.5091 9.33336C27.8773 9.33336 28.1758 9.63184 28.1758 10V22C28.1758 22.3682 27.8773 22.6667 27.5091 22.6667H26.1758C25.8076 22.6667 25.5091 22.3682 25.5091 22V10C25.5091 9.63184 25.8076 9.33336 26.1758 9.33336L27.5091 9.33336Z" fill="currentColor"/> <path d="M22.1758 12C22.544 12 22.8424 12.2985 22.8424 12.6667V19.3334C22.8424 19.7016 22.544 20 22.1758 20H20.8424C20.4743 20 20.1758 19.7016 20.1758 19.3334V12.6667C20.1758 12.2985 20.4743 12 20.8424 12H22.1758Z" fill="currentColor"/>',l='<path d="M17.5091 24.6594C17.5091 25.2066 16.8864 25.5207 16.4463 25.1956L9.44847 20.0252C9.42553 20.0083 9.39776 19.9991 9.36923 19.9991H4.66667C4.29848 19.9991 4 19.7006 4 19.3324V12.6658C4 12.2976 4.29848 11.9991 4.66667 11.9991H9.37115C9.39967 11.9991 9.42745 11.99 9.45039 11.973L16.4463 6.80358C16.8863 6.4784 17.5091 6.79258 17.5091 7.33975L17.5091 24.6594Z" fill="currentColor"/> <path d="M22.8424 12.6667C22.8424 12.2985 22.544 12 22.1758 12H20.8424C20.4743 12 20.1758 12.2985 20.1758 12.6667V19.3333C20.1758 19.7015 20.4743 20 20.8424 20H22.1758C22.544 20 22.8424 19.7015 22.8424 19.3333V12.6667Z" fill="currentColor"/>';const z={airplay:M,download:$,play:p,pause:u,replay:w,mute:a,"google-cast":H,"volume-low":l,"volume-high":r,"cc-on":L,"cc-off":C,"pip-enter":V,"pip-exit":i,"fs-enter":d,"fs-exit":c,"seek-forward":g,"seek-backward":y,"menu-chapters":h,"menu-settings":x,"menu-arrow-left":Z,"menu-arrow-right":I,"menu-accessibility":f,"menu-audio":m,"menu-audio-boost-up":r,"menu-audio-boost-down":l,"menu-playback":b,"menu-speed-up":n,"menu-speed-down":t,"menu-captions":C,"menu-quality-up":e,"menu-quality-down":o,"menu-radio-check":v,"menu-font-size-up":e,"menu-font-size-down":o,"menu-opacity-up":s,"menu-opacity-down":k,"kb-play":p,"kb-pause":u,"kb-mute":a,"kb-volume-up":r,"kb-volume-down":l,"kb-fs-enter":d,"kb-fs-exit":c,"kb-pip-enter":V,"kb-pip-exit":i,"kb-cc-on":L,"kb-cc-off":C,"kb-seek-forward":n,"kb-seek-backward":t};export{z as icons};
diff --git a/assets/vidstack-CbhL8rpf-C0Lj70YY.js b/assets/vidstack-CbhL8rpf-C0Lj70YY.js
deleted file mode 100644
index ad91ee7..0000000
--- a/assets/vidstack-CbhL8rpf-C0Lj70YY.js
+++ /dev/null
@@ -1,35 +0,0 @@
-/**
- * @license
- * Copyright 2017 Google LLC
- * SPDX-License-Identifier: BSD-3-Clause
- */var P;const w=window,g=w.trustedTypes,D=g?g.createPolicy("lit-html",{createHTML:s=>s}):void 0,G="$lit$",_=`lit$${(Math.random()+"").slice(9)}$`,Q="?"+_,tt=`<${Q}>`,f=document,x=()=>f.createComment(""),T=s=>s===null||typeof s!="object"&&typeof s!="function",Y=Array.isArray,et=s=>Y(s)||typeof(s==null?void 0:s[Symbol.iterator])=="function",L=`[ 	
-\f\r]`,H=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,V=/-->/g,O=/>/g,v=RegExp(`>|${L}(?:([^\\s"'>=/]+)(${L}*=${L}*(?:[^ 	
-\f\r"'\`<>=]|("|')|))|$)`,"g"),W=/'/g,j=/"/g,q=/^(?:script|style|textarea|title)$/i,it=s=>(t,...e)=>({_$litType$:s,strings:t,values:e}),ft=it(1),m=Symbol.for("lit-noChange"),d=Symbol.for("lit-nothing"),z=new WeakMap,p=f.createTreeWalker(f,129,null,!1);function F(s,t){if(!Array.isArray(s)||!s.hasOwnProperty("raw"))throw Error("invalid template strings array");return D!==void 0?D.createHTML(t):t}const st=(s,t)=>{const e=s.length-1,i=[];let n,r=t===2?"<svg>":"",o=H;for(let $=0;$<e;$++){const l=s[$];let h,c,a=-1,u=0;for(;u<l.length&&(o.lastIndex=u,c=o.exec(l),c!==null);)u=o.lastIndex,o===H?c[1]==="!--"?o=V:c[1]!==void 0?o=O:c[2]!==void 0?(q.test(c[2])&&(n=RegExp("</"+c[2],"g")),o=v):c[3]!==void 0&&(o=v):o===v?c[0]===">"?(o=n??H,a=-1):c[1]===void 0?a=-2:(a=o.lastIndex-c[2].length,h=c[1],o=c[3]===void 0?v:c[3]==='"'?j:W):o===j||o===W?o=v:o===V||o===O?o=H:(o=v,n=void 0);const A=o===v&&s[$+1].startsWith("/>")?" ":"";r+=o===H?l+tt:a>=0?(i.push(h),l.slice(0,a)+G+l.slice(a)+_+A):l+_+(a===-2?(i.push(void 0),$):A)}return[F(s,r+(s[e]||"<?>")+(t===2?"</svg>":"")),i]};class C{constructor({strings:t,_$litType$:e},i){let n;this.parts=[];let r=0,o=0;const $=t.length-1,l=this.parts,[h,c]=st(t,e);if(this.el=C.createElement(h,i),p.currentNode=this.el.content,e===2){const a=this.el.content,u=a.firstChild;u.remove(),a.append(...u.childNodes)}for(;(n=p.nextNode())!==null&&l.length<$;){if(n.nodeType===1){if(n.hasAttributes()){const a=[];for(const u of n.getAttributeNames())if(u.endsWith(G)||u.startsWith(_)){const A=c[o++];if(a.push(u),A!==void 0){const X=n.getAttribute(A.toLowerCase()+G).split(_),b=/([.?@])?(.*)/.exec(A);l.push({type:1,index:r,name:b[2],strings:X,ctor:b[1]==="."?ot:b[1]==="?"?lt:b[1]==="@"?ht:S})}else l.push({type:6,index:r})}for(const u of a)n.removeAttribute(u)}if(q.test(n.tagName)){const a=n.textContent.split(_),u=a.length-1;if(u>0){n.textContent=g?g.emptyScript:"";for(let A=0;A<u;A++)n.append(a[A],x()),p.nextNode(),l.push({type:2,index:++r});n.append(a[u],x())}}}else if(n.nodeType===8)if(n.data===Q)l.push({type:2,index:r});else{let a=-1;for(;(a=n.data.indexOf(_,a+1))!==-1;)l.push({type:7,index:r}),a+=_.length-1}r++}}static createElement(t,e){const i=f.createElement("template");return i.innerHTML=t,i}}function y(s,t,e=s,i){var n,r,o,$;if(t===m)return t;let l=i!==void 0?(n=e._$Co)===null||n===void 0?void 0:n[i]:e._$Cl;const h=T(t)?void 0:t._$litDirective$;return(l==null?void 0:l.constructor)!==h&&((r=l==null?void 0:l._$AO)===null||r===void 0||r.call(l,!1),h===void 0?l=void 0:(l=new h(s),l._$AT(s,e,i)),i!==void 0?((o=($=e)._$Co)!==null&&o!==void 0?o:$._$Co=[])[i]=l:e._$Cl=l),l!==void 0&&(t=y(s,l._$AS(s,t.values),l,i)),t}class nt{constructor(t,e){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){var e;const{el:{content:i},parts:n}=this._$AD,r=((e=t==null?void 0:t.creationScope)!==null&&e!==void 0?e:f).importNode(i,!0);p.currentNode=r;let o=p.nextNode(),$=0,l=0,h=n[0];for(;h!==void 0;){if($===h.index){let c;h.type===2?c=new M(o,o.nextSibling,this,t):h.type===1?c=new h.ctor(o,h.name,h.strings,this,t):h.type===6&&(c=new dt(o,this,t)),this._$AV.push(c),h=n[++l]}$!==(h==null?void 0:h.index)&&(o=p.nextNode(),$++)}return p.currentNode=f,r}v(t){let e=0;for(const i of this._$AV)i!==void 0&&(i.strings!==void 0?(i._$AI(t,i,e),e+=i.strings.length-2):i._$AI(t[e])),e++}}class M{constructor(t,e,i,n){var r;this.type=2,this._$AH=d,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=i,this.options=n,this._$Cp=(r=n==null?void 0:n.isConnected)===null||r===void 0||r}get _$AU(){var t,e;return(e=(t=this._$AM)===null||t===void 0?void 0:t._$AU)!==null&&e!==void 0?e:this._$Cp}get parentNode(){let t=this._$AA.parentNode;const e=this._$AM;return e!==void 0&&(t==null?void 0:t.nodeType)===11&&(t=e.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,e=this){t=y(this,t,e),T(t)?t===d||t==null||t===""?(this._$AH!==d&&this._$AR(),this._$AH=d):t!==this._$AH&&t!==m&&this._(t):t._$litType$!==void 0?this.g(t):t.nodeType!==void 0?this.$(t):et(t)?this.T(t):this._(t)}k(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}$(t){this._$AH!==t&&(this._$AR(),this._$AH=this.k(t))}_(t){this._$AH!==d&&T(this._$AH)?this._$AA.nextSibling.data=t:this.$(f.createTextNode(t)),this._$AH=t}g(t){var e;const{values:i,_$litType$:n}=t,r=typeof n=="number"?this._$AC(t):(n.el===void 0&&(n.el=C.createElement(F(n.h,n.h[0]),this.options)),n);if(((e=this._$AH)===null||e===void 0?void 0:e._$AD)===r)this._$AH.v(i);else{const o=new nt(r,this),$=o.u(this.options);o.v(i),this.$($),this._$AH=o}}_$AC(t){let e=z.get(t.strings);return e===void 0&&z.set(t.strings,e=new C(t)),e}T(t){Y(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let i,n=0;for(const r of t)n===e.length?e.push(i=new M(this.k(x()),this.k(x()),this,this.options)):i=e[n],i._$AI(r),n++;n<e.length&&(this._$AR(i&&i._$AB.nextSibling,n),e.length=n)}_$AR(t=this._$AA.nextSibling,e){var i;for((i=this._$AP)===null||i===void 0||i.call(this,!1,!0,e);t&&t!==this._$AB;){const n=t.nextSibling;t.remove(),t=n}}setConnected(t){var e;this._$AM===void 0&&(this._$Cp=t,(e=this._$AP)===null||e===void 0||e.call(this,t))}}class S{constructor(t,e,i,n,r){this.type=1,this._$AH=d,this._$AN=void 0,this.element=t,this.name=e,this._$AM=n,this.options=r,i.length>2||i[0]!==""||i[1]!==""?(this._$AH=Array(i.length-1).fill(new String),this.strings=i):this._$AH=d}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,e=this,i,n){const r=this.strings;let o=!1;if(r===void 0)t=y(this,t,e,0),o=!T(t)||t!==this._$AH&&t!==m,o&&(this._$AH=t);else{const $=t;let l,h;for(t=r[0],l=0;l<r.length-1;l++)h=y(this,$[i+l],e,l),h===m&&(h=this._$AH[l]),o||(o=!T(h)||h!==this._$AH[l]),h===d?t=d:t!==d&&(t+=(h??"")+r[l+1]),this._$AH[l]=h}o&&!n&&this.j(t)}j(t){t===d?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"")}}class ot extends S{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===d?void 0:t}}const rt=g?g.emptyScript:"";class lt extends S{constructor(){super(...arguments),this.type=4}j(t){t&&t!==d?this.element.setAttribute(this.name,rt):this.element.removeAttribute(this.name)}}class ht extends S{constructor(t,e,i,n,r){super(t,e,i,n,r),this.type=5}_$AI(t,e=this){var i;if((t=(i=y(this,t,e,0))!==null&&i!==void 0?i:d)===m)return;const n=this._$AH,r=t===d&&n!==d||t.capture!==n.capture||t.once!==n.once||t.passive!==n.passive,o=t!==d&&(n===d||r);r&&this.element.removeEventListener(this.name,this,n),o&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){var e,i;typeof this._$AH=="function"?this._$AH.call((i=(e=this.options)===null||e===void 0?void 0:e.host)!==null&&i!==void 0?i:this.element,t):this._$AH.handleEvent(t)}}class dt{constructor(t,e,i){this.element=t,this.type=6,this._$AN=void 0,this._$AM=e,this.options=i}get _$AU(){return this._$AM._$AU}_$AI(t){y(this,t)}}const Z=w.litHtmlPolyfillSupport;Z==null||Z(C,M),((P=w.litHtmlVersions)!==null&&P!==void 0?P:w.litHtmlVersions=[]).push("2.8.0");const $t=(s,t,e)=>{var i,n;const r=(i=e==null?void 0:e.renderBefore)!==null&&i!==void 0?i:t;let o=r._$litPart$;if(o===void 0){const $=(n=e==null?void 0:e.renderBefore)!==null&&n!==void 0?n:null;r._$litPart$=o=new M(t.insertBefore(x(),$),$,void 0,e??{})}return o._$AI(s),o};/**
- * @license
- * Copyright 2020 Google LLC
- * SPDX-License-Identifier: BSD-3-Clause
- */const ct=s=>s.strings===void 0,at={},ut=(s,t=at)=>s._$AH=t;/**
- * @license
- * Copyright 2017 Google LLC
- * SPDX-License-Identifier: BSD-3-Clause
- */const J={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},k=s=>(...t)=>({_$litDirective$:s,values:t});let R=class{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}};/**
- * @license
- * Copyright 2017 Google LLC
- * SPDX-License-Identifier: BSD-3-Clause
- */const N=(s,t)=>{var e,i;const n=s._$AN;if(n===void 0)return!1;for(const r of n)(i=(e=r)._$AO)===null||i===void 0||i.call(e,t,!1),N(r,t);return!0},E=s=>{let t,e;do{if((t=s._$AM)===void 0)break;e=t._$AN,e.delete(s),s=t}while((e==null?void 0:e.size)===0)},K=s=>{for(let t;t=s._$AM;s=t){let e=t._$AN;if(e===void 0)t._$AN=e=new Set;else if(e.has(s))break;e.add(s),vt(t)}};function At(s){this._$AN!==void 0?(E(this),this._$AM=s,K(this)):this._$AM=s}function _t(s,t=!1,e=0){const i=this._$AH,n=this._$AN;if(n!==void 0&&n.size!==0)if(t)if(Array.isArray(i))for(let r=e;r<i.length;r++)N(i[r],!1),E(i[r]);else i!=null&&(N(i,!1),E(i));else N(this,s)}const vt=s=>{var t,e,i,n;s.type==J.CHILD&&((t=(i=s)._$AP)!==null&&t!==void 0||(i._$AP=_t),(e=(n=s)._$AQ)!==null&&e!==void 0||(n._$AQ=At))};class pt extends R{constructor(){super(...arguments),this._$AN=void 0}_$AT(t,e,i){super._$AT(t,e,i),K(this),this.isConnected=t._$AU}_$AO(t,e=!0){var i,n;t!==this.isConnected&&(this.isConnected=t,t?(i=this.reconnected)===null||i===void 0||i.call(this):(n=this.disconnected)===null||n===void 0||n.call(this)),e&&(N(this,t),E(this))}setValue(t){if(ct(this._$Ct))this._$Ct._$AI(t,this);else{const e=[...this._$Ct._$AH];e[this._$Ci]=t,this._$Ct._$AI(e,this,0)}}disconnected(){}reconnected(){}}/**
- * @license
- * Copyright 2018 Google LLC
- * SPDX-License-Identifier: BSD-3-Clause
- */const mt=s=>s??d,B=new WeakMap,yt=k(class extends pt{render(s){return d}update(s,[t]){var e;const i=t!==this.G;return i&&this.G!==void 0&&this.ot(void 0),(i||this.rt!==this.lt)&&(this.G=t,this.dt=(e=s.options)===null||e===void 0?void 0:e.host,this.ot(this.lt=s.element)),d}ot(s){var t;if(typeof this.G=="function"){const e=(t=this.dt)!==null&&t!==void 0?t:globalThis;let i=B.get(e);i===void 0&&(i=new WeakMap,B.set(e,i)),i.get(this.G)!==void 0&&this.G.call(this.dt,void 0),i.set(this.G,s),s!==void 0&&this.G.call(this.dt,s)}else this.G.value=s}get rt(){var s,t,e;return typeof this.G=="function"?(t=B.get((s=this.dt)!==null&&s!==void 0?s:globalThis))===null||t===void 0?void 0:t.get(this.G):(e=this.G)===null||e===void 0?void 0:e.value}disconnected(){this.rt===this.lt&&this.ot(void 0)}reconnected(){this.ot(this.lt)}});/**
- * @license
- * Copyright 2017 Google LLC
- * SPDX-License-Identifier: BSD-3-Clause
- */class I extends R{constructor(t){if(super(t),this.et=d,t.type!==J.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(t){if(t===d||t==null)return this.ft=void 0,this.et=t;if(t===m)return t;if(typeof t!="string")throw Error(this.constructor.directiveName+"() called with a non-string value");if(t===this.et)return this.ft;this.et=t;const e=[t];return e.raw=e,this.ft={_$litType$:this.constructor.resultType,strings:e,values:[]}}}I.directiveName="unsafeHTML",I.resultType=1;const Ht=k(I);/**
- * @license
- * Copyright 2017 Google LLC
- * SPDX-License-Identifier: BSD-3-Clause
- */class U extends I{}U.directiveName="unsafeSVG",U.resultType=2;const Nt=k(U);/**
- * @license
- * Copyright 2021 Google LLC
- * SPDX-License-Identifier: BSD-3-Clause
- */const xt=k(class extends R{constructor(){super(...arguments),this.key=d}render(s,t){return this.key=s,t}update(s,[t,e]){return t!==this.key&&(ut(s),this.key=t),e}});class Tt extends HTMLElement{constructor(){super(...arguments),this.rootPart=null}connectedCallback(){this.rootPart=$t(this.render(),this,{renderBefore:this.firstChild}),this.rootPart.setConnected(!0)}disconnectedCallback(){var t;(t=this.rootPart)==null||t.setConnected(!1),this.rootPart=null}}export{d as A,$t as D,Tt as L,Ht as a,pt as c,k as e,xt as i,mt as l,yt as n,Nt as o,J as t,ft as x};
diff --git a/assets/vidstack-CgqGg1nD-BR6C5Nfa.js b/assets/vidstack-CgqGg1nD-BR6C5Nfa.js
deleted file mode 100644
index 9829665..0000000
--- a/assets/vidstack-CgqGg1nD-BR6C5Nfa.js
+++ /dev/null
@@ -1 +0,0 @@
-import{Y as m,e as d,al as i}from"./vidstack-6noeGFNR-CV2ORO4j.js";import{I as l}from"./vidstack-DQ6dSZwe-BTtv5vWE.js";import"./app-ClwIkahu.js";const p=i('<svg viewBox="0 0 32 32" fill="none" aria-hidden="true" xmlns="http://www.w3.org/2000/svg"></svg>');function f(o,s){const a=m(p);a.innerHTML=l,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-CmqqnRgc-CHPJw6F5.js b/assets/vidstack-CmqqnRgc-CHPJw6F5.js
new file mode 100644
index 0000000..3a86aa2
--- /dev/null
+++ b/assets/vidstack-CmqqnRgc-CHPJw6F5.js
@@ -0,0 +1 @@
+import{aX as r,aY as d,aZ as e,a_ as s,a$ as l,b0 as c,aN as f,b1 as o,b2 as n,b3 as b,b4 as a,b5 as u,b6 as $,b7 as I,b8 as i,b9 as w,ba as y,bb as g,bc as h,bd as x,be as v,bf as q,bg as z,bh as j,bi as p,bj as t,bk as m,bl as k,bm as N,bn as X,bo as Y}from"./vidstack-BeyDmEgV-DK6K5w61.js";const _={airplay:r,download:d,play:e,pause:s,replay:l,mute:c,"google-cast":f,"volume-low":o,"volume-high":n,"cc-on":b,"cc-off":a,"pip-enter":u,"pip-exit":$,"fs-enter":I,"fs-exit":i,"seek-forward":w,"seek-backward":y,"menu-chapters":g,"menu-settings":h,"menu-arrow-left":x,"menu-arrow-right":v,"menu-accessibility":q,"menu-audio":z,"menu-audio-boost-up":n,"menu-audio-boost-down":o,"menu-playback":j,"menu-speed-up":p,"menu-speed-down":t,"menu-captions":a,"menu-quality-up":m,"menu-quality-down":k,"menu-radio-check":N,"menu-font-size-up":m,"menu-font-size-down":k,"menu-opacity-up":X,"menu-opacity-down":Y,"kb-play":e,"kb-pause":s,"kb-mute":c,"kb-volume-up":n,"kb-volume-down":o,"kb-fs-enter":I,"kb-fs-exit":i,"kb-pip-enter":u,"kb-pip-exit":$,"kb-cc-on":b,"kb-cc-off":a,"kb-seek-forward":p,"kb-seek-backward":t};export{_ as icons};
diff --git a/assets/vidstack-D2YigfqZ-BLArkuQb.js b/assets/vidstack-D2YigfqZ-BLArkuQb.js
new file mode 100644
index 0000000..e14373f
--- /dev/null
+++ b/assets/vidstack-D2YigfqZ-BLArkuQb.js
@@ -0,0 +1,7 @@
+/**
+ * @license
+ * Copyright 2017 Google LLC
+ * SPDX-License-Identifier: BSD-3-Clause
+ */var S;const w=window,f=w.trustedTypes,P=f?f.createPolicy("lit-html",{createHTML:o=>o}):void 0,B="$lit$",_=`lit$${(Math.random()+"").slice(9)}$`,j="?"+_,Z=`<${j}>`,g=document,H=()=>g.createComment(""),x=o=>o===null||typeof o!="object"&&typeof o!="function",W=Array.isArray,q=o=>W(o)||typeof(o==null?void 0:o[Symbol.iterator])=="function",E=`[ 	
+\f\r]`,y=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,I=/-->/g,L=/>/g,v=RegExp(`>|${E}(?:([^\\s"'>=/]+)(${E}*=${E}*(?:[^ 	
+\f\r"'\`<>=]|("|')|))|$)`,"g"),k=/'/g,V=/"/g,z=/^(?:script|style|textarea|title)$/i,F=o=>(t,...e)=>({_$litType$:o,strings:t,values:e}),ot=F(1),N=Symbol.for("lit-noChange"),c=Symbol.for("lit-nothing"),U=new WeakMap,p=g.createTreeWalker(g,129,null,!1);function O(o,t){if(!Array.isArray(o)||!o.hasOwnProperty("raw"))throw Error("invalid template strings array");return P!==void 0?P.createHTML(t):t}const G=(o,t)=>{const e=o.length-1,i=[];let s,r=t===2?"<svg>":"",n=y;for(let a=0;a<e;a++){const l=o[a];let h,d,u=-1,$=0;for(;$<l.length&&(n.lastIndex=$,d=n.exec(l),d!==null);)$=n.lastIndex,n===y?d[1]==="!--"?n=I:d[1]!==void 0?n=L:d[2]!==void 0?(z.test(d[2])&&(s=RegExp("</"+d[2],"g")),n=v):d[3]!==void 0&&(n=v):n===v?d[0]===">"?(n=s??y,u=-1):d[1]===void 0?u=-2:(u=n.lastIndex-d[2].length,h=d[1],n=d[3]===void 0?v:d[3]==='"'?V:k):n===V||n===k?n=v:n===I||n===L?n=y:(n=v,s=void 0);const A=n===v&&o[a+1].startsWith("/>")?" ":"";r+=n===y?l+Z:u>=0?(i.push(h),l.slice(0,u)+B+l.slice(u)+_+A):l+_+(u===-2?(i.push(void 0),a):A)}return[O(o,r+(o[e]||"<?>")+(t===2?"</svg>":"")),i]};class C{constructor({strings:t,_$litType$:e},i){let s;this.parts=[];let r=0,n=0;const a=t.length-1,l=this.parts,[h,d]=G(t,e);if(this.el=C.createElement(h,i),p.currentNode=this.el.content,e===2){const u=this.el.content,$=u.firstChild;$.remove(),u.append(...$.childNodes)}for(;(s=p.nextNode())!==null&&l.length<a;){if(s.nodeType===1){if(s.hasAttributes()){const u=[];for(const $ of s.getAttributeNames())if($.endsWith(B)||$.startsWith(_)){const A=d[n++];if(u.push($),A!==void 0){const Q=s.getAttribute(A.toLowerCase()+B).split(_),T=/([.?@])?(.*)/.exec(A);l.push({type:1,index:r,name:T[2],strings:Q,ctor:T[1]==="."?K:T[1]==="?"?Y:T[1]==="@"?tt:M})}else l.push({type:6,index:r})}for(const $ of u)s.removeAttribute($)}if(z.test(s.tagName)){const u=s.textContent.split(_),$=u.length-1;if($>0){s.textContent=f?f.emptyScript:"";for(let A=0;A<$;A++)s.append(u[A],H()),p.nextNode(),l.push({type:2,index:++r});s.append(u[$],H())}}}else if(s.nodeType===8)if(s.data===j)l.push({type:2,index:r});else{let u=-1;for(;(u=s.data.indexOf(_,u+1))!==-1;)l.push({type:7,index:r}),u+=_.length-1}r++}}static createElement(t,e){const i=g.createElement("template");return i.innerHTML=t,i}}function m(o,t,e=o,i){var s,r,n,a;if(t===N)return t;let l=i!==void 0?(s=e._$Co)===null||s===void 0?void 0:s[i]:e._$Cl;const h=x(t)?void 0:t._$litDirective$;return(l==null?void 0:l.constructor)!==h&&((r=l==null?void 0:l._$AO)===null||r===void 0||r.call(l,!1),h===void 0?l=void 0:(l=new h(o),l._$AT(o,e,i)),i!==void 0?((n=(a=e)._$Co)!==null&&n!==void 0?n:a._$Co=[])[i]=l:e._$Cl=l),l!==void 0&&(t=m(o,l._$AS(o,t.values),l,i)),t}class J{constructor(t,e){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){var e;const{el:{content:i},parts:s}=this._$AD,r=((e=t==null?void 0:t.creationScope)!==null&&e!==void 0?e:g).importNode(i,!0);p.currentNode=r;let n=p.nextNode(),a=0,l=0,h=s[0];for(;h!==void 0;){if(a===h.index){let d;h.type===2?d=new b(n,n.nextSibling,this,t):h.type===1?d=new h.ctor(n,h.name,h.strings,this,t):h.type===6&&(d=new et(n,this,t)),this._$AV.push(d),h=s[++l]}a!==(h==null?void 0:h.index)&&(n=p.nextNode(),a++)}return p.currentNode=g,r}v(t){let e=0;for(const i of this._$AV)i!==void 0&&(i.strings!==void 0?(i._$AI(t,i,e),e+=i.strings.length-2):i._$AI(t[e])),e++}}class b{constructor(t,e,i,s){var r;this.type=2,this._$AH=c,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=i,this.options=s,this._$Cp=(r=s==null?void 0:s.isConnected)===null||r===void 0||r}get _$AU(){var t,e;return(e=(t=this._$AM)===null||t===void 0?void 0:t._$AU)!==null&&e!==void 0?e:this._$Cp}get parentNode(){let t=this._$AA.parentNode;const e=this._$AM;return e!==void 0&&(t==null?void 0:t.nodeType)===11&&(t=e.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,e=this){t=m(this,t,e),x(t)?t===c||t==null||t===""?(this._$AH!==c&&this._$AR(),this._$AH=c):t!==this._$AH&&t!==N&&this._(t):t._$litType$!==void 0?this.g(t):t.nodeType!==void 0?this.$(t):q(t)?this.T(t):this._(t)}k(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}$(t){this._$AH!==t&&(this._$AR(),this._$AH=this.k(t))}_(t){this._$AH!==c&&x(this._$AH)?this._$AA.nextSibling.data=t:this.$(g.createTextNode(t)),this._$AH=t}g(t){var e;const{values:i,_$litType$:s}=t,r=typeof s=="number"?this._$AC(t):(s.el===void 0&&(s.el=C.createElement(O(s.h,s.h[0]),this.options)),s);if(((e=this._$AH)===null||e===void 0?void 0:e._$AD)===r)this._$AH.v(i);else{const n=new J(r,this),a=n.u(this.options);n.v(i),this.$(a),this._$AH=n}}_$AC(t){let e=U.get(t.strings);return e===void 0&&U.set(t.strings,e=new C(t)),e}T(t){W(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let i,s=0;for(const r of t)s===e.length?e.push(i=new b(this.k(H()),this.k(H()),this,this.options)):i=e[s],i._$AI(r),s++;s<e.length&&(this._$AR(i&&i._$AB.nextSibling,s),e.length=s)}_$AR(t=this._$AA.nextSibling,e){var i;for((i=this._$AP)===null||i===void 0||i.call(this,!1,!0,e);t&&t!==this._$AB;){const s=t.nextSibling;t.remove(),t=s}}setConnected(t){var e;this._$AM===void 0&&(this._$Cp=t,(e=this._$AP)===null||e===void 0||e.call(this,t))}}class M{constructor(t,e,i,s,r){this.type=1,this._$AH=c,this._$AN=void 0,this.element=t,this.name=e,this._$AM=s,this.options=r,i.length>2||i[0]!==""||i[1]!==""?(this._$AH=Array(i.length-1).fill(new String),this.strings=i):this._$AH=c}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,e=this,i,s){const r=this.strings;let n=!1;if(r===void 0)t=m(this,t,e,0),n=!x(t)||t!==this._$AH&&t!==N,n&&(this._$AH=t);else{const a=t;let l,h;for(t=r[0],l=0;l<r.length-1;l++)h=m(this,a[i+l],e,l),h===N&&(h=this._$AH[l]),n||(n=!x(h)||h!==this._$AH[l]),h===c?t=c:t!==c&&(t+=(h??"")+r[l+1]),this._$AH[l]=h}n&&!s&&this.j(t)}j(t){t===c?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"")}}class K extends M{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===c?void 0:t}}const X=f?f.emptyScript:"";class Y extends M{constructor(){super(...arguments),this.type=4}j(t){t&&t!==c?this.element.setAttribute(this.name,X):this.element.removeAttribute(this.name)}}class tt extends M{constructor(t,e,i,s,r){super(t,e,i,s,r),this.type=5}_$AI(t,e=this){var i;if((t=(i=m(this,t,e,0))!==null&&i!==void 0?i:c)===N)return;const s=this._$AH,r=t===c&&s!==c||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,n=t!==c&&(s===c||r);r&&this.element.removeEventListener(this.name,this,s),n&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){var e,i;typeof this._$AH=="function"?this._$AH.call((i=(e=this.options)===null||e===void 0?void 0:e.host)!==null&&i!==void 0?i:this.element,t):this._$AH.handleEvent(t)}}class et{constructor(t,e,i){this.element=t,this.type=6,this._$AN=void 0,this._$AM=e,this.options=i}get _$AU(){return this._$AM._$AU}_$AI(t){m(this,t)}}const R=w.litHtmlPolyfillSupport;R==null||R(C,b),((S=w.litHtmlVersions)!==null&&S!==void 0?S:w.litHtmlVersions=[]).push("2.8.0");const D=(o,t,e)=>{var i,s;const r=(i=e==null?void 0:e.renderBefore)!==null&&i!==void 0?i:t;let n=r._$litPart$;if(n===void 0){const a=(s=e==null?void 0:e.renderBefore)!==null&&s!==void 0?s:null;r._$litPart$=n=new b(t.insertBefore(H(),a),a,void 0,e??{})}return n._$AI(o),n};function rt(o,t){return[...o].sort(t?st:it)}function it(o,t){return o.height===t.height?(o.bitrate??0)-(t.bitrate??0):o.height-t.height}function st(o,t){return t.height===o.height?(t.bitrate??0)-(o.bitrate??0):t.height-o.height}function nt(o){return o?"true":"false"}function lt(o){return()=>nt(o())}class ht extends HTMLElement{constructor(){super(...arguments),this.rootPart=null}connectedCallback(){this.rootPart=D(this.render(),this,{renderBefore:this.firstChild}),this.rootPart.setConnected(!0)}disconnectedCallback(){var t;(t=this.rootPart)==null||t.setConnected(!1),this.rootPart=null,D(null,this)}}export{lt as $,c as A,D,ht as L,N as T,rt as s,ot as x};
diff --git a/assets/vidstack-D6_zYTXL-OYeDKsnR.js b/assets/vidstack-D6_zYTXL-OYeDKsnR.js
new file mode 100644
index 0000000..707b14e
--- /dev/null
+++ b/assets/vidstack-D6_zYTXL-OYeDKsnR.js
@@ -0,0 +1,7 @@
+function __vite__mapDeps(indexes) {
+  if (!__vite__mapDeps.viteFileDeps) {
+    __vite__mapDeps.viteFileDeps = ["assets/prod-BwnsjH-l.js","assets/app-Flo2gZk8.js"]
+  }
+  return indexes.map((i) => __vite__mapDeps.viteFileDeps[i])
+}
+import{_ as p}from"./app-Flo2gZk8.js";import{X as D,D as o,a3 as b,w as C,T as N,i as m,j as E,s as O,l as g,V as B,h as k,q as d}from"./vidstack-BeyDmEgV-DK6K5w61.js";const x=Symbol(0),F=Symbol(0),R=Symbol(0),P=Symbol(0),V=Symbol(0),$=Symbol(0),I=Symbol(0),h={Db:x,ma:F,Eb:R,Z:P,hb:V,_:$,Mf:I};var y,v,_;class Z extends D{constructor(t){super(),this.id="",this.label="",this.language="",this.default=!1,this.Z=!1,this.ua=0,this.U="disabled",this.Nf={},this.$c=[],this.B=[],this.Fb=[],this[_]=0,this[v]=null,this[y]=null;for(const e of Object.keys(t))this[e]=t[e];this.type||(this.type="vtt"),t.content?this._h(t):t.src||(this[h.ma]=2)}static createId(t){return`vds-${t.type}-${t.kind}-${t.src??t.label??"?"}`}get metadata(){return this.Nf}get regions(){return this.$c}get cues(){return this.B}get activeCues(){return this.Fb}get readyState(){return this[h.ma]}get mode(){return this.U}set mode(t){this.setMode(t)}addCue(t,e){var a;let s=0,n=this.B.length;for(s=0;s<n&&!(t.endTime<=this.B[s].startTime);s++);s===n?this.B.push(t):this.B.splice(s,0,t),t instanceof TextTrackCue||(a=this[h._])==null||a.track.addCue(t),this.dispatchEvent(new o("add-cue",{detail:t,trigger:e})),b(t,this.ua)&&this[h.Eb](this.ua,e)}removeCue(t,e){var n;const s=this.B.indexOf(t);if(s>=0){const a=this.Fb.includes(t);this.B.splice(s,1),(n=this[h._])==null||n.track.removeCue(t),this.dispatchEvent(new o("remove-cue",{detail:t,trigger:e})),a&&this[h.Eb](this.ua,e)}}setMode(t,e){var s;this.U!==t&&(this.U=t,t==="disabled"?(this.Fb=[],this.Of()):this.readyState===2?this[h.Eb](this.ua,e):this.Pf(),this.dispatchEvent(new o("mode-change",{detail:this,trigger:e})),(s=this[h.hb])==null||s.call(this))}[(_=h.ma,v=h.hb,y=h._,h.Eb)](t,e){if(this.ua=t,this.mode==="disabled"||!this.B.length)return;const s=[];for(let a=0,r=this.B.length;a<r;a++){const c=this.B[a];b(c,t)&&s.push(c)}let n=s.length!==this.Fb.length;if(!n){for(let a=0;a<s.length;a++)if(!this.Fb.includes(s[a])){n=!0;break}}this.Fb=s,n&&this.Of(e)}[h.Z](){this.Z=!0,this.U!=="disabled"&&this.Pf()}_h(t){p(()=>import("./prod-BwnsjH-l.js").then(e=>e.d),__vite__mapDeps([0,1])).then(({parseText:e,VTTCue:s,VTTRegion:n})=>{!C(t.content)||t.type==="json"?(this.Qf(t.content,s,n),this.readyState!==3&&this.Ga()):e(t.content,{type:t.type}).then(({cues:a,regions:r})=>{this.B=a,this.$c=r,this.Ga()})})}async Pf(){var t,e;if(!(!this.Z||this[h.ma]>0)){if(this[h.ma]=1,this.dispatchEvent(new o("load-start")),!this.src){this.Ga();return}try{const{parseResponse:s,VTTCue:n,VTTRegion:a}=await p(()=>import("./prod-BwnsjH-l.js").then(l=>l.d),__vite__mapDeps([0,1])),r=(t=this[h.Db])==null?void 0:t.call(this),c=fetch(this.src,{headers:this.type==="json"?{"Content-Type":"application/json"}:void 0,credentials:N(r)});if(this.type==="json")this.Qf(await(await c).text(),n,a);else{const{errors:l,metadata:S,regions:w,cues:A}=await s(c,{type:this.type,encoding:this.encoding});if(((e=l[0])==null?void 0:e.code)===0)throw l[0];this.Nf=S,this.$c=w,this.B=A}this.Ga()}catch(s){this.Rf(s)}}}Ga(){if(this[h.ma]=2,!this.src||this.type!=="vtt"){const e=this[h._];if(e&&!e.managed)for(const s of this.B)e.track.addCue(s)}const t=new o("load");this[h.Eb](this.ua,t),this.dispatchEvent(t)}Rf(t){this[h.ma]=3,this.dispatchEvent(new o("error",{detail:t}))}Qf(t,e,s){try{const{regions:n,cues:a}=M(t,e,s);this.$c=n,this.B=a}catch(n){this.Rf(n)}}Of(t){this.dispatchEvent(new o("cue-change",{trigger:t}))}}const G=/captions|subtitles/;function q(i){return G.test(i.kind)}function M(i,t,e){const s=C(i)?JSON.parse(i):i;let n=[],a=[];return s.regions&&e&&(n=s.regions.map(r=>Object.assign(new e,r))),(s.cues||m(s))&&(a=(m(s)?s:s.cues).filter(r=>E(r.startTime)&&E(r.endTime)).map(r=>Object.assign(new t(0,0,""),r))),{regions:n,cues:a}}function K(i){return i instanceof Error?i:Error(typeof i=="string"?i:JSON.stringify(i))}function L(i,t){if(!i)throw Error("Assertion failed.")}function J(i,t=2){return Number(i.toFixed(t))}function Q(i){var t;return((t=String(i).split(".")[1])==null?void 0:t.length)??0}function H(i,t,e){return Math.max(i,Math.min(e,t))}let u=O(!1);g(document,"pointerdown",()=>{u.set(!1)}),g(document,"keydown",i=>{i.metaKey||i.altKey||i.ctrlKey||u.set(!0)});class X extends B{constructor(){super(...arguments),this.Dc=O(!1)}onConnect(t){k(()=>{if(!u()){this.Dc.set(!1),f(t,!1),this.listen("pointerenter",this.Oe.bind(this)),this.listen("pointerleave",this.Pe.bind(this));return}const e=document.activeElement===t;this.Dc.set(e),f(t,e),this.listen("focus",this.Ec.bind(this)),this.listen("blur",this.qk.bind(this))})}focused(){return this.Dc()}Ec(){this.Dc.set(!0),f(this.el,!0)}qk(){this.Dc.set(!1),f(this.el,!1)}Oe(){T(this.el,!0)}Pe(){T(this.el,!1)}}function f(i,t){d(i,"data-focus",t),d(i,"data-hocus",t)}function T(i,t){d(i,"data-hocus",t),d(i,"data-hover",t)}export{u as $,X as F,h as T,Z as a,H as b,K as c,L as d,Q as g,q as i,J as r};
diff --git a/assets/vidstack-DBsjVADd-THjRDuSl.js b/assets/vidstack-DBsjVADd-THjRDuSl.js
new file mode 100644
index 0000000..3368716
--- /dev/null
+++ b/assets/vidstack-DBsjVADd-THjRDuSl.js
@@ -0,0 +1 @@
+import{s as c,l as a,h as o,p as n,aV as h,w as l}from"./vidstack-BeyDmEgV-DK6K5w61.js";class d{constructor(t){this.Lb=t,this.sc=c(""),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.Lb}setup(){a(window,"message",this.Xi.bind(this)),a(this.Lb,"load",this.gd.bind(this)),o(this.Mb.bind(this))}Mb(){const t=this.sc();if(!t.length){this.Lb.setAttribute("src","");return}const s=n(()=>this.mg());this.Lb.setAttribute("src",h(t,s))}se(t,s){var i;(i=this.Lb.contentWindow)==null||i.postMessage(JSON.stringify(t),s??"*")}Xi(t){var e;const s=this.Nb();if((t.source===null||t.source===((e=this.Lb)==null?void 0:e.contentWindow))&&(!l(s)||s===t.origin)){try{const r=JSON.parse(t.data);r&&this.te(r,t);return}catch{}t.data&&this.te(t.data,t)}}}export{d as E};
diff --git a/assets/vidstack-DQ6dSZwe-BTtv5vWE.js b/assets/vidstack-DQ6dSZwe-BTtv5vWE.js
deleted file mode 100644
index 677fdb3..0000000
--- a/assets/vidstack-DQ6dSZwe-BTtv5vWE.js
+++ /dev/null
@@ -1 +0,0 @@
-var C='<path fill-rule="evenodd" clip-rule="evenodd" d="M6 7C5.63181 7 5.33333 7.29848 5.33333 7.66667V14.8667C5.33333 14.9403 5.39361 14.9999 5.46724 15.0009C10.8844 15.0719 15.2614 19.449 15.3325 24.8661C15.3334 24.9397 15.393 25 15.4667 25H26C26.3682 25 26.6667 24.7015 26.6667 24.3333V7.66667C26.6667 7.29848 26.3682 7 26 7H6ZM17.0119 22.2294C17.0263 22.29 17.0802 22.3333 17.1425 22.3333H23.3333C23.7015 22.3333 24 22.0349 24 21.6667V10.3333C24 9.96514 23.7015 9.66667 23.3333 9.66667H8.66667C8.29848 9.66667 8 9.96514 8 10.3333V13.1909C8 13.2531 8.04332 13.3071 8.10392 13.3214C12.5063 14.3618 15.9715 17.827 17.0119 22.2294Z" fill="currentColor"/> <path d="M13.2 25C13.2736 25 13.3334 24.9398 13.3322 24.8661C13.2615 20.5544 9.77889 17.0718 5.46718 17.0011C5.39356 16.9999 5.33333 17.0597 5.33333 17.1333V18.8667C5.33333 18.9403 5.39348 18.9999 5.4671 19.0015C8.67465 19.0716 11.2617 21.6587 11.3319 24.8662C11.3335 24.9399 11.393 25 11.4667 25H13.2Z" fill="currentColor"/> <path d="M5.33333 21.1333C5.33333 21.0597 5.39332 20.9998 5.46692 21.0022C7.57033 21.0712 9.26217 22.763 9.33114 24.8664C9.33356 24.94 9.27364 25 9.2 25H6C5.63181 25 5.33333 24.7015 5.33333 24.3333V21.1333Z" fill="currentColor"/>';export{C as I};
diff --git a/assets/vidstack-DuY_sHvx-DBb4Bvtu.js b/assets/vidstack-DuY_sHvx-DBb4Bvtu.js
new file mode 100644
index 0000000..a07b7cd
--- /dev/null
+++ b/assets/vidstack-DuY_sHvx-DBb4Bvtu.js
@@ -0,0 +1 @@
+import{aD as v,o as m,q as n,aO as T,w as S,aP as w,h as y,aQ as c,l as h,O as F,d as x,p as A,ac as E,D as $,s as f}from"./vidstack-BeyDmEgV-DK6K5w61.js";import{R as M}from"./vidstack-C-clE4br-xJyL0UOa.js";import{g as p}from"./vidstack-D6_zYTXL-OYeDKsnR.js";import{L as l}from"./vidstack-player-DaNo29Rn.js";let o=null,d=[],u=[];function b(){return o??(o=new AudioContext)}function P(){const s=b(),t=s.createGain();return t.connect(s.destination),d.push(t),t}function G(s,t){const i=b(),e=i.createMediaElementSource(s);return t&&e.connect(t),u.push(e),e}function C(s){const t=d.indexOf(s);t!==-1&&(d.splice(t,1),s.disconnect(),k())}function K(s){const t=u.indexOf(s);t!==-1&&(u.splice(t,1),s.disconnect(),k())}function k(){o&&d.length===0&&u.length===0&&o.close().then(()=>{o=null})}class N{constructor(t,i){this.a=t,this.E=i,this.xa=null,this.Ka=null}get currentGain(){var t,i;return((i=(t=this.xa)==null?void 0:t.gain)==null?void 0:i.value)??null}get supported(){return!0}setGain(t){const i=this.currentGain;if(t!==this.currentGain){if(t===1&&i!==1){this.removeGain();return}this.xa||(this.xa=P(),this.Ka&&this.Ka.connect(this.xa)),this.Ka||(this.Ka=G(this.a,this.xa)),this.xa.gain.value=t,this.E(t)}}removeGain(){this.xa&&(this.Ka&&this.Ka.connect(b().destination),this.eg(),this.E(null))}destroy(){this.li(),this.eg()}li(){if(this.Ka)try{K(this.Ka)}catch{}finally{this.Ka=null}}eg(){if(this.xa)try{C(this.xa)}catch{}finally{this.xa=null}}}const j=["focus","blur","visibilitychange","pageshow","pagehide"];class L{constructor(){this.za=f(g()),this.on=f(document.visibilityState)}connect(){for(const t of j)h(window,t,this.An.bind(this));c&&h(window,"beforeunload",t=>{this.zn=setTimeout(()=>{t.defaultPrevented||t.returnValue.length>0||(this.za.set("hidden"),this.on.set("hidden"))},0)})}get pageState(){return this.za()}get visibility(){return this.on()}An(t){c&&window.clearTimeout(this.zn),(t.type!=="blur"||this.za()==="active")&&(this.za.set(g(t)),this.on.set(document.visibilityState=="hidden"?"hidden":"visible"))}}function g(s){return(s==null?void 0:s.type)==="blur"||document.visibilityState==="hidden"?"hidden":document.hasFocus()?"active":"passive"}class O{constructor(t,i){this.p=t,this.b=i,this.Ya=w(),this.jc=!1,this.ae=!1,this.be=!1,this.fa=new M(this.kc.bind(this)),this.Qn=new L,this.Mn=0,this.Nn=-1,this.hg=void 0,this.zi=void 0,this.mi(),this.Qn.connect(),y(this.ni.bind(this)),m(this.ce.bind(this))}get a(){return this.p.media}get c(){return this.b.delegate.c}ce(){this.ae=!1,this.be=!1,this.fa.$(),this.Ya.empty()}kc(){const t=this.a.currentTime;!(c&&t-this.Nn<.35)&&this.Mn!==t&&(this.Jb(t),this.Mn=t)}mi(){this.F("loadstart",this.Ma),this.F("abort",this.gg),this.F("emptied",this.oi),this.F("error",this.Q),this.F("volumechange",this.Na)}pi(){this.ae||(this.Ya.add(this.F("loadeddata",this.qi),this.F("loadedmetadata",this.ri),this.F("canplay",this.ed),this.F("canplaythrough",this.si),this.F("durationchange",this.de),this.F("play",this.gc),this.F("progress",this.nb),this.F("stalled",this.ti),this.F("suspend",this.ui),this.F("ratechange",this.vi)),this.ae=!0)}wi(){this.be||(this.Ya.add(this.F("pause",this.ib),this.F("playing",this.xi),this.F("seeked",this.ob),this.F("seeking",this.yi),this.F("ended",this.lc),this.F("waiting",this.ee)),this.be=!0)}F(t,i){return h(this.a,t,i.bind(this))}Ai(t){}Jb(t,i){const e=Math.min(t,this.b.$state.seekableEnd());this.c("time-change",e,i)}Ma(t){if(this.a.networkState===3){this.gg(t);return}this.pi(),this.c("load-start",void 0,t)}gg(t){this.c("abort",void 0,t)}oi(){this.c("emptied",void 0,event)}qi(t){this.c("loaded-data",void 0,t)}ri(t){this.Mn=0,this.Nn=-1,this.wi(),this.c("loaded-metadata",void 0,t),(F||c&&x(this.b.$state.source()))&&this.b.delegate.Ga(this.fe(),t)}fe(){return{provider:A(this.b.$provider),duration:this.a.duration,buffered:this.a.buffered,seekable:this.a.seekable}}gc(t){this.b.$state.canPlay&&this.c("play",void 0,t)}ib(t){this.a.readyState===1&&!this.jc||(this.jc=!1,this.fa.$(),this.c("pause",void 0,t))}ed(t){this.b.delegate.Ga(this.fe(),t)}si(t){this.b.$state.started()||this.c("can-play-through",this.fe(),t)}xi(t){this.a.paused||(this.jc=!1,this.c("playing",void 0,t),this.fa.Xa())}ti(t){this.c("stalled",void 0,t),this.a.readyState<3&&(this.jc=!0,this.c("waiting",void 0,t))}ee(t){this.a.readyState<3&&(this.jc=!0,this.c("waiting",void 0,t))}lc(t){this.fa.$(),this.Jb(this.a.duration,t),this.c("end",void 0,t),this.b.$state.loop()&&E(this.a.controls)&&(this.a.controls=!1)}ni(){const t=this.b.$state.paused(),i=this.Qn.visibility==="hidden";(t||i)&&h(this.a,"timeupdate",this.mc.bind(this))}mc(t){this.Jb(this.a.currentTime,t)}de(t){this.b.$state.ended()&&this.Jb(this.a.duration,t),this.c("duration-change",this.a.duration,t)}Na(t){const i={volume:this.a.volume,muted:this.a.muted};this.c("volume-change",i,t)}ob(t){this.Nn=this.a.currentTime,this.Jb(this.a.currentTime,t),this.c("seeked",this.a.currentTime,t),Math.trunc(this.a.currentTime)===Math.trunc(this.a.duration)&&p(this.a.duration)>p(this.a.currentTime)&&(this.Jb(this.a.duration,t),this.a.ended||this.b.player.dispatch(new $("media-play-request",{trigger:t})))}yi(t){this.c("seeking",this.a.currentTime,t)}nb(t){const i={buffered:this.a.buffered,seekable:this.a.seekable};this.c("progress",i,t)}ui(t){this.c("suspend",void 0,t)}vi(t){this.c("rate-change",this.a.playbackRate,t)}Q(t){const i=this.a.error;if(!i)return;const e={message:i.message,code:i.code,mediaError:i};this.c("error",e,t)}}class z{constructor(t,i){this.p=t,this.b=i,this.nc.onaddtrack=this.Bi.bind(this),this.nc.onremovetrack=this.Ci.bind(this),this.nc.onchange=this.Di.bind(this),h(this.b.audioTracks,"change",this.Ei.bind(this))}get nc(){return this.p.media.audioTracks}Bi(t){const i=t.track;if(i.label==="")return;const e=i.id.toString()||`native-audio-${this.b.audioTracks.length}`,a={id:e,label:i.label,language:i.language,kind:i.kind,selected:!1};this.b.audioTracks[l.da](a,t),i.enabled&&(a.selected=!0)}Ci(t){const i=this.b.audioTracks.getById(t.track.id);i&&this.b.audioTracks[l.cc](i,t)}Di(t){let i=this.ig();if(!i)return;const e=this.b.audioTracks.getById(i.id);e&&this.b.audioTracks[l.ea](e,!0,t)}ig(){return Array.from(this.nc).find(t=>t.enabled)}Ei(t){const{current:i}=t.detail;if(!i)return;const e=this.nc.getTrackById(i.id);if(e){const a=this.ig();a&&(a.enabled=!1),e.enabled=!0}}}class J{constructor(t,i){this.a=t,this.b=i,this.scope=v(),this.K=null,this.audioGain=new N(this.a,e=>{this.b.delegate.c("audio-gain-change",e)})}setup(){new O(this,this.b),"audioTracks"in this.media&&new z(this,this.b),m(()=>{this.audioGain.destroy(),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.K}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){n(this.a,"playsinline",t)}async loadSource({src:t,type:i},e){this.a.preload=e||"",T(t)?(this.oc(),this.a.srcObject=t):(this.a.srcObject=null,S(t)?i!=="?"?this.ge({src:t,type:i}):(this.oc(),this.a.src=this.jg(t)):(this.oc(),this.a.src=window.URL.createObjectURL(t))),this.a.load(),this.K={src:t,type:i}}ge(t,i){const e=this.a.querySelector("source[data-vds]"),a=e??document.createElement("source");n(a,"src",this.jg(t.src)),n(a,"type",t.type!=="?"?t.type:i),n(a,"data-vds",""),e||this.a.append(a)}oc(){var t;(t=this.a.querySelector("source[data-vds]"))==null||t.remove()}jg(t){const{clipStartTime:i,clipEndTime:e}=this.b.$state,a=i(),r=e();return a>0&&r>0?`${t}#t=${a},${r}`:a>0?`${t}#t=${a}`:r>0?`${t}#t=0,${r}`:t}}class R{constructor(t,i){this.a=t,this.b=i,this.pb=f(!1),this.he()}get supported(){return this.pb()}he(){var t;!((t=this.a)!=null&&t.remote)||!this.kg||(this.a.remote.watchAvailability(i=>{this.pb.set(i)}).catch(()=>{this.pb.set(!1)}),y(this.Fi.bind(this)))}Fi(){if(!this.pb())return;const t=["connecting","connect","disconnect"],i=this.ie.bind(this);i(),h(this.a,"playing",i);for(const e of t)h(this.a.remote,e,i)}async prompt(){if(!this.supported)throw Error("Not supported on this platform.");return this.la==="airplay"&&this.a.webkitShowPlaybackTargetPicker?this.a.webkitShowPlaybackTargetPicker():this.a.remote.prompt()}ie(t){const i=this.a.remote.state;if(i===this.za)return;const e={type:this.la,state:i};this.b.delegate.c("remote-playback-change",e,t),this.za=i}}class B extends R{constructor(){super(...arguments),this.la="airplay"}get kg(){return"WebKitPlaybackTargetAvailabilityEvent"in window}}export{J as H,B as a};
diff --git a/assets/vidstack-DscYSLiW-CA6XwpqT.js b/assets/vidstack-Zc3I7oOd-CA6XwpqT.js
similarity index 100%
rename from assets/vidstack-DscYSLiW-CA6XwpqT.js
rename to assets/vidstack-Zc3I7oOd-CA6XwpqT.js
diff --git a/assets/vidstack-audio-DmH6IKlO.js b/assets/vidstack-audio-DmH6IKlO.js
new file mode 100644
index 0000000..1328756
--- /dev/null
+++ b/assets/vidstack-audio-DmH6IKlO.js
@@ -0,0 +1 @@
+import{U as i}from"./vidstack-BeyDmEgV-DK6K5w61.js";import{H as r,a as s}from"./vidstack-DuY_sHvx-DBb4Bvtu.js";import"./vidstack-C-clE4br-xJyL0UOa.js";import"./vidstack-D6_zYTXL-OYeDKsnR.js";import"./app-Flo2gZk8.js";import"./vidstack-player-DaNo29Rn.js";class P extends r{constructor(e,t){super(e,t),this.$$PROVIDER_TYPE="AUDIO",i(()=>{this.airPlay=new s(this.media,t)},this.scope)}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-audio-hs_QPpze.js b/assets/vidstack-audio-hs_QPpze.js
deleted file mode 100644
index c208cec..0000000
--- a/assets/vidstack-audio-hs_QPpze.js
+++ /dev/null
@@ -1 +0,0 @@
-import{aH as i}from"./vidstack-6noeGFNR-CV2ORO4j.js";import{H as r,a as s}from"./vidstack--aheHlrm-D0XbZ3jM.js";import"./app-ClwIkahu.js";import"./vidstack-Bo6FErSD-BNmXqUs8.js";class h extends r{constructor(t,e){super(t,e),this.$$PROVIDER_TYPE="AUDIO",i(()=>{this.airPlay=new s(this.media,e)},this.scope)}get type(){return"audio"}setup(){super.setup(),this.type==="audio"&&this.b.delegate.c("provider-setup",this)}get audio(){return this.a}}export{h as AudioProvider};
diff --git a/assets/vidstack-dash-BqbBaHag.js b/assets/vidstack-dash-BqbBaHag.js
deleted file mode 100644
index 60a64e6..0000000
--- a/assets/vidstack-dash-BqbBaHag.js
+++ /dev/null
@@ -1 +0,0 @@
-import{aY as A,f as l,aZ as D,p as L,a_ as w,G as E,e as R,aP as p,aX as m,aW as _,aQ as c,a$ as x,b0 as M,aS as $,b1 as q,aR as v,b2 as C,b3 as F,q as G,L as N}from"./vidstack-6noeGFNR-CV2ORO4j.js";import{VideoProvider as W}from"./vidstack-video-CyPaYbdo.js";import{R as X}from"./vidstack-Bo6FErSD-BNmXqUs8.js";import"./app-ClwIkahu.js";import"./vidstack--aheHlrm-D0XbZ3jM.js";const I=a=>`dash-${N(a)}`;class j{constructor(t,i){this.m=t,this.b=i,this.g=null,this.nd=null,this.od={},this.pd=new Set,this.Xo=null,this._o={},this.yk=-1}get instance(){return this.g}setup(t){this.g=t().create();const i=this.So.bind(this);for(const e of Object.values(t.events))this.g.on(e,i);this.g.on(t.events.ERROR,this.U.bind(this));for(const e of this.pd)e(this.g);this.b.player.dispatch("dash-instance",{detail:this.g}),this.g.initialize(this.m,void 0,!1),this.g.updateSettings({streaming:{text:{defaultEnabled:!1,dispatchForManualRendering:!0},buffer:{fastSwitchEnabled:!0}},...this.od}),this.g.on(t.events.FRAGMENT_LOADING_STARTED,this.bp.bind(this)),this.g.on(t.events.FRAGMENT_LOADING_COMPLETED,this.cp.bind(this)),this.g.on(t.events.MANIFEST_LOADED,this.Uo.bind(this)),this.g.on(t.events.QUALITY_CHANGE_RENDERED,this.fb.bind(this)),this.g.on(t.events.TEXT_TRACKS_ADDED,this.dp.bind(this)),this.g.on(t.events.TRACK_CHANGE_RENDERED,this._d.bind(this)),this.b.qualities[w.Za]=this.Yg.bind(this),E(this.b.qualities,"change",this.Yo.bind(this)),E(this.b.audioTracks,"change",this.Zo.bind(this)),this.nd=R(this._g.bind(this))}Wo(t){return new p(I(t.type),{detail:t})}_g(){if(!this.b.$state.live())return;const t=new X(this.$g.bind(this));return t.Bb(),t.ra.bind(t)}$g(){if(!this.g)return;const t=this.g.duration()-this.g.time();this.b.$state.liveSyncPosition.set(isNaN(t)?1/0:t)}So(t){var i;(i=this.b.player)==null||i.dispatch(this.Wo(t))}ep(t){var n;const i=(n=this.Xo)==null?void 0:n[m.T],e=(i==null?void 0:i.track).cues;if(!i||!e)return;const o=this.Xo.id,r=this._o[o]??0,h=this.Wo(t);for(let d=r;d<e.length;d++){const u=e[d];u.positionAlign||(u.positionAlign="auto"),this.Xo.addCue(u,h)}this._o[o]=e.length}dp(t){var r;if(!this.g)return;const i=t.tracks,e=[...this.m.textTracks].filter(h=>"manualMode"in h),o=this.Wo(t);for(let h=0;h<e.length;h++){const n=i[h],d=e[h],u=`dash-${n.kind}-${h}`,g=new _({id:u,label:(n==null?void 0:n.label)??((r=n.labels.find(s=>s.text))==null?void 0:r.text)??(n==null?void 0:n.lang)??void 0,language:n.lang??void 0,kind:n.kind,default:n.defaultTrack});g[m.T]={managed:!0,track:d},g[m.M]=2,g[m.Ua]=()=>{this.g&&(g.mode==="showing"?(this.g.setTextTrack(h),this.Xo=g):(this.g.setTextTrack(-1),this.Xo=null))},this.b.textTracks.add(g,o)}}_d(t){const{mediaType:i,newMediaInfo:e}=t;if(i==="audio"){const o=this.b.audioTracks.getById(`dash-audio-${e.index}`);if(o){const r=this.Wo(t);this.b.audioTracks[c.pa](o,!0,r)}}}fb(t){if(t.mediaType!=="video")return;const i=this.b.qualities[t.newQuality];if(i){const e=this.Wo(t);this.b.qualities[c.pa](i,!0,e)}}Uo(t){if(this.b.$state.canPlay()||!this.g)return;const{type:i,mediaPresentationDuration:e}=t.data,o=this.Wo(t);this.b.delegate.c("stream-type-change",i!=="static"?"live":"on-demand",o),this.b.delegate.c("duration-change",e,o),this.b.qualities[w.Ya](!0,o);const r=this.g.getVideoElement(),h=this.g.getTracksForTypeFromManifest("video",t.data),n=[...new Set(h.map(s=>s.mimeType))].find(s=>s&&x(r,s)),d=h.filter(s=>n===s.mimeType)[0];let u=this.g.getTracksForTypeFromManifest("audio",t.data);const g=[...new Set(u.map(s=>s.mimeType))].find(s=>s&&M(r,s));if(u=u.filter(s=>g===s.mimeType),d.bitrateList.forEach((s,f)=>{var T;const y={id:((T=s.id)==null?void 0:T.toString())??`dash-bitrate-${f}`,width:s.width??0,height:s.height??0,bitrate:s.bandwidth??0,codec:d.codec,index:f};this.b.qualities[c.oa](y,o)}),$(d.index)){const s=this.b.qualities[d.index];s&&this.b.qualities[c.pa](s,!0,o)}u.forEach((s,f)=>{const y={id:`dash-audio-${s==null?void 0:s.index}`,label:s.label??s.lang??"",language:s.lang??"",kind:"main",mimeType:s.mimeType,codec:s.codec,index:f};this.b.audioTracks[c.oa](y,o)}),r.dispatchEvent(new p("canplay",{trigger:o}))}U(t){const{type:i,error:e}=t;switch(e.code){case 27:this.Ck(e);break;default:this.Ak(e);break}}bp(){this.yk>=0&&this.zk()}cp(t){t.mediaType==="text"&&requestAnimationFrame(this.ep.bind(this,t))}Ck(t){var i;this.zk(),(i=this.g)==null||i.play(),this.yk=window.setTimeout(()=>{this.yk=-1,this.Ak(t)},5e3)}zk(){clearTimeout(this.yk),this.yk=-1}Ak(t){this.b.delegate.c("error",{message:t.message??"",code:1,error:t})}Yg(){var i;this.Ro("video",!0);const{qualities:t}=this.b;(i=this.g)==null||i.setQualityFor("video",t.selectedIndex,!0)}Ro(t,i){var e;(e=this.g)==null||e.updateSettings({streaming:{abr:{autoSwitchBitrate:{[t]:i}}}})}Yo(){const{qualities:t}=this.b;!this.g||t.auto||!t.selected||(this.Ro("video",!1),this.g.setQualityFor("video",t.selectedIndex,t.switch==="current"),q&&(this.m.currentTime=this.m.currentTime))}Zo(){if(!this.g)return;const{audioTracks:t}=this.b,i=this.g.getTracksFor("audio").find(e=>t.selected&&t.selected.id===`dash-audio-${e.index}`);i&&this.g.setCurrentTrack(i)}H(){this.zk(),this.Xo=null,this._o={}}loadSource(t){var i;this.H(),l(t.src)&&((i=this.g)==null||i.attachSource(t.src))}destroy(){var t,i;this.H(),(t=this.g)==null||t.destroy(),this.g=null,(i=this.nd)==null||i.call(this),this.nd=null}}class H{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 P(this.W,t);if(v(i)&&!l(this.W)&&(i=await O(this.W,t)),!i)return null;if(!window.dashjs.supportsMediaSource()){const e="[vidstack] `dash.js` is not supported in this environment";return this.b.player.dispatch(new p("dash-unsupported")),this.b.delegate.c("error",{message:e,code:4}),null}return i}Ea(){this.b.player.dispatch(new p("dash-lib-load-start"))}qd(t){this.b.player.dispatch(new p("dash-lib-loaded",{detail:t})),this.Ca(t)}ch(t){const i=C(t);this.b.player.dispatch(new p("dash-lib-load-error",{detail:i})),this.b.delegate.c("error",{message:i.message,code:4,error:i})}}async function O(a,t={}){var i,e,o,r,h;if(!v(a)){if((i=t.onLoadStart)==null||i.call(t),a.prototype&&a.prototype!==Function)return(e=t.onLoaded)==null||e.call(t,a),a;try{const n=(o=await a())==null?void 0:o.default;if(n)(r=t.onLoaded)==null||r.call(t,n);else throw Error("");return n}catch(n){(h=t.onLoadError)==null||h.call(t,n)}}}async function P(a,t={}){var i,e,o;if(l(a)){(i=t.onLoadStart)==null||i.call(t);try{if(await F(a),!G(window.dashjs.MediaPlayer))throw Error("");const r=window.dashjs.MediaPlayer;return(e=t.onLoaded)==null||e.call(t,r),r}catch(r){(o=t.onLoadError)==null||o.call(t,r)}}}const Q="https://cdn.jsdelivr.net",b=class b extends W{constructor(){super(...arguments),this.$$PROVIDER_TYPE="DASH",this.Xe=null,this.d=new j(this.video,this.b),this.Gb=`${Q}/npm/dashjs@4.7.4/dist/dash.all.min.js`}get ctor(){return this.Xe}get instance(){return this.d.instance}get type(){return"dash"}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(){l(this.Gb)&&D(this.Gb)}setup(){super.setup(),new H(this.Gb,this.b,t=>{this.Xe=t,this.d.setup(t),this.b.delegate.c("provider-setup",this);const i=L(this.b.$state.source);i&&this.loadSource(i)})}async loadSource(t,i){if(!l(t.src)){this.Bn();return}this.a.preload=i||"",this.yn(t,"application/x-mpegurl"),this.d.loadSource(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.destroy()}};b.supported=A();let S=b;export{S as DASHProvider};
diff --git a/assets/vidstack-dash-BzMOXbQO.js b/assets/vidstack-dash-BzMOXbQO.js
new file mode 100644
index 0000000..512a6a4
--- /dev/null
+++ b/assets/vidstack-dash-BzMOXbQO.js
@@ -0,0 +1 @@
+import{e as N,w as m,Q as _,p as R,l as L,h as x,D as g,K as $,a0 as C,j as F,N as j,a as A,aU as K,aa as I,t as P}from"./vidstack-BeyDmEgV-DK6K5w61.js";import{VideoProvider as Q}from"./vidstack-video-B8Q8jY8c.js";import{Q as E,L as l}from"./vidstack-player-DaNo29Rn.js";import{T as y,a as O,c as H}from"./vidstack-D6_zYTXL-OYeDKsnR.js";import{R as G}from"./vidstack-C-clE4br-xJyL0UOa.js";import"./vidstack-DuY_sHvx-DBb4Bvtu.js";import"./app-Flo2gZk8.js";function S(n){try{return new Intl.DisplayNames(navigator.languages,{type:"language"}).of(n)??null}catch{return null}}const V=n=>`dash-${P(n)}`;class z{constructor(t,i){this.m=t,this.b=i,this.d=null,this.qb=null,this.rb={},this.sb=new Set,this.Kb=null,this.oe={},this.na=-1}get instance(){return this.d}setup(t){this.d=t().create();const i=this.Ii.bind(this);for(const e of Object.values(t.events))this.d.on(e,i);this.d.on(t.events.ERROR,this.Q.bind(this));for(const e of this.sb)e(this.d);this.b.player.dispatch("dash-instance",{detail:this.d}),this.d.initialize(this.m,void 0,!1),this.d.updateSettings({streaming:{text:{defaultEnabled:!1,dispatchForManualRendering:!0},buffer:{fastSwitchEnabled:!0}},...this.rb}),this.d.on(t.events.FRAGMENT_LOADING_STARTED,this.Ji.bind(this)),this.d.on(t.events.FRAGMENT_LOADING_COMPLETED,this.Ki.bind(this)),this.d.on(t.events.MANIFEST_LOADED,this.Li.bind(this)),this.d.on(t.events.QUALITY_CHANGE_RENDERED,this.Za.bind(this)),this.d.on(t.events.TEXT_TRACKS_ADDED,this.Mi.bind(this)),this.d.on(t.events.TRACK_CHANGE_RENDERED,this.pc.bind(this)),this.b.qualities[E.Ia]=this.je.bind(this),L(this.b.qualities,"change",this.ke.bind(this)),L(this.b.audioTracks,"change",this.le.bind(this)),this.qb=x(this.me.bind(this))}aa(t){return new g(V(t.type),{detail:t})}me(){if(!this.b.$state.live())return;const t=new G(this.ne.bind(this));return t.Xa(),t.$.bind(t)}ne(){if(!this.d)return;const t=this.d.duration()-this.d.time();this.b.$state.liveSyncPosition.set(isNaN(t)?1/0:t)}Ii(t){var i;(i=this.b.player)==null||i.dispatch(this.aa(t))}Ni(t){var a;const i=(a=this.Kb)==null?void 0:a[y._],e=(i==null?void 0:i.track).cues;if(!i||!e)return;const d=this.Kb.id,o=this.oe[d]??0,h=this.aa(t);for(let u=o;u<e.length;u++){const r=e[u];r.positionAlign||(r.positionAlign="auto"),this.Kb.addCue(r,h)}this.oe[d]=e.length}Mi(t){var o;if(!this.d)return;const i=t.tracks,e=[...this.m.textTracks].filter(h=>"manualMode"in h),d=this.aa(t);for(let h=0;h<e.length;h++){const a=i[h],u=e[h],r=`dash-${a.kind}-${h}`,p=new O({id:r,label:(a==null?void 0:a.label)??((o=a.labels.find(s=>s.text))==null?void 0:o.text)??((a==null?void 0:a.lang)&&S(a.lang))??(a==null?void 0:a.lang)??void 0,language:a.lang??void 0,kind:a.kind,default:a.defaultTrack});p[y._]={managed:!0,track:u},p[y.ma]=2,p[y.hb]=()=>{this.d&&(p.mode==="showing"?(this.d.setTextTrack(h),this.Kb=p):(this.d.setTextTrack(-1),this.Kb=null))},this.b.textTracks.add(p,d)}}pc(t){const{mediaType:i,newMediaInfo:e}=t;if(i==="audio"){const d=this.b.audioTracks.getById(`dash-audio-${e.index}`);if(d){const o=this.aa(t);this.b.audioTracks[l.ea](d,!0,o)}}}Za(t){if(t.mediaType!=="video")return;const i=this.b.qualities[t.newQuality];if(i){const e=this.aa(t);this.b.qualities[l.ea](i,!0,e)}}Li(t){if(this.b.$state.canPlay()||!this.d)return;const{type:i,mediaPresentationDuration:e}=t.data,d=this.aa(t);this.b.delegate.c("stream-type-change",i!=="static"?"live":"on-demand",d),this.b.delegate.c("duration-change",e,d),this.b.qualities[E.Wa](!0,d);const o=this.d.getVideoElement(),h=this.d.getTracksForTypeFromManifest("video",t.data),a=[...new Set(h.map(s=>s.mimeType))].find(s=>s&&$(o,s)),u=h.filter(s=>a===s.mimeType)[0];let r=this.d.getTracksForTypeFromManifest("audio",t.data);const p=[...new Set(r.map(s=>s.mimeType))].find(s=>s&&C(o,s));if(r=r.filter(s=>p===s.mimeType),u.bitrateList.forEach((s,f)=>{var c;const T={id:((c=s.id)==null?void 0:c.toString())??`dash-bitrate-${f}`,width:s.width??0,height:s.height??0,bitrate:s.bandwidth??0,codec:u.codec,index:f};this.b.qualities[l.da](T,d)}),F(u.index)){const s=this.b.qualities[u.index];s&&this.b.qualities[l.ea](s,!0,d)}r.forEach((s,f)=>{const c=s.labels.find(w=>navigator.languages.some(q=>w.lang&&q.toLowerCase().startsWith(w.lang.toLowerCase())))||s.labels[0],M={id:`dash-audio-${s==null?void 0:s.index}`,label:(c==null?void 0:c.text)??(s.lang&&S(s.lang))??s.lang??"",language:s.lang??"",kind:"main",mimeType:s.mimeType,codec:s.codec,index:f};this.b.audioTracks[l.da](M,d)}),o.dispatchEvent(new g("canplay",{trigger:d}))}Q(t){const{type:i,error:e}=t;switch(e.code){case 27:this.pe(e);break;default:this.qc(e);break}}Ji(){this.na>=0&&this._a()}Ki(t){t.mediaType==="text"&&requestAnimationFrame(this.Ni.bind(this,t))}pe(t){var i;this._a(),(i=this.d)==null||i.play(),this.na=window.setTimeout(()=>{this.na=-1,this.qc(t)},5e3)}_a(){clearTimeout(this.na),this.na=-1}qc(t){this.b.delegate.c("error",{message:t.message??"",code:1,error:t})}je(){var i;this.lg("video",!0);const{qualities:t}=this.b;(i=this.d)==null||i.setQualityFor("video",t.selectedIndex,!0)}lg(t,i){var e;(e=this.d)==null||e.updateSettings({streaming:{abr:{autoSwitchBitrate:{[t]:i}}}})}ke(){const{qualities:t}=this.b;!this.d||t.auto||!t.selected||(this.lg("video",!1),this.d.setQualityFor("video",t.selectedIndex,t.switch==="current"),j&&(this.m.currentTime=this.m.currentTime))}le(){if(!this.d)return;const{audioTracks:t}=this.b,i=this.d.getTracksFor("audio").find(e=>t.selected&&t.selected.id===`dash-audio-${e.index}`);i&&this.d.setCurrentTrack(i)}z(){this._a(),this.Kb=null,this.oe={}}loadSource(t){var i;this.z(),m(t.src)&&((i=this.d)==null||i.attachSource(t.src))}destroy(){var t,i;this.z(),(t=this.d)==null||t.destroy(),this.d=null,(i=this.qb)==null||i.call(this),this.qb=null}}class J{constructor(t,i,e){this.L=t,this.b=i,this.La=e,this.qe()}async qe(){const t={onLoadStart:this.Ma.bind(this),onLoaded:this.tb.bind(this),onLoadError:this.re.bind(this)};let i=await B(this.L,t);if(A(i)&&!m(this.L)&&(i=await U(this.L,t)),!i)return null;if(!window.dashjs.supportsMediaSource()){const e="[vidstack] `dash.js` is not supported in this environment";return this.b.player.dispatch(new g("dash-unsupported")),this.b.delegate.c("error",{message:e,code:4}),null}return i}Ma(){this.b.player.dispatch(new g("dash-lib-load-start"))}tb(t){this.b.player.dispatch(new g("dash-lib-loaded",{detail:t})),this.La(t)}re(t){const i=H(t);this.b.player.dispatch(new g("dash-lib-load-error",{detail:i})),this.b.delegate.c("error",{message:i.message,code:4,error:i})}}async function U(n,t={}){var i,e,d,o,h,a,u;if(!A(n)){if((i=t.onLoadStart)==null||i.call(t),W(n))return(e=t.onLoaded)==null||e.call(t,n),n;if(v(n)){const r=n.MediaPlayer;return(d=t.onLoaded)==null||d.call(t,r),r}try{const r=(o=await n())==null?void 0:o.default;if(v(r))return(h=t.onLoaded)==null||h.call(t,r.MediaPlayer),r.MediaPlayer;if(r)(a=t.onLoaded)==null||a.call(t,r);else throw Error("");return r}catch(r){(u=t.onLoadError)==null||u.call(t,r)}}}async function B(n,t={}){var i,e,d;if(m(n)){(i=t.onLoadStart)==null||i.call(t);try{if(await K(n),!I(window.dashjs.MediaPlayer))throw Error("");const o=window.dashjs.MediaPlayer;return(e=t.onLoaded)==null||e.call(t,o),o}catch(o){(d=t.onLoadError)==null||d.call(t,o)}}}function W(n){return n&&n.prototype&&n.prototype!==Function}function v(n){return n&&"MediaPlayer"in n}const X="https://cdn.jsdelivr.net",b=class b extends Q{constructor(){super(...arguments),this.$$PROVIDER_TYPE="DASH",this.rc=null,this.e=new z(this.video,this.b),this.oa=`${X}/npm/dashjs@4.7.4/dist/dash.all.min.js`}get ctor(){return this.rc}get instance(){return this.e.instance}get type(){return"dash"}get canLiveSync(){return!0}get config(){return this.e.rb}set config(t){this.e.rb=t}get library(){return this.oa}set library(t){this.oa=t}preconnect(){m(this.oa)&&_(this.oa)}setup(){super.setup(),new J(this.oa,this.b,t=>{this.rc=t,this.e.setup(t),this.b.delegate.c("provider-setup",this);const i=R(this.b.$state.source);i&&this.loadSource(i)})}async loadSource(t,i){if(!m(t.src)){this.oc();return}this.a.preload=i||"",this.ge(t,"application/x-mpegurl"),this.e.loadSource(t),this.K=t}onInstance(t){const i=this.e.instance;return i&&t(i),this.e.sb.add(t),()=>this.e.sb.delete(t)}destroy(){this.e.destroy()}};b.supported=N();let D=b;export{D as DASHProvider};
diff --git a/assets/vidstack-google-cast-CNECbQwa.js b/assets/vidstack-google-cast-CNECbQwa.js
deleted file mode 100644
index 877bed4..0000000
--- a/assets/vidstack-google-cast-CNECbQwa.js
+++ /dev/null
@@ -1 +0,0 @@
-import{aI as p,b5 as h,bb as d,o as E,aP as u,p as c,G as T,e as k,bc as y,aQ as C}from"./vidstack-6noeGFNR-CV2ORO4j.js";import{R as v}from"./vidstack-Bo6FErSD-BNmXqUs8.js";import{g as A,a as L,b,h as g,l as w,c as S}from"./vidstack-CAAXXkW1-BpQVpXJK.js";import"./app-ClwIkahu.js";class D{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 I{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),k(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[C.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 R{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 h(0,0),this.Hb=new h(0,0),this.Da=new v(this.bd.bind(this)),this.vm=null,this.Am=!1,this.yb=new I(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 L()}get media(){return b()}get hasActiveSession(){return g(this.V)}setup(){this.sm(),this.tm(),this.yb.Hm(),this.c("provider-setup",this)}sm(){w(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);E(()=>{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(S(s)));return}this.V=t}destroy(){this.H(),this.rm()}H(){this.vm||(this.Fa=0,this.Ga=new h(0,0),this.Hb=new h(0,0)),this.Da.ra(),this.Va=0,this.vm=null}um(){const t=new u("resume-session",{detail:this.session});this.Jl(t);const{muted:e,volume:s,savedState:a}=this.b.$state,r=a();this.setCurrentTime(Math.max(this.aa.currentTime,(r==null?void 0:r.currentTime)??0)),this.setMuted(e()),this.setVolume(s()),(r==null?void 0:r.paused)===!1&&this.play()}rm(){this.cast.endCurrentSession(!0);const{remotePlaybackLoader:t}=this.b.$state;t.set(null)}Ml(){const{savedState:t}=this.b.$state;t.set({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 h(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:o,muted:n}=this.b.$state;this.setVolume(o()),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 h(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 h(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 h(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 D(t).Zl(s(),a()).Xl(e()).Yl(this.yb.wm()).build()}am(t){var r,i;const e=this.Dl(t),s=new chrome.cast.media.LoadRequest(e),a=this.b.$state.savedState();return s.autoplay=(((r=this.vm)==null?void 0:r.paused)??(a==null?void 0:a.paused))===!1,s.currentTime=((i=this.vm)==null?void 0:i.time)??(a==null?void 0:a.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{R as GoogleCastProvider};
diff --git a/assets/vidstack-google-cast-CT9_6G5-.js b/assets/vidstack-google-cast-CT9_6G5-.js
new file mode 100644
index 0000000..883396a
--- /dev/null
+++ b/assets/vidstack-google-cast-CT9_6G5-.js
@@ -0,0 +1 @@
+import{aD as E,ah as l,o as k,D as g,p as c,l as f,h as b,F as C}from"./vidstack-BeyDmEgV-DK6K5w61.js";import{T as n,L as y}from"./vidstack-player-DaNo29Rn.js";import{R as A}from"./vidstack-C-clE4br-xJyL0UOa.js";import{g as v,a as L,b as p,h as m,l as S,c as j}from"./vidstack-CMYUT9x7-7uKR5yes.js";import"./app-Flo2gZk8.js";import"./vidstack-D6_zYTXL-OYeDKsnR.js";class w{constructor(t){this.$a=new chrome.cast.media.MediaInfo(t.src,t.type)}build(){return this.$a}lj(t){return t.includes("live")?this.$a.streamType=chrome.cast.media.StreamType.LIVE:this.$a.streamType=chrome.cast.media.StreamType.BUFFERED,this}mj(t){return this.$a.tracks=t.map(this.nj),this}oj(t,e){return this.$a.metadata=new chrome.cast.media.GenericMediaMetadata,this.$a.metadata.title=t,this.$a.metadata.images=[{url:e}],this}nj(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 d=chrome.cast.media.TrackType.TEXT,T=chrome.cast.media.TrackType.AUDIO;class D{constructor(t,e,s){this.od=t,this.b=e,this.Ae=s}he(){const t=this.ug.bind(this);f(this.b.audioTracks,"change",t),f(this.b.textTracks,"mode-change",t),b(this.pj.bind(this))}nd(){return this.b.$state.textTracks().filter(t=>t.src&&t.type==="vtt")}vg(){return this.b.$state.audioTracks()}xc(t){var s;const e=((s=this.od.mediaInfo)==null?void 0:s.tracks)??[];return t?e.filter(i=>i.type===t):e}qj(){const t=[],e=this.vg().find(i=>i.selected),s=this.nd().filter(i=>i.mode==="showing");if(e){const i=this.xc(T),r=this.ze(i,e);r&&t.push(r.trackId)}if(s!=null&&s.length){const i=this.xc(d);if(i.length)for(const r of s){const a=this.ze(i,r);a&&t.push(a.trackId)}}return t}pj(){const t=this.nd();if(!this.od.isMediaLoaded)return;const e=this.xc(d);for(const s of t)if(!this.ze(e,s)){C(()=>{var r;return(r=this.Ae)==null?void 0:r.call(this)});break}}rj(t){if(!this.od.isMediaLoaded)return;const e=this.vg(),s=this.nd(),i=this.xc(T),r=this.xc(d);for(const a of i){if(this.wg(e,a))continue;const h={id:a.trackId.toString(),label:a.name,language:a.language,kind:a.subtype??"main",selected:!1};this.b.audioTracks[y.da](h,t)}for(const a of r){if(this.wg(s,a))continue;const h={id:a.trackId.toString(),src:a.trackContentId,label:a.name,language:a.language,kind:a.subtype.toLowerCase()};this.b.textTracks.add(h,t)}}ug(t){if(!this.od.isMediaLoaded)return;const e=this.qj(),s=new chrome.cast.media.EditTracksInfoRequest(e);this.sj(s).catch(i=>{})}sj(t){const e=p();return new Promise((s,i)=>e==null?void 0:e.editTracksInfo(t,s,i))}wg(t,e){return t.find(s=>this.xg(s,e))}ze(t,e){return t.find(s=>this.xg(e,s))}xg(t,e){return e.name===t.label&&e.language===t.language&&e.subtype.toLowerCase()===t.kind.toLowerCase()}}class R{constructor(t,e){this.f=t,this.b=e,this.$$PROVIDER_TYPE="GOOGLE_CAST",this.scope=E(),this.K=null,this.za="disconnected",this.ua=0,this.ga=0,this.Aa=new n(0,0),this.fa=new A(this.kc.bind(this)),this.Pa=null,this.Be=!1,this.va=new D(this.f,this.b,this.Ae.bind(this))}get c(){return this.b.delegate.c}get type(){return"google-cast"}get currentSrc(){return this.K}get player(){return this.f}get cast(){return v()}get session(){return L()}get media(){return p()}get hasActiveSession(){return m(this.K)}setup(){this.tj(),this.uj(),this.va.he(),this.c("provider-setup",this)}tj(){S(cast.framework.CastContextEventType.CAST_STATE_CHANGED,this.zg.bind(this))}uj(){const t=cast.framework.RemotePlayerEventType,e={[t.IS_CONNECTED_CHANGED]:this.zg,[t.IS_MEDIA_LOADED_CHANGED]:this.Ag,[t.CAN_CONTROL_VOLUME_CHANGED]:this.Bg,[t.CAN_SEEK_CHANGED]:this.Cg,[t.DURATION_CHANGED]:this.de,[t.IS_MUTED_CHANGED]:this.Na,[t.VOLUME_LEVEL_CHANGED]:this.Na,[t.IS_PAUSED_CHANGED]:this.vj,[t.LIVE_SEEKABLE_RANGE_CHANGED]:this.nb,[t.PLAYER_STATE_CHANGED]:this.wj};this.yg=e;const s=this.xj.bind(this);for(const i of l(e))this.f.controller.addEventListener(i,s);k(()=>{for(const i of l(e))this.f.controller.removeEventListener(i,s)})}async play(){var t;if(!(!this.f.isPaused&&!this.Be)){if(this.Be){await this.Dg(!1,0);return}(t=this.f.controller)==null||t.playOrPause()}}async pause(){var t;this.f.isPaused||(t=this.f.controller)==null||t.playOrPause()}getMediaStatus(t){return new Promise((e,s)=>{var i;(i=this.media)==null||i.getStatus(t,e,s)})}setMuted(t){var s;(t&&!this.f.isMuted||!t&&this.f.isMuted)&&((s=this.f.controller)==null||s.muteOrUnmute())}setCurrentTime(t){var e;this.f.currentTime=t,this.c("seeking",t),(e=this.f.controller)==null||e.seek()}setVolume(t){var e;this.f.volumeLevel=t,(e=this.f.controller)==null||e.setVolumeLevel()}async loadSource(t){var i;if(((i=this.Pa)==null?void 0:i.src)!==t&&(this.Pa=null),m(t)){this.yj(),this.K=t;return}this.c("load-start");const e=this.zj(t),s=await this.session.loadMedia(e);if(s){this.K=null,this.c("error",Error(j(s)));return}this.K=t}destroy(){this.z(),this.Eg()}z(){this.Pa||(this.ga=0,this.Aa=new n(0,0)),this.fa.$(),this.ua=0,this.Pa=null}yj(){const t=new g("resume-session",{detail:this.session});this.Ag(t);const{muted:e,volume:s,savedState:i}=this.b.$state,r=i();this.setCurrentTime(Math.max(this.f.currentTime,(r==null?void 0:r.currentTime)??0)),this.setMuted(e()),this.setVolume(s()),(r==null?void 0:r.paused)===!1&&this.play()}Eg(){this.cast.endCurrentSession(!0);const{remotePlaybackLoader:t}=this.b.$state;t.set(null)}Aj(){const{savedState:t}=this.b.$state;t.set({paused:this.f.isPaused,currentTime:this.f.currentTime}),this.Eg()}kc(){this.Bj()}xj(t){this.yg[t.type].call(this,t)}zg(t){const e=this.cast.getCastState(),s=e===cast.framework.CastState.CONNECTED?"connected":e===cast.framework.CastState.CONNECTING?"connecting":"disconnected";if(this.za===s)return;const i={type:"google-cast",state:s},r=this.ab(t);this.za=s,this.c("remote-playback-change",i,r),s==="disconnected"&&this.Aj()}Ag(t){if(!!!this.f.isMediaLoaded)return;const s=c(this.b.$state.source);Promise.resolve().then(()=>{if(s!==c(this.b.$state.source)||!this.f.isMediaLoaded)return;this.z();const i=this.f.duration;this.Aa=new n(0,i);const r={provider:this,duration:i,buffered:new n(0,0),seekable:this.Fg()},a=this.ab(t);this.c("loaded-metadata",void 0,a),this.c("loaded-data",void 0,a),this.c("can-play",r,a),this.Bg(),this.Cg(t);const{volume:o,muted:h}=this.b.$state;this.setVolume(o()),this.setMuted(h()),this.fa.Xa(),this.va.rj(a),this.va.ug(a)})}Bg(){this.b.$state.canSetVolume.set(this.f.canControlVolume)}Cg(t){const e=this.ab(t);this.c("stream-type-change",this.Cj(),e)}Cj(){var e;return((e=this.f.mediaInfo)==null?void 0:e.streamType)===chrome.cast.media.StreamType.LIVE?this.f.canSeek?"live:dvr":"live":"on-demand"}Bj(){if(this.Pa)return;const t=this.f.currentTime;t!==this.ua&&(this.c("time-change",t),t>this.ga&&(this.ga=t,this.nb()),this.b.$state.seeking()&&this.c("seeked",t),this.ua=t)}de(t){if(!this.f.isMediaLoaded||this.Pa)return;const e=this.f.duration,s=this.ab(t);this.Aa=new n(0,e),this.c("duration-change",e,s)}Na(t){if(!this.f.isMediaLoaded)return;const e={muted:this.f.isMuted,volume:this.f.volumeLevel},s=this.ab(t);this.c("volume-change",e,s)}vj(t){const e=this.ab(t);this.f.isPaused?this.c("pause",void 0,e):this.c("play",void 0,e)}nb(t){const e={seekable:this.Fg(),buffered:new n(0,this.ga)},s=t?this.ab(t):void 0;this.c("progress",e,s)}wj(t){const e=this.f.playerState,s=chrome.cast.media.PlayerState;if(this.Be=e===s.IDLE,e===s.PAUSED)return;const i=this.ab(t);switch(e){case s.PLAYING:this.c("playing",void 0,i);break;case s.BUFFERING:this.c("waiting",void 0,i);break;case s.IDLE:this.fa.$(),this.c("pause"),this.c("end");break}}Fg(){return this.f.liveSeekableRange?new n(this.f.liveSeekableRange.start,this.f.liveSeekableRange.end):this.Aa}ab(t){return t instanceof Event?t:new g(t.type,{detail:t})}Dj(t){const{streamType:e,title:s,poster:i}=this.b.$state;return new w(t).oj(s(),i()).lj(e()).mj(this.va.nd()).build()}zj(t){var r,a;const e=this.Dj(t),s=new chrome.cast.media.LoadRequest(e),i=this.b.$state.savedState();return s.autoplay=(((r=this.Pa)==null?void 0:r.paused)??(i==null?void 0:i.paused))===!1,s.currentTime=((a=this.Pa)==null?void 0:a.time)??(i==null?void 0:i.currentTime)??0,s}async Dg(t,e){const s=c(this.b.$state.source);this.Pa={src:s,paused:t,time:e},await this.loadSource(s)}Ae(){this.Dg(this.f.isPaused,this.f.currentTime).catch(t=>{})}}export{R as GoogleCastProvider};
diff --git a/assets/vidstack-hls-BCRrBv1g.js b/assets/vidstack-hls-BCRrBv1g.js
new file mode 100644
index 0000000..294214c
--- /dev/null
+++ b/assets/vidstack-hls-BCRrBv1g.js
@@ -0,0 +1 @@
+import{b as E,w as c,Q as S,p as f,l as m,h as w,D as u,N as q,a as L,aU as D,aa as I,t as R}from"./vidstack-BeyDmEgV-DK6K5w61.js";import{VideoProvider as $}from"./vidstack-video-B8Q8jY8c.js";import{Q as v,L as l}from"./vidstack-player-DaNo29Rn.js";import{a as x,T as y,c as C}from"./vidstack-D6_zYTXL-OYeDKsnR.js";import{R as O}from"./vidstack-C-clE4br-xJyL0UOa.js";import"./vidstack-DuY_sHvx-DBb4Bvtu.js";import"./app-Flo2gZk8.js";const _=h=>R(h);class H{constructor(t,i){this.m=t,this.b=i,this.d=null,this.qb=null,this.rb={},this.sb=new Set}get instance(){return this.d}setup(t){const{streamType:i}=this.b.$state,e=f(i).includes("live"),n=f(i).includes("ll-");this.d=new t({lowLatencyMode:n,backBufferLength:n?4:e?8:void 0,renderTextTracksNatively:!1,...this.rb});const r=this.Oi.bind(this);for(const o of Object.values(t.Events))this.d.on(o,r);this.d.on(t.Events.ERROR,this.Q.bind(this));for(const o of this.sb)o(this.d);this.b.player.dispatch("hls-instance",{detail:this.d}),this.d.attachMedia(this.m),this.d.on(t.Events.AUDIO_TRACK_SWITCHED,this.Qi.bind(this)),this.d.on(t.Events.LEVEL_SWITCHED,this.Ri.bind(this)),this.d.on(t.Events.LEVEL_LOADED,this.Si.bind(this)),this.d.on(t.Events.NON_NATIVE_TEXT_TRACKS_FOUND,this.Ti.bind(this)),this.d.on(t.Events.CUES_PARSED,this.Ui.bind(this)),this.b.qualities[v.Ia]=this.je.bind(this),m(this.b.qualities,"change",this.ke.bind(this)),m(this.b.audioTracks,"change",this.le.bind(this)),this.qb=w(this.me.bind(this))}aa(t,i){return new u(_(t),{detail:i})}me(){if(!this.b.$state.live())return;const t=new O(this.ne.bind(this));return t.Xa(),t.$.bind(t)}ne(){var t;this.b.$state.liveSyncPosition.set(((t=this.d)==null?void 0:t.liveSyncPosition)??1/0)}Oi(t,i){var e;(e=this.b.player)==null||e.dispatch(this.aa(t,i))}Ti(t,i){const e=this.aa(t,i);let n=-1;for(let r=0;r<i.tracks.length;r++){const o=i.tracks[r],s=o.subtitleTrack??o.closedCaptions,a=new x({id:`hls-${o.kind}-${r}`,src:s==null?void 0:s.url,label:o.label,language:s==null?void 0:s.lang,kind:o.kind,default:o.default});a[y.ma]=2,a[y.hb]=()=>{a.mode==="showing"?(this.d.subtitleTrack=r,n=r):n===r&&(this.d.subtitleTrack=-1,n=-1)},this.b.textTracks.add(a,e)}}Ui(t,i){var o;const e=(o=this.d)==null?void 0:o.subtitleTrack,n=this.b.textTracks.getById(`hls-${i.type}-${e}`);if(!n)return;const r=this.aa(t,i);for(const s of i.cues)s.positionAlign="auto",n.addCue(s,r)}Qi(t,i){const e=this.b.audioTracks[i.id];if(e){const n=this.aa(t,i);this.b.audioTracks[l.ea](e,!0,n)}}Ri(t,i){const e=this.b.qualities[i.level];if(e){const n=this.aa(t,i);this.b.qualities[l.ea](e,!0,n)}}Si(t,i){var g;if(this.b.$state.canPlay())return;const{type:e,live:n,totalduration:r,targetduration:o}=i.details,s=this.aa(t,i);this.b.delegate.c("stream-type-change",n?e==="EVENT"&&Number.isFinite(r)&&o>=10?"live:dvr":"live":"on-demand",s),this.b.delegate.c("duration-change",r,s);const a=this.d.media;this.d.currentLevel===-1&&this.b.qualities[v.Wa](!0,s);for(const d of this.d.audioTracks){const p={id:d.id.toString(),label:d.name,language:d.lang||"",kind:"main"};this.b.audioTracks[l.da](p,s)}for(const d of this.d.levels){const p={id:((g=d.id)==null?void 0:g.toString())??d.height+"p",width:d.width,height:d.height,codec:d.codecSet,bitrate:d.bitrate};this.b.qualities[l.da](p,s)}a.dispatchEvent(new u("canplay",{trigger:s}))}Q(t,i){var e;if(i.fatal)switch(i.type){case"mediaError":(e=this.d)==null||e.recoverMediaError();break;default:this.qc(i.error);break}}qc(t){this.b.delegate.c("error",{message:t.message,code:1,error:t})}je(){this.d&&(this.d.currentLevel=-1)}ke(){const{qualities:t}=this.b;!this.d||t.auto||(this.d[t.switch+"Level"]=t.selectedIndex,q&&(this.m.currentTime=this.m.currentTime))}le(){const{audioTracks:t}=this.b;this.d&&this.d.audioTrack!==t.selectedIndex&&(this.d.audioTrack=t.selectedIndex)}Vi(t){var i;c(t.src)&&((i=this.d)==null||i.loadSource(t.src))}Wi(){var t,i;(t=this.d)==null||t.destroy(),this.d=null,(i=this.qb)==null||i.call(this),this.qb=null}}class N{constructor(t,i,e){this.L=t,this.b=i,this.La=e,this.qe()}async qe(){const t={onLoadStart:this.Ma.bind(this),onLoaded:this.tb.bind(this),onLoadError:this.re.bind(this)};let i=await V(this.L,t);if(L(i)&&!c(this.L)&&(i=await j(this.L,t)),!i)return null;if(!i.isSupported()){const e="[vidstack] `hls.js` is not supported in this environment";return this.b.player.dispatch(new u("hls-unsupported")),this.b.delegate.c("error",{message:e,code:4}),null}return i}Ma(){this.b.player.dispatch(new u("hls-lib-load-start"))}tb(t){this.b.player.dispatch(new u("hls-lib-loaded",{detail:t})),this.La(t)}re(t){const i=C(t);this.b.player.dispatch(new u("hls-lib-load-error",{detail:i})),this.b.delegate.c("error",{message:i.message,code:4,error:i})}}async function j(h,t={}){var i,e,n,r,o;if(!L(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 s=(n=await h())==null?void 0:n.default;if(s&&s.isSupported)(r=t.onLoaded)==null||r.call(t,s);else throw Error("");return s}catch(s){(o=t.onLoadError)==null||o.call(t,s)}}}async function V(h,t={}){var i,e,n;if(c(h)){(i=t.onLoadStart)==null||i.call(t);try{if(await D(h),!I(window.Hls))throw Error("");const r=window.Hls;return(e=t.onLoaded)==null||e.call(t,r),r}catch(r){(n=t.onLoadError)==null||n.call(t,r)}}}const A="https://cdn.jsdelivr.net",b=class b extends ${constructor(){super(...arguments),this.$$PROVIDER_TYPE="HLS",this.rc=null,this.e=new H(this.video,this.b),this.oa=`${A}/npm/hls.js@^1.5.0/dist/hls.min.js`}get ctor(){return this.rc}get instance(){return this.e.instance}get type(){return"hls"}get canLiveSync(){return!0}get config(){return this.e.rb}set config(t){this.e.rb=t}get library(){return this.oa}set library(t){this.oa=t}preconnect(){c(this.oa)&&S(this.oa)}setup(){super.setup(),new N(this.oa,this.b,t=>{this.rc=t,this.e.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(!c(t.src)){this.oc();return}this.a.preload=i||"",this.ge(t,"application/x-mpegurl"),this.e.Vi(t),this.K=t}onInstance(t){const i=this.e.instance;return i&&t(i),this.e.sb.add(t),()=>this.e.sb.delete(t)}destroy(){this.e.Wi()}};b.supported=E();let T=b;export{T as HLSProvider};
diff --git a/assets/vidstack-hls-CIP-Lz7f.js b/assets/vidstack-hls-CIP-Lz7f.js
deleted file mode 100644
index 9e449ec..0000000
--- a/assets/vidstack-hls-CIP-Lz7f.js
+++ /dev/null
@@ -1 +0,0 @@
-import{b4 as L,f as g,aZ as S,p,a_ as v,G as y,e as w,aP as u,aW as k,aX as m,aQ as c,b1 as C,aR as E,b2 as D,b3 as W,q as _,L as $}from"./vidstack-6noeGFNR-CV2ORO4j.js";import{VideoProvider as I}from"./vidstack-video-CyPaYbdo.js";import{R}from"./vidstack-Bo6FErSD-BNmXqUs8.js";import"./app-ClwIkahu.js";import"./vidstack--aheHlrm-D0XbZ3jM.js";const A=h=>$(h);class x{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,s=p(i).includes("live"),r=p(i).includes("ll-");this.g=new t({lowLatencyMode:r,backBufferLength:r?4:s?8:void 0,renderTextTracksNatively:!1,...this.od});const n=this.Sg.bind(this);for(const o of Object.values(t.Events))this.g.on(o,n);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[v.Za]=this.Yg.bind(this),y(this.b.qualities,"change",this.Yo.bind(this)),y(this.b.audioTracks,"change",this.Zo.bind(this)),this.nd=w(this._g.bind(this))}Wo(t,i){return new u(A(t),{detail:i})}_g(){if(!this.b.$state.live())return;const t=new R(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 s;(s=this.b.player)==null||s.dispatch(this.Wo(t,i))}Wg(t,i){const s=this.Wo(t,i);let r=-1;for(let n=0;n<i.tracks.length;n++){const o=i.tracks[n],e=o.subtitleTrack??o.closedCaptions,a=new k({id:`hls-${o.kind}-${n}`,src:e==null?void 0:e.url,label:o.label,language:e==null?void 0:e.lang,kind:o.kind,default:o.default});a[m.M]=2,a[m.Ua]=()=>{a.mode==="showing"?(this.g.subtitleTrack=n,r=n):r===n&&(this.g.subtitleTrack=-1,r=-1)},this.b.textTracks.add(a,s)}}Xg(t,i){var o;const s=(o=this.g)==null?void 0:o.subtitleTrack,r=this.b.textTracks.getById(`hls-${i.type}-${s}`);if(!r)return;const n=this.Wo(t,i);for(const e of i.cues)e.positionAlign="auto",r.addCue(e,n)}Tg(t,i){const s=this.b.audioTracks[i.id];if(s){const r=this.Wo(t,i);this.b.audioTracks[c.pa](s,!0,r)}}Ug(t,i){const s=this.b.qualities[i.level];if(s){const r=this.Wo(t,i);this.b.qualities[c.pa](s,!0,r)}}Vg(t,i){var b;if(this.b.$state.canPlay())return;const{type:s,live:r,totalduration:n,targetduration:o}=i.details,e=this.Wo(t,i);this.b.delegate.c("stream-type-change",r?s==="EVENT"&&Number.isFinite(n)&&o>=10?"live:dvr":"live":"on-demand",e),this.b.delegate.c("duration-change",n,e);const a=this.g.media;this.g.currentLevel===-1&&this.b.qualities[v.Ya](!0,e);for(const d of this.g.audioTracks){const l={id:d.id.toString(),label:d.name,language:d.lang||"",kind:"main"};this.b.audioTracks[c.oa](l,e)}for(const d of this.g.levels){const l={id:((b=d.id)==null?void 0:b.toString())??d.height+"p",width:d.width,height:d.height,codec:d.codecSet,bitrate:d.bitrate};this.b.qualities[c.oa](l,e)}a.dispatchEvent(new u("canplay",{trigger:e}))}U(t,i){var s;if(i.fatal)switch(i.type){case"networkError":this.Ck(i.error);break;case"mediaError":(s=this.g)==null||s.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){this.b.delegate.c("error",{message:t.message,code:1,error:t})}Yg(){this.g&&(this.g.currentLevel=-1)}Yo(){const{qualities:t}=this.b;!this.g||t.auto||(this.g[t.switch+"Level"]=t.selectedIndex,C&&(this.m.currentTime=this.m.currentTime))}Zo(){const{audioTracks:t}=this.b;this.g&&this.g.audioTrack!==t.selectedIndex&&(this.g.audioTrack=t.selectedIndex)}Dk(t){var i;this.zk(),g(t.src)&&((i=this.g)==null||i.loadSource(t.src))}ah(){var t,i;this.zk(),(t=this.g)==null||t.destroy(),this.g=null,(i=this.nd)==null||i.call(this),this.nd=null}}class q{constructor(t,i,s){this.W=t,this.b=i,this.Ca=s,this.bh()}async bh(){const t={onLoadStart:this.Ea.bind(this),onLoaded:this.qd.bind(this),onLoadError:this.ch.bind(this)};let i=await H(this.W,t);if(E(i)&&!g(this.W)&&(i=await O(this.W,t)),!i)return null;if(!i.isSupported()){const s="[vidstack] `hls.js` is not supported in this environment";return this.b.player.dispatch(new u("hls-unsupported")),this.b.delegate.c("error",{message:s,code:4}),null}return i}Ea(){this.b.player.dispatch(new u("hls-lib-load-start"))}qd(t){this.b.player.dispatch(new u("hls-lib-loaded",{detail:t})),this.Ca(t)}ch(t){const i=D(t);this.b.player.dispatch(new u("hls-lib-load-error",{detail:i})),this.b.delegate.c("error",{message:i.message,code:4,error:i})}}async function O(h,t={}){var i,s,r,n,o;if(!E(h)){if((i=t.onLoadStart)==null||i.call(t),h.prototype&&h.prototype!==Function)return(s=t.onLoaded)==null||s.call(t,h),h;try{const e=(r=await h())==null?void 0:r.default;if(e&&e.isSupported)(n=t.onLoaded)==null||n.call(t,e);else throw Error("");return e}catch(e){(o=t.onLoadError)==null||o.call(t,e)}}}async function H(h,t={}){var i,s,r;if(g(h)){(i=t.onLoadStart)==null||i.call(t);try{if(await W(h),!_(window.Hls))throw Error("");const n=window.Hls;return(s=t.onLoaded)==null||s.call(t,n),n}catch(n){(r=t.onLoadError)==null||r.call(t,n)}}}const N="https://cdn.jsdelivr.net",f=class f extends I{constructor(){super(...arguments),this.$$PROVIDER_TYPE="HLS",this.Xe=null,this.d=new x(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)&&S(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=p(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()}};f.supported=L();let T=f;export{T as HLSProvider};
diff --git a/assets/vidstack-krOAtKMi-C3UUF7YD.js b/assets/vidstack-krOAtKMi-C3UUF7YD.js
new file mode 100644
index 0000000..b16afd1
--- /dev/null
+++ b/assets/vidstack-krOAtKMi-C3UUF7YD.js
@@ -0,0 +1 @@
+const g=/(?:https:\/\/)?(?:player\.)?vimeo(?:\.com)?\/(?:video\/)?(\d+)(?:(?:\?hash=|\?h=|\/)(.*))?/,c=new Map,i=new Map;function b(n){const o=n.match(g);return{videoId:o==null?void 0:o[1],hash:o==null?void 0:o[2]}}async function w(n,o,r){if(c.has(n))return c.get(n);if(i.has(n))return i.get(n);let t=`https://vimeo.com/api/oembed.json?url=https://player.vimeo.com/video/${n}`;r&&(t=t.concat(`?h=${r}`));const s=window.fetch(t,{mode:"cors",signal:o.signal}).then(e=>e.json()).then(e=>{var l,p;const u=/vimeocdn.com\/video\/(.*)?_/,h=(p=(l=e==null?void 0:e.thumbnail_url)==null?void 0:l.match(u))==null?void 0:p[1],f=h?`https://i.vimeocdn.com/video/${h}_1920x1080.webp`:"",m={title:(e==null?void 0:e.title)??"",duration:(e==null?void 0:e.duration)??0,poster:f,pro:e.account_type!=="basic"};return c.set(n,m),m}).finally(()=>i.delete(n));return i.set(n,s),s}export{w as getVimeoVideoInfo,b as resolveVimeoVideoId};
diff --git a/assets/vidstack-player-BOVnG7as.js b/assets/vidstack-player-BOVnG7as.js
deleted file mode 100644
index e859920..0000000
--- a/assets/vidstack-player-BOVnG7as.js
+++ /dev/null
@@ -1,7 +0,0 @@
-function __vite__mapDeps(indexes) {
-  if (!__vite__mapDeps.viteFileDeps) {
-    __vite__mapDeps.viteFileDeps = ["assets/vidstack-CgqGg1nD-BR6C5Nfa.js","assets/vidstack-6noeGFNR-CV2ORO4j.js","assets/app-ClwIkahu.js","assets/vidstack-DQ6dSZwe-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-6noeGFNR-CV2ORO4j.js";import{_ as y}from"./app-ClwIkahu.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-CgqGg1nD-BR6C5Nfa.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-DaNo29Rn.js b/assets/vidstack-player-DaNo29Rn.js
new file mode 100644
index 0000000..eb5e05a
--- /dev/null
+++ b/assets/vidstack-player-DaNo29Rn.js
@@ -0,0 +1,9 @@
+function __vite__mapDeps(indexes) {
+  if (!__vite__mapDeps.viteFileDeps) {
+    __vite__mapDeps.viteFileDeps = ["assets/vidstack-audio-DmH6IKlO.js","assets/vidstack-BeyDmEgV-DK6K5w61.js","assets/vidstack-DuY_sHvx-DBb4Bvtu.js","assets/vidstack-C-clE4br-xJyL0UOa.js","assets/vidstack-D6_zYTXL-OYeDKsnR.js","assets/app-Flo2gZk8.js","assets/vidstack-video-B8Q8jY8c.js","assets/vidstack-hls-BCRrBv1g.js","assets/vidstack-dash-BzMOXbQO.js","assets/vidstack-vimeo-AG9a8fBX.js","assets/vidstack-DBsjVADd-THjRDuSl.js","assets/vidstack-krOAtKMi-C3UUF7YD.js","assets/vidstack-youtube-Dh71ItC-.js","assets/vidstack-Zc3I7oOd-CA6XwpqT.js","assets/vidstack-CMYUT9x7-7uKR5yes.js","assets/vidstack-BmG4eXX--DDObzXvb.js"]
+  }
+  return indexes.map((i) => __vite__mapDeps.viteFileDeps[i])
+}
+import{i as R,a as ut,f as O,V as Pt,s as x,c as Yt,l as w,o as L,p as d,S as Jt,I as Zt,b as te,d as $t,e as ke,g as Et,h as u,D as $,j as pt,C as St,k as Te,m as we,n as _t,q as v,r as ee,u as Pe,t as $e,v as B,w as P,x as X,y as E,z as q,A as se,B as N,E as ie,F as z,G as ae,H as Ee,J as Se,K as ve,L as qe,M as Gt,N as Ce,O as Le,P as Ae,Q as rt,R as xe,T as ot,U as Ie,W as Ht,X as De,Y as Oe,Z as Me,_ as Re,$ as Ve,a0 as _e,a1 as re,a2 as ne}from"./vidstack-BeyDmEgV-DK6K5w61.js";import{_ as I}from"./app-Flo2gZk8.js";import{i as C,T as S,F as Ge,a as Y,c as ht,b as He}from"./vidstack-D6_zYTXL-OYeDKsnR.js";class U{get length(){return this.ta.length}constructor(t,e){R(t)?this.ta=t:!ut(t)&&!ut(e)?this.ta=[[t,e]]:this.ta=[]}start(t){return this.ta[t][0]??1/0}end(t){return this.ta[t][1]??1/0}}function Ft(n){if(!n.length)return null;let t=n.start(0);for(let e=1;e<n.length;e++){const s=n.start(e);s<t&&(t=s)}return t}function F(n){if(!n.length)return null;let t=n.end(0);for(let e=1;e<n.length;e++){const s=n.end(e);s>t&&(t=s)}return t}function Fe(n){if(n.length<=1)return n;n.sort((s,i)=>s[0]-i[0]);let t=[],e=n[0];for(let s=1;s<n.length;s++){const i=n[s];e[1]>=i[0]-1?e=[e[0],Math.max(e[1],i[1])]:(t.push(e),e=i)}return t.push(e),t}function je(n,t,e){let s=t[0],i=t[1];return e<s?[e,-1]:e===s?t:s===-1?(t[0]=e,t):(e>s&&(t[1]=e,i===-1&&n.push(t)),Fe(n),t)}const Ne=Symbol(0),We=Symbol(0),Qe=Symbol(0),Ke=Symbol(0),Ue=Symbol(0),Be=Symbol(0),Xe=Symbol(0),ze=Symbol(0),Ye=Symbol(0),f={da:Ne,cc:We,z:Qe,ea:Ke,Yc:Ue,Od:Be,Gf:Xe,Hf:ze,If:Ye},Je=Symbol(0),Ze=Symbol(0),A={Wa:Je,Ia:Ze};var jt;class oe extends De{constructor(){super(...arguments),this.A=[],this[jt]=!1}get length(){return this.A.length}get readonly(){return this[f.Yc]}indexOf(t){return this.A.indexOf(t)}getById(t){return t===""?null:this.A.find(e=>e.id===t)??null}toArray(){return[...this.A]}[(jt=f.Yc,Symbol.iterator)](){return this.A.values()}[f.da](t,e){const s=this.A.length;""+s in this||Object.defineProperty(this,s,{get(){return this.A[s]}}),!this.A.includes(t)&&(this.A.push(t),this.dispatchEvent(new $("add",{detail:t,trigger:e})))}[f.cc](t,e){var i;const s=this.A.indexOf(t);s>=0&&((i=this[f.Hf])==null||i.call(this,t,e),this.A.splice(s,1),this.dispatchEvent(new $("remove",{detail:t,trigger:e})))}[f.z](t){var e;for(const s of[...this.A])this[f.cc](s,t);this.A=[],this[f.Od](!1,t),(e=this[f.Gf])==null||e.call(this)}[f.Od](t,e){this[f.Yc]!==t&&(this[f.Yc]=t,this.dispatchEvent(new $("readonly-change",{detail:t,trigger:e})))}}const ft=O.fullscreenEnabled;class ts extends Pt{constructor(){super(...arguments),this.dc=!1,this.Pd=!1}get active(){return this.Pd}get supported(){return ft}onConnect(){w(O,"fullscreenchange",this.E.bind(this)),w(O,"fullscreenerror",this.Q.bind(this)),L(this.Fa.bind(this))}async Fa(){ft&&await this.exit()}E(t){const e=ct(this.el);e!==this.Pd&&(e||(this.dc=!1),this.Pd=e,this.dispatch("fullscreen-change",{detail:e,trigger:t}))}Q(t){this.dc&&(this.dispatch("fullscreen-error",{detail:null,trigger:t}),this.dc=!1)}async enter(){try{return this.dc=!0,!this.el||ct(this.el)?void 0:(Nt(),O.requestFullscreen(this.el))}catch(t){throw this.dc=!1,t}}async exit(){if(!(!this.el||!ct(this.el)))return Nt(),O.exitFullscreen()}}function ct(n){if(O.fullscreenElement===n)return!0;try{return n.matches(O.fullscreenPseudoClass)}catch{return!1}}function Nt(){if(!ft)throw Error("[vidstack] no fullscreen API")}const tt=class tt extends Pt{constructor(){super(...arguments),this.la=x(this.Jf()),this.Cb=x(!1)}get type(){return this.la()}get locked(){return this.Cb()}get portrait(){return this.la().startsWith("portrait")}get landscape(){return this.la().startsWith("landscape")}get supported(){return tt.supported}onConnect(){if(this.supported)w(screen.orientation,"change",this.Kf.bind(this));else{const t=window.matchMedia("(orientation: landscape)");t.onchange=this.Kf.bind(this),L(()=>t.onchange=null)}L(this.Fa.bind(this))}async Fa(){this.supported&&this.Cb()&&await this.unlock()}Kf(t){this.la.set(this.Jf()),this.dispatch("orientation-change",{detail:{orientation:d(this.la),lock:this._c},trigger:t})}async lock(t){d(this.Cb)||this._c===t||(this.Lf(),await screen.orientation.lock(t),this.Cb.set(!0),this._c=t)}async unlock(){d(this.Cb)&&(this.Lf(),this._c=void 0,await screen.orientation.unlock(),this.Cb.set(!1))}Lf(){if(!this.supported)throw Error("[vidstack] no orientation API")}Jf(){return this.supported?window.screen.orientation.type:window.innerWidth>=window.innerHeight?"landscape-primary":"portrait-primary"}};tt.supported=Yt();let J=tt;function mt(n){return!P(n)&&"width"in n&&"height"in n&&pt(n.width)&&pt(n.height)}const he=new Jt({artist:"",artwork:null,audioTrack:null,audioTracks:[],autoPlay:!1,autoPlayError:null,audioGain:null,buffered:new U,canLoad:!1,canLoadPoster:!1,canFullscreen:!1,canOrientScreen:Yt(),canPictureInPicture:!1,canPlay:!1,clipStartTime:0,clipEndTime:0,controls:!1,get iOSControls(){return Zt&&this.mediaType==="video"&&(!this.playsInline||!O.fullscreenEnabled&&this.fullscreen)},get nativeControls(){return this.controls||this.iOSControls},controlsVisible:!1,get controlsHidden(){return!this.controlsVisible},crossOrigin:null,ended:!1,error:null,fullscreen:!1,get loop(){return this.providedLoop||this.userPrefersLoop},logLevel:"silent",mediaType:"unknown",muted:!1,paused:!0,played:new U,playing:!1,playsInline:!1,pictureInPicture:!1,preload:"metadata",playbackRate:1,qualities:[],quality:null,autoQuality:!1,canSetQuality:!0,canSetPlaybackRate:!0,canSetVolume:!1,canSetAudioGain:!1,seekable:new U,seeking:!1,source:{src:"",type:""},sources:[],started:!1,textTracks:[],textTrack:null,get hasCaptions(){return this.textTracks.filter(C).length>0},volume:1,waiting:!1,realCurrentTime:0,get currentTime(){return this.ended?this.duration: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 n=Ft(this.buffered)??0;return Math.max(0,n-this.clipStartTime)},get bufferedEnd(){const n=F(this.buffered)??0;return Math.min(this.duration,Math.max(0,n-this.clipStartTime))},get seekableStart(){const n=Ft(this.seekable)??0;return Math.max(0,n-this.clipStartTime)},get seekableEnd(){const n=this.canPlay?F(this.seekable)??1/0:0;return this.clipEndTime>0?Math.max(this.clipEndTime,Math.max(0,n-this.clipStartTime)):n},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:"",providedLoop:!1,userPrefersLoop:!1,providedPoster:"",inferredPoster:"",inferredViewType:"unknown",providedViewType:"unknown",providedStreamType:"unknown",inferredStreamType:"unknown",liveSyncPosition:null,savedState:null}),ce=new Set(["autoPlayError","autoPlaying","buffered","canPlay","error","paused","played","playing","seekable","seeking","waiting"]),es=new Set([...ce,"ended","inferredPoster","inferredStreamType","inferredTitle","intrinsicDuration","liveSyncPosition","realCurrentTime","savedState","started","userBehindLiveEdge"]);function Wt(n,t=!1){const e=t?ce:es;he.reset(n,s=>e.has(s)),N()}class ss{constructor(t=void 0){this.bc=t,this.G=null,this.f=null,this.Rd=-1}setTarget(t){this.G=t}getPlayer(t){var e;return this.f?this.f:((e=t??this.G)==null||e.dispatchEvent(new $("find-media-player",{detail:s=>void(this.f=s),bubbles:!0,composed:!0})),this.f)}setPlayer(t){this.f=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)}changeDuration(t,e){this.s("media-duration-change-request",e,t)}changeClipStart(t,e){this.s("media-clip-start-change-request",e,t)}changeClipEnd(t,e){this.s("media-clip-end-change-request",e,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)}changeAudioGain(t,e){this.s("media-audio-gain-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))}showCaptions(t){const e=this.getPlayer(t==null?void 0:t.target);if(!e)return;let s=e.state.textTracks,i=this.Rd;(!s[i]||!C(s[i]))&&(i=-1),i===-1&&(i=s.findIndex(a=>C(a)&&a.default)),i===-1&&(i=s.findIndex(a=>C(a))),i>=0&&this.changeTextTrackMode(i,"showing",t),this.Rd=-1}disableCaptions(t){const e=this.getPlayer(t==null?void 0:t.target);if(!e)return;const s=e.state.textTracks,i=e.state.textTrack;if(i){const a=s.indexOf(i);this.changeTextTrackMode(a,"disabled",t),this.Rd=a}}toggleCaptions(t){const e=this.getPlayer(t==null?void 0:t.target);e&&(e.state.textTrack?this.disableCaptions():this.showCaptions())}userPrefersLoopChange(t,e){this.s("media-user-loop-change-request",e,t)}s(t,e,s){var o,h;const i=new $(t,{bubbles:!0,composed:!0,cancelable:!0,detail:s,trigger:e});let a=(e==null?void 0:e.target)||null;a&&a instanceof St&&(a=a.el),a=!a||a===document||a===window||a===document.body||((o=this.f)==null?void 0:o.el)&&a instanceof Node&&!this.f.el.contains(a)?this.G??((h=this.getPlayer())==null?void 0:h.el):a??this.G,this.f?t==="media-play-request"&&!this.f.state.canLoad?a==null||a.dispatchEvent(i):this.f.canPlayQueue.k(t,()=>a==null?void 0:a.dispatchEvent(i)):a==null||a.dispatchEvent(i)}Va(t){}}class is{constructor(){this.playerId="vds-player",this.mediaId=null,this.H={volume:null,muted:null,audioGain:null,time:null,lang:null,captions:null,rate:null,quality:null},this.saveTimeThrottled=ie(this.saveTime.bind(this),1e3)}async getVolume(){return this.H.volume}async setVolume(t){this.H.volume=t,this.save()}async getMuted(){return this.H.muted}async setMuted(t){this.H.muted=t,this.save()}async getTime(){return this.H.time}async setTime(t,e){const s=t<0;this.H.time=s?null:t,s||e?this.saveTime():this.saveTimeThrottled()}async getLang(){return this.H.lang}async setLang(t){this.H.lang=t,this.save()}async getCaptions(){return this.H.captions}async setCaptions(t){this.H.captions=t,this.save()}async getPlaybackRate(){return this.H.rate}async setPlaybackRate(t){this.H.rate=t,this.save()}async getAudioGain(){return this.H.audioGain}async setAudioGain(t){this.H.audioGain=t,this.save()}async getVideoQuality(){return this.H.quality}async setVideoQuality(t){this.H.quality=t,this.save()}onChange(t,e,s="vds-player"){const i=s?localStorage.getItem(s):null,a=e?localStorage.getItem(e):null;this.playerId=s,this.mediaId=e,this.H={volume:null,muted:null,audioGain:null,lang:null,captions:null,rate:null,quality:null,...i?JSON.parse(i):{},time:a?+a:null}}save(){if(!this.playerId)return;const t=JSON.stringify({...this.H,time:void 0});localStorage.setItem(this.playerId,t)}saveTime(){if(!this.mediaId)return;const t=(this.H.time??0).toString();localStorage.setItem(this.mediaId,t)}}class as{constructor(){this.priority=0,this.Uf=!0,this.m=null,this.J=null,this.va=new Set}canRender(t,e){return!!e}attach(t){this.m=t,t&&(t.textTracks.onchange=this.E.bind(this))}addTrack(t){this.va.add(t),this.ci(t)}removeTrack(t){var e,s;(s=(e=t[S._])==null?void 0:e.remove)==null||s.call(e),t[S._]=null,this.va.delete(t)}changeTrack(t){const e=t==null?void 0:t[S._];e&&e.track.mode!=="showing"&&(e.track.mode="showing"),this.J=t}setDisplay(t){this.Uf=t,this.E()}detach(){this.m&&(this.m.textTracks.onchange=null);for(const t of this.va)this.removeTrack(t);this.va.clear(),this.m=null,this.J=null}ci(t){var s;if(!this.m)return;const e=t[s=S._]??(t[s]=this.di(t));Oe(e)&&(this.m.append(e),e.track.mode=e.default?"showing":"disabled")}di(t){const e=document.createElement("track"),s=t.default||t.mode==="showing",i=t.src&&t.type==="vtt";return e.id=t.id,e.src=i?t.src:"",e.label=t.label,e.kind=t.kind,e.default=s,t.language&&(e.srclang=t.language),s&&!i&&this.Vf(t,e.track),e}Vf(t,e){var s;if(!(t.src&&t.type==="vtt"||(s=e.cues)!=null&&s.length))for(const i of t.cues)e.addCue(i)}E(t){for(const e of this.va){const s=e[S._];if(!s)continue;if(!this.Uf){s.track.mode=s.managed?"hidden":"disabled";continue}const i=s.track.mode==="showing";i&&this.Vf(e,s.track),e.setMode(i?"showing":"disabled",t)}}}class rs{constructor(t){this.a=t,this.m=null,this.bd=[],this.Wf=!1,this.wa=null,this.jb=null;const e=t.textTracks;this.Wd=e,u(this.Xd.bind(this)),L(this.ei.bind(this)),w(e,"add",this.Yd.bind(this)),w(e,"remove",this.fi.bind(this)),w(e,"mode-change",this.Ha.bind(this))}Xd(){const{nativeControls:t}=this.a.$state;this.Wf=t(),this.Ha()}add(t){this.bd.push(t),z(this.Ha.bind(this))}remove(t){t.detach(),this.bd.splice(this.bd.indexOf(t),1),z(this.Ha.bind(this))}Xf(t){requestAnimationFrame(()=>{if(this.m=t,t){this.wa=new as,this.wa.attach(t);for(const e of this.Wd)this.Yf(e)}this.Ha()})}Yf(t){var e;C(t)&&((e=this.wa)==null||e.addTrack(t))}gi(t){var e;C(t)&&((e=this.wa)==null||e.removeTrack(t))}Yd(t){this.Yf(t.detail)}fi(t){this.gi(t.detail)}Ha(){var s,i,a,r,o,h,c;const t=this.Wd.selected;if(this.m&&(this.Wf||t!=null&&t[S.Mf])){(s=this.jb)==null||s.changeTrack(null),(i=this.wa)==null||i.setDisplay(!0),(a=this.wa)==null||a.changeTrack(t);return}if((r=this.wa)==null||r.setDisplay(!1),(o=this.wa)==null||o.changeTrack(null),!t){(h=this.jb)==null||h.changeTrack(null);return}const e=this.bd.sort((l,p)=>l.priority-p.priority).find(l=>l.canRender(t,this.m));this.jb!==e&&((c=this.jb)==null||c.detach(),e==null||e.attach(this.m),this.jb=e??null),e==null||e.changeTrack(t)}ei(){var t,e;(t=this.wa)==null||t.detach(),this.wa=null,(e=this.jb)==null||e.detach(),this.jb=null}}class ns extends oe{constructor(){super(),this.Z=!1,this.kb={},this.lb=null,this.mb=null,this.bg=ae(async()=>{var s;if(!this.Z)return;!this.mb&&this.lb&&(this.mb=await this.lb.getLang());const t=await((s=this.lb)==null?void 0:s.getCaptions()),e=[["captions","subtitles"],"chapters","descriptions","metadata"];for(const i of e){const a=this.getByKind(i);if(a.find(l=>l.mode==="showing"))continue;const r=this.mb?a.find(l=>l.language===this.mb):null,o=R(i)?this.kb[i.find(l=>this.kb[l])||""]:this.kb[i],h=r??o,c=h&&C(h);h&&(!c||t!==!1)&&(h.mode="showing",c&&this.cg(h))}},300),this.Zd=null,this.ag=this.hi.bind(this)}get selected(){return this.A.find(e=>e.mode==="showing"&&C(e))??null}get selectedIndex(){const t=this.selected;return t?this.indexOf(t):-1}get preferredLang(){return this.mb}set preferredLang(t){this.mb=t,this.$f(t)}add(t,e){const s=t instanceof Y,i=s?t:new Y(t),a=t.kind==="captions"||t.kind==="subtitles"?"captions":t.kind;return this.kb[a]&&t.default&&delete t.default,i.addEventListener("mode-change",this.ag),this[f.da](i,e),i[S.Db]=this[S.Db],this.Z&&i[S.Z](),t.default&&(this.kb[a]=i),this.bg(),this}remove(t,e){if(this.Zd=t,!!this.A.includes(t))return t===this.kb[t.kind]&&delete this.kb[t.kind],t.mode="disabled",t[S.hb]=null,t.removeEventListener("mode-change",this.ag),this[f.cc](t,e),this.Zd=null,this}clear(t){for(const e of[...this.A])this.remove(e,t);return this}getByKind(t){const e=Array.isArray(t)?t:[t];return this.A.filter(s=>e.includes(s.kind))}[S.Z](){if(!this.Z){for(const t of this.A)t[S.Z]();this.Z=!0,this.bg()}}hi(t){const e=t.detail;if(this.lb&&C(e)&&e!==this.Zd&&this.cg(e),e.mode==="showing"){const s=C(e)?["captions","subtitles"]:[e.kind];for(const i of this.A)i.mode==="showing"&&i!=e&&s.includes(i.kind)&&(i.mode="disabled")}this.dispatchEvent(new $("mode-change",{detail:t.detail,trigger:t}))}cg(t){var e,s;t.mode!=="disabled"&&this.$f(t.language),(s=(e=this.lb)==null?void 0:e.setCaptions)==null||s.call(e,t.mode==="showing")}$f(t){var e,s;(s=(e=this.lb)==null?void 0:e.setLang)==null||s.call(e,this.mb=t)}setStorage(t){this.lb=t}}const H=Symbol(0);class le extends oe{get selected(){return this.A.find(t=>t.selected)??null}get selectedIndex(){return this.A.findIndex(t=>t.selected)}[f.Hf](t,e){this[f.ea](t,!1,e)}[f.da](t,e){t[H]=!1,Object.defineProperty(t,"selected",{get(){return this[H]},set:s=>{var i;this.readonly||((i=this[f.If])==null||i.call(this),this[f.ea](t,s))}}),super[f.da](t,e)}[f.ea](t,e,s){if(e===(t==null?void 0:t[H]))return;const i=this.selected;t&&(t[H]=e),(e?i!==t:i===t)&&(i&&(i[H]=!1),this.dispatchEvent(new $("change",{detail:{prev:i,current:this.selected},trigger:s})))}}class os extends le{}class hs extends le{constructor(){super(...arguments),this.cd=!1,this.switch="current"}get auto(){return this.cd||this.readonly}[f.If](){this[A.Wa](!1)}[f.Gf](t){this[A.Ia]=void 0,this[A.Wa](!1,t)}autoSelect(t){var e;this.readonly||this.cd||!this[A.Ia]||((e=this[A.Ia])==null||e.call(this,t),this[A.Wa](!0,t))}getBySrc(t){return this.A.find(e=>e.src===t)}[A.Wa](t,e){this.cd!==t&&(this.cd=t,this.dispatchEvent(new $("auto-change",{detail:t,trigger:e})))}}function cs(n){return n instanceof HTMLAudioElement}function ls(n){return n instanceof HTMLVideoElement}function ds(n){return cs(n)||ls(n)}class V extends Pt{}const us={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:"<"},K=new Set(["Shift","Alt","Meta","Ctrl"]),ps='button, [role="button"]',Qt='input, textarea, select, [contenteditable], [role^="menuitem"], [role="timer"]';class fs extends V{constructor(t){super(),this.a=t,this.Ib=null}onConnect(){u(this.ii.bind(this))}ii(){const{keyDisabled:t,keyTarget:e}=this.$props;if(t())return;const s=e()==="player"?this.el:document,i=x(!1);s===this.el?(this.listen("focusin",()=>i.set(!0)),this.listen("focusout",a=>{this.el.contains(a.target)||i.set(!1)})):(d(i)||i.set(document.querySelector("[data-media-player]")===this.el),w(document,"focusin",a=>{const r=a.composedPath().find(o=>o instanceof Element&&o.localName==="media-player");r!==void 0&&i.set(this.el===r)})),u(()=>{i()&&(w(s,"keyup",this.hc.bind(this)),w(s,"keydown",this.ic.bind(this)),w(s,"keydown",this.ji.bind(this),{capture:!0}))})}hc(t){var a,r;const e=document.activeElement;if(!t.key||!this.$state.canSeek()||e!=null&&e.matches(Qt))return;let{method:s,value:i}=this._d(t);if(!P(i)&&!R(i)){(a=i==null?void 0:i.onKeyUp)==null||a.call(i,{event:t,player:this.a.player,remote:this.a.remote}),(r=i==null?void 0:i.callback)==null||r.call(i,t,this.a.remote);return}if(s!=null&&s.startsWith("seek")&&(t.preventDefault(),t.stopPropagation(),this.Ib?(this.dg(t,s==="seekForward"),this.Ib=null):(this.a.remote.seek(this.dd,t),this.dd=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}))}}ic(t){var r,o,h,c;if(!t.key||K.has(t.key))return;const e=document.activeElement;if(e!=null&&e.matches(Qt)||Ee(t)&&(e!=null&&e.matches(ps)))return;let{method:s,value:i}=this._d(t),a=!t.metaKey&&/^[0-9]$/.test(t.key);if(!P(i)&&!R(i)&&!a){(r=i==null?void 0:i.onKeyDown)==null||r.call(i,{event:t,player:this.a.player,remote:this.a.remote}),(o=i==null?void 0:i.callback)==null||o.call(i,t,this.a.remote);return}if(!s&&a){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.Ja(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 g=t.shiftKey?.1:.05;this.a.remote.changeVolume(this.$state.volume()+(s==="volumeUp"?+g:-g),t)}break;case"toggleFullscreen":this.a.remote.toggleFullscreen("prefer-media",t);break;case"speedUp":case"slowDown":const p=this.$state.playbackRate();this.a.remote.changePlaybackRate(Math.max(.25,Math.min(2,p+(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})}}ji(t){ds(t.target)&&this._d(t).method&&t.preventDefault()}_d(t){const e={...this.$props.keyShortcuts(),...this.a.ariaKeys},s=Object.keys(e).find(i=>{var h;const a=e[i],r=R(a)?a.join(" "):P(a)?a:a==null?void 0:a.keys,o=(h=R(r)?r:r==null?void 0:r.split(" "))==null?void 0:h.map(c=>ys(c).replace(/Control/g,"Ctrl").split("+"));return o==null?void 0:o.some(c=>{const l=new Set(c.filter(p=>K.has(p)));for(const p of K){const g=p.toLowerCase()+"Key";if(!l.has(p)&&t[g])return!1}return c.every(p=>K.has(p)?t[p.toLowerCase()+"Key"]:t.key===p.replace("Space"," "))})});return{method:s,value:s?e[s]:null}}ki(t,e){const s=t.shiftKey?10:5;return this.dd=Math.max(0,Math.min((this.dd??this.$state.currentTime())+(e==="seekForward"?+s:-s),this.$state.duration()))}dg(t,e){var s;(s=this.Ib)==null||s.dispatchEvent(new KeyboardEvent(t.type,{key:e?"Right":"Left",shiftKey:t.shiftKey,trigger:t}))}Ja(t,e,s){this.$state.canSeek()&&(this.Ib||(this.Ib=this.el.querySelector("[data-media-time-slider]")),this.Ib?this.dg(t,s):this.a.remote.seeking(this.ki(t,e),t))}}const ms=["!","@","#","$","%","^","&","*","(",")"];function ys(n){return n.replace(/Shift\+(\d)/g,(t,e)=>ms[e-1])}class gs extends V{constructor(){super(...arguments),this.Sd=-2,this.Gb=!1,this.Sf=x(!1),this.Td=x(!1),this.ec=null,this.Ud=x(!0),this.defaultDelay=2e3}get canIdle(){return this.Ud()}set canIdle(t){this.Ud.set(t)}get hideOnMouseLeave(){const{hideControlsOnMouseLeave:t}=this.$props;return this.Sf()||t()}set hideOnMouseLeave(t){this.Sf.set(t)}get showing(){return this.$state.controlsVisible()}show(t=0,e){this.Vd(),this.Gb||this.ad(!0,t,e)}hide(t=this.defaultDelay,e){this.Vd(),this.Gb||this.ad(!1,t,e)}pause(t){this.Gb=!0,this.Vd(),this.ad(!0,0,t)}resume(t){this.Gb=!1,!this.$state.paused()&&this.ad(!1,this.defaultDelay,t)}onConnect(){u(this.Hb.bind(this))}Hb(){const{viewType:t}=this.$state;if(!this.Ud())return;if(t()==="audio"){this.show();return}u(this.$h.bind(this)),u(this.fc.bind(this));const e=this.gc.bind(this),s=this.ib.bind(this);this.listen("can-play",i=>this.show(0,i)),this.listen("play",e),this.listen("pause",s),this.listen("auto-play-fail",s)}$h(){const{started:t,pointer:e,paused:s}=this.$state;if(!t()||e()!=="fine")return;const i=this.hideOnMouseLeave;(!i||!this.Td())&&u(()=>{s()||this.listen("pointermove",this.Tf.bind(this))}),i&&(this.listen("mouseenter",this.ai.bind(this)),this.listen("mouseleave",this.bi.bind(this)))}fc(){const{paused:t,started:e,autoPlayError:s}=this.$state;if(t()||s()&&!e())return;const i=this.Tf.bind(this);u(()=>{const a=this.$state.pointer(),r=a==="coarse",o=[r?"touchend":"pointerup","keydown"];for(const h of o)this.listen(h,i,{passive:!1})})}gc(t){this.show(0,t),this.hide(void 0,t)}ib(t){this.show(0,t)}ai(t){this.Td.set(!1),this.show(0,t),this.hide(void 0,t)}bi(t){this.Td.set(!0),this.hide(0,t)}Vd(){window.clearTimeout(this.Sd),this.Sd=-1}Tf(t){var e;t.MEDIA_GESTURE||this.Gb||Me(t)||(Re(t)&&(t.key==="Escape"?((e=this.el)==null||e.focus(),this.ec=null):this.ec&&(t.preventDefault(),requestAnimationFrame(()=>{var s;(s=this.ec)==null||s.focus(),this.ec=null}))),this.show(0,t),this.hide(this.defaultDelay,t))}ad(t,e,s){if(e===0){this.E(t,s);return}this.Sd=window.setTimeout(()=>{this.scope&&this.E(t&&!this.Gb,s)},e)}E(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.ec=document.activeElement,requestAnimationFrame(()=>{var i;(i=this.el)==null||i.focus({preventScroll:!0})})),this.dispatch("controls-change",{detail:t,trigger:e}))}}class bs{constructor(){this.name="audio"}canPlay(t){return Ve(t)?!P(t.src)||t.type==="?"||_e(this.target,t.type):!1}mediaType(){return"audio"}async load(t){return new(await I(()=>import("./vidstack-audio-DmH6IKlO.js"),__vite__mapDeps([0,1,2,3,4,5]))).AudioProvider(this.target,t)}}class vt{constructor(){this.name="video"}canPlay(t){return Se(t)?!P(t.src)||t.type==="?"||ve(this.target,t.type):!1}mediaType(){return"video"}async load(t){return new(await I(()=>import("./vidstack-video-B8Q8jY8c.js"),__vite__mapDeps([6,1,2,3,4,5]))).VideoProvider(this.target,t)}}const et=class et extends vt{constructor(){super(...arguments),this.name="hls"}canPlay(t){return et.supported&&$t(t)}async load(t){return new(await I(()=>import("./vidstack-hls-BCRrBv1g.js"),__vite__mapDeps([7,1,6,2,3,4,5]))).HLSProvider(this.target,t)}};et.supported=te();let yt=et;const st=class st extends vt{constructor(){super(...arguments),this.name="dash"}canPlay(t){return st.supported&&Et(t)}async load(t){return new(await I(()=>import("./vidstack-dash-BzMOXbQO.js"),__vite__mapDeps([8,1,6,2,3,4,5]))).DASHProvider(this.target,t)}};st.supported=ke();let gt=st;class ks{constructor(){this.name="vimeo"}preconnect(){const t=["https://i.vimeocdn.com","https://f.vimeocdn.com","https://fresnel.vimeocdn.com"];for(const e of t)rt(e)}canPlay(t){return P(t.src)&&t.type==="video/vimeo"}mediaType(){return"video"}async load(t){return new(await I(()=>import("./vidstack-vimeo-AG9a8fBX.js"),__vite__mapDeps([9,1,4,5,3,10,11]))).VimeoProvider(this.target,t)}async loadPoster(t,e,s){const{resolveVimeoVideoId:i,getVimeoVideoInfo:a}=await I(()=>import("./vidstack-krOAtKMi-C3UUF7YD.js"),__vite__mapDeps([]));if(!P(t.src))return null;const{videoId:r,hash:o}=i(t.src);return r?a(r,s,o).then(h=>h?h.poster:null):null}}class Ts{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)rt(e)}canPlay(t){return P(t.src)&&t.type==="video/youtube"}mediaType(){return"video"}async load(t){return new(await I(()=>import("./vidstack-youtube-Dh71ItC-.js"),__vite__mapDeps([12,1,10,13,5,4]))).YouTubeProvider(this.target,t)}async loadPoster(t,e,s){const{findYouTubePoster:i,resolveYouTubeVideoId:a}=await I(()=>import("./vidstack-Zc3I7oOd-CA6XwpqT.js"),__vite__mapDeps([])),r=P(t.src)&&a(t.src);return r?i(r,s):null}}const lt=Symbol(0),ws=["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"],Ps={artist:"",artwork:null,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:us,storage:null};class Kt extends V{constructor(t,e){super(),this.la=t,this.La=e}async onAttach(t){const e=this.$props[this.la]();if(e==="eager")requestAnimationFrame(this.La);else if(e==="idle")qe(this.La);else if(e==="visible"){let s,i=new IntersectionObserver(a=>{this.scope&&a[0].isIntersecting&&(s==null||s(),s=void 0,this.La())});i.observe(t),s=L(()=>i.disconnect())}}}class $s{constructor(t,e){this.V=t,this.a=e,this.c=(s,...i)=>{this.V(new $(s,{detail:i==null?void 0:i[0],trigger:i==null?void 0:i[1]}))}}async Ga(t,e){return z(async()=>{var At,xt,It,W,Dt,Ot,Mt;this.a;const{autoPlay:s,canPlay:i,started:a,duration:r,seekable:o,buffered:h,remotePlaybackInfo:c,playsInline:l,savedState:p,source:g}=this.a.$state;if(i())return;const b={duration:(t==null?void 0:t.duration)??r(),seekable:(t==null?void 0:t.seekable)??o(),buffered:(t==null?void 0:t.buffered)??h(),provider:this.a.$provider()};this.c("can-play",b,e),N();let T=this.a.$provider(),{storage:m,qualities:M}=this.a,{muted:pe,volume:fe,clipStartTime:me,playbackRate:ye}=this.a.$props;await((At=m==null?void 0:m.onLoad)==null?void 0:At.call(m,g()));const ge=(xt=p())==null?void 0:xt.currentTime,Ct=(It=p())==null?void 0:It.paused,nt=await(m==null?void 0:m.getTime()),Lt=ge??nt??me(),be=Ct||Ct!==!1&&!a()&&s();if(T){T.setVolume(await(m==null?void 0:m.getVolume())??fe()),T.setMuted(pe()||!!await(m==null?void 0:m.getMuted()));const _=await(m==null?void 0:m.getAudioGain())??1;_>1&&((Dt=(W=T.audioGain)==null?void 0:W.setGain)==null||Dt.call(W,_)),(Ot=T.setPlaybackRate)==null||Ot.call(T,await(m==null?void 0:m.getPlaybackRate())??ye()),(Mt=T.setPlaysInline)==null||Mt.call(T,l()),Lt>0&&T.setCurrentTime(Lt)}const G=await(m==null?void 0:m.getVideoQuality());if(G&&M.length){let _=null,Rt=1/0;for(const Q of M){const Vt=Math.abs(G.width-Q.width)+Math.abs(G.height-Q.height)+(G.bitrate?Math.abs(G.bitrate-(Q.bitrate??0)):0);Vt<Rt&&(_=Q,Rt=Vt)}_&&(_.selected=!0)}i()&&be?await this.kj(e):nt&&nt>0&&this.c("started",void 0,e),c.set(null)})}async kj(t){const{player:e,$state:{autoPlaying:s,muted:i}}=this.a;s.set(!0);const a=new $("auto-play-attempt",{trigger:t});try{await e.play(a)}catch{}}}class Es{constructor(){this.i=new Map}k(t,e){this.i.set(t,e)}xe(t){const e=this.rg(t);return this.i.delete(t),e}rg(t){return this.i.get(t)}ub(t){this.i.delete(t)}Pm(){this.i.clear()}}class de{constructor(){this.wc=!1,this.ye=Gt(),this.i=new Map}get Qm(){return this.i.size}get Rm(){return this.wc}async Sm(){this.wc||await this.ye.promise}k(t,e){if(this.wc){e();return}this.i.delete(t),this.i.set(t,e)}xe(t){var e;(e=this.i.get(t))==null||e(),this.i.delete(t)}Xa(){this.sg(),this.wc=!0,this.i.size>0&&this.sg()}$(){this.wc=!1}z(){this.$(),this.i.clear(),this.tg()}sg(){for(const t of this.i.keys())this.xe(t);this.tg()}tg(){this.ye.resolve(),this.ye=Gt()}}class Ss extends V{constructor(t,e,s){super(),this.Ba=t,this.g=e,this.a=s,this.zc=new de,this.Fe=!1,this.C=s.$provider,this.yc=new gs,this.pd=new ts,this.bb=new J}onAttach(){this.listen("fullscreen-change",this.Qd.bind(this))}onConnect(){const t=Object.getOwnPropertyNames(Object.getPrototypeOf(this)),e=this.Hj.bind(this);for(const s of t)s.startsWith("media-")&&this.listen(s,e);this.Ij(),u(this.Jj.bind(this)),u(this.Kj.bind(this)),u(this.Lj.bind(this)),u(this.Mj.bind(this)),u(this.Nj.bind(this)),u(this.Oj.bind(this)),u(this.Pj.bind(this))}onDestroy(){try{const t=this.createEvent("destroy"),{pictureInPicture:e,fullscreen:s}=this.$state;s()&&this.Lg("prefer-media",t),e()&&this.Ge(t)}catch{}this.zc.z()}Ij(){const{load:t}=this.$props,{canLoad:e}=this.$state;if(t()!=="play"||e())return;const s=this.listen("media-play-request",i=>{this.Gg(i),s()})}Jj(){const t=this.C(),e=this.$state.canPlay();return t&&e&&this.zc.Xa(),()=>{this.zc.$()}}Hj(t){t.stopPropagation(),!t.defaultPrevented&&this[t.type]&&(d(this.C)?this[t.type](t):this.zc.k(t.type,()=>{d(this.C)&&this[t.type](t)}))}async Ac(t){const{canPlay:e,paused:s,autoPlaying:i}=this.$state;if(this.Gg(t)||!d(s))return;t&&this.g.i.k("media-play-request",t);const a=d(i);try{const r=d(this.C);return dt(r,d(e)),await r.play()}catch(r){const o=this.createEvent("play-fail",{detail:ht(r),trigger:t});throw o.autoPlay=a,this.Ba.V(o),r}}Gg(t){const{load:e}=this.$props,{canLoad:s}=this.$state;if(e()==="play"&&!s()){const i=this.createEvent("media-start-loading",{trigger:t});return this.dispatchEvent(i),this.zc.k("media-play-request",async()=>{try{await this.Ac(i)}catch{}}),!0}return!1}async Ee(t){const{canPlay:e,paused:s}=this.$state;if(!d(s)){t&&this.g.i.k("media-pause-request",t);try{const i=d(this.C);return dt(i,d(e)),await i.pause()}catch(i){throw this.g.i.ub("media-pause-request"),i}}}Hg(t,e){const{audioGain:s,canSetAudioGain:i}=this.$state;if(s()===t)return;const a=this.C();if(!(a!=null&&a.audioGain)||!i())throw Error("[vidstack] audio gain api not available");e&&this.g.i.k("media-audio-gain-change-request",e),a.audioGain.setGain(t)}Ig(t){const{canPlay:e,live:s,liveEdge:i,canSeek:a,liveSyncPosition:r,seekableEnd:o,userBehindLiveEdge:h}=this.$state;if(h.set(!1),d(()=>!s()||i()||!a()))return;const c=d(this.C);dt(c,d(e)),t&&this.g.i.k("media-seek-request",t);const l=o()-2;c.setCurrentTime(Math.min(l,r()??l))}async Jg(t="prefer-media",e){const s=this.Kg(t);if(Ut(t,s),!s.active)return d(this.$state.pictureInPicture)&&(this.Fe=!0,await this.Ge(e)),e&&this.g.i.k("media-enter-fullscreen-request",e),s.enter()}async Lg(t="prefer-media",e){const s=this.Kg(t);if(Ut(t,s),!!s.active){e&&this.g.i.k("media-exit-fullscreen-request",e);try{const i=await s.exit();return this.Fe&&d(this.$state.canPictureInPicture)&&await this.He(),i}finally{this.Fe=!1}}}Kg(t){const e=d(this.C);return t==="prefer-media"&&this.pd.supported||t==="media"?this.pd:e==null?void 0:e.fullscreen}async He(t){if(this.Mg(),!this.$state.pictureInPicture())return t&&this.g.i.k("media-enter-pip-request",t),await this.C().pictureInPicture.enter()}async Ge(t){if(this.Mg(),!!this.$state.pictureInPicture())return t&&this.g.i.k("media-exit-pip-request",t),await this.C().pictureInPicture.exit()}Mg(){if(!this.$state.canPictureInPicture())throw Error("[vidstack] no pip support")}Kj(){this.yc.defaultDelay=this.$props.controlsDelay()}Lj(){var s,i;const{canSetAudioGain:t}=this.$state,e=!!((i=(s=this.C())==null?void 0:s.audioGain)!=null&&i.supported);t.set(e)}Mj(){var s,i;const{canAirPlay:t}=this.$state,e=!!((i=(s=this.C())==null?void 0:s.airPlay)!=null&&i.supported);t.set(e)}Nj(){const{canGoogleCast:t,source:e}=this.$state,s=Ce&&!Le&&Ae(e());t.set(s)}Oj(){var s,i;const{canFullscreen:t}=this.$state,e=this.pd.supported||!!((i=(s=this.C())==null?void 0:s.fullscreen)!=null&&i.supported);t.set(e)}Pj(){var s,i;const{canPictureInPicture:t}=this.$state,e=!!((i=(s=this.C())==null?void 0:s.pictureInPicture)!=null&&i.supported);t.set(e)}async"media-airplay-request"(t){try{await this.Ng(t)}catch{}}async Ng(t){var e;try{const s=(e=this.C())==null?void 0:e.airPlay;if(!(s!=null&&s.supported))throw Error("No AirPlay adapter.");return t&&this.g.i.k("media-airplay-request",t),await s.prompt()}catch(s){throw this.g.i.ub("media-airplay-request"),s}}async"media-google-cast-request"(t){try{await this.Og(t)}catch{}}async Og(t){try{const{canGoogleCast:e}=this.$state;if(!d(e)){const i=Error("Cast not available.");throw i.code="CAST_NOT_AVAILABLE",i}if(rt("https://www.gstatic.com"),!this.qd){const i=await I(()=>import("./vidstack-CMYUT9x7-7uKR5yes.js").then(a=>a.v),__vite__mapDeps([14,5,1]));this.qd=new i.GoogleCastLoader}await this.qd.prompt(this.a),t&&this.g.i.k("media-google-cast-request",t);const s=d(this.$state.remotePlaybackState)!=="disconnected";s&&this.$state.savedState.set({paused:d(this.$state.paused),currentTime:d(this.$state.currentTime)}),this.$state.remotePlaybackLoader.set(s?this.qd:null)}catch(e){throw this.g.i.ub("media-google-cast-request"),e}}"media-clip-start-change-request"(t){const{clipStartTime:e}=this.$state;e.set(t.detail)}"media-clip-end-change-request"(t){const{clipEndTime:e}=this.$state;e.set(t.detail),this.dispatch("duration-change",{detail:t.detail,trigger:t})}"media-duration-change-request"(t){const{providedDuration:e,clipEndTime:s}=this.$state;e.set(t.detail),s()<=0&&this.dispatch("duration-change",{detail:t.detail,trigger:t})}"media-audio-track-change-request"(t){const{logger:e,audioTracks:s}=this.a;if(s.readonly)return;const i=t.detail,a=s[i];if(a){const r=t.type;this.g.i.k(r,t),a.selected=!0}}async"media-enter-fullscreen-request"(t){try{await this.Jg(t.detail,t)}catch(e){this.Zc(e,t)}}async"media-exit-fullscreen-request"(t){try{await this.Lg(t.detail,t)}catch(e){this.Zc(e,t)}}async Qd(t){const e=d(this.$props.fullscreenOrientation),s=t.detail;if(!(ut(e)||e==="none"||!this.bb.supported))if(s){if(this.bb.locked)return;this.dispatch("media-orientation-lock-request",{detail:e,trigger:t})}else this.bb.locked&&this.dispatch("media-orientation-unlock-request",{trigger:t})}Zc(t,e){this.Ba.V(this.createEvent("fullscreen-error",{detail:ht(t)}))}async"media-orientation-lock-request"(t){const e=t.type;try{this.g.i.k(e,t),await this.bb.lock(t.detail)}catch{this.g.i.ub(e)}}async"media-orientation-unlock-request"(t){const e=t.type;try{this.g.i.k(e,t),await this.bb.unlock()}catch{this.g.i.ub(e)}}async"media-enter-pip-request"(t){try{await this.He(t)}catch(e){this.Pg(e,t)}}async"media-exit-pip-request"(t){try{await this.Ge(t)}catch(e){this.Pg(e,t)}}Pg(t,e){this.Ba.V(this.createEvent("picture-in-picture-error",{detail:ht(t)}))}"media-live-edge-request"(t){const{live:e,liveEdge:s,canSeek:i}=this.$state;if(!(!e()||s()||!i())){this.g.i.k("media-seek-request",t);try{this.Ig()}catch{this.g.i.ub("media-seek-request")}}}async"media-loop-request"(t){try{this.g.Ob=!0,this.g.Bc=!0,await this.Ac(t)}catch{this.g.Ob=!1}}"media-user-loop-change-request"(t){this.$state.userPrefersLoop.set(t.detail)}async"media-pause-request"(t){if(!this.$state.paused())try{await this.Ee(t)}catch{}}async"media-play-request"(t){if(this.$state.paused())try{await this.Ac(t)}catch{}}"media-rate-change-request"(t){const{playbackRate:e,canSetPlaybackRate:s}=this.$state;if(e()===t.detail||!s())return;const i=this.C();i!=null&&i.setPlaybackRate&&(this.g.i.k("media-rate-change-request",t),i.setPlaybackRate(t.detail))}"media-audio-gain-change-request"(t){try{this.Hg(t.detail,t)}catch{}}"media-quality-change-request"(t){var r,o;const{qualities:e,storage:s,logger:i}=this.a;if(e.readonly)return;this.g.i.k("media-quality-change-request",t);const a=t.detail;if(a<0)e.autoSelect(t),t.isOriginTrusted&&((r=s==null?void 0:s.setVideoQuality)==null||r.call(s,null));else{const h=e[a];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.g.i.k(e,t),this.yc.pause(t)}"media-resume-controls-request"(t){const e=t.type;this.g.i.k(e,t),this.yc.resume(t)}"media-seek-request"(t){const{seekableStart:e,seekableEnd:s,ended:i,canSeek:a,live:r,userBehindLiveEdge:o,clipStartTime:h}=this.$state,c=t.detail;i()&&(this.g.Bc=!0);const l=t.type;this.g.Ja=!1,this.g.i.ub(l);const p=c+h(),g=Math.floor(p)===Math.floor(s()),b=g?s():Math.min(Math.max(e()+.1,p),s()-.1);!Number.isFinite(b)||!a()||(this.g.i.k(l,t),this.C().setCurrentTime(b),r()&&t.isOriginTrusted&&Math.abs(s()-b)>=2&&o.set(!0))}"media-seeking-request"(t){const e=t.type;this.g.i.k(e,t),this.$state.seeking.set(!0),this.g.Ja=!0}"media-start-loading"(t){if(this.$state.canLoad())return;const e=t.type;this.g.i.k(e,t),this.Ba.V(this.createEvent("can-load"))}"media-poster-start-loading"(t){if(this.$state.canLoadPoster())return;const e=t.type;this.g.i.k(e,t),this.Ba.V(this.createEvent("can-load-poster"))}"media-text-track-change-request"(t){const{index:e,mode:s}=t.detail,i=this.a.textTracks[e];if(i){const a=t.type;this.g.i.k(a,t),i.setMode(s,t)}}"media-mute-request"(t){if(this.$state.muted())return;const e=t.type;this.g.i.k(e,t),this.C().setMuted(!0)}"media-unmute-request"(t){const{muted:e,volume:s}=this.$state;if(!e())return;const i=t.type;this.g.i.k(i,t),this.a.$provider().setMuted(!1),s()===0&&(this.g.i.k(i,t),this.C().setVolume(.25))}"media-volume-change-request"(t){const{muted:e,volume:s}=this.$state,i=t.detail;if(s()===i)return;const a=t.type;this.g.i.k(a,t),this.C().setVolume(i),i>0&&e()&&(this.g.i.k(a,t),this.C().setMuted(!1))}Qa(t,e,s){}}function dt(n,t){if(!(n&&t))throw Error("[vidstack] media not ready")}function Ut(n,t){if(!(t!=null&&t.supported))throw Error("[vidstack] no fullscreen support")}class vs{constructor(){this.Ja=!1,this.Ob=!1,this.Bc=!1,this.i=new Es}}const qs=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 Cs extends V{constructor(t,e){super(),this.g=t,this.a=e,this.u=new Map,this.rd=!1,this.On=[],this.Ln=[-1,-1],this.sd=!1,this.Cc=!1,this.Ke=null,this.seeking=ie(s=>{const{seeking:i,realCurrentTime:a,paused:r}=this.$state;i.set(!0),a.set(s.detail),this.D("media-seeking-request",s),r()&&(this.Pb=s,this.Le()),this.Ln=[-1,-1]},150,{leading:!0}),this.Le=ae(()=>{if(!this.Pb)return;this.sd=!0;const{waiting:s,playing:i}=this.$state;s.set(!0),i.set(!1);const a=this.createEvent("waiting",{trigger:this.Pb});this.u.set("waiting",a),this.dispatch(a),this.Pb=void 0,this.sd=!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.Qj.bind(this)),this.Rj(),this.Sj(),this.Tj(),this.Uj(),L(this.Vj.bind(this))}onDestroy(){const{audioTracks:t,qualities:e,textTracks:s}=this.a;t[f.z](),e[f.z](),s[f.z](),this.Ie()}V(t){if(!this.scope)return;const e=t.type;z(()=>{var s;return(s=this[t.type])==null?void 0:s.call(this,t)}),qs.has(e)&&this.u.set(e,t),this.dispatch(t)}Uj(){this.Cc&&(requestAnimationFrame(()=>{this.scope&&this.a.remote.play(new $("dom-connect"))}),this.Cc=!1)}Vj(){var t;this.Cc||(this.Cc=!this.$state.paused(),(t=this.a.$provider())==null||t.pause())}vb(){this.Qg(),this.rd=!1,this.g.Bc=!1,this.g.Ob=!1,this.sd=!1,this.Pb=void 0,this.u.clear()}D(t,e){const s=this.g.i.xe(t);s&&(e.request=s,e.triggers.add(s))}Rj(){this.Je(),this.Rg();const t=this.a.textTracks;w(t,"add",this.Je.bind(this)),w(t,"remove",this.Je.bind(this)),w(t,"mode-change",this.Rg.bind(this))}Sj(){const t=this.a.qualities;w(t,"add",this.ld.bind(this)),w(t,"remove",this.ld.bind(this)),w(t,"change",this.Za.bind(this)),w(t,"auto-change",this.Wj.bind(this)),w(t,"readonly-change",this.Xj.bind(this))}Tj(){const t=this.a.audioTracks;w(t,"add",this.Sg.bind(this)),w(t,"remove",this.Sg.bind(this)),w(t,"change",this.Yj.bind(this))}Je(t){const{textTracks:e}=this.$state;e.set(this.a.textTracks.toArray()),this.dispatch("text-tracks-change",{detail:e(),trigger:t})}Rg(t){t&&this.D("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}))}Sg(t){const{audioTracks:e}=this.$state;e.set(this.a.audioTracks.toArray()),this.dispatch("audio-tracks-change",{detail:e(),trigger:t})}Yj(t){const{audioTrack:e}=this.$state;e.set(this.a.audioTracks.selected),t&&this.D("media-audio-track-change-request",t),this.dispatch("audio-track-change",{detail:e(),trigger:t})}ld(t){const{qualities:e}=this.$state;e.set(this.a.qualities.toArray()),this.dispatch("qualities-change",{detail:e(),trigger:t})}Za(t){const{quality:e}=this.$state;e.set(this.a.qualities.selected),t&&this.D("media-quality-change-request",t),this.dispatch("quality-change",{detail:e(),trigger:t})}Wj(){const{qualities:t}=this.a,e=t.auto;this.$state.autoQuality.set(e),e||this.Ie()}Tg(){this.Ie(),this.Ke=u(()=>{const{qualities:t}=this.a,{mediaWidth:e,mediaHeight:s}=this.$state,i=e(),a=s();if(i===0||a===0)return;let r=null,o=1/0;for(const h of t){const c=Math.abs(h.width-i)+Math.abs(h.height-a);c<o&&(o=c,r=h)}r&&t[f.ea](r,!0,new $("resize",{detail:{width:i,height:a}}))})}Ie(){var t;(t=this.Ke)==null||t.call(this),this.Ke=null}Xj(){this.$state.canSetQuality.set(!this.a.qualities.readonly)}Qj(){const{canSetVolume:t,isGoogleCastConnected:e}=this.$state;if(e()){t.set(!1);return}xe().then(t.set)}"provider-change"(t){var i,a;const e=this.a.$provider(),s=t.detail;(e==null?void 0:e.type)!==(s==null?void 0:s.type)&&((i=e==null?void 0:e.destroy)==null||i.call(e),(a=e==null?void 0:e.scope)==null||a.dispose(),this.a.$provider.set(t.detail),e&&t.detail===null&&this.Ug(t))}"provider-loader-change"(t){}"auto-play"(t){this.$state.autoPlayError.set(null)}"auto-play-fail"(t){this.$state.autoPlayError.set(t.detail),this.vb()}"can-load"(t){this.$state.canLoad.set(!0),this.u.set("can-load",t),this.a.textTracks[S.Z](),this.D("media-start-loading",t)}"can-load-poster"(t){this.$state.canLoadPoster.set(!0),this.u.set("can-load-poster",t),this.D("media-poster-start-loading",t)}"media-type-change"(t){const e=this.u.get("source-change");e&&t.triggers.add(e);const s=this.$state.viewType();this.$state.mediaType.set(t.detail);const i=this.$state.providedViewType(),a=i==="unknown"?t.detail:i;s!==a&&setTimeout(()=>{requestAnimationFrame(()=>{this.scope&&(this.$state.inferredViewType.set(t.detail),this.dispatch("view-type-change",{detail:a,trigger:t}))})},0)}"stream-type-change"(t){const e=this.u.get("source-change");e&&t.triggers.add(e);const{streamType:s,inferredStreamType:i}=this.$state;i.set(t.detail),t.detail=s()}"rate-change"(t){var i;const{storage:e}=this.a,{canPlay:s}=this.$state;this.$state.playbackRate.set(t.detail),this.D("media-rate-change-request",t),s()&&((i=e==null?void 0:e.setPlaybackRate)==null||i.call(e,t.detail))}"remote-playback-change"(t){const{remotePlaybackState:e,remotePlaybackType:s}=this.$state,{type:i,state:a}=t.detail,r=a==="connected";s.set(i),e.set(a);const o=i==="airplay"?"media-airplay-request":"media-google-cast-request";if(r)this.D(o,t);else{const h=this.g.i.rg(o);h&&(t.request=h,t.triggers.add(h))}}"sources-change"(t){const e=this.$state.sources(),s=t.detail;this.$state.sources.set(s),this.Zj(e,s,t)}Zj(t,e,s){let{qualities:i}=this.a,a=!1,r=!1;for(const o of t){if(!mt(o))continue;if(!e.some(c=>c.src===o.src)){const c=i.getBySrc(o.src);c&&(i[f.cc](c,s),r=!0)}}r&&!i.length&&(this.$state.savedState.set(null),i[f.z](s));for(const o of e){if(!mt(o)||i.getBySrc(o.src))continue;const h={id:o.id??o.height+"p",bitrate:null,codec:null,...o,selected:!1};i[f.da](h,s),a=!0}a&&!i[A.Ia]&&(this.Tg(),i[A.Ia]=this.Tg.bind(this),i[A.Wa](!0,s))}"source-change"(t){var s,i;t.isQualityChange=((s=t.originEvent)==null?void 0:s.type)==="quality-change";const e=t.detail;this.Ug(t,t.isQualityChange),this.u.set(t.type,t),this.$state.source.set(e),(i=this.el)==null||i.setAttribute("aria-busy","true")}Ug(t,e=!1){const{audioTracks:s,qualities:i}=this.a;if(!e){this.On=[],this.Ln=[-1,-1],s[f.z](t),i[f.z](t),Wt(this.$state,e),this.vb();return}Wt(this.$state,e),this.vb()}abort(t){const e=this.u.get("source-change");e&&t.triggers.add(e);const s=this.u.get("can-load");s&&!t.triggers.hasType("can-load")&&t.triggers.add(s)}"load-start"(t){const e=this.u.get("source-change");e&&t.triggers.add(e)}error(t){this.$state.error.set(t.detail);const e=this.u.get("abort");e&&t.triggers.add(e)}"loaded-metadata"(t){const e=this.u.get("load-start");e&&t.triggers.add(e)}"loaded-data"(t){const e=this.u.get("load-start");e&&t.triggers.add(e)}"can-play"(t){var s;const e=this.u.get("loaded-metadata");e&&t.triggers.add(e),this.Vg(t.detail),(s=this.el)==null||s.setAttribute("aria-busy","false")}"can-play-through"(t){this.Vg(t.detail);const e=this.u.get("can-play");e&&t.triggers.add(e)}Vg(t){const{seekable:e,buffered:s,intrinsicDuration:i,canPlay:a}=this.$state;a.set(!0),s.set(t.buffered),e.set(t.seekable);const r=F(t.seekable)??1/0;i.set(r)}"duration-change"(t){const{live:e,intrinsicDuration:s,providedDuration:i,clipEndTime:a,ended:r}=this.$state,o=t.detail;if(!e()){const h=Number.isNaN(o)?0:o;s.set(h),r()&&this.Wg(t)}(i()>0||a()>0)&&t.stopImmediatePropagation()}progress(t){const{buffered:e,bufferedEnd:s,seekable:i,seekableEnd:a,live:r,intrinsicDuration:o}=this.$state,{buffered:h,seekable:c}=t.detail,l=F(h)??1/0,p=h.length!==e().length,g=l>s(),b=F(c)??1/0,T=c.length!==i().length,m=b>a();(p||g)&&e.set(h),(T||m)&&i.set(c),r()&&(o.set(b),this.dispatch("duration-change",{detail:b,trigger:t}))}play(t){const{paused:e,autoPlayError:s,ended:i,autoPlaying:a,playsInline:r,pointer:o,muted:h,viewType:c,live:l,userBehindLiveEdge:p}=this.$state;if(this._j(),!e()){t.stopImmediatePropagation();return}t.autoPlay=a();const g=this.u.get("waiting");g&&t.triggers.add(g),this.D("media-play-request",t),this.u.set("play",t),e.set(!1),s.set(null),t.autoPlay&&(this.V(this.createEvent("auto-play",{detail:{muted:h()},trigger:t})),a.set(!1)),(i()||this.g.Bc)&&(this.g.Bc=!1,i.set(!1),this.V(this.createEvent("replay",{trigger:t}))),!r()&&c()==="video"&&o()==="coarse"&&this.a.remote.enterFullscreen("prefer-media",t),l()&&!p()&&this.a.remote.seekToLiveEdge(t)}_j(t){if(!d(this.a.$provider))return;const{ended:s,seekableStart:i,clipStartTime:a,clipEndTime:r,realCurrentTime:o,duration:h}=this.$state,c=o()<a()||r()>0&&o()>=r()||Math.abs(o()-h())<.1||s();return c&&this.dispatch("media-seek-request",{detail:(a()>0?0:i())+.1,trigger:t}),c}"play-fail"(t){const{muted:e,autoPlaying:s}=this.$state,i=this.u.get("play");i&&t.triggers.add(i),this.D("media-play-request",t);const{paused:a,playing:r}=this.$state;a.set(!0),r.set(!1),this.vb(),this.u.set("play-fail",t),t.autoPlay&&(this.V(this.createEvent("auto-play-fail",{detail:{muted:e(),error:t.detail},trigger:t})),s.set(!1))}playing(t){const e=this.u.get("play"),s=this.u.get("seeked");e?t.triggers.add(e):s&&t.triggers.add(s),setTimeout(()=>this.vb(),0);const{paused:i,playing:a,live:r,liveSyncPosition:o,seekableEnd:h,started:c,currentTime:l,seeking:p,ended:g}=this.$state;if(i.set(!1),a.set(!0),p.set(!1),g.set(!1),this.g.Ob){this.g.Ob=!1;return}if(r()&&!c()&&l()===0){const b=o()??h()-2;Number.isFinite(b)&&this.a.$provider().setCurrentTime(b)}this.started(t)}started(t){const{started:e}=this.$state;e()||(e.set(!0),this.V(this.createEvent("started",{trigger:t})))}pause(t){var a;(a=this.el)!=null&&a.isConnected||(this.Cc=!0),this.D("media-pause-request",t);const e=this.u.get("seeked");e&&t.triggers.add(e);const{paused:s,playing:i}=this.$state;s.set(!0),i.set(!1),this.rd&&setTimeout(()=>{this.V(this.createEvent("end",{trigger:t})),this.rd=!1},0),this.vb()}"time-change"(t){if(this.g.Ob){t.stopImmediatePropagation();return}let{waiting:e,played:s,clipEndTime:i,realCurrentTime:a,currentTime:r}=this.$state,o=t.detail,h=i();a.set(o),this.Pn(),e.set(!1);for(const c of this.a.textTracks)c[S.Eb](o,t);h>0&&o>=h&&(this.rd=!0,this.dispatch("media-pause-request",{trigger:t})),this.$j(),this.dispatch("time-update",{detail:{currentTime:r(),played:s()},trigger:t})}Pn(){const{currentTime:t,played:e,paused:s}=this.$state;s()||(this.Ln=je(this.On,this.Ln,t()),e.set(new U(this.On)))}Wg(t){const{clipStartTime:e,clipEndTime:s,duration:i}=this.$state;e()>0||s()>0||this.V(this.createEvent("time-change",{detail:i(),trigger:t}))}$j(){var i;const{storage:t}=this.a,{canPlay:e,realCurrentTime:s}=this.$state;e()&&((i=t==null?void 0:t.setTime)==null||i.call(t,s()))}"audio-gain-change"(t){var a;const{storage:e}=this.a,{canPlay:s,audioGain:i}=this.$state;i.set(t.detail),this.D("media-audio-gain-change-request",t),s()&&((a=e==null?void 0:e.setAudioGain)==null||a.call(e,i()))}"volume-change"(t){var o,h;const{storage:e}=this.a,{volume:s,muted:i,canPlay:a}=this.$state,r=t.detail;s.set(r.volume),i.set(r.muted||r.volume===0),this.D("media-volume-change-request",t),this.D(r.muted?"media-mute-request":"media-unmute-request",t),a()&&((o=e==null?void 0:e.setVolume)==null||o.call(e,s()),(h=e==null?void 0:e.setMuted)==null||h.call(e,i()))}seeked(t){const{seeking:e,currentTime:s,realCurrentTime:i,paused:a,seekableEnd:r,ended:o}=this.$state;if(this.g.Ja)e.set(!0),t.stopImmediatePropagation();else if(e()){const h=this.u.get("waiting");h&&t.triggers.add(h);const c=this.u.get("seeking");c&&!t.triggers.has(c)&&t.triggers.add(c),a()&&this.Qg(),e.set(!1),i.set(t.detail),this.D("media-seek-request",t);const l=t==null?void 0:t.originEvent;l!=null&&l.isTrusted&&!/seek/.test(l.type)&&this.started(t)}Math.floor(s())!==Math.floor(r())?o.set(!1):this.end(t)}waiting(t){this.sd||this.g.Ja||(t.stopImmediatePropagation(),this.Pb=t,this.Le())}end(t){const{loop:e,ended:s}=this.$state;if(!(!e()&&s())){if(e()){setTimeout(()=>{requestAnimationFrame(()=>{this._j(t),this.dispatch("media-loop-request",{trigger:t})})},10);return}setTimeout(()=>this.lc(t),0)}}lc(t){var o;const{storage:e}=this.a,{paused:s,seeking:i,ended:a,duration:r}=this.$state;this.Wg(t),s()||this.dispatch("pause",{trigger:t}),i()&&this.dispatch("seeked",{detail:r(),trigger:t}),a.set(!0),this.vb(),(o=e==null?void 0:e.setTime)==null||o.call(e,r(),!0),this.dispatch("ended",{trigger:t})}Qg(){this.Le.cancel(),this.$state.waiting.set(!1)}"fullscreen-change"(t){const e=t.detail;this.$state.fullscreen.set(e),this.D(e?"media-enter-fullscreen-request":"media-exit-fullscreen-request",t)}"fullscreen-error"(t){this.D("media-enter-fullscreen-request",t),this.D("media-exit-fullscreen-request",t)}"orientation-change"(t){const e=t.detail.lock;this.D(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.D(e?"media-enter-pip-request":"media-exit-pip-request",t)}"picture-in-picture-error"(t){this.D("media-enter-pip-request",t),this.D("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 Ls extends V{onSetup(){this.Hb();const t=[this.bk,this.ck,this.Jn,this.Kn,this.Xd,this.Ca,this.ek,this.fk,this.gk,this.hk,this.ik,this.Me,this.jk,this.kk,this.td];for(const e of t)u(e.bind(this))}Hb(){var s;const t={duration:"providedDuration",loop:"providedLoop",poster:"providedPoster",streamType:"providedStreamType",title:"providedTitle",viewType:"providedViewType"},e=new Set(["currentTime","paused","playbackRate","volume"]);for(const i of Object.keys(this.$props))e.has(i)||(s=this.$state[t[i]??i])==null||s.set(this.$props[i]());this.$state.muted.set(this.$props.muted()||this.$props.volume()===0)}kk(){const{viewType:t,streamType:e,title:s,poster:i,loop:a}=this.$props,r=this.$state;r.providedPoster.set(i()),r.providedStreamType.set(e()),r.providedViewType.set(t()),r.providedTitle.set(s()),r.providedLoop.set(a())}ak(){}bk(){const{artist:t,artwork:e}=this.$props;this.$state.artist.set(t()),this.$state.artwork.set(e())}td(){const{title:t}=this.$state;this.dispatch("title-change",{detail:t()})}ck(){const t=this.$props.autoPlay()||this.$props.autoplay();this.$state.autoPlay.set(t),this.dispatch("auto-play-change",{detail:t})}ik(){const t=this.$state.loop();this.dispatch("loop-change",{detail:t})}Xd(){const t=this.$props.controls();this.$state.controls.set(t)}jk(){const{poster:t}=this.$state;this.dispatch("poster-change",{detail:t()})}Ca(){const t=this.$props.crossOrigin()??this.$props.crossorigin(),e=t===!0?"":t;this.$state.crossOrigin.set(e)}ek(){const{duration:t}=this.$props;this.dispatch("media-duration-change-request",{detail:t()})}Me(){const t=this.$props.playsInline()||this.$props.playsinline();this.$state.playsInline.set(t),this.dispatch("plays-inline-change",{detail:t})}Jn(){const{clipStartTime:t}=this.$props;this.dispatch("media-clip-start-change-request",{detail:t()})}Kn(){const{clipEndTime:t}=this.$props;this.dispatch("media-clip-end-change-request",{detail:t()})}fk(){this.dispatch("live-change",{detail:this.$state.live()})}hk(){this.$state.liveEdgeTolerance.set(this.$props.liveEdgeTolerance()),this.$state.minLiveDVRWindow.set(this.$props.minLiveDVRWindow())}gk(){this.dispatch("live-edge-change",{detail:this.$state.liveEdge()})}}const j=class j extends V{constructor(){super()}onConnect(){u(this.lk.bind(this)),u(this.mk.bind(this));const t=this.nk.bind(this);for(const e of j.Xg)navigator.mediaSession.setActionHandler(e,t);L(this.Fa.bind(this))}Fa(){for(const t of j.Xg)navigator.mediaSession.setActionHandler(t,null)}lk(){const{title:t,artist:e,artwork:s,poster:i}=this.$state;navigator.mediaSession.metadata=new MediaMetadata({title:t(),artist:e(),artwork:s()??[{src:i()}]})}mk(){const{canPlay:t,paused:e}=this.$state;navigator.mediaSession.playbackState=t()?e()?"paused":"playing":"none"}nk(t){const e=new $("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:pt(t.seekTime)?t.seekTime:this.$state.currentTime()+(t.seekOffset??10),trigger:e});break}}};j.Xg=["play","pause","seekforward","seekbackward","seekto"];let bt=j;var As=Object.defineProperty,xs=Object.getOwnPropertyDescriptor,k=(n,t,e,s)=>{for(var i=s>1?void 0:s?xs(t,e):t,a=n.length-1,r;a>=0;a--)(r=n[a])&&(i=(s?r(t,e,i):r(i))||i);return s&&i&&As(t,e,i),i},D;const y=(D=class extends St{constructor(){super(),this.canPlayQueue=new de,this.Re=!1,new Ls;const t={player:this,qualities:new hs,audioTracks:new os,storage:null,$provider:x(null),$providerSetup:x(!1),$props:this.$props,$state:this.$state};t.remote=this.remoteControl=new ss(void 0),t.remote.setPlayer(this),t.textTracks=new ns,t.textTracks[S.Db]=this.$state.crossOrigin,t.textRenderers=new rs(t),t.ariaKeys={},this.a=t,Te(we,t),this.orientation=new J,new Ge,new fs(t);const e=new vs;this.Ba=new Cs(e,t),this.W=new Ss(this.Ba,e,t),t.delegate=new $s(this.Ba.V.bind(this.Ba),t),typeof navigator<"u"&&"mediaSession"in navigator&&new bt,new Kt("load",this.startLoading.bind(this)),new Kt("posterLoad",this.startLoadingPoster.bind(this))}get p(){return this.a.$provider()}get vd(){return this.$props}onSetup(){this.rk(),u(this.sk.bind(this)),u(this.tk.bind(this)),u(this.fc.bind(this)),u(this.Fc.bind(this)),u(this.Qb.bind(this)),u(this.Me.bind(this)),u(this.Qe.bind(this))}onAttach(t){t.setAttribute("data-media-player",""),_t(t,"tabindex","0"),_t(t,"role","region"),u(this.uk.bind(this)),u(this.td.bind(this)),u(this.Yg.bind(this)),w(t,"find-media-player",this.vk.bind(this))}onConnect(t){Zt&&v(t,"data-iphone","");const e=window.matchMedia("(pointer: coarse)");this.Zg(e),e.onchange=this.Zg.bind(this);const s=new ResizeObserver(ee(this.pa.bind(this)));s.observe(t),u(this.pa.bind(this)),this.dispatch("media-player-connect",{detail:this,bubbles:!0,composed:!0}),L(()=>{s.disconnect(),e.onchange=null})}onDestroy(){this.a.player=null,this.canPlayQueue.z()}td(){const t=this.$el,{title:e,live:s,viewType:i,providedTitle:a}=this.$state,r=s(),o=Pe(i()),h=o!=="Unknown"?`${r?"Live ":""}${o}`:r?"Live":"Media",c=e();v(this.el,"aria-label",`${h} Player`+(c?` - ${c}`:"")),t!=null&&t.hasAttribute("title")&&(this.Re=!0,t==null||t.removeAttribute("title"))}Yg(){const t=this.orientation.landscape?"landscape":"portrait";this.$state.orientation.set(t),v(this.el,"data-orientation",t),this.pa()}sk(){this.$state.canPlay()&&this.p?this.canPlayQueue.Xa():this.canPlayQueue.$()}rk(){if(D[lt]){this.setAttributes(D[lt]);return}const t={"data-load":function(){return this.$props.load()},"data-captions":function(){const s=this.$state.textTrack();return!!s&&C(s)},"data-ios-controls":function(){return this.$state.iOSControls()},"data-controls":function(){return this.controls.showing},"data-buffering":function(){const{canLoad:s,canPlay:i,waiting:a}=this.$state;return s()&&(!i()||a())},"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 ws){const i="data-"+(e[s]??$e(s));t[i]=function(){return this.$state[s]()}}delete t.title,D[lt]=t,this.setAttributes(t)}vk(t){t.detail(this)}pa(){if(!this.el)return;const t=this.el.clientWidth,e=this.el.clientHeight;this.$state.width.set(t),this.$state.height.set(e),B(this.el,"--player-width",t+"px"),B(this.el,"--player-height",e+"px")}Zg(t){const e=t.matches?"coarse":"fine";v(this.el,"data-pointer",e),this.$state.pointer.set(e),this.pa()}get provider(){return this.p}get controls(){return this.W.yc}set controls(t){this.vd.controls.set(t)}get title(){return d(this.$state.providedTitle)}set title(t){if(this.Re){this.Re=!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.vd.duration.set(t)}get paused(){return d(this.$state.paused)}set paused(t){this._g(t)}fc(){this._g(this.$props.paused())}_g(t){t?this.canPlayQueue.k("paused",()=>this.W.Ee()):this.canPlayQueue.k("paused",()=>this.W.Ac())}get muted(){return d(this.$state.muted)}set muted(t){this.vd.muted.set(t)}tk(){this.wk(this.$props.muted())}wk(t){this.canPlayQueue.k("muted",()=>{this.p&&this.p.setMuted(t)})}get currentTime(){return d(this.$state.currentTime)}set currentTime(t){this.$g(t)}Qb(){this.$g(this.$props.currentTime())}$g(t){this.canPlayQueue.k("currentTime",()=>{const{currentTime:e,clipStartTime:s,seekableStart:i,seekableEnd:a}=this.$state;t!==d(e)&&d(()=>{if(!this.p)return;const r=t+s(),o=Math.floor(r)===Math.floor(a()),h=o?a():Math.min(Math.max(i()+.1,r),a()-.1);Number.isFinite(h)&&this.p.setCurrentTime(h)})})}get volume(){return d(this.$state.volume)}set volume(t){this.vd.volume.set(t)}Fc(){this.xk(this.$props.volume())}xk(t){const e=He(0,t,1);this.canPlayQueue.k("volume",()=>{this.p&&this.p.setVolume(e)})}get playbackRate(){return d(this.$state.playbackRate)}set playbackRate(t){this.ah(t)}Qe(){this.ah(this.$props.playbackRate())}ah(t){this.canPlayQueue.k("rate",()=>{var e,s;this.p&&((s=(e=this.p).setPlaybackRate)==null||s.call(e,t))})}Me(){this.yk(this.$props.playsInline())}yk(t){this.canPlayQueue.k("playsinline",()=>{var e,s;this.p&&((s=(e=this.p).setPlaysInline)==null||s.call(e,t))})}uk(){var s;let t=this.$props.storage(),e=P(t)?new is:t;if(e!=null&&e.onChange){const{source:i}=this.$state,a=P(t)?t:(s=this.el)==null?void 0:s.id,r=X(this.zk.bind(this));u(()=>e.onChange(i(),r(),a||void 0))}this.a.storage=e,this.a.textTracks.setStorage(e),L(()=>{var i;(i=e==null?void 0:e.onDestroy)==null||i.call(e),this.a.storage=null,this.a.textTracks.setStorage(null)})}zk(){const{clipStartTime:t,clipEndTime:e}=this.$props,{source:s}=this.$state,i=s();return i.src?`${i.src}:${t()}:${e()}`:null}async play(t){return this.W.Ac(t)}async pause(t){return this.W.Ee(t)}async enterFullscreen(t,e){return this.W.Jg(t,e)}async exitFullscreen(t,e){return this.W.Lg(t,e)}enterPictureInPicture(t){return this.W.He(t)}exitPictureInPicture(t){return this.W.Ge(t)}seekToLiveEdge(t){this.W.Ig(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.W.Ng(t)}requestGoogleCast(t){return this.W.Og(t)}setAudioGain(t,e){return this.W.Hg(t,e)}destroy(){super.destroy(),this.a.remote.setPlayer(null),this.dispatch("destroy")}},D.props=Ps,D.state=he,D);k([E],y.prototype,"canPlayQueue",2);k([E],y.prototype,"remoteControl",2);k([E],y.prototype,"provider",1);k([E],y.prototype,"controls",1);k([E],y.prototype,"orientation",2);k([E],y.prototype,"title",1);k([E],y.prototype,"qualities",1);k([E],y.prototype,"audioTracks",1);k([E],y.prototype,"textTracks",1);k([E],y.prototype,"textRenderers",1);k([E],y.prototype,"duration",1);k([E],y.prototype,"paused",1);k([E],y.prototype,"muted",1);k([E],y.prototype,"currentTime",1);k([E],y.prototype,"volume",1);k([E],y.prototype,"playbackRate",1);k([q],y.prototype,"play",1);k([q],y.prototype,"pause",1);k([q],y.prototype,"enterFullscreen",1);k([q],y.prototype,"exitFullscreen",1);k([q],y.prototype,"enterPictureInPicture",1);k([q],y.prototype,"exitPictureInPicture",1);k([q],y.prototype,"seekToLiveEdge",1);k([q],y.prototype,"startLoading",1);k([q],y.prototype,"startLoadingPoster",1);k([q],y.prototype,"requestAirPlay",1);k([q],y.prototype,"requestGoogleCast",1);k([q],y.prototype,"setAudioGain",1);let Is=y;function Ds(n,t){return fetch(n,t).then(e=>e.text()).then(e=>/type="static"/.test(e)?"on-demand":"live")}function ue(n,t){return fetch(n,t).then(e=>e.text()).then(e=>{const s=Os(e);if(s)return ue(/^https?:/.test(s)?s:new URL(s,n).href,t);const i=/EXT-X-PLAYLIST-TYPE:\s*VOD/.test(e)?"on-demand":"live";return i==="live"&&Ms(e)>=10&&(/#EXT-X-DVR-ENABLED:\s*true/.test(e)||e.includes("#EXT-X-DISCONTINUITY"))?"live:dvr":i})}function Os(n){const t=n.match(/#EXT-X-STREAM-INF:[^\n]+(\n[^\n]+)*/g);return t?t[0].split(`
+`)[1].trim():null}function Ms(n){const t=n.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 kt=new Map;class Rs{constructor(t,e,s,i=[]){this.wd=t,this.a=e,this.X=s,this.Se=!1;const a=new gt,r=new yt,o=new vt,h=new bs,c=new Ts,l=new ks,p=[c,l];this.Te=X(()=>{const b=e.$state.remotePlaybackLoader(),T=e.$props.preferNativeHLS()?[o,h,a,r,...p,...i]:[r,o,h,a,...p,...i];return b?[b,...T]:T});const{$state:g}=e;g.sources.set(Bt(e.$props.src()));for(const b of g.sources()){const T=this.Te().find(M=>M.canPlay(b));if(!T)continue;const m=T.mediaType(b);this.a.$state.source.set(b),this.a.$state.mediaType.set(m),this.a.$state.inferredViewType.set(m),this.X.set(T),this.Se=!0;break}}get c(){return this.a.delegate.c}connect(){const t=this.X();this.Se&&(this.bh(this.a.$state.source(),t),this.ch(t),this.Se=!1),u(this.Ak.bind(this)),u(this.Bk.bind(this)),u(this.Ck.bind(this)),u(this.Dk.bind(this)),u(this.Ek.bind(this))}Ak(){this.c("sources-change",[...Bt(this.a.$props.src()),...this.wd()])}Bk(){var r;const{$state:t}=this.a,e=t.sources(),s=d(t.source),i=this.dh(s,e);if(((r=e[0])==null?void 0:r.src)&&!i.src&&!i.type){const{crossOrigin:o}=t,h=ot(o()),c=new AbortController;return Promise.all(e.map(l=>P(l.src)&&l.type==="?"?fetch(l.src,{method:"HEAD",credentials:h,signal:c.signal}).then(p=>(l.type=p.headers.get("content-type")||"??",kt.set(l.src,l.type),l)).catch(()=>l):l)).then(l=>{if(c.signal.aborted)return;const p=this.dh(d(t.source),l);N(),p.src||this.c("error",{message:"Failed to load resource.",code:4})}),()=>c.abort()}N()}dh(t,e){let s={src:"",type:""},i=null,a=new $("sources-change",{detail:{sources:e}}),r=this.Te(),{started:o,paused:h,currentTime:c,quality:l,savedState:p}=this.a.$state;for(const g of e){const b=r.find(T=>T.canPlay(g));if(b){s=g,i=b;break}}if(mt(s)){const g=l(),b=e.find(T=>T.src===(g==null?void 0:g.src));d(o)?p.set({paused:d(h),currentTime:d(c)}):p.set(null),b&&(s=b,a=new $("quality-change",{detail:{quality:g}}))}return zt(t,s)||this.bh(s,i,a),i!==d(this.X)&&this.ch(i,a),s}bh(t,e,s){this.c("source-change",t,s),this.c("media-type-change",(e==null?void 0:e.mediaType(t))||"unknown",s)}ch(t,e){this.a.$providerSetup.set(!1),this.c("provider-change",null,e),t&&d(()=>{var s;return(s=t.preconnect)==null?void 0:s.call(t,this.a)}),this.X.set(t),this.c("provider-loader-change",t,e)}Ck(){const t=this.a.$provider();if(!(!t||d(this.a.$providerSetup))){if(this.a.$state.canLoad()){Ie(()=>t.setup(),t.scope),this.a.$providerSetup.set(!0);return}d(()=>{var e;return(e=t.preconnect)==null?void 0:e.call(t)})}}Dk(){if(!this.a.$providerSetup())return;const t=this.a.$provider(),e=this.a.$state.source(),s=d(this.a.$state.crossOrigin),i=d(this.a.$props.preferNativeHLS);if(!zt(t==null?void 0:t.currentSrc,e)){if(this.a.$state.canLoad()){const a=new AbortController;return $t(e)?(i||!te())&&ue(e.src,{credentials:ot(s),signal:a.signal}).then(r=>{this.c("stream-type-change",r)}).catch(Ht):Et(e)?Ds(e.src,{credentials:ot(s),signal:a.signal}).then(r=>{this.c("stream-type-change",r)}).catch(Ht):this.c("stream-type-change","on-demand"),d(()=>{const r=d(this.a.$state.preload);return t==null?void 0:t.loadSource(e,r).catch(o=>{})}),()=>a.abort()}try{P(e.src)&&rt(new URL(e.src).origin)}catch{}}}Ek(){const t=this.X(),{providedPoster:e,source:s,canLoadPoster:i}=this.a.$state;if(!t||!t.loadPoster||!s()||!i()||e())return;const a=new AbortController,r=new $("source-change",{detail:s});return t.loadPoster(s(),this.a,a).then(o=>{this.c("poster-change",o||"",r)}).catch(()=>{this.c("poster-change","",r)}),()=>{a.abort()}}}function Bt(n){return(R(n)?n:[n]).map(t=>P(t)?{src:t,type:Xt(t)}:{...t,type:Xt(t.src,t.type)})}function Xt(n,t){return P(t)&&t.length?t:P(n)&&kt.has(n)?kt.get(n):!t&&$t({src:n,type:""})?"application/x-mpegurl":!t&&Et({src:n,type:""})?"application/dash+xml":!P(n)||n.startsWith("blob:")?"video/object":n.includes("youtube")||n.includes("youtu.be")?"video/youtube":n.includes("vimeo")&&!n.includes("progressive_redirect")&&!n.includes(".m3u8")?"video/vimeo":"?"}function zt(n,t){return(n==null?void 0:n.src)===(t==null?void 0:t.src)&&(n==null?void 0:n.type)===(t==null?void 0:t.type)}class Vs{constructor(t,e){this.xd=t,this.a=e,this.eh=[],u(this.Fk.bind(this))}Fk(){const t=this.xd();for(const e of this.eh)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||Y.createId(e);this.a.textTracks.getById(s)||(e.id=s,this.a.textTracks.add(e))}this.eh=t}}var _s=Object.defineProperty,Gs=Object.getOwnPropertyDescriptor,Hs=(n,t,e,s)=>{for(var i=Gs(t,e),a=n.length-1,r;a>=0;a--)(r=n[a])&&(i=r(t,e,i)||i);return i&&_s(t,e,i),i};const it=class it extends St{constructor(){super(...arguments),this.wd=x([]),this.xd=x([]),this.X=null,this.Ue=-1}onSetup(){this.a=se(),this.fh=new Rs(this.wd,this.a,this.$state.loader,this.$props.loaders())}onAttach(t){t.setAttribute("data-media-provider","")}onConnect(t){this.fh.connect(),new Vs(this.xd,this.a);const e=new ResizeObserver(ee(this.pa.bind(this)));e.observe(t);const s=new MutationObserver(this.Gc.bind(this));s.observe(t,{attributes:!0,childList:!0}),this.pa(),this.Gc(),L(()=>{e.disconnect(),s.disconnect()})}load(t){window.cancelAnimationFrame(this.Ue),this.Ue=requestAnimationFrame(()=>this.Gk(t)),L(()=>{window.cancelAnimationFrame(this.Ue)})}Gk(t){if(!this.scope)return;const e=this.$state.loader(),{$provider:s}=this.a;this.X===e&&(e==null?void 0:e.target)===t&&d(s)||(this.gh(),this.X=e,e&&(e.target=t||null),!(!e||!t)&&e.load(this.a).then(i=>{this.scope&&d(this.$state.loader)===e&&this.a.delegate.c("provider-change",i)}))}onDestroy(){this.X=null,this.gh()}gh(){var t;(t=this.a)==null||t.delegate.c("provider-change",null)}pa(){if(!this.el)return;const{player:t,$state:e}=this.a,s=this.el.offsetWidth,i=this.el.offsetHeight;t&&(e.mediaWidth.set(s),e.mediaHeight.set(i),t.el&&(B(t.el,"--media-width",s+"px"),B(t.el,"--media-height",i+"px")))}Gc(){const t=[],e=[],s=this.el.children;for(const i of s)if(!i.hasAttribute("data-vds")){if(i instanceof HTMLSourceElement){const a={id:i.id,src:i.src,type:i.type};for(const r of["id","src","width","height","bitrate","codec"]){const o=i.getAttribute(`data-${r}`);P(o)&&(a[r]=/id|src|codec/.test(r)?o:Number(o))}t.push(a)}else if(i instanceof HTMLTrackElement){const a={src:i.src,kind:i.track.kind,language:i.srclang,label:i.label,default:i.default,type:i.getAttribute("data-type")};e.push({id:i.id||Y.createId(a),...a})}}this.wd.set(t),this.xd.set(e),N()}};it.props={loaders:[]},it.state=new Jt({loader:null});let Z=it;Hs([q],Z.prototype,"load");const qt=class qt extends re(HTMLElement,Z){constructor(){super(...arguments),this.G=null,this.Xm=null}onSetup(){this.a=se(),this.setAttribute("keep-alive","")}onDestroy(){var t,e;(t=this.Xm)==null||t.remove(),this.Xm=null,(e=this.G)==null||e.remove(),this.G=null}onConnect(){u(()=>{var o,h,c;const t=this.$state.loader(),e=(t==null?void 0:t.name)==="youtube",s=(t==null?void 0:t.name)==="vimeo",i=e||s,a=(t==null?void 0:t.name)==="google-cast",r=t?a?this.kn():i?this.ln():t.mediaType()==="audio"?this.mn():this.an():null;if(this.G!==r){const l=((o=this.G)==null?void 0:o.parentElement)??this;(h=this.G)==null||h.remove(),this.G=r,r&&l.prepend(r),i&&r&&u(()=>{var M;const{nativeControls:p,viewType:g}=this.a.$state,b=p(),T=g()==="audio";!b&&!T?(this.Xm=this.querySelector(".vds-blocker"),this.Xm||(this.Xm=document.createElement("div"),this.Xm.classList.add("vds-blocker"),r.after(this.Xm))):((M=this.Xm)==null||M.remove(),this.Xm=null),v(r,"data-no-controls",!b)})}e?r==null||r.classList.add("vds-youtube"):s&&(r==null||r.classList.add("vds-vimeo")),i||((c=this.Xm)==null||c.remove(),this.Xm=null),this.load(r)})}mn(){const t=this.G instanceof HTMLAudioElement?this.G:document.createElement("audio");v(t,"preload","none"),v(t,"aria-hidden","true");const{controls:e,crossOrigin:s}=this.a.$state;return u(()=>{v(t,"controls",e()),v(t,"crossorigin",s())}),t}an(){const t=this.G instanceof HTMLVideoElement?this.G:document.createElement("video"),{crossOrigin:e,poster:s,nativeControls:i}=this.a.$state,a=X(()=>i()?"true":null),r=X(()=>s()&&i()?s():null);return u(()=>{v(t,"controls",a()),v(t,"crossorigin",e()),v(t,"poster",r())}),t}ln(){const t=this.G instanceof HTMLIFrameElement?this.G:document.createElement("iframe"),{nativeControls:e}=this.a.$state;return u(()=>v(t,"tabindex",e()?null:-1)),t}kn(){var e;if((e=this.G)!=null&&e.classList.contains("vds-google-cast"))return this.G;const t=document.createElement("div");return t.classList.add("vds-google-cast"),I(()=>import("./vidstack-BmG4eXX--DDObzXvb.js"),__vite__mapDeps([15,1])).then(({insertContent:s})=>{s(t,this.a.$state)}),t}};qt.tagName="media-provider";let Tt=qt;const at=class at extends re(HTMLElement,Is){};at.tagName="media-player",at.attrs={autoPlay:"autoplay",crossOrigin:"crossorigin",playsInline:"playsinline",preferNativeHLS:"prefer-native-hls",minLiveDVRWindow:"min-live-dvr-window"};let wt=at;ne(wt);ne(Tt);const Ws=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"}));export{f as L,A as Q,U as T,Ws as v};
diff --git a/assets/vidstack-player-layouts-CbA2In8H.js b/assets/vidstack-player-layouts-CbA2In8H.js
deleted file mode 100644
index 7b29908..0000000
--- a/assets/vidstack-player-layouts-CbA2In8H.js
+++ /dev/null
@@ -1,827 +0,0 @@
-function __vite__mapDeps(indexes) {
-  if (!__vite__mapDeps.viteFileDeps) {
-    __vite__mapDeps.viteFileDeps = ["assets/vidstack-CRlTZX3Z-PBDNdscv.js","assets/vidstack-DQ6dSZwe-BTtv5vWE.js"]
-  }
-  return indexes.map((i) => __vite__mapDeps.viteFileDeps[i])
-}
-var Pe=Object.getPrototypeOf;var Me=Reflect.get;var pt=(e,t,s)=>Me(Pe(e),s,t);import{c as h,p as bt,e as M,b as Ut,o as V,i as Ie,f as J,u as x,C as Oe,g as Yt,h as k,w as Ht,j as Ve,k as y,l as Zt,m as ht,n as yt,q as gt,r as Jt,s as K,t as Xt,v as Le,x as te,y as ee,z as X,A as Be,B as Ge,D as G,E as Re,$ as Ne,F as _t,H as xt,G as Z,I as Fe,J as Ee,K as je,L as We,N as Ke,O as Qe,P as $,Q as qe,R as se,d as wt}from"./vidstack-6noeGFNR-CV2ORO4j.js";import{e as ze,c as Ue,t as Wt,A as Ye,l as kt,D as He,x as a,o as Ze,n as st,L as Ct,i as Je,a as ne}from"./vidstack-CbhL8rpf-C0Lj70YY.js";import{_ as ae}from"./app-ClwIkahu.js";class Xe extends Ue{constructor(t){super(t),this.h=null,this.w=!1,this.ra=null,this.w=t.type===Wt.ATTRIBUTE||t.type===Wt.BOOLEAN_ATTRIBUTE}render(t){return t!==this.h&&(this.disconnected(),this.h=t,this.isConnected&&this.Si()),this.h?this.el(bt(this.h)):Ye}reconnected(){this.Si()}disconnected(){var t;(t=this.ra)==null||t.call(this),this.ra=null}Si(){this.h&&(this.ra=M(this.o.bind(this)))}el(t){return this.w?kt(t):t}hl(t){this.setValue(this.el(t))}o(){var t;this.hl((t=this.h)==null?void 0:t.call(this))}}function o(e){return ze(Xe)(h(e))}class ie{constructor(t,s){this.oo=t,this.Ca=s,this.elements=new Set,this.vf=Ut(this.ea.bind(this))}connect(){this.ea();const t=new MutationObserver(this.vf);for(const s of this.oo)t.observe(s,{childList:!0,subtree:!0});V(()=>t.disconnect()),V(this.disconnect.bind(this))}disconnect(){this.elements.clear()}assign(t,s){Ie(t)?(s.textContent="",s.append(t)):He(t,s),s.style.display||(s.style.display="contents");const n=s.firstElementChild;if(!n)return;const i=s.getAttribute("data-class");i&&n.classList.add(...i.split(" "))}ea(t){if(t&&!t.some(i=>i.addedNodes.length))return;let s=!1,n=this.oo.flatMap(i=>[...i.querySelectorAll("slot")]);for(const i of n)!i.hasAttribute("name")||this.elements.has(i)||(this.elements.add(i),s=!0);s&&this.Ca(this.elements)}}let ts=0,H="data-slot-id";class Tt{constructor(t){this.oo=t,this.vf=Ut(this.ea.bind(this)),this.slots=new ie(t,this.ea.bind(this))}connect(){this.slots.connect(),this.ea();const t=new MutationObserver(this.vf);for(const s of this.oo)t.observe(s,{childList:!0});V(()=>t.disconnect())}ea(){for(const t of this.oo)for(const s of t.children){if(s.nodeType!==1)continue;const n=s.getAttribute("slot");if(!n)continue;s.style.display="none";let i=s.getAttribute(H);i||s.setAttribute(H,i=++ts+"");for(const l of this.slots.elements){if(l.getAttribute("name")!==n||l.getAttribute(H)===i)continue;const r=document.importNode(s,!0);n.includes("-icon")&&r.classList.add("vds-icon"),r.style.display="",r.removeAttribute("slot"),this.slots.assign(r,l),l.setAttribute(H,i)}}}}function oe({name:e,class:t,state:s,paths:n,viewBox:i="0 0 32 32"}){return a`<svg
-    class="${"vds-icon"+(t?` ${t}`:"")}"
-    viewBox="${i}"
-    fill="none"
-    aria-hidden="true"
-    focusable="false"
-    xmlns="http://www.w3.org/2000/svg"
-    data-icon=${kt(e??s)}
-  >
-    ${J(n)?Ze(n):o(n)}
-  </svg>`}class es{constructor(t){this.oo=t,this.Zj={},this.bk=!1,this.slots=new ie(t,this.ck.bind(this))}connect(){this.slots.connect(),V(this.disconnect.bind(this))}load(){this.xe().then(t=>{this.Zj=t,this.bk=!0,this.ck()})}disconnect(){for(const{slot:t}of this.dk())t.textContent=""}*dk(){for(const t of Object.keys(this.Zj)){const s=`${t}-icon`;for(const n of this.slots.elements)n.name===s&&(yield{icon:this.Zj[t],slot:n})}}ck(){if(this.bk)for(const{icon:t,slot:s}of this.dk())this.slots.assign(t,s)}}class le extends es{connect(){super.connect();const{player:t}=x();if(!t.el)return;let s,n=new IntersectionObserver(i=>{var l;(l=i[0])!=null&&l.isIntersecting&&(s==null||s(),s=void 0,this.load())});n.observe(t.el),s=V(()=>n.disconnect())}}const re=Zt();function u(){return ht(re)}const ss={colorScheme:"system",download:null,customIcons:!1,disableTimeSlider:!1,menuGroup:"bottom",noAudioGain:!1,noGestures:!1,noKeyboardAnimations:!1,noModal:!1,noScrubGesture:!1,playbackRates:{min:0,max:2,step:.25},audioGains:{min:0,max:300,step:25},seekStep:10,sliderChaptersMinWidth:325,hideQualityBitrate:!1,smallWhen:!1,thumbnails:null,translations:null,when:!1};var ns=Object.defineProperty,as=Object.getOwnPropertyDescriptor,St=(e,t,s,n)=>{for(var i=n>1?void 0:n?as(t,s):t,l=e.length-1,r;l>=0;l--)(r=e[l])&&(i=(n?r(t,s,i):r(i))||i);return n&&i&&ns(t,s,i),i};const Ft=class Ft extends Oe{constructor(){super(...arguments),this._m=h(()=>{const t=this.$props.when();return this.$m(t)}),this.Ym=h(()=>{const t=this.$props.smallWhen();return this.$m(t)}),this.menuContainer=null}get isMatch(){return this._m()}get isSmallLayout(){return this.Ym()}onSetup(){this.a=x(),this.setAttributes({"data-match":this._m,"data-sm":()=>this.Ym()?"":null,"data-lg":()=>this.Ym()?null:"","data-size":()=>this.Ym()?"sm":"lg","data-no-scrub-gesture":this.$props.noScrubGesture});const t=this;Yt(re,{...this.$props,when:this._m,smallWhen:this.Ym,userPrefersAnnouncements:k(!0),userPrefersKeyboardAnimations:k(!0),get menuContainer(){return t.menuContainer}})}onAttach(t){Ht(t,this.$props.colorScheme)}$m(t){return t!=="never"&&(Ve(t)?t:h(()=>t(this.a.player.state))())}};Ft.props=ss;let F=Ft;St([yt],F.prototype,"menuContainer",2);St([yt],F.prototype,"isMatch",1);St([yt],F.prototype,"isSmallLayout",1);function ue(e,t){M(()=>{const{player:s}=x(),n=s.el;return n&&K(n,"data-layout",t()&&e),()=>n==null?void 0:n.removeAttribute("data-layout")})}function S(e,t){var s;return((s=e())==null?void 0:s[t])??t}function Dt(){return o(()=>{const{translations:e,userPrefersAnnouncements:t}=u();return t()?a`<media-announcer .translations=${o(e)}></media-announcer>`:null})}function A(e,t=""){return a`<slot
-    name=${`${e}-icon`}
-    data-class=${`vds-icon vds-${e}-icon${t?` ${t}`:""}`}
-  ></slot>`}function q(e){return e.map(t=>A(t))}function d(e,t){return o(()=>S(e,t))}function At({tooltip:e}){const{translations:t}=u(),{remotePlaybackState:s}=y(),n=o(()=>{const l=S(t,"AirPlay"),r=Xt(s());return`${l} ${r}`}),i=d(t,"AirPlay");return a`
-    <media-tooltip class="vds-airplay-tooltip vds-tooltip">
-      <media-tooltip-trigger>
-        <media-airplay-button class="vds-airplay-button vds-button" aria-label=${n}>
-          ${A("airplay")}
-        </media-airplay-button>
-      </media-tooltip-trigger>
-      <media-tooltip-content class="vds-tooltip-content" placement=${e}>
-        <span class="vds-airplay-tooltip-text">${i}</span>
-      </media-tooltip-content>
-    </media-tooltip>
-  `}function de({tooltip:e}){const{translations:t}=u(),{remotePlaybackState:s}=y(),n=o(()=>{const l=S(t,"Google Cast"),r=Xt(s());return`${l} ${r}`}),i=d(t,"Google Cast");return a`
-    <media-tooltip class="vds-google-cast-tooltip vds-tooltip">
-      <media-tooltip-trigger>
-        <media-google-cast-button class="vds-google-cast-button vds-button" aria-label=${n}>
-          ${A("google-cast")}
-        </media-google-cast-button>
-      </media-tooltip-trigger>
-      <media-tooltip-content class="vds-tooltip-content" placement=${e}>
-        <span class="vds-google-cast-tooltip-text">${i}</span>
-      </media-tooltip-content>
-    </media-tooltip>
-  `}function nt({tooltip:e}){const{translations:t}=u(),s=d(t,"Play"),n=d(t,"Pause");return a`
-    <media-tooltip class="vds-play-tooltip vds-tooltip">
-      <media-tooltip-trigger>
-        <media-play-button
-          class="vds-play-button vds-button"
-          aria-label=${d(t,"Play")}
-        >
-          ${q(["play","pause","replay"])}
-        </media-play-button>
-      </media-tooltip-trigger>
-      <media-tooltip-content class="vds-tooltip-content" placement=${e}>
-        <span class="vds-play-tooltip-text">${s}</span>
-        <span class="vds-pause-tooltip-text">${n}</span>
-      </media-tooltip-content>
-    </media-tooltip>
-  `}function Kt({tooltip:e,ref:t=Ge}){const{translations:s}=u(),n=d(s,"Mute"),i=d(s,"Unmute");return a`
-    <media-tooltip class="vds-mute-tooltip vds-tooltip">
-      <media-tooltip-trigger>
-        <media-mute-button
-          class="vds-mute-button vds-button"
-          aria-label=${d(s,"Mute")}
-          ${st(t)}
-        >
-          ${q(["mute","volume-low","volume-high"])}
-        </media-mute-button>
-      </media-tooltip-trigger>
-      <media-tooltip-content class="vds-tooltip-content" placement=${e}>
-        <span class="vds-mute-tooltip-text">${i}</span>
-        <span class="vds-unmute-tooltip-text">${n}</span>
-      </media-tooltip-content>
-    </media-tooltip>
-  `}function Pt({tooltip:e}){const{translations:t}=u(),s=d(t,"Closed-Captions On"),n=d(t,"Closed-Captions Off");return a`
-    <media-tooltip class="vds-caption-tooltip vds-tooltip">
-      <media-tooltip-trigger>
-        <media-caption-button
-          class="vds-caption-button vds-button"
-          aria-label=${d(t,"Captions")}
-        >
-          ${q(["cc-on","cc-off"])}
-        </media-caption-button>
-      </media-tooltip-trigger>
-      <media-tooltip-content class="vds-tooltip-content" placement=${e}>
-        <span class="vds-cc-on-tooltip-text">${n}</span>
-        <span class="vds-cc-off-tooltip-text">${s}</span>
-      </media-tooltip-content>
-    </media-tooltip>
-  `}function is(){const{translations:e}=u(),t=d(e,"Enter PiP"),s=d(e,"Exit PiP");return a`
-    <media-tooltip class="vds-pip-tooltip vds-tooltip">
-      <media-tooltip-trigger>
-        <media-pip-button
-          class="vds-pip-button vds-button"
-          aria-label=${d(e,"PiP")}
-        >
-          ${q(["pip-enter","pip-exit"])}
-        </media-pip-button>
-      </media-tooltip-trigger>
-      <media-tooltip-content class="vds-tooltip-content">
-        <span class="vds-pip-enter-tooltip-text">${t}</span>
-        <span class="vds-pip-exit-tooltip-text">${s}</span>
-      </media-tooltip-content>
-    </media-tooltip>
-  `}function ce({tooltip:e}){const{translations:t}=u(),s=d(t,"Enter Fullscreen"),n=d(t,"Exit Fullscreen");return a`
-    <media-tooltip class="vds-fullscreen-tooltip vds-tooltip">
-      <media-tooltip-trigger>
-        <media-fullscreen-button
-          class="vds-fullscreen-button vds-button"
-          aria-label=${d(t,"Fullscreen")}
-        >
-          ${q(["fs-enter","fs-exit"])}
-        </media-fullscreen-button>
-      </media-tooltip-trigger>
-      <media-tooltip-content class="vds-tooltip-content" placement=${e}>
-        <span class="vds-fs-enter-tooltip-text">${s}</span>
-        <span class="vds-fs-exit-tooltip-text">${n}</span>
-      </media-tooltip-content>
-    </media-tooltip>
-  `}function Qt({backward:e,tooltip:t}){const{translations:s,seekStep:n}=u(),i=e?"Seek Backward":"Seek Forward",l=d(s,i);return a`
-    <media-tooltip class="vds-seek-tooltip vds-tooltip">
-      <media-tooltip-trigger>
-        <media-seek-button
-          class="vds-seek-button vds-button"
-          seconds=${o(()=>(e?-1:1)*n())}
-          aria-label=${l}
-        >
-          ${A(e?"seek-backward":"seek-forward")}
-        </media-seek-button>
-      </media-tooltip-trigger>
-      <media-tooltip-content class="vds-tooltip-content" placement=${t}>
-        ${d(s,i)}
-      </media-tooltip-content>
-    </media-tooltip>
-  `}function pe(){const{translations:e}=u(),{live:t}=y(),s=d(e,"Skip To Live"),n=d(e,"LIVE");return t()?a`
-        <media-live-button class="vds-live-button" aria-label=${s}>
-          <span class="vds-live-button-text">${n}</span>
-        </media-live-button>
-      `:null}function Mt(){return o(()=>{const{download:e,translations:t}=u(),s=e();if(Le(s))return null;const{source:n,title:i}=y(),l=n(),r=te({title:i(),src:l,download:s});return r?a`
-          <media-tooltip class="vds-download-tooltip vds-tooltip">
-            <media-tooltip-trigger>
-              <a
-                role="button"
-                class="vds-download-button vds-button"
-                aria-label=${d(t,"Download")}
-                href=${r.url+`?download=${r.name}`}
-                download=${r.name}
-                target="_blank"
-              >
-                <slot name="download-icon" data-class="vds-icon" />
-              </a>
-            </media-tooltip-trigger>
-            <media-tooltip-content class="vds-tooltip-content" placement="top">
-              ${d(t,"Download")}
-            </media-tooltip-content>
-          </media-tooltip>
-        `:null})}function It(){const{translations:e}=u();return a`
-    <media-captions
-      class="vds-captions"
-      .exampleText=${d(e,"Captions look like this")}
-    ></media-captions>
-  `}function O(){return a`<div class="vds-controls-spacer"></div>`}function me(e,t){return a`
-    <media-menu-portal .container=${e} disabled="fullscreen">
-      ${t}
-    </media-menu-portal>
-  `}function ve(e,t){let s=document.querySelector(`body > .${e}`);s||(s=document.createElement("div"),s.style.display="contents",s.classList.add(e),document.body.append(s));const{viewType:n}=y(),{colorScheme:i}=u();return M(()=>{if(!s)return;const l=t();K(s,"data-view-type",n()),K(s,"data-sm",l),K(s,"data-lg",!l),K(s,"data-size",l?"sm":"lg")}),Ht(s,i),s}function fe({placement:e,tooltip:t,portal:s}){const{textTracks:n}=x(),{viewType:i,clipStartTime:l,clipEndTime:r}=y(),{translations:p,thumbnails:c,menuContainer:v,noModal:f,menuGroup:m,smallWhen:g}=u();if(h(()=>{var Y;const R=l(),j=r()||1/0,U=k(null);ee(n,"chapters",U.set);const W=(Y=U())==null?void 0:Y.cues.filter(jt=>jt.startTime<=j&&jt.endTime>=R);return!(W!=null&&W.length)})())return null;const w=h(()=>f()?X(e):g()?null:X(e)),I=h(()=>!g()&&m()==="bottom"&&i()==="video"?26:0),T=k(!1);function B(){T.set(!0)}function C(){T.set(!1)}const D=a`
-    <media-menu-items
-      class="vds-chapters-menu-items vds-menu-items"
-      placement=${o(w)}
-      offset=${o(I)}
-    >
-      ${o(()=>T()?a`
-          <media-chapters-radio-group
-            class="vds-chapters-radio-group vds-radio-group"
-            .thumbnails=${o(c)}
-          >
-            <template>
-              <media-radio class="vds-chapter-radio vds-radio">
-                <media-thumbnail class="vds-thumbnail"></media-thumbnail>
-                <div class="vds-chapter-radio-content">
-                  <span class="vds-chapter-radio-label" data-part="label"></span>
-                  <span class="vds-chapter-radio-start-time" data-part="start-time"></span>
-                  <span class="vds-chapter-radio-duration" data-part="duration"></span>
-                </div>
-              </media-radio>
-            </template>
-          </media-chapters-radio-group>
-        `:null)}
-    </media-menu-items>
-  `;return a`
-    <media-menu class="vds-chapters-menu vds-menu" @open=${B} @close=${C}>
-      <media-tooltip class="vds-tooltip">
-        <media-tooltip-trigger>
-          <media-menu-button
-            class="vds-menu-button vds-button"
-            aria-label=${d(p,"Chapters")}
-          >
-            ${A("menu-chapters")}
-          </media-menu-button>
-        </media-tooltip-trigger>
-        <media-tooltip-content
-          class="vds-tooltip-content"
-          placement=${gt(t)?o(t):t}
-        >
-          ${d(p,"Chapters")}
-        </media-tooltip-content>
-      </media-tooltip>
-      ${s?me(v,D):D}
-    </media-menu>
-  `}function Ot(e){const{style:t}=new Option;return t.color=e,t.color.match(/\((.*?)\)/)[1].replace(/,/g," ")}let os=0;function P({label:e="",value:t="",children:s}){if(!e)return a`
-      <div class="vds-menu-section">
-        <div class="vds-menu-section-body">${s}</div>
-      </div>
-    `;const n=`vds-menu-section-${++os}`;return a`
-    <section class="vds-menu-section" role="group" aria-labelledby=${n}>
-      <div class="vds-menu-section-title">
-        <header id=${n}>${e}</header>
-        ${t?a`<div class="vds-menu-section-value">${t}</div>`:null}
-      </div>
-      <div class="vds-menu-section-body">${s}</div>
-    </section>
-  `}function z({label:e,children:t}){return a`
-    <div class="vds-menu-item">
-      <div class="vds-menu-item-label">${e}</div>
-      ${t}
-    </div>
-  `}function E({label:e,icon:t,hint:s}){return a`
-    <media-menu-button class="vds-menu-item">
-      ${A("menu-arrow-left","vds-menu-close-icon")}
-      ${t?A(t,"vds-menu-item-icon"):null}
-      <span class="vds-menu-item-label">${o(e)}</span>
-      <span class="vds-menu-item-hint" data-part="hint">${s?o(s):null} </span>
-      ${A("menu-arrow-right","vds-menu-open-icon")}
-    </media-menu-button>
-  `}function ls({value:e=null,options:t,hideLabel:s=!1,children:n=null,onChange:i=null}){function l(r){const{value:p,label:c}=r;return a`
-      <media-radio class="vds-radio" value=${p}>
-        ${A("menu-radio-check")}
-        ${s?null:a`
-              <span class="vds-radio-label" data-part="label">
-                ${J(c)?c:o(c)}
-              </span>
-            `}
-        ${gt(n)?n(r):n}
-      </media-radio>
-    `}return a`
-    <media-radio-group
-      class="vds-radio-group"
-      value=${J(e)?e:e?o(e):""}
-      @change=${i}
-    >
-      ${G(t)?t.map(l):o(()=>t().map(l))}
-    </media-radio-group>
-  `}function rs(e){return G(e)?e.map(t=>({label:t,value:t.toLowerCase()})):Object.keys(e).map(t=>({label:t,value:e[t]}))}function at(){return a`
-    <div class="vds-slider-track"></div>
-    <div class="vds-slider-track-fill vds-slider-track"></div>
-    <div class="vds-slider-thumb"></div>
-  `}function it(){return a`
-    <media-slider-steps class="vds-slider-steps">
-      <template>
-        <div class="vds-slider-step"></div>
-      </template>
-    </media-slider-steps>
-  `}function ot({label:e=null,value:t=null,upIcon:s="",downIcon:n="",children:i,isMin:l,isMax:r}){const p=e||t,c=[n?A(n,"down"):null,i,s?A(s,"up"):null];return a`
-    <div
-      class=${`vds-menu-item vds-menu-slider-item${p?" group":""}`}
-      data-min=${o(()=>l()?"":null)}
-      data-max=${o(()=>r()?"":null)}
-    >
-      ${p?a`
-            <div class="vds-menu-slider-title">
-              ${[e?a`<div>${e}</div>`:null,t?a`<div>${t}</div>`:null]}
-            </div>
-            <div class="vds-menu-slider-body">${c}</div>
-          `:c}
-    </div>
-  `}const Vt={type:"color"},us={type:"radio",values:{"Monospaced Serif":"mono-serif","Proportional Serif":"pro-serif","Monospaced Sans-Serif":"mono-sans","Proportional Sans-Serif":"pro-sans",Casual:"casual",Cursive:"cursive","Small Capitals":"capitals"}},ds={type:"slider",min:0,max:400,step:25,upIcon:"menu-font-size-up",downIcon:"menu-font-size-down"},Lt={type:"slider",min:0,max:100,step:5,upIcon:"menu-opacity-up",downIcon:"menu-opacity-down"},cs={type:"radio",values:["None","Drop Shadow","Raised","Depressed","Outline"]},Bt=Zt();function ps(){return o(()=>{const{hasCaptions:e}=y(),{translations:t}=u();return e()?(Yt(Bt,{all:new Set}),a`
-      <media-menu class="vds-font-menu vds-menu">
-        ${E({label:()=>S(t,"Caption Styles")})}
-        <media-menu-items class="vds-menu-items">
-          ${[P({label:d(t,"Font"),children:[ms(),vs()]}),P({label:d(t,"Text"),children:[fs(),bs(),$s()]}),P({label:d(t,"Text Background"),children:[hs(),ys()]}),P({label:d(t,"Display Background"),children:[gs(),_s()]}),P({children:[xs()]})]}
-        </media-menu-items>
-      </media-menu>
-    `):null})}function ms(){return L({group:"font",label:"Family",option:us,defaultValue:"pro-sans",cssVarName:"font-family",getCssVarValue(e,t){var n;const s=e==="capitals"?"small-caps":"";return(n=t.el)==null||n.style.setProperty("--media-user-font-variant",s),ws(e)}})}function vs(){return L({group:"font",label:"Size",option:ds,defaultValue:"100%",cssVarName:"font-size",getCssVarValue:lt})}function fs(){return L({group:"text",label:"Color",option:Vt,defaultValue:"#ffffff",cssVarName:"text-color",getCssVarValue(e){return`rgb(${Ot(e)} / var(--media-user-text-opacity, 1))`}})}function $s(){return L({group:"text",label:"Opacity",option:Lt,defaultValue:"100%",cssVarName:"text-opacity",getCssVarValue:lt})}function bs(){return L({group:"text",label:"Shadow",option:cs,defaultValue:"none",cssVarName:"text-shadow",getCssVarValue:ks})}function hs(){return L({group:"text-bg",label:"Color",option:Vt,defaultValue:"#000000",cssVarName:"text-bg",getCssVarValue(e){return`rgb(${Ot(e)} / var(--media-user-text-bg-opacity, 1))`}})}function ys(){return L({group:"text-bg",label:"Opacity",option:Lt,defaultValue:"100%",cssVarName:"text-bg-opacity",getCssVarValue:lt})}function gs(){return L({group:"display",label:"Color",option:Vt,defaultValue:"#000000",cssVarName:"display-bg",getCssVarValue(e){return`rgb(${Ot(e)} / var(--media-user-display-bg-opacity, 1))`}})}function _s(){return L({group:"display",label:"Opacity",option:Lt,defaultValue:"0%",cssVarName:"display-bg-opacity",getCssVarValue:lt})}function xs(){const{translations:e}=u(),t=()=>S(e,"Reset"),s=ht(Bt);function n(){s.all.forEach(i=>i())}return a`
-    <button class="vds-menu-item" role="menuitem" @click=${n}>
-      <span class="vds-menu-item-label">${o(t)}</span>
-    </button>
-  `}function L({group:e,label:t,option:s,defaultValue:n,cssVarName:i,getCssVarValue:l}){const{player:r}=x(),{translations:p}=u(),c=ht(Bt),v=`${e}-${t.toLowerCase()}`,f=k(n),m=()=>S(p,t),g=localStorage.getItem(`vds-player:${v}`);g&&_(g);function _(C){var D;f.set(C),localStorage.setItem(`vds-player:${v}`,C),(D=r.el)==null||D.style.setProperty(`--media-user-${i}`,(l==null?void 0:l(C,r))??C)}c.all.add(w),V(()=>void c.all.delete(w));function w(){_(n),I()}function I(){r.dispatchEvent(new Event("vds-font-change"))}if(s.type==="color"){let C=function(D){_(D.target.value),I()};return z({label:o(m),children:a`
-        <input
-          class="vds-color-picker"
-          type="color"
-          .value=${o(f)}
-          @input=${C}
-        />
-      `})}if(s.type==="slider"){let C=function(Y){_(Y.detail+"%"),I()};const{min:D,max:R,step:j,upIcon:U,downIcon:W}=s;return ot({label:o(m),value:o(f),upIcon:U,downIcon:W,isMin:()=>f()===D+"%",isMax:()=>f()===R+"%",children:a`
-        <media-slider
-          class="vds-slider"
-          min=${D}
-          max=${R}
-          step=${j}
-          key-step=${j}
-          .value=${o(()=>parseInt(f()))}
-          aria-label=${o(m)}
-          @value-change=${C}
-          @drag-value-change=${C}
-        >
-          ${at()}${it()}
-        </media-slider>
-      `})}const T=rs(s.values),B=()=>{var R;const C=f(),D=((R=T.find(j=>j.value===C))==null?void 0:R.label)||"";return S(p,J(D)?D:D())};return a`
-    <media-menu class=${`vds-${v}-menu vds-menu`}>
-      ${E({label:m,hint:B})}
-      <media-menu-items class="vds-menu-items">
-        ${ls({value:f,options:T,onChange({detail:C}){_(C),I()}})}
-      </media-menu-items>
-    </media-menu>
-  `}function lt(e){return(parseInt(e)/100).toString()}function ws(e){switch(e){case"mono-serif":return'"Courier New", Courier, "Nimbus Mono L", "Cutive Mono", monospace';case"mono-sans":return'"Deja Vu Sans Mono", "Lucida Console", Monaco, Consolas, "PT Mono", monospace';case"pro-sans":return'Roboto, "Arial Unicode Ms", Arial, Helvetica, Verdana, "PT Sans Caption", sans-serif';case"casual":return'"Comic Sans MS", Impact, Handlee, fantasy';case"cursive":return'"Monotype Corsiva", "URW Chancery L", "Apple Chancery", "Dancing Script", cursive';case"capitals":return'"Arial Unicode Ms", Arial, Helvetica, Verdana, "Marcellus SC", sans-serif + font-variant=small-caps';default:return'"Times New Roman", Times, Georgia, Cambria, "PT Serif Caption", serif'}}function ks(e){switch(e){case"drop shadow":return"rgb(34, 34, 34) 1.86389px 1.86389px 2.79583px, rgb(34, 34, 34) 1.86389px 1.86389px 3.72778px, rgb(34, 34, 34) 1.86389px 1.86389px 4.65972px";case"raised":return"rgb(34, 34, 34) 1px 1px, rgb(34, 34, 34) 2px 2px";case"depressed":return"rgb(204, 204, 204) 1px 1px, rgb(34, 34, 34) -1px -1px";case"outline":return"rgb(34, 34, 34) 0px 0px 1.86389px, rgb(34, 34, 34) 0px 0px 1.86389px, rgb(34, 34, 34) 0px 0px 1.86389px, rgb(34, 34, 34) 0px 0px 1.86389px, rgb(34, 34, 34) 0px 0px 1.86389px";default:return""}}function rt({label:e,checked:t,defaultChecked:s=!1,storageKey:n,onChange:i}){const{translations:l}=u(),r=n?localStorage.getItem(n):null,p=k(!!(r??s)),c=k(!1),v=o(Ne(p)),f=d(l,e);n&&i(bt(p)),t&&M(()=>void p.set(t()));function m(w){(w==null?void 0:w.button)!==1&&(p.set(I=>!I),n&&localStorage.setItem(n,p()?"1":""),i(p(),w),c.set(!1))}function g(w){_t(w)&&m()}function _(w){w.button===0&&c.set(!0)}return a`
-    <div
-      class="vds-menu-checkbox"
-      role="menuitemcheckbox"
-      tabindex="0"
-      aria-label=${f}
-      aria-checked=${v}
-      data-active=${o(()=>c()?"":null)}
-      @pointerup=${m}
-      @pointerdown=${_}
-      @keydown=${g}
-    ></div>
-  `}function Cs(){return o(()=>{const{translations:e}=u();return a`
-      <media-menu class="vds-accessibility-menu vds-menu">
-        ${E({label:()=>S(e,"Accessibility"),icon:"menu-accessibility"})}
-        <media-menu-items class="vds-menu-items">
-          ${[P({children:[Ts(),Ss()]}),P({children:[ps()]})]}
-        </media-menu-items>
-      </media-menu>
-    `})}function Ts(){const{userPrefersAnnouncements:e,translations:t}=u(),s="Announcements";return z({label:d(t,s),children:rt({label:s,storageKey:"vds-player::announcements",onChange(n){e.set(n)}})})}function Ss(){return o(()=>{const{translations:e,userPrefersKeyboardAnimations:t,noKeyboardAnimations:s}=u(),{viewType:n}=y();if(h(()=>n()!=="video"||s())())return null;const l="Keyboard Animations";return z({label:d(e,l),children:rt({label:l,defaultChecked:!0,storageKey:"vds-player::keyboard-animations",onChange(r){t.set(r)}})})})}function Ds(){return o(()=>{const{noAudioGain:e,translations:t}=u(),{audioTracks:s,canSetAudioGain:n}=y();return h(()=>!(n()&&!e())&&s().length<=1)()?null:a`
-      <media-menu class="vds-audio-menu vds-menu">
-        ${E({label:()=>S(t,"Audio"),icon:"menu-audio"})}
-        <media-menu-items class="vds-menu-items">
-          ${[As(),Ps()]}
-        </media-menu-items>
-      </media-menu>
-    `})}function As(){return o(()=>{const{translations:e}=u(),{audioTracks:t}=y(),s=d(e,"Default");return h(()=>t().length<=1)()?null:P({children:a`
-        <media-menu class="vds-audio-tracks-menu vds-menu">
-          ${E({label:()=>S(e,"Track")})}
-          <media-menu-items class="vds-menu-items">
-            <media-audio-radio-group
-              class="vds-audio-track-radio-group vds-radio-group"
-              empty-label=${s}
-            >
-              <template>
-                <media-radio class="vds-audio-track-radio vds-radio">
-                  <slot name="menu-radio-check-icon" data-class="vds-icon"></slot>
-                  <span class="vds-radio-label" data-part="label"></span>
-                </media-radio>
-              </template>
-            </media-audio-radio-group>
-          </media-menu-items>
-        </media-menu>
-      `})})}function Ps(){return o(()=>{const{noAudioGain:e,translations:t}=u(),{canSetAudioGain:s}=y();if(h(()=>!s()||e())())return null;const{audioGain:i}=y();return P({label:d(t,"Boost"),value:o(()=>Math.round(((i()??1)-1)*100)+"%"),children:[ot({upIcon:"menu-audio-boost-up",downIcon:"menu-audio-boost-down",children:Ms(),isMin:()=>((i()??1)-1)*100<=$e(),isMax:()=>((i()??1)-1)*100===be()})]})})}function Ms(){const{translations:e}=u(),t=d(e,"Boost"),s=$e,n=be,i=Is;return a`
-    <media-audio-gain-slider
-      class="vds-audio-gain-slider vds-slider"
-      aria-label=${t}
-      min=${o(s)}
-      max=${o(n)}
-      step=${o(i)}
-      key-step=${o(i)}
-    >
-      ${at()}${it()}
-    </media-audio-gain-slider>
-  `}function $e(){const{audioGains:e}=u(),t=e();return G(t)?t[0]??0:t.min}function be(){const{audioGains:e}=u(),t=e();return G(t)?t[t.length-1]??300:t.max}function Is(){const{audioGains:e}=u(),t=e();return G(t)?t[1]-t[0]||25:t.step}function Os(){return o(()=>{const{translations:e}=u(),{hasCaptions:t}=y(),s=d(e,"Off");return t()?a`
-      <media-menu class="vds-captions-menu vds-menu">
-        ${E({label:()=>S(e,"Captions"),icon:"menu-captions"})}
-        <media-menu-items class="vds-menu-items">
-          <media-captions-radio-group
-            class="vds-captions-radio-group vds-radio-group"
-            off-label=${s}
-          >
-            <template>
-              <media-radio class="vds-caption-radio vds-radio">
-                <slot name="menu-radio-check-icon" data-class="vds-icon"></slot>
-                <span class="vds-radio-label" data-part="label"></span>
-              </media-radio>
-            </template>
-          </media-captions-radio-group>
-        </media-menu-items>
-      </media-menu>
-    `:null})}function Vs(){return o(()=>{const{translations:e}=u();return a`
-      <media-menu class="vds-playback-menu vds-menu">
-        ${E({label:()=>S(e,"Playback"),icon:"menu-playback"})}
-        <media-menu-items class="vds-menu-items">
-          ${[P({children:Ls()}),Bs(),Fs()]}
-        </media-menu-items>
-      </media-menu>
-    `})}function Ls(){const{remote:e}=x(),{translations:t}=u(),s="Loop";return z({label:d(t,s),children:rt({label:s,storageKey:"vds-player::user-loop",onChange(n,i){e.userPrefersLoopChange(n,i)}})})}function Bs(){return o(()=>{const{translations:e}=u(),{canSetPlaybackRate:t,playbackRate:s}=y();return t()?P({label:d(e,"Speed"),value:o(()=>s()===1?S(e,"Normal"):s()+"x"),children:[ot({upIcon:"menu-speed-up",downIcon:"menu-speed-down",children:Rs(),isMin:()=>s()===he(),isMax:()=>s()===ye()})]}):null})}function he(){const{playbackRates:e}=u(),t=e();return G(t)?t[0]??0:t.min}function ye(){const{playbackRates:e}=u(),t=e();return G(t)?t[t.length-1]??2:t.max}function Gs(){const{playbackRates:e}=u(),t=e();return G(t)?t[1]-t[0]||.25:t.step}function Rs(){const{translations:e}=u(),t=d(e,"Speed"),s=he,n=ye,i=Gs;return a`
-    <media-speed-slider
-      class="vds-speed-slider vds-slider"
-      aria-label=${t}
-      min=${o(s)}
-      max=${o(n)}
-      step=${o(i)}
-      key-step=${o(i)}
-    >
-      ${at()}${it()}
-    </media-speed-slider>
-  `}function Ns(){const{remote:e,qualities:t}=x(),{autoQuality:s,canSetQuality:n,qualities:i}=y(),{translations:l}=u(),r="Auto";return h(()=>!n()||i().length<=1)()?null:z({label:d(l,r),children:rt({label:r,checked:s,onChange(c,v){c?e.requestAutoQuality(v):e.changeQuality(t.selectedIndex,v)}})})}function Fs(){return o(()=>{const{hideQualityBitrate:e,translations:t}=u(),{canSetQuality:s,qualities:n,quality:i}=y(),l=h(()=>!s()||n().length<=1),r=h(()=>Re(n()));return l()?null:P({label:d(t,"Quality"),value:o(()=>{var m,g;const p=(m=i())==null?void 0:m.height,c=e()?null:(g=i())==null?void 0:g.bitrate,v=c&&c>0?`${(c/1e6).toFixed(2)} Mbps`:null,f=S(t,"Auto");return p?`${p}p${v?` (${v})`:""}`:f}),children:[ot({upIcon:"menu-quality-up",downIcon:"menu-quality-down",children:Es(),isMin:()=>r()[0]===i(),isMax:()=>r().at(-1)===i()}),Ns()]})})}function Es(){const{translations:e}=u(),t=d(e,"Quality");return a`
-    <media-quality-slider class="vds-quality-slider vds-slider" aria-label=${t}>
-      ${at()}${it()}
-    </media-quality-slider>
-  `}function ge({placement:e,portal:t,tooltip:s}){return o(()=>{const{viewType:n}=y(),{translations:i,menuContainer:l,noModal:r,menuGroup:p,smallWhen:c}=u(),v=h(()=>r()?X(e):c()?null:X(e)),f=h(()=>!c()&&p()==="bottom"&&n()==="video"?26:0),m=k(!1);function g(){m.set(!0)}function _(){m.set(!1)}const w=a`
-      <media-menu-items
-        class="vds-settings-menu-items vds-menu-items"
-        placement=${o(v)}
-        offset=${o(f)}
-      >
-        ${o(()=>m()?[Vs(),Cs(),Ds(),Os()]:null)}
-      </media-menu-items>
-    `;return a`
-      <media-menu class="vds-settings-menu vds-menu" @open=${g} @close=${_}>
-        <media-tooltip class="vds-tooltip">
-          <media-tooltip-trigger>
-            <media-menu-button
-              class="vds-menu-button vds-button"
-              aria-label=${d(i,"Settings")}
-            >
-              ${A("menu-settings","vds-rotate-icon")}
-            </media-menu-button>
-          </media-tooltip-trigger>
-          <media-tooltip-content
-            class="vds-tooltip-content"
-            placement=${gt(s)?o(s):s}
-          >
-            ${d(i,"Settings")}
-          </media-tooltip-content>
-        </media-tooltip>
-        ${t?me(l,w):w}
-      </media-menu>
-    `})}function Gt({orientation:e,tooltip:t}){return o(()=>{const{pointer:s,muted:n,canSetVolume:i}=y();if(s()==="coarse"&&!n())return null;if(!i())return Kt({tooltip:t});const l=k(void 0),r=Be(l);return a`
-      <div class="vds-volume" ?data-active=${o(r)} ${st(l.set)}>
-        ${Kt({tooltip:t})}
-        <div class="vds-volume-popup">${js({orientation:e})}</div>
-      </div>
-    `})}function js({orientation:e}={}){const{translations:t}=u(),s=d(t,"Volume");return a`
-    <media-volume-slider
-      class="vds-volume-slider vds-slider"
-      aria-label=${s}
-      orientation=${kt(e)}
-    >
-      <div class="vds-slider-track"></div>
-      <div class="vds-slider-track-fill vds-slider-track"></div>
-      <media-slider-preview class="vds-slider-preview" no-clamp>
-        <media-slider-value class="vds-slider-value"></media-slider-value>
-      </media-slider-preview>
-      <div class="vds-slider-thumb"></div>
-    </media-volume-slider>
-  `}function Rt(){const e=k(void 0),t=k(0),{thumbnails:s,translations:n,sliderChaptersMinWidth:i,disableTimeSlider:l,seekStep:r,noScrubGesture:p}=u(),c=d(n,"Seek"),v=o(l),f=o(()=>t()<i()),m=o(s);return Jt(e,()=>{const g=e();g&&t.set(g.clientWidth)}),a`
-    <media-time-slider
-      class="vds-time-slider vds-slider"
-      aria-label=${c}
-      key-step=${o(r)}
-      ?disabled=${v}
-      ?no-swipe-gesture=${o(p)}
-      ${st(e.set)}
-    >
-      <media-slider-chapters class="vds-slider-chapters" ?disabled=${f}>
-        <template>
-          <div class="vds-slider-chapter">
-            <div class="vds-slider-track"></div>
-            <div class="vds-slider-track-fill vds-slider-track"></div>
-            <div class="vds-slider-progress vds-slider-track"></div>
-          </div>
-        </template>
-      </media-slider-chapters>
-      <div class="vds-slider-thumb"></div>
-      <media-slider-preview class="vds-slider-preview">
-        <media-slider-thumbnail
-          class="vds-slider-thumbnail vds-thumbnail"
-          .src=${m}
-        ></media-slider-thumbnail>
-        <div class="vds-slider-chapter-title" data-part="chapter-title"></div>
-        <media-slider-value class="vds-slider-value"></media-slider-value>
-      </media-slider-preview>
-    </media-time-slider>
-  `}function Ws(){return a`
-    <div class="vds-time-group">
-      ${o(()=>{const{duration:e}=y();return e()?[a`<media-time class="vds-time" type="current"></media-time>`,a`<div class="vds-time-divider">/</div>`,a`<media-time class="vds-time" type="duration"></media-time>`]:null})}
-    </div>
-  `}function Ks(){return o(()=>{const{live:e,duration:t}=y();return e()?pe():t()?a`<media-time class="vds-time" type="current" toggle remainder></media-time>`:null})}function _e(){return o(()=>{const{live:e}=y();return e()?pe():Ws()})}function xe(){return o(()=>{const{textTracks:e}=x(),{title:t,started:s}=y(),n=k(null);return ee(e,"chapters",n.set),n()&&(s()||!t())?we():a`<media-title class="vds-chapter-title"></media-title>`})}function we(){return a`<media-chapter-title class="vds-chapter-title"></media-chapter-title>`}class ke extends le{async xe(){const t=(await ae(()=>import("./vidstack-CRlTZX3Z-PBDNdscv.js"),__vite__mapDeps([0,1]))).icons,s={};for(const n of Object.keys(t))s[n]=oe({name:n,paths:t[n]});return s}}var N;let Qs=(N=class extends F{},N.props={...pt(N,N,"props"),when:({viewType:t})=>t==="audio",smallWhen:({width:t})=>t<576},N);function qs(){return[Dt(),It(),a`
-      <media-controls class="vds-controls">
-        <media-controls-group class="vds-controls-group">
-          ${[Qt({backward:!0,tooltip:"top start"}),nt({tooltip:"top"}),Qt({tooltip:"top"}),zs(),Rt(),Ks(),Gt({orientation:"vertical",tooltip:"top"}),Pt({tooltip:"top"}),Mt(),At({tooltip:"top"}),Us()]}
-        </media-controls-group>
-      </media-controls>
-    `]}function zs(){return o(()=>{let e=k(void 0),t=k(!1),s=x(),{title:n,started:i,currentTime:l,ended:r}=y(),{translations:p}=u(),c=Ee(e),v=()=>i()||l()>0;const f=()=>{const _=r()?"Replay":v()?"Continue":"Play";return`${S(p,_)}: ${n()}`};M(()=>{var _;c()&&document.activeElement===document.body&&((_=s.player.el)==null||_.focus())});function m(){const _=e(),w=!!_&&!c()&&_.clientWidth<_.children[0].clientWidth;_&&je(_,"vds-marquee",w),t.set(w)}function g(){return a`
-        <span class="vds-title-text">
-          ${o(f)}${o(()=>v()?we():null)}
-        </span>
-      `}return Jt(e,m),n()?a`
-          <span class="vds-title" title=${o(f)} ${st(e.set)}>
-            ${[g(),o(()=>t()&&!c()?g():null)]}
-          </span>
-        `:O()})}function Us(){const e="top end";return[fe({tooltip:"top",placement:e,portal:!0}),ge({tooltip:"top end",placement:e,portal:!0})]}const tt=class tt extends xt(Ct,Qs){constructor(){super(...arguments),this.jn=k(!1)}onSetup(){this.forwardKeepAlive=!1,this.a=x(),this.classList.add("vds-audio-layout"),this.menuContainer=ve("vds-audio-layout",()=>this.isSmallLayout);const{pointer:t}=this.a.$state;M(()=>{t()==="coarse"&&M(this.kn.bind(this))}),V(()=>{var s;return(s=this.menuContainer)==null?void 0:s.remove()})}onConnect(){ue("audio",()=>this.isMatch),M(()=>{const t=this.menuContainer?[this,this.menuContainer]:[this];this.$props.customIcons()?new Tt(t).connect():new ke(t).connect()})}render(){return a`${o(this._j.bind(this))}`}_j(){return this.isMatch?qs():null}kn(){if(!this.jn()){Z(this,"pointerdown",this.ln.bind(this),{capture:!0});return}Z(this,"pointerdown",t=>t.stopPropagation()),Z(window,"pointerdown",this.mn.bind(this))}ln(t){const{target:s}=t;Fe(s)&&s.closest(".vds-time-slider")&&(t.stopImmediatePropagation(),this.setAttribute("data-scrubbing",""),this.jn.set(!0))}mn(){this.jn.set(!1),this.removeAttribute("data-scrubbing")}};tt.tagName="media-audio-layout",tt.attrs={smallWhen:{converter(t){return t!=="never"&&!!t}}};let mt=tt;const Q=class Q extends F{};Q.props={...pt(Q,Q,"props"),when:({viewType:t})=>t==="video",smallWhen:({width:t,height:s})=>t<576||s<380};let vt=Q;function Ce(){return o(()=>{const e=x(),{noKeyboardAnimations:t,userPrefersKeyboardAnimations:s}=u();if(h(()=>t()||!s())())return null;const i=k(!1),{lastKeyboardAction:l}=e.$state;M(()=>{i.set(!!l());const m=setTimeout(()=>i.set(!1),500);return()=>{i.set(!1),window.clearTimeout(m)}});const r=h(()=>{var g;const m=(g=l())==null?void 0:g.action;return m&&i()?We(m):null}),p=h(()=>`vds-kb-action${i()?"":" hidden"}`),c=h(Ys),v=h(()=>{const m=Hs();return m?Ke(m):null});function f(){const m=v();return m?a`
-        <div class="vds-kb-bezel">
-          <div class="vds-kb-icon">${m}</div>
-        </div>
-      `:null}return a`
-      <div class=${o(p)} data-action=${o(r)}>
-        <div class="vds-kb-text-wrapper">
-          <div class="vds-kb-text">${o(c)}</div>
-        </div>
-        ${o(()=>Je(l(),f()))}
-      </div>
-    `})}function Ys(){var n;const{$state:e}=x(),t=(n=e.lastKeyboardAction())==null?void 0:n.action,s=e.audioGain()??1;switch(t){case"toggleMuted":return e.muted()?"0%":qt(e.volume(),s);case"volumeUp":case"volumeDown":return qt(e.volume(),s);default:return""}}function qt(e,t){return`${Math.round(e*t*100)}%`}function Hs(){var s;const{$state:e}=x();switch((s=e.lastKeyboardAction())==null?void 0:s.action){case"togglePaused":return e.paused()?"kb-pause-icon":"kb-play-icon";case"toggleMuted":return e.muted()||e.volume()===0?"kb-mute-icon":e.volume()>=.5?"kb-volume-up-icon":"kb-volume-down-icon";case"toggleFullscreen":return`kb-fs-${e.fullscreen()?"enter":"exit"}-icon`;case"togglePictureInPicture":return`kb-pip-${e.pictureInPicture()?"enter":"exit"}-icon`;case"toggleCaptions":return e.hasCaptions()?`kb-cc-${e.textTrack()?"on":"off"}-icon`:null;case"volumeUp":return"kb-volume-up-icon";case"volumeDown":return"kb-volume-down-icon";case"seekForward":return"kb-seek-forward-icon";case"seekBackward":return"kb-seek-backward-icon";default:return null}}function Zs(){return[Dt(),Te(),ut(),Ce(),It(),a`<div class="vds-scrim"></div>`,a`
-      <media-controls class="vds-controls">
-        ${[Xs(),O(),a`<media-controls-group class="vds-controls-group"></media-controls-group>`,O(),a`
-            <media-controls-group class="vds-controls-group">
-              ${Rt()}
-            </media-controls-group>
-          `,a`
-            <media-controls-group class="vds-controls-group">
-              ${[nt({tooltip:"top start"}),Gt({orientation:"horizontal",tooltip:"top"}),_e(),xe(),Pt({tooltip:"top"}),Js(),At({tooltip:"top"}),de({tooltip:"top"}),Mt(),is(),ce({tooltip:"top end"})]}
-            </media-controls-group>
-          `]}
-      </media-controls>
-    `]}function Js(){return o(()=>{const{menuGroup:e}=u();return e()==="bottom"?Nt():null})}function Xs(){return a`
-    <media-controls-group class="vds-controls-group">
-      ${o(()=>{const{menuGroup:e}=u();return e()==="top"?[O(),Nt()]:null})}
-    </media-controls-group>
-  `}function tn(){return[Dt(),Te(),ut(),It(),Ce(),a`<div class="vds-scrim"></div>`,a`
-      <media-controls class="vds-controls">
-        <media-controls-group class="vds-controls-group">
-          ${[At({tooltip:"top start"}),de({tooltip:"bottom start"}),O(),Pt({tooltip:"bottom"}),Mt(),Nt(),Gt({orientation:"vertical",tooltip:"bottom end"})]}
-        </media-controls-group>
-
-        ${O()}
-
-        <media-controls-group class="vds-controls-group" style="pointer-events: none;">
-          ${[O(),nt({tooltip:"top"}),O()]}
-        </media-controls-group>
-
-        ${O()}
-
-        <media-controls-group class="vds-controls-group">
-          ${[_e(),xe(),ce({tooltip:"top end"})]}
-        </media-controls-group>
-
-        <media-controls-group class="vds-controls-group">
-          ${Rt()}
-        </media-controls-group>
-      </media-controls>
-    `,sn()]}function en(){return a`
-    <div class="vds-load-container">
-      ${[ut(),nt({tooltip:"top"})]}
-    </div>
-  `}function sn(){return o(()=>{const{duration:e}=y();return e()===0?null:a`
-      <div class="vds-start-duration">
-        <media-time class="vds-time" type="duration"></media-time>
-      </div>
-    `})}function ut(){return a`
-    <div class="vds-buffering-indicator">
-      <media-spinner class="vds-buffering-spinner"></media-spinner>
-    </div>
-  `}function Nt(){const{menuGroup:e,smallWhen:t}=u(),s=()=>e()==="top"||t()?"bottom":"top",n=h(()=>`${s()} ${e()==="top"?"end":"center"}`),i=h(()=>`${s()} end`);return[fe({tooltip:n,placement:i,portal:!0}),ge({tooltip:n,placement:i,portal:!0})]}function Te(){return o(()=>{const{noGestures:e}=u();return e()?null:a`
-      <div class="vds-gestures">
-        <media-gesture class="vds-gesture" event="pointerup" action="toggle:paused"></media-gesture>
-        <media-gesture
-          class="vds-gesture"
-          event="pointerup"
-          action="toggle:controls"
-        ></media-gesture>
-        <media-gesture
-          class="vds-gesture"
-          event="dblpointerup"
-          action="toggle:fullscreen"
-        ></media-gesture>
-        <media-gesture class="vds-gesture" event="dblpointerup" action="seek:-10"></media-gesture>
-        <media-gesture class="vds-gesture" event="dblpointerup" action="seek:10"></media-gesture>
-      </div>
-    `})}const et=class et extends xt(Ct,vt){onSetup(){this.forwardKeepAlive=!1,this.a=x(),this.classList.add("vds-video-layout"),this.menuContainer=ve("vds-video-layout",()=>this.isSmallLayout),V(()=>{var t;return(t=this.menuContainer)==null?void 0:t.remove()})}onConnect(){ue("video",()=>this.isMatch),M(()=>{const t=this.menuContainer?[this,this.menuContainer]:[this];this.$props.customIcons()?new Tt(t).connect():new ke(t).connect()})}render(){return a`${o(this._j.bind(this))}`}_j(){const{load:t}=this.a.$props,{canLoad:s,streamType:n}=this.a.$state;return this.isMatch?t()==="play"&&!s()?en():n()==="unknown"?ut():this.isSmallLayout?tn():Zs():null}};et.tagName="media-video-layout",et.attrs={smallWhen:{converter(t){return t!=="never"&&!!t}}};let ft=et;class nn extends le{async xe(){const t=(await ae(()=>import("./vidstack-DXxIKXmd-Dge3KT8k.js"),__vite__mapDeps([]))).icons,s={};for(const n of Object.keys(t))s[n]=oe({name:n,paths:t[n],viewBox:"0 0 18 18"});return s}}function dt(e,t){var s;return((s=e())==null?void 0:s[t])??t}function an(){return un()}function on(){const e=x(),{load:t}=e.$props,{canLoad:s}=e.$state;return h(()=>t()==="play"&&!s())()?[Se(),zt()]:[ln(),rn(),zt(),dn(),Cn(),Tn()]}function Se(){const e=x(),{translations:t}=$(),{title:s}=e.$state,n=o(()=>`${dt(t,"Play")}, ${s()}`);return a`
-    <media-play-button
-      class="plyr__control plyr__control--overlaid"
-      aria-label=${n}
-      data-plyr="play"
-    >
-      <slot name="play-icon"></slot>
-    </button>
-  `}function ln(){const{controls:e}=$();return o(()=>e().includes("play-large")?Se():null)}function rn(){const{thumbnails:e,previewTime:t}=$();return a`
-    <media-thumbnail
-      .src=${o(e)}
-      class="plyr__preview-scrubbing"
-      time=${o(()=>t())}
-    ></media-thumbnail>
-  `}function zt(){const e=x(),{poster:t}=e.$state,s=o(()=>`background-image: url("${t()}");`);return a`<div class="plyr__poster" style=${s}></div>`}function un(){const e=new Set(["captions","pip","airplay","fullscreen"]),{controls:t}=$(),s=o(()=>t().filter(n=>!e.has(n)).map(De));return a`<div class="plyr__controls">${s}</div>`}function dn(){const{controls:e}=$(),t=o(()=>e().map(De));return a`<div class="plyr__controls">${t}</div>`}function De(e){switch(e){case"airplay":return cn();case"captions":return pn();case"current-time":return wn();case"download":return kn();case"duration":return Ae();case"fast-forward":return yn();case"fullscreen":return mn();case"mute":case"volume":case"mute+volume":return _n(e);case"pip":return fn();case"play":return $n();case"progress":return gn();case"restart":return bn();case"rewind":return hn();case"settings":return Sn();default:return null}}function cn(){const{translations:e}=$();return a`
-    <media-airplay-button class="plyr__controls__item plyr__control" data-plyr="airplay">
-      <slot name="airplay-icon"></slot>
-      <span class="plyr__tooltip">${b(e,"AirPlay")}</span>
-    </media-airplay-button>
-  `}function pn(){const{translations:e}=$(),t=b(e,"Disable captions"),s=b(e,"Enable captions");return a`
-    <media-caption-button
-      class="plyr__controls__item plyr__control"
-      data-no-label
-      data-plyr="captions"
-    >
-      <slot name="captions-on-icon" data-class="icon--pressed"></slot>
-      <slot name="captions-off-icon" data-class="icon--not-pressed"></slot>
-      <span class="label--pressed plyr__tooltip">${t}</span>
-      <span class="label--not-pressed plyr__tooltip">${s}</span>
-    </media-caption-button>
-  `}function mn(){const{translations:e}=$(),t=b(e,"Enter Fullscreen"),s=b(e,"Exit Fullscreen");return a`
-    <media-fullscreen-button
-      class="plyr__controls__item plyr__control"
-      data-no-label
-      data-plyr="fullscreen"
-    >
-      <slot name="enter-fullscreen-icon" data-class="icon--pressed"></slot>
-      <slot name="exit-fullscreen-icon" data-class="icon--not-pressed"></slot>
-      <span class="label--pressed plyr__tooltip">${s}</span>
-      <span class="label--not-pressed plyr__tooltip">${t}</span>
-    </media-fullscreen-button>
-  `}function vn(){const{translations:e}=$(),t=b(e,"Mute"),s=b(e,"Unmute");return a`
-    <media-mute-button class="plyr__control" data-no-label data-plyr="mute">
-      <slot name="muted-icon" data-class="icon--pressed"></slot>
-      <slot name="volume-icon" data-class="icon--not-pressed"></slot>
-      <span class="label--pressed plyr__tooltip">${s}</span>
-      <span class="label--not-pressed plyr__tooltip">${t}</span>
-    </media-mute-button>
-  `}function fn(){const{translations:e}=$(),t=b(e,"Enter PiP"),s=b(e,"Exit PiP");return a`
-    <media-pip-button class="plyr__controls__item plyr__control" data-no-label data-plyr="pip">
-      <slot name="pip-icon"></slot>
-      <slot name="enter-pip-icon" data-class="icon--pressed"></slot>
-      <slot name="exit-pip-icon" data-class="icon--not-pressed"></slot>
-      <span class="label--pressed plyr__tooltip">${s}</span>
-      <span class="label--not-pressed plyr__tooltip">${t}</span>
-    </media-pip-button>
-  `}function $n(){const{translations:e}=$(),t=b(e,"Play"),s=b(e,"Pause");return a`
-    <media-play-button class="plyr__controls__item plyr__control" data-no-label data-plyr="play">
-      <slot name="pause-icon" data-class="icon--pressed"></slot>
-      <slot name="play-icon" data-class="icon--not-pressed"></slot>
-      <span class="label--pressed plyr__tooltip">${s}</span>
-      <span class="label--not-pressed plyr__tooltip">${t}</span>
-    </media-play-button>
-  `}function bn(){const{translations:e}=$(),{remote:t}=x(),s=b(e,"Restart");function n(i){se(i)&&!_t(i)||t.seek(0,i)}return a`
-    <button
-      type="button"
-      class="plyr__control"
-      data-plyr="restart"
-      @pointerup=${n}
-      @keydown=${n}
-    >
-      <slot name="restart-icon"></slot>
-      <span class="plyr__tooltip">${s}</span>
-    </button>
-  `}function hn(){const{translations:e,seekTime:t}=$(),s=o(()=>`${dt(e,"Rewind")} ${t()}s`),n=o(()=>-1*t());return a`
-    <media-seek-button
-      class="plyr__controls__item plyr__control"
-      seconds=${n}
-      data-no-label
-      data-plyr="rewind"
-    >
-      <slot name="rewind-icon"></slot>
-      <span class="plyr__tooltip">${s}</span>
-    </media-seek-button>
-  `}function yn(){const{translations:e,seekTime:t}=$(),s=o(()=>`${dt(e,"Forward")} ${t()}s`),n=o(t);return a`
-    <media-seek-button
-      class="plyr__controls__item plyr__control"
-      seconds=${n}
-      data-no-label
-      data-plyr="fast-forward"
-    >
-      <slot name="fast-forward-icon"></slot>
-      <span class="plyr__tooltip">${s}</span>
-    </media-seek-button>
-  `}function gn(){let e=x(),{duration:t,viewType:s}=e.$state,{translations:n,markers:i,thumbnails:l,seekTime:r,previewTime:p}=$(),c=b(n,"Seek"),v=k(null),f=o(()=>{const T=v();return T?a`<span class="plyr__progress__marker-label">${ne(T.label)}<br /></span>`:null});function m(T){p.set(T.detail)}function g(){v.set(this)}function _(){v.set(null)}function w(){const T=l(),B=o(()=>s()==="audio");return T?a`
-          <media-slider-preview class="plyr__slider__preview" ?no-clamp=${B}>
-            <media-slider-thumbnail .src=${T} class="plyr__slider__preview__thumbnail">
-              <span class="plyr__slider__preview__time-container">
-                ${f}
-                <media-slider-value class="plyr__slider__preview__time"></media-slider-value>
-              </span>
-            </media-slider-thumbnail>
-          </media-slider-preview>
-        `:a`
-          <span class="plyr__tooltip">
-            ${f}
-            <media-slider-value></media-slider-value>
-          </span>
-        `}function I(){var B;const T=t();return Number.isFinite(T)?(B=i())==null?void 0:B.map(C=>a`
-        <span
-          class="plyr__progress__marker"
-          @mouseenter=${g.bind(C)}
-          @mouseleave=${_}
-          style=${`left: ${C.time/T*100}%;`}
-        ></span>
-      `):null}return a`
-    <div class="plyr__controls__item plyr__progress__container">
-      <div class="plyr__progress">
-        <media-time-slider
-          class="plyr__slider"
-          data-plyr="seek"
-          pause-while-dragging
-          key-step=${o(r)}
-          aria-label=${c}
-          @media-seeking-request=${m}
-        >
-          <div class="plyr__slider__track"></div>
-          <div class="plyr__slider__thumb"></div>
-          <div class="plyr__slider__buffer"></div>
-          ${o(w)}${o(I)}
-        </media-time-slider>
-      </div>
-    </div>
-  `}function _n(e){return o(()=>{const t=e==="mute"||e==="mute+volume",s=e==="volume"||e==="mute+volume";return a`
-      <div class="plyr__controls__item plyr__volume">
-        ${[t?vn():null,s?xn():null]}
-      </div>
-    `})}function xn(){const{translations:e}=$(),t=b(e,"Volume");return a`
-    <media-volume-slider class="plyr__slider" data-plyr="volume" aria-label=${t}>
-      <div class="plyr__slider__track"></div>
-      <div class="plyr__slider__thumb"></div>
-    </media-volume-slider>
-  `}function wn(){const e=x(),{translations:t,invertTime:s,toggleTime:n,displayDuration:i}=$(),l=k(bt(s));function r(c){!n()||i()||se(c)&&!_t(c)||l.set(v=>!v)}function p(){return o(()=>i()?Ae():null)}return o(()=>{const{streamType:c}=e.$state,v=b(t,"LIVE"),f=b(t,"Current time"),m=o(()=>!i()&&l());return c()==="live"||c()==="ll-live"?a`
-          <media-live-button
-            class="plyr__controls__item plyr__control plyr__live-button"
-            data-plyr="live"
-          >
-            <span class="plyr__live-button__text">${v}</span>
-          </media-live-button>
-        `:a`
-          <media-time
-            type="current"
-            class="plyr__controls__item plyr__time plyr__time--current"
-            tabindex="0"
-            role="timer"
-            aria-label=${f}
-            ?remainder=${m}
-            @pointerup=${r}
-            @keydown=${r}
-          ></media-time>
-          ${p()}
-        `})}function Ae(){const{translations:e}=$(),t=b(e,"Duration");return a`
-    <media-time
-      type="duration"
-      class="plyr__controls__item plyr__time plyr__time--duration"
-      role="timer"
-      tabindex="0"
-      aria-label=${t}
-    ></media-time>
-  `}function kn(){return o(()=>{const e=x(),{translations:t,download:s}=$(),{title:n,source:i}=e.$state,l=i(),r=s(),p=te({title:n(),src:l,download:r}),c=b(t,"Download");return p?a`
-          <a
-            class="plyr__controls__item plyr__control"
-            href=${p.url+`?download=${p.name}`}
-            download=${p.name}
-            target="_blank"
-          >
-            <slot name="download-icon" />
-            <span class="plyr__tooltip">${c}</span>
-          </a>
-        `:null})}function Cn(){return o(()=>{const{clickToPlay:e,clickToFullscreen:t}=$();return[e()?a`
-            <media-gesture
-              class="plyr__gesture"
-              event="pointerup"
-              action="toggle:paused"
-            ></media-gesture>
-          `:null,t()?a`
-            <media-gesture
-              class="plyr__gesture"
-              event="dblpointerup"
-              action="toggle:fullscreen"
-            ></media-gesture>
-          `:null]})}function Tn(){const e=x(),t=k(void 0),s=o(()=>{var n;return ne((n=t())==null?void 0:n.text)});return M(()=>{const n=e.$state.textTrack();if(!n)return;function i(){t.set(n==null?void 0:n.activeCues[0])}return i(),Z(n,"cue-change",i)}),a`
-    <div class="plyr__captions" dir="auto">
-      <span class="plyr__caption">${s}</span>
-    </div>
-  `}function Sn(){const{translations:e}=$(),t=b(e,"Settings");return a`
-    <div class="plyr__controls__item plyr__menu">
-      <media-menu>
-        <media-menu-button class="plyr__control" data-plyr="settings">
-          <slot name="settings-icon" />
-          <span class="plyr__tooltip">${t}</span>
-        </media-menu-button>
-        <media-menu-items class="plyr__menu__container" placement="top end">
-          <div><div>${[An(),On(),Ln(),Mn()]}</div></div>
-        </media-menu-items>
-      </media-menu>
-    </div>
-  `}function ct({label:e,children:t}){const s=k(!1);return a`
-    <media-menu @open=${()=>s.set(!0)} @close=${()=>s.set(!1)}>
-      ${Dn({label:e,open:s})}
-      <media-menu-items>${t}</media-menu-items>
-    </media-menu>
-  `}function Dn({open:e,label:t}){const{translations:s}=$(),n=o(()=>`plyr__control plyr__control--${e()?"back":"forward"}`);function i(){const l=b(s,"Go back to previous menu");return o(()=>e()?a`<span class="plyr__sr-only">${l}</span>`:null)}return a`
-    <media-menu-button class=${n} data-plyr="settings">
-      <span class="plyr__menu__label" aria-hidden=${Gn(e)}>
-        ${b(s,t)}
-      </span>
-      <span class="plyr__menu__value" data-part="hint"></span>
-      ${i()}
-    </media-menu-button>
-  `}function An(){return ct({label:"Audio",children:Pn()})}function Pn(){const{translations:e}=$();return a`
-    <media-audio-radio-group empty-label=${b(e,"Default")}>
-      <template>
-        <media-radio class="plyr__control" data-plyr="audio">
-          <span data-part="label"></span>
-        </media-radio>
-      </template>
-    </media-audio-radio-group>
-  `}function Mn(){return ct({label:"Speed",children:In()})}function In(){const{translations:e,speed:t}=$();return a`
-    <media-speed-radio-group .rates=${t} normal-label=${b(e,"Normal")}>
-      <template>
-        <media-radio class="plyr__control" data-plyr="speed">
-          <span data-part="label"></span>
-        </media-radio>
-      </template>
-    </media-speed-radio-group>
-  `}function On(){return ct({label:"Captions",children:Vn()})}function Vn(){const{translations:e}=$();return a`
-    <media-captions-radio-group off-label=${b(e,"Disabled")}>
-      <template>
-        <media-radio class="plyr__control" data-plyr="captions">
-          <span data-part="label"></span>
-        </media-radio>
-      </template>
-    </media-captions-radio-group>
-  `}function Ln(){return ct({label:"Quality",children:Bn()})}function Bn(){const{translations:e}=$();return a`
-    <media-quality-radio-group auto-label=${b(e,"Auto")}>
-      <template>
-        <media-radio class="plyr__control" data-plyr="quality">
-          <span data-part="label"></span>
-        </media-radio>
-      </template>
-    </media-quality-radio-group>
-  `}function Gn(e){return o(()=>e()?"true":"false")}function b(e,t){return o(()=>dt(e,t))}const Et=class Et extends xt(Ct,qe){onSetup(){this.forwardKeepAlive=!1,this.a=x()}onConnect(){var t;(t=this.a.player.el)==null||t.setAttribute("data-layout","plyr"),V(()=>{var s;return(s=this.a.player.el)==null?void 0:s.removeAttribute("data-layout")}),Qe(this,this.a),M(()=>{this.$props.customIcons()?new Tt([this]).connect():new nn([this]).connect()})}render(){return a`${o(this._j.bind(this))}`}_j(){const{viewType:t}=this.a.$state;return t()==="audio"?an():t()==="video"?on():null}};Et.tagName="media-plyr-layout";let $t=Et;wt(mt);wt(ft);wt($t);
diff --git a/assets/vidstack-player-layouts-nRkOMaNb.js b/assets/vidstack-player-layouts-nRkOMaNb.js
new file mode 100644
index 0000000..b64bfd8
--- /dev/null
+++ b/assets/vidstack-player-layouts-nRkOMaNb.js
@@ -0,0 +1,855 @@
+function __vite__mapDeps(indexes) {
+  if (!__vite__mapDeps.viteFileDeps) {
+    __vite__mapDeps.viteFileDeps = ["assets/vidstack-CmqqnRgc-CHPJw6F5.js","assets/vidstack-BeyDmEgV-DK6K5w61.js"]
+  }
+  return indexes.map((i) => __vite__mapDeps.viteFileDeps[i])
+}
+var je=Object.getPrototypeOf;var ze=Reflect.get;var yt=(e,t,s)=>ze(je(e),s,t);import{x as _,p as Dt,h as S,r as ie,o as H,a4 as Ze,w as K,A as y,a5 as oe,C as le,k as re,s as w,a6 as ue,a7 as Ye,t as Y,a8 as ce,y as de,a9 as x,aa as Pt,ab as pe,q as j,u as me,ac as Xe,ad as ve,ae as fe,af as nt,ag as Je,W as ts,U as es,ah as ss,i as L,H as Mt,B as ns,a1 as Ot,l as st,Y as as,ai as is,aj as os,ak as ls,al as rs,_ as $e,a2 as It}from"./vidstack-BeyDmEgV-DK6K5w61.js";import{_ as he}from"./app-Flo2gZk8.js";import{A as F,T as us,D as Jt,x as i,s as cs,$ as ds,L as Gt}from"./vidstack-D2YigfqZ-BLArkuQb.js";/**
+ * @license
+ * Copyright 2018 Google LLC
+ * SPDX-License-Identifier: BSD-3-Clause
+ */const Lt=e=>e??F;/**
+ * @license
+ * Copyright 2017 Google LLC
+ * SPDX-License-Identifier: BSD-3-Clause
+ */const at={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},X=e=>(...t)=>({_$litDirective$:e,values:t});let Bt=class{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,s,n){this._$Ct=t,this._$AM=s,this._$Ci=n}_$AS(t,s){return this.update(t,s)}update(t,s){return this.render(...s)}};/**
+ * @license
+ * Copyright 2017 Google LLC
+ * SPDX-License-Identifier: BSD-3-Clause
+ */let it=class extends Bt{constructor(t){if(super(t),this.et=F,t.type!==at.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(t){if(t===F||t==null)return this.ft=void 0,this.et=t;if(t===us)return t;if(typeof t!="string")throw Error(this.constructor.directiveName+"() called with a non-string value");if(t===this.et)return this.ft;this.et=t;const s=[t];return s.raw=s,this.ft={_$litType$:this.constructor.resultType,strings:s,values:[]}}};it.directiveName="unsafeHTML",it.resultType=1;const be=X(it);/**
+ * @license
+ * Copyright 2017 Google LLC
+ * SPDX-License-Identifier: BSD-3-Clause
+ */class Tt extends it{}Tt.directiveName="unsafeSVG",Tt.resultType=2;const ps=X(Tt);/**
+ * @license
+ * Copyright 2020 Google LLC
+ * SPDX-License-Identifier: BSD-3-Clause
+ */const ms=e=>e.strings===void 0,vs={},fs=(e,t=vs)=>e._$AH=t;/**
+ * @license
+ * Copyright 2017 Google LLC
+ * SPDX-License-Identifier: BSD-3-Clause
+ */const z=(e,t)=>{var s,n;const a=e._$AN;if(a===void 0)return!1;for(const l of a)(n=(s=l)._$AO)===null||n===void 0||n.call(s,t,!1),z(l,t);return!0},ot=e=>{let t,s;do{if((t=e._$AM)===void 0)break;s=t._$AN,s.delete(e),e=t}while((s==null?void 0:s.size)===0)},ye=e=>{for(let t;t=e._$AM;e=t){let s=t._$AN;if(s===void 0)t._$AN=s=new Set;else if(s.has(e))break;s.add(e),bs(t)}};function $s(e){this._$AN!==void 0?(ot(this),this._$AM=e,ye(this)):this._$AM=e}function hs(e,t=!1,s=0){const n=this._$AH,a=this._$AN;if(a!==void 0&&a.size!==0)if(t)if(Array.isArray(n))for(let l=s;l<n.length;l++)z(n[l],!1),ot(n[l]);else n!=null&&(z(n,!1),ot(n));else z(this,e)}const bs=e=>{var t,s,n,a;e.type==at.CHILD&&((t=(n=e)._$AP)!==null&&t!==void 0||(n._$AP=hs),(s=(a=e)._$AQ)!==null&&s!==void 0||(a._$AQ=$s))};class ge extends Bt{constructor(){super(...arguments),this._$AN=void 0}_$AT(t,s,n){super._$AT(t,s,n),ye(this),this.isConnected=t._$AU}_$AO(t,s=!0){var n,a;t!==this.isConnected&&(this.isConnected=t,t?(n=this.reconnected)===null||n===void 0||n.call(this):(a=this.disconnected)===null||a===void 0||a.call(this)),s&&(z(this,t),ot(this))}setValue(t){if(ms(this._$Ct))this._$Ct._$AI(t,this);else{const s=[...this._$Ct._$AH];s[this._$Ci]=t,this._$Ct._$AI(s,this,0)}}disconnected(){}reconnected(){}}class ys extends ge{constructor(t){super(t),this.h=null,this.w=!1,this.$=null,this.w=t.type===at.ATTRIBUTE||t.type===at.BOOLEAN_ATTRIBUTE}render(t){return t!==this.h&&(this.disconnected(),this.h=t,this.isConnected&&this.Gl()),this.h?this.x(Dt(this.h)):F}reconnected(){this.Gl()}disconnected(){var t;(t=this.$)==null||t.call(this),this.$=null}Gl(){this.h&&(this.$=S(this.l.bind(this)))}x(t){return this.w?Lt(t):t}y(t){this.setValue(this.x(t))}l(){var t;this.y((t=this.h)==null?void 0:t.call(this))}}function o(e){return X(ys)(_(e))}class _e{constructor(t,s){this._m=t,this.La=s,this.elements=new Set,this.Gc=ie(this.Ha.bind(this))}connect(){this.Ha();const t=new MutationObserver(this.Gc);for(const s of this._m)t.observe(s,{childList:!0,subtree:!0});H(()=>t.disconnect()),H(this.disconnect.bind(this))}disconnect(){this.elements.clear()}assign(t,s){Ze(t)?(s.textContent="",s.append(t)):(Jt(null,s),Jt(t,s)),s.style.display||(s.style.display="contents");const n=s.firstElementChild;if(!n)return;const a=s.getAttribute("data-class");a&&n.classList.add(...a.split(" "))}Ha(t){if(t&&!t.some(a=>a.addedNodes.length))return;let s=!1,n=this._m.flatMap(a=>[...a.querySelectorAll("slot")]);for(const a of n)!a.hasAttribute("name")||this.elements.has(a)||(this.elements.add(a),s=!0);s&&this.La(this.elements)}}let gs=0,et="data-slot-id";class Nt{constructor(t){this._m=t,this.Gc=ie(this.Ha.bind(this)),this.slots=new _e(t,this.Ha.bind(this))}connect(){this.slots.connect(),this.Ha();const t=new MutationObserver(this.Gc);for(const s of this._m)t.observe(s,{childList:!0});H(()=>t.disconnect())}Ha(){for(const t of this._m)for(const s of t.children){if(s.nodeType!==1)continue;const n=s.getAttribute("slot");if(!n)continue;s.style.display="none";let a=s.getAttribute(et);a||s.setAttribute(et,a=++gs+"");for(const l of this.slots.elements){if(l.getAttribute("name")!==n||l.getAttribute(et)===a)continue;const r=document.importNode(s,!0);n.includes("-icon")&&r.classList.add("vds-icon"),r.style.display="",r.removeAttribute("slot"),this.slots.assign(r,l),l.setAttribute(et,a)}}}}function xe({name:e,class:t,state:s,paths:n,viewBox:a="0 0 32 32"}){return i`<svg
+    class="${"vds-icon"+(t?` ${t}`:"")}"
+    viewBox="${a}"
+    fill="none"
+    aria-hidden="true"
+    focusable="false"
+    xmlns="http://www.w3.org/2000/svg"
+    data-icon=${Lt(e??s)}
+  >
+    ${K(n)?ps(n):o(n)}
+  </svg>`}class _s{constructor(t){this._m=t,this.dn={},this.gn=!1,this.slots=new _e(t,this.hn.bind(this))}connect(){this.slots.connect()}load(){this.Pf().then(t=>{this.dn=t,this.gn=!0,this.hn()})}*jn(){for(const t of Object.keys(this.dn)){const s=`${t}-icon`;for(const n of this.slots.elements)n.name===s&&(yield{icon:this.dn[t],slot:n})}}hn(){if(this.gn)for(const{icon:t,slot:s}of this.jn())this.slots.assign(t,s)}}class Te extends _s{connect(){super.connect();const{player:t}=y();if(!t.el)return;let s,n=new IntersectionObserver(a=>{var l;(l=a[0])!=null&&l.isIntersecting&&(s==null||s(),s=void 0,this.load())});n.observe(t.el),s=H(()=>n.disconnect())}}const gt=new WeakMap,ct=X(class extends ge{render(e){return F}update(e,[t]){var s;const n=t!==this.G;return n&&this.G!==void 0&&this.ot(void 0),(n||this.rt!==this.lt)&&(this.G=t,this.dt=(s=e.options)===null||s===void 0?void 0:s.host,this.ot(this.lt=e.element)),F}ot(e){var t;if(typeof this.G=="function"){const s=(t=this.dt)!==null&&t!==void 0?t:globalThis;let n=gt.get(s);n===void 0&&(n=new WeakMap,gt.set(s,n)),n.get(this.G)!==void 0&&this.G.call(this.dt,void 0),n.set(this.G,e),e!==void 0&&this.G.call(this.dt,e)}else this.G.value=e}get rt(){var e,t,s;return typeof this.G=="function"?(t=gt.get((e=this.dt)!==null&&e!==void 0?e:globalThis))===null||t===void 0?void 0:t.get(this.G):(s=this.G)===null||s===void 0?void 0:s.value}disconnected(){this.rt===this.lt&&this.ot(void 0)}reconnected(){this.ot(this.lt)}}),we=ce();function c(){return oe(we)}const xs={colorScheme:"system",download:null,customIcons:!1,disableTimeSlider:!1,menuContainer:null,menuGroup:"bottom",noAudioGain:!1,noGestures:!1,noKeyboardAnimations:!1,noModal:!1,noScrubGesture:!1,playbackRates:{min:0,max:2,step:.25},audioGains:{min:0,max:300,step:25},seekStep:10,sliderChaptersMinWidth:325,hideQualityBitrate:!1,smallWhen:!1,thumbnails:null,translations:null,when:!1};var Ts=Object.defineProperty,ws=Object.getOwnPropertyDescriptor,ke=(e,t,s,n)=>{for(var a=ws(t,s),l=e.length-1,r;l>=0;l--)(r=e[l])&&(a=r(t,s,a)||a);return a&&Ts(t,s,a),a};const jt=class jt extends le{constructor(){super(...arguments),this.cn=_(()=>{const t=this.$props.when();return this.fn(t)}),this.$m=_(()=>{const t=this.$props.smallWhen();return this.fn(t)})}get isMatch(){return this.cn()}get isSmallLayout(){return this.$m()}onSetup(){this.a=y(),this.setAttributes({"data-match":this.cn,"data-sm":()=>this.$m()?"":null,"data-lg":()=>this.$m()?null:"","data-size":()=>this.$m()?"sm":"lg","data-no-scrub-gesture":this.$props.noScrubGesture}),re(we,{...this.$props,when:this.cn,smallWhen:this.$m,userPrefersAnnouncements:w(!0),userPrefersKeyboardAnimations:w(!0),menuPortal:w(null)})}onAttach(t){ue(t,this.$props.colorScheme)}fn(t){return t!=="never"&&(Ye(t)?t:_(()=>t(this.a.player.state))())}};jt.props=xs;let Q=jt;ke([de],Q.prototype,"isMatch");ke([de],Q.prototype,"isSmallLayout");function Se(e,t){S(()=>{const{player:s}=y(),n=s.el;return n&&j(n,"data-layout",t()&&e),()=>n==null?void 0:n.removeAttribute("data-layout")})}function C(e,t){var s;return((s=e())==null?void 0:s[t])??t}function Ft(){return o(()=>{const{translations:e,userPrefersAnnouncements:t}=c();return t()?i`<media-announcer .translations=${o(e)}></media-announcer>`:null})}function A(e,t=""){return i`<slot
+    name=${`${e}-icon`}
+    data-class=${`vds-icon vds-${e}-icon${t?` ${t}`:""}`}
+  ></slot>`}function J(e){return e.map(t=>A(t))}function d(e,t){return o(()=>C(e,t))}function Rt({tooltip:e}){const{translations:t}=c(),{remotePlaybackState:s}=x(),n=o(()=>{const l=C(t,"AirPlay"),r=me(s());return`${l} ${r}`}),a=d(t,"AirPlay");return i`
+    <media-tooltip class="vds-airplay-tooltip vds-tooltip">
+      <media-tooltip-trigger>
+        <media-airplay-button class="vds-airplay-button vds-button" aria-label=${n}>
+          ${A("airplay")}
+        </media-airplay-button>
+      </media-tooltip-trigger>
+      <media-tooltip-content class="vds-tooltip-content" placement=${e}>
+        <span class="vds-airplay-tooltip-text">${a}</span>
+      </media-tooltip-content>
+    </media-tooltip>
+  `}function Ce({tooltip:e}){const{translations:t}=c(),{remotePlaybackState:s}=x(),n=o(()=>{const l=C(t,"Google Cast"),r=me(s());return`${l} ${r}`}),a=d(t,"Google Cast");return i`
+    <media-tooltip class="vds-google-cast-tooltip vds-tooltip">
+      <media-tooltip-trigger>
+        <media-google-cast-button class="vds-google-cast-button vds-button" aria-label=${n}>
+          ${A("google-cast")}
+        </media-google-cast-button>
+      </media-tooltip-trigger>
+      <media-tooltip-content class="vds-tooltip-content" placement=${e}>
+        <span class="vds-google-cast-tooltip-text">${a}</span>
+      </media-tooltip-content>
+    </media-tooltip>
+  `}function dt({tooltip:e}){const{translations:t}=c(),s=d(t,"Play"),n=d(t,"Pause");return i`
+    <media-tooltip class="vds-play-tooltip vds-tooltip">
+      <media-tooltip-trigger>
+        <media-play-button
+          class="vds-play-button vds-button"
+          aria-label=${d(t,"Play")}
+        >
+          ${J(["play","pause","replay"])}
+        </media-play-button>
+      </media-tooltip-trigger>
+      <media-tooltip-content class="vds-tooltip-content" placement=${e}>
+        <span class="vds-play-tooltip-text">${s}</span>
+        <span class="vds-pause-tooltip-text">${n}</span>
+      </media-tooltip-content>
+    </media-tooltip>
+  `}function te({tooltip:e,ref:t=ts}){const{translations:s}=c(),n=d(s,"Mute"),a=d(s,"Unmute");return i`
+    <media-tooltip class="vds-mute-tooltip vds-tooltip">
+      <media-tooltip-trigger>
+        <media-mute-button
+          class="vds-mute-button vds-button"
+          aria-label=${d(s,"Mute")}
+          ${ct(t)}
+        >
+          ${J(["mute","volume-low","volume-high"])}
+        </media-mute-button>
+      </media-tooltip-trigger>
+      <media-tooltip-content class="vds-tooltip-content" placement=${e}>
+        <span class="vds-mute-tooltip-text">${a}</span>
+        <span class="vds-unmute-tooltip-text">${n}</span>
+      </media-tooltip-content>
+    </media-tooltip>
+  `}function Vt({tooltip:e}){const{translations:t}=c(),s=d(t,"Closed-Captions On"),n=d(t,"Closed-Captions Off");return i`
+    <media-tooltip class="vds-caption-tooltip vds-tooltip">
+      <media-tooltip-trigger>
+        <media-caption-button
+          class="vds-caption-button vds-button"
+          aria-label=${d(t,"Captions")}
+        >
+          ${J(["cc-on","cc-off"])}
+        </media-caption-button>
+      </media-tooltip-trigger>
+      <media-tooltip-content class="vds-tooltip-content" placement=${e}>
+        <span class="vds-cc-on-tooltip-text">${n}</span>
+        <span class="vds-cc-off-tooltip-text">${s}</span>
+      </media-tooltip-content>
+    </media-tooltip>
+  `}function ks(){const{translations:e}=c(),t=d(e,"Enter PiP"),s=d(e,"Exit PiP");return i`
+    <media-tooltip class="vds-pip-tooltip vds-tooltip">
+      <media-tooltip-trigger>
+        <media-pip-button
+          class="vds-pip-button vds-button"
+          aria-label=${d(e,"PiP")}
+        >
+          ${J(["pip-enter","pip-exit"])}
+        </media-pip-button>
+      </media-tooltip-trigger>
+      <media-tooltip-content class="vds-tooltip-content">
+        <span class="vds-pip-enter-tooltip-text">${t}</span>
+        <span class="vds-pip-exit-tooltip-text">${s}</span>
+      </media-tooltip-content>
+    </media-tooltip>
+  `}function Ae({tooltip:e}){const{translations:t}=c(),s=d(t,"Enter Fullscreen"),n=d(t,"Exit Fullscreen");return i`
+    <media-tooltip class="vds-fullscreen-tooltip vds-tooltip">
+      <media-tooltip-trigger>
+        <media-fullscreen-button
+          class="vds-fullscreen-button vds-button"
+          aria-label=${d(t,"Fullscreen")}
+        >
+          ${J(["fs-enter","fs-exit"])}
+        </media-fullscreen-button>
+      </media-tooltip-trigger>
+      <media-tooltip-content class="vds-tooltip-content" placement=${e}>
+        <span class="vds-fs-enter-tooltip-text">${s}</span>
+        <span class="vds-fs-exit-tooltip-text">${n}</span>
+      </media-tooltip-content>
+    </media-tooltip>
+  `}function ee({backward:e,tooltip:t}){const{translations:s,seekStep:n}=c(),a=e?"Seek Backward":"Seek Forward",l=d(s,a);return i`
+    <media-tooltip class="vds-seek-tooltip vds-tooltip">
+      <media-tooltip-trigger>
+        <media-seek-button
+          class="vds-seek-button vds-button"
+          seconds=${o(()=>(e?-1:1)*n())}
+          aria-label=${l}
+        >
+          ${A(e?"seek-backward":"seek-forward")}
+        </media-seek-button>
+      </media-tooltip-trigger>
+      <media-tooltip-content class="vds-tooltip-content" placement=${t}>
+        ${d(s,a)}
+      </media-tooltip-content>
+    </media-tooltip>
+  `}function De(){const{translations:e}=c(),{live:t}=x(),s=d(e,"Skip To Live"),n=d(e,"LIVE");return t()?i`
+        <media-live-button class="vds-live-button" aria-label=${s}>
+          <span class="vds-live-button-text">${n}</span>
+        </media-live-button>
+      `:null}function Et(){return o(()=>{const{download:e,translations:t}=c(),s=e();if(Xe(s))return null;const{source:n,title:a}=x(),l=n(),r=ve({title:a(),src:l,download:s});return r?i`
+          <media-tooltip class="vds-download-tooltip vds-tooltip">
+            <media-tooltip-trigger>
+              <a
+                role="button"
+                class="vds-download-button vds-button"
+                aria-label=${d(t,"Download")}
+                href=${r.url+`?download=${r.name}`}
+                download=${r.name}
+                target="_blank"
+              >
+                <slot name="download-icon" data-class="vds-icon" />
+              </a>
+            </media-tooltip-trigger>
+            <media-tooltip-content class="vds-tooltip-content" placement="top">
+              ${d(t,"Download")}
+            </media-tooltip-content>
+          </media-tooltip>
+        `:null})}function Wt(){const{translations:e}=c();return i`
+    <media-captions
+      class="vds-captions"
+      .exampleText=${d(e,"Captions look like this")}
+    ></media-captions>
+  `}function O(){return i`<div class="vds-controls-spacer"></div>`}function Pe(e,t){return i`
+    <media-menu-portal .container=${o(e)} disabled="fullscreen">
+      ${t}
+    </media-menu-portal>
+  `}function Me(e,t,s,n){let a=K(t)?document.querySelector(t):t;a||(a=e==null?void 0:e.closest("dialog")),a||(a=document.body);const l=document.createElement("div");l.style.display="contents",l.classList.add(s),a.append(l),S(()=>{if(!l)return;const{viewType:p}=x(),u=n();j(l,"data-view-type",p()),j(l,"data-sm",u),j(l,"data-lg",!u),j(l,"data-size",u?"sm":"lg")});const{colorScheme:r}=c();return ue(l,r),l}function Oe({placement:e,tooltip:t,portal:s}){const{textTracks:n}=y(),{viewType:a,clipStartTime:l,clipEndTime:r}=x(),{translations:p,thumbnails:u,menuPortal:v,noModal:f,menuGroup:m,smallWhen:$}=c();if(_(()=>{var Yt;const M=l(),q=r()||1/0,U=w(null);fe(n,"chapters",U.set);const W=(Yt=U())==null?void 0:Yt.cues.filter(Xt=>Xt.startTime<=q&&Xt.endTime>=M);return!(W!=null&&W.length)})())return null;const T=_(()=>f()?nt(e):$()?null:nt(e)),P=_(()=>!$()&&m()==="bottom"&&a()==="video"?26:0),k=w(!1);function G(){k.set(!0)}function B(){k.set(!1)}const E=i`
+    <media-menu-items
+      class="vds-chapters-menu-items vds-menu-items"
+      placement=${o(T)}
+      offset=${o(P)}
+    >
+      ${o(()=>k()?i`
+          <media-chapters-radio-group
+            class="vds-chapters-radio-group vds-radio-group"
+            .thumbnails=${o(u)}
+          >
+            <template>
+              <media-radio class="vds-chapter-radio vds-radio">
+                <media-thumbnail class="vds-thumbnail"></media-thumbnail>
+                <div class="vds-chapter-radio-content">
+                  <span class="vds-chapter-radio-label" data-part="label"></span>
+                  <span class="vds-chapter-radio-start-time" data-part="start-time"></span>
+                  <span class="vds-chapter-radio-duration" data-part="duration"></span>
+                </div>
+              </media-radio>
+            </template>
+          </media-chapters-radio-group>
+        `:null)}
+    </media-menu-items>
+  `;return i`
+    <media-menu class="vds-chapters-menu vds-menu" @open=${G} @close=${B}>
+      <media-tooltip class="vds-tooltip">
+        <media-tooltip-trigger>
+          <media-menu-button
+            class="vds-menu-button vds-button"
+            aria-label=${d(p,"Chapters")}
+          >
+            ${A("menu-chapters")}
+          </media-menu-button>
+        </media-tooltip-trigger>
+        <media-tooltip-content
+          class="vds-tooltip-content"
+          placement=${Pt(t)?o(t):t}
+        >
+          ${d(p,"Chapters")}
+        </media-tooltip-content>
+      </media-tooltip>
+      ${s?Pe(v,E):E}
+    </media-menu>
+  `}function _t(e){const{style:t}=new Option;return t.color=e,t.color.match(/\((.*?)\)/)[1].replace(/,/g," ")}const Ht={type:"color"},Ss={type:"radio",values:{"Monospaced Serif":"mono-serif","Proportional Serif":"pro-serif","Monospaced Sans-Serif":"mono-sans","Proportional Sans-Serif":"pro-sans",Casual:"casual",Cursive:"cursive","Small Capitals":"capitals"}},Cs={type:"slider",min:0,max:400,step:25,upIcon:null,downIcon:null},As={type:"slider",min:0,max:100,step:5,upIcon:null,downIcon:null},Ds={type:"radio",values:["None","Drop Shadow","Raised","Depressed","Outline"]},lt={fontFamily:"pro-sans",fontSize:"100%",textColor:"#ffffff",textOpacity:"100%",textShadow:"none",textBg:"#000000",textBgOpacity:"100%",displayBg:"#000000",displayBgOpacity:"0%"},R=Object.keys(lt).reduce((e,t)=>({...e,[t]:w(lt[t])}),{});for(const e of Object.keys(R)){const t=localStorage.getItem(`vds-player:${Y(e)}`);K(t)&&R[e].set(t)}function Ps(){for(const e of Object.keys(R)){const t=lt[e];R[e].set(t)}}let se=!1,xt=new Set;function Ms(){const{player:e}=y();xt.add(e),H(()=>xt.delete(e)),se||(es(()=>{for(const t of ss(R)){const s=R[t],n=lt[t],a=`--media-user-${Y(t)}`,l=`vds-player:${Y(t)}`;S(()=>{var v;const r=s(),p=r===n,u=p?null:Os(e,t,r);for(const f of xt)(v=f.el)==null||v.style.setProperty(a,u);p?localStorage.removeItem(l):localStorage.setItem(l,r)})}},null),se=!0)}function Os(e,t,s){var n;switch(t){case"fontFamily":const a=s==="capitals"?"small-caps":"";return(n=e.el)==null||n.style.setProperty("--media-user-font-variant",a),Gs(s);case"fontSize":case"textOpacity":case"textBgOpacity":case"displayBgOpacity":return Is(s);case"textColor":return`rgb(${_t(s)} / var(--media-user-text-opacity, 1))`;case"textShadow":return Ls(s);case"textBg":return`rgb(${_t(s)} / var(--media-user-text-bg-opacity, 1))`;case"displayBg":return`rgb(${_t(s)} / var(--media-user-display-bg-opacity, 1))`}}function Is(e){return(parseInt(e)/100).toString()}function Gs(e){switch(e){case"mono-serif":return'"Courier New", Courier, "Nimbus Mono L", "Cutive Mono", monospace';case"mono-sans":return'"Deja Vu Sans Mono", "Lucida Console", Monaco, Consolas, "PT Mono", monospace';case"pro-sans":return'Roboto, "Arial Unicode Ms", Arial, Helvetica, Verdana, "PT Sans Caption", sans-serif';case"casual":return'"Comic Sans MS", Impact, Handlee, fantasy';case"cursive":return'"Monotype Corsiva", "URW Chancery L", "Apple Chancery", "Dancing Script", cursive';case"capitals":return'"Arial Unicode Ms", Arial, Helvetica, Verdana, "Marcellus SC", sans-serif + font-variant=small-caps';default:return'"Times New Roman", Times, Georgia, Cambria, "PT Serif Caption", serif'}}function Ls(e){switch(e){case"drop shadow":return"rgb(34, 34, 34) 1.86389px 1.86389px 2.79583px, rgb(34, 34, 34) 1.86389px 1.86389px 3.72778px, rgb(34, 34, 34) 1.86389px 1.86389px 4.65972px";case"raised":return"rgb(34, 34, 34) 1px 1px, rgb(34, 34, 34) 2px 2px";case"depressed":return"rgb(204, 204, 204) 1px 1px, rgb(34, 34, 34) -1px -1px";case"outline":return"rgb(34, 34, 34) 0px 0px 1.86389px, rgb(34, 34, 34) 0px 0px 1.86389px, rgb(34, 34, 34) 0px 0px 1.86389px, rgb(34, 34, 34) 0px 0px 1.86389px, rgb(34, 34, 34) 0px 0px 1.86389px";default:return""}}let Bs=0;function D({label:e="",value:t="",children:s}){if(!e)return i`
+      <div class="vds-menu-section">
+        <div class="vds-menu-section-body">${s}</div>
+      </div>
+    `;const n=`vds-menu-section-${++Bs}`;return i`
+    <section class="vds-menu-section" role="group" aria-labelledby=${n}>
+      <div class="vds-menu-section-title">
+        <header id=${n}>${e}</header>
+        ${t?i`<div class="vds-menu-section-value">${t}</div>`:null}
+      </div>
+      <div class="vds-menu-section-body">${s}</div>
+    </section>
+  `}function tt({label:e,children:t}){return i`
+    <div class="vds-menu-item">
+      <div class="vds-menu-item-label">${e}</div>
+      ${t}
+    </div>
+  `}function V({label:e,icon:t,hint:s}){return i`
+    <media-menu-button class="vds-menu-item">
+      ${A("menu-arrow-left","vds-menu-close-icon")}
+      ${t?A(t,"vds-menu-item-icon"):null}
+      <span class="vds-menu-item-label">${o(e)}</span>
+      <span class="vds-menu-item-hint" data-part="hint">${s?o(s):null} </span>
+      ${A("menu-arrow-right","vds-menu-open-icon")}
+    </media-menu-button>
+  `}function Ns({value:e=null,options:t,hideLabel:s=!1,children:n=null,onChange:a=null}){function l(r){const{value:p,label:u}=r;return i`
+      <media-radio class="vds-radio" value=${p}>
+        ${A("menu-radio-check")}
+        ${s?null:i`
+              <span class="vds-radio-label" data-part="label">
+                ${K(u)?u:o(u)}
+              </span>
+            `}
+        ${Pt(n)?n(r):n}
+      </media-radio>
+    `}return i`
+    <media-radio-group
+      class="vds-radio-group"
+      value=${K(e)?e:e?o(e):""}
+      @change=${a}
+    >
+      ${L(t)?t.map(l):o(()=>t().map(l))}
+    </media-radio-group>
+  `}function Fs(e){return L(e)?e.map(t=>({label:t,value:t.toLowerCase()})):Object.keys(e).map(t=>({label:t,value:e[t]}))}function pt(){return i`
+    <div class="vds-slider-track"></div>
+    <div class="vds-slider-track-fill vds-slider-track"></div>
+    <div class="vds-slider-thumb"></div>
+  `}function mt(){return i`
+    <media-slider-steps class="vds-slider-steps">
+      <template>
+        <div class="vds-slider-step"></div>
+      </template>
+    </media-slider-steps>
+  `}function vt({label:e=null,value:t=null,upIcon:s="",downIcon:n="",children:a,isMin:l,isMax:r}){const p=e||t,u=[n?A(n,"down"):null,a,s?A(s,"up"):null];return i`
+    <div
+      class=${`vds-menu-item vds-menu-slider-item${p?" group":""}`}
+      data-min=${o(()=>l()?"":null)}
+      data-max=${o(()=>r()?"":null)}
+    >
+      ${p?i`
+            <div class="vds-menu-slider-title">
+              ${[e?i`<div>${e}</div>`:null,t?i`<div>${t}</div>`:null]}
+            </div>
+            <div class="vds-menu-slider-body">${u}</div>
+          `:u}
+    </div>
+  `}const Rs={...Cs,upIcon:"menu-opacity-up",downIcon:"menu-opacity-down"},Kt={...As,upIcon:"menu-opacity-up",downIcon:"menu-opacity-down"};function Vs(){return o(()=>{const{hasCaptions:e}=x(),{translations:t}=c();return e()?i`
+      <media-menu class="vds-font-menu vds-menu">
+        ${V({label:()=>C(t,"Caption Styles")})}
+        <media-menu-items class="vds-menu-items">
+          ${[D({label:d(t,"Font"),children:[Es(),Ws()]}),D({label:d(t,"Text"),children:[Hs(),Qs(),Ks()]}),D({label:d(t,"Text Background"),children:[qs(),Us()]}),D({label:d(t,"Display Background"),children:[js(),zs()]}),D({children:[Zs()]})]}
+        </media-menu-items>
+      </media-menu>
+    `:null})}function Es(){return I({label:"Family",option:Ss,type:"fontFamily"})}function Ws(){return I({label:"Size",option:Rs,type:"fontSize"})}function Hs(){return I({label:"Color",option:Ht,type:"textColor"})}function Ks(){return I({label:"Opacity",option:Kt,type:"textOpacity"})}function Qs(){return I({label:"Shadow",option:Ds,type:"textShadow"})}function qs(){return I({label:"Color",option:Ht,type:"textBg"})}function Us(){return I({label:"Opacity",option:Kt,type:"textBgOpacity"})}function js(){return I({label:"Color",option:Ht,type:"displayBg"})}function zs(){return I({label:"Opacity",option:Kt,type:"displayBgOpacity"})}function Zs(){const{translations:e}=c();return i`
+    <button class="vds-menu-item" role="menuitem" @click=${Ps}>
+      <span class="vds-menu-item-label">${o(()=>C(e,"Reset"))}</span>
+    </button>
+  `}function I({label:e,option:t,type:s}){const{player:n}=y(),{translations:a}=c(),l=R[s],r=()=>C(a,e);function p(){ns(),n.dispatchEvent(new Event("vds-font-change"))}if(t.type==="color"){let f=function(m){l.set(m.target.value),p()};return tt({label:o(r),children:i`
+        <input
+          class="vds-color-picker"
+          type="color"
+          .value=${o(l)}
+          @input=${f}
+        />
+      `})}if(t.type==="slider"){let f=function(k){l.set(k.detail+"%"),p()};const{min:m,max:$,step:g,upIcon:T,downIcon:P}=t;return vt({label:o(r),value:o(l),upIcon:T,downIcon:P,isMin:()=>l()===m+"%",isMax:()=>l()===$+"%",children:i`
+        <media-slider
+          class="vds-slider"
+          min=${m}
+          max=${$}
+          step=${g}
+          key-step=${g}
+          .value=${o(()=>parseInt(l()))}
+          aria-label=${o(r)}
+          @value-change=${f}
+          @drag-value-change=${f}
+        >
+          ${pt()}${mt()}
+        </media-slider>
+      `})}const u=Fs(t.values),v=()=>{var $;const f=l(),m=(($=u.find(g=>g.value===f))==null?void 0:$.label)||"";return C(a,K(m)?m:m())};return i`
+    <media-menu class=${`vds-${Y(s)}-menu vds-menu`}>
+      ${V({label:r,hint:v})}
+      <media-menu-items class="vds-menu-items">
+        ${Ns({value:l,options:u,onChange({detail:f}){l.set(f),p()}})}
+      </media-menu-items>
+    </media-menu>
+  `}function ft({label:e,checked:t,defaultChecked:s=!1,storageKey:n,onChange:a}){const{translations:l}=c(),r=n?localStorage.getItem(n):null,p=w(!!(r??s)),u=w(!1),v=o(ds(p)),f=d(l,e);n&&a(Dt(p)),t&&S(()=>void p.set(t()));function m(T){(T==null?void 0:T.button)!==1&&(p.set(P=>!P),n&&localStorage.setItem(n,p()?"1":""),a(p(),T),u.set(!1))}function $(T){Mt(T)&&m()}function g(T){T.button===0&&u.set(!0)}return i`
+    <div
+      class="vds-menu-checkbox"
+      role="menuitemcheckbox"
+      tabindex="0"
+      aria-label=${f}
+      aria-checked=${v}
+      data-active=${o(()=>u()?"":null)}
+      @pointerup=${m}
+      @pointerdown=${g}
+      @keydown=${$}
+    ></div>
+  `}function Ys(){return o(()=>{const{translations:e}=c();return i`
+      <media-menu class="vds-accessibility-menu vds-menu">
+        ${V({label:()=>C(e,"Accessibility"),icon:"menu-accessibility"})}
+        <media-menu-items class="vds-menu-items">
+          ${[D({children:[Xs(),Js()]}),D({children:[Vs()]})]}
+        </media-menu-items>
+      </media-menu>
+    `})}function Xs(){const{userPrefersAnnouncements:e,translations:t}=c(),s="Announcements";return tt({label:d(t,s),children:ft({label:s,storageKey:"vds-player::announcements",onChange(n){e.set(n)}})})}function Js(){return o(()=>{const{translations:e,userPrefersKeyboardAnimations:t,noKeyboardAnimations:s}=c(),{viewType:n}=x();if(_(()=>n()!=="video"||s())())return null;const l="Keyboard Animations";return tt({label:d(e,l),children:ft({label:l,defaultChecked:!0,storageKey:"vds-player::keyboard-animations",onChange(r){t.set(r)}})})})}function tn(){return o(()=>{const{noAudioGain:e,translations:t}=c(),{audioTracks:s,canSetAudioGain:n}=x();return _(()=>!(n()&&!e())&&s().length<=1)()?null:i`
+      <media-menu class="vds-audio-menu vds-menu">
+        ${V({label:()=>C(t,"Audio"),icon:"menu-audio"})}
+        <media-menu-items class="vds-menu-items">
+          ${[en(),sn()]}
+        </media-menu-items>
+      </media-menu>
+    `})}function en(){return o(()=>{const{translations:e}=c(),{audioTracks:t}=x(),s=d(e,"Default");return _(()=>t().length<=1)()?null:D({children:i`
+        <media-menu class="vds-audio-tracks-menu vds-menu">
+          ${V({label:()=>C(e,"Track")})}
+          <media-menu-items class="vds-menu-items">
+            <media-audio-radio-group
+              class="vds-audio-track-radio-group vds-radio-group"
+              empty-label=${s}
+            >
+              <template>
+                <media-radio class="vds-audio-track-radio vds-radio">
+                  <slot name="menu-radio-check-icon" data-class="vds-icon"></slot>
+                  <span class="vds-radio-label" data-part="label"></span>
+                </media-radio>
+              </template>
+            </media-audio-radio-group>
+          </media-menu-items>
+        </media-menu>
+      `})})}function sn(){return o(()=>{const{noAudioGain:e,translations:t}=c(),{canSetAudioGain:s}=x();if(_(()=>!s()||e())())return null;const{audioGain:a}=x();return D({label:d(t,"Boost"),value:o(()=>Math.round(((a()??1)-1)*100)+"%"),children:[vt({upIcon:"menu-audio-boost-up",downIcon:"menu-audio-boost-down",children:nn(),isMin:()=>((a()??1)-1)*100<=Ie(),isMax:()=>((a()??1)-1)*100===Ge()})]})})}function nn(){const{translations:e}=c(),t=d(e,"Boost"),s=Ie,n=Ge,a=an;return i`
+    <media-audio-gain-slider
+      class="vds-audio-gain-slider vds-slider"
+      aria-label=${t}
+      min=${o(s)}
+      max=${o(n)}
+      step=${o(a)}
+      key-step=${o(a)}
+    >
+      ${pt()}${mt()}
+    </media-audio-gain-slider>
+  `}function Ie(){const{audioGains:e}=c(),t=e();return L(t)?t[0]??0:t.min}function Ge(){const{audioGains:e}=c(),t=e();return L(t)?t[t.length-1]??300:t.max}function an(){const{audioGains:e}=c(),t=e();return L(t)?t[1]-t[0]||25:t.step}function on(){return o(()=>{const{translations:e}=c(),{hasCaptions:t}=x(),s=d(e,"Off");return t()?i`
+      <media-menu class="vds-captions-menu vds-menu">
+        ${V({label:()=>C(e,"Captions"),icon:"menu-captions"})}
+        <media-menu-items class="vds-menu-items">
+          <media-captions-radio-group
+            class="vds-captions-radio-group vds-radio-group"
+            off-label=${s}
+          >
+            <template>
+              <media-radio class="vds-caption-radio vds-radio">
+                <slot name="menu-radio-check-icon" data-class="vds-icon"></slot>
+                <span class="vds-radio-label" data-part="label"></span>
+              </media-radio>
+            </template>
+          </media-captions-radio-group>
+        </media-menu-items>
+      </media-menu>
+    `:null})}function ln(){return o(()=>{const{translations:e}=c();return i`
+      <media-menu class="vds-playback-menu vds-menu">
+        ${V({label:()=>C(e,"Playback"),icon:"menu-playback"})}
+        <media-menu-items class="vds-menu-items">
+          ${[D({children:rn()}),un(),mn()]}
+        </media-menu-items>
+      </media-menu>
+    `})}function rn(){const{remote:e}=y(),{translations:t}=c(),s="Loop";return tt({label:d(t,s),children:ft({label:s,storageKey:"vds-player::user-loop",onChange(n,a){e.userPrefersLoopChange(n,a)}})})}function un(){return o(()=>{const{translations:e}=c(),{canSetPlaybackRate:t,playbackRate:s}=x();return t()?D({label:d(e,"Speed"),value:o(()=>s()===1?C(e,"Normal"):s()+"x"),children:[vt({upIcon:"menu-speed-up",downIcon:"menu-speed-down",children:dn(),isMin:()=>s()===Le(),isMax:()=>s()===Be()})]}):null})}function Le(){const{playbackRates:e}=c(),t=e();return L(t)?t[0]??0:t.min}function Be(){const{playbackRates:e}=c(),t=e();return L(t)?t[t.length-1]??2:t.max}function cn(){const{playbackRates:e}=c(),t=e();return L(t)?t[1]-t[0]||.25:t.step}function dn(){const{translations:e}=c(),t=d(e,"Speed"),s=Le,n=Be,a=cn;return i`
+    <media-speed-slider
+      class="vds-speed-slider vds-slider"
+      aria-label=${t}
+      min=${o(s)}
+      max=${o(n)}
+      step=${o(a)}
+      key-step=${o(a)}
+    >
+      ${pt()}${mt()}
+    </media-speed-slider>
+  `}function pn(){const{remote:e,qualities:t}=y(),{autoQuality:s,canSetQuality:n,qualities:a}=x(),{translations:l}=c(),r="Auto";return _(()=>!n()||a().length<=1)()?null:tt({label:d(l,r),children:ft({label:r,checked:s,onChange(u,v){u?e.requestAutoQuality(v):e.changeQuality(t.selectedIndex,v)}})})}function mn(){return o(()=>{const{hideQualityBitrate:e,translations:t}=c(),{canSetQuality:s,qualities:n,quality:a}=x(),l=_(()=>!s()||n().length<=1),r=_(()=>cs(n()));return l()?null:D({label:d(t,"Quality"),value:o(()=>{var m,$;const p=(m=a())==null?void 0:m.height,u=e()?null:($=a())==null?void 0:$.bitrate,v=u&&u>0?`${(u/1e6).toFixed(2)} Mbps`:null,f=C(t,"Auto");return p?`${p}p${v?` (${v})`:""}`:f}),children:[vt({upIcon:"menu-quality-up",downIcon:"menu-quality-down",children:vn(),isMin:()=>r()[0]===a(),isMax:()=>r().at(-1)===a()}),pn()]})})}function vn(){const{translations:e}=c(),t=d(e,"Quality");return i`
+    <media-quality-slider class="vds-quality-slider vds-slider" aria-label=${t}>
+      ${pt()}${mt()}
+    </media-quality-slider>
+  `}function Ne({placement:e,portal:t,tooltip:s}){return o(()=>{const{viewType:n}=x(),{translations:a,menuPortal:l,noModal:r,menuGroup:p,smallWhen:u}=c(),v=_(()=>r()?nt(e):u()?null:nt(e)),f=_(()=>!u()&&p()==="bottom"&&n()==="video"?26:0),m=w(!1);Ms();function $(){m.set(!0)}function g(){m.set(!1)}const T=i`
+      <media-menu-items
+        class="vds-settings-menu-items vds-menu-items"
+        placement=${o(v)}
+        offset=${o(f)}
+      >
+        ${o(()=>m()?[ln(),Ys(),tn(),on()]:null)}
+      </media-menu-items>
+    `;return i`
+      <media-menu class="vds-settings-menu vds-menu" @open=${$} @close=${g}>
+        <media-tooltip class="vds-tooltip">
+          <media-tooltip-trigger>
+            <media-menu-button
+              class="vds-menu-button vds-button"
+              aria-label=${d(a,"Settings")}
+            >
+              ${A("menu-settings","vds-rotate-icon")}
+            </media-menu-button>
+          </media-tooltip-trigger>
+          <media-tooltip-content
+            class="vds-tooltip-content"
+            placement=${Pt(s)?o(s):s}
+          >
+            ${d(a,"Settings")}
+          </media-tooltip-content>
+        </media-tooltip>
+        ${t?Pe(l,T):T}
+      </media-menu>
+    `})}function Qt({orientation:e,tooltip:t}){return o(()=>{const{pointer:s,muted:n,canSetVolume:a}=x();if(s()==="coarse"&&!n())return null;if(!a())return te({tooltip:t});const l=w(void 0),r=Je(l);return i`
+      <div class="vds-volume" ?data-active=${o(r)} ${ct(l.set)}>
+        ${te({tooltip:t})}
+        <div class="vds-volume-popup">${fn({orientation:e})}</div>
+      </div>
+    `})}function fn({orientation:e}={}){const{translations:t}=c(),s=d(t,"Volume");return i`
+    <media-volume-slider
+      class="vds-volume-slider vds-slider"
+      aria-label=${s}
+      orientation=${Lt(e)}
+    >
+      <div class="vds-slider-track"></div>
+      <div class="vds-slider-track-fill vds-slider-track"></div>
+      <media-slider-preview class="vds-slider-preview" no-clamp>
+        <media-slider-value class="vds-slider-value"></media-slider-value>
+      </media-slider-preview>
+      <div class="vds-slider-thumb"></div>
+    </media-volume-slider>
+  `}function qt(){const e=w(void 0),t=w(0),{thumbnails:s,translations:n,sliderChaptersMinWidth:a,disableTimeSlider:l,seekStep:r,noScrubGesture:p}=c(),u=d(n,"Seek"),v=o(l),f=o(()=>t()<a()),m=o(s);return pe(e,()=>{const $=e();$&&t.set($.clientWidth)}),i`
+    <media-time-slider
+      class="vds-time-slider vds-slider"
+      aria-label=${u}
+      key-step=${o(r)}
+      ?disabled=${v}
+      ?no-swipe-gesture=${o(p)}
+      ${ct(e.set)}
+    >
+      <media-slider-chapters class="vds-slider-chapters" ?disabled=${f}>
+        <template>
+          <div class="vds-slider-chapter">
+            <div class="vds-slider-track"></div>
+            <div class="vds-slider-track-fill vds-slider-track"></div>
+            <div class="vds-slider-progress vds-slider-track"></div>
+          </div>
+        </template>
+      </media-slider-chapters>
+      <div class="vds-slider-thumb"></div>
+      <media-slider-preview class="vds-slider-preview">
+        <media-slider-thumbnail
+          class="vds-slider-thumbnail vds-thumbnail"
+          .src=${m}
+        ></media-slider-thumbnail>
+        <div class="vds-slider-chapter-title" data-part="chapter-title"></div>
+        <media-slider-value class="vds-slider-value"></media-slider-value>
+      </media-slider-preview>
+    </media-time-slider>
+  `}function $n(){return i`
+    <div class="vds-time-group">
+      ${o(()=>{const{duration:e}=x();return e()?[i`<media-time class="vds-time" type="current"></media-time>`,i`<div class="vds-time-divider">/</div>`,i`<media-time class="vds-time" type="duration"></media-time>`]:null})}
+    </div>
+  `}function hn(){return o(()=>{const{live:e,duration:t}=x();return e()?De():t()?i`<media-time class="vds-time" type="current" toggle remainder></media-time>`:null})}function Fe(){return o(()=>{const{live:e}=x();return e()?De():$n()})}function Re(){return o(()=>{const{textTracks:e}=y(),{title:t,started:s}=x(),n=w(null);return fe(e,"chapters",n.set),n()&&(s()||!t())?Ve():i`<media-title class="vds-chapter-title"></media-title>`})}function Ve(){return i`<media-chapter-title class="vds-chapter-title"></media-chapter-title>`}class Ee extends Te{async Pf(){const t=(await he(()=>import("./vidstack-CmqqnRgc-CHPJw6F5.js"),__vite__mapDeps([0,1]))).icons,s={};for(const n of Object.keys(t))s[n]=xe({name:n,paths:t[n]});return s}}var N;let bn=(N=class extends Q{},N.props={...yt(N,N,"props"),when:({viewType:t})=>t==="audio",smallWhen:({width:t})=>t<576},N);function yn(){return[Ft(),Wt(),i`
+      <media-controls class="vds-controls">
+        <media-controls-group class="vds-controls-group">
+          ${[ee({backward:!0,tooltip:"top start"}),dt({tooltip:"top"}),ee({tooltip:"top"}),gn(),qt(),hn(),Qt({orientation:"vertical",tooltip:"top"}),Vt({tooltip:"top"}),Et(),Rt({tooltip:"top"}),_n()]}
+        </media-controls-group>
+      </media-controls>
+    `]}function gn(){return o(()=>{let e=w(void 0),t=w(!1),s=y(),{title:n,started:a,currentTime:l,ended:r}=x(),{translations:p}=c(),u=is(e),v=()=>a()||l()>0;const f=()=>{const g=r()?"Replay":v()?"Continue":"Play";return`${C(p,g)}: ${n()}`};S(()=>{var g;u()&&document.activeElement===document.body&&((g=s.player.el)==null||g.focus())});function m(){const g=e(),T=!!g&&!u()&&g.clientWidth<g.children[0].clientWidth;g&&os(g,"vds-marquee",T),t.set(T)}function $(){return i`
+        <span class="vds-title-text">
+          ${o(f)}${o(()=>v()?Ve():null)}
+        </span>
+      `}return pe(e,m),n()?i`
+          <span class="vds-title" title=${o(f)} ${ct(e.set)}>
+            ${[$(),o(()=>t()&&!u()?$():null)]}
+          </span>
+        `:O()})}function _n(){const e="top end";return[Oe({tooltip:"top",placement:e,portal:!0}),Ne({tooltip:"top end",placement:e,portal:!0})]}const rt=class rt extends Ot(Gt,bn){constructor(){super(...arguments),this.en=w(!1)}onSetup(){this.forwardKeepAlive=!1,this.a=y(),this.classList.add("vds-audio-layout"),this.Fn()}onConnect(){Se("audio",()=>this.isMatch),this.En()}render(){return o(this.Zm.bind(this))}Zm(){return this.isMatch?yn():null}En(){const{menuPortal:t}=c();S(()=>{if(!this.isMatch)return;const s=Me(this,this.menuContainer,"vds-audio-layout",()=>this.isSmallLayout),n=s?[this,s]:[this];return(this.$props.customIcons()?new Nt(n):new Ee(n)).connect(),t.set(s),()=>{s.remove(),t.set(null)}})}Fn(){const{pointer:t}=this.a.$state;S(()=>{t()==="coarse"&&S(this.rn.bind(this))})}rn(){if(!this.en()){st(this,"pointerdown",this.sn.bind(this),{capture:!0});return}st(this,"pointerdown",t=>t.stopPropagation()),st(window,"pointerdown",this.tn.bind(this))}sn(t){const{target:s}=t;as(s)&&s.closest(".vds-time-slider")&&(t.stopImmediatePropagation(),this.setAttribute("data-scrubbing",""),this.en.set(!0))}tn(){this.en.set(!1),this.removeAttribute("data-scrubbing")}};rt.tagName="media-audio-layout",rt.attrs={smallWhen:{converter(t){return t!=="never"&&!!t}}};let wt=rt;/**
+ * @license
+ * Copyright 2021 Google LLC
+ * SPDX-License-Identifier: BSD-3-Clause
+ */const xn=X(class extends Bt{constructor(){super(...arguments),this.key=F}render(e,t){return this.key=e,t}update(e,[t,s]){return t!==this.key&&(fs(e),this.key=t),s}}),Z=class Z extends Q{};Z.props={...yt(Z,Z,"props"),when:({viewType:t})=>t==="video",smallWhen:({width:t,height:s})=>t<576||s<380};let kt=Z;function We(){return o(()=>{const e=y(),{noKeyboardAnimations:t,userPrefersKeyboardAnimations:s}=c();if(_(()=>t()||!s())())return null;const a=w(!1),{lastKeyboardAction:l}=e.$state;S(()=>{a.set(!!l());const m=setTimeout(()=>a.set(!1),500);return()=>{a.set(!1),window.clearTimeout(m)}});const r=_(()=>{var $;const m=($=l())==null?void 0:$.action;return m&&a()?Y(m):null}),p=_(()=>`vds-kb-action${a()?"":" hidden"}`),u=_(Tn),v=_(()=>{const m=wn();return m?ls(m):null});function f(){const m=v();return m?i`
+        <div class="vds-kb-bezel">
+          <div class="vds-kb-icon">${m}</div>
+        </div>
+      `:null}return i`
+      <div class=${o(p)} data-action=${o(r)}>
+        <div class="vds-kb-text-wrapper">
+          <div class="vds-kb-text">${o(u)}</div>
+        </div>
+        ${o(()=>xn(l(),f()))}
+      </div>
+    `})}function Tn(){var n;const{$state:e}=y(),t=(n=e.lastKeyboardAction())==null?void 0:n.action,s=e.audioGain()??1;switch(t){case"toggleMuted":return e.muted()?"0%":ne(e.volume(),s);case"volumeUp":case"volumeDown":return ne(e.volume(),s);default:return""}}function ne(e,t){return`${Math.round(e*t*100)}%`}function wn(){var s;const{$state:e}=y();switch((s=e.lastKeyboardAction())==null?void 0:s.action){case"togglePaused":return e.paused()?"kb-pause-icon":"kb-play-icon";case"toggleMuted":return e.muted()||e.volume()===0?"kb-mute-icon":e.volume()>=.5?"kb-volume-up-icon":"kb-volume-down-icon";case"toggleFullscreen":return`kb-fs-${e.fullscreen()?"enter":"exit"}-icon`;case"togglePictureInPicture":return`kb-pip-${e.pictureInPicture()?"enter":"exit"}-icon`;case"toggleCaptions":return e.hasCaptions()?`kb-cc-${e.textTrack()?"on":"off"}-icon`:null;case"volumeUp":return"kb-volume-up-icon";case"volumeDown":return"kb-volume-down-icon";case"seekForward":return"kb-seek-forward-icon";case"seekBackward":return"kb-seek-backward-icon";default:return null}}function kn(){return[Ft(),He(),$t(),We(),Wt(),i`<div class="vds-scrim"></div>`,i`
+      <media-controls class="vds-controls">
+        ${[Cn(),O(),i`<media-controls-group class="vds-controls-group"></media-controls-group>`,O(),i`
+            <media-controls-group class="vds-controls-group">
+              ${qt()}
+            </media-controls-group>
+          `,i`
+            <media-controls-group class="vds-controls-group">
+              ${[dt({tooltip:"top start"}),Qt({orientation:"horizontal",tooltip:"top"}),Fe(),Re(),Vt({tooltip:"top"}),Sn(),Rt({tooltip:"top"}),Ce({tooltip:"top"}),Et(),ks(),Ae({tooltip:"top end"})]}
+            </media-controls-group>
+          `]}
+      </media-controls>
+    `]}function Sn(){return o(()=>{const{menuGroup:e}=c();return e()==="bottom"?Ut():null})}function Cn(){return i`
+    <media-controls-group class="vds-controls-group">
+      ${o(()=>{const{menuGroup:e}=c();return e()==="top"?[O(),Ut()]:null})}
+    </media-controls-group>
+  `}function An(){return[Ft(),He(),$t(),Wt(),We(),i`<div class="vds-scrim"></div>`,i`
+      <media-controls class="vds-controls">
+        <media-controls-group class="vds-controls-group">
+          ${[Rt({tooltip:"top start"}),Ce({tooltip:"bottom start"}),O(),Vt({tooltip:"bottom"}),Et(),Ut(),Qt({orientation:"vertical",tooltip:"bottom end"})]}
+        </media-controls-group>
+
+        ${O()}
+
+        <media-controls-group class="vds-controls-group" style="pointer-events: none;">
+          ${[O(),dt({tooltip:"top"}),O()]}
+        </media-controls-group>
+
+        ${O()}
+
+        <media-controls-group class="vds-controls-group">
+          ${[Fe(),Re(),Ae({tooltip:"top end"})]}
+        </media-controls-group>
+
+        <media-controls-group class="vds-controls-group">
+          ${qt()}
+        </media-controls-group>
+      </media-controls>
+    `,Pn()]}function Dn(){return i`
+    <div class="vds-load-container">
+      ${[$t(),dt({tooltip:"top"})]}
+    </div>
+  `}function Pn(){return o(()=>{const{duration:e}=x();return e()===0?null:i`
+      <div class="vds-start-duration">
+        <media-time class="vds-time" type="duration"></media-time>
+      </div>
+    `})}function $t(){return i`
+    <div class="vds-buffering-indicator">
+      <media-spinner class="vds-buffering-spinner"></media-spinner>
+    </div>
+  `}function Ut(){const{menuGroup:e,smallWhen:t}=c(),s=()=>e()==="top"||t()?"bottom":"top",n=_(()=>`${s()} ${e()==="top"?"end":"center"}`),a=_(()=>`${s()} end`);return[Oe({tooltip:n,placement:a,portal:!0}),Ne({tooltip:n,placement:a,portal:!0})]}function He(){return o(()=>{const{noGestures:e}=c();return e()?null:i`
+      <div class="vds-gestures">
+        <media-gesture class="vds-gesture" event="pointerup" action="toggle:paused"></media-gesture>
+        <media-gesture
+          class="vds-gesture"
+          event="pointerup"
+          action="toggle:controls"
+        ></media-gesture>
+        <media-gesture
+          class="vds-gesture"
+          event="dblpointerup"
+          action="toggle:fullscreen"
+        ></media-gesture>
+        <media-gesture class="vds-gesture" event="dblpointerup" action="seek:-10"></media-gesture>
+        <media-gesture class="vds-gesture" event="dblpointerup" action="seek:10"></media-gesture>
+      </div>
+    `})}const ut=class ut extends Ot(Gt,kt){onSetup(){this.forwardKeepAlive=!1,this.a=y(),this.classList.add("vds-video-layout")}onConnect(){Se("video",()=>this.isMatch),this.En()}render(){return o(this.Zm.bind(this))}En(){const{menuPortal:t}=c();S(()=>{if(!this.isMatch)return;const s=Me(this,this.menuContainer,"vds-video-layout",()=>this.isSmallLayout),n=s?[this,s]:[this];return(this.$props.customIcons()?new Nt(n):new Ee(n)).connect(),t.set(s),()=>{s.remove(),t.set(null)}})}Zm(){const{load:t}=this.a.$props,{canLoad:s,streamType:n,nativeControls:a}=this.a.$state;return!a()&&this.isMatch?t()==="play"&&!s()?Dn():n()==="unknown"?$t():this.isSmallLayout?An():kn():null}};ut.tagName="media-video-layout",ut.attrs={smallWhen:{converter(t){return t!=="never"&&!!t}}};let St=ut;const Ke=ce();function h(){return oe(Ke)}const Mn={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]},zt=class zt extends le{onSetup(){this.a=y(),re(Ke,{...this.$props,previewTime:w(0)})}};zt.props=Mn;let Ct=zt;function On(e,t){const{canAirPlay:s,canFullscreen:n,canPictureInPicture:a,controlsHidden:l,currentTime:r,fullscreen:p,hasCaptions:u,isAirPlayConnected:v,paused:f,pictureInPicture:m,playing:$,pointer:g,poster:T,textTrack:P,viewType:k,waiting:G}=t.$state;e.classList.add("plyr"),e.classList.add("plyr--full-ui");const B={"plyr--airplay-active":v,"plyr--airplay-supported":s,"plyr--fullscreen-active":p,"plyr--fullscreen-enabled":n,"plyr--hide-controls":l,"plyr--is-touch":()=>g()==="coarse","plyr--loading":G,"plyr--paused":f,"plyr--pip-active":m,"plyr--pip-enabled":a,"plyr--playing":$,"plyr__poster-enabled":T,"plyr--stopped":()=>f()&&r()===0,"plyr--captions-active":P,"plyr--captions-enabled":u},E=rs();for(const M of Object.keys(B))E.add(S(()=>void e.classList.toggle(M,!!B[M]())));return E.add(S(()=>{const M=`plyr--${k()}`;return e.classList.add(M),()=>e.classList.remove(M)}),S(()=>{var W;const{$provider:M}=t,q=(W=M())==null?void 0:W.type,U=`plyr--${In(q)?"html5":q}`;return e.classList.toggle(U,!!q),()=>e.classList.remove(U)})),()=>E.empty()}function In(e){return e==="audio"||e==="video"}class Gn extends Te{async Pf(){const t=(await he(()=>import("./vidstack-DXxIKXmd-Dge3KT8k.js"),__vite__mapDeps([]))).icons,s={};for(const n of Object.keys(t))s[n]=xe({name:n,paths:t[n],viewBox:"0 0 18 18"});return s}}function ht(e,t){var s;return((s=e())==null?void 0:s[t])??t}function Ln(){return Rn()}function Bn(){const e=y(),{load:t}=e.$props,{canLoad:s}=e.$state;return _(()=>t()==="play"&&!s())()?[Qe(),ae()]:[Nn(),Fn(),ae(),Vn(),ea(),sa()]}function Qe(){const e=y(),{translations:t}=h(),{title:s}=e.$state,n=o(()=>`${ht(t,"Play")}, ${s()}`);return i`
+    <media-play-button
+      class="plyr__control plyr__control--overlaid"
+      aria-label=${n}
+      data-plyr="play"
+    >
+      <slot name="play-icon"></slot>
+    </button>
+  `}function Nn(){const{controls:e}=h();return o(()=>e().includes("play-large")?Qe():null)}function Fn(){const{thumbnails:e,previewTime:t}=h();return i`
+    <media-thumbnail
+      .src=${o(e)}
+      class="plyr__preview-scrubbing"
+      time=${o(()=>t())}
+    ></media-thumbnail>
+  `}function ae(){const e=y(),{poster:t}=e.$state,s=o(()=>`background-image: url("${t()}");`);return i`<div class="plyr__poster" style=${s}></div>`}function Rn(){const e=new Set(["captions","pip","airplay","fullscreen"]),{controls:t}=h(),s=o(()=>t().filter(n=>!e.has(n)).map(qe));return i`<div class="plyr__controls">${s}</div>`}function Vn(){const{controls:e}=h(),t=o(()=>e().map(qe));return i`<div class="plyr__controls">${t}</div>`}function qe(e){switch(e){case"airplay":return En();case"captions":return Wn();case"current-time":return Jn();case"download":return ta();case"duration":return Ue();case"fast-forward":return zn();case"fullscreen":return Hn();case"mute":case"volume":case"mute+volume":return Yn(e);case"pip":return Qn();case"play":return qn();case"progress":return Zn();case"restart":return Un();case"rewind":return jn();case"settings":return na();default:return null}}function En(){const{translations:e}=h();return i`
+    <media-airplay-button class="plyr__controls__item plyr__control" data-plyr="airplay">
+      <slot name="airplay-icon"></slot>
+      <span class="plyr__tooltip">${b(e,"AirPlay")}</span>
+    </media-airplay-button>
+  `}function Wn(){const{translations:e}=h(),t=b(e,"Disable captions"),s=b(e,"Enable captions");return i`
+    <media-caption-button
+      class="plyr__controls__item plyr__control"
+      data-no-label
+      data-plyr="captions"
+    >
+      <slot name="captions-on-icon" data-class="icon--pressed"></slot>
+      <slot name="captions-off-icon" data-class="icon--not-pressed"></slot>
+      <span class="label--pressed plyr__tooltip">${t}</span>
+      <span class="label--not-pressed plyr__tooltip">${s}</span>
+    </media-caption-button>
+  `}function Hn(){const{translations:e}=h(),t=b(e,"Enter Fullscreen"),s=b(e,"Exit Fullscreen");return i`
+    <media-fullscreen-button
+      class="plyr__controls__item plyr__control"
+      data-no-label
+      data-plyr="fullscreen"
+    >
+      <slot name="enter-fullscreen-icon" data-class="icon--pressed"></slot>
+      <slot name="exit-fullscreen-icon" data-class="icon--not-pressed"></slot>
+      <span class="label--pressed plyr__tooltip">${s}</span>
+      <span class="label--not-pressed plyr__tooltip">${t}</span>
+    </media-fullscreen-button>
+  `}function Kn(){const{translations:e}=h(),t=b(e,"Mute"),s=b(e,"Unmute");return i`
+    <media-mute-button class="plyr__control" data-no-label data-plyr="mute">
+      <slot name="muted-icon" data-class="icon--pressed"></slot>
+      <slot name="volume-icon" data-class="icon--not-pressed"></slot>
+      <span class="label--pressed plyr__tooltip">${s}</span>
+      <span class="label--not-pressed plyr__tooltip">${t}</span>
+    </media-mute-button>
+  `}function Qn(){const{translations:e}=h(),t=b(e,"Enter PiP"),s=b(e,"Exit PiP");return i`
+    <media-pip-button class="plyr__controls__item plyr__control" data-no-label data-plyr="pip">
+      <slot name="pip-icon"></slot>
+      <slot name="enter-pip-icon" data-class="icon--pressed"></slot>
+      <slot name="exit-pip-icon" data-class="icon--not-pressed"></slot>
+      <span class="label--pressed plyr__tooltip">${s}</span>
+      <span class="label--not-pressed plyr__tooltip">${t}</span>
+    </media-pip-button>
+  `}function qn(){const{translations:e}=h(),t=b(e,"Play"),s=b(e,"Pause");return i`
+    <media-play-button class="plyr__controls__item plyr__control" data-no-label data-plyr="play">
+      <slot name="pause-icon" data-class="icon--pressed"></slot>
+      <slot name="play-icon" data-class="icon--not-pressed"></slot>
+      <span class="label--pressed plyr__tooltip">${s}</span>
+      <span class="label--not-pressed plyr__tooltip">${t}</span>
+    </media-play-button>
+  `}function Un(){const{translations:e}=h(),{remote:t}=y(),s=b(e,"Restart");function n(a){$e(a)&&!Mt(a)||t.seek(0,a)}return i`
+    <button
+      type="button"
+      class="plyr__control"
+      data-plyr="restart"
+      @pointerup=${n}
+      @keydown=${n}
+    >
+      <slot name="restart-icon"></slot>
+      <span class="plyr__tooltip">${s}</span>
+    </button>
+  `}function jn(){const{translations:e,seekTime:t}=h(),s=o(()=>`${ht(e,"Rewind")} ${t()}s`),n=o(()=>-1*t());return i`
+    <media-seek-button
+      class="plyr__controls__item plyr__control"
+      seconds=${n}
+      data-no-label
+      data-plyr="rewind"
+    >
+      <slot name="rewind-icon"></slot>
+      <span class="plyr__tooltip">${s}</span>
+    </media-seek-button>
+  `}function zn(){const{translations:e,seekTime:t}=h(),s=o(()=>`${ht(e,"Forward")} ${t()}s`),n=o(t);return i`
+    <media-seek-button
+      class="plyr__controls__item plyr__control"
+      seconds=${n}
+      data-no-label
+      data-plyr="fast-forward"
+    >
+      <slot name="fast-forward-icon"></slot>
+      <span class="plyr__tooltip">${s}</span>
+    </media-seek-button>
+  `}function Zn(){let e=y(),{duration:t,viewType:s}=e.$state,{translations:n,markers:a,thumbnails:l,seekTime:r,previewTime:p}=h(),u=b(n,"Seek"),v=w(null),f=o(()=>{const k=v();return k?i`<span class="plyr__progress__marker-label">${be(k.label)}<br /></span>`:null});function m(k){p.set(k.detail)}function $(){v.set(this)}function g(){v.set(null)}function T(){const k=l(),G=o(()=>s()==="audio");return k?i`
+          <media-slider-preview class="plyr__slider__preview" ?no-clamp=${G}>
+            <media-slider-thumbnail .src=${k} class="plyr__slider__preview__thumbnail">
+              <span class="plyr__slider__preview__time-container">
+                ${f}
+                <media-slider-value class="plyr__slider__preview__time"></media-slider-value>
+              </span>
+            </media-slider-thumbnail>
+          </media-slider-preview>
+        `:i`
+          <span class="plyr__tooltip">
+            ${f}
+            <media-slider-value></media-slider-value>
+          </span>
+        `}function P(){var G;const k=t();return Number.isFinite(k)?(G=a())==null?void 0:G.map(B=>i`
+        <span
+          class="plyr__progress__marker"
+          @mouseenter=${$.bind(B)}
+          @mouseleave=${g}
+          style=${`left: ${B.time/k*100}%;`}
+        ></span>
+      `):null}return i`
+    <div class="plyr__controls__item plyr__progress__container">
+      <div class="plyr__progress">
+        <media-time-slider
+          class="plyr__slider"
+          data-plyr="seek"
+          pause-while-dragging
+          key-step=${o(r)}
+          aria-label=${u}
+          @media-seeking-request=${m}
+        >
+          <div class="plyr__slider__track"></div>
+          <div class="plyr__slider__thumb"></div>
+          <div class="plyr__slider__buffer"></div>
+          ${o(T)}${o(P)}
+        </media-time-slider>
+      </div>
+    </div>
+  `}function Yn(e){return o(()=>{const t=e==="mute"||e==="mute+volume",s=e==="volume"||e==="mute+volume";return i`
+      <div class="plyr__controls__item plyr__volume">
+        ${[t?Kn():null,s?Xn():null]}
+      </div>
+    `})}function Xn(){const{translations:e}=h(),t=b(e,"Volume");return i`
+    <media-volume-slider class="plyr__slider" data-plyr="volume" aria-label=${t}>
+      <div class="plyr__slider__track"></div>
+      <div class="plyr__slider__thumb"></div>
+    </media-volume-slider>
+  `}function Jn(){const e=y(),{translations:t,invertTime:s,toggleTime:n,displayDuration:a}=h(),l=w(Dt(s));function r(u){!n()||a()||$e(u)&&!Mt(u)||l.set(v=>!v)}function p(){return o(()=>a()?Ue():null)}return o(()=>{const{streamType:u}=e.$state,v=b(t,"LIVE"),f=b(t,"Current time"),m=o(()=>!a()&&l());return u()==="live"||u()==="ll-live"?i`
+          <media-live-button
+            class="plyr__controls__item plyr__control plyr__live-button"
+            data-plyr="live"
+          >
+            <span class="plyr__live-button__text">${v}</span>
+          </media-live-button>
+        `:i`
+          <media-time
+            type="current"
+            class="plyr__controls__item plyr__time plyr__time--current"
+            tabindex="0"
+            role="timer"
+            aria-label=${f}
+            ?remainder=${m}
+            @pointerup=${r}
+            @keydown=${r}
+          ></media-time>
+          ${p()}
+        `})}function Ue(){const{translations:e}=h(),t=b(e,"Duration");return i`
+    <media-time
+      type="duration"
+      class="plyr__controls__item plyr__time plyr__time--duration"
+      role="timer"
+      tabindex="0"
+      aria-label=${t}
+    ></media-time>
+  `}function ta(){return o(()=>{const e=y(),{translations:t,download:s}=h(),{title:n,source:a}=e.$state,l=a(),r=s(),p=ve({title:n(),src:l,download:r}),u=b(t,"Download");return p?i`
+          <a
+            class="plyr__controls__item plyr__control"
+            href=${p.url+`?download=${p.name}`}
+            download=${p.name}
+            target="_blank"
+          >
+            <slot name="download-icon" />
+            <span class="plyr__tooltip">${u}</span>
+          </a>
+        `:null})}function ea(){return o(()=>{const{clickToPlay:e,clickToFullscreen:t}=h();return[e()?i`
+            <media-gesture
+              class="plyr__gesture"
+              event="pointerup"
+              action="toggle:paused"
+            ></media-gesture>
+          `:null,t()?i`
+            <media-gesture
+              class="plyr__gesture"
+              event="dblpointerup"
+              action="toggle:fullscreen"
+            ></media-gesture>
+          `:null]})}function sa(){const e=y(),t=w(void 0),s=o(()=>{var n;return be((n=t())==null?void 0:n.text)});return S(()=>{const n=e.$state.textTrack();if(!n)return;function a(){t.set(n==null?void 0:n.activeCues[0])}return a(),st(n,"cue-change",a)}),i`
+    <div class="plyr__captions" dir="auto">
+      <span class="plyr__caption">${s}</span>
+    </div>
+  `}function na(){const{translations:e}=h(),t=b(e,"Settings");return i`
+    <div class="plyr__controls__item plyr__menu">
+      <media-menu>
+        <media-menu-button class="plyr__control" data-plyr="settings">
+          <slot name="settings-icon" />
+          <span class="plyr__tooltip">${t}</span>
+        </media-menu-button>
+        <media-menu-items class="plyr__menu__container" placement="top end">
+          <div><div>${[ia(),ua(),da(),la()]}</div></div>
+        </media-menu-items>
+      </media-menu>
+    </div>
+  `}function bt({label:e,children:t}){const s=w(!1);return i`
+    <media-menu @open=${()=>s.set(!0)} @close=${()=>s.set(!1)}>
+      ${aa({label:e,open:s})}
+      <media-menu-items>${t}</media-menu-items>
+    </media-menu>
+  `}function aa({open:e,label:t}){const{translations:s}=h(),n=o(()=>`plyr__control plyr__control--${e()?"back":"forward"}`);function a(){const l=b(s,"Go back to previous menu");return o(()=>e()?i`<span class="plyr__sr-only">${l}</span>`:null)}return i`
+    <media-menu-button class=${n} data-plyr="settings">
+      <span class="plyr__menu__label" aria-hidden=${ma(e)}>
+        ${b(s,t)}
+      </span>
+      <span class="plyr__menu__value" data-part="hint"></span>
+      ${a()}
+    </media-menu-button>
+  `}function ia(){return bt({label:"Audio",children:oa()})}function oa(){const{translations:e}=h();return i`
+    <media-audio-radio-group empty-label=${b(e,"Default")}>
+      <template>
+        <media-radio class="plyr__control" data-plyr="audio">
+          <span data-part="label"></span>
+        </media-radio>
+      </template>
+    </media-audio-radio-group>
+  `}function la(){return bt({label:"Speed",children:ra()})}function ra(){const{translations:e,speed:t}=h();return i`
+    <media-speed-radio-group .rates=${t} normal-label=${b(e,"Normal")}>
+      <template>
+        <media-radio class="plyr__control" data-plyr="speed">
+          <span data-part="label"></span>
+        </media-radio>
+      </template>
+    </media-speed-radio-group>
+  `}function ua(){return bt({label:"Captions",children:ca()})}function ca(){const{translations:e}=h();return i`
+    <media-captions-radio-group off-label=${b(e,"Disabled")}>
+      <template>
+        <media-radio class="plyr__control" data-plyr="captions">
+          <span data-part="label"></span>
+        </media-radio>
+      </template>
+    </media-captions-radio-group>
+  `}function da(){return bt({label:"Quality",children:pa()})}function pa(){const{translations:e}=h();return i`
+    <media-quality-radio-group auto-label=${b(e,"Auto")}>
+      <template>
+        <media-radio class="plyr__control" data-plyr="quality">
+          <span data-part="label"></span>
+        </media-radio>
+      </template>
+    </media-quality-radio-group>
+  `}function ma(e){return o(()=>e()?"true":"false")}function b(e,t){return o(()=>ht(e,t))}const Zt=class Zt extends Ot(Gt,Ct){onSetup(){this.forwardKeepAlive=!1,this.a=y()}onConnect(){var t;(t=this.a.player.el)==null||t.setAttribute("data-layout","plyr"),H(()=>{var s;return(s=this.a.player.el)==null?void 0:s.removeAttribute("data-layout")}),On(this,this.a),S(()=>{this.$props.customIcons()?new Nt([this]).connect():new Gn([this]).connect()})}render(){return o(this.Zm.bind(this))}Zm(){const{viewType:t}=this.a.$state;return t()==="audio"?Ln():t()==="video"?Bn():null}};Zt.tagName="media-plyr-layout";let At=Zt;It(wt);It(St);It(At);
diff --git a/assets/vidstack-player-ui-DQalTb-T.js b/assets/vidstack-player-ui-DQalTb-T.js
new file mode 100644
index 0000000..bec43f8
--- /dev/null
+++ b/assets/vidstack-player-ui-DQalTb-T.js
@@ -0,0 +1,20 @@
+function __vite__mapDeps(indexes) {
+  if (!__vite__mapDeps.viteFileDeps) {
+    __vite__mapDeps.viteFileDeps = ["assets/prod-BwnsjH-l.js","assets/app-Flo2gZk8.js"]
+  }
+  return indexes.map((i) => __vite__mapDeps.viteFileDeps[i])
+}
+import{V as Q,n as x,am as Y,an as Pt,ao as ka,C as b,A as g,ap as U,s as T,r as Qt,aq as j,k as q,h,o as A,ar as la,p as y,S as ct,l as $,as as K,at as lt,a5 as P,x as tt,z as E,E as $t,ae as Ae,q as m,v as z,_ as Aa,B as kt,au as ra,av as da,y as k,aw as V,Y as st,a8 as Z,ax as ua,i as ut,w as L,ay as Pa,Z as pa,j as R,T as Ca,az as Sa,aA as Oa,aB as Na,aC as La,G as Da,U as ba,aD as Ha,a3 as ja,aE as oa,aF as Gt,aG as qa,D as Ea,aH as Fa,al as Ia,a1 as p,aI as fa,aJ as Ma,aK as Pe,aL as ma,aM as Va,a7 as Ya,Q as Wa,a2 as u}from"./vidstack-BeyDmEgV-DK6K5w61.js";import{_ as ga}from"./app-Flo2gZk8.js";import{$ as O,s as $a,L as Ua,x as Ra}from"./vidstack-D2YigfqZ-BLArkuQb.js";import{F,i as pt,r as S,b as ya,g as Ka,d as I,$ as za}from"./vidstack-D6_zYTXL-OYeDKsnR.js";class Xa extends Q{constructor(t){super(),this.$d=t}onAttach(t){const{$props:s,ariaKeys:e}=g(),i=t.getAttribute("aria-keyshortcuts");if(i){e[this.$d]=i,A(()=>{delete e[this.$d]});return}const a=s.keyShortcuts()[this.$d];if(a){const n=ut(a)?a.join(" "):L(a)?a:a==null?void 0:a.keys;t.setAttribute("aria-keyshortcuts",ut(n)?n.join(" "):n)}}}function Bt(o,t){const s=String(o),e=s.length;if(e<t){const a=t-e;return`${"0".repeat(a)}${o}`}return s}function xa(o){const t=Math.trunc(o/3600),s=Math.trunc(o%3600/60),e=Math.trunc(o%60),i=Number((o-Math.trunc(o)).toPrecision(3));return{hours:t,minutes:s,seconds:e,fraction:i}}function Zt(o,{padHrs:t=null,padMins:s=null,showHrs:e=!1,showMs:i=!1}={}){const{hours:a,minutes:n,seconds:r,fraction:c}=xa(o),l=t?Bt(a,2):a,d=s||K(s)&&o>=3600?Bt(n,2):n,f=Bt(r,2),v=i&&c>0?`.${String(c).replace(/^0?\./,"")}`:"",w=`${d}:${f}${v}`;return a>0||e?`${l}:${w}`:w}function Ct(o){const t=[],{hours:s,minutes:e,seconds:i}=xa(o);return s>0&&t.push(`${s} hour`),e>0&&t.push(`${e} min`),(i>0||t.length===0)&&t.push(`${i} sec`),t.join(" ")}class va extends Q{constructor(t){super(),this.j=t,this.zd=-1,this.Ad=-1,this.wb=null,h(this.Ok.bind(this))}onDestroy(){var t;(t=this.wb)==null||t.call(this),this.wb=null}Ok(){const t=this.j.M();if(!t){this.hide();return}const s=this.show.bind(this),e=this.hide.bind(this);this.j.yd(t,s,e)}show(t){var s,e,i;this.Ye(),window.cancelAnimationFrame(this.Ad),this.Ad=-1,(s=this.wb)==null||s.call(this),this.wb=null,this.zd=window.setTimeout(()=>{this.zd=-1;const a=this.j.q();a&&a.style.removeProperty("display"),y(()=>this.j.E(!0,t))},((i=(e=this.j).ih)==null?void 0:i.call(e))??0)}hide(t){this.Ye(),y(()=>this.j.E(!1,t)),this.Ad=requestAnimationFrame(()=>{var e;this.Ye(),this.Ad=-1;const s=this.j.q();if(s){const i=()=>{s.style.display="none",this.wb=null};if(Pa(s)){(e=this.wb)==null||e.call(this);const n=$(s,"animationend",i,{once:!0});this.wb=n}else i()}})}Ye(){window.clearTimeout(this.zd),this.zd=-1}}const qe=class qe extends Q{constructor(t){super(),this.j=t,new F,t.Sb&&new Xa(t.Sb)}onSetup(){const{disabled:t}=this.$props;this.setAttributes({"data-pressed":this.j.o,"aria-pressed":this.Rk.bind(this),"aria-disabled":()=>t()?"true":null})}onAttach(t){x(t,"tabindex","0"),x(t,"role","button"),x(t,"type","button")}onConnect(t){Y(t,this.Sk.bind(this));for(const s of["click","touchstart"])this.listen(s,this.Tk.bind(this),{passive:!0})}Rk(){return Pt(this.j.o())}Uk(t){ka(this.j.o)&&this.j.o.set(s=>!s)}Sk(t){if(this.$props.disabled()||this.el.hasAttribute("data-disabled")){t.preventDefault(),t.stopImmediatePropagation();return}t.preventDefault(),(this.j.r??this.Uk).call(this,t)}Tk(t){this.$props.disabled()&&(t.preventDefault(),t.stopImmediatePropagation())}};qe.props={disabled:!1};let N=qe;const Ee=class Ee extends b{constructor(){super(),new N({o:this.o.bind(this),r:this.r.bind(this)})}onSetup(){this.a=g();const{canAirPlay:t,isAirPlayConnected:s}=this.a.$state;this.setAttributes({"data-active":s,"data-supported":t,"data-state":this.Ic.bind(this),"aria-hidden":O(()=>!t())})}onAttach(t){t.setAttribute("data-media-tooltip","airplay"),U(t,this.Jc.bind(this))}r(t){this.a.remote.requestAirPlay(t)}o(){const{remotePlaybackType:t,remotePlaybackState:s}=this.a.$state;return t()==="airplay"&&s()!=="disconnected"}Ic(){const{remotePlaybackType:t,remotePlaybackState:s}=this.a.$state;return t()==="airplay"&&s()}Jc(){const{remotePlaybackState:t}=this.a.$state;return`AirPlay ${t()}`}};Ee.props=N.props;let ss=Ee;const Fe=class Fe extends b{constructor(){super(),new N({o:this.o.bind(this),Sb:"togglePaused",r:this.r.bind(this)})}onSetup(){this.a=g();const{paused:t,ended:s}=this.a.$state;this.setAttributes({"data-paused":t,"data-ended":s})}onAttach(t){t.setAttribute("data-media-tooltip","play"),U(t,"Play")}r(t){const s=this.a.remote;this.o()?s.pause(t):s.play(t)}o(){const{paused:t}=this.a.$state;return!t()}};Fe.props=N.props;let es=Fe;const Ie=class Ie extends b{constructor(){super(),new N({o:this.o.bind(this),Sb:"toggleCaptions",r:this.r.bind(this)})}onSetup(){this.a=g(),this.setAttributes({"data-active":this.o.bind(this),"data-supported":()=>!this.Tb(),"aria-hidden":O(this.Tb.bind(this))})}onAttach(t){t.setAttribute("data-media-tooltip","caption"),U(t,"Captions")}r(t){this.a.remote.toggleCaptions(t)}o(){const{textTrack:t}=this.a.$state,s=t();return!!s&&pt(s)}Tb(){const{hasCaptions:t}=this.a.$state;return!t()}};Ie.props=N.props;let is=Ie;const Me=class Me extends b{constructor(){super(),new N({o:this.o.bind(this),Sb:"toggleFullscreen",r:this.r.bind(this)})}onSetup(){this.a=g();const{fullscreen:t}=this.a.$state,s=this.Kc.bind(this);this.setAttributes({"data-active":t,"data-supported":s,"aria-hidden":O(()=>!s())})}onAttach(t){t.setAttribute("data-media-tooltip","fullscreen"),U(t,"Fullscreen")}r(t){const s=this.a.remote,e=this.$props.target();this.o()?s.exitFullscreen(e,t):s.enterFullscreen(e,t)}o(){const{fullscreen:t}=this.a.$state;return t()}Kc(){const{canFullscreen:t}=this.a.$state;return t()}};Me.props={...N.props,target:"prefer-media"};let as=Me;const Ve=class Ve extends b{constructor(){super(),new N({o:this.o.bind(this),Sb:"toggleMuted",r:this.r.bind(this)})}onSetup(){this.a=g(),this.setAttributes({"data-muted":this.o.bind(this),"data-state":this.Ic.bind(this)})}onAttach(t){t.setAttribute("data-media-mute-button",""),t.setAttribute("data-media-tooltip","mute"),U(t,"Mute")}r(t){const s=this.a.remote;this.o()?s.unmute(t):s.mute(t)}o(){const{muted:t,volume:s}=this.a.$state;return t()||s()===0}Ic(){const{muted:t,volume:s}=this.a.$state,e=s();if(t()||e===0)return"muted";if(e>=.5)return"high";if(e<.5)return"low"}};Ve.props=N.props;let ns=Ve;const Ye=class Ye extends b{constructor(){super(),new N({o:this.o.bind(this),Sb:"togglePictureInPicture",r:this.r.bind(this)})}onSetup(){this.a=g();const{pictureInPicture:t}=this.a.$state,s=this.Kc.bind(this);this.setAttributes({"data-active":t,"data-supported":s,"aria-hidden":O(()=>!s())})}onAttach(t){t.setAttribute("data-media-tooltip","pip"),U(t,"PiP")}r(t){const s=this.a.remote;this.o()?s.exitPictureInPicture(t):s.enterPictureInPicture(t)}o(){const{pictureInPicture:t}=this.a.$state;return t()}Kc(){const{canPictureInPicture:t}=this.a.$state;return t()}};Ye.props=N.props;let hs=Ye;const We=class We extends b{constructor(){super(),new F}onSetup(){this.a=g();const{seeking:t}=this.a.$state,{seconds:s}=this.$props,e=this.Kc.bind(this);this.setAttributes({seconds:s,"data-seeking":t,"data-supported":e,"aria-hidden":O(()=>!e())})}onAttach(t){x(t,"tabindex","0"),x(t,"role","button"),x(t,"type","button"),t.setAttribute("data-media-tooltip","seek"),U(t,this.Jc.bind(this))}onConnect(t){Y(t,this.r.bind(this))}Kc(){const{canSeek:t}=this.a.$state;return t()}Jc(){const{seconds:t}=this.$props;return`Seek ${t()>0?"forward":"backward"} ${t()} seconds`}r(t){const{seconds:s,disabled:e}=this.$props;if(e())return;const{currentTime:i}=this.a.$state,a=i()+s();this.a.remote.seek(a,t)}};We.props={disabled:!1,seconds:30};let rs=We;const Ue=class Ue extends b{constructor(){super(),new F}onSetup(){this.a=g();const{disabled:t}=this.$props,{live:s,liveEdge:e}=this.a.$state,i=()=>!s();this.setAttributes({"data-edge":e,"data-hidden":i,"aria-disabled":O(()=>t()||e()),"aria-hidden":O(i)})}onAttach(t){x(t,"tabindex","0"),x(t,"role","button"),x(t,"type","button"),t.setAttribute("data-media-tooltip","live")}onConnect(t){Y(t,this.r.bind(this))}r(t){const{disabled:s}=this.$props,{liveEdge:e}=this.a.$state;s()||e()||this.a.remote.seekToLiveEdge(t)}};Ue.props={disabled:!1};let os=Ue;const _=new ct({min:0,max:100,value:0,step:1,pointerValue:0,focused:!1,dragging:!1,pointing:!1,hidden:!1,get active(){return this.dragging||this.focused||this.pointing},get fillRate(){return ca(this.min,this.max,this.value)},get fillPercent(){return this.fillRate*100},get pointerRate(){return ca(this.min,this.max,this.pointerValue)},get pointerPercent(){return this.pointerRate*100}});function ca(o,t,s){const e=t-o,i=s-o;return e>0?i/e:0}class Ta extends Q{constructor(t){super(),this.Hb=t}onConnect(t){this.Ra=new IntersectionObserver(s=>{var e,i;(i=(e=this.Hb).callback)==null||i.call(e,s,this.Ra)},this.Hb),this.Ra.observe(t),A(this.Fa.bind(this))}Fa(){var t;(t=this.Ra)==null||t.disconnect(),this.Ra=void 0}}const Ce=Z(),bt=Z();function Ja(o,t,s,e){return ya(o,S(s,Ka(e)),t)}function Qa(o,t,s,e){const i=ya(0,s,1),a=t-o,n=a*i,r=n/e,c=e*Math.round(r);return o+c}const ts={Left:-1,ArrowLeft:-1,Up:1,ArrowUp:1,Right:1,ArrowRight:1,Down:-1,ArrowDown:-1};class Za extends Q{constructor(t,s){super(),this.j=t,this.a=s,this.p=null,this.cb=null,this.Ub=null,this.Bn=!1,this.cl=$t(e=>{this.db(this.Cd(e),e)},20,{leading:!0})}onSetup(){j(bt)&&(this.Ra=P(bt))}onConnect(){h(this.Wk.bind(this)),h(this.Xk.bind(this)),this.j.kh&&h(this.Yk.bind(this))}Yk(){var s;const{pointer:t}=this.a.$state;if(t()!=="coarse"||!this.j.kh()){this.p=null;return}this.p=(s=this.a.player.el)==null?void 0:s.querySelector("media-provider,[data-media-provider]"),this.p&&($(this.p,"touchstart",this.Zk.bind(this),{passive:!0}),$(this.p,"touchmove",this._k.bind(this),{passive:!1}))}Zk(t){this.cb=t.touches[0]}_k(t){if(K(this.cb)||pa(t))return;const s=t.touches[0],e=s.clientX-this.cb.clientX,i=s.clientY-this.cb.clientY,a=this.$state.dragging();!a&&Math.abs(i)>5||a||(t.preventDefault(),Math.abs(e)>20&&(this.cb=s,this.Ub=this.$state.value(),this.cf(this.Ub,t)))}Wk(){const{hidden:t}=this.$props;this.listen("focus",this.Ec.bind(this)),this.listen("keydown",this.ic.bind(this)),this.listen("keyup",this.hc.bind(this)),!(t()||this.j.v())&&(this.listen("pointerenter",this.Oe.bind(this)),this.listen("pointermove",this.$k.bind(this)),this.listen("pointerleave",this.Pe.bind(this)),this.listen("pointerdown",this.al.bind(this)))}Xk(){this.j.v()||!this.$state.dragging()||($(document,"pointerup",this.bl.bind(this),{capture:!0}),$(document,"pointermove",this.cl.bind(this)),$(document,"touchmove",this.dl.bind(this),{passive:!1}))}Ec(){this.db(this.$state.value())}df(t,s){var l,d,f,v;const{value:e,min:i,max:a,dragging:n}=this.$state,r=Math.max(i(),Math.min(t,a()));e.set(r);const c=this.createEvent("value-change",{detail:r,trigger:s});if(this.dispatch(c),(d=(l=this.j).l)==null||d.call(l,c),n()){const w=this.createEvent("drag-value-change",{detail:r,trigger:s});this.dispatch(w),(v=(f=this.j).S)==null||v.call(f,w)}}db(t,s){const{pointerValue:e,dragging:i}=this.$state;e.set(t),this.dispatch("pointer-value-change",{detail:t,trigger:s}),i()&&this.df(t,s)}Cd(t){let s,e=this.el.getBoundingClientRect(),{min:i,max:a}=this.$state;if(this.$props.orientation()==="vertical"){const{bottom:n,height:r}=e;s=(n-t.clientY)/r}else if(this.cb&&R(this.Ub)){const{width:n}=this.p.getBoundingClientRect(),r=(t.clientX-this.cb.clientX)/n,c=a()-i(),l=c*Math.abs(r);s=(r<0?this.Ub-l:this.Ub+l)/c}else{const{left:n,width:r}=e;s=(t.clientX-n)/r}return Math.max(i(),Math.min(a(),this.j.Da(Qa(i(),a(),s,this.j.qa()))))}Oe(t){this.$state.pointing.set(!0)}$k(t){const{dragging:s}=this.$state;s()||this.db(this.Cd(t),t)}Pe(t){this.$state.pointing.set(!1)}al(t){if(t.button!==0)return;const s=this.Cd(t);this.cf(s,t),this.db(s,t)}cf(t,s){var a,n,r,c;const{dragging:e}=this.$state;if(e())return;e.set(!0),this.a.remote.pauseControls(s);const i=this.createEvent("drag-start",{detail:t,trigger:s});this.dispatch(i),(n=(a=this.j).ef)==null||n.call(a,i),(c=(r=this.Ra)==null?void 0:r.onDragStart)==null||c.call(r)}lh(t,s){var a,n,r,c;const{dragging:e}=this.$state;if(!e())return;e.set(!1),this.a.remote.resumeControls(s);const i=this.createEvent("drag-end",{detail:t,trigger:s});this.dispatch(i),(n=(a=this.j).Dd)==null||n.call(a,i),this.cb=null,this.Ub=null,(c=(r=this.Ra)==null?void 0:r.onDragEnd)==null||c.call(r)}ic(t){if(!Object.keys(ts).includes(t.key))return;const{key:e}=t,i=this.Cn(t);if(!K(i)){this.db(i,t),this.df(i,t);return}const a=this.Dn(t);this.Bn||(this.Bn=e===this.ff,!this.$state.dragging()&&this.Bn&&this.cf(a,t)),this.db(a,t),this.ff=e}hc(t){if(!Object.keys(ts).includes(t.key)||!K(this.Cn(t)))return;const e=this.Bn?this.$state.pointerValue():this.Dn(t);this.df(e,t),this.lh(e,t),this.ff="",this.Bn=!1}Cn(t){let s=t.key,{min:e,max:i}=this.$state;return s==="Home"||s==="PageUp"?e():s==="End"||s==="PageDown"?i():!t.metaKey&&/^[0-9]$/.test(s)?(i()-e())/10*Number(s):null}Dn(t){var vt,Tt;const{key:s,shiftKey:e}=t;t.preventDefault(),t.stopPropagation();const{shiftKeyMultiplier:i}=this.$props,{min:a,max:n,value:r,pointerValue:c}=this.$state,l=this.j.qa(),d=this.j.eb(),f=e?d*i():d,v=Number(ts[s]),w=f*v,H=this.Bn?c():((Tt=(vt=this.j).Y)==null?void 0:Tt.call(vt))??r(),xt=(H+w)/l;return Math.max(a(),Math.min(n(),Number((l*xt).toFixed(3))))}bl(t){if(t.button!==0)return;t.preventDefault(),t.stopImmediatePropagation();const s=this.Cd(t);this.db(s,t),this.lh(s,t)}dl(t){t.preventDefault()}}const et=Z(()=>({})),Re=class Re extends Q{constructor(t){super(),this.j=t,this.Lc=T(!0),this.Mc=T(!0),this.jl=Qt((s,e)=>{var i,a;(i=this.el)==null||i.style.setProperty("--slider-fill",s+"%"),(a=this.el)==null||a.style.setProperty("--slider-pointer",e+"%")})}onSetup(){this.a=g();const t=new F;t.attach(this),this.$state.focused=t.focused.bind(t),j(et)||q(et,{default:"value"}),q(Ce,{bb:this.$props.orientation,Ed:this.j.v,nh:T(null)}),h(this.N.bind(this)),h(this.fl.bind(this)),h(this.Nc.bind(this)),this.gl(),new Za(this.j,this.a).attach(this),new Ta({callback:this.gf.bind(this)}).attach(this)}onAttach(t){x(t,"role","slider"),x(t,"tabindex","0"),x(t,"autocomplete","off"),h(this.oh.bind(this))}onConnect(t){A(la(t,this.Lc.set)),h(this.Ea.bind(this))}gf(t){this.Mc.set(t[0].isIntersecting)}Ea(){const{hidden:t}=this.$props;this.$state.hidden.set(t()||!this.Lc()||!this.Mc.bind(this))}N(){const{dragging:t,value:s,min:e,max:i}=this.$state;y(t)||s.set(Ja(e(),i(),s(),this.j.qa()))}fl(){this.$state.step.set(this.j.qa())}Nc(){if(!this.j.v())return;const{dragging:t,pointing:s}=this.$state;t.set(!1),s.set(!1)}il(){return Pt(this.j.v())}gl(){const{orientation:t}=this.$props,{dragging:s,active:e,pointing:i}=this.$state;this.setAttributes({"data-dragging":s,"data-pointing":i,"data-active":e,"aria-disabled":this.il.bind(this),"aria-valuemin":this.j.Tm??this.$state.min,"aria-valuemax":this.j.hf??this.$state.max,"aria-valuenow":this.j.O,"aria-valuetext":this.j.P,"aria-orientation":t})}oh(){const{fillPercent:t,pointerPercent:s}=this.$state;this.jl(S(t(),3),S(s(),3))}};Re.props={hidden:!1,disabled:!1,step:1,keyStep:1,orientation:"horizontal",shiftKeyMultiplier:5};let D=Re;const jt=class jt extends b{constructor(){super(),new D({qa:this.$props.step,eb:this.$props.keyStep,Da:Math.round,v:this.$props.disabled,O:this.O.bind(this),P:this.P.bind(this)})}onSetup(){h(this.N.bind(this)),h(this.Oc.bind(this))}O(){const{value:t}=this.$state;return Math.round(t())}P(){const{value:t,max:s}=this.$state;return S(t()/s()*100,2)+"%"}N(){const{value:t}=this.$props;this.$state.value.set(t())}Oc(){const{min:t,max:s}=this.$props;this.$state.min.set(t()),this.$state.max.set(s())}};jt.props={...D.props,min:0,max:100,value:0},jt.state=_;let X=jt;const M=new Map,wt=new Map;class Se{constructor(t,s,e){this.$src=t,this.$crossOrigin=s,this.a=e,this.$images=T([]),h(this.kl.bind(this))}static create(t,s){const e=g();return new Se(t,s,e)}kl(){var e;const{canLoad:t}=this.a.$state;if(!t())return;const s=this.$src();if(s){if(L(s)&&M.has(s)){const i=M.get(s);if(M.delete(s),M.set(s,i),M.size>99){const a=M.keys().next().value;M.delete(a)}this.$images.set(M.get(s))}else if(L(s)){const i=this.$crossOrigin(),a=s+"::"+i;if(!wt.has(a)){const n=new Promise(async(r,c)=>{try{const l=await fetch(s,{credentials:Ca(i)});if(l.headers.get("content-type")==="application/json"){const f=await l.json();if(ut(f))if(f[0]&&"text"in f[0])r(this.ph(f));else{for(let v=0;v<f.length;v++){const w=f[v];I(Sa(w),!1),I("url"in w&&L(w.url),!1),I("startTime"in w&&R(w.startTime),!1)}r(f)}else r(this.qh(f));return}ga(()=>import("./prod-BwnsjH-l.js").then(f=>f.d),__vite__mapDeps([0,1])).then(async({parseResponse:f})=>{try{const{cues:v}=await f(l);r(this.ph(v))}catch(v){c(v)}})}catch(l){c(l)}}).then(r=>(M.set(a,r),r)).catch(r=>{this.Q(s,r)}).finally(()=>{L(a)&&wt.delete(a)});wt.set(a,n)}(e=wt.get(a))==null||e.then(n=>{this.$images.set(n||[])})}else if(ut(s))try{this.$images.set(this.ll(s))}catch(i){this.Q(s,i)}else try{this.$images.set(this.qh(s))}catch(i){this.Q(s,i)}return()=>{this.$images.set([])}}}ll(t){const s=this.rh();return t.map((e,i)=>(I(e.url&&L(e.url)),I("startTime"in e&&R(e.startTime)),{...e,url:L(e.url)?this.sh(e.url,s):e.url}))}qh(t){var n;I(L(t.url)),I(ut(t.tiles)&&((n=t.tiles)==null?void 0:n.length));const s=new URL(t.url),e=[],i="tile_width"in t?t.tile_width:t.tileWidth,a="tile_height"in t?t.tile_height:t.tileHeight;for(const r of t.tiles)e.push({url:s,startTime:"start"in r?r.start:r.startTime,width:i,height:a,coords:{x:r.x,y:r.y}});return e}ph(t){for(let i=0;i<t.length;i++){const a=t[i];I("startTime"in a&&R(a.startTime)),I("text"in a&&L(a.text))}const s=[],e=this.rh();for(const i of t){const[a,n]=i.text.split("#"),r=this.ml(n);s.push({url:this.sh(a,e),startTime:i.startTime,endTime:i.endTime,width:r==null?void 0:r.w,height:r==null?void 0:r.h,coords:r&&R(r.x)&&R(r.y)?{x:r.x,y:r.y}:void 0})}return s}rh(){let t=y(this.$src);return!L(t)||!/^https?:/.test(t)?location.href:t}sh(t,s){return/^https?:/.test(t)?new URL(t):new URL(t,s)}ml(t){if(!t)return{};const[s,e]=t.split("="),i=e==null?void 0:e.split(","),a={};if(!s||!i)return null;for(let n=0;n<s.length;n++){const r=+i[n];isNaN(r)||(a[s[n]]=r)}return a}Q(t,s){}}const qt=class qt extends b{constructor(){super(...arguments),this.jf=[]}onSetup(){this.a=g(),this.X=Se.create(this.$props.src,this.$state.crossOrigin),this.Ca(),this.setAttributes({"data-loading":this.Pc.bind(this),"data-error":this.fb.bind(this),"data-hidden":this.$state.hidden,"aria-hidden":O(this.$state.hidden)})}onConnect(t){h(this.kf.bind(this)),h(this.Ea.bind(this)),h(this.Ca.bind(this)),h(this.Ma.bind(this)),h(this.nl.bind(this)),h(this.th.bind(this))}kf(){const t=this.$state.img();t&&($(t,"load",this.tb.bind(this)),$(t,"error",this.Q.bind(this)))}Ca(){const{crossOrigin:t}=this.$props,{crossOrigin:s}=this.$state,{crossOrigin:e}=this.a.$state,i=t()!==null?t():e();s.set(i===!0?"anonymous":i)}Ma(){const{src:t,loading:s,error:e}=this.$state;return t()&&(s.set(!0),e.set(null)),()=>{this.ol(),s.set(!1),e.set(null)}}tb(){const{loading:t,error:s}=this.$state;this.th(),t.set(!1),s.set(null)}Q(t){const{loading:s,error:e}=this.$state;s.set(!1),e.set(t)}Pc(){const{loading:t,hidden:s}=this.$state;return!s()&&t()}fb(){const{error:t}=this.$state;return!K(t())}Ea(){const{hidden:t}=this.$state,{duration:s}=this.a.$state,e=this.X.$images();t.set(this.fb()||!Number.isFinite(s())||e.length===0)}uh(){return this.$props.time()}nl(){let t=this.X.$images();if(!t.length)return;let s=this.uh(),{src:e,activeThumbnail:i}=this.$state,a=-1,n=null;for(let r=t.length-1;r>=0;r--){const c=t[r];if(s>=c.startTime&&(!c.endTime||s<c.endTime)){a=r;break}}t[a]&&(n=t[a]),i.set(n),e.set((n==null?void 0:n.url.href)||"")}th(){if(!this.scope||this.$state.hidden())return;const t=this.el,s=this.$state.img(),e=this.$state.activeThumbnail();if(!s||!e||!t)return;let i=e.width??s.naturalWidth,a=(e==null?void 0:e.height)??s.naturalHeight,{maxWidth:n,maxHeight:r,minWidth:c,minHeight:l,width:d,height:f}=getComputedStyle(this.el);c==="100%"&&(c=parseFloat(d)+""),l==="100%"&&(l=parseFloat(f)+"");let v=Math.max(parseInt(c)/i,parseInt(l)/a),w=Math.min(Math.max(parseInt(c),parseInt(n))/i,Math.max(parseInt(l),parseInt(r))/a),H=!isNaN(w)&&w<1?w:v>1?v:1;this.Vb(t,"--thumbnail-width",`${i*H}px`),this.Vb(t,"--thumbnail-height",`${a*H}px`),this.Vb(s,"width",`${s.naturalWidth*H}px`),this.Vb(s,"height",`${s.naturalHeight*H}px`),this.Vb(s,"transform",e.coords?`translate(-${e.coords.x*H}px, -${e.coords.y*H}px)`:""),this.Vb(s,"max-width","none")}Vb(t,s,e){t.style.setProperty(s,e),this.jf.push(()=>t.style.removeProperty(s))}ol(){for(const t of this.jf)t();this.jf=[]}};qt.props={src:null,time:0,crossOrigin:null},qt.state=new ct({src:"",img:null,thumbnails:[],activeThumbnail:null,crossOrigin:null,loading:!1,error:null,hidden:!1});let cs=qt;var _a=Object.defineProperty,Ga=Object.getOwnPropertyDescriptor,Ba=(o,t,s,e)=>{for(var i=Ga(t,s),a=o.length-1,n;a>=0;a--)(n=o[a])&&(i=n(t,s,i)||i);return i&&_a(t,s,i),i};const Ke=class Ke extends b{onSetup(){this.ia=lt(X.state),this.Qc=P(et),this.sl=tt(this.getValueText.bind(this))}getValueText(){var H,xt;const{type:t,format:s,decimalPlaces:e,padHours:i,padMinutes:a,showHours:n,showMs:r}=this.$props,{value:c,pointerValue:l,min:d,max:f}=this.ia,v=(s==null?void 0:s())??this.Qc.default,w=t()==="current"?c():l();if(v==="percent"){const vt=f()-d(),Tt=w/vt*100;return(this.Qc.percent??S)(Tt,e())+"%"}else return v==="time"?(this.Qc.time??Zt)(w,{padHrs:i(),padMins:a(),showHrs:n(),showMs:r()}):(((xt=(H=this.Qc).value)==null?void 0:xt.call(H,w))??w.toFixed(2))+""}};Ke.props={type:"pointer",format:null,showHours:!1,showMs:!1,padHours:null,padMinutes:null,decimalPlaces:2};let St=Ke;Ba([E],St.prototype,"getValueText");const ze=class ze extends b{constructor(){super(...arguments),this.vh=Qt(()=>{const{Ed:t,bb:s}=this.ia;if(t())return;const e=this.el,{offset:i,noClamp:a}=this.$props;e&&tn(e,{clamp:!a(),offset:i(),orientation:s()})})}onSetup(){this.ia=P(Ce);const{active:t}=lt(X.state);this.setAttributes({"data-visible":t})}onAttach(t){Object.assign(t.style,{position:"absolute",top:0,left:0,width:"max-content"})}onConnect(t){const{nh:s}=this.ia;s.set(t),A(()=>s.set(null)),h(this.vh.bind(this));const e=new ResizeObserver(this.vh.bind(this));e.observe(t),A(()=>e.disconnect())}};ze.props={offset:0,noClamp:!1};let ls=ze;function tn(o,{clamp:t,offset:s,orientation:e}){const i=getComputedStyle(o),a=parseFloat(i.width),n=parseFloat(i.height),r={top:null,right:null,bottom:null,left:null};if(r[e==="horizontal"?"bottom":"left"]=`calc(100% + var(--media-slider-preview-offset, ${s}px))`,e==="horizontal"){const c=a/2;if(!t)r.left=`calc(var(--slider-pointer) - ${c}px)`;else{const l=`max(0px, calc(var(--slider-pointer) - ${c}px))`,d=`calc(100% - ${a}px)`;r.left=`min(${l}, ${d})`}}else{const c=n/2;if(!t)r.bottom=`calc(var(--slider-pointer) - ${c}px)`;else{const l=`max(${c}px, calc(var(--slider-pointer) - ${c}px))`,d=`calc(100% - ${n}px)`;r.bottom=`min(${l}, ${d})`}}Object.assign(o.style,r)}const Et=class Et extends b{constructor(){super(...arguments),this.wh=$t(this.Na.bind(this),25)}onSetup(){this.a=g();const{audioGain:t}=this.a.$state;q(et,{default:"percent",value(s){return(s*(t()??1)).toFixed(2)},percent(s){return Math.round(s*(t()??1))}}),new D({qa:this.$props.step,eb:this.$props.keyStep,Da:Math.round,v:this.v.bind(this),hf:this.hf.bind(this),O:this.O.bind(this),P:this.P.bind(this),S:this.S.bind(this),l:this.l.bind(this)}).attach(this),h(this.Fc.bind(this))}onAttach(t){t.setAttribute("data-media-volume-slider",""),x(t,"aria-label","Volume");const{canSetVolume:s}=this.a.$state;this.setAttributes({"data-supported":s,"aria-hidden":O(()=>!s())})}O(){const{value:t}=this.$state,{audioGain:s}=this.a.$state;return Math.round(t()*(s()??1))}P(){const{value:t,max:s}=this.$state,{audioGain:e}=this.a.$state;return S(t()/s()*(e()??1)*100,2)+"%"}hf(){const{audioGain:t}=this.a.$state;return this.$state.max()*(t()??1)}v(){const{disabled:t}=this.$props,{canSetVolume:s}=this.a.$state;return t()||!s()}Fc(){const{muted:t,volume:s}=this.a.$state,e=t()?0:s()*100;this.$state.value.set(e),this.dispatch("value-change",{detail:e})}Na(t){if(!t.trigger)return;const s=S(t.detail/100,3);this.a.remote.changeVolume(s,t)}l(t){this.wh(t)}S(t){this.wh(t)}};Et.props={...D.props,keyStep:5,shiftKeyMultiplier:2},Et.state=_;let ds=Et;const Ft=class Ft extends b{constructor(){super(),this.Ah=T(null),this.mf=!1;const{noSwipeGesture:t}=this.$props;new D({kh:()=>!t(),Y:this.Y.bind(this),qa:this.qa.bind(this),eb:this.eb.bind(this),Da:this.Da,v:this.v.bind(this),O:this.O.bind(this),P:this.P.bind(this),ef:this.ef.bind(this),S:this.S.bind(this),Dd:this.Dd.bind(this),l:this.l.bind(this)})}onSetup(){this.a=g(),q(et,{default:"time",value:this.xl.bind(this),time:this.yl.bind(this)}),this.setAttributes({"data-chapters":this.zl.bind(this)}),this.setStyles({"--slider-progress":this.Al.bind(this)}),h(this.Qb.bind(this)),h(this.Bl.bind(this))}onAttach(t){t.setAttribute("data-media-time-slider",""),x(t,"aria-label","Seek")}onConnect(t){h(this.Cl.bind(this)),Ae(this.a.textTracks,"chapters",this.Ah.set)}Al(){const{bufferedEnd:t,duration:s}=this.a.$state;return S(Math.min(t()/Math.max(s(),1),1)*100,3)+"%"}zl(){var s;const{duration:t}=this.a.$state;return((s=this.Ah())==null?void 0:s.cues.length)&&Number.isFinite(t())&&t()>0}Bl(){this.lf=$t(this.Ja.bind(this),this.$props.seekingRequestThrottle())}Qb(){if(this.$state.hidden())return;const{value:t,dragging:s}=this.$state,e=this.Y();y(s)||(t.set(e),this.dispatch("value-change",{detail:e}))}Cl(){const t=this.a.player.el,{nh:s}=P(Ce);t&&s()&&m(t,"data-preview",this.$state.active())}Ja(t,s){this.a.remote.seeking(t,s)}Dl(t,s,e){this.lf.cancel();const{live:i}=this.a.$state;if(i()&&s>=99){this.a.remote.seekToLiveEdge(e);return}this.a.remote.seek(t,e)}ef(t){const{pauseWhileDragging:s}=this.$props;if(s()){const{paused:e}=this.a.$state;this.mf=!e(),this.a.remote.pause(t)}}S(t){this.lf(this.Wb(t.detail),t)}Dd(t){const{seeking:s}=this.a.$state;y(s)||this.Ja(this.Wb(t.detail),t);const e=t.detail;this.Dl(this.Wb(e),e,t);const{pauseWhileDragging:i}=this.$props;i()&&this.mf&&(this.a.remote.play(t),this.mf=!1)}l(t){const{dragging:s}=this.$state;s()||!t.trigger||this.Dd(t)}Y(){const{currentTime:t}=this.a.$state;return this.El(t())}qa(){const t=this.$props.step()/this.a.$state.duration()*100;return Number.isFinite(t)?t:1}eb(){const t=this.$props.keyStep()/this.a.$state.duration()*100;return Number.isFinite(t)?t:1}Da(t){return S(t,3)}v(){const{disabled:t}=this.$props,{canSeek:s}=this.a.$state;return t()||!s()}O(){const{value:t}=this.$state;return Math.round(t())}P(){const t=this.Wb(this.$state.value()),{duration:s}=this.a.$state;return Number.isFinite(t)?`${Ct(t)} out of ${Ct(s())}`:"live"}Wb(t){const{duration:s}=this.a.$state;return S(t/100*s(),5)}El(t){const{liveEdge:s,duration:e}=this.a.$state,i=Math.max(0,Math.min(1,s()?1:Math.min(t,e())/e()));return Number.isNaN(i)?0:Number.isFinite(i)?i*100:100}xl(t){const s=this.Wb(t),{live:e,duration:i}=this.a.$state;return Number.isFinite(s)?(e()?s-i():s).toFixed(0):"LIVE"}yl(t,s){const e=this.Wb(t),{live:i,duration:a}=this.a.$state,n=i()?e-a():e;return Number.isFinite(e)?`${n<0?"-":""}${Zt(Math.abs(n),s)}`:"LIVE"}};Ft.props={...D.props,step:.1,keyStep:5,shiftKeyMultiplier:2,pauseWhileDragging:!1,noSwipeGesture:!1,seekingRequestThrottle:100},Ft.state=_;let Ot=Ft;const C=Z();function sn(o,t){const s=La(o,t);for(const{el:e,top:i,left:a}of s)e.scroll({top:i,left:a,behavior:t.behavior})}function en(o,t={}){sn(o,{scrollMode:"if-needed",block:"center",inline:"center",...t})}const an=["a[href]","[tabindex]","input","select","button"].map(o=>`${o}:not([aria-hidden='true'])`).join(","),nn=new Set(["Escape","Tab","ArrowUp","ArrowDown","Home","PageUp","End","PageDown","Enter"," "]);class hn{constructor(t){this.j=t,this.Tc=-1,this.Sa=null,this.ra=[]}get A(){return this.ra}Ul(t){$(t,"focus",this.Ec.bind(this)),this.Sa=t,A(()=>{this.Sa=null})}yd(){this.Sa&&(this.Ha(),$(this.Sa,"keyup",this.hc.bind(this)),$(this.Sa,"keydown",this.ic.bind(this)),A(()=>{this.Tc=-1,this.ra=[]}))}Ha(){this.Tc=0,this.ra=this.Vl()}Eh(t=this.Fh()){const s=this.ra[t];s&&requestAnimationFrame(()=>{requestAnimationFrame(()=>{en(s,{behavior:"smooth",boundary:e=>!e.hasAttribute("data-root")})})})}Gh(t=!0){const s=this.Fh();this.Yb(s>=0?s:0,t)}Yb(t,s=!0){var e;this.Tc=t,this.ra[t]?(this.ra[t].focus({preventScroll:!0}),s&&this.Eh(t)):(e=this.Sa)==null||e.focus({preventScroll:!0})}Fh(){return this.ra.findIndex(t=>document.activeElement===t||t.getAttribute("role")==="menuitemradio"&&t.getAttribute("aria-checked")==="true")}Ec(){this.Tc>=0||(this.Ha(),this.Gh())}Hh(t){const s=t.target;if(Oa(t)&&s instanceof Element){const e=s.getAttribute("role");return!/a|input|select|button/.test(s.localName)&&!e}return nn.has(t.key)}hc(t){this.Hh(t)&&(t.stopPropagation(),t.preventDefault())}ic(t){if(this.Hh(t))switch(t.stopPropagation(),t.preventDefault(),t.key){case"Escape":this.j.Wl(t);break;case"Tab":this.Yb(this.rf(t.shiftKey?-1:1));break;case"ArrowUp":this.Yb(this.rf(-1));break;case"ArrowDown":this.Yb(this.rf(1));break;case"Home":case"PageUp":this.Yb(0);break;case"End":case"PageDown":this.Yb(this.ra.length-1);break}}rf(t){var e;let s=this.Tc;do s=(s+t+this.ra.length)%this.ra.length;while(((e=this.ra[s])==null?void 0:e.offsetParent)===null);return s}Vl(){if(!this.Sa)return[];const t=this.Sa.querySelectorAll(an),s=[],e=i=>i.getAttribute("role")==="menu";for(const i of t)st(i)&&i.offsetParent!==null&&da(this.Sa,i,e)&&s.push(i);return s}}var rn=Object.defineProperty,on=Object.getOwnPropertyDescriptor,yt=(o,t,s,e)=>{for(var i=on(t,s),a=o.length-1,n;a>=0;a--)(n=o[a])&&(i=n(t,s,i)||i);return i&&rn(t,s,i),i};let cn=0;const Xe=class Xe extends b{constructor(){super(),this.T=T(!1),this.Ed=T(!1),this.M=T(null),this.q=T(null),this.Vc=new Set,this.Jd=null,this.Ld=!1,this.Ih=T(!1),this.Md=new Set,this.zf=!1,this.im=this.jm.bind(this),this.Cf=!1,this.gm=this.km.bind(this),this.hm=this.lm.bind(this),this.pa=Qt(()=>{const s=y(this.q);if(!s)return;let e=0,i=getComputedStyle(s),a=[...s.children];for(const n of["paddingTop","paddingBottom","borderTopWidth","borderBottomWidth"])e+=parseFloat(i[n])||0;for(const n of a)if(st(n)&&n.style.display==="contents")a.push(...n.children);else if(n.nodeType===3)e+=parseFloat(getComputedStyle(n).fontSize);else if(st(n)){if(!Na(n))continue;const r=getComputedStyle(n);e+=n.offsetHeight+(parseFloat(r.marginTop)||0)+(parseFloat(r.marginBottom)||0)}z(s,"--menu-height",e+"px")}),this.Bf=!1;const{showDelay:t}=this.$props;this.Kd=new va({M:this.M,q:this.q,ih:t,yd:(s,e,i)=>{Y(s,n=>{this.T()?i(n):e(n)});const a=this.Xl();a&&Y(a,n=>{n.stopPropagation(),i(n)})},E:this.Yl.bind(this)})}get triggerElement(){return this.M()}get contentElement(){return this.q()}get isSubmenu(){return!!this.Uc}onSetup(){this.a=g();const t=++cn;this.sf=`media-menu-${t}`,this.tf=`media-menu-button-${t}`,this.Zb=new hn({Wl:this.close.bind(this)}),j(C)&&(this.Uc=P(C)),this.Zl(),this.setAttributes({"data-open":this.T,"data-root":!this.isSubmenu,"data-submenu":this.isSubmenu,"data-disabled":this.v.bind(this)}),q(C,{_l:this.M,q:this.q,T:this.T,_b:T(""),Um:!!this.Uc,gb:this.gb.bind(this),uf:this.uf.bind(this),vf:this.vf.bind(this),wf:this.wf.bind(this),xf:this.xf.bind(this),yf:this.yf.bind(this),$l:s=>{this.Md.add(s),A(()=>{this.Md.delete(s)})}})}onAttach(t){t.style.setProperty("display","contents")}onConnect(t){var s;h(this.am.bind(this)),this.isSubmenu&&((s=this.Uc)==null||s.yf(this))}onDestroy(){this.M.set(null),this.q.set(null),this.Jd=null,this.Md.clear()}Zl(){let t=-1,s=j(bt)?P(bt):null;q(bt,{onDragStart:()=>{var e;(e=s==null?void 0:s.onDragStart)==null||e.call(s),window.clearTimeout(t),t=-1,this.Ld=!0},onDragEnd:()=>{var e;(e=s==null?void 0:s.onDragEnd)==null||e.call(s),t=window.setTimeout(()=>{this.Ld=!1,t=-1},300)}})}am(){const t=this.bm();this.isSubmenu||this.pa(),this.Jh(t),t&&(h(()=>{const{height:s}=this.a.$state,e=this.q();e&&z(e,"--player-height",s()+"px")}),this.Zb.yd(),this.listen("pointerup",this.cm.bind(this)),$(window,"pointerup",this.dm.bind(this)))}uf(t){const s=t.el,e=this.isSubmenu,i=O(this.v.bind(this));x(s,"tabindex",e?"-1":"0"),x(s,"role",e?"menuitem":"button"),m(s,"id",this.tf),m(s,"aria-haspopup","menu"),m(s,"aria-expanded","false"),m(s,"data-root",!this.isSubmenu),m(s,"data-submenu",this.isSubmenu),h(()=>{m(s,"data-open",this.T()),m(s,"aria-disabled",i())}),this.M.set(s),A(()=>{this.M.set(null)})}vf(t){var a;const s=t.el;s.style.setProperty("display","none"),m(s,"id",this.sf),x(s,"role","menu"),x(s,"tabindex","-1"),m(s,"data-root",!this.isSubmenu),m(s,"data-submenu",this.isSubmenu),this.q.set(s),A(()=>this.q.set(null)),h(()=>m(s,"data-open",this.T())),this.Zb.Ul(s),this.Jh(!1);const i=this.em.bind(this);this.isSubmenu?(a=this.Uc)==null||a.$l(i):(t.listen("transitionstart",i),t.listen("transitionend",i),t.listen("animationend",this.pa),t.listen("vds-menu-resize",this.pa))}wf(t){this.Jd=t}Jh(t){const s=y(this.q);s&&m(s,"aria-hidden",Pt(!t))}xf(t){this.Ih.set(t)}Yl(t,s){var a,n,r,c,l,d;if(this.zf=Aa(s),s==null||s.stopPropagation(),this.T()===t)return;if(this.v()){t&&this.Kd.hide(s);return}(a=this.el)==null||a.dispatchEvent(new Event("vds-menu-resize",{bubbles:!0,composed:!0}));const e=this.M(),i=this.q();if(e&&(m(e,"aria-controls",t&&this.sf),m(e,"aria-expanded",Pt(t))),i&&m(i,"aria-labelledby",t&&this.tf),this.T.set(t),this.fm(s),kt(),this.zf){t?i==null||i.focus():e==null||e.focus();for(const f of[this.el,i])f&&f.setAttribute("data-keyboard","")}else for(const f of[this.el,i])f&&f.removeAttribute("data-keyboard");if(this.dispatch(t?"open":"close",{trigger:s}),t)!this.isSubmenu&&this.a.activeMenu!==this&&((n=this.a.activeMenu)==null||n.close(s),this.a.activeMenu=this),(c=(r=this.Jd)==null?void 0:r.Af)==null||c.call(r,s);else{if(this.isSubmenu)for(const f of this.Vc)f.close(s);else this.a.activeMenu=null;(d=(l=this.Jd)==null?void 0:l.Vm)==null||d.call(l,s)}t&&requestAnimationFrame(this.Kh.bind(this))}Kh(){this.Bf||this.Cf||(this.Zb.Ha(),requestAnimationFrame(()=>{this.zf?this.Zb.Gh():this.Zb.Eh()}))}bm(){return!this.v()&&this.T()}v(){return this.Ed()||this.Ih()}gb(t){this.Ed.set(t)}cm(t){const s=this.q();this.Ld||s&&ra(s,t)||t.stopPropagation()}dm(t){const s=this.q();this.Ld||s&&ra(s,t)||this.close(t)}Xl(){var s;const t=(s=this.el)==null?void 0:s.querySelector('[data-part="close-target"]');return this.el&&t&&da(this.el,t,e=>e.getAttribute("role")==="menu")?t:null}fm(t){this.isSubmenu||(this.T()?this.a.remote.pauseControls(t):this.a.remote.resumeControls(t))}yf(t){this.Vc.add(t),$(t,"open",this.gm),$(t,"close",this.hm),A(this.im)}jm(t){this.Vc.delete(t)}km(t){var e;this.Cf=!0;const s=this.q();this.isSubmenu&&((e=this.triggerElement)==null||e.setAttribute("aria-hidden","true"));for(const i of this.Vc)if(i!==t.target)for(const a of[i.el,i.triggerElement])a==null||a.setAttribute("aria-hidden","true");if(s){const i=t.target.el;for(const a of s.children)a.contains(i)?a.setAttribute("data-open",""):a!==i&&a.setAttribute("data-hidden","")}}lm(t){var e;this.Cf=!1;const s=this.q();this.isSubmenu&&((e=this.triggerElement)==null||e.setAttribute("aria-hidden","false"));for(const i of this.Vc)for(const a of[i.el,i.triggerElement])a==null||a.setAttribute("aria-hidden","false");if(s)for(const i of s.children)i.removeAttribute("data-open"),i.removeAttribute("data-hidden")}em(t){const s=this.q();s&&t.propertyName==="height"&&(this.Bf=t.type==="transitionstart",m(s,"data-transition",this.Bf?"height":null),this.T()&&this.Kh());for(const e of this.Md)e(t)}open(t){y(this.T)||(this.Kd.show(t),kt())}close(t){y(this.T)&&(this.Kd.hide(t),kt())}};Xe.props={showDelay:0};let W=Xe;yt([k],W.prototype,"triggerElement");yt([k],W.prototype,"contentElement");yt([k],W.prototype,"isSubmenu");yt([E],W.prototype,"open");yt([E],W.prototype,"close");var ln=Object.defineProperty,dn=Object.getOwnPropertyDescriptor,un=(o,t,s,e)=>{for(var i=dn(t,s),a=o.length-1,n;a>=0;a--)(n=o[a])&&(i=n(t,s,i)||i);return i&&ln(t,s,i),i};const Je=class Je extends b{constructor(){super(),this.Lh=T(null),new F}get expanded(){var t;return((t=this.n)==null?void 0:t.T())??!1}onSetup(){this.n=P(C)}onAttach(t){this.n.uf(this),h(this.Nc.bind(this)),x(t,"type","button")}onConnect(t){h(this.mm.bind(this)),this.Gc();const s=new MutationObserver(this.Gc.bind(this));s.observe(t,{attributeFilter:["data-part"],childList:!0,subtree:!0}),A(()=>s.disconnect()),Y(t,e=>{this.dispatch("select",{trigger:e})})}Nc(){this.n.xf(this.$props.disabled())}mm(){const t=this.Lh();t&&h(()=>{const s=this.n._b();s&&(t.textContent=s)})}Gc(){var s;const t=(s=this.el)==null?void 0:s.querySelector('[data-part="hint"]');this.Lh.set(t??null)}};Je.props={disabled:!1};let mt=Je;un([k],mt.prototype,"expanded");class pn extends mt{}const Qe=class Qe extends b{constructor(){super(...arguments),this.G=null}onSetup(){this.a=g(),q(At,{xb:this.nm.bind(this)})}onAttach(t){t.style.setProperty("display","contents")}onConnect(t){}onDestroy(){var t;(t=this.G)==null||t.remove(),this.G=null}nm(t){this.Mh(!1),this.G=t,V(()=>{V(()=>{this.connectScope&&h(this.Nc.bind(this))})})}Nc(){const{fullscreen:t}=this.a.$state,{disabled:s}=this.$props,e=s();this.Mh(e==="fullscreen"?!t():!e)}Mh(t){var i;if(!this.G)return;let s=this.om(this.$props.container());if(!s)return;const e=this.G.parentElement===s;m(this.G,"data-portal",t),t?e||(this.G.remove(),s.append(this.G)):e&&this.G.parentElement===s&&(this.G.remove(),(i=this.el)==null||i.append(this.G))}om(t){return st(t)?t:t?document.querySelector(t):document.body}};Qe.props={container:null,disabled:!1};let us=Qe;const At=Z(),Ze=class Ze extends b{constructor(){super(),new F;const{placement:t}=this.$props;this.setAttributes({"data-placement":t})}onAttach(t){if(this.n=P(C),this.n.vf(this),j(At)){const s=P(At);s&&(q(At,null),s.xb(t),A(()=>s.xb(null)))}}onConnect(t){h(this.bf.bind(this))}bf(){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:s,alignOffset:e}=this.$props;return ua(this.el,this.Bd(),t,{offsetVarName:"media-menu",xOffset:e(),yOffset:s()})}else this.el.removeAttribute("style"),this.el.style.display="none"}Bd(){return this.n._l()}};Ze.props={placement:null,offset:0,alignOffset:0};let ps=Ze;const bs=Z();class G extends Q{constructor(){super(...arguments),this.$b=new Set,this.Ta=T(""),this.e=null,this.sm=this.E.bind(this)}get pm(){return Array.from(this.$b).map(t=>t.Ta())}get value(){return this.Ta()}set value(t){this.E(t)}onSetup(){q(bs,{add:this.qm.bind(this),remove:this.rm.bind(this)})}onAttach(t){j(C)||x(t,"role","radiogroup"),this.setAttributes({value:this.Ta})}onDestroy(){this.$b.clear()}qm(t){this.$b.has(t)||(this.$b.add(t),t.Nd=this.sm,t.Wc(t.Ta()===this.Ta()))}rm(t){t.Nd=null,this.$b.delete(t)}E(t,s){var n;const e=y(this.Ta);if(!t||t===e)return;const i=this.Nh(e),a=this.Nh(t);i==null||i.Wc(!1,s),a==null||a.Wc(!0,s),this.Ta.set(t),(n=this.l)==null||n.call(this,t,s)}Nh(t){for(const s of this.$b)if(t===y(s.Ta))return s;return null}}var bn=Object.defineProperty,fn=Object.getOwnPropertyDescriptor,Oe=(o,t,s,e)=>{for(var i=fn(t,s),a=o.length-1,n;a>=0;a--)(n=o[a])&&(i=n(t,s,i)||i);return i&&bn(t,s,i),i};const _e=class _e extends b{get value(){return this.e.value}get disabled(){const{audioTracks:t}=this.a.$state;return t().length<=1}constructor(){super(),this.e=new G,this.e.l=this.l.bind(this)}onSetup(){this.a=g(),j(C)&&(this.n=P(C))}onConnect(t){h(this.N.bind(this)),h(this.sa.bind(this)),h(this.Ua.bind(this))}getOptions(){const{audioTracks:t}=this.a.$state;return t().map(s=>({track:s,label:s.label,value:s.label.toLowerCase()}))}N(){this.e.value=this.Y()}Ua(){var i;const{emptyLabel:t}=this.$props,{audioTrack:s}=this.a.$state,e=s();(i=this.n)==null||i._b.set((e==null?void 0:e.label)??t())}sa(){var t;(t=this.n)==null||t.gb(this.disabled)}Y(){const{audioTrack:t}=this.a.$state,s=t();return s?s.label.toLowerCase():""}l(t,s){if(this.disabled)return;const e=this.a.audioTracks.toArray().findIndex(i=>i.label.toLowerCase()===t);if(e>=0){const i=this.a.audioTracks[e];this.a.remote.changeAudioTrack(e,s),this.dispatch("change",{detail:i,trigger:s})}}};_e.props={emptyLabel:"Default"};let it=_e;Oe([k],it.prototype,"value");Oe([k],it.prototype,"disabled");Oe([E],it.prototype,"getOptions");var mn=Object.defineProperty,gn=Object.getOwnPropertyDescriptor,Ne=(o,t,s,e)=>{for(var i=gn(t,s),a=o.length-1,n;a>=0;a--)(n=o[a])&&(i=n(t,s,i)||i);return i&&mn(t,s,i),i};const Ge=class Ge extends b{get value(){return this.e.value}get disabled(){const{hasCaptions:t}=this.a.$state;return!t()}constructor(){super(),this.e=new G,this.e.l=this.l.bind(this)}onSetup(){this.a=g(),j(C)&&(this.n=P(C))}onConnect(t){var s;(s=super.onConnect)==null||s.call(this,t),h(this.N.bind(this)),h(this.sa.bind(this)),h(this.Ua.bind(this))}getOptions(){const{offLabel:t}=this.$props,{textTracks:s}=this.a.$state;return[{value:"off",label:t},...s().filter(pt).map(e=>({track:e,label:e.label,value:this.Df(e)}))]}N(){this.e.value=this.Y()}Ua(){var i;const{offLabel:t}=this.$props,{textTrack:s}=this.a.$state,e=s();(i=this.n)==null||i._b.set(e&&pt(e)&&e.mode==="showing"?e.label:t())}sa(){var t;(t=this.n)==null||t.gb(this.disabled)}Y(){const{textTrack:t}=this.a.$state,s=t();return s&&pt(s)&&s.mode==="showing"?this.Df(s):"off"}l(t,s){if(this.disabled)return;if(t==="off"){const i=this.a.textTracks.selected;if(i){const a=this.a.textTracks.indexOf(i);this.a.remote.changeTextTrackMode(a,"disabled",s),this.dispatch("change",{detail:null,trigger:s})}return}const e=this.a.textTracks.toArray().findIndex(i=>this.Df(i)===t);if(e>=0){const i=this.a.textTracks[e];this.a.remote.changeTextTrackMode(e,"showing",s),this.dispatch("change",{detail:i,trigger:s})}}Df(t){return t.id+":"+t.kind+"-"+t.label.toLowerCase()}};Ge.props={offLabel:"Off"};let at=Ge;Ne([k],at.prototype,"value");Ne([k],at.prototype,"disabled");Ne([E],at.prototype,"getOptions");var $n=Object.defineProperty,yn=Object.getOwnPropertyDescriptor,Le=(o,t,s,e)=>{for(var i=yn(t,s),a=o.length-1,n;a>=0;a--)(n=o[a])&&(i=n(t,s,i)||i);return i&&$n(t,s,i),i};const xn=[.25,.5,.75,1,1.25,1.5,1.75,2],Be=class Be extends b{get value(){return this.e.value}get disabled(){const{rates:t}=this.$props,{canSetPlaybackRate:s}=this.a.$state;return!s()||t().length===0}constructor(){super(),this.e=new G,this.e.l=this.l.bind(this)}onSetup(){this.a=g(),j(C)&&(this.n=P(C))}onConnect(t){h(this.N.bind(this)),h(this.Ua.bind(this)),h(this.sa.bind(this))}getOptions(){const{rates:t,normalLabel:s}=this.$props;return t().map(e=>({label:e===1?s:e+"×",value:e.toString()}))}N(){this.e.value=this.Y()}Ua(){var i;const{normalLabel:t}=this.$props,{playbackRate:s}=this.a.$state,e=s();(i=this.n)==null||i._b.set(e===1?t():e+"×")}sa(){var t;(t=this.n)==null||t.gb(this.disabled)}Y(){const{playbackRate:t}=this.a.$state;return t().toString()}l(t,s){if(this.disabled)return;const e=+t;this.a.remote.changePlaybackRate(e,s),this.dispatch("change",{detail:e,trigger:s})}};Be.props={normalLabel:"Normal",rates:xn};let nt=Be;Le([k],nt.prototype,"value");Le([k],nt.prototype,"disabled");Le([E],nt.prototype,"getOptions");var vn=Object.defineProperty,Tn=Object.getOwnPropertyDescriptor,De=(o,t,s,e)=>{for(var i=Tn(t,s),a=o.length-1,n;a>=0;a--)(n=o[a])&&(i=n(t,s,i)||i);return i&&vn(t,s,i),i};const ti=class ti extends b{constructor(){super(),this.Rc=tt(()=>{const{sort:t}=this.$props,{qualities:s}=this.a.$state;return $a(s(),t()==="descending")}),this.e=new G,this.e.l=this.l.bind(this)}get value(){return this.e.value}get disabled(){const{canSetQuality:t,qualities:s}=this.a.$state;return!t()||s().length<=1}onSetup(){this.a=g(),j(C)&&(this.n=P(C))}onConnect(t){h(this.N.bind(this)),h(this.sa.bind(this)),h(this.Ua.bind(this))}getOptions(){const{autoLabel:t,hideBitrate:s}=this.$props;return[{value:"auto",label:t},...this.Rc().map(e=>{const i=e.bitrate&&e.bitrate>=0?`${S(e.bitrate/1e6,2)} Mbps`:null;return{quality:e,label:e.height+"p",value:this.Ef(e),bitrate:()=>s()?null:i}})]}N(){this.e.value=this.Y()}Ua(){var a;const{autoLabel:t}=this.$props,{autoQuality:s,quality:e}=this.a.$state,i=e()?e().height+"p":"";(a=this.n)==null||a._b.set(s()?t()+(i?` (${i})`:""):i)}sa(){var t;(t=this.n)==null||t.gb(this.disabled)}l(t,s){if(this.disabled)return;if(t==="auto"){this.a.remote.changeQuality(-1,s),this.dispatch("change",{detail:"auto",trigger:s});return}const{qualities:e}=this.a.$state,i=y(e).findIndex(a=>this.Ef(a)===t);if(i>=0){const a=y(e)[i];this.a.remote.changeQuality(i,s),this.dispatch("change",{detail:a,trigger:s})}}Y(){const{quality:t,autoQuality:s}=this.a.$state;if(s())return"auto";const e=t();return e?this.Ef(e):"auto"}Ef(t){return t.height+"_"+t.bitrate}};ti.props={autoLabel:"Auto",hideBitrate:!1,sort:"descending"};let ht=ti;De([k],ht.prototype,"value");De([k],ht.prototype,"disabled");De([E],ht.prototype,"getOptions");const It=class It extends b{constructor(){super(...arguments),this.Xc=T(null),this.Lc=T(!0),this.Mc=T(!0)}onSetup(){this.a=g(),this.Yh();const{type:t}=this.$props;this.setAttributes({"data-type":t,"data-remainder":this.Zh.bind(this)}),new Ta({callback:this.gf.bind(this)}).attach(this)}onAttach(t){t.hasAttribute("role")||h(this.Jm.bind(this)),h(this.Yh.bind(this))}onConnect(t){A(la(t,this.Lc.set)),h(this.Ea.bind(this)),h(this.Km.bind(this))}gf(t){this.Mc.set(t[0].isIntersecting)}Ea(){const{hidden:t}=this.$props;this.$state.hidden.set(t()||!this.Lc()||!this.Mc())}Km(){if(!this.$props.toggle()){this.Xc.set(null);return}this.el&&Y(this.el,this.Lm.bind(this))}Yh(){const{hidden:t,timeText:s}=this.$state,{duration:e}=this.a.$state;if(t())return;const{type:i,padHours:a,padMinutes:n,showHours:r}=this.$props,c=this.Mm(i()),l=e(),d=this.Zh();if(!Number.isFinite(c+l)){s.set("LIVE");return}const f=d?Math.max(0,l-c):c,v=Zt(f,{padHrs:a(),padMins:n(),showHrs:r()});s.set((d?"-":"")+v)}Jm(){if(!this.el)return;const{toggle:t}=this.$props;m(this.el,"role",t()?"timer":null),m(this.el,"tabindex",t()?0:null)}Mm(t){const{bufferedEnd:s,duration:e,currentTime:i}=this.a.$state;switch(t){case"buffered":return s();case"duration":return e();default:return i()}}Zh(){return this.$props.remainder()&&this.Xc()!==!1}Lm(t){if(t.preventDefault(),this.Xc()===null){this.Xc.set(!this.$props.remainder());return}this.Xc.set(s=>!s)}};It.props={type:"current",showHours:!1,padHours:null,padMinutes:null,remainder:!1,toggle:!1,hidden:!1},It.state=new ct({timeText:"",hidden:!1});let fs=It;const Mt=class Mt extends b{constructor(){super(...arguments),this.Ve=!1,this.Hc=-1,this.Xe=-1}onSetup(){this.a=g()}onAttach(t){t.style.display="contents"}onConnect(t){t.setAttribute("data-media-announcer",""),x(t,"role","status"),x(t,"aria-live","polite");const{busy:s}=this.$state;this.setAttributes({"aria-busy":()=>s()?"true":null}),this.Ve=!0,h(this.fc.bind(this)),h(this.Fc.bind(this)),h(this.Hk.bind(this)),h(this.Ik.bind(this)),h(this.Jk.bind(this)),h(this.Kk.bind(this)),h(this.Lk.bind(this)),kt(),this.Ve=!1}fc(){const{paused:t}=this.a.$state;this.Rb(t()?"Pause":"Play")}Ik(){const{fullscreen:t}=this.a.$state;this.Rb(t()?"Enter Fullscreen":"Exit Fullscreen")}Jk(){const{pictureInPicture:t}=this.a.$state;this.Rb(t()?"Enter PiP":"Exit PiP")}Hk(){const{textTrack:t}=this.a.$state;this.Rb(t()?"Closed-Captions On":"Closed-Captions Off")}Fc(){const{muted:t,volume:s,audioGain:e}=this.a.$state;this.Rb(t()||s()===0?"Mute":`${Math.round(s()*(e()??1)*100)}% ${this.We("Volume")}`)}Kk(){const{seeking:t,currentTime:s}=this.a.$state,e=t();this.Hc>0?(window.clearTimeout(this.Xe),this.Xe=window.setTimeout(()=>{if(!this.scope)return;const i=y(s),a=Math.abs(i-this.Hc);if(a>=1){const n=i>=this.Hc,r=Ct(a);this.Rb(`${this.We(n?"Seek Forward":"Seek Backward")} ${r}`)}this.Hc=-1,this.Xe=-1},300)):e&&(this.Hc=y(s))}We(t){var e;const{translations:s}=this.$props;return((e=s==null?void 0:s())==null?void 0:e[t||""])??t}Lk(){const{label:t,busy:s}=this.$state,e=this.We(t());if(this.Ve)return;s.set(!0);const i=window.setTimeout(()=>void s.set(!1),150);return this.el&&m(this.el,"aria-label",e),L(e)&&this.dispatch("change",{detail:e}),()=>window.clearTimeout(i)}Rb(t){const{label:s}=this.$state;s.set(t)}};Mt.props={translations:null},Mt.state=new ct({label:null,busy:!1});let ms=Mt;const si=class si extends b{onSetup(){this.a=g(),h(this.Mk.bind(this))}onAttach(t){const{pictureInPicture:s,fullscreen:e}=this.a.$state;z(t,"pointer-events","none"),x(t,"role","group"),this.setAttributes({"data-visible":this.hh.bind(this),"data-fullscreen":e,"data-pip":s}),h(()=>{this.dispatch("change",{detail:this.hh()})}),h(this.Nk.bind(this)),h(()=>{const i=e();for(const a of["top","right","bottom","left"])z(t,`padding-${a}`,i&&`env(safe-area-inset-${a})`)})}Nk(){if(!this.el)return;const{nativeControls:t}=this.a.$state,s=t();m(this.el,"aria-hidden",s?"true":null),z(this.el,"display",s?"none":null)}Mk(){const{controls:t}=this.a.player,{hideDelay:s,hideOnMouseLeave:e}=this.$props;t.defaultDelay=s()===2e3?this.a.$props.controlsDelay():s(),t.hideOnMouseLeave=e()}hh(){const{controlsVisible:t}=this.a.$state;return t()}};si.props={hideDelay:2e3,hideOnMouseLeave:!1};let gs=si;class wn extends b{onAttach(t){t.style.pointerEvents||z(t,"pointer-events","auto")}}const B=Z();let kn=0;const ei=class ei extends b{constructor(){super(),this.ya=`media-tooltip-${++kn}`,this.M=T(null),this.q=T(null),new F;const{showDelay:t}=this.$props;new va({M:this.M,q:this.q,ih:t,yd(s,e,i){$(s,"touchstart",a=>a.preventDefault(),{passive:!1}),h(()=>{za()&&$(s,"focus",e),$(s,"blur",i)}),$(s,"mouseenter",e),$(s,"mouseleave",i)},E:this.Pk.bind(this)})}onAttach(t){t.style.setProperty("display","contents")}onSetup(){q(B,{M:this.M,q:this.q,Ze:this.Ze.bind(this),_e:this._e.bind(this),$e:this.$e.bind(this),af:this.af.bind(this)})}Ze(t){var e;this.M.set(t);let s=t.getAttribute("data-media-tooltip");s&&((e=this.el)==null||e.setAttribute(`data-media-${s}-tooltip`,"")),m(t,"data-describedby",this.ya)}_e(t){t.removeAttribute("data-describedby"),t.removeAttribute("aria-describedby"),this.M.set(null)}$e(t){t.setAttribute("id",this.ya),t.style.display="none",x(t,"role","tooltip"),this.q.set(t)}af(t){t.removeAttribute("id"),t.removeAttribute("role"),this.q.set(null)}Pk(t){const s=this.M(),e=this.q();s&&m(s,"aria-describedby",t?this.ya:null);for(const i of[this.el,s,e])i&&m(i,"data-visible",t)}};ei.props={showDelay:700};let $s=ei;class An extends b{constructor(){super(),new F}onConnect(t){A(V(()=>{if(!this.connectScope)return;this.xb();const s=P(B);A(()=>{const e=this.Bd();e&&s._e(e)})}))}xb(){const t=this.Bd(),s=P(B);t&&s.Ze(t)}Bd(){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 ii=class ii extends b{constructor(){super(),new F;const{placement:t}=this.$props;this.setAttributes({"data-placement":t})}onAttach(t){this.xb(t),Object.assign(t.style,{position:"absolute",top:0,left:0,width:"max-content"})}onConnect(t){this.xb(t);const s=P(B);A(()=>s.af(t)),A(V(()=>{this.connectScope&&h(this.bf.bind(this))}))}xb(t){P(B).$e(t)}bf(){const{placement:t,offset:s,alignOffset:e}=this.$props;return ua(this.el,this.Qk(),t(),{offsetVarName:"media-tooltip",xOffset:e(),yOffset:s()})}Qk(){return P(B).M()}};ii.props={placement:"top center",offset:0,alignOffset:0};let ys=ii;var Pn=Object.defineProperty,Cn=Object.getOwnPropertyDescriptor,Sn=(o,t,s,e)=>{for(var i=Cn(t,s),a=o.length-1,n;a>=0;a--)(n=o[a])&&(i=n(t,s,i)||i);return i&&Pn(t,s,i),i};const ai=class ai extends b{constructor(){super(),this.jh=T(!1),new N({o:this.jh})}get pressed(){return this.jh()}};ai.props={disabled:!1,defaultPressed:!1};let Nt=ai;Sn([k],Nt.prototype,"pressed");const ni=class ni extends b{constructor(){super(),new N({o:this.o.bind(this),r:this.r.bind(this)})}onSetup(){this.a=g();const{canGoogleCast:t,isGoogleCastConnected:s}=this.a.$state;this.setAttributes({"data-active":s,"data-supported":t,"data-state":this.Ic.bind(this),"aria-hidden":O(()=>!t())})}onAttach(t){t.setAttribute("data-media-tooltip","google-cast"),U(t,this.Jc.bind(this))}r(t){this.a.remote.requestGoogleCast(t)}o(){const{remotePlaybackType:t,remotePlaybackState:s}=this.a.$state;return t()==="google-cast"&&s()!=="disconnected"}Ic(){const{remotePlaybackType:t,remotePlaybackState:s}=this.a.$state;return t()==="google-cast"&&s()}Jc(){const{remotePlaybackState:t}=this.a.$state;return`Google Cast ${t()}`}};ni.props=N.props;let xs=ni;var On=Object.defineProperty,Nn=Object.getOwnPropertyDescriptor,Ln=(o,t,s,e)=>{for(var i=Nn(t,s),a=o.length-1,n;a>=0;a--)(n=o[a])&&(i=n(t,s,i)||i);return i&&On(t,s,i),i};const Vt=class Vt extends b{get video(){return this.$state.video()}onSetup(){this.a=g(),this.ia=lt(X.state),this.Ca(),this.setAttributes({"data-loading":this.Pc.bind(this),"data-hidden":this.$state.hidden,"data-error":this.fb.bind(this),"aria-hidden":O(this.$state.hidden)})}onAttach(t){h(this.pl.bind(this)),h(this.Mb.bind(this)),h(this.Ca.bind(this)),h(this.Ea.bind(this)),h(this.ql.bind(this)),h(this.rl.bind(this))}pl(){const t=this.$state.video();t&&(t.readyState>=2&&this.ed(),$(t,"canplay",this.ed.bind(this)),$(t,"error",this.Q.bind(this)))}Mb(){const{src:t}=this.$state,{canLoad:s}=this.a.$state;t.set(s()?this.$props.src():null)}Ca(){const{crossOrigin:t}=this.$props,{crossOrigin:s}=this.$state,{crossOrigin:e}=this.a.$state,i=t()!==null?t():e();s.set(i===!0?"anonymous":i)}Pc(){const{canPlay:t,hidden:s}=this.$state;return!t()&&!s()}fb(){const{error:t}=this.$state;return!K(t)}Ea(){const{src:t,hidden:s}=this.$state,{canLoad:e,duration:i}=this.a.$state;s.set(e()&&(!t()||this.fb()||!Number.isFinite(i())))}ql(){const{src:t,canPlay:s,error:e}=this.$state;t(),s.set(!1),e.set(null)}ed(t){const{canPlay:s,error:e}=this.$state;s.set(!0),e.set(null),this.dispatch("can-play",{trigger:t})}Q(t){const{canPlay:s,error:e}=this.$state;s.set(!1),e.set(t),this.dispatch("error",{trigger:t})}rl(){const{video:t,canPlay:s}=this.$state,{duration:e}=this.a.$state,{pointerRate:i}=this.ia,a=t();s()&&a&&Number.isFinite(e())&&Number.isFinite(i())&&(a.currentTime=i()*e())}};Vt.props={src:null,crossOrigin:null},Vt.state=new ct({video:null,src:null,crossOrigin:null,canPlay:!1,error:null,hidden:!1});let Lt=Vt;Ln([k],Lt.prototype,"video");const Yt=class Yt extends b{onSetup(){this.a=g(),q(et,{default:"percent",percent:(t,s)=>S(this.$state.value(),s)+"%"}),new D({qa:this.$props.step,eb:this.$props.keyStep,Da:Math.round,v:this.v.bind(this),O:this.O.bind(this),P:this.P.bind(this),S:this.S.bind(this),l:this.l.bind(this)}).attach(this),h(this.Oc.bind(this)),h(this.tl.bind(this))}onAttach(t){t.setAttribute("data-media-audio-gain-slider",""),x(t,"aria-label","Audio Boost");const{canSetAudioGain:s}=this.a.$state;this.setAttributes({"data-supported":s,"aria-hidden":O(()=>!s())})}O(){const{value:t}=this.$state;return Math.round(t())}P(){const{value:t}=this.$state;return t()+"%"}Oc(){const{min:t,max:s}=this.$props;this.$state.min.set(t()),this.$state.max.set(s())}tl(){const{audioGain:t}=this.a.$state,s=((t()??1)-1)*100;this.$state.value.set(s),this.dispatch("value-change",{detail:s})}v(){const{disabled:t}=this.$props,{canSetAudioGain:s}=this.a.$state;return t()||!s()}xh(t){if(!t.trigger)return;const s=S(1+t.detail/100,2);this.a.remote.changeAudioGain(s,t)}l(t){this.xh(t)}S(t){this.xh(t)}};Yt.props={...D.props,step:25,keyStep:25,shiftKeyMultiplier:2,min:0,max:300},Yt.state=_;let vs=Yt;const Wt=class Wt extends b{constructor(){super(...arguments),this.yh=$t(this.ul.bind(this),25)}onSetup(){this.a=g(),new D({qa:this.$props.step,eb:this.$props.keyStep,Da:this.Da,v:this.v.bind(this),O:this.O.bind(this),P:this.P.bind(this),S:this.S.bind(this),l:this.l.bind(this)}).attach(this),h(this.Oc.bind(this)),h(this.Qe.bind(this))}onAttach(t){t.setAttribute("data-media-speed-slider",""),x(t,"aria-label","Speed");const{canSetPlaybackRate:s}=this.a.$state;this.setAttributes({"data-supported":s,"aria-hidden":O(()=>!s())})}O(){const{value:t}=this.$state;return t()}P(){const{value:t}=this.$state;return t()+"x"}Oc(){const{min:t,max:s}=this.$props;this.$state.min.set(t()),this.$state.max.set(s())}Qe(){const{playbackRate:t}=this.a.$state,s=t();this.$state.value.set(s),this.dispatch("value-change",{detail:s})}Da(t){return S(t,2)}v(){const{disabled:t}=this.$props,{canSetPlaybackRate:s}=this.a.$state;return t()||!s()}ul(t){if(!t.trigger)return;const s=t.detail;this.a.remote.changePlaybackRate(s,t)}l(t){this.yh(t)}S(t){this.yh(t)}};Wt.props={...D.props,step:.25,keyStep:.25,shiftKeyMultiplier:2,min:0,max:2},Wt.state=_;let Ts=Wt;const Ut=class Ut extends b{constructor(){super(...arguments),this.Rc=tt(()=>{const{qualities:t}=this.a.$state;return $a(t())}),this.zh=$t(this.Za.bind(this),25)}onSetup(){this.a=g(),new D({qa:this.$props.step,eb:this.$props.keyStep,Da:Math.round,v:this.v.bind(this),O:this.O.bind(this),P:this.P.bind(this),S:this.S.bind(this),l:this.l.bind(this)}).attach(this),h(this.vl.bind(this)),h(this.wl.bind(this))}onAttach(t){t.setAttribute("data-media-quality-slider",""),x(t,"aria-label","Video Quality");const{qualities:s,canSetQuality:e}=this.a.$state,i=tt(()=>e()&&s().length>0);this.setAttributes({"data-supported":i,"aria-hidden":O(()=>!i())})}O(){const{value:t}=this.$state;return t()}P(){const{quality:t}=this.a.$state;if(!t())return"";const{height:s,bitrate:e}=t(),i=e&&e>0?`${(e/1e6).toFixed(2)} Mbps`:null;return s?`${s}p${i?` (${i})`:""}`:"Auto"}vl(){const t=this.Rc();this.$state.max.set(Math.max(0,t.length-1))}wl(){let{quality:t}=this.a.$state,s=this.Rc(),e=Math.max(0,s.indexOf(t()));this.$state.value.set(e),this.dispatch("value-change",{detail:e})}v(){const{disabled:t}=this.$props,{canSetQuality:s,qualities:e}=this.a.$state;return t()||e().length<=1||!s()}Za(t){if(!t.trigger)return;const{qualities:s}=this.a,e=y(this.Rc)[t.detail];this.a.remote.changeQuality(s.indexOf(e),t)}l(t){this.zh(t)}S(t){this.zh(t)}};Ut.props={...D.props,step:1,keyStep:1,shiftKeyMultiplier:1},Ut.state=_;let ws=Ut;var Dn=Object.defineProperty,Hn=Object.getOwnPropertyDescriptor,_t=(o,t,s,e)=>{for(var i=Hn(t,s),a=o.length-1,n;a>=0;a--)(n=o[a])&&(i=n(t,s,i)||i);return i&&Dn(t,s,i),i};const hi=class hi extends b{constructor(){super(...arguments),this.yb=null,this.ja=[],this.Gd=T(null),this.ka=T([]),this.Xb=T(-1),this.Hd=T(-1),this.Sc=0,this.Ml=Qt(t=>{var r;let s,e=this.ka(),{clipStartTime:i}=this.a.$state,a=i(),n=this.qf(e);for(let c=this.Sc;c<this.ja.length;c++)if(s=this.pf(e[c],t,a,n),(r=this.ja[c])==null||r.style.setProperty("--chapter-progress",s+"%"),s<100){this.Sc=c;break}}),this.Nl=tt(this.Ol.bind(this)),this.Id=Da(()=>{const t=y(this.Gd);!this.scope||!t||!t.cues.length||(this.ka.set(this.Pl(t.cues)),this.Xb.set(0),this.Sc=0)},150,!0)}get cues(){return this.ka()}get activeCue(){return this.ka()[this.Xb()]||null}get activePointerCue(){return this.ka()[this.Hd()]||null}onSetup(){this.a=g(),this.Fd=lt(Ot.state)}onAttach(t){Ae(this.a.textTracks,"chapters",this.Bh.bind(this)),h(this.Fl.bind(this))}onConnect(){A(()=>this.z.bind(this))}onDestroy(){this.Bh(null)}setRefs(t){var s;if(this.ja=t,(s=this.nf)==null||s.dispose(),this.ja.length===1){const e=this.ja[0];e.style.width="100%",e.style.setProperty("--chapter-fill","var(--slider-fill)"),e.style.setProperty("--chapter-progress","var(--slider-progress)")}else this.ja.length>0&&ba(()=>this.Gl(),this.nf=Ha())}Bh(t){y(this.Gd)!==t&&(this.z(),this.Gd.set(t))}z(){var t;this.ja=[],this.ka.set([]),this.Xb.set(-1),this.Hd.set(-1),this.Sc=0,(t=this.nf)==null||t.dispose()}Gl(){this.ja.length&&h(this.Hl.bind(this))}Hl(){const{hidden:t}=this.Fd;t()||(h(this.Il.bind(this)),h(this.Jl.bind(this)),h(this.Kl.bind(this)),h(this.Ll.bind(this)))}Il(){const t=this.ka();if(!t.length)return;let s,{clipStartTime:e,clipEndTime:i}=this.a.$state,a=e(),n=i()||t[t.length-1].endTime,r=n-a,c=100;for(let l=0;l<t.length;l++)if(s=t[l],this.ja[l]){const d=l===t.length-1?c:S((s.endTime-Math.max(a,s.startTime))/r*100,3);this.ja[l].style.width=d+"%",c-=d}}Jl(){let{liveEdge:t,clipStartTime:s,duration:e}=this.a.$state,{fillPercent:i,value:a}=this.Fd,n=this.ka(),r=t(),c=y(this.Xb),l=n[c],d=r?this.ka.length-1:this.Ch(l&&l.startTime/e()*100<=y(a)?c:0,i());r||!l?this.of(0,n.length,100):d>c?this.of(c,d,100):d<c&&this.of(d+1,c+1,0);const f=r?100:this.pf(n[d],i(),s(),this.qf(n));this.Dh(this.ja[d],f),this.Xb.set(d)}Kl(){let{pointing:t,pointerPercent:s}=this.Fd;if(!t()){this.Hd.set(-1);return}const e=this.Ch(0,s());this.Hd.set(e)}of(t,s,e){for(let i=t;i<s;i++)this.Dh(this.ja[i],e)}Dh(t,s){t&&(t.style.setProperty("--chapter-fill",s+"%"),m(t,"data-active",s>0&&s<100),m(t,"data-ended",s===100))}Ch(t,s){let e=0,i=this.ka();if(s===0)return 0;if(s===100)return i.length-1;let{clipStartTime:a}=this.a.$state,n=a(),r=this.qf(i);for(let c=t;c<i.length;c++)if(e=this.pf(i[c],s,n,r),e>=0&&e<100)return c;return 0}Ll(){this.Ml(this.Nl())}Ol(){const{bufferedEnd:t,duration:s}=this.a.$state;return S(Math.min(t()/Math.max(s(),1),1),3)*100}qf(t){var i;const{clipEndTime:s}=this.a.$state,e=s();return e>0?e:((i=t[t.length-1])==null?void 0:i.endTime)||0}pf(t,s,e,i){if(this.ka().length===0)return 0;const n=i-e,r=Math.max(0,t.startTime-e),c=Math.min(i,t.endTime)-e,l=r/n,d=l*100,f=Math.min(1,l+(c-r)/n)*100;return Math.max(0,S(s>=f?100:(s-d)/(f-d)*100,3))}Pl(t){let s=[],{clipStartTime:e,clipEndTime:i,duration:a}=this.a.$state,n=e(),r=i()||1/0;t=t.filter(d=>d.startTime<=r&&d.endTime>=n);const c=t[0];c&&c.startTime>n&&s.push(new window.VTTCue(n,c.startTime,""));for(let d=0;d<t.length-1;d++){const f=t[d],v=t[d+1];if(s.push(f),v){const w=v.startTime-f.endTime;w>0&&s.push(new window.VTTCue(f.endTime,f.endTime+w,""))}}const l=t[t.length-1];if(l){s.push(l);const d=a();d>=0&&d-l.endTime>1&&s.push(new window.VTTCue(l.endTime,a(),""))}return s}Fl(){const{source:t}=this.a.$state;t(),this.pc()}pc(){if(!this.scope)return;const{disabled:t}=this.$props;if(t()){this.ka.set([]),this.Xb.set(0),this.Sc=0;return}const s=this.Gd();if(s){const e=this.Id.bind(this);e(),A($(s,"add-cue",e)),A($(s,"remove-cue",e)),h(this.Ql.bind(this))}return this.yb=this.Rl(),this.yb&&h(this.Sl.bind(this)),()=>{this.yb&&(this.yb.textContent="",this.yb=null)}}Ql(){this.a.$state.duration(),this.Id()}Sl(){const t=this.activePointerCue||this.activeCue;this.yb&&(this.yb.textContent=(t==null?void 0:t.text)||"")}Tl(){let t=this.el;for(;t&&t.getAttribute("role")!=="slider";)t=t.parentElement;return t}Rl(){const t=this.Tl();return t?t.querySelector('[data-part="chapter-title"]'):null}};hi.props={disabled:!1};let J=hi;_t([k],J.prototype,"cues");_t([k],J.prototype,"activeCue");_t([k],J.prototype,"activePointerCue");_t([E],J.prototype,"setRefs");var jn=Object.defineProperty,qn=Object.getOwnPropertyDescriptor,wa=(o,t,s,e)=>{for(var i=qn(t,s),a=o.length-1,n;a>=0;a--)(n=o[a])&&(i=n(t,s,i)||i);return i&&jn(t,s,i),i};const ri=class ri extends b{get values(){return this.e.pm}get value(){return this.e.value}set value(t){this.e.value=t}constructor(){super(),this.e=new G,this.e.l=this.l.bind(this)}onSetup(){h(this.N.bind(this))}N(){this.e.value=this.$props.value()}l(t,s){const e=this.createEvent("change",{detail:t,trigger:s});this.dispatch(e)}};ri.props={value:""};let gt=ri;wa([k],gt.prototype,"values");wa([k],gt.prototype,"value");var En=Object.defineProperty,Fn=Object.getOwnPropertyDescriptor,In=(o,t,s,e)=>{for(var i=Fn(t,s),a=o.length-1,n;a>=0;a--)(n=o[a])&&(i=n(t,s,i)||i);return i&&En(t,s,i),i};const oi=class oi extends b{constructor(){super(),this.zb=T(!1),this.e={Ta:this.$props.value,Wc:this.Wc.bind(this),Nd:null},new F}get checked(){return this.zb()}onSetup(){this.setAttributes({value:this.$props.value,"data-checked":this.zb,"aria-checked":O(this.zb)})}onAttach(t){const s=j(C);x(t,"tabindex",s?"-1":"0"),x(t,"role",s?"menuitemradio":"radio"),h(this.N.bind(this))}onConnect(t){this.tm(),Y(t,this.r.bind(this)),A(this.Fa.bind(this))}Fa(){ba(()=>{P(bs).remove(this.e)},this.connectScope)}tm(){P(bs).add(this.e)}N(){var e,i;const{value:t}=this.$props,s=t();y(this.zb)&&((i=(e=this.e).Nd)==null||i.call(e,s))}r(t){var s,e;y(this.zb)||(this.E(!0,t),this.um(t),(e=(s=this.e).Nd)==null||e.call(s,y(this.$props.value),t))}Wc(t,s){y(this.zb)!==t&&this.E(t,s)}E(t,s){this.zb.set(t),this.dispatch("change",{detail:t,trigger:s})}um(t){this.dispatch("select",{trigger:t})}};oi.props={value:""};let Dt=oi;In([k],Dt.prototype,"checked");var Mn=Object.defineProperty,Vn=Object.getOwnPropertyDescriptor,He=(o,t,s,e)=>{for(var i=Vn(t,s),a=o.length-1,n;a>=0;a--)(n=o[a])&&(i=n(t,s,i)||i);return i&&Mn(t,s,i),i};const ci=class ci extends b{constructor(){super(),this.J=T(null),this.B=T([]),this.e=new G,this.e.l=this.l.bind(this)}get value(){return this.e.value}get disabled(){var t;return!((t=this.B())!=null&&t.length)}onSetup(){this.a=g(),j(C)&&(this.n=P(C));const{thumbnails:t}=this.$props;this.setAttributes({"data-thumbnails":()=>!!t()})}onAttach(t){var s;(s=this.n)==null||s.wf({Af:this.Af.bind(this)})}getOptions(){const{clipStartTime:t,clipEndTime:s}=this.a.$state,e=t(),i=s()||1/0;return this.B().map((a,n)=>({cue:a,value:n.toString(),label:a.text,startTime:Zt(Math.max(0,a.startTime-e)),duration:Ct(Math.min(i,a.endTime)-Math.max(e,a.startTime))}))}Af(){y(()=>this.Qb())}onConnect(t){h(this.Qb.bind(this)),h(this.sa.bind(this)),h(this.vm.bind(this)),Ae(this.a.textTracks,"chapters",this.J.set)}vm(){const t=this.J();if(!t)return;const s=this.Id.bind(this,t);return s(),$(t,"add-cue",s),$(t,"remove-cue",s),()=>{this.B.set([])}}Id(t){const{clipStartTime:s,clipEndTime:e}=this.a.$state,i=s(),a=e()||1/0;this.B.set([...t.cues].filter(n=>n.startTime<=a&&n.endTime>=i))}Qb(){var l;if(!((l=this.n)!=null&&l.T()))return;if(!this.J()){this.e.value="-1";return}const{realCurrentTime:s,clipStartTime:e,clipEndTime:i}=this.a.$state,a=e(),n=i()||1/0,r=s(),c=this.B().findIndex(d=>ja(d,r));this.e.value=c.toString(),c>=0&&V(()=>{if(!this.connectScope)return;const d=this.B()[c],f=this.el.querySelector("[aria-checked='true']"),v=Math.max(a,d.startTime),w=Math.min(n,d.endTime)-v,H=Math.max(0,r-v)/w*100;f&&z(f,"--progress",S(H,3)+"%")})}sa(){var t;(t=this.n)==null||t.gb(this.disabled)}l(t,s){if(this.disabled||!s)return;const e=+t,i=this.B(),{clipStartTime:a}=this.a.$state;R(e)&&(i!=null&&i[e])&&(this.e.value=e.toString(),this.a.remote.seek(i[e].startTime-a(),s),this.dispatch("change",{detail:i[e],trigger:s}))}};ci.props={thumbnails:null};let rt=ci;He([k],rt.prototype,"value");He([k],rt.prototype,"disabled");He([E],rt.prototype,"getOptions");var Yn=Object.defineProperty,Wn=Object.getOwnPropertyDescriptor,je=(o,t,s,e)=>{for(var i=Wn(t,s),a=o.length-1,n;a>=0;a--)(n=o[a])&&(i=n(t,s,i)||i);return i&&Yn(t,s,i),i};const Un=[1,1.25,1.5,1.75,2,2.5,3,4],li=class li extends b{get value(){return this.e.value}get disabled(){const{gains:t}=this.$props,{canSetAudioGain:s}=this.a.$state;return!s()||t().length===0}constructor(){super(),this.e=new G,this.e.l=this.l.bind(this)}onSetup(){this.a=g(),j(C)&&(this.n=P(C))}onConnect(t){h(this.N.bind(this)),h(this.Ua.bind(this)),h(this.sa.bind(this))}getOptions(){const{gains:t,normalLabel:s}=this.$props;return t().map(e=>({label:e===1||e===null?s:String(e*100)+"%",value:e.toString()}))}N(){this.e.value=this.Y()}Ua(){var i;const{normalLabel:t}=this.$props,{audioGain:s}=this.a.$state,e=s();(i=this.n)==null||i._b.set(e===1||e==null?t():String(e*100)+"%")}sa(){var t;(t=this.n)==null||t.gb(this.disabled)}Y(){var s;const{audioGain:t}=this.a.$state;return((s=t())==null?void 0:s.toString())??"1"}l(t,s){if(this.disabled)return;const e=+t;this.a.remote.changeAudioGain(e,s),this.dispatch("change",{detail:e,trigger:s})}};li.props={normalLabel:"Disabled",gains:Un};let ot=li;je([k],ot.prototype,"value");je([k],ot.prototype,"disabled");je([E],ot.prototype,"getOptions");const di=class di extends b{constructor(){super(...arguments),this.p=null,this.Ab=0,this.Oh=-1}onSetup(){this.a=g();const{event:t,action:s}=this.$props;this.setAttributes({event:t,action:s})}onAttach(t){t.setAttribute("data-media-gesture",""),t.style.setProperty("pointer-events","none")}onConnect(t){var s;this.p=(s=this.a.player.el)==null?void 0:s.querySelector("[data-media-provider]"),h(this.wm.bind(this))}wm(){let t=this.$props.event(),s=this.$props.disabled();!this.p||!t||s||(/^dbl/.test(t)&&(t=t.split(/^dbl/)[1]),(t==="pointerup"||t==="pointerdown")&&this.a.$state.pointer()==="coarse"&&(t=t==="pointerup"?"touchend":"touchstart"),$(this.p,t,this.xm.bind(this),{passive:!1}))}xm(t){if(this.$props.disabled()||oa(t)&&(t.button!==0||this.a.activeMenu)||Gt(t)&&this.a.activeMenu||pa(t)||!this.ym(t))return;t.MEDIA_GESTURE=!0,t.preventDefault();const s=y(this.$props.event);if(!(s==null?void 0:s.startsWith("dbl")))this.Ab===0&&setTimeout(()=>{this.Ab===1&&this.Ph(t)},250);else if(this.Ab===1){queueMicrotask(()=>this.Ph(t)),clearTimeout(this.Oh),this.Ab=0;return}this.Ab===0&&(this.Oh=window.setTimeout(()=>{this.Ab=0},275)),this.Ab++}Ph(t){this.el.setAttribute("data-triggered",""),requestAnimationFrame(()=>{this.zm()&&this.Am(y(this.$props.action),t),requestAnimationFrame(()=>{this.el.removeAttribute("data-triggered")})})}ym(t){if(!this.el)return!1;if(oa(t)||qa(t)||Gt(t)){const s=Gt(t)?t.changedTouches[0]??t.touches[0]:void 0,e=(s==null?void 0:s.clientX)??t.clientX,i=(s==null?void 0:s.clientY)??t.clientY,a=this.el.getBoundingClientRect(),n=i>=a.top&&i<=a.bottom&&e>=a.left&&e<=a.right;return t.type.includes("leave")?!n:n}return!0}zm(){const t=this.a.player.el.querySelectorAll("[data-media-gesture][data-triggered]");return Array.from(t).sort((s,e)=>+getComputedStyle(e).zIndex-+getComputedStyle(s).zIndex)[0]===this.el}Am(t,s){if(!t)return;const e=new Ea("will-trigger",{detail:t,cancelable:!0,trigger:s});if(this.dispatchEvent(e),e.defaultPrevented)return;const[i,a]=t.replace(/:([a-z])/,"-$1").split(":");t.includes(":fullscreen")?this.a.remote.toggleFullscreen("prefer-media",s):t.includes("seek:")?this.a.remote.seek(y(this.a.$state.currentTime)+(+a||0),s):this.a.remote[Fa(i)](s),this.dispatch("trigger",{detail:t,trigger:s})}};di.props={disabled:!1,event:void 0,action:void 0};let ks=di;class Rn{constructor(t){this.ca=t,this.priority=10,this.J=null,this.Ya=Ia()}attach(){}canRender(){return!0}detach(){this.Ya.empty(),this.ca.reset(),this.J=null}changeTrack(t){!t||this.J===t||(this.Ya.empty(),t.readyState<2?(this.ca.reset(),this.Ya.add($(t,"load",()=>this.Qh(t),{once:!0}))):this.Qh(t),this.Ya.add($(t,"add-cue",s=>{this.ca.addCue(s.detail)}),$(t,"remove-cue",s=>{this.ca.removeCue(s.detail)})),this.J=t)}Qh(t){this.ca.changeTrack({cues:[...t.cues],regions:[...t.regions]})}}const ft=class ft extends b{constructor(){super(...arguments),this.ac=-1}get L(){return ft.L}onSetup(){this.a=g(),this.setAttributes({"aria-hidden":O(this.Tb.bind(this))})}onAttach(t){t.style.setProperty("pointer-events","none")}onConnect(t){this.L()||ga(()=>import("./prod-BwnsjH-l.js").then(s=>s.d),__vite__mapDeps([0,1])).then(s=>this.L.set(s)),h(this.Rh.bind(this))}Tb(){const{textTrack:t,remotePlaybackState:s,iOSControls:e}=this.a.$state,i=t();return e()||s()==="connected"||!i||!pt(i)}Rh(){if(!this.L())return;const{viewType:t}=this.a.$state;return t()==="audio"?this.Cm():this.Dm()}Cm(){return h(this.pc.bind(this)),this.Gn(null),()=>{this.el.textContent=""}}pc(){if(this.Tb())return;this.Sh();const{textTrack:t}=this.a.$state;$(t(),"cue-change",this.Sh.bind(this)),h(this.Em.bind(this))}Sh(){this.el.textContent="",this.ac>=0&&this.Ff();const{realCurrentTime:t,textTrack:s}=this.a.$state,{renderVTTCueString:e}=this.L(),i=y(t),a=y(s).activeCues;for(const n of a){const r=this.Th(),c=this.Uh();c.innerHTML=e(n,i),r.append(c),this.el.append(c)}}Em(){const{realCurrentTime:t}=this.a.$state,{updateTimedVTTCueNodes:s}=this.L();s(this.el,t())}Dm(){const{CaptionsRenderer:t}=this.L(),s=new t(this.el),e=new Rn(s);return this.a.textRenderers.add(e),h(this.Fm.bind(this,s)),h(this.Gm.bind(this,s)),this.Gn(s),()=>{this.el.textContent="",this.a.textRenderers.remove(e),s.destroy()}}Fm(t){t.dir=this.$props.textDir()}Gm(t){var i;if(this.Tb())return;const{realCurrentTime:s,textTrack:e}=this.a.$state;t.currentTime=s(),this.ac>=0&&((i=e())!=null&&i.activeCues[0])&&this.Ff()}Gn(t){const s=this.a.player;if(!s)return;const e=this.Bm.bind(this,t);$(s,"vds-font-change",e)}Bm(t){var e;if(this.ac>=0){this.Vh();return}const{textTrack:s}=this.a.$state;(e=s())!=null&&e.activeCues[0]?t==null||t.update(!0):this.Hm()}Hm(){var e,i;const t=this.Th();m(t,"data-example","");const s=this.Uh();m(s,"data-example",""),s.textContent=this.$props.exampleText(),t==null||t.append(s),(e=this.el)==null||e.append(t),(i=this.el)==null||i.setAttribute("data-example",""),this.Vh()}Vh(){window.clearTimeout(this.ac),this.ac=window.setTimeout(this.Ff.bind(this),2500)}Ff(){var t,s;(t=this.el)==null||t.removeAttribute("data-example"),(s=this.el)!=null&&s.querySelector("[data-example]")&&(this.el.textContent=""),this.ac=-1}Th(){const t=document.createElement("div");return m(t,"data-part","cue-display"),t}Uh(){const t=document.createElement("div");return m(t,"data-part","cue"),t}};ft.props={textDir:"ltr",exampleText:"Captions look like this."},ft.L=T(null);let As=ft;const Kn=ma('<img loading="eager" decoding="async" aria-hidden="true">'),Rt=class Rt extends p(HTMLElement,cs){constructor(){super(...arguments),this.Wm=this.nn()}onSetup(){this.a=g(),this.$state.img.set(this.Wm)}onConnect(){const{src:t,crossOrigin:s}=this.$state;this.Wm.parentNode!==this&&this.prepend(this.Wm),h(()=>{m(this.Wm,"src",t()),m(this.Wm,"crossorigin",s())})}nn(){return fa(Kn)}};Rt.tagName="media-thumbnail",Rt.attrs={crossOrigin:"crossorigin"};let Ht=Rt;const ui=class ui extends p(HTMLElement,fs){onConnect(){h(()=>{this.textContent=this.$state.timeText()})}};ui.tagName="media-time";let Ps=ui;const pi=class pi extends p(HTMLElement,ss){};pi.tagName="media-airplay-button";let Cs=pi;const bi=class bi extends p(HTMLElement,is){};bi.tagName="media-caption-button";let Ss=bi;const fi=class fi extends p(HTMLElement,as){};fi.tagName="media-fullscreen-button";let Os=fi;const mi=class mi extends p(HTMLElement,os){};mi.tagName="media-live-button";let Ns=mi;const gi=class gi extends p(HTMLElement,ns){};gi.tagName="media-mute-button";let Ls=gi;const $i=class $i extends p(HTMLElement,hs){};$i.tagName="media-pip-button";let Ds=$i;const yi=class yi extends p(HTMLElement,es){};yi.tagName="media-play-button";let Hs=yi;const xi=class xi extends p(HTMLElement,rs){};xi.tagName="media-seek-button";let js=xi;function dt(o,t){V(()=>{if(!o.connectScope)return;const s=o.querySelector("template");s&&h(()=>{const e=o.getOptions();Pe(s,e.length,(i,a)=>{const{label:n,value:r}=e[a],c=i.querySelector('[data-part="label"]');i.setAttribute("value",r),c&&(L(n)?c.textContent=n:h(()=>{c.textContent=n()})),t==null||t(i,e[a],a)})})})}const vi=class vi extends p(HTMLElement,it){onConnect(){dt(this)}};vi.tagName="media-audio-radio-group";let qs=vi;const Ti=class Ti extends p(HTMLElement,at){onConnect(){dt(this)}};Ti.tagName="media-captions-radio-group";let Es=Ti;const wi=class wi extends p(HTMLElement,W){};wi.tagName="media-menu";let Fs=wi;const ki=class ki extends p(HTMLElement,mt){};ki.tagName="media-menu-button";let Is=ki;const Ai=class Ai extends p(HTMLElement,pn){};Ai.tagName="media-menu-item";let Ms=Ai;const Pi=class Pi extends p(HTMLElement,ps){};Pi.tagName="media-menu-items";let Vs=Pi;const Ci=class Ci extends p(HTMLElement,nt){onConnect(){dt(this)}};Ci.tagName="media-speed-radio-group";let Ys=Ci;const Si=class Si extends p(HTMLElement,ht){onConnect(){dt(this,(t,s)=>{const e=s.bitrate,i=t.querySelector('[data-part="bitrate"]');e&&i&&h(()=>{i.textContent=e()||""})})}};Si.tagName="media-quality-radio-group";let Ws=Si;const Oi=class Oi extends Ht{onSetup(){super.onSetup(),this.ia=lt(X.state)}onConnect(){super.onConnect(),h(this.Yh.bind(this))}Yh(){const{duration:t,clipStartTime:s}=this.a.$state;this.time=s()+this.ia.pointerRate()*t()}};Oi.tagName="media-slider-thumbnail";let Us=Oi;const Kt=class Kt extends p(HTMLElement,St){onConnect(){h(()=>{this.textContent=this.getValueText()})}};Kt.tagName="media-slider-value",Kt.attrs={padMinutes:{converter:Ma}};let Rs=Kt;const Ni=class Ni extends p(HTMLElement,Ot){};Ni.tagName="media-time-slider";let Ks=Ni;const Li=class Li extends p(HTMLElement,ls){};Li.tagName="media-slider-preview";let zs=Li;const Di=class Di extends p(HTMLElement,ds){};Di.tagName="media-volume-slider";let Xs=Di;const Hi=class Hi extends p(HTMLElement,As){};Hi.tagName="media-captions";let Js=Hi;const ji=class ji extends p(HTMLElement,ks){};ji.tagName="media-gesture";let Qs=ji;const qi=class qi extends p(HTMLElement,ms){};qi.tagName="media-announcer";let Zs=qi;const Ei=class Ei extends p(HTMLElement,gs){};Ei.tagName="media-controls";let _s=Ei;const Fi=class Fi extends p(HTMLElement,wn){};Fi.tagName="media-controls-group";let Gs=Fi;class zn extends b{}const Ii=class Ii extends p(HTMLElement,zn){onSetup(){this.a=g()}onConnect(){h(this.td.bind(this))}td(){const{title:t}=this.a.$state;this.textContent=t()}};Ii.tagName="media-title";let Bs=Ii;const Mi=class Mi extends b{};Mi.props={defaultText:""};let te=Mi;const Vi=class Vi extends p(HTMLElement,te){onSetup(){this.a=g(),this.bn=T("")}onConnect(){const t=this.a.textTracks;Va(t,"chapters",this.bn.set),h(this.pn.bind(this))}pn(){const{defaultText:t}=this.$props;this.textContent=this.bn()||t()}};Vi.tagName="media-chapter-title";let se=Vi;const Yi=class Yi extends b{onConnect(t){V(()=>{if(!this.connectScope)return;const s=t.querySelector("svg"),e=s.firstElementChild,i=e.nextElementSibling;h(this.Ha.bind(this,s,e,i))})}Ha(t,s,e){const{size:i,trackWidth:a,fillPercent:n}=this.$props;m(t,"width",i()),m(t,"height",i()),m(s,"stroke-width",a()),m(e,"stroke-width",a()),m(e,"stroke-dashoffset",100-n())}};Yi.props={size:96,trackWidth:8,fillPercent:50};let ee=Yi;const Wi=class Wi extends p(Ua,ee){render(){return Ra`
+      <svg fill="none" viewBox="0 0 120 120" aria-hidden="true" data-part="root">
+        <circle cx="60" cy="60" r="54" stroke="currentColor" data-part="track"></circle>
+        <circle
+          cx="60"
+          cy="60"
+          r="54"
+          stroke="currentColor"
+          pathLength="100"
+          stroke-dasharray="100"
+          data-part="track-fill"
+        ></circle>
+      </svg>
+    `}};Wi.tagName="media-spinner";let ie=Wi;const Ui=class Ui extends b{};Ui.props={when:!1};let ae=Ui;const Ri=class Ri extends p(HTMLElement,ae){onSetup(){this.a=g()}onConnect(){h(this.qn.bind(this))}qn(){const t=this.firstElementChild,s=(t==null?void 0:t.localName)==="template",e=this.$props.when();if(!(Ya(e)?e:tt(()=>e(this.a.player.state))())){s?(this.textContent="",this.appendChild(t)):st(t)&&(t.style.display="none");return}s?this.append(t.content.cloneNode(!0)):st(t)&&(t.style.display="")}};Ri.tagName="media-layout";let ne=Ri;const Ki=class Ki extends p(HTMLElement,xs){};Ki.tagName="media-google-cast-button";let he=Ki;const zi=class zi extends p(HTMLElement,Nt){};zi.tagName="media-toggle-button";let re=zi;const Xi=class Xi extends p(HTMLElement,$s){};Xi.tagName="media-tooltip";let oe=Xi;const Ji=class Ji extends p(HTMLElement,An){onConnect(){this.style.display="contents"}};Ji.tagName="media-tooltip-trigger";let ce=Ji;const Qi=class Qi extends p(HTMLElement,ys){};Qi.tagName="media-tooltip-content";let le=Qi;const zt=class zt extends p(HTMLElement,us){};zt.tagName="media-menu-portal",zt.attrs={disabled:{converter(t){return L(t)?t:t!==null}}};let de=zt;const Zi=class Zi extends p(HTMLElement,rt){onConnect(){dt(this,(t,s)=>{const{cue:e,startTime:i,duration:a}=s,n=t.querySelector(".vds-thumbnail,media-thumbnail"),r=t.querySelector('[data-part="start-time"]'),c=t.querySelector('[data-part="duration"]');r&&(r.textContent=i),c&&(c.textContent=a),n&&(n.setAttribute("time",e.startTime+""),h(()=>{const l=this.$props.thumbnails();"src"in n?n.src=l:L(l)&&n.setAttribute("src",l)}))})}};Zi.tagName="media-chapters-radio-group";let ue=Zi;const _i=class _i extends p(HTMLElement,ot){onConnect(){dt(this)}};_i.tagName="media-audio-gain-radio-group";let pe=_i;const Gi=class Gi extends p(HTMLElement,Dt){};Gi.tagName="media-radio";let be=Gi;const Bi=class Bi extends p(HTMLElement,gt){};Bi.tagName="media-radio-group";let fe=Bi;const ta=class ta extends p(HTMLElement,X){};ta.tagName="media-slider";let me=ta;const Xn=ma('<video muted playsinline preload="none" style="max-width: unset;"></video>'),sa=class sa extends p(HTMLElement,Lt){constructor(){super(...arguments),this.m=this.an()}onSetup(){this.a=g(),this.$state.video.set(this.m)}onConnect(){const{canLoad:t}=this.a.$state,{src:s,crossOrigin:e}=this.$state;this.m.parentNode!==this&&this.prepend(this.m),h(()=>{m(this.m,"crossorigin",e()),m(this.m,"preload",t()?"auto":"none"),m(this.m,"src",s())})}an(){return fa(Xn)}};sa.tagName="media-slider-video";let ge=sa;const ea=class ea extends p(HTMLElement,vs){};ea.tagName="media-audio-gain-slider";let $e=ea;const ia=class ia extends p(HTMLElement,Ts){};ia.tagName="media-speed-slider";let ye=ia;const aa=class aa extends p(HTMLElement,ws){};aa.tagName="media-quality-slider";let xe=aa;const na=class na extends p(HTMLElement,J){constructor(){super(...arguments),this.Ym=null}onConnect(){V(()=>{if(!this.connectScope)return;const t=this.querySelector("template");t&&(this.Ym=t,h(this.un.bind(this)))})}un(){if(!this.Ym)return;const t=Pe(this.Ym,this.cues.length||1);this.setRefs(t)}};na.tagName="media-slider-chapters";let ve=na;class Jn extends b{}const ha=class ha extends p(HTMLElement,Jn){constructor(){super(...arguments),this.Ym=null}onConnect(t){V(()=>{this.connectScope&&(this.Ym=t.querySelector("template"),this.Ym&&h(this.Zm.bind(this)))})}Zm(){if(!this.Ym)return;const{min:t,max:s,step:e}=lt(_),i=(s()-t())/e();Pe(this.Ym,Math.floor(i)+1)}};ha.tagName="media-slider-steps";let Te=ha;const Xt=class Xt extends b{constructor(){super(...arguments),this.Xh=""}onSetup(){this.a=g(),this.Mb(),this.Wh(),this.Ca(),this.Ea()}onAttach(t){t.style.setProperty("pointer-events","none"),h(this.kf.bind(this)),h(this.Mb.bind(this)),h(this.Wh.bind(this)),h(this.Ca.bind(this)),h(this.Ea.bind(this));const{started:s}=this.a.$state;this.setAttributes({"data-visible":()=>!s()&&!this.$state.hidden(),"data-loading":this.Pc.bind(this),"data-error":this.fb.bind(this),"data-hidden":this.$state.hidden})}onConnect(t){h(this.Im.bind(this)),h(this.Ma.bind(this))}fb(){const{error:t}=this.$state;return!K(t())}Im(){const{canLoadPoster:t,poster:s}=this.a.$state;!t()&&s()&&Wa(s(),"preconnect")}Ea(){const{src:t}=this.$props,{poster:s,nativeControls:e}=this.a.$state;this.el&&m(this.el,"display",e()?"none":null),this.$state.hidden.set(this.fb()||!(t()||s())||e())}Pc(){const{loading:t,hidden:s}=this.$state;return!s()&&t()}kf(){const t=this.$state.img();t&&($(t,"load",this.gd.bind(this)),$(t,"error",this.Q.bind(this)))}Mb(){const{poster:t}=this.a.$props,{canLoadPoster:s,providedPoster:e,inferredPoster:i}=this.a.$state,a=this.$props.src()||"",n=a||t()||i();this.Xh===e()&&e.set(a),this.$state.src.set(s()&&n.length?n:null),this.Xh=a}Wh(){const{src:t}=this.$props,{alt:s}=this.$state,{poster:e}=this.a.$state;s.set(t()||e()?this.$props.alt():null)}Ca(){const{crossOrigin:t}=this.$props,{crossOrigin:s}=this.$state,{crossOrigin:e,poster:i}=this.a.$state,a=t()!==null?t():e();s.set(/ytimg\.com|vimeo/.test(i()||"")?null:a===!0?"anonymous":a)}Ma(){const{loading:t,error:s}=this.$state,{canLoadPoster:e,poster:i}=this.a.$state;t.set(e()&&!!i()),s.set(null)}gd(){const{loading:t,error:s}=this.$state;t.set(!1),s.set(null)}Q(t){const{loading:s,error:e}=this.$state;s.set(!1),e.set(t)}};Xt.props={src:null,alt:null,crossOrigin:null},Xt.state=new ct({img:null,src:null,alt:null,crossOrigin:null,loading:!0,error:null,hidden:!1});let we=Xt;const Jt=class Jt extends p(HTMLElement,we){constructor(){super(...arguments),this.Wm=document.createElement("img")}onSetup(){this.$state.img.set(this.Wm)}onConnect(){const{src:t,alt:s,crossOrigin:e}=this.$state;h(()=>{const{loading:i,hidden:a}=this.$state;this.Wm.style.display=i()||a()?"none":""}),h(()=>{m(this.Wm,"alt",s()),m(this.Wm,"crossorigin",e()),m(this.Wm,"src",t())}),this.Wm.parentNode!==this&&this.prepend(this.Wm)}};Jt.tagName="media-poster",Jt.attrs={crossOrigin:"crossorigin"};let ke=Jt;u(ne);u(_s);u(Gs);u(ke);u(Zs);u(oe);u(ce);u(le);u(Hs);u(Ls);u(Ss);u(Os);u(Ds);u(js);u(Cs);u(he);u(re);u(me);u($e);u(Xs);u(Ks);u(ye);u(xe);u(ve);u(Te);u(zs);u(Rs);u(Us);u(ge);u(Fs);u(Is);u(de);u(Vs);u(Ms);u(qs);u(Es);u(Ys);u(pe);u(Ws);u(ue);u(fe);u(be);u(Qs);u(Ht);u(Js);u(Ns);u(Ps);u(Bs);u(se);u(ie);
diff --git a/assets/vidstack-player-ui-Do1ld-lW.js b/assets/vidstack-player-ui-Do1ld-lW.js
deleted file mode 100644
index a3001d2..0000000
--- a/assets/vidstack-player-ui-Do1ld-lW.js
+++ /dev/null
@@ -1,14 +0,0 @@
-import{C as l,S as ks,T as vs,o as fs,U as u,m as Hs,V as Ts,W as bs,H as a,X as Us,u as x,e as n,Y as js,Z as qs,_ as ws,a0 as Os,a1 as Ss,a2 as As,a3 as Xs,a4 as zs,a5 as Js,a6 as Ws,a7 as Ys,a8 as Zs,a9 as Ds,aa as Fs,ab as Ks,ac as Qs,ad as Cs,ae as Is,af as Vs,ag as Rs,ah as Bs,ai as Ps,s as o,aj as Lt,f as bt,ak as ys,al as $s,am as Gs,an as Es,ao as _s,ap as Ms,h as ta,aq as sa,j as aa,c as ea,I as Ls,ar as ia,as as ca,at as na,au as oa,av as ra,aw as ha,ax as ma,ay as la,az as ga,aA as pa,aB as ua,aC as xa,aD as da,aE as Na,aF as fa,aG as Ha,d as s}from"./vidstack-6noeGFNR-CV2ORO4j.js";import{L as Ta,x as La}from"./vidstack-CbhL8rpf-C0Lj70YY.js";import"./app-ClwIkahu.js";class ba extends l{onAttach(t){t.style.pointerEvents||ks(t,"pointer-events","auto")}}class ja extends l{constructor(){super(),new vs}onConnect(t){fs(u(()=>{if(!this.connectScope)return;this.Ja();const e=Hs(Ts);fs(()=>{const i=this.Cc();i&&e.Kd(i)})}))}Ja(){const t=this.Cc(),e=Hs(Ts);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}}class Ca extends bs{}const ya=$s('<img loading="eager" decoding="async" aria-hidden="true">'),f=class f extends a(HTMLElement,Us){constructor(){super(...arguments),this.Uj=this.gk()}onSetup(){this.a=x(),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 js(ya)}};f.tagName="media-thumbnail",f.attrs={crossOrigin:"crossorigin"};let N=f;const jt=class jt extends a(HTMLElement,qs){onConnect(){n(()=>{this.textContent=this.$state.timeText()})}};jt.tagName="media-time";let j=jt;const Ct=class Ct extends a(HTMLElement,ws){};Ct.tagName="media-airplay-button";let C=Ct;const yt=class yt extends a(HTMLElement,Os){};yt.tagName="media-caption-button";let y=yt;const $t=class $t extends a(HTMLElement,Ss){};$t.tagName="media-fullscreen-button";let $=$t;const kt=class kt extends a(HTMLElement,As){};kt.tagName="media-live-button";let k=kt;const vt=class vt extends a(HTMLElement,Xs){};vt.tagName="media-mute-button";let v=vt;const Ut=class Ut extends a(HTMLElement,zs){};Ut.tagName="media-pip-button";let U=Ut;const qt=class qt extends a(HTMLElement,Js){};qt.tagName="media-play-button";let q=qt;const wt=class wt extends a(HTMLElement,Ws){};wt.tagName="media-seek-button";let w=wt;function p(m,t){u(()=>{if(!m.connectScope)return;const e=m.querySelector("template");e&&n(()=>{const i=m.getOptions();Lt(e,i.length,(c,h)=>{const{label:r,value:d}=i[h],g=c.querySelector('[data-part="label"]');c.setAttribute("value",d),g&&(bt(r)?g.textContent=r:n(()=>{g.textContent=r()})),t==null||t(c,i[h],h)})})})}const Ot=class Ot extends a(HTMLElement,Ys){onConnect(){p(this)}};Ot.tagName="media-audio-radio-group";let O=Ot;const St=class St extends a(HTMLElement,Zs){onConnect(){p(this)}};St.tagName="media-captions-radio-group";let S=St;const At=class At extends a(HTMLElement,Ds){};At.tagName="media-menu";let A=At;const Xt=class Xt extends a(HTMLElement,bs){};Xt.tagName="media-menu-button";let X=Xt;const zt=class zt extends a(HTMLElement,Ca){};zt.tagName="media-menu-item";let z=zt;const Jt=class Jt extends a(HTMLElement,Fs){};Jt.tagName="media-menu-items";let J=Jt;const Wt=class Wt extends a(HTMLElement,Ks){onConnect(){p(this)}};Wt.tagName="media-speed-radio-group";let W=Wt;const Yt=class Yt extends a(HTMLElement,Qs){onConnect(){p(this,(t,e)=>{const i=e.bitrate,c=t.querySelector('[data-part="bitrate"]');i&&c&&n(()=>{c.textContent=i()||""})})}};Yt.tagName="media-quality-radio-group";let Y=Yt;const Zt=class Zt extends N{onSetup(){super.onSetup(),this.Q=Cs(ys.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()}};Zt.tagName="media-slider-thumbnail";let Z=Zt;const H=class H extends a(HTMLElement,Is){onConnect(){n(()=>{this.textContent=this.getValueText()})}};H.tagName="media-slider-value",H.attrs={padMinutes:{converter:Vs}};let D=H;const Dt=class Dt extends a(HTMLElement,Rs){};Dt.tagName="media-time-slider";let F=Dt;const Ft=class Ft extends a(HTMLElement,Bs){};Ft.tagName="media-slider-preview";let K=Ft;const Kt=class Kt extends a(HTMLElement,Ps){};Kt.tagName="media-volume-slider";let Q=Kt;const Qt=class Qt extends a(HTMLElement,Gs){};Qt.tagName="media-captions";let I=Qt;const It=class It extends a(HTMLElement,Es){};It.tagName="media-gesture";let V=It;const Vt=class Vt extends a(HTMLElement,_s){};Vt.tagName="media-announcer";let R=Vt;const Rt=class Rt extends a(HTMLElement,Ms){};Rt.tagName="media-controls";let B=Rt;const Bt=class Bt extends a(HTMLElement,ba){};Bt.tagName="media-controls-group";let P=Bt;class $a extends l{}const Pt=class Pt extends a(HTMLElement,$a){onSetup(){this.a=x()}onConnect(){n(this.uc.bind(this))}uc(){const{title:t}=this.a.$state;this.textContent=t()}};Pt.tagName="media-title";let G=Pt;const Gt=class Gt extends l{};Gt.props={defaultText:""};let E=Gt;const Et=class Et extends a(HTMLElement,E){onSetup(){this.a=x(),this.Xj=ta("")}onConnect(){const t=this.a.textTracks;sa(t,"chapters",this.Xj.set),n(this.po.bind(this))}po(){const{defaultText:t}=this.$props;this.textContent=this.Xj()||t()}};Et.tagName="media-chapter-title";let _=Et;const _t=class _t extends l{onConnect(t){u(()=>{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:h,fillPercent:r}=this.$props;o(t,"width",c()),o(t,"height",c()),o(e,"stroke-width",h()),o(i,"stroke-width",h()),o(i,"stroke-dashoffset",100-r())}};_t.props={size:96,trackWidth:8,fillPercent:50};let M=_t;const Mt=class Mt extends a(Ta,M){render(){return La`
-      <svg fill="none" viewBox="0 0 120 120" aria-hidden="true" data-part="root">
-        <circle cx="60" cy="60" r="54" stroke="currentColor" data-part="track"></circle>
-        <circle
-          cx="60"
-          cy="60"
-          r="54"
-          stroke="currentColor"
-          pathLength="100"
-          stroke-dasharray="100"
-          data-part="track-fill"
-        ></circle>
-      </svg>
-    `}};Mt.tagName="media-spinner";let tt=Mt;const ts=class ts extends l{};ts.props={when:!1};let st=ts;const ss=class ss extends a(HTMLElement,st){onSetup(){this.a=x()}onConnect(){n(this.Zm.bind(this))}Zm(){const t=this.firstElementChild,e=(t==null?void 0:t.localName)==="template",i=this.$props.when();if(!(aa(i)?i:ea(()=>i(this.a.player.state))())){e?(this.textContent="",this.appendChild(t)):Ls(t)&&(t.style.display="none");return}e?this.append(t.content.cloneNode(!0)):Ls(t)&&(t.style.display="")}};ss.tagName="media-layout";let at=ss;const as=class as extends a(HTMLElement,ia){};as.tagName="media-google-cast-button";let et=as;const es=class es extends a(HTMLElement,ca){};es.tagName="media-toggle-button";let it=es;const is=class is extends a(HTMLElement,na){};is.tagName="media-tooltip";let ct=is;const cs=class cs extends a(HTMLElement,ja){onConnect(){this.style.display="contents"}};cs.tagName="media-tooltip-trigger";let nt=cs;const ns=class ns extends a(HTMLElement,oa){};ns.tagName="media-tooltip-content";let ot=ns;const T=class T extends a(HTMLElement,ra){};T.tagName="media-menu-portal",T.attrs={disabled:{converter(t){return bt(t)?t:t!==null}}};let rt=T;const os=class os extends a(HTMLElement,ha){onConnect(){p(this,(t,e)=>{const{cue:i,startTime:c,duration:h}=e,r=t.querySelector(".vds-thumbnail,media-thumbnail"),d=t.querySelector('[data-part="start-time"]'),g=t.querySelector('[data-part="duration"]');d&&(d.textContent=c),g&&(g.textContent=h),r&&(r.setAttribute("time",i.startTime+""),n(()=>{const b=this.$props.thumbnails();"src"in r?r.src=b:bt(b)&&r.setAttribute("src",b)}))})}};os.tagName="media-chapters-radio-group";let ht=os;const rs=class rs extends a(HTMLElement,ma){onConnect(){p(this)}};rs.tagName="media-audio-gain-radio-group";let mt=rs;const hs=class hs extends a(HTMLElement,la){};hs.tagName="media-radio";let lt=hs;const ms=class ms extends a(HTMLElement,ga){};ms.tagName="media-radio-group";let gt=ms;const ls=class ls extends a(HTMLElement,ys){};ls.tagName="media-slider";let pt=ls;const ka=$s('<video muted playsinline preload="none" style="max-width: unset;"></video>'),gs=class gs extends a(HTMLElement,pa){constructor(){super(...arguments),this.m=this.Yj()}onSetup(){this.a=x(),this.$state.video.set(this.m)}onConnect(){const{canLoad:t}=this.a.$state,{src:e,crossOrigin:i}=this.$state;this.m.parentNode!==this&&this.prepend(this.m),n(()=>{o(this.m,"crossorigin",i()),o(this.m,"preload",t()?"auto":"none"),o(this.m,"src",e())})}Yj(){return js(ka)}};gs.tagName="media-slider-video";let ut=gs;const ps=class ps extends a(HTMLElement,ua){};ps.tagName="media-audio-gain-slider";let xt=ps;const us=class us extends a(HTMLElement,xa){};us.tagName="media-speed-slider";let dt=us;const xs=class xs extends a(HTMLElement,da){};xs.tagName="media-quality-slider";let Nt=xs;const ds=class ds extends a(HTMLElement,Na){constructor(){super(...arguments),this.$j=null}onConnect(){u(()=>{if(!this.connectScope)return;const t=this.querySelector("template");t&&(this.$j=t,n(this.jk.bind(this)))})}jk(){if(!this.$j)return;const t=Lt(this.$j,this.cues.length||1);this.setRefs(t)}};ds.tagName="media-slider-chapters";let ft=ds;class va extends l{}const Ns=class Ns extends a(HTMLElement,va){constructor(){super(...arguments),this.$j=null}onConnect(t){u(()=>{this.connectScope&&(this.$j=t.querySelector("template"),this.$j&&n(this._j.bind(this)))})}_j(){if(!this.$j)return;const{min:t,max:e,step:i}=Cs(fa),c=(e()-t())/i();Lt(this.$j,Math.floor(c)+1)}};Ns.tagName="media-slider-steps";let Ht=Ns;const L=class L extends a(HTMLElement,Ha){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:h}=this.$state;this.Uj.style.display=c()||h()?"none":""})}};L.tagName="media-poster",L.attrs={crossOrigin:"crossorigin"};let Tt=L;s(at);s(B);s(P);s(Tt);s(R);s(ct);s(nt);s(ot);s(q);s(v);s(y);s($);s(U);s(w);s(C);s(et);s(it);s(pt);s(xt);s(Q);s(F);s(dt);s(Nt);s(ft);s(Ht);s(K);s(D);s(Z);s(ut);s(A);s(X);s(rt);s(J);s(z);s(O);s(S);s(W);s(mt);s(Y);s(ht);s(gt);s(lt);s(V);s(N);s(I);s(k);s(j);s(G);s(_);s(tt);
diff --git a/assets/vidstack-video-B8Q8jY8c.js b/assets/vidstack-video-B8Q8jY8c.js
new file mode 100644
index 0000000..b6a667b
--- /dev/null
+++ b/assets/vidstack-video-B8Q8jY8c.js
@@ -0,0 +1 @@
+import{U as p,aR as u,aS as o,aT as f,o as d,l as c,D as m}from"./vidstack-BeyDmEgV-DK6K5w61.js";import{H as g,a as P}from"./vidstack-DuY_sHvx-DBb4Bvtu.js";import{a as b,T as n}from"./vidstack-D6_zYTXL-OYeDKsnR.js";import"./vidstack-C-clE4br-xJyL0UOa.js";import"./vidstack-player-DaNo29Rn.js";import"./app-Flo2gZk8.js";class k{constructor(t,e){this.m=t,this.b=e,t.textTracks.onaddtrack=this.Yd.bind(this),d(this.ce.bind(this))}Yd(t){const e=t.track;if(!e||T(this.m,e))return;const i=new b({id:e.id,kind:e.kind,label:e.label??"",language:e.language,type:"vtt"});i[n._]={track:e},i[n.ma]=2,i[n.Mf]=!0;let s=0;const h=l=>{if(e.cues)for(let a=s;a<e.cues.length;a++)i.addCue(e.cues[a],l),s++};h(t),e.oncuechange=h,this.b.textTracks.add(i,t),i.setMode(e.mode,t)}ce(){var t;this.m.textTracks.onaddtrack=null;for(const e of this.b.textTracks){const i=(t=e[n._])==null?void 0:t.track;i!=null&&i.oncuechange&&(i.oncuechange=null)}}}function T(r,t){return Array.from(r.children).find(e=>e.track===t)}class x{constructor(t,e){this.m=t,this.a=e,this.E=(i,s)=>{this.a.delegate.c("picture-in-picture-change",i,s)},c(this.m,"enterpictureinpicture",this.Gi.bind(this)),c(this.m,"leavepictureinpicture",this.Hi.bind(this))}get active(){return document.pictureInPictureElement===this.m}get supported(){return o(this.m)}async enter(){return this.m.requestPictureInPicture()}exit(){return document.exitPictureInPicture()}Gi(t){this.E(!0,t)}Hi(t){this.E(!1,t)}}class y{constructor(t,e){this.m=t,this.a=e,this.U="inline",c(this.m,"webkitpresentationmodechanged",this.hb.bind(this))}get pb(){return u(this.m)}async fd(t){this.U!==t&&this.m.webkitSetPresentationMode(t)}hb(t){var i;const e=this.U;this.U=this.m.webkitPresentationMode,(i=this.a.player)==null||i.dispatch(new m("video-presentation-change",{detail:this.U,trigger:t})),["fullscreen","picture-in-picture"].forEach(s=>{(this.U===s||e===s)&&this.a.delegate.c(`${s}-change`,this.U===s,t)})}}class O{constructor(t){this.Oa=t}get active(){return this.Oa.U==="fullscreen"}get supported(){return this.Oa.pb}async enter(){this.Oa.fd("fullscreen")}async exit(){this.Oa.fd("inline")}}class U{constructor(t){this.Oa=t}get active(){return this.Oa.U==="picture-in-picture"}get supported(){return this.Oa.pb}async enter(){this.Oa.fd("picture-in-picture")}async exit(){this.Oa.fd("inline")}}class V extends g{constructor(t,e){super(t,e),this.$$PROVIDER_TYPE="VIDEO",p(()=>{if(this.airPlay=new P(t,e),u(t)){const i=new y(t,e);this.fullscreen=new O(i),this.pictureInPicture=new U(i)}else o(t)&&(this.pictureInPicture=new x(t,e))},this.scope)}get type(){return"video"}setup(){super.setup(),f(this.video)&&new k(this.video,this.b),this.b.textRenderers.Xf(this.video),d(()=>{this.b.textRenderers.Xf(null)}),this.type==="video"&&this.b.delegate.c("provider-setup",this)}get video(){return this.a}}export{V as VideoProvider};
diff --git a/assets/vidstack-video-CyPaYbdo.js b/assets/vidstack-video-CyPaYbdo.js
deleted file mode 100644
index 010daf3..0000000
--- a/assets/vidstack-video-CyPaYbdo.js
+++ /dev/null
@@ -1 +0,0 @@
-import{aH as p,aT as u,aU as o,aV as f,o as d,aW as g,aX as n,G as c,aP as m}from"./vidstack-6noeGFNR-CV2ORO4j.js";import{H as P,a as k}from"./vidstack--aheHlrm-D0XbZ3jM.js";import"./app-ClwIkahu.js";import"./vidstack-Bo6FErSD-BNmXqUs8.js";class I{constructor(t,e){this.m=t,this.b=e,t.textTracks.onaddtrack=this.Wc.bind(this),d(this.cd.bind(this))}Wc(t){const e=t.track;if(!e||b(this.m,e))return;const i=new g({id:e.id,kind:e.kind,label:e.label,language:e.language,type:"vtt"});i[n.T]={track:e},i[n.M]=2,i[n.te]=!0;let s=0;const h=l=>{if(e.cues)for(let a=s;a<e.cues.length;a++)i.addCue(e.cues[a],l),s++};h(t),e.oncuechange=h,this.b.textTracks.add(i,t),i.setMode(e.mode,t)}cd(){var t;this.m.textTracks.onaddtrack=null;for(const e of this.b.textTracks){const i=(t=e[n.T])==null?void 0:t.track;i!=null&&i.oncuechange&&(i.oncuechange=null)}}}function b(r,t){return Array.from(r.children).find(e=>e.track===t)}class T{constructor(t,e){this.m=t,this.a=e,this.B=(i,s)=>{this.a.delegate.c("picture-in-picture-change",i,s)},c(this.m,"enterpictureinpicture",this.Jg.bind(this)),c(this.m,"leavepictureinpicture",this.Kg.bind(this))}get active(){return document.pictureInPictureElement===this.m}get supported(){return o(this.m)}async enter(){return this.m.requestPictureInPicture()}exit(){return document.exitPictureInPicture()}Jg(t){this.B(!0,t)}Kg(t){this.B(!1,t)}}class x{constructor(t,e){this.m=t,this.a=e,this.I="inline",c(this.m,"webkitpresentationmodechanged",this.Ua.bind(this))}get Se(){return u(this.m)}async kc(t){this.I!==t&&this.m.webkitSetPresentationMode(t)}Ua(t){var i;const e=this.I;this.I=this.m.webkitPresentationMode,(i=this.a.player)==null||i.dispatch(new m("video-presentation-change",{detail:this.I,trigger:t})),["fullscreen","picture-in-picture"].forEach(s=>{(this.I===s||e===s)&&this.a.delegate.c(`${s}-change`,this.I===s,t)})}}class y{constructor(t){this.fa=t}get active(){return this.fa.I==="fullscreen"}get supported(){return this.fa.Se}async enter(){this.fa.kc("fullscreen")}async exit(){this.fa.kc("inline")}}class w{constructor(t){this.fa=t}get active(){return this.fa.I==="picture-in-picture"}get supported(){return this.fa.Se}async enter(){this.fa.kc("picture-in-picture")}async exit(){this.fa.kc("inline")}}class V extends P{constructor(t,e){super(t,e),this.$$PROVIDER_TYPE="VIDEO",p(()=>{if(this.airPlay=new k(t,e),u(t)){const i=new x(t,e);this.fullscreen=new y(i),this.pictureInPicture=new w(i)}else o(t)&&(this.pictureInPicture=new T(t,e))},this.scope)}get type(){return"video"}setup(){super.setup(),f(this.video)&&new I(this.video,this.b),this.b.textRenderers.Fe(this.video),d(()=>{this.b.textRenderers.Fe(null)}),this.type==="video"&&this.b.delegate.c("provider-setup",this)}get video(){return this.a}}export{V as VideoProvider};
diff --git a/assets/vidstack-vimeo-AG9a8fBX.js b/assets/vidstack-vimeo-AG9a8fBX.js
new file mode 100644
index 0000000..c945c91
--- /dev/null
+++ b/assets/vidstack-vimeo-AG9a8fBX.js
@@ -0,0 +1 @@
+import{aD as p,s as l,Q as k,h as o,p as u,w as v,M as d,l as m,i as y}from"./vidstack-BeyDmEgV-DK6K5w61.js";import{T as n,L as r,Q as b}from"./vidstack-player-DaNo29Rn.js";import{a as w}from"./vidstack-D6_zYTXL-OYeDKsnR.js";import{R as T}from"./vidstack-C-clE4br-xJyL0UOa.js";import{E as j}from"./vidstack-DBsjVADd-THjRDuSl.js";import{resolveVimeoVideoId as $,getVimeoVideoInfo as P}from"./vidstack-krOAtKMi-C3UUF7YD.js";import"./app-Flo2gZk8.js";const R=["bufferend","bufferstart","durationchange","ended","enterpictureinpicture","error","fullscreenchange","leavepictureinpicture","loaded","playProgress","loadProgress","pause","play","playbackratechange","qualitychange","seeked","seeking","timeupdate","volumechange","waiting"];class q extends j{constructor(t,e){super(t),this.b=e,this.$$PROVIDER_TYPE="VIMEO",this.scope=p(),this.ha=l(""),this.tc=l(!1),this.ve=null,this.K=null,this.Tn=!1,this.Aa=new n(0,0),this.fa=new T(this.kc.bind(this)),this.Yi=null,this.hd=null,this.Rn=new Map,this.ue=null,this.cookies=!1,this.title=!0,this.byline=!0,this.portrait=!0,this.color="00ADEF",this.jd=!1;const s=this;this.fullscreen={get active(){return s.Tn},supported:!0,enter:()=>this.t("requestFullscreen"),exit:()=>this.t("exitFullscreen")}}get c(){return this.b.delegate.c}get type(){return"vimeo"}get currentSrc(){return this.K}get videoId(){return this.ha()}get hash(){return this.ve}get isPro(){return this.tc()}preconnect(){k(this.Nb())}setup(){super.setup(),o(this.we.bind(this)),o(this.Zi.bind(this)),o(this._i.bind(this)),this.c("provider-setup",this)}destroy(){this.z(),this.fullscreen=void 0;const t="provider destroyed";for(const e of this.Rn.values())for(const{reject:s}of e)s(t);this.Rn.clear(),this.t("destroy")}async play(){return this.t("play")}async pause(){return this.t("pause")}setMuted(t){this.t("setMuted",t)}setCurrentTime(t){this.t("seekTo",t),this.c("seeking",t)}setVolume(t){this.t("setVolume",t),this.t("setMuted",u(this.b.$state.muted))}setPlaybackRate(t){this.t("setPlaybackRate",t)}async loadSource(t){if(!v(t.src)){this.K=null,this.ve=null,this.ha.set("");return}const{videoId:e,hash:s}=$(t.src);this.ha.set(e??""),this.ve=s??null,this.K=t}we(){this.z();const t=this.ha();if(!t){this.sc.set("");return}this.sc.set(`${this.Nb()}/video/${t}`),this.c("load-start")}Zi(){const t=this.ha();if(!t)return;const e=d(),s=new AbortController;return this.ue=e,P(t,s,this.ve).then(i=>{e.resolve(i)}).catch(i=>{e.reject()}),()=>{e.reject(),s.abort()}}_i(){const t=this.tc(),{$state:e,qualities:s}=this.b;if(e.canSetPlaybackRate.set(t),s[r.Od](!t),t)return m(s,"change",()=>{var a;if(s.auto)return;const i=(a=s.selected)==null?void 0:a.id;i&&this.t("setQuality",i)})}Nb(){return"https://player.vimeo.com"}mg(){const{keyDisabled:t}=this.b.$props,{playsInline:e,nativeControls:s}=this.b.$state,i=s();return{title:this.title,byline:this.byline,color:this.color,portrait:this.portrait,controls:i,h:this.hash,keyboard:i&&!t(),transparent:!0,playsinline:e(),dnt:!this.cookies}}kc(){this.t("getCurrentTime")}mc(t,e){if(this.jd&&t===0)return;const{realCurrentTime:s,realDuration:i,paused:a,bufferedEnd:h}=this.b.$state;if(s()===t)return;const c=s();this.c("time-change",t,e),Math.abs(c-t)>1.5&&(this.c("seeking",t,e),!a()&&h()<t&&this.c("waiting",void 0,e)),i()-t<.01&&(this.c("end",void 0,e),this.jd=!0,setTimeout(()=>{this.jd=!1},500))}ob(t,e){this.c("seeked",t,e)}tb(t){var s;const e=this.ha();(s=this.ue)==null||s.promise.then(i=>{if(!i)return;const{title:a,poster:h,duration:c,pro:f}=i;this.tc.set(f),this.c("title-change",a,t),this.c("poster-change",h,t),this.c("duration-change",c,t),this.kd(c,t)}).catch(()=>{e===this.ha()&&(this.t("getVideoTitle"),this.t("getDuration"))})}kd(t,e){const{nativeControls:s}=this.b.$state,i=s();this.Aa=new n(0,t);const a={buffered:new n(0,0),seekable:this.Aa,duration:t};this.b.delegate.Ga(a,e),i||this.t("_hideOverlay"),this.t("getQualities"),this.t("getChapters")}$i(t,e,s){var i;switch(t){case"getVideoTitle":const a=e;this.c("title-change",a,s);break;case"getDuration":const h=e;this.b.$state.canPlay()?this.c("duration-change",h,s):this.kd(h,s);break;case"getCurrentTime":this.mc(e,s);break;case"getBuffered":y(e)&&e.length&&this.ng(e[e.length-1][1],s);break;case"setMuted":this.Na(u(this.b.$state.volume),e,s);break;case"getChapters":this.aj(e);break;case"getQualities":this.ld(e,s);break}(i=this.Sn(t))==null||i.resolve()}bj(){for(const t of R)this.t("addEventListener",t)}ib(t){this.fa.$(),this.c("pause",void 0,t)}gc(t){this.fa.Xa(),this.c("play",void 0,t)}cj(t){const{paused:e}=this.b.$state;!e()&&!this.jd&&this.c("playing",void 0,t)}ng(t,e){const s={buffered:new n(0,t),seekable:this.Aa};this.c("progress",s,e)}dj(t){this.c("waiting",void 0,t)}ej(t){const{paused:e}=this.b.$state;e()||this.c("playing",void 0,t)}ee(t){const{paused:e}=this.b.$state;e()&&this.c("play",void 0,t),this.c("waiting",void 0,t)}Na(t,e,s){const i={volume:t,muted:e};this.c("volume-change",i,s)}aj(t){if(this.og(),!t.length)return;const e=new w({kind:"chapters",default:!0}),{realDuration:s}=this.b.$state;for(let i=0;i<t.length;i++){const a=t[i],h=t[i+1];e.addCue(new window.VTTCue(a.startTime,(h==null?void 0:h.startTime)??s(),a.title))}this.hd=e,this.b.textTracks.add(e)}og(){this.hd&&(this.b.textTracks.remove(this.hd),this.hd=null)}ld(t,e){this.b.qualities[b.Ia]=t.some(s=>s.id==="auto")?()=>this.t("setQuality","auto"):void 0;for(const s of t){if(s.id==="auto")continue;const i=+s.id.slice(0,-1);isNaN(i)||this.b.qualities[r.da]({id:s.id,width:i*(16/9),height:i,codec:"avc1,h.264",bitrate:-1},e)}this.Za(t.find(s=>s.active),e)}Za({id:t}={},e){if(!t)return;const s=t==="auto",i=this.b.qualities.getById(t);s?(this.b.qualities[b.Wa](s,e),this.b.qualities[r.ea](void 0,!0,e)):this.b.qualities[r.ea](i??void 0,!0,e)}fj(t,e,s){switch(t){case"ready":this.bj();break;case"loaded":this.tb(s);break;case"play":this.gc(s);break;case"playProgress":this.cj(s);break;case"pause":this.ib(s);break;case"loadProgress":this.ng(e.seconds,s);break;case"waiting":this.ee(s);break;case"bufferstart":this.dj(s);break;case"bufferend":this.ej(s);break;case"volumechange":this.Na(e.volume,u(this.b.$state.muted),s);break;case"durationchange":this.Aa=new n(0,e.duration),this.c("duration-change",e.duration,s);break;case"playbackratechange":this.c("rate-change",e.playbackRate,s);break;case"qualitychange":this.Za(e,s);break;case"fullscreenchange":this.Tn=e.fullscreen,this.c("fullscreen-change",e.fullscreen,s);break;case"enterpictureinpicture":this.c("picture-in-picture-change",!0,s);break;case"leavepictureinpicture":this.c("picture-in-picture-change",!1,s);break;case"ended":this.c("end",void 0,s);break;case"error":this.Q(e,s);break;case"seek":case"seeked":this.ob(e.seconds,s);break}}Q(t,e){var a;const{message:s,method:i}=t;i==="setPlaybackRate"&&this.tc.set(!1),i&&((a=this.Sn(i))==null||a.reject(s))}te(t,e){t.event?this.fj(t.event,t.data,e):t.method&&this.$i(t.method,t.value,e)}gd(){}async t(t,e){let s=d(),i=this.Rn.get(t);return i||this.Rn.set(t,i=[]),i.push(s),this.se({method:t,value:e}),s.promise}z(){this.fa.$(),this.Aa=new n(0,0),this.ue=null,this.Yi=null,this.tc.set(!1),this.og()}Sn(t){var e;return(e=this.Rn.get(t))==null?void 0:e.shift()}}export{q as VimeoProvider};
diff --git a/assets/vidstack-vimeo-BPMOyBVx.js b/assets/vidstack-vimeo-BPMOyBVx.js
deleted file mode 100644
index d4d24d4..0000000
--- a/assets/vidstack-vimeo-BPMOyBVx.js
+++ /dev/null
@@ -1 +0,0 @@
-import{aI as p,b5 as n,h as d,aZ as k,e as l,p as u,f as m,b6 as v,aQ as c,G as y,D as q,aW as w,a_ as b}from"./vidstack-6noeGFNR-CV2ORO4j.js";import{R as T}from"./vidstack-Bo6FErSD-BNmXqUs8.js";import{E,t as f}from"./vidstack-6Diumpjc-skZC_-ru.js";import{resolveVimeoVideoId as $,getVimeoVideoInfo as P}from"./vidstack-BTBUzdbF-Cao5mZMB.js";import"./app-ClwIkahu.js";const V=["bufferend","bufferstart","durationchange","ended","enterpictureinpicture","error","fullscreenchange","leavepictureinpicture","loaded","playProgress","loadProgress","pause","play","playbackratechange","qualitychange","seeked","seeking","timeupdate","volumechange","waiting"];class H extends E{constructor(t,e){super(t),this.b=e,this.$$PROVIDER_TYPE="VIMEO",this.scope=p(),this.Fa=0,this.Ga=new n(0,0),this.Hb=new n(0,0),this.E=null,this.G=null,this.rd=null,this.N=d(""),this.oc=d(!1),this.sd=null,this.V=null,this.eh=null,this.Da=new T(this.bd.bind(this)),this.Zk=null,this.cookies=!1,this.title=!0,this.byline=!0,this.portrait=!0,this.color="00ADEF",this.No=!1}get c(){return this.b.delegate.c}get type(){return"vimeo"}get currentSrc(){return this.V}get videoId(){return this.N()}get hash(){return this.sd}get isPro(){return this.oc()}preconnect(){k(this.eb())}setup(){super.setup(),l(this.kd.bind(this)),l(this.fh.bind(this)),l(this.gh.bind(this)),this.c("provider-setup",this)}destroy(){this.H(),this.q("destroy")}async play(){const{paused:t}=this.b.$state;return this.E||(this.E=f(()=>{if(this.E=null,t())return"Timed out."}),this.q("play")),this.E.promise}async pause(){const{paused:t}=this.b.$state;return this.G||(this.G=f(()=>{if(this.G=null,!t())return"Timed out."}),this.q("pause")),this.G.promise}setMuted(t){this.q("setMuted",t)}setCurrentTime(t){this.q("seekTo",t),this.c("seeking",t)}setVolume(t){this.q("setVolume",t),this.q("setMuted",u(this.b.$state.muted))}setPlaybackRate(t){this.q("setPlaybackRate",t)}async loadSource(t){if(!m(t.src)){this.V=null,this.sd=null,this.N.set("");return}const{videoId:e,hash:s}=$(t.src);this.N.set(e??""),this.sd=s??null,this.V=t}kd(){this.H();const t=this.N();if(!t){this.cb.set("");return}this.cb.set(`${this.eb()}/video/${t}`),this.c("load-start")}fh(){const t=this.N();if(!t)return;const e=v(),s=new AbortController;return this.rd=e,P(t,s).then(i=>{e.resolve(i)}).catch(i=>{e.reject()}),()=>{e.reject(),s.abort()}}gh(){const t=this.oc(),{$state:e,qualities:s}=this.b;if(e.canSetPlaybackRate.set(t),s[c.Mc](!t),t)return y(s,"change",()=>{var h;if(s.auto)return;const i=(h=s.selected)==null?void 0:h.id;i&&this.q("setQuality",i)})}eb(){return"https://player.vimeo.com"}Te(){const{$iosControls:t}=this.b,{keyDisabled:e}=this.b.$props,{controls:s,playsInline:i}=this.b.$state,h=s()||t();return{title:this.title,byline:this.byline,color:this.color,portrait:this.portrait,controls:h,h:this.hash,keyboard:h&&!e(),transparent:!0,playsinline:i(),dnt:!this.cookies}}bd(){this.q("getCurrentTime")}Eb(t,e){if(this.No&&t===0)return;const{realCurrentTime:s,realDuration:i,paused:h,bufferedEnd:a}=this.b.$state;if(s()===t)return;const o=s(),r={currentTime:t,played:this.cm(t)};this.c("time-update",r,e),Math.abs(o-t)>1.5&&(this.c("seeking",t,e),!h()&&a()<t&&this.c("waiting",void 0,e)),i()-t<.01&&(this.c("end",void 0,e),this.No=!0,setTimeout(()=>{this.No=!1},500))}cm(t){return this.Fa>=t?this.Ga:this.Ga=new n(0,this.Fa=t)}bb(t,e){this.c("seeked",t,e)}qd(t){var s;const e=this.N();(s=this.rd)==null||s.promise.then(i=>{if(!i)return;const{title:h,poster:a,duration:o,pro:r}=i;this.oc.set(r),this.c("title-change",h,t),this.c("poster-change",a,t),this.c("duration-change",o,t),this.md(o,t)}).catch(()=>{e===this.N()&&(this.q("getVideoTitle"),this.q("getDuration"))})}md(t,e){const{$iosControls:s}=this.b,{controls:i}=this.b.$state,h=i()||s();this.Hb=new n(0,t);const a={buffered:new n(0,0),seekable:this.Hb,duration:t};this.b.delegate.jc(a,e),h||this.q("_hideOverlay"),this.q("getQualities"),this.q("getChapters")}hh(t,e,s){switch(t){case"getVideoTitle":const i=e;this.c("title-change",i,s);break;case"getDuration":const h=e;this.b.$state.canPlay()?this.c("duration-change",h,s):this.md(h,s);break;case"getCurrentTime":this.Eb(e,s);break;case"getBuffered":q(e)&&e.length&&this.Ye(e[e.length-1][1],s);break;case"setMuted":this.ab(u(this.b.$state.volume),e,s);break;case"getChapters":this.Yk(e);break;case"getQualities":this.pc(e,s);break}}ih(){for(const t of V)this.q("addEventListener",t)}Aa(t){var e;this.Da.ra(),this.c("pause",void 0,t),(e=this.G)==null||e.resolve(),this.G=null}xb(t){var e;this.Da.Bb(),this.c("play",void 0,t),(e=this.E)==null||e.resolve(),this.E=null}jh(t){const{paused:e}=this.b.$state;!e()&&!this.No&&this.c("playing",void 0,t)}Ye(t,e){const s={buffered:new n(0,t),seekable:this.Hb};this.c("progress",s,e)}kh(t){this.c("waiting",void 0,t)}lh(t){const{paused:e}=this.b.$state;e()||this.c("playing",void 0,t)}dd(t){const{paused:e}=this.b.$state;e()&&this.c("play",void 0,t),this.c("waiting",void 0,t)}ab(t,e,s){const i={volume:t,muted:e};this.c("volume-change",i,s)}Yk(t){if(this._k(),!t.length)return;const e=new w({kind:"chapters",default:!0}),{realDuration:s}=this.b.$state;for(let i=0;i<t.length;i++){const h=t[i],a=t[i+1];e.addCue(new window.VTTCue(h.startTime,(a==null?void 0:a.startTime)??s(),h.title))}this.Zk=e,this.b.textTracks.add(e)}_k(){this.Zk&&(this.b.textTracks.remove(this.Zk),this.Zk=null)}pc(t,e){this.b.qualities[b.Za]=t.some(s=>s.id==="auto")?()=>this.q("setQuality","auto"):void 0;for(const s of t){if(s.id==="auto")continue;const i=+s.id.slice(0,-1);isNaN(i)||this.b.qualities[c.oa]({id:s.id,width:i*(16/9),height:i,codec:"avc1,h.264",bitrate:-1},e)}this.fb(t.find(s=>s.active),e)}fb({id:t}={},e){if(!t)return;const s=t==="auto",i=this.b.qualities.getById(t);s?(this.b.qualities[b.Ya](s,e),this.b.qualities[c.pa](void 0,!0,e)):this.b.qualities[c.pa](i??void 0,!0,e)}mh(t,e,s){switch(t){case"ready":this.ih();break;case"loaded":this.qd(s);break;case"play":this.xb(s);break;case"playProgress":this.jh(s);break;case"pause":this.Aa(s);break;case"loadProgress":this.Ye(e.seconds,s);break;case"waiting":this.dd(s);break;case"bufferstart":this.kh(s);break;case"bufferend":this.lh(s);break;case"volumechange":this.ab(e.volume,u(this.b.$state.muted),s);break;case"durationchange":this.Hb=new n(0,e.duration),this.c("duration-change",e.duration,s);break;case"playbackratechange":this.c("rate-change",e.playbackRate,s);break;case"qualitychange":this.fb(e,s);break;case"fullscreenchange":this.c("fullscreen-change",e.fullscreen,s);break;case"enterpictureinpicture":this.c("picture-in-picture-change",!0,s);break;case"leavepictureinpicture":this.c("picture-in-picture-change",!1,s);break;case"ended":this.c("end",void 0,s);break;case"error":this.U(e,s);break;case"seek":case"seeked":this.bb(e.seconds,s);break}}U(t,e){var s;if(t.method==="setPlaybackRate"&&this.oc.set(!1),t.method==="play"){(s=this.E)==null||s.reject(t.message);return}}hd(t,e){t.event?this.mh(t.event,t.data,e):t.method&&this.hh(t.method,t.value,e)}lc(){}q(t,e){return this.gd({method:t,value:e})}H(){this.Da.ra(),this.Fa=0,this.Ga=new n(0,0),this.Hb=new n(0,0),this.E=null,this.G=null,this.rd=null,this.eh=null,this.oc.set(!1),this._k()}}export{H as VimeoProvider};
diff --git a/assets/vidstack-youtube-C5r0TGB2.js b/assets/vidstack-youtube-C5r0TGB2.js
deleted file mode 100644
index db62a4b..0000000
--- a/assets/vidstack-youtube-C5r0TGB2.js
+++ /dev/null
@@ -1 +0,0 @@
-import{aI as m,h as k,b5 as r,aZ as y,e as g,f as v,b8 as w,aS as n,j as E}from"./vidstack-6noeGFNR-CV2ORO4j.js";import{E as f,t as p}from"./vidstack-6Diumpjc-skZC_-ru.js";import{resolveYouTubeVideoId as T}from"./vidstack-DscYSLiW-CA6XwpqT.js";import"./app-ClwIkahu.js";const c={Qj:-1,Ue:0,Ve:1,Mg:2,Ng:3,Og:5};class P extends f{constructor(t,s){super(t),this.b=s,this.$$PROVIDER_TYPE="YOUTUBE",this.scope=m(),this.N=k(""),this.mc=-1,this.nc=-1,this.Jk=!1,this.Fa=0,this.Ga=new r(0,0),this.V=null,this.E=null,this.G=null,this.language="en",this.color="red",this.cookies=!1}get c(){return this.b.delegate.c}get currentSrc(){return this.V}get type(){return"youtube"}get videoId(){return this.N()}preconnect(){y(this.eb())}setup(){super.setup(),g(this.kd.bind(this)),this.c("provider-setup",this)}async play(){const{paused:t}=this.b.$state;return this.E||(this.E=p(()=>{if(this.E=null,t())return"Timed out."}),this.q("playVideo")),this.E.promise}async pause(){const{paused:t}=this.b.$state;return this.G||(this.G=p(()=>{this.G=null,t()}),this.q("pauseVideo")),this.G.promise}setMuted(t){t?this.q("mute"):this.q("unMute")}setCurrentTime(t){this.Jk=this.b.$state.paused(),this.q("seekTo",t),this.c("seeking",t)}setVolume(t){this.q("setVolume",t*100)}setPlaybackRate(t){this.q("setPlaybackRate",t)}async loadSource(t){if(!v(t.src)){this.V=null,this.N.set("");return}const s=T(t.src);this.N.set(s??""),this.V=t}eb(){return this.cookies?"https://www.youtube.com":"https://www.youtube-nocookie.com"}kd(){this.H();const t=this.N();if(!t){this.cb.set("");return}this.cb.set(`${this.eb()}/embed/${t}`),this.c("load-start")}Te(){const{keyDisabled:t}=this.b.$props,{$iosControls:s}=this.b,{controls:i,muted:a,playsInline:h}=this.b.$state,e=i()||s();return{autoplay:0,cc_lang_pref:this.language,cc_load_policy:e?1:void 0,color:this.color,controls:e?1:0,disablekb:!e||t()?1:0,enablejsapi:1,fs:1,hl:this.language,iv_load_policy:e?1:3,mute:a()?1:0,playsinline:h()?1:0}}q(t,s){this.gd({event:"command",func:t,args:s?[s]:void 0})}lc(){window.setTimeout(()=>this.gd({event:"listening"}),100)}md(t){this.c("loaded-metadata"),this.c("loaded-data"),this.b.delegate.jc(void 0,t)}Aa(t){var s;(s=this.G)==null||s.resolve(),this.G=null,this.c("pause",void 0,t)}Eb(t,s){const{duration:i,realCurrentTime:a}=this.b.$state,h=this.mc===c.Ue,e=h?i():t,o={currentTime:e,played:this.cm(e)};this.c("time-update",o,s),!h&&Math.abs(e-a())>1&&this.c("seeking",e,s)}cm(t){return this.Fa>=t?this.Ga:this.Ga=new r(0,this.Fa=t)}ic(t,s,i){const a={buffered:new r(0,t),seekable:s};this.c("progress",a,i);const{seeking:h,realCurrentTime:e}=this.b.$state;h()&&t>e()&&this.bb(i)}bb(t){const{paused:s,realCurrentTime:i}=this.b.$state;window.clearTimeout(this.nc),this.nc=window.setTimeout(()=>{this.c("seeked",i(),t),this.nc=-1},s()?100:0),this.Jk=!1}Db(t){const{seeking:s}=this.b.$state;s()&&this.bb(t),this.c("pause",void 0,t),this.c("end",void 0,t)}Rg(t,s){var d,u;const{started:i,paused:a,seeking:h}=this.b.$state,e=t===c.Ve,o=t===c.Ng,l=(a()||this.E)&&(o||e);if(o&&this.c("waiting",void 0,s),h()&&e&&this.bb(s),!i()&&l&&this.Jk){(d=this.E)==null||d.reject("invalid internal play operation"),this.E=null,e&&(this.pause(),this.Jk=!1);return}switch(l&&((u=this.E)==null||u.resolve(),this.E=null,this.c("play",void 0,s)),t){case c.Og:this.md(s);break;case c.Ve:this.c("playing",void 0,s);break;case c.Mg:this.Aa(s);break;case c.Ue:this.Db(s);break}this.mc=t}hd({info:t},s){var e;if(!t)return;const{title:i,intrinsicDuration:a,playbackRate:h}=this.b.$state;if(w(t.videoData)&&t.videoData.title!==i()&&this.c("title-change",t.videoData.title,s),n(t.duration)&&t.duration!==a()){if(n(t.videoLoadedFraction)){const o=((e=t.progressState)==null?void 0:e.loaded)??t.videoLoadedFraction*t.duration,l=new r(0,t.duration);this.ic(o,l,s)}this.c("duration-change",t.duration,s)}if(n(t.playbackRate)&&t.playbackRate!==h()&&this.c("rate-change",t.playbackRate,s),t.progressState){const{current:o,seekableStart:l,seekableEnd:d,loaded:u,duration:b}=t.progressState;this.Eb(o,s),this.ic(u,new r(l,d),s),b!==a()&&this.c("duration-change",b,s)}if(n(t.volume)&&E(t.muted)){const o={muted:t.muted,volume:t.volume/100};this.c("volume-change",o,s)}n(t.playerState)&&t.playerState!==this.mc&&this.Rg(t.playerState,s)}H(){this.mc=-1,this.nc=-1,this.Fa=0,this.Ga=new r(0,0),this.E=null,this.G=null,this.Jk=!1}}export{P as YouTubeProvider};
diff --git a/assets/vidstack-youtube-Dh71ItC-.js b/assets/vidstack-youtube-Dh71ItC-.js
new file mode 100644
index 0000000..ec5c2ce
--- /dev/null
+++ b/assets/vidstack-youtube-Dh71ItC-.js
@@ -0,0 +1 @@
+import{aD as b,s as m,Q as y,h as v,w as g,M as k,a as f,az as w,j as d,a7 as S}from"./vidstack-BeyDmEgV-DK6K5w61.js";import{T as u}from"./vidstack-player-DaNo29Rn.js";import{E as T}from"./vidstack-DBsjVADd-THjRDuSl.js";import{resolveYouTubeVideoId as R}from"./vidstack-Zc3I7oOd-CA6XwpqT.js";import"./app-Flo2gZk8.js";import"./vidstack-D6_zYTXL-OYeDKsnR.js";const r={Om:-1,pg:0,qg:1,gj:2,hj:3,ij:5};class D extends T{constructor(t,e){super(t),this.b=e,this.$$PROVIDER_TYPE="YOUTUBE",this.scope=b(),this.ha=m(""),this.za=-1,this.K=null,this.md=-1,this.vc=!1,this.Rn=new Map,this.language="en",this.color="red",this.cookies=!1}get c(){return this.b.delegate.c}get currentSrc(){return this.K}get type(){return"youtube"}get videoId(){return this.ha()}preconnect(){y(this.Nb())}setup(){super.setup(),v(this.we.bind(this)),this.c("provider-setup",this)}destroy(){this.z();const t="provider destroyed";for(const e of this.Rn.values())for(const{reject:s}of e)s(t);this.Rn.clear()}async play(){return this.t("playVideo")}Hn(t){var e;(e=this.Sn("playVideo"))==null||e.reject(t)}async pause(){return this.t("pauseVideo")}In(t){var e;(e=this.Sn("pauseVideo"))==null||e.reject(t)}setMuted(t){t?this.t("mute"):this.t("unMute")}setCurrentTime(t){this.vc=this.b.$state.paused(),this.t("seekTo",t),this.c("seeking",t)}setVolume(t){this.t("setVolume",t*100)}setPlaybackRate(t){this.t("setPlaybackRate",t)}async loadSource(t){if(!g(t.src)){this.K=null,this.ha.set("");return}const e=R(t.src);this.ha.set(e??""),this.K=t}Nb(){return this.cookies?"https://www.youtube.com":"https://www.youtube-nocookie.com"}we(){this.z();const t=this.ha();if(!t){this.sc.set("");return}this.sc.set(`${this.Nb()}/embed/${t}`),this.c("load-start")}mg(){const{keyDisabled:t}=this.b.$props,{muted:e,playsInline:s,nativeControls:i}=this.b.$state,a=i();return{autoplay:0,cc_lang_pref:this.language,cc_load_policy:a?1:void 0,color:this.color,controls:a?1:0,disablekb:!a||t()?1:0,enablejsapi:1,fs:1,hl:this.language,iv_load_policy:a?1:3,mute:e()?1:0,playsinline:s()?1:0}}t(t,e){let s=k(),i=this.Rn.get(t);return i||this.Rn.set(t,i=[]),i.push(s),this.se({event:"command",func:t,args:e?[e]:void 0}),s.promise}gd(){window.setTimeout(()=>this.se({event:"listening"}),100)}kd(t){this.c("loaded-metadata"),this.c("loaded-data"),this.b.delegate.Ga(void 0,t)}ib(t){var e;(e=this.Sn("pauseVideo"))==null||e.resolve(),this.c("pause",void 0,t)}mc(t,e){const{duration:s,realCurrentTime:i}=this.b.$state,a=this.za===r.pg,o=a?s():t;this.c("time-change",o,e),!a&&Math.abs(o-i())>1&&this.c("seeking",o,e)}nb(t,e,s){const i={buffered:new u(0,t),seekable:e};this.c("progress",i,s);const{seeking:a,realCurrentTime:o}=this.b.$state;a()&&t>o()&&this.ob(s)}ob(t){const{paused:e,realCurrentTime:s}=this.b.$state;window.clearTimeout(this.md),this.md=window.setTimeout(()=>{this.c("seeked",s(),t),this.md=-1},e()?100:0),this.vc=!1}lc(t){const{seeking:e}=this.b.$state;e()&&this.ob(t),this.c("pause",void 0,t),this.c("end",void 0,t)}ie(t,e){var l;const{started:s,paused:i,seeking:a}=this.b.$state,o=t===r.qg,h=t===r.hj,c=!f(this.Sn("playVideo")),n=(i()||c)&&(h||o);if(h&&this.c("waiting",void 0,e),a()&&o&&this.ob(e),!s()&&n&&this.vc){this.Hn("invalid internal play operation"),o&&(this.pause(),this.vc=!1);return}switch(n&&((l=this.Sn("playVideo"))==null||l.resolve(),this.c("play",void 0,e)),t){case r.Om:this.Hn("provider rejected"),this.In("provider rejected"),this.c("pause",void 0,e);break;case r.ij:this.kd(e);break;case r.qg:this.c("playing",void 0,e);break;case r.gj:this.ib(e);break;case r.pg:this.lc(e);break}this.za=t}te({info:t},e){var o;if(!t)return;const{title:s,intrinsicDuration:i,playbackRate:a}=this.b.$state;if(w(t.videoData)&&t.videoData.title!==s()&&this.c("title-change",t.videoData.title,e),d(t.duration)&&t.duration!==i()){if(d(t.videoLoadedFraction)){const h=((o=t.progressState)==null?void 0:o.loaded)??t.videoLoadedFraction*t.duration,c=new u(0,t.duration);this.nb(h,c,e)}this.c("duration-change",t.duration,e)}if(d(t.playbackRate)&&t.playbackRate!==a()&&this.c("rate-change",t.playbackRate,e),t.progressState){const{current:h,seekableStart:c,seekableEnd:n,loaded:l,duration:p}=t.progressState;this.mc(h,e),this.nb(l,new u(c,n),e),p!==i()&&this.c("duration-change",p,e)}if(d(t.volume)&&S(t.muted)){const h={muted:t.muted,volume:t.volume/100};this.c("volume-change",h,e)}d(t.playerState)&&t.playerState!==this.za&&this.ie(t.playerState,e)}z(){this.za=-1,this.md=-1,this.vc=!1}Sn(t){var e;return(e=this.Rn.get(t))==null?void 0:e.shift()}}export{D as YouTubeProvider};
diff --git a/category/ai/index.html b/category/ai/index.html
index 405be13..005309d 100644
--- a/category/ai/index.html
+++ b/category/ai/index.html
@@ -29,13 +29,13 @@
       }
     </script>
     <meta property="og:url" content="https://halfsweet.cn/category/ai/"><meta property="og:site_name" content="HalfSweet's Blog"><meta property="og:title" content="AI 分类"><meta property="og:type" content="website"><meta property="og:locale" content="zh-CN"><meta property="article:author" content="HalfSweet"><script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","name":"AI 分类"}</script><title>AI 分类 | HalfSweet's Blog</title><meta name="description" content="半糖的博客">
-    <link rel="preload" href="/assets/style-BDwnt-CL.css" as="style"><link rel="stylesheet" href="/assets/style-BDwnt-CL.css">
-    <link rel="modulepreload" href="/assets/app-ClwIkahu.js"><link rel="modulepreload" href="/assets/index.html-CmtlWOBH.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
-    <link rel="prefetch" href="/assets/index.html-BjG6C5xb.js" as="script"><link rel="prefetch" href="/assets/index.html-6gNmrYKw.js" as="script"><link rel="prefetch" href="/assets/index.html-W8DPbcPd.js" as="script"><link rel="prefetch" href="/assets/index.html-75fD8c0W.js" as="script"><link rel="prefetch" href="/assets/index.html-CufQKtZU.js" as="script"><link rel="prefetch" href="/assets/index.html-Bqe7scks.js" as="script"><link rel="prefetch" href="/assets/index.html-B5-KeVPb.js" as="script"><link rel="prefetch" href="/assets/index.html-C7FigsQF.js" as="script"><link rel="prefetch" href="/assets/index.html-DtEE6E7f.js" as="script"><link rel="prefetch" href="/assets/index.html-0oPRY09N.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNCX4dz.js" as="script"><link rel="prefetch" href="/assets/index.html-XtQdJJI8.js" as="script"><link rel="prefetch" href="/assets/index.html-CnJ0E6b5.js" as="script"><link rel="prefetch" href="/assets/index.html-CFhDcrZp.js" as="script"><link rel="prefetch" href="/assets/index.html-Bd1PkxNi.js" as="script"><link rel="prefetch" href="/assets/index.html-DJ-_mZ9n.js" as="script"><link rel="prefetch" href="/assets/index.html-jFzM8lrm.js" as="script"><link rel="prefetch" href="/assets/404.html-VMfaDGRx.js" as="script"><link rel="prefetch" href="/assets/index.html-BaR2aqhq.js" as="script"><link rel="prefetch" href="/assets/index.html-DO2xY2T5.js" as="script"><link rel="prefetch" href="/assets/index.html-BEwHBlkc.js" as="script"><link rel="prefetch" href="/assets/index.html-DZIt3Q5g.js" as="script"><link rel="prefetch" href="/assets/index.html-Dd9JrssL.js" as="script"><link rel="prefetch" href="/assets/index.html-BjPOIJdK.js" as="script"><link rel="prefetch" href="/assets/index.html-CR-9qG2Y.js" as="script"><link rel="prefetch" href="/assets/index.html-CwWDCYUS.js" as="script"><link rel="prefetch" href="/assets/index.html-CptFZpi0.js" as="script"><link rel="prefetch" href="/assets/index.html-p6Y7Jm3n.js" as="script"><link rel="prefetch" href="/assets/index.html-CIen8cvO.js" as="script"><link rel="prefetch" href="/assets/index.html-BKUs44hv.js" as="script"><link rel="prefetch" href="/assets/index.html-D0wSSTgQ.js" as="script"><link rel="prefetch" href="/assets/index.html-DqsCIdcm.js" as="script"><link rel="prefetch" href="/assets/index.html-kUwAIzkD.js" as="script"><link rel="prefetch" href="/assets/index.html-BqgjNdmg.js" as="script"><link rel="prefetch" href="/assets/index.html-DIaDLRqn.js" as="script"><link rel="prefetch" href="/assets/index.html-DhcL23aG.js" as="script"><link rel="prefetch" href="/assets/index.html-Bk9EBjUw.js" as="script"><link rel="prefetch" href="/assets/index.html-C0X-QC5U.js" as="script"><link rel="prefetch" href="/assets/index.html-ZwD6xCF4.js" as="script"><link rel="prefetch" href="/assets/index.html-BdqadbH8.js" as="script"><link rel="prefetch" href="/assets/index.html-D7Uf3Wbw.js" as="script"><link rel="prefetch" href="/assets/index.html-CsuDpoYK.js" as="script"><link rel="prefetch" href="/assets/index.html-Dc2bdBF2.js" as="script"><link rel="prefetch" href="/assets/index.html-BzgkemtD.js" as="script"><link rel="prefetch" href="/assets/index.html-7uHHiaZx.js" as="script"><link rel="prefetch" href="/assets/index.html-TGoZudvZ.js" as="script"><link rel="prefetch" href="/assets/index.html-DbCWijUV.js" as="script"><link rel="prefetch" href="/assets/index.html-DOCRL60a.js" as="script"><link rel="prefetch" href="/assets/index.html-B8qYb7wb.js" as="script"><link rel="prefetch" href="/assets/index.html-CpBdG6tv.js" as="script"><link rel="prefetch" href="/assets/index.html-DdE0h7xo.js" as="script"><link rel="prefetch" href="/assets/index.html-BlsdgZAc.js" as="script"><link rel="prefetch" href="/assets/index.html-Du74cC6X.js" as="script"><link rel="prefetch" href="/assets/index.html-CTp2Oa39.js" as="script"><link rel="prefetch" href="/assets/index.html-Bz73p56D.js" as="script"><link rel="prefetch" href="/assets/index.html-BktjQtFB.js" as="script"><link rel="prefetch" href="/assets/index.html-DPl--Ppt.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-BF52VcER.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CgYxLcm_.js" as="script"><link rel="prefetch" href="/assets/artplayer-CHAGXahu.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-BOVnG7as.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-CbA2In8H.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-Do1ld-lW.js" as="script"><link rel="prefetch" href="/assets/giscus-7BMGhbDA.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-SzV8tJDW.js" as="script">
+    <link rel="preload" href="/assets/style-7DTFFHvh.css" as="style"><link rel="stylesheet" href="/assets/style-7DTFFHvh.css">
+    <link rel="modulepreload" href="/assets/app-Flo2gZk8.js"><link rel="modulepreload" href="/assets/index.html-DvNwolvq.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
+    <link rel="prefetch" href="/assets/index.html-BhtLl4n3.js" as="script"><link rel="prefetch" href="/assets/index.html-C6yte3a0.js" as="script"><link rel="prefetch" href="/assets/index.html-R-cHHIas.js" as="script"><link rel="prefetch" href="/assets/index.html-CPUAg15t.js" as="script"><link rel="prefetch" href="/assets/index.html-BjdnOCC5.js" as="script"><link rel="prefetch" href="/assets/index.html-7Xyk7CrU.js" as="script"><link rel="prefetch" href="/assets/index.html-BNW3YRR3.js" as="script"><link rel="prefetch" href="/assets/index.html-jClrTNl3.js" as="script"><link rel="prefetch" href="/assets/index.html-tFfBEjXi.js" as="script"><link rel="prefetch" href="/assets/index.html-DgPmeCdQ.js" as="script"><link rel="prefetch" href="/assets/index.html-CxRigd-R.js" as="script"><link rel="prefetch" href="/assets/index.html-BWPjJqfa.js" as="script"><link rel="prefetch" href="/assets/index.html-DzG2EJXJ.js" as="script"><link rel="prefetch" href="/assets/index.html-B45efyIG.js" as="script"><link rel="prefetch" href="/assets/index.html-D_Px6PD2.js" as="script"><link rel="prefetch" href="/assets/index.html-U1Oe9QlK.js" as="script"><link rel="prefetch" href="/assets/index.html-fvB3i9PM.js" as="script"><link rel="prefetch" href="/assets/404.html-mkIobPP0.js" as="script"><link rel="prefetch" href="/assets/index.html-DGqb01LU.js" as="script"><link rel="prefetch" href="/assets/index.html-GZfFX8ok.js" as="script"><link rel="prefetch" href="/assets/index.html-vhaMR1PK.js" as="script"><link rel="prefetch" href="/assets/index.html-CvSEeOlH.js" as="script"><link rel="prefetch" href="/assets/index.html-BmplSMWS.js" as="script"><link rel="prefetch" href="/assets/index.html-C2sDDxGY.js" as="script"><link rel="prefetch" href="/assets/index.html-DhSSZBRU.js" as="script"><link rel="prefetch" href="/assets/index.html-DPcGNBru.js" as="script"><link rel="prefetch" href="/assets/index.html-BFJ0kKZP.js" as="script"><link rel="prefetch" href="/assets/index.html-CBW4olfB.js" as="script"><link rel="prefetch" href="/assets/index.html-CiBWk0Bg.js" as="script"><link rel="prefetch" href="/assets/index.html-AFWYFeTY.js" as="script"><link rel="prefetch" href="/assets/index.html-DlrkN0XZ.js" as="script"><link rel="prefetch" href="/assets/index.html-Cb-sPtFS.js" as="script"><link rel="prefetch" href="/assets/index.html-DPF-EyUV.js" as="script"><link rel="prefetch" href="/assets/index.html-AqhAiBBF.js" as="script"><link rel="prefetch" href="/assets/index.html-DLZdHb6J.js" as="script"><link rel="prefetch" href="/assets/index.html-Cpr5viHS.js" as="script"><link rel="prefetch" href="/assets/index.html-BXxGxqK4.js" as="script"><link rel="prefetch" href="/assets/index.html-4asd-b47.js" as="script"><link rel="prefetch" href="/assets/index.html-ZITi3OK2.js" as="script"><link rel="prefetch" href="/assets/index.html-DJMKg_M6.js" as="script"><link rel="prefetch" href="/assets/index.html-Y__KWg8u.js" as="script"><link rel="prefetch" href="/assets/index.html--BIzY7gk.js" as="script"><link rel="prefetch" href="/assets/index.html-BRHXQqdq.js" as="script"><link rel="prefetch" href="/assets/index.html-C_2nkQ6B.js" as="script"><link rel="prefetch" href="/assets/index.html-R9oSKuoP.js" as="script"><link rel="prefetch" href="/assets/index.html-DY-KY6vi.js" as="script"><link rel="prefetch" href="/assets/index.html-BSndmKE7.js" as="script"><link rel="prefetch" href="/assets/index.html-BDmR_g70.js" as="script"><link rel="prefetch" href="/assets/index.html-CpeDyHcd.js" as="script"><link rel="prefetch" href="/assets/index.html-DV9WiiCS.js" as="script"><link rel="prefetch" href="/assets/index.html-DTceWJaH.js" as="script"><link rel="prefetch" href="/assets/index.html-2WOtvPq_.js" as="script"><link rel="prefetch" href="/assets/index.html-DCVozm3V.js" as="script"><link rel="prefetch" href="/assets/index.html-vKhQGG0S.js" as="script"><link rel="prefetch" href="/assets/index.html-BlvUTCvM.js" as="script"><link rel="prefetch" href="/assets/index.html-vIW8aJUJ.js" as="script"><link rel="prefetch" href="/assets/index.html-CTuZCChr.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-S0Hns9UN.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CSFeuThZ.js" as="script"><link rel="prefetch" href="/assets/artplayer-DnixxQIM.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-DaNo29Rn.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-nRkOMaNb.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-DQalTb-T.js" as="script"><link rel="prefetch" href="/assets/giscus-D-fkNSKD.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-GXRgw7eJ.js" as="script">
   </head>
   <body>
     <div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container no-sidebar"><!--[--><header id="navbar" class="vp-navbar"><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><!--[--><a class="route-link vp-brand" href="/"><img class="vp-nav-logo" src="/img/Headshot.jpg" alt><!----><span class="vp-site-name hide-in-pad">HalfSweet&#39;s Blog</span></a><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-center"><!--[--><!----><!--]--><!--[--><nav class="vp-nav-links"><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/posts/" aria-label="文章"><span class="font-icon icon app" style=""></span>文章<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/about/" aria-label="关于"><span class="font-icon icon user" style=""></span>关于<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/friends/" aria-label="友链"><span class="font-icon icon link" style=""></span>友链<!----></a></div></nav><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-end"><!--[--><!----><!--]--><!--[--><!----><div class="nav-item vp-repo"><a class="vp-repo-link" href="https://github.com/HalfSweet/Blog" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><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"></path></svg></a></div><div class="nav-item hide-in-mobile"><button type="button" id="appearance-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" style="display:block;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" style="display:none;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" style="display:none;"><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"></path></svg></button></div><!----><!--]--><!--[--><!----><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar"><!--[--><!----><!--]--><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></li><li><section class="vp-sidebar-group"><p class="vp-sidebar-header"><span class="font-icon icon book" style=""></span><span class="vp-sidebar-title">文章</span><!----></p><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-Clion/" aria-label="使用 Clion 来进行 Air32 的开发"><!---->使用 Clion 来进行 Air32 的开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-MCO/" aria-label="Air32 的 HAL 改造——适配 MCO"><!---->Air32 的 HAL 改造——适配 MCO<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/HelloWorld/" aria-label="HelloWorld"><!---->HelloWorld<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/STC_CoreMark/" aria-label="不服来跑个分?将 CoreMark 移植到 STC 上试试"><!---->不服来跑个分?将 CoreMark 移植到 STC 上试试<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="为什么我对第三代郊狼失望"><!---->为什么我对第三代郊狼失望<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-HighFreq/" aria-label="发挥全部实力!Air32 在 HAL 库环境下运行最高主频"><!---->发挥全部实力!Air32 在 HAL 库环境下运行最高主频<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/embedded_fmtlib/" aria-label="在嵌入式设备上使用fmtlib"><!---->在嵌入式设备上使用fmtlib<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/conda_novelai/" aria-label="基于conda进行手动配置novelAI"><!---->基于conda进行手动配置novelAI<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="对《为什么我对第三代郊狼失望》一文的澄清说明"><!---->对《为什么我对第三代郊狼失望》一文的澄清说明<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Empedded-CI-CD/" aria-label="嵌入式中的 CI/CD"><!---->嵌入式中的 CI/CD<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/MDK6-Dev/" aria-label="更现代的开发方式?使用 MDK6 进行开发"><!---->更现代的开发方式?使用 MDK6 进行开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/SEGGER-RTT/" aria-label="更高效的日志查看方式——使用SEGGER-RTT"><!---->更高效的日志查看方式——使用SEGGER-RTT<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/EpdTraps1/" aria-label="墨水屏的坑——7.5寸墨水屏刷新为何出现条纹"><!---->墨水屏的坑——7.5寸墨水屏刷新为何出现条纹<!----></a></li></ul></section></li></ul><!--[--><!----><!--]--></aside><!--[--><div class="vp-page vp-blog"><div class="blog-page-wrapper"><main id="main-content" class="vp-blog-main"><ul class="vp-category-list"><li class="vp-category vp-category8"><a class="route-link" href="/category/%E5%8D%95%E7%89%87%E6%9C%BA/">单片机<span class="count">7</span></a></li><li class="vp-category vp-category1"><a class="route-link" href="/category/posts/">posts<span class="count">3</span></a></li><li class="vp-category vp-category3"><a class="route-link" href="/category/%E7%BD%91%E7%AB%99/">网站<span class="count">1</span></a></li><li class="vp-category vp-category3 active"><a class="route-link" href="/category/ai/">AI<span class="count">1</span></a></li><li class="vp-category vp-category7"><a class="route-link" href="/category/%E5%A2%A8%E6%B0%B4%E5%B1%8F/">墨水屏<span class="count">1</span></a></li></ul><div id="article-list" class="vp-article-list" role="feed"><div class="vp-article-wrapper"><article class="vp-article-item" vocab="https://schema.org/" typeof="Article"><!--[--><!--]--><!----><a class="route-link" href="/posts/conda_novelai/"><header class="vp-article-title"><!----><!----><span property="headline">基于conda进行手动配置novelAI</span></header></a><div class="vp-article-excerpt"><p>最近大家应该都玩过novelAI了,出来的图片质量都非常棒,但是b站大佬给的配置只是打包了的bat文件,但是这显然不符合我们的折腾精神,于是我们来尝试使用conda来进行纯手工配置。</p>
 </div><hr class="vp-article-hr"><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2023-01-05T13:19:16.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>大约 6 分钟</span><meta property="timeRequired" content="PT6M"></span><span class="page-category-info" aria-label="分类🌈" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg><!--[--><span class="page-category-item category3 clickable" role="navigation">AI</span><!--]--><meta property="articleSection" content="AI"></span><span class="page-tag-info" aria-label="标签🏷" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg><!--[--><span class="page-tag-item tag5 clickable" role="navigation">人工智能</span><span class="page-tag-item tag1 clickable" role="navigation">novelAI</span><span class="page-tag-item tag2 clickable" role="navigation">conda</span><!--]--><meta property="keywords" content="人工智能,novelAI,conda"></span></div></article></div><div class="vp-pagination"></div></div></main><aside class="vp-blog-info-wrapper"><div class="vp-blogger-info" vocab="https://schema.org/" typeof="Person"><div class="vp-blogger" style="cursor:pointer;" aria-label="个人介绍" data-balloon-pos="down" role="link"><img class="vp-blogger-avatar" src="/img/Headshot.jpg" property="image" alt="Blogger Avatar" loading="lazy"><div class="vp-blogger-name" property="name">HalfSweet</div><div class="vp-blogger-description">Try to create some value</div><meta property="url" content="/Catalogue/02.about.html"></div><div class="vp-blog-counts"><a class="route-link vp-blog-count" href="/article/"><div class="count">13</div><div>文章</div></a><a class="route-link vp-blog-count" href="/category/"><div class="count">5</div><div>分类</div></a><a class="route-link vp-blog-count" href="/tag/"><div class="count">28</div><div>标签</div></a><a class="route-link vp-blog-count" href="/timeline/"><div class="count">13</div><div>时间轴</div></a></div><div class="vp-social-medias"><a class="vp-social-media" href="mailto:HalfSweet@HalfSweet.cn" rel="noopener noreferrer" target="_blank" aria-label="Email" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon email-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#1384FF"/><path fill="#fff" d="M270.077 286.233H751.99c32.933 0 59.86 24.855 60.274 55.51l-301.023 157L210.217 341.88c.207-30.723 26.927-55.717 59.86-55.717zm-59.929 115.714-.276 277.756c0 30.931 27.134 56.2 60.205 56.2H751.99c33.14 0 60.274-25.269 60.274-56.2V401.81L518.283 551.492a15.88 15.88 0 0 1-14.43 0L210.148 401.947z"/></svg></a><a class="vp-social-media" href="https://github.com/HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="GitHub" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#171515"/><path fill="#fff" d="M509.423 146.442c-200.317 0-362.756 162.42-362.756 362.8 0 160.266 103.936 296.24 248.109 344.217 18.139 3.327 24.76-7.872 24.76-17.486 0-8.613-.313-31.427-.49-61.702-100.912 21.923-122.205-48.63-122.205-48.63-16.495-41.91-40.28-53.067-40.28-53.067-32.937-22.51 2.492-22.053 2.492-22.053 36.407 2.566 55.568 37.386 55.568 37.386 32.362 55.438 84.907 39.43 105.58 30.143 3.296-23.444 12.667-39.43 23.032-48.498-80.557-9.156-165.246-40.28-165.246-179.297 0-39.604 14.135-71.988 37.342-97.348-3.731-9.178-16.18-46.063 3.556-96.009 0 0 30.46-9.754 99.76 37.19 28.937-8.048 59.97-12.071 90.823-12.211 30.807.14 61.843 4.165 90.822 12.21 69.26-46.944 99.663-37.189 99.663-37.189 19.792 49.946 7.34 86.831 3.61 96.01 23.25 25.359 37.29 57.742 37.29 97.347 0 139.366-84.82 170.033-165.637 179.013 13.026 11.2 24.628 33.342 24.628 67.182 0 48.498-.445 87.627-.445 99.521 0 9.702 6.535 20.988 24.945 17.444 144.03-48.067 247.881-183.95 247.881-344.175 0-200.378-162.442-362.798-362.802-362.798z"/></svg></a><a class="vp-social-media" href="https://twitter.com/_HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="Twitter" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon twitter-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512"/><path fill="#FFF" d="m560 473 186-216h-44L540 445 411 257H262l195 284-195 226h44l171-198 136 198h149zM322 290h68l312 445h-68z"/></svg></a></div></div><div class="vp-blog-infos"><div class="vp-blog-type-switcher"><button type="button" class="vp-blog-type-button"><div class="icon-wrapper active" aria-label="文章" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="分类" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="标签" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="时间轴" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timeline-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timeline icon"><path d="M511.997 70.568c-243.797 0-441.429 197.633-441.429 441.435 0 243.797 197.632 441.429 441.43 441.429S953.431 755.8 953.431 512.002c0-243.796-197.637-441.434-441.435-441.434zm150.158 609.093-15.605 15.61c-8.621 8.615-22.596 8.615-31.215 0L472.197 552.126c-4.95-4.944-4.34-14.888-4.34-24.677V247.14c0-12.19 9.882-22.07 22.07-22.07h22.07c12.19 0 22.07 9.882 22.07 22.07v273.218l128.088 128.088c8.62 8.62 8.62 22.595 0 31.215zm0 0"></path></svg></div></button></div><div class="vp-star-article-wrapper"><div class="title"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg><span class="num">13</span>文章</div><hr><div class="vp-star-article-empty">星标 为空</div></div></div></aside></div></div><!--]--><footer class="vp-footer-wrapper"><div class="vp-footer">今天咕咕被欺负了吗</div><div class="vp-copyright">Copyright © 2024 HalfSweet </div></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div>
-    <script type="module" src="/assets/app-ClwIkahu.js" defer></script>
+    <script type="module" src="/assets/app-Flo2gZk8.js" defer></script>
   </body>
 </html>
diff --git a/category/index.html b/category/index.html
index fc653cb..da02e3a 100644
--- a/category/index.html
+++ b/category/index.html
@@ -29,12 +29,12 @@
       }
     </script>
     <meta property="og:url" content="https://halfsweet.cn/category/"><meta property="og:site_name" content="HalfSweet's Blog"><meta property="og:title" content="分类"><meta property="og:type" content="website"><meta property="og:locale" content="zh-CN"><meta property="article:author" content="HalfSweet"><script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","name":"分类"}</script><title>分类 | HalfSweet's Blog</title><meta name="description" content="半糖的博客">
-    <link rel="preload" href="/assets/style-BDwnt-CL.css" as="style"><link rel="stylesheet" href="/assets/style-BDwnt-CL.css">
-    <link rel="modulepreload" href="/assets/app-ClwIkahu.js"><link rel="modulepreload" href="/assets/index.html-BEwHBlkc.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
-    <link rel="prefetch" href="/assets/index.html-BjG6C5xb.js" as="script"><link rel="prefetch" href="/assets/index.html-6gNmrYKw.js" as="script"><link rel="prefetch" href="/assets/index.html-W8DPbcPd.js" as="script"><link rel="prefetch" href="/assets/index.html-75fD8c0W.js" as="script"><link rel="prefetch" href="/assets/index.html-CufQKtZU.js" as="script"><link rel="prefetch" href="/assets/index.html-Bqe7scks.js" as="script"><link rel="prefetch" href="/assets/index.html-B5-KeVPb.js" as="script"><link rel="prefetch" href="/assets/index.html-C7FigsQF.js" as="script"><link rel="prefetch" href="/assets/index.html-DtEE6E7f.js" as="script"><link rel="prefetch" href="/assets/index.html-0oPRY09N.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNCX4dz.js" as="script"><link rel="prefetch" href="/assets/index.html-XtQdJJI8.js" as="script"><link rel="prefetch" href="/assets/index.html-CnJ0E6b5.js" as="script"><link rel="prefetch" href="/assets/index.html-CFhDcrZp.js" as="script"><link rel="prefetch" href="/assets/index.html-Bd1PkxNi.js" as="script"><link rel="prefetch" href="/assets/index.html-DJ-_mZ9n.js" as="script"><link rel="prefetch" href="/assets/index.html-jFzM8lrm.js" as="script"><link rel="prefetch" href="/assets/404.html-VMfaDGRx.js" as="script"><link rel="prefetch" href="/assets/index.html-BaR2aqhq.js" as="script"><link rel="prefetch" href="/assets/index.html-DO2xY2T5.js" as="script"><link rel="prefetch" href="/assets/index.html-DZIt3Q5g.js" as="script"><link rel="prefetch" href="/assets/index.html-Dd9JrssL.js" as="script"><link rel="prefetch" href="/assets/index.html-BjPOIJdK.js" as="script"><link rel="prefetch" href="/assets/index.html-CmtlWOBH.js" as="script"><link rel="prefetch" href="/assets/index.html-CR-9qG2Y.js" as="script"><link rel="prefetch" href="/assets/index.html-CwWDCYUS.js" as="script"><link rel="prefetch" href="/assets/index.html-CptFZpi0.js" as="script"><link rel="prefetch" href="/assets/index.html-p6Y7Jm3n.js" as="script"><link rel="prefetch" href="/assets/index.html-CIen8cvO.js" as="script"><link rel="prefetch" href="/assets/index.html-BKUs44hv.js" as="script"><link rel="prefetch" href="/assets/index.html-D0wSSTgQ.js" as="script"><link rel="prefetch" href="/assets/index.html-DqsCIdcm.js" as="script"><link rel="prefetch" href="/assets/index.html-kUwAIzkD.js" as="script"><link rel="prefetch" href="/assets/index.html-BqgjNdmg.js" as="script"><link rel="prefetch" href="/assets/index.html-DIaDLRqn.js" as="script"><link rel="prefetch" href="/assets/index.html-DhcL23aG.js" as="script"><link rel="prefetch" href="/assets/index.html-Bk9EBjUw.js" as="script"><link rel="prefetch" href="/assets/index.html-C0X-QC5U.js" as="script"><link rel="prefetch" href="/assets/index.html-ZwD6xCF4.js" as="script"><link rel="prefetch" href="/assets/index.html-BdqadbH8.js" as="script"><link rel="prefetch" href="/assets/index.html-D7Uf3Wbw.js" as="script"><link rel="prefetch" href="/assets/index.html-CsuDpoYK.js" as="script"><link rel="prefetch" href="/assets/index.html-Dc2bdBF2.js" as="script"><link rel="prefetch" href="/assets/index.html-BzgkemtD.js" as="script"><link rel="prefetch" href="/assets/index.html-7uHHiaZx.js" as="script"><link rel="prefetch" href="/assets/index.html-TGoZudvZ.js" as="script"><link rel="prefetch" href="/assets/index.html-DbCWijUV.js" as="script"><link rel="prefetch" href="/assets/index.html-DOCRL60a.js" as="script"><link rel="prefetch" href="/assets/index.html-B8qYb7wb.js" as="script"><link rel="prefetch" href="/assets/index.html-CpBdG6tv.js" as="script"><link rel="prefetch" href="/assets/index.html-DdE0h7xo.js" as="script"><link rel="prefetch" href="/assets/index.html-BlsdgZAc.js" as="script"><link rel="prefetch" href="/assets/index.html-Du74cC6X.js" as="script"><link rel="prefetch" href="/assets/index.html-CTp2Oa39.js" as="script"><link rel="prefetch" href="/assets/index.html-Bz73p56D.js" as="script"><link rel="prefetch" href="/assets/index.html-BktjQtFB.js" as="script"><link rel="prefetch" href="/assets/index.html-DPl--Ppt.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-BF52VcER.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CgYxLcm_.js" as="script"><link rel="prefetch" href="/assets/artplayer-CHAGXahu.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-BOVnG7as.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-CbA2In8H.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-Do1ld-lW.js" as="script"><link rel="prefetch" href="/assets/giscus-7BMGhbDA.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-SzV8tJDW.js" as="script">
+    <link rel="preload" href="/assets/style-7DTFFHvh.css" as="style"><link rel="stylesheet" href="/assets/style-7DTFFHvh.css">
+    <link rel="modulepreload" href="/assets/app-Flo2gZk8.js"><link rel="modulepreload" href="/assets/index.html-vhaMR1PK.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
+    <link rel="prefetch" href="/assets/index.html-BhtLl4n3.js" as="script"><link rel="prefetch" href="/assets/index.html-C6yte3a0.js" as="script"><link rel="prefetch" href="/assets/index.html-R-cHHIas.js" as="script"><link rel="prefetch" href="/assets/index.html-CPUAg15t.js" as="script"><link rel="prefetch" href="/assets/index.html-BjdnOCC5.js" as="script"><link rel="prefetch" href="/assets/index.html-7Xyk7CrU.js" as="script"><link rel="prefetch" href="/assets/index.html-BNW3YRR3.js" as="script"><link rel="prefetch" href="/assets/index.html-jClrTNl3.js" as="script"><link rel="prefetch" href="/assets/index.html-tFfBEjXi.js" as="script"><link rel="prefetch" href="/assets/index.html-DgPmeCdQ.js" as="script"><link rel="prefetch" href="/assets/index.html-CxRigd-R.js" as="script"><link rel="prefetch" href="/assets/index.html-BWPjJqfa.js" as="script"><link rel="prefetch" href="/assets/index.html-DzG2EJXJ.js" as="script"><link rel="prefetch" href="/assets/index.html-B45efyIG.js" as="script"><link rel="prefetch" href="/assets/index.html-D_Px6PD2.js" as="script"><link rel="prefetch" href="/assets/index.html-U1Oe9QlK.js" as="script"><link rel="prefetch" href="/assets/index.html-fvB3i9PM.js" as="script"><link rel="prefetch" href="/assets/404.html-mkIobPP0.js" as="script"><link rel="prefetch" href="/assets/index.html-DGqb01LU.js" as="script"><link rel="prefetch" href="/assets/index.html-GZfFX8ok.js" as="script"><link rel="prefetch" href="/assets/index.html-CvSEeOlH.js" as="script"><link rel="prefetch" href="/assets/index.html-BmplSMWS.js" as="script"><link rel="prefetch" href="/assets/index.html-C2sDDxGY.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNwolvq.js" as="script"><link rel="prefetch" href="/assets/index.html-DhSSZBRU.js" as="script"><link rel="prefetch" href="/assets/index.html-DPcGNBru.js" as="script"><link rel="prefetch" href="/assets/index.html-BFJ0kKZP.js" as="script"><link rel="prefetch" href="/assets/index.html-CBW4olfB.js" as="script"><link rel="prefetch" href="/assets/index.html-CiBWk0Bg.js" as="script"><link rel="prefetch" href="/assets/index.html-AFWYFeTY.js" as="script"><link rel="prefetch" href="/assets/index.html-DlrkN0XZ.js" as="script"><link rel="prefetch" href="/assets/index.html-Cb-sPtFS.js" as="script"><link rel="prefetch" href="/assets/index.html-DPF-EyUV.js" as="script"><link rel="prefetch" href="/assets/index.html-AqhAiBBF.js" as="script"><link rel="prefetch" href="/assets/index.html-DLZdHb6J.js" as="script"><link rel="prefetch" href="/assets/index.html-Cpr5viHS.js" as="script"><link rel="prefetch" href="/assets/index.html-BXxGxqK4.js" as="script"><link rel="prefetch" href="/assets/index.html-4asd-b47.js" as="script"><link rel="prefetch" href="/assets/index.html-ZITi3OK2.js" as="script"><link rel="prefetch" href="/assets/index.html-DJMKg_M6.js" as="script"><link rel="prefetch" href="/assets/index.html-Y__KWg8u.js" as="script"><link rel="prefetch" href="/assets/index.html--BIzY7gk.js" as="script"><link rel="prefetch" href="/assets/index.html-BRHXQqdq.js" as="script"><link rel="prefetch" href="/assets/index.html-C_2nkQ6B.js" as="script"><link rel="prefetch" href="/assets/index.html-R9oSKuoP.js" as="script"><link rel="prefetch" href="/assets/index.html-DY-KY6vi.js" as="script"><link rel="prefetch" href="/assets/index.html-BSndmKE7.js" as="script"><link rel="prefetch" href="/assets/index.html-BDmR_g70.js" as="script"><link rel="prefetch" href="/assets/index.html-CpeDyHcd.js" as="script"><link rel="prefetch" href="/assets/index.html-DV9WiiCS.js" as="script"><link rel="prefetch" href="/assets/index.html-DTceWJaH.js" as="script"><link rel="prefetch" href="/assets/index.html-2WOtvPq_.js" as="script"><link rel="prefetch" href="/assets/index.html-DCVozm3V.js" as="script"><link rel="prefetch" href="/assets/index.html-vKhQGG0S.js" as="script"><link rel="prefetch" href="/assets/index.html-BlvUTCvM.js" as="script"><link rel="prefetch" href="/assets/index.html-vIW8aJUJ.js" as="script"><link rel="prefetch" href="/assets/index.html-CTuZCChr.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-S0Hns9UN.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CSFeuThZ.js" as="script"><link rel="prefetch" href="/assets/artplayer-DnixxQIM.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-DaNo29Rn.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-nRkOMaNb.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-DQalTb-T.js" as="script"><link rel="prefetch" href="/assets/giscus-D-fkNSKD.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-GXRgw7eJ.js" as="script">
   </head>
   <body>
     <div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container no-sidebar"><!--[--><header id="navbar" class="vp-navbar"><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><!--[--><a class="route-link vp-brand" href="/"><img class="vp-nav-logo" src="/img/Headshot.jpg" alt><!----><span class="vp-site-name hide-in-pad">HalfSweet&#39;s Blog</span></a><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-center"><!--[--><!----><!--]--><!--[--><nav class="vp-nav-links"><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/posts/" aria-label="文章"><span class="font-icon icon app" style=""></span>文章<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/about/" aria-label="关于"><span class="font-icon icon user" style=""></span>关于<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/friends/" aria-label="友链"><span class="font-icon icon link" style=""></span>友链<!----></a></div></nav><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-end"><!--[--><!----><!--]--><!--[--><!----><div class="nav-item vp-repo"><a class="vp-repo-link" href="https://github.com/HalfSweet/Blog" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><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"></path></svg></a></div><div class="nav-item hide-in-mobile"><button type="button" id="appearance-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" style="display:block;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" style="display:none;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" style="display:none;"><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"></path></svg></button></div><!----><!--]--><!--[--><!----><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar"><!--[--><!----><!--]--><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></li><li><section class="vp-sidebar-group"><p class="vp-sidebar-header"><span class="font-icon icon book" style=""></span><span class="vp-sidebar-title">文章</span><!----></p><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-Clion/" aria-label="使用 Clion 来进行 Air32 的开发"><!---->使用 Clion 来进行 Air32 的开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-MCO/" aria-label="Air32 的 HAL 改造——适配 MCO"><!---->Air32 的 HAL 改造——适配 MCO<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/HelloWorld/" aria-label="HelloWorld"><!---->HelloWorld<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/STC_CoreMark/" aria-label="不服来跑个分?将 CoreMark 移植到 STC 上试试"><!---->不服来跑个分?将 CoreMark 移植到 STC 上试试<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="为什么我对第三代郊狼失望"><!---->为什么我对第三代郊狼失望<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-HighFreq/" aria-label="发挥全部实力!Air32 在 HAL 库环境下运行最高主频"><!---->发挥全部实力!Air32 在 HAL 库环境下运行最高主频<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/embedded_fmtlib/" aria-label="在嵌入式设备上使用fmtlib"><!---->在嵌入式设备上使用fmtlib<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/conda_novelai/" aria-label="基于conda进行手动配置novelAI"><!---->基于conda进行手动配置novelAI<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="对《为什么我对第三代郊狼失望》一文的澄清说明"><!---->对《为什么我对第三代郊狼失望》一文的澄清说明<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Empedded-CI-CD/" aria-label="嵌入式中的 CI/CD"><!---->嵌入式中的 CI/CD<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/MDK6-Dev/" aria-label="更现代的开发方式?使用 MDK6 进行开发"><!---->更现代的开发方式?使用 MDK6 进行开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/SEGGER-RTT/" aria-label="更高效的日志查看方式——使用SEGGER-RTT"><!---->更高效的日志查看方式——使用SEGGER-RTT<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/EpdTraps1/" aria-label="墨水屏的坑——7.5寸墨水屏刷新为何出现条纹"><!---->墨水屏的坑——7.5寸墨水屏刷新为何出现条纹<!----></a></li></ul></section></li></ul><!--[--><!----><!--]--></aside><!--[--><div class="vp-page vp-blog"><div class="blog-page-wrapper"><main id="main-content" class="vp-blog-main"><ul class="vp-category-list"><li class="vp-category vp-category8"><a class="route-link" href="/category/%E5%8D%95%E7%89%87%E6%9C%BA/">单片机<span class="count">7</span></a></li><li class="vp-category vp-category1"><a class="route-link" href="/category/posts/">posts<span class="count">3</span></a></li><li class="vp-category vp-category3"><a class="route-link" href="/category/%E7%BD%91%E7%AB%99/">网站<span class="count">1</span></a></li><li class="vp-category vp-category3"><a class="route-link" href="/category/ai/">AI<span class="count">1</span></a></li><li class="vp-category vp-category7"><a class="route-link" href="/category/%E5%A2%A8%E6%B0%B4%E5%B1%8F/">墨水屏<span class="count">1</span></a></li></ul><!----></main><aside class="vp-blog-info-wrapper"><div class="vp-blogger-info" vocab="https://schema.org/" typeof="Person"><div class="vp-blogger" style="cursor:pointer;" aria-label="个人介绍" data-balloon-pos="down" role="link"><img class="vp-blogger-avatar" src="/img/Headshot.jpg" property="image" alt="Blogger Avatar" loading="lazy"><div class="vp-blogger-name" property="name">HalfSweet</div><div class="vp-blogger-description">Try to create some value</div><meta property="url" content="/Catalogue/02.about.html"></div><div class="vp-blog-counts"><a class="route-link vp-blog-count" href="/article/"><div class="count">13</div><div>文章</div></a><a class="route-link vp-blog-count" href="/category/"><div class="count">5</div><div>分类</div></a><a class="route-link vp-blog-count" href="/tag/"><div class="count">28</div><div>标签</div></a><a class="route-link vp-blog-count" href="/timeline/"><div class="count">13</div><div>时间轴</div></a></div><div class="vp-social-medias"><a class="vp-social-media" href="mailto:HalfSweet@HalfSweet.cn" rel="noopener noreferrer" target="_blank" aria-label="Email" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon email-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#1384FF"/><path fill="#fff" d="M270.077 286.233H751.99c32.933 0 59.86 24.855 60.274 55.51l-301.023 157L210.217 341.88c.207-30.723 26.927-55.717 59.86-55.717zm-59.929 115.714-.276 277.756c0 30.931 27.134 56.2 60.205 56.2H751.99c33.14 0 60.274-25.269 60.274-56.2V401.81L518.283 551.492a15.88 15.88 0 0 1-14.43 0L210.148 401.947z"/></svg></a><a class="vp-social-media" href="https://github.com/HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="GitHub" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#171515"/><path fill="#fff" d="M509.423 146.442c-200.317 0-362.756 162.42-362.756 362.8 0 160.266 103.936 296.24 248.109 344.217 18.139 3.327 24.76-7.872 24.76-17.486 0-8.613-.313-31.427-.49-61.702-100.912 21.923-122.205-48.63-122.205-48.63-16.495-41.91-40.28-53.067-40.28-53.067-32.937-22.51 2.492-22.053 2.492-22.053 36.407 2.566 55.568 37.386 55.568 37.386 32.362 55.438 84.907 39.43 105.58 30.143 3.296-23.444 12.667-39.43 23.032-48.498-80.557-9.156-165.246-40.28-165.246-179.297 0-39.604 14.135-71.988 37.342-97.348-3.731-9.178-16.18-46.063 3.556-96.009 0 0 30.46-9.754 99.76 37.19 28.937-8.048 59.97-12.071 90.823-12.211 30.807.14 61.843 4.165 90.822 12.21 69.26-46.944 99.663-37.189 99.663-37.189 19.792 49.946 7.34 86.831 3.61 96.01 23.25 25.359 37.29 57.742 37.29 97.347 0 139.366-84.82 170.033-165.637 179.013 13.026 11.2 24.628 33.342 24.628 67.182 0 48.498-.445 87.627-.445 99.521 0 9.702 6.535 20.988 24.945 17.444 144.03-48.067 247.881-183.95 247.881-344.175 0-200.378-162.442-362.798-362.802-362.798z"/></svg></a><a class="vp-social-media" href="https://twitter.com/_HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="Twitter" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon twitter-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512"/><path fill="#FFF" d="m560 473 186-216h-44L540 445 411 257H262l195 284-195 226h44l171-198 136 198h149zM322 290h68l312 445h-68z"/></svg></a></div></div><div class="vp-blog-infos"><div class="vp-blog-type-switcher"><button type="button" class="vp-blog-type-button"><div class="icon-wrapper active" aria-label="文章" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="分类" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="标签" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="时间轴" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timeline-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timeline icon"><path d="M511.997 70.568c-243.797 0-441.429 197.633-441.429 441.435 0 243.797 197.632 441.429 441.43 441.429S953.431 755.8 953.431 512.002c0-243.796-197.637-441.434-441.435-441.434zm150.158 609.093-15.605 15.61c-8.621 8.615-22.596 8.615-31.215 0L472.197 552.126c-4.95-4.944-4.34-14.888-4.34-24.677V247.14c0-12.19 9.882-22.07 22.07-22.07h22.07c12.19 0 22.07 9.882 22.07 22.07v273.218l128.088 128.088c8.62 8.62 8.62 22.595 0 31.215zm0 0"></path></svg></div></button></div><div class="vp-star-article-wrapper"><div class="title"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg><span class="num">13</span>文章</div><hr><div class="vp-star-article-empty">星标 为空</div></div></div></aside></div></div><!--]--><footer class="vp-footer-wrapper"><div class="vp-footer">今天咕咕被欺负了吗</div><div class="vp-copyright">Copyright © 2024 HalfSweet </div></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div>
-    <script type="module" src="/assets/app-ClwIkahu.js" defer></script>
+    <script type="module" src="/assets/app-Flo2gZk8.js" defer></script>
   </body>
 </html>
diff --git a/category/posts/index.html b/category/posts/index.html
index 2e75fb7..2b2f0ee 100644
--- a/category/posts/index.html
+++ b/category/posts/index.html
@@ -29,15 +29,15 @@
       }
     </script>
     <meta property="og:url" content="https://halfsweet.cn/category/posts/"><meta property="og:site_name" content="HalfSweet's Blog"><meta property="og:title" content="posts 分类"><meta property="og:type" content="website"><meta property="og:locale" content="zh-CN"><meta property="article:author" content="HalfSweet"><script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","name":"posts 分类"}</script><title>posts 分类 | HalfSweet's Blog</title><meta name="description" content="半糖的博客">
-    <link rel="preload" href="/assets/style-BDwnt-CL.css" as="style"><link rel="stylesheet" href="/assets/style-BDwnt-CL.css">
-    <link rel="modulepreload" href="/assets/app-ClwIkahu.js"><link rel="modulepreload" href="/assets/index.html-BjPOIJdK.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
-    <link rel="prefetch" href="/assets/index.html-BjG6C5xb.js" as="script"><link rel="prefetch" href="/assets/index.html-6gNmrYKw.js" as="script"><link rel="prefetch" href="/assets/index.html-W8DPbcPd.js" as="script"><link rel="prefetch" href="/assets/index.html-75fD8c0W.js" as="script"><link rel="prefetch" href="/assets/index.html-CufQKtZU.js" as="script"><link rel="prefetch" href="/assets/index.html-Bqe7scks.js" as="script"><link rel="prefetch" href="/assets/index.html-B5-KeVPb.js" as="script"><link rel="prefetch" href="/assets/index.html-C7FigsQF.js" as="script"><link rel="prefetch" href="/assets/index.html-DtEE6E7f.js" as="script"><link rel="prefetch" href="/assets/index.html-0oPRY09N.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNCX4dz.js" as="script"><link rel="prefetch" href="/assets/index.html-XtQdJJI8.js" as="script"><link rel="prefetch" href="/assets/index.html-CnJ0E6b5.js" as="script"><link rel="prefetch" href="/assets/index.html-CFhDcrZp.js" as="script"><link rel="prefetch" href="/assets/index.html-Bd1PkxNi.js" as="script"><link rel="prefetch" href="/assets/index.html-DJ-_mZ9n.js" as="script"><link rel="prefetch" href="/assets/index.html-jFzM8lrm.js" as="script"><link rel="prefetch" href="/assets/404.html-VMfaDGRx.js" as="script"><link rel="prefetch" href="/assets/index.html-BaR2aqhq.js" as="script"><link rel="prefetch" href="/assets/index.html-DO2xY2T5.js" as="script"><link rel="prefetch" href="/assets/index.html-BEwHBlkc.js" as="script"><link rel="prefetch" href="/assets/index.html-DZIt3Q5g.js" as="script"><link rel="prefetch" href="/assets/index.html-Dd9JrssL.js" as="script"><link rel="prefetch" href="/assets/index.html-CmtlWOBH.js" as="script"><link rel="prefetch" href="/assets/index.html-CR-9qG2Y.js" as="script"><link rel="prefetch" href="/assets/index.html-CwWDCYUS.js" as="script"><link rel="prefetch" href="/assets/index.html-CptFZpi0.js" as="script"><link rel="prefetch" href="/assets/index.html-p6Y7Jm3n.js" as="script"><link rel="prefetch" href="/assets/index.html-CIen8cvO.js" as="script"><link rel="prefetch" href="/assets/index.html-BKUs44hv.js" as="script"><link rel="prefetch" href="/assets/index.html-D0wSSTgQ.js" as="script"><link rel="prefetch" href="/assets/index.html-DqsCIdcm.js" as="script"><link rel="prefetch" href="/assets/index.html-kUwAIzkD.js" as="script"><link rel="prefetch" href="/assets/index.html-BqgjNdmg.js" as="script"><link rel="prefetch" href="/assets/index.html-DIaDLRqn.js" as="script"><link rel="prefetch" href="/assets/index.html-DhcL23aG.js" as="script"><link rel="prefetch" href="/assets/index.html-Bk9EBjUw.js" as="script"><link rel="prefetch" href="/assets/index.html-C0X-QC5U.js" as="script"><link rel="prefetch" href="/assets/index.html-ZwD6xCF4.js" as="script"><link rel="prefetch" href="/assets/index.html-BdqadbH8.js" as="script"><link rel="prefetch" href="/assets/index.html-D7Uf3Wbw.js" as="script"><link rel="prefetch" href="/assets/index.html-CsuDpoYK.js" as="script"><link rel="prefetch" href="/assets/index.html-Dc2bdBF2.js" as="script"><link rel="prefetch" href="/assets/index.html-BzgkemtD.js" as="script"><link rel="prefetch" href="/assets/index.html-7uHHiaZx.js" as="script"><link rel="prefetch" href="/assets/index.html-TGoZudvZ.js" as="script"><link rel="prefetch" href="/assets/index.html-DbCWijUV.js" as="script"><link rel="prefetch" href="/assets/index.html-DOCRL60a.js" as="script"><link rel="prefetch" href="/assets/index.html-B8qYb7wb.js" as="script"><link rel="prefetch" href="/assets/index.html-CpBdG6tv.js" as="script"><link rel="prefetch" href="/assets/index.html-DdE0h7xo.js" as="script"><link rel="prefetch" href="/assets/index.html-BlsdgZAc.js" as="script"><link rel="prefetch" href="/assets/index.html-Du74cC6X.js" as="script"><link rel="prefetch" href="/assets/index.html-CTp2Oa39.js" as="script"><link rel="prefetch" href="/assets/index.html-Bz73p56D.js" as="script"><link rel="prefetch" href="/assets/index.html-BktjQtFB.js" as="script"><link rel="prefetch" href="/assets/index.html-DPl--Ppt.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-BF52VcER.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CgYxLcm_.js" as="script"><link rel="prefetch" href="/assets/artplayer-CHAGXahu.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-BOVnG7as.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-CbA2In8H.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-Do1ld-lW.js" as="script"><link rel="prefetch" href="/assets/giscus-7BMGhbDA.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-SzV8tJDW.js" as="script">
+    <link rel="preload" href="/assets/style-7DTFFHvh.css" as="style"><link rel="stylesheet" href="/assets/style-7DTFFHvh.css">
+    <link rel="modulepreload" href="/assets/app-Flo2gZk8.js"><link rel="modulepreload" href="/assets/index.html-C2sDDxGY.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
+    <link rel="prefetch" href="/assets/index.html-BhtLl4n3.js" as="script"><link rel="prefetch" href="/assets/index.html-C6yte3a0.js" as="script"><link rel="prefetch" href="/assets/index.html-R-cHHIas.js" as="script"><link rel="prefetch" href="/assets/index.html-CPUAg15t.js" as="script"><link rel="prefetch" href="/assets/index.html-BjdnOCC5.js" as="script"><link rel="prefetch" href="/assets/index.html-7Xyk7CrU.js" as="script"><link rel="prefetch" href="/assets/index.html-BNW3YRR3.js" as="script"><link rel="prefetch" href="/assets/index.html-jClrTNl3.js" as="script"><link rel="prefetch" href="/assets/index.html-tFfBEjXi.js" as="script"><link rel="prefetch" href="/assets/index.html-DgPmeCdQ.js" as="script"><link rel="prefetch" href="/assets/index.html-CxRigd-R.js" as="script"><link rel="prefetch" href="/assets/index.html-BWPjJqfa.js" as="script"><link rel="prefetch" href="/assets/index.html-DzG2EJXJ.js" as="script"><link rel="prefetch" href="/assets/index.html-B45efyIG.js" as="script"><link rel="prefetch" href="/assets/index.html-D_Px6PD2.js" as="script"><link rel="prefetch" href="/assets/index.html-U1Oe9QlK.js" as="script"><link rel="prefetch" href="/assets/index.html-fvB3i9PM.js" as="script"><link rel="prefetch" href="/assets/404.html-mkIobPP0.js" as="script"><link rel="prefetch" href="/assets/index.html-DGqb01LU.js" as="script"><link rel="prefetch" href="/assets/index.html-GZfFX8ok.js" as="script"><link rel="prefetch" href="/assets/index.html-vhaMR1PK.js" as="script"><link rel="prefetch" href="/assets/index.html-CvSEeOlH.js" as="script"><link rel="prefetch" href="/assets/index.html-BmplSMWS.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNwolvq.js" as="script"><link rel="prefetch" href="/assets/index.html-DhSSZBRU.js" as="script"><link rel="prefetch" href="/assets/index.html-DPcGNBru.js" as="script"><link rel="prefetch" href="/assets/index.html-BFJ0kKZP.js" as="script"><link rel="prefetch" href="/assets/index.html-CBW4olfB.js" as="script"><link rel="prefetch" href="/assets/index.html-CiBWk0Bg.js" as="script"><link rel="prefetch" href="/assets/index.html-AFWYFeTY.js" as="script"><link rel="prefetch" href="/assets/index.html-DlrkN0XZ.js" as="script"><link rel="prefetch" href="/assets/index.html-Cb-sPtFS.js" as="script"><link rel="prefetch" href="/assets/index.html-DPF-EyUV.js" as="script"><link rel="prefetch" href="/assets/index.html-AqhAiBBF.js" as="script"><link rel="prefetch" href="/assets/index.html-DLZdHb6J.js" as="script"><link rel="prefetch" href="/assets/index.html-Cpr5viHS.js" as="script"><link rel="prefetch" href="/assets/index.html-BXxGxqK4.js" as="script"><link rel="prefetch" href="/assets/index.html-4asd-b47.js" as="script"><link rel="prefetch" href="/assets/index.html-ZITi3OK2.js" as="script"><link rel="prefetch" href="/assets/index.html-DJMKg_M6.js" as="script"><link rel="prefetch" href="/assets/index.html-Y__KWg8u.js" as="script"><link rel="prefetch" href="/assets/index.html--BIzY7gk.js" as="script"><link rel="prefetch" href="/assets/index.html-BRHXQqdq.js" as="script"><link rel="prefetch" href="/assets/index.html-C_2nkQ6B.js" as="script"><link rel="prefetch" href="/assets/index.html-R9oSKuoP.js" as="script"><link rel="prefetch" href="/assets/index.html-DY-KY6vi.js" as="script"><link rel="prefetch" href="/assets/index.html-BSndmKE7.js" as="script"><link rel="prefetch" href="/assets/index.html-BDmR_g70.js" as="script"><link rel="prefetch" href="/assets/index.html-CpeDyHcd.js" as="script"><link rel="prefetch" href="/assets/index.html-DV9WiiCS.js" as="script"><link rel="prefetch" href="/assets/index.html-DTceWJaH.js" as="script"><link rel="prefetch" href="/assets/index.html-2WOtvPq_.js" as="script"><link rel="prefetch" href="/assets/index.html-DCVozm3V.js" as="script"><link rel="prefetch" href="/assets/index.html-vKhQGG0S.js" as="script"><link rel="prefetch" href="/assets/index.html-BlvUTCvM.js" as="script"><link rel="prefetch" href="/assets/index.html-vIW8aJUJ.js" as="script"><link rel="prefetch" href="/assets/index.html-CTuZCChr.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-S0Hns9UN.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CSFeuThZ.js" as="script"><link rel="prefetch" href="/assets/artplayer-DnixxQIM.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-DaNo29Rn.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-nRkOMaNb.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-DQalTb-T.js" as="script"><link rel="prefetch" href="/assets/giscus-D-fkNSKD.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-GXRgw7eJ.js" as="script">
   </head>
   <body>
     <div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container no-sidebar"><!--[--><header id="navbar" class="vp-navbar"><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><!--[--><a class="route-link vp-brand" href="/"><img class="vp-nav-logo" src="/img/Headshot.jpg" alt><!----><span class="vp-site-name hide-in-pad">HalfSweet&#39;s Blog</span></a><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-center"><!--[--><!----><!--]--><!--[--><nav class="vp-nav-links"><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/posts/" aria-label="文章"><span class="font-icon icon app" style=""></span>文章<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/about/" aria-label="关于"><span class="font-icon icon user" style=""></span>关于<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/friends/" aria-label="友链"><span class="font-icon icon link" style=""></span>友链<!----></a></div></nav><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-end"><!--[--><!----><!--]--><!--[--><!----><div class="nav-item vp-repo"><a class="vp-repo-link" href="https://github.com/HalfSweet/Blog" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><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"></path></svg></a></div><div class="nav-item hide-in-mobile"><button type="button" id="appearance-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" style="display:block;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" style="display:none;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" style="display:none;"><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"></path></svg></button></div><!----><!--]--><!--[--><!----><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar"><!--[--><!----><!--]--><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></li><li><section class="vp-sidebar-group"><p class="vp-sidebar-header"><span class="font-icon icon book" style=""></span><span class="vp-sidebar-title">文章</span><!----></p><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-Clion/" aria-label="使用 Clion 来进行 Air32 的开发"><!---->使用 Clion 来进行 Air32 的开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-MCO/" aria-label="Air32 的 HAL 改造——适配 MCO"><!---->Air32 的 HAL 改造——适配 MCO<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/HelloWorld/" aria-label="HelloWorld"><!---->HelloWorld<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/STC_CoreMark/" aria-label="不服来跑个分?将 CoreMark 移植到 STC 上试试"><!---->不服来跑个分?将 CoreMark 移植到 STC 上试试<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="为什么我对第三代郊狼失望"><!---->为什么我对第三代郊狼失望<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-HighFreq/" aria-label="发挥全部实力!Air32 在 HAL 库环境下运行最高主频"><!---->发挥全部实力!Air32 在 HAL 库环境下运行最高主频<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/embedded_fmtlib/" aria-label="在嵌入式设备上使用fmtlib"><!---->在嵌入式设备上使用fmtlib<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/conda_novelai/" aria-label="基于conda进行手动配置novelAI"><!---->基于conda进行手动配置novelAI<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="对《为什么我对第三代郊狼失望》一文的澄清说明"><!---->对《为什么我对第三代郊狼失望》一文的澄清说明<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Empedded-CI-CD/" aria-label="嵌入式中的 CI/CD"><!---->嵌入式中的 CI/CD<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/MDK6-Dev/" aria-label="更现代的开发方式?使用 MDK6 进行开发"><!---->更现代的开发方式?使用 MDK6 进行开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/SEGGER-RTT/" aria-label="更高效的日志查看方式——使用SEGGER-RTT"><!---->更高效的日志查看方式——使用SEGGER-RTT<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/EpdTraps1/" aria-label="墨水屏的坑——7.5寸墨水屏刷新为何出现条纹"><!---->墨水屏的坑——7.5寸墨水屏刷新为何出现条纹<!----></a></li></ul></section></li></ul><!--[--><!----><!--]--></aside><!--[--><div class="vp-page vp-blog"><div class="blog-page-wrapper"><main id="main-content" class="vp-blog-main"><ul class="vp-category-list"><li class="vp-category vp-category8"><a class="route-link" href="/category/%E5%8D%95%E7%89%87%E6%9C%BA/">单片机<span class="count">7</span></a></li><li class="vp-category vp-category1 active"><a class="route-link" href="/category/posts/">posts<span class="count">3</span></a></li><li class="vp-category vp-category3"><a class="route-link" href="/category/%E7%BD%91%E7%AB%99/">网站<span class="count">1</span></a></li><li class="vp-category vp-category3"><a class="route-link" href="/category/ai/">AI<span class="count">1</span></a></li><li class="vp-category vp-category7"><a class="route-link" href="/category/%E5%A2%A8%E6%B0%B4%E5%B1%8F/">墨水屏<span class="count">1</span></a></li></ul><div id="article-list" class="vp-article-list" role="feed"><div class="vp-article-wrapper"><article class="vp-article-item" vocab="https://schema.org/" typeof="Article"><!--[--><!--]--><!----><a class="route-link" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/"><header class="vp-article-title"><!----><!----><span property="headline">对《为什么我对第三代郊狼失望》一文的澄清说明</span></header></a><div class="vp-article-excerpt"><p>在上文 <a href="/posts/%E4%B8%BA%E4%BB%80%E4%B9%88%E6%88%91%E5%AF%B9%E7%AC%AC%E4%B8%89%E4%BB%A3%E9%83%8A%E7%8B%BC%E5%A4%B1%E6%9C%9B.html" target="_blank">为什么我对第三代郊狼失望</a> 一文中,我对于第三代郊狼的硬件部分进行了一些初步分析,因为没有详细的一些资料,因此在一些地方可能存在一些错误。在昨晚(2024-03-19)郊狼作者找到我,与我群群友进行了一番友好的长时间地交流,也解答了我对设计上的一些疑问。在本文中我们会逐步分析前文中提到的问题。</p>
 </div><hr class="vp-article-hr"><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2024-03-20T06:03:29.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>大约 5 分钟</span><meta property="timeRequired" content="PT5M"></span><span class="page-category-info" aria-label="分类🌈" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg><!--[--><span class="page-category-item category1 clickable" role="navigation">posts</span><!--]--><meta property="articleSection" content="posts"></span><span class="page-tag-info" aria-label="标签🏷" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg><!--[--><span class="page-tag-item tag6 clickable" role="navigation">碎碎念</span><span class="page-tag-item tag3 clickable" role="navigation">郊狼</span><!--]--><meta property="keywords" content="碎碎念,郊狼"></span></div></article></div><div class="vp-article-wrapper"><article class="vp-article-item" vocab="https://schema.org/" typeof="Article"><!--[--><!--]--><!----><a class="route-link" href="/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/"><header class="vp-article-title"><!----><!----><span property="headline">为什么我对第三代郊狼失望</span></header></a><div class="vp-article-excerpt"><p>最近第三代郊狼开始内测了,作为一名电子爱好者,自然不能错过这个机会。于是我以原价 368 元的主机,以及 128 元两个智能按钮的价格,购买了一套第三代郊狼。</p>
 </div><hr class="vp-article-hr"><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2024-03-15T17:59:26.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>大约 8 分钟</span><meta property="timeRequired" content="PT8M"></span><span class="page-category-info" aria-label="分类🌈" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg><!--[--><span class="page-category-item category1 clickable" role="navigation">posts</span><!--]--><meta property="articleSection" content="posts"></span><span class="page-tag-info" aria-label="标签🏷" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg><!--[--><span class="page-tag-item tag6 clickable" role="navigation">碎碎念</span><span class="page-tag-item tag3 clickable" role="navigation">郊狼</span><!--]--><meta property="keywords" content="碎碎念,郊狼"></span></div></article></div><div class="vp-article-wrapper"><article class="vp-article-item" vocab="https://schema.org/" typeof="Article"><!--[--><!--]--><!----><a class="route-link" href="/posts/embedded_fmtlib/"><header class="vp-article-title"><!----><!----><span property="headline">在嵌入式设备上使用fmtlib</span></header></a><div class="vp-article-excerpt"><p>众所周知,在c++20以上的标准已经支持了<code>std::format</code>进行格式化输出,不过显而易见,嵌入式领域想要得到支持显然遥遥无期。但是我们已经厌倦了使用sprintf等方式来格式化字符串,c++的流特性又显得不够优雅,怎么才能用上类似于Python中format这样的方式来格式化并输出想要的字符串呢。</p>
 </div><hr class="vp-article-hr"><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2023-02-03T14:08:57.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>大约 5 分钟</span><meta property="timeRequired" content="PT5M"></span><span class="page-category-info" aria-label="分类🌈" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg><!--[--><span class="page-category-item category1 clickable" role="navigation">posts</span><!--]--><meta property="articleSection" content="posts"></span><span class="page-tag-info" aria-label="标签🏷" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg><!--[--><span class="page-tag-item tag8 clickable" role="navigation">fmtlib</span><span class="page-tag-item tag2 clickable" role="navigation">嵌入式</span><span class="page-tag-item tag8 clickable" role="navigation">ESP8266</span><span class="page-tag-item tag2 clickable" role="navigation">ESP32</span><span class="page-tag-item tag3 clickable" role="navigation">Arduino</span><span class="page-tag-item tag5 clickable" role="navigation">PlatformIO</span><span class="page-tag-item tag0 clickable" role="navigation">ESP-IDF</span><!--]--><meta property="keywords" content="fmtlib,嵌入式,ESP8266,ESP32,Arduino,PlatformIO,ESP-IDF"></span></div></article></div><div class="vp-pagination"></div></div></main><aside class="vp-blog-info-wrapper"><div class="vp-blogger-info" vocab="https://schema.org/" typeof="Person"><div class="vp-blogger" style="cursor:pointer;" aria-label="个人介绍" data-balloon-pos="down" role="link"><img class="vp-blogger-avatar" src="/img/Headshot.jpg" property="image" alt="Blogger Avatar" loading="lazy"><div class="vp-blogger-name" property="name">HalfSweet</div><div class="vp-blogger-description">Try to create some value</div><meta property="url" content="/Catalogue/02.about.html"></div><div class="vp-blog-counts"><a class="route-link vp-blog-count" href="/article/"><div class="count">13</div><div>文章</div></a><a class="route-link vp-blog-count" href="/category/"><div class="count">5</div><div>分类</div></a><a class="route-link vp-blog-count" href="/tag/"><div class="count">28</div><div>标签</div></a><a class="route-link vp-blog-count" href="/timeline/"><div class="count">13</div><div>时间轴</div></a></div><div class="vp-social-medias"><a class="vp-social-media" href="mailto:HalfSweet@HalfSweet.cn" rel="noopener noreferrer" target="_blank" aria-label="Email" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon email-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#1384FF"/><path fill="#fff" d="M270.077 286.233H751.99c32.933 0 59.86 24.855 60.274 55.51l-301.023 157L210.217 341.88c.207-30.723 26.927-55.717 59.86-55.717zm-59.929 115.714-.276 277.756c0 30.931 27.134 56.2 60.205 56.2H751.99c33.14 0 60.274-25.269 60.274-56.2V401.81L518.283 551.492a15.88 15.88 0 0 1-14.43 0L210.148 401.947z"/></svg></a><a class="vp-social-media" href="https://github.com/HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="GitHub" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#171515"/><path fill="#fff" d="M509.423 146.442c-200.317 0-362.756 162.42-362.756 362.8 0 160.266 103.936 296.24 248.109 344.217 18.139 3.327 24.76-7.872 24.76-17.486 0-8.613-.313-31.427-.49-61.702-100.912 21.923-122.205-48.63-122.205-48.63-16.495-41.91-40.28-53.067-40.28-53.067-32.937-22.51 2.492-22.053 2.492-22.053 36.407 2.566 55.568 37.386 55.568 37.386 32.362 55.438 84.907 39.43 105.58 30.143 3.296-23.444 12.667-39.43 23.032-48.498-80.557-9.156-165.246-40.28-165.246-179.297 0-39.604 14.135-71.988 37.342-97.348-3.731-9.178-16.18-46.063 3.556-96.009 0 0 30.46-9.754 99.76 37.19 28.937-8.048 59.97-12.071 90.823-12.211 30.807.14 61.843 4.165 90.822 12.21 69.26-46.944 99.663-37.189 99.663-37.189 19.792 49.946 7.34 86.831 3.61 96.01 23.25 25.359 37.29 57.742 37.29 97.347 0 139.366-84.82 170.033-165.637 179.013 13.026 11.2 24.628 33.342 24.628 67.182 0 48.498-.445 87.627-.445 99.521 0 9.702 6.535 20.988 24.945 17.444 144.03-48.067 247.881-183.95 247.881-344.175 0-200.378-162.442-362.798-362.802-362.798z"/></svg></a><a class="vp-social-media" href="https://twitter.com/_HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="Twitter" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon twitter-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512"/><path fill="#FFF" d="m560 473 186-216h-44L540 445 411 257H262l195 284-195 226h44l171-198 136 198h149zM322 290h68l312 445h-68z"/></svg></a></div></div><div class="vp-blog-infos"><div class="vp-blog-type-switcher"><button type="button" class="vp-blog-type-button"><div class="icon-wrapper active" aria-label="文章" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="分类" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="标签" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="时间轴" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timeline-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timeline icon"><path d="M511.997 70.568c-243.797 0-441.429 197.633-441.429 441.435 0 243.797 197.632 441.429 441.43 441.429S953.431 755.8 953.431 512.002c0-243.796-197.637-441.434-441.435-441.434zm150.158 609.093-15.605 15.61c-8.621 8.615-22.596 8.615-31.215 0L472.197 552.126c-4.95-4.944-4.34-14.888-4.34-24.677V247.14c0-12.19 9.882-22.07 22.07-22.07h22.07c12.19 0 22.07 9.882 22.07 22.07v273.218l128.088 128.088c8.62 8.62 8.62 22.595 0 31.215zm0 0"></path></svg></div></button></div><div class="vp-star-article-wrapper"><div class="title"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg><span class="num">13</span>文章</div><hr><div class="vp-star-article-empty">星标 为空</div></div></div></aside></div></div><!--]--><footer class="vp-footer-wrapper"><div class="vp-footer">今天咕咕被欺负了吗</div><div class="vp-copyright">Copyright © 2024 HalfSweet </div></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div>
-    <script type="module" src="/assets/app-ClwIkahu.js" defer></script>
+    <script type="module" src="/assets/app-Flo2gZk8.js" defer></script>
   </body>
 </html>
diff --git "a/category/\345\215\225\347\211\207\346\234\272/index.html" "b/category/\345\215\225\347\211\207\346\234\272/index.html"
index 0a262ac..f63109c 100644
--- "a/category/\345\215\225\347\211\207\346\234\272/index.html"
+++ "b/category/\345\215\225\347\211\207\346\234\272/index.html"
@@ -29,9 +29,9 @@
       }
     </script>
     <meta property="og:url" content="https://halfsweet.cn/category/%E5%8D%95%E7%89%87%E6%9C%BA/"><meta property="og:site_name" content="HalfSweet's Blog"><meta property="og:title" content="单片机 分类"><meta property="og:type" content="website"><meta property="og:locale" content="zh-CN"><meta property="article:author" content="HalfSweet"><script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","name":"单片机 分类"}</script><title>单片机 分类 | HalfSweet's Blog</title><meta name="description" content="半糖的博客">
-    <link rel="preload" href="/assets/style-BDwnt-CL.css" as="style"><link rel="stylesheet" href="/assets/style-BDwnt-CL.css">
-    <link rel="modulepreload" href="/assets/app-ClwIkahu.js"><link rel="modulepreload" href="/assets/index.html-DZIt3Q5g.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
-    <link rel="prefetch" href="/assets/index.html-BjG6C5xb.js" as="script"><link rel="prefetch" href="/assets/index.html-6gNmrYKw.js" as="script"><link rel="prefetch" href="/assets/index.html-W8DPbcPd.js" as="script"><link rel="prefetch" href="/assets/index.html-75fD8c0W.js" as="script"><link rel="prefetch" href="/assets/index.html-CufQKtZU.js" as="script"><link rel="prefetch" href="/assets/index.html-Bqe7scks.js" as="script"><link rel="prefetch" href="/assets/index.html-B5-KeVPb.js" as="script"><link rel="prefetch" href="/assets/index.html-C7FigsQF.js" as="script"><link rel="prefetch" href="/assets/index.html-DtEE6E7f.js" as="script"><link rel="prefetch" href="/assets/index.html-0oPRY09N.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNCX4dz.js" as="script"><link rel="prefetch" href="/assets/index.html-XtQdJJI8.js" as="script"><link rel="prefetch" href="/assets/index.html-CnJ0E6b5.js" as="script"><link rel="prefetch" href="/assets/index.html-CFhDcrZp.js" as="script"><link rel="prefetch" href="/assets/index.html-Bd1PkxNi.js" as="script"><link rel="prefetch" href="/assets/index.html-DJ-_mZ9n.js" as="script"><link rel="prefetch" href="/assets/index.html-jFzM8lrm.js" as="script"><link rel="prefetch" href="/assets/404.html-VMfaDGRx.js" as="script"><link rel="prefetch" href="/assets/index.html-BaR2aqhq.js" as="script"><link rel="prefetch" href="/assets/index.html-DO2xY2T5.js" as="script"><link rel="prefetch" href="/assets/index.html-BEwHBlkc.js" as="script"><link rel="prefetch" href="/assets/index.html-Dd9JrssL.js" as="script"><link rel="prefetch" href="/assets/index.html-BjPOIJdK.js" as="script"><link rel="prefetch" href="/assets/index.html-CmtlWOBH.js" as="script"><link rel="prefetch" href="/assets/index.html-CR-9qG2Y.js" as="script"><link rel="prefetch" href="/assets/index.html-CwWDCYUS.js" as="script"><link rel="prefetch" href="/assets/index.html-CptFZpi0.js" as="script"><link rel="prefetch" href="/assets/index.html-p6Y7Jm3n.js" as="script"><link rel="prefetch" href="/assets/index.html-CIen8cvO.js" as="script"><link rel="prefetch" href="/assets/index.html-BKUs44hv.js" as="script"><link rel="prefetch" href="/assets/index.html-D0wSSTgQ.js" as="script"><link rel="prefetch" href="/assets/index.html-DqsCIdcm.js" as="script"><link rel="prefetch" href="/assets/index.html-kUwAIzkD.js" as="script"><link rel="prefetch" href="/assets/index.html-BqgjNdmg.js" as="script"><link rel="prefetch" href="/assets/index.html-DIaDLRqn.js" as="script"><link rel="prefetch" href="/assets/index.html-DhcL23aG.js" as="script"><link rel="prefetch" href="/assets/index.html-Bk9EBjUw.js" as="script"><link rel="prefetch" href="/assets/index.html-C0X-QC5U.js" as="script"><link rel="prefetch" href="/assets/index.html-ZwD6xCF4.js" as="script"><link rel="prefetch" href="/assets/index.html-BdqadbH8.js" as="script"><link rel="prefetch" href="/assets/index.html-D7Uf3Wbw.js" as="script"><link rel="prefetch" href="/assets/index.html-CsuDpoYK.js" as="script"><link rel="prefetch" href="/assets/index.html-Dc2bdBF2.js" as="script"><link rel="prefetch" href="/assets/index.html-BzgkemtD.js" as="script"><link rel="prefetch" href="/assets/index.html-7uHHiaZx.js" as="script"><link rel="prefetch" href="/assets/index.html-TGoZudvZ.js" as="script"><link rel="prefetch" href="/assets/index.html-DbCWijUV.js" as="script"><link rel="prefetch" href="/assets/index.html-DOCRL60a.js" as="script"><link rel="prefetch" href="/assets/index.html-B8qYb7wb.js" as="script"><link rel="prefetch" href="/assets/index.html-CpBdG6tv.js" as="script"><link rel="prefetch" href="/assets/index.html-DdE0h7xo.js" as="script"><link rel="prefetch" href="/assets/index.html-BlsdgZAc.js" as="script"><link rel="prefetch" href="/assets/index.html-Du74cC6X.js" as="script"><link rel="prefetch" href="/assets/index.html-CTp2Oa39.js" as="script"><link rel="prefetch" href="/assets/index.html-Bz73p56D.js" as="script"><link rel="prefetch" href="/assets/index.html-BktjQtFB.js" as="script"><link rel="prefetch" href="/assets/index.html-DPl--Ppt.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-BF52VcER.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CgYxLcm_.js" as="script"><link rel="prefetch" href="/assets/artplayer-CHAGXahu.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-BOVnG7as.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-CbA2In8H.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-Do1ld-lW.js" as="script"><link rel="prefetch" href="/assets/giscus-7BMGhbDA.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-SzV8tJDW.js" as="script">
+    <link rel="preload" href="/assets/style-7DTFFHvh.css" as="style"><link rel="stylesheet" href="/assets/style-7DTFFHvh.css">
+    <link rel="modulepreload" href="/assets/app-Flo2gZk8.js"><link rel="modulepreload" href="/assets/index.html-CvSEeOlH.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
+    <link rel="prefetch" href="/assets/index.html-BhtLl4n3.js" as="script"><link rel="prefetch" href="/assets/index.html-C6yte3a0.js" as="script"><link rel="prefetch" href="/assets/index.html-R-cHHIas.js" as="script"><link rel="prefetch" href="/assets/index.html-CPUAg15t.js" as="script"><link rel="prefetch" href="/assets/index.html-BjdnOCC5.js" as="script"><link rel="prefetch" href="/assets/index.html-7Xyk7CrU.js" as="script"><link rel="prefetch" href="/assets/index.html-BNW3YRR3.js" as="script"><link rel="prefetch" href="/assets/index.html-jClrTNl3.js" as="script"><link rel="prefetch" href="/assets/index.html-tFfBEjXi.js" as="script"><link rel="prefetch" href="/assets/index.html-DgPmeCdQ.js" as="script"><link rel="prefetch" href="/assets/index.html-CxRigd-R.js" as="script"><link rel="prefetch" href="/assets/index.html-BWPjJqfa.js" as="script"><link rel="prefetch" href="/assets/index.html-DzG2EJXJ.js" as="script"><link rel="prefetch" href="/assets/index.html-B45efyIG.js" as="script"><link rel="prefetch" href="/assets/index.html-D_Px6PD2.js" as="script"><link rel="prefetch" href="/assets/index.html-U1Oe9QlK.js" as="script"><link rel="prefetch" href="/assets/index.html-fvB3i9PM.js" as="script"><link rel="prefetch" href="/assets/404.html-mkIobPP0.js" as="script"><link rel="prefetch" href="/assets/index.html-DGqb01LU.js" as="script"><link rel="prefetch" href="/assets/index.html-GZfFX8ok.js" as="script"><link rel="prefetch" href="/assets/index.html-vhaMR1PK.js" as="script"><link rel="prefetch" href="/assets/index.html-BmplSMWS.js" as="script"><link rel="prefetch" href="/assets/index.html-C2sDDxGY.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNwolvq.js" as="script"><link rel="prefetch" href="/assets/index.html-DhSSZBRU.js" as="script"><link rel="prefetch" href="/assets/index.html-DPcGNBru.js" as="script"><link rel="prefetch" href="/assets/index.html-BFJ0kKZP.js" as="script"><link rel="prefetch" href="/assets/index.html-CBW4olfB.js" as="script"><link rel="prefetch" href="/assets/index.html-CiBWk0Bg.js" as="script"><link rel="prefetch" href="/assets/index.html-AFWYFeTY.js" as="script"><link rel="prefetch" href="/assets/index.html-DlrkN0XZ.js" as="script"><link rel="prefetch" href="/assets/index.html-Cb-sPtFS.js" as="script"><link rel="prefetch" href="/assets/index.html-DPF-EyUV.js" as="script"><link rel="prefetch" href="/assets/index.html-AqhAiBBF.js" as="script"><link rel="prefetch" href="/assets/index.html-DLZdHb6J.js" as="script"><link rel="prefetch" href="/assets/index.html-Cpr5viHS.js" as="script"><link rel="prefetch" href="/assets/index.html-BXxGxqK4.js" as="script"><link rel="prefetch" href="/assets/index.html-4asd-b47.js" as="script"><link rel="prefetch" href="/assets/index.html-ZITi3OK2.js" as="script"><link rel="prefetch" href="/assets/index.html-DJMKg_M6.js" as="script"><link rel="prefetch" href="/assets/index.html-Y__KWg8u.js" as="script"><link rel="prefetch" href="/assets/index.html--BIzY7gk.js" as="script"><link rel="prefetch" href="/assets/index.html-BRHXQqdq.js" as="script"><link rel="prefetch" href="/assets/index.html-C_2nkQ6B.js" as="script"><link rel="prefetch" href="/assets/index.html-R9oSKuoP.js" as="script"><link rel="prefetch" href="/assets/index.html-DY-KY6vi.js" as="script"><link rel="prefetch" href="/assets/index.html-BSndmKE7.js" as="script"><link rel="prefetch" href="/assets/index.html-BDmR_g70.js" as="script"><link rel="prefetch" href="/assets/index.html-CpeDyHcd.js" as="script"><link rel="prefetch" href="/assets/index.html-DV9WiiCS.js" as="script"><link rel="prefetch" href="/assets/index.html-DTceWJaH.js" as="script"><link rel="prefetch" href="/assets/index.html-2WOtvPq_.js" as="script"><link rel="prefetch" href="/assets/index.html-DCVozm3V.js" as="script"><link rel="prefetch" href="/assets/index.html-vKhQGG0S.js" as="script"><link rel="prefetch" href="/assets/index.html-BlvUTCvM.js" as="script"><link rel="prefetch" href="/assets/index.html-vIW8aJUJ.js" as="script"><link rel="prefetch" href="/assets/index.html-CTuZCChr.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-S0Hns9UN.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CSFeuThZ.js" as="script"><link rel="prefetch" href="/assets/artplayer-DnixxQIM.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-DaNo29Rn.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-nRkOMaNb.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-DQalTb-T.js" as="script"><link rel="prefetch" href="/assets/giscus-D-fkNSKD.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-GXRgw7eJ.js" as="script">
   </head>
   <body>
     <div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container no-sidebar"><!--[--><header id="navbar" class="vp-navbar"><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><!--[--><a class="route-link vp-brand" href="/"><img class="vp-nav-logo" src="/img/Headshot.jpg" alt><!----><span class="vp-site-name hide-in-pad">HalfSweet&#39;s Blog</span></a><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-center"><!--[--><!----><!--]--><!--[--><nav class="vp-nav-links"><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/posts/" aria-label="文章"><span class="font-icon icon app" style=""></span>文章<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/about/" aria-label="关于"><span class="font-icon icon user" style=""></span>关于<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/friends/" aria-label="友链"><span class="font-icon icon link" style=""></span>友链<!----></a></div></nav><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-end"><!--[--><!----><!--]--><!--[--><!----><div class="nav-item vp-repo"><a class="vp-repo-link" href="https://github.com/HalfSweet/Blog" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><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"></path></svg></a></div><div class="nav-item hide-in-mobile"><button type="button" id="appearance-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" style="display:block;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" style="display:none;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" style="display:none;"><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"></path></svg></button></div><!----><!--]--><!--[--><!----><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar"><!--[--><!----><!--]--><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></li><li><section class="vp-sidebar-group"><p class="vp-sidebar-header"><span class="font-icon icon book" style=""></span><span class="vp-sidebar-title">文章</span><!----></p><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-Clion/" aria-label="使用 Clion 来进行 Air32 的开发"><!---->使用 Clion 来进行 Air32 的开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-MCO/" aria-label="Air32 的 HAL 改造——适配 MCO"><!---->Air32 的 HAL 改造——适配 MCO<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/HelloWorld/" aria-label="HelloWorld"><!---->HelloWorld<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/STC_CoreMark/" aria-label="不服来跑个分?将 CoreMark 移植到 STC 上试试"><!---->不服来跑个分?将 CoreMark 移植到 STC 上试试<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="为什么我对第三代郊狼失望"><!---->为什么我对第三代郊狼失望<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-HighFreq/" aria-label="发挥全部实力!Air32 在 HAL 库环境下运行最高主频"><!---->发挥全部实力!Air32 在 HAL 库环境下运行最高主频<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/embedded_fmtlib/" aria-label="在嵌入式设备上使用fmtlib"><!---->在嵌入式设备上使用fmtlib<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/conda_novelai/" aria-label="基于conda进行手动配置novelAI"><!---->基于conda进行手动配置novelAI<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="对《为什么我对第三代郊狼失望》一文的澄清说明"><!---->对《为什么我对第三代郊狼失望》一文的澄清说明<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Empedded-CI-CD/" aria-label="嵌入式中的 CI/CD"><!---->嵌入式中的 CI/CD<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/MDK6-Dev/" aria-label="更现代的开发方式?使用 MDK6 进行开发"><!---->更现代的开发方式?使用 MDK6 进行开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/SEGGER-RTT/" aria-label="更高效的日志查看方式——使用SEGGER-RTT"><!---->更高效的日志查看方式——使用SEGGER-RTT<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/EpdTraps1/" aria-label="墨水屏的坑——7.5寸墨水屏刷新为何出现条纹"><!---->墨水屏的坑——7.5寸墨水屏刷新为何出现条纹<!----></a></li></ul></section></li></ul><!--[--><!----><!--]--></aside><!--[--><div class="vp-page vp-blog"><div class="blog-page-wrapper"><main id="main-content" class="vp-blog-main"><ul class="vp-category-list"><li class="vp-category vp-category8"><a class="route-link" href="/category/%E5%8D%95%E7%89%87%E6%9C%BA/">单片机<span class="count">7</span></a></li><li class="vp-category vp-category1"><a class="route-link" href="/category/posts/">posts<span class="count">3</span></a></li><li class="vp-category vp-category3"><a class="route-link" href="/category/%E7%BD%91%E7%AB%99/">网站<span class="count">1</span></a></li><li class="vp-category vp-category3"><a class="route-link" href="/category/ai/">AI<span class="count">1</span></a></li><li class="vp-category vp-category7"><a class="route-link" href="/category/%E5%A2%A8%E6%B0%B4%E5%B1%8F/">墨水屏<span class="count">1</span></a></li></ul><div id="article-list" class="vp-article-list" role="feed"><div class="vp-article-wrapper"><article class="vp-article-item" vocab="https://schema.org/" typeof="Article"><!--[--><!--]--><!----><a class="route-link" href="/posts/Empedded-CI-CD/"><header class="vp-article-title"><!----><!----><span property="headline">嵌入式中的 CI/CD</span></header></a><div class="vp-article-excerpt"><p>对于传统的嵌入式开发来说,我们一般常用的IDE都是诸如Keil、IAR等。这些IDE在方便了我们的开发的同时,也存在很多问题,例如在之前Keil-MDK5是不能跨平台的,仅限在Windows平台运行,并且它的授权也是一个老大难的问题。这样我们在团队协作的时候往往就会遇到很多问题,无法像是互联网的开发那样有一套完整的CI/CD流程。但是MDK6的更新解决了这个问题,第一它是跨平台的,这样在Windows、Linux以及MacOS上都能运行;并且也支持了很多命令行的操作,避免了繁琐的GUI操作,这样也更有利于自动化脚本的编写。</p>
@@ -43,6 +43,6 @@
 </div><hr class="vp-article-hr"><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2023-05-06T14:48:05.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>大约 3 分钟</span><meta property="timeRequired" content="PT3M"></span><span class="page-category-info" aria-label="分类🌈" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg><!--[--><span class="page-category-item category8 clickable" role="navigation">单片机</span><!--]--><meta property="articleSection" content="单片机"></span><span class="page-tag-info" aria-label="标签🏷" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg><!--[--><span class="page-tag-item tag8 clickable" role="navigation">Air001</span><span class="page-tag-item tag8 clickable" role="navigation">合宙</span><span class="page-tag-item tag0 clickable" role="navigation">日志</span><!--]--><meta property="keywords" content="Air001,合宙,日志"></span></div></article></div><div class="vp-article-wrapper"><article class="vp-article-item" vocab="https://schema.org/" typeof="Article"><!--[--><!--]--><!----><a class="route-link" href="/posts/STC_CoreMark/"><header class="vp-article-title"><!----><!----><span property="headline">不服来跑个分?将 CoreMark 移植到 STC 上试试</span></header></a><div class="vp-article-excerpt"><p>最近维护的 Air001 准备上线了,为了衬托出其强大的性价比,因此我想来做点<s>缺德</s>的事,让我们来和同样以高打性价比的 STC 系列单片机来对比下 CoreMark 的跑分吧,本文将会详细介绍移植过程以及跑分结果。测试的 MCU 为<code>降龙棍 STC32G12K128</code>与<code>打狗棒 STC8H8K64U</code>。</p>
 <p>通用,本文同样适用于 Arm-Cortex M 架构的 MCU。</p>
 </div><hr class="vp-article-hr"><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2023-04-14T17:39:36.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>大约 5 分钟</span><meta property="timeRequired" content="PT5M"></span><span class="page-category-info" aria-label="分类🌈" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg><!--[--><span class="page-category-item category8 clickable" role="navigation">单片机</span><!--]--><meta property="articleSection" content="单片机"></span><span class="page-tag-info" aria-label="标签🏷" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg><!--[--><span class="page-tag-item tag3 clickable" role="navigation">STC32</span><span class="page-tag-item tag8 clickable" role="navigation">STC8</span><span class="page-tag-item tag2 clickable" role="navigation">嵌入式</span><span class="page-tag-item tag2 clickable" role="navigation">CoreMark</span><!--]--><meta property="keywords" content="STC32,STC8,嵌入式,CoreMark"></span></div></article></div><div class="vp-pagination"></div></div></main><aside class="vp-blog-info-wrapper"><div class="vp-blogger-info" vocab="https://schema.org/" typeof="Person"><div class="vp-blogger" style="cursor:pointer;" aria-label="个人介绍" data-balloon-pos="down" role="link"><img class="vp-blogger-avatar" src="/img/Headshot.jpg" property="image" alt="Blogger Avatar" loading="lazy"><div class="vp-blogger-name" property="name">HalfSweet</div><div class="vp-blogger-description">Try to create some value</div><meta property="url" content="/Catalogue/02.about.html"></div><div class="vp-blog-counts"><a class="route-link vp-blog-count" href="/article/"><div class="count">13</div><div>文章</div></a><a class="route-link vp-blog-count" href="/category/"><div class="count">5</div><div>分类</div></a><a class="route-link vp-blog-count" href="/tag/"><div class="count">28</div><div>标签</div></a><a class="route-link vp-blog-count" href="/timeline/"><div class="count">13</div><div>时间轴</div></a></div><div class="vp-social-medias"><a class="vp-social-media" href="mailto:HalfSweet@HalfSweet.cn" rel="noopener noreferrer" target="_blank" aria-label="Email" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon email-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#1384FF"/><path fill="#fff" d="M270.077 286.233H751.99c32.933 0 59.86 24.855 60.274 55.51l-301.023 157L210.217 341.88c.207-30.723 26.927-55.717 59.86-55.717zm-59.929 115.714-.276 277.756c0 30.931 27.134 56.2 60.205 56.2H751.99c33.14 0 60.274-25.269 60.274-56.2V401.81L518.283 551.492a15.88 15.88 0 0 1-14.43 0L210.148 401.947z"/></svg></a><a class="vp-social-media" href="https://github.com/HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="GitHub" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#171515"/><path fill="#fff" d="M509.423 146.442c-200.317 0-362.756 162.42-362.756 362.8 0 160.266 103.936 296.24 248.109 344.217 18.139 3.327 24.76-7.872 24.76-17.486 0-8.613-.313-31.427-.49-61.702-100.912 21.923-122.205-48.63-122.205-48.63-16.495-41.91-40.28-53.067-40.28-53.067-32.937-22.51 2.492-22.053 2.492-22.053 36.407 2.566 55.568 37.386 55.568 37.386 32.362 55.438 84.907 39.43 105.58 30.143 3.296-23.444 12.667-39.43 23.032-48.498-80.557-9.156-165.246-40.28-165.246-179.297 0-39.604 14.135-71.988 37.342-97.348-3.731-9.178-16.18-46.063 3.556-96.009 0 0 30.46-9.754 99.76 37.19 28.937-8.048 59.97-12.071 90.823-12.211 30.807.14 61.843 4.165 90.822 12.21 69.26-46.944 99.663-37.189 99.663-37.189 19.792 49.946 7.34 86.831 3.61 96.01 23.25 25.359 37.29 57.742 37.29 97.347 0 139.366-84.82 170.033-165.637 179.013 13.026 11.2 24.628 33.342 24.628 67.182 0 48.498-.445 87.627-.445 99.521 0 9.702 6.535 20.988 24.945 17.444 144.03-48.067 247.881-183.95 247.881-344.175 0-200.378-162.442-362.798-362.802-362.798z"/></svg></a><a class="vp-social-media" href="https://twitter.com/_HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="Twitter" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon twitter-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512"/><path fill="#FFF" d="m560 473 186-216h-44L540 445 411 257H262l195 284-195 226h44l171-198 136 198h149zM322 290h68l312 445h-68z"/></svg></a></div></div><div class="vp-blog-infos"><div class="vp-blog-type-switcher"><button type="button" class="vp-blog-type-button"><div class="icon-wrapper active" aria-label="文章" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="分类" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="标签" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="时间轴" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timeline-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timeline icon"><path d="M511.997 70.568c-243.797 0-441.429 197.633-441.429 441.435 0 243.797 197.632 441.429 441.43 441.429S953.431 755.8 953.431 512.002c0-243.796-197.637-441.434-441.435-441.434zm150.158 609.093-15.605 15.61c-8.621 8.615-22.596 8.615-31.215 0L472.197 552.126c-4.95-4.944-4.34-14.888-4.34-24.677V247.14c0-12.19 9.882-22.07 22.07-22.07h22.07c12.19 0 22.07 9.882 22.07 22.07v273.218l128.088 128.088c8.62 8.62 8.62 22.595 0 31.215zm0 0"></path></svg></div></button></div><div class="vp-star-article-wrapper"><div class="title"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg><span class="num">13</span>文章</div><hr><div class="vp-star-article-empty">星标 为空</div></div></div></aside></div></div><!--]--><footer class="vp-footer-wrapper"><div class="vp-footer">今天咕咕被欺负了吗</div><div class="vp-copyright">Copyright © 2024 HalfSweet </div></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div>
-    <script type="module" src="/assets/app-ClwIkahu.js" defer></script>
+    <script type="module" src="/assets/app-Flo2gZk8.js" defer></script>
   </body>
 </html>
diff --git "a/category/\345\242\250\346\260\264\345\261\217/index.html" "b/category/\345\242\250\346\260\264\345\261\217/index.html"
index 45ad537..99c7884 100644
--- "a/category/\345\242\250\346\260\264\345\261\217/index.html"
+++ "b/category/\345\242\250\346\260\264\345\261\217/index.html"
@@ -29,9 +29,9 @@
       }
     </script>
     <meta property="og:url" content="https://halfsweet.cn/category/%E5%A2%A8%E6%B0%B4%E5%B1%8F/"><meta property="og:site_name" content="HalfSweet's Blog"><meta property="og:title" content="墨水屏 分类"><meta property="og:type" content="website"><meta property="og:locale" content="zh-CN"><meta property="article:author" content="HalfSweet"><script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","name":"墨水屏 分类"}</script><title>墨水屏 分类 | HalfSweet's Blog</title><meta name="description" content="半糖的博客">
-    <link rel="preload" href="/assets/style-BDwnt-CL.css" as="style"><link rel="stylesheet" href="/assets/style-BDwnt-CL.css">
-    <link rel="modulepreload" href="/assets/app-ClwIkahu.js"><link rel="modulepreload" href="/assets/index.html-CR-9qG2Y.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
-    <link rel="prefetch" href="/assets/index.html-BjG6C5xb.js" as="script"><link rel="prefetch" href="/assets/index.html-6gNmrYKw.js" as="script"><link rel="prefetch" href="/assets/index.html-W8DPbcPd.js" as="script"><link rel="prefetch" href="/assets/index.html-75fD8c0W.js" as="script"><link rel="prefetch" href="/assets/index.html-CufQKtZU.js" as="script"><link rel="prefetch" href="/assets/index.html-Bqe7scks.js" as="script"><link rel="prefetch" href="/assets/index.html-B5-KeVPb.js" as="script"><link rel="prefetch" href="/assets/index.html-C7FigsQF.js" as="script"><link rel="prefetch" href="/assets/index.html-DtEE6E7f.js" as="script"><link rel="prefetch" href="/assets/index.html-0oPRY09N.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNCX4dz.js" as="script"><link rel="prefetch" href="/assets/index.html-XtQdJJI8.js" as="script"><link rel="prefetch" href="/assets/index.html-CnJ0E6b5.js" as="script"><link rel="prefetch" href="/assets/index.html-CFhDcrZp.js" as="script"><link rel="prefetch" href="/assets/index.html-Bd1PkxNi.js" as="script"><link rel="prefetch" href="/assets/index.html-DJ-_mZ9n.js" as="script"><link rel="prefetch" href="/assets/index.html-jFzM8lrm.js" as="script"><link rel="prefetch" href="/assets/404.html-VMfaDGRx.js" as="script"><link rel="prefetch" href="/assets/index.html-BaR2aqhq.js" as="script"><link rel="prefetch" href="/assets/index.html-DO2xY2T5.js" as="script"><link rel="prefetch" href="/assets/index.html-BEwHBlkc.js" as="script"><link rel="prefetch" href="/assets/index.html-DZIt3Q5g.js" as="script"><link rel="prefetch" href="/assets/index.html-Dd9JrssL.js" as="script"><link rel="prefetch" href="/assets/index.html-BjPOIJdK.js" as="script"><link rel="prefetch" href="/assets/index.html-CmtlWOBH.js" as="script"><link rel="prefetch" href="/assets/index.html-CwWDCYUS.js" as="script"><link rel="prefetch" href="/assets/index.html-CptFZpi0.js" as="script"><link rel="prefetch" href="/assets/index.html-p6Y7Jm3n.js" as="script"><link rel="prefetch" href="/assets/index.html-CIen8cvO.js" as="script"><link rel="prefetch" href="/assets/index.html-BKUs44hv.js" as="script"><link rel="prefetch" href="/assets/index.html-D0wSSTgQ.js" as="script"><link rel="prefetch" href="/assets/index.html-DqsCIdcm.js" as="script"><link rel="prefetch" href="/assets/index.html-kUwAIzkD.js" as="script"><link rel="prefetch" href="/assets/index.html-BqgjNdmg.js" as="script"><link rel="prefetch" href="/assets/index.html-DIaDLRqn.js" as="script"><link rel="prefetch" href="/assets/index.html-DhcL23aG.js" as="script"><link rel="prefetch" href="/assets/index.html-Bk9EBjUw.js" as="script"><link rel="prefetch" href="/assets/index.html-C0X-QC5U.js" as="script"><link rel="prefetch" href="/assets/index.html-ZwD6xCF4.js" as="script"><link rel="prefetch" href="/assets/index.html-BdqadbH8.js" as="script"><link rel="prefetch" href="/assets/index.html-D7Uf3Wbw.js" as="script"><link rel="prefetch" href="/assets/index.html-CsuDpoYK.js" as="script"><link rel="prefetch" href="/assets/index.html-Dc2bdBF2.js" as="script"><link rel="prefetch" href="/assets/index.html-BzgkemtD.js" as="script"><link rel="prefetch" href="/assets/index.html-7uHHiaZx.js" as="script"><link rel="prefetch" href="/assets/index.html-TGoZudvZ.js" as="script"><link rel="prefetch" href="/assets/index.html-DbCWijUV.js" as="script"><link rel="prefetch" href="/assets/index.html-DOCRL60a.js" as="script"><link rel="prefetch" href="/assets/index.html-B8qYb7wb.js" as="script"><link rel="prefetch" href="/assets/index.html-CpBdG6tv.js" as="script"><link rel="prefetch" href="/assets/index.html-DdE0h7xo.js" as="script"><link rel="prefetch" href="/assets/index.html-BlsdgZAc.js" as="script"><link rel="prefetch" href="/assets/index.html-Du74cC6X.js" as="script"><link rel="prefetch" href="/assets/index.html-CTp2Oa39.js" as="script"><link rel="prefetch" href="/assets/index.html-Bz73p56D.js" as="script"><link rel="prefetch" href="/assets/index.html-BktjQtFB.js" as="script"><link rel="prefetch" href="/assets/index.html-DPl--Ppt.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-BF52VcER.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CgYxLcm_.js" as="script"><link rel="prefetch" href="/assets/artplayer-CHAGXahu.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-BOVnG7as.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-CbA2In8H.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-Do1ld-lW.js" as="script"><link rel="prefetch" href="/assets/giscus-7BMGhbDA.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-SzV8tJDW.js" as="script">
+    <link rel="preload" href="/assets/style-7DTFFHvh.css" as="style"><link rel="stylesheet" href="/assets/style-7DTFFHvh.css">
+    <link rel="modulepreload" href="/assets/app-Flo2gZk8.js"><link rel="modulepreload" href="/assets/index.html-DhSSZBRU.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
+    <link rel="prefetch" href="/assets/index.html-BhtLl4n3.js" as="script"><link rel="prefetch" href="/assets/index.html-C6yte3a0.js" as="script"><link rel="prefetch" href="/assets/index.html-R-cHHIas.js" as="script"><link rel="prefetch" href="/assets/index.html-CPUAg15t.js" as="script"><link rel="prefetch" href="/assets/index.html-BjdnOCC5.js" as="script"><link rel="prefetch" href="/assets/index.html-7Xyk7CrU.js" as="script"><link rel="prefetch" href="/assets/index.html-BNW3YRR3.js" as="script"><link rel="prefetch" href="/assets/index.html-jClrTNl3.js" as="script"><link rel="prefetch" href="/assets/index.html-tFfBEjXi.js" as="script"><link rel="prefetch" href="/assets/index.html-DgPmeCdQ.js" as="script"><link rel="prefetch" href="/assets/index.html-CxRigd-R.js" as="script"><link rel="prefetch" href="/assets/index.html-BWPjJqfa.js" as="script"><link rel="prefetch" href="/assets/index.html-DzG2EJXJ.js" as="script"><link rel="prefetch" href="/assets/index.html-B45efyIG.js" as="script"><link rel="prefetch" href="/assets/index.html-D_Px6PD2.js" as="script"><link rel="prefetch" href="/assets/index.html-U1Oe9QlK.js" as="script"><link rel="prefetch" href="/assets/index.html-fvB3i9PM.js" as="script"><link rel="prefetch" href="/assets/404.html-mkIobPP0.js" as="script"><link rel="prefetch" href="/assets/index.html-DGqb01LU.js" as="script"><link rel="prefetch" href="/assets/index.html-GZfFX8ok.js" as="script"><link rel="prefetch" href="/assets/index.html-vhaMR1PK.js" as="script"><link rel="prefetch" href="/assets/index.html-CvSEeOlH.js" as="script"><link rel="prefetch" href="/assets/index.html-BmplSMWS.js" as="script"><link rel="prefetch" href="/assets/index.html-C2sDDxGY.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNwolvq.js" as="script"><link rel="prefetch" href="/assets/index.html-DPcGNBru.js" as="script"><link rel="prefetch" href="/assets/index.html-BFJ0kKZP.js" as="script"><link rel="prefetch" href="/assets/index.html-CBW4olfB.js" as="script"><link rel="prefetch" href="/assets/index.html-CiBWk0Bg.js" as="script"><link rel="prefetch" href="/assets/index.html-AFWYFeTY.js" as="script"><link rel="prefetch" href="/assets/index.html-DlrkN0XZ.js" as="script"><link rel="prefetch" href="/assets/index.html-Cb-sPtFS.js" as="script"><link rel="prefetch" href="/assets/index.html-DPF-EyUV.js" as="script"><link rel="prefetch" href="/assets/index.html-AqhAiBBF.js" as="script"><link rel="prefetch" href="/assets/index.html-DLZdHb6J.js" as="script"><link rel="prefetch" href="/assets/index.html-Cpr5viHS.js" as="script"><link rel="prefetch" href="/assets/index.html-BXxGxqK4.js" as="script"><link rel="prefetch" href="/assets/index.html-4asd-b47.js" as="script"><link rel="prefetch" href="/assets/index.html-ZITi3OK2.js" as="script"><link rel="prefetch" href="/assets/index.html-DJMKg_M6.js" as="script"><link rel="prefetch" href="/assets/index.html-Y__KWg8u.js" as="script"><link rel="prefetch" href="/assets/index.html--BIzY7gk.js" as="script"><link rel="prefetch" href="/assets/index.html-BRHXQqdq.js" as="script"><link rel="prefetch" href="/assets/index.html-C_2nkQ6B.js" as="script"><link rel="prefetch" href="/assets/index.html-R9oSKuoP.js" as="script"><link rel="prefetch" href="/assets/index.html-DY-KY6vi.js" as="script"><link rel="prefetch" href="/assets/index.html-BSndmKE7.js" as="script"><link rel="prefetch" href="/assets/index.html-BDmR_g70.js" as="script"><link rel="prefetch" href="/assets/index.html-CpeDyHcd.js" as="script"><link rel="prefetch" href="/assets/index.html-DV9WiiCS.js" as="script"><link rel="prefetch" href="/assets/index.html-DTceWJaH.js" as="script"><link rel="prefetch" href="/assets/index.html-2WOtvPq_.js" as="script"><link rel="prefetch" href="/assets/index.html-DCVozm3V.js" as="script"><link rel="prefetch" href="/assets/index.html-vKhQGG0S.js" as="script"><link rel="prefetch" href="/assets/index.html-BlvUTCvM.js" as="script"><link rel="prefetch" href="/assets/index.html-vIW8aJUJ.js" as="script"><link rel="prefetch" href="/assets/index.html-CTuZCChr.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-S0Hns9UN.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CSFeuThZ.js" as="script"><link rel="prefetch" href="/assets/artplayer-DnixxQIM.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-DaNo29Rn.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-nRkOMaNb.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-DQalTb-T.js" as="script"><link rel="prefetch" href="/assets/giscus-D-fkNSKD.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-GXRgw7eJ.js" as="script">
   </head>
   <body>
     <div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container no-sidebar"><!--[--><header id="navbar" class="vp-navbar"><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><!--[--><a class="route-link vp-brand" href="/"><img class="vp-nav-logo" src="/img/Headshot.jpg" alt><!----><span class="vp-site-name hide-in-pad">HalfSweet&#39;s Blog</span></a><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-center"><!--[--><!----><!--]--><!--[--><nav class="vp-nav-links"><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/posts/" aria-label="文章"><span class="font-icon icon app" style=""></span>文章<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/about/" aria-label="关于"><span class="font-icon icon user" style=""></span>关于<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/friends/" aria-label="友链"><span class="font-icon icon link" style=""></span>友链<!----></a></div></nav><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-end"><!--[--><!----><!--]--><!--[--><!----><div class="nav-item vp-repo"><a class="vp-repo-link" href="https://github.com/HalfSweet/Blog" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><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"></path></svg></a></div><div class="nav-item hide-in-mobile"><button type="button" id="appearance-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" style="display:block;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" style="display:none;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" style="display:none;"><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"></path></svg></button></div><!----><!--]--><!--[--><!----><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar"><!--[--><!----><!--]--><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></li><li><section class="vp-sidebar-group"><p class="vp-sidebar-header"><span class="font-icon icon book" style=""></span><span class="vp-sidebar-title">文章</span><!----></p><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-Clion/" aria-label="使用 Clion 来进行 Air32 的开发"><!---->使用 Clion 来进行 Air32 的开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-MCO/" aria-label="Air32 的 HAL 改造——适配 MCO"><!---->Air32 的 HAL 改造——适配 MCO<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/HelloWorld/" aria-label="HelloWorld"><!---->HelloWorld<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/STC_CoreMark/" aria-label="不服来跑个分?将 CoreMark 移植到 STC 上试试"><!---->不服来跑个分?将 CoreMark 移植到 STC 上试试<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="为什么我对第三代郊狼失望"><!---->为什么我对第三代郊狼失望<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-HighFreq/" aria-label="发挥全部实力!Air32 在 HAL 库环境下运行最高主频"><!---->发挥全部实力!Air32 在 HAL 库环境下运行最高主频<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/embedded_fmtlib/" aria-label="在嵌入式设备上使用fmtlib"><!---->在嵌入式设备上使用fmtlib<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/conda_novelai/" aria-label="基于conda进行手动配置novelAI"><!---->基于conda进行手动配置novelAI<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="对《为什么我对第三代郊狼失望》一文的澄清说明"><!---->对《为什么我对第三代郊狼失望》一文的澄清说明<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Empedded-CI-CD/" aria-label="嵌入式中的 CI/CD"><!---->嵌入式中的 CI/CD<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/MDK6-Dev/" aria-label="更现代的开发方式?使用 MDK6 进行开发"><!---->更现代的开发方式?使用 MDK6 进行开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/SEGGER-RTT/" aria-label="更高效的日志查看方式——使用SEGGER-RTT"><!---->更高效的日志查看方式——使用SEGGER-RTT<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/EpdTraps1/" aria-label="墨水屏的坑——7.5寸墨水屏刷新为何出现条纹"><!---->墨水屏的坑——7.5寸墨水屏刷新为何出现条纹<!----></a></li></ul></section></li></ul><!--[--><!----><!--]--></aside><!--[--><div class="vp-page vp-blog"><div class="blog-page-wrapper"><main id="main-content" class="vp-blog-main"><ul class="vp-category-list"><li class="vp-category vp-category8"><a class="route-link" href="/category/%E5%8D%95%E7%89%87%E6%9C%BA/">单片机<span class="count">7</span></a></li><li class="vp-category vp-category1"><a class="route-link" href="/category/posts/">posts<span class="count">3</span></a></li><li class="vp-category vp-category3"><a class="route-link" href="/category/%E7%BD%91%E7%AB%99/">网站<span class="count">1</span></a></li><li class="vp-category vp-category3"><a class="route-link" href="/category/ai/">AI<span class="count">1</span></a></li><li class="vp-category vp-category7"><a class="route-link" href="/category/%E5%A2%A8%E6%B0%B4%E5%B1%8F/">墨水屏<span class="count">1</span></a></li></ul><div id="article-list" class="vp-article-list" role="feed"><div class="vp-article-wrapper"><article class="vp-article-item" vocab="https://schema.org/" typeof="Article"><!--[--><!--]--><!----><a class="route-link" href="/posts/EpdTraps1/"><header class="vp-article-title"><!----><!----><span property="headline">墨水屏的坑——7.5寸墨水屏刷新为何出现条纹</span></header></a><div class="vp-article-excerpt"><h2>前言</h2>
@@ -39,6 +39,6 @@
 <p></p>
 <p></p>
 <p>其中上面一张图为我自己做的波形,第二张为使用的OTP波形,但是无一例外,都出现了刷新的问题。抱着也许是驱动板出问题了的想法,我重新lay了一次板子,焊接好之后发现问题确实有所改善,但是并不佳。后续在更换过程中发现采用cd32封装的68uH的电感刷新效果会更好一些,但是依旧存在刷新问题,特别是在UI中有竖着的线条的时候,特别影响观感。</p></div><hr class="vp-article-hr"><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2022-11-06T05:30:37.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>大约 7 分钟</span><meta property="timeRequired" content="PT7M"></span><span class="page-category-info" aria-label="分类🌈" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg><!--[--><span class="page-category-item category7 clickable" role="navigation">墨水屏</span><!--]--><meta property="articleSection" content="墨水屏"></span><span class="page-tag-info" aria-label="标签🏷" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg><!--[--><span class="page-tag-item tag7 clickable" role="navigation">墨水屏</span><span class="page-tag-item tag0 clickable" role="navigation">UC8179</span><span class="page-tag-item tag2 clickable" role="navigation">DEPG0750RWU790F30</span><span class="page-tag-item tag4 clickable" role="navigation">遇到的坑</span><!--]--><meta property="keywords" content="墨水屏,UC8179,DEPG0750RWU790F30,遇到的坑"></span></div></article></div><div class="vp-pagination"></div></div></main><aside class="vp-blog-info-wrapper"><div class="vp-blogger-info" vocab="https://schema.org/" typeof="Person"><div class="vp-blogger" style="cursor:pointer;" aria-label="个人介绍" data-balloon-pos="down" role="link"><img class="vp-blogger-avatar" src="/img/Headshot.jpg" property="image" alt="Blogger Avatar" loading="lazy"><div class="vp-blogger-name" property="name">HalfSweet</div><div class="vp-blogger-description">Try to create some value</div><meta property="url" content="/Catalogue/02.about.html"></div><div class="vp-blog-counts"><a class="route-link vp-blog-count" href="/article/"><div class="count">13</div><div>文章</div></a><a class="route-link vp-blog-count" href="/category/"><div class="count">5</div><div>分类</div></a><a class="route-link vp-blog-count" href="/tag/"><div class="count">28</div><div>标签</div></a><a class="route-link vp-blog-count" href="/timeline/"><div class="count">13</div><div>时间轴</div></a></div><div class="vp-social-medias"><a class="vp-social-media" href="mailto:HalfSweet@HalfSweet.cn" rel="noopener noreferrer" target="_blank" aria-label="Email" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon email-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#1384FF"/><path fill="#fff" d="M270.077 286.233H751.99c32.933 0 59.86 24.855 60.274 55.51l-301.023 157L210.217 341.88c.207-30.723 26.927-55.717 59.86-55.717zm-59.929 115.714-.276 277.756c0 30.931 27.134 56.2 60.205 56.2H751.99c33.14 0 60.274-25.269 60.274-56.2V401.81L518.283 551.492a15.88 15.88 0 0 1-14.43 0L210.148 401.947z"/></svg></a><a class="vp-social-media" href="https://github.com/HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="GitHub" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#171515"/><path fill="#fff" d="M509.423 146.442c-200.317 0-362.756 162.42-362.756 362.8 0 160.266 103.936 296.24 248.109 344.217 18.139 3.327 24.76-7.872 24.76-17.486 0-8.613-.313-31.427-.49-61.702-100.912 21.923-122.205-48.63-122.205-48.63-16.495-41.91-40.28-53.067-40.28-53.067-32.937-22.51 2.492-22.053 2.492-22.053 36.407 2.566 55.568 37.386 55.568 37.386 32.362 55.438 84.907 39.43 105.58 30.143 3.296-23.444 12.667-39.43 23.032-48.498-80.557-9.156-165.246-40.28-165.246-179.297 0-39.604 14.135-71.988 37.342-97.348-3.731-9.178-16.18-46.063 3.556-96.009 0 0 30.46-9.754 99.76 37.19 28.937-8.048 59.97-12.071 90.823-12.211 30.807.14 61.843 4.165 90.822 12.21 69.26-46.944 99.663-37.189 99.663-37.189 19.792 49.946 7.34 86.831 3.61 96.01 23.25 25.359 37.29 57.742 37.29 97.347 0 139.366-84.82 170.033-165.637 179.013 13.026 11.2 24.628 33.342 24.628 67.182 0 48.498-.445 87.627-.445 99.521 0 9.702 6.535 20.988 24.945 17.444 144.03-48.067 247.881-183.95 247.881-344.175 0-200.378-162.442-362.798-362.802-362.798z"/></svg></a><a class="vp-social-media" href="https://twitter.com/_HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="Twitter" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon twitter-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512"/><path fill="#FFF" d="m560 473 186-216h-44L540 445 411 257H262l195 284-195 226h44l171-198 136 198h149zM322 290h68l312 445h-68z"/></svg></a></div></div><div class="vp-blog-infos"><div class="vp-blog-type-switcher"><button type="button" class="vp-blog-type-button"><div class="icon-wrapper active" aria-label="文章" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="分类" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="标签" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="时间轴" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timeline-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timeline icon"><path d="M511.997 70.568c-243.797 0-441.429 197.633-441.429 441.435 0 243.797 197.632 441.429 441.43 441.429S953.431 755.8 953.431 512.002c0-243.796-197.637-441.434-441.435-441.434zm150.158 609.093-15.605 15.61c-8.621 8.615-22.596 8.615-31.215 0L472.197 552.126c-4.95-4.944-4.34-14.888-4.34-24.677V247.14c0-12.19 9.882-22.07 22.07-22.07h22.07c12.19 0 22.07 9.882 22.07 22.07v273.218l128.088 128.088c8.62 8.62 8.62 22.595 0 31.215zm0 0"></path></svg></div></button></div><div class="vp-star-article-wrapper"><div class="title"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg><span class="num">13</span>文章</div><hr><div class="vp-star-article-empty">星标 为空</div></div></div></aside></div></div><!--]--><footer class="vp-footer-wrapper"><div class="vp-footer">今天咕咕被欺负了吗</div><div class="vp-copyright">Copyright © 2024 HalfSweet </div></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div>
-    <script type="module" src="/assets/app-ClwIkahu.js" defer></script>
+    <script type="module" src="/assets/app-Flo2gZk8.js" defer></script>
   </body>
 </html>
diff --git "a/category/\347\275\221\347\253\231/index.html" "b/category/\347\275\221\347\253\231/index.html"
index ad32fae..7430b9c 100644
--- "a/category/\347\275\221\347\253\231/index.html"
+++ "b/category/\347\275\221\347\253\231/index.html"
@@ -29,14 +29,14 @@
       }
     </script>
     <meta property="og:url" content="https://halfsweet.cn/category/%E7%BD%91%E7%AB%99/"><meta property="og:site_name" content="HalfSweet's Blog"><meta property="og:title" content="网站 分类"><meta property="og:type" content="website"><meta property="og:locale" content="zh-CN"><meta property="article:author" content="HalfSweet"><script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","name":"网站 分类"}</script><title>网站 分类 | HalfSweet's Blog</title><meta name="description" content="半糖的博客">
-    <link rel="preload" href="/assets/style-BDwnt-CL.css" as="style"><link rel="stylesheet" href="/assets/style-BDwnt-CL.css">
-    <link rel="modulepreload" href="/assets/app-ClwIkahu.js"><link rel="modulepreload" href="/assets/index.html-Dd9JrssL.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
-    <link rel="prefetch" href="/assets/index.html-BjG6C5xb.js" as="script"><link rel="prefetch" href="/assets/index.html-6gNmrYKw.js" as="script"><link rel="prefetch" href="/assets/index.html-W8DPbcPd.js" as="script"><link rel="prefetch" href="/assets/index.html-75fD8c0W.js" as="script"><link rel="prefetch" href="/assets/index.html-CufQKtZU.js" as="script"><link rel="prefetch" href="/assets/index.html-Bqe7scks.js" as="script"><link rel="prefetch" href="/assets/index.html-B5-KeVPb.js" as="script"><link rel="prefetch" href="/assets/index.html-C7FigsQF.js" as="script"><link rel="prefetch" href="/assets/index.html-DtEE6E7f.js" as="script"><link rel="prefetch" href="/assets/index.html-0oPRY09N.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNCX4dz.js" as="script"><link rel="prefetch" href="/assets/index.html-XtQdJJI8.js" as="script"><link rel="prefetch" href="/assets/index.html-CnJ0E6b5.js" as="script"><link rel="prefetch" href="/assets/index.html-CFhDcrZp.js" as="script"><link rel="prefetch" href="/assets/index.html-Bd1PkxNi.js" as="script"><link rel="prefetch" href="/assets/index.html-DJ-_mZ9n.js" as="script"><link rel="prefetch" href="/assets/index.html-jFzM8lrm.js" as="script"><link rel="prefetch" href="/assets/404.html-VMfaDGRx.js" as="script"><link rel="prefetch" href="/assets/index.html-BaR2aqhq.js" as="script"><link rel="prefetch" href="/assets/index.html-DO2xY2T5.js" as="script"><link rel="prefetch" href="/assets/index.html-BEwHBlkc.js" as="script"><link rel="prefetch" href="/assets/index.html-DZIt3Q5g.js" as="script"><link rel="prefetch" href="/assets/index.html-BjPOIJdK.js" as="script"><link rel="prefetch" href="/assets/index.html-CmtlWOBH.js" as="script"><link rel="prefetch" href="/assets/index.html-CR-9qG2Y.js" as="script"><link rel="prefetch" href="/assets/index.html-CwWDCYUS.js" as="script"><link rel="prefetch" href="/assets/index.html-CptFZpi0.js" as="script"><link rel="prefetch" href="/assets/index.html-p6Y7Jm3n.js" as="script"><link rel="prefetch" href="/assets/index.html-CIen8cvO.js" as="script"><link rel="prefetch" href="/assets/index.html-BKUs44hv.js" as="script"><link rel="prefetch" href="/assets/index.html-D0wSSTgQ.js" as="script"><link rel="prefetch" href="/assets/index.html-DqsCIdcm.js" as="script"><link rel="prefetch" href="/assets/index.html-kUwAIzkD.js" as="script"><link rel="prefetch" href="/assets/index.html-BqgjNdmg.js" as="script"><link rel="prefetch" href="/assets/index.html-DIaDLRqn.js" as="script"><link rel="prefetch" href="/assets/index.html-DhcL23aG.js" as="script"><link rel="prefetch" href="/assets/index.html-Bk9EBjUw.js" as="script"><link rel="prefetch" href="/assets/index.html-C0X-QC5U.js" as="script"><link rel="prefetch" href="/assets/index.html-ZwD6xCF4.js" as="script"><link rel="prefetch" href="/assets/index.html-BdqadbH8.js" as="script"><link rel="prefetch" href="/assets/index.html-D7Uf3Wbw.js" as="script"><link rel="prefetch" href="/assets/index.html-CsuDpoYK.js" as="script"><link rel="prefetch" href="/assets/index.html-Dc2bdBF2.js" as="script"><link rel="prefetch" href="/assets/index.html-BzgkemtD.js" as="script"><link rel="prefetch" href="/assets/index.html-7uHHiaZx.js" as="script"><link rel="prefetch" href="/assets/index.html-TGoZudvZ.js" as="script"><link rel="prefetch" href="/assets/index.html-DbCWijUV.js" as="script"><link rel="prefetch" href="/assets/index.html-DOCRL60a.js" as="script"><link rel="prefetch" href="/assets/index.html-B8qYb7wb.js" as="script"><link rel="prefetch" href="/assets/index.html-CpBdG6tv.js" as="script"><link rel="prefetch" href="/assets/index.html-DdE0h7xo.js" as="script"><link rel="prefetch" href="/assets/index.html-BlsdgZAc.js" as="script"><link rel="prefetch" href="/assets/index.html-Du74cC6X.js" as="script"><link rel="prefetch" href="/assets/index.html-CTp2Oa39.js" as="script"><link rel="prefetch" href="/assets/index.html-Bz73p56D.js" as="script"><link rel="prefetch" href="/assets/index.html-BktjQtFB.js" as="script"><link rel="prefetch" href="/assets/index.html-DPl--Ppt.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-BF52VcER.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CgYxLcm_.js" as="script"><link rel="prefetch" href="/assets/artplayer-CHAGXahu.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-BOVnG7as.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-CbA2In8H.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-Do1ld-lW.js" as="script"><link rel="prefetch" href="/assets/giscus-7BMGhbDA.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-SzV8tJDW.js" as="script">
+    <link rel="preload" href="/assets/style-7DTFFHvh.css" as="style"><link rel="stylesheet" href="/assets/style-7DTFFHvh.css">
+    <link rel="modulepreload" href="/assets/app-Flo2gZk8.js"><link rel="modulepreload" href="/assets/index.html-BmplSMWS.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
+    <link rel="prefetch" href="/assets/index.html-BhtLl4n3.js" as="script"><link rel="prefetch" href="/assets/index.html-C6yte3a0.js" as="script"><link rel="prefetch" href="/assets/index.html-R-cHHIas.js" as="script"><link rel="prefetch" href="/assets/index.html-CPUAg15t.js" as="script"><link rel="prefetch" href="/assets/index.html-BjdnOCC5.js" as="script"><link rel="prefetch" href="/assets/index.html-7Xyk7CrU.js" as="script"><link rel="prefetch" href="/assets/index.html-BNW3YRR3.js" as="script"><link rel="prefetch" href="/assets/index.html-jClrTNl3.js" as="script"><link rel="prefetch" href="/assets/index.html-tFfBEjXi.js" as="script"><link rel="prefetch" href="/assets/index.html-DgPmeCdQ.js" as="script"><link rel="prefetch" href="/assets/index.html-CxRigd-R.js" as="script"><link rel="prefetch" href="/assets/index.html-BWPjJqfa.js" as="script"><link rel="prefetch" href="/assets/index.html-DzG2EJXJ.js" as="script"><link rel="prefetch" href="/assets/index.html-B45efyIG.js" as="script"><link rel="prefetch" href="/assets/index.html-D_Px6PD2.js" as="script"><link rel="prefetch" href="/assets/index.html-U1Oe9QlK.js" as="script"><link rel="prefetch" href="/assets/index.html-fvB3i9PM.js" as="script"><link rel="prefetch" href="/assets/404.html-mkIobPP0.js" as="script"><link rel="prefetch" href="/assets/index.html-DGqb01LU.js" as="script"><link rel="prefetch" href="/assets/index.html-GZfFX8ok.js" as="script"><link rel="prefetch" href="/assets/index.html-vhaMR1PK.js" as="script"><link rel="prefetch" href="/assets/index.html-CvSEeOlH.js" as="script"><link rel="prefetch" href="/assets/index.html-C2sDDxGY.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNwolvq.js" as="script"><link rel="prefetch" href="/assets/index.html-DhSSZBRU.js" as="script"><link rel="prefetch" href="/assets/index.html-DPcGNBru.js" as="script"><link rel="prefetch" href="/assets/index.html-BFJ0kKZP.js" as="script"><link rel="prefetch" href="/assets/index.html-CBW4olfB.js" as="script"><link rel="prefetch" href="/assets/index.html-CiBWk0Bg.js" as="script"><link rel="prefetch" href="/assets/index.html-AFWYFeTY.js" as="script"><link rel="prefetch" href="/assets/index.html-DlrkN0XZ.js" as="script"><link rel="prefetch" href="/assets/index.html-Cb-sPtFS.js" as="script"><link rel="prefetch" href="/assets/index.html-DPF-EyUV.js" as="script"><link rel="prefetch" href="/assets/index.html-AqhAiBBF.js" as="script"><link rel="prefetch" href="/assets/index.html-DLZdHb6J.js" as="script"><link rel="prefetch" href="/assets/index.html-Cpr5viHS.js" as="script"><link rel="prefetch" href="/assets/index.html-BXxGxqK4.js" as="script"><link rel="prefetch" href="/assets/index.html-4asd-b47.js" as="script"><link rel="prefetch" href="/assets/index.html-ZITi3OK2.js" as="script"><link rel="prefetch" href="/assets/index.html-DJMKg_M6.js" as="script"><link rel="prefetch" href="/assets/index.html-Y__KWg8u.js" as="script"><link rel="prefetch" href="/assets/index.html--BIzY7gk.js" as="script"><link rel="prefetch" href="/assets/index.html-BRHXQqdq.js" as="script"><link rel="prefetch" href="/assets/index.html-C_2nkQ6B.js" as="script"><link rel="prefetch" href="/assets/index.html-R9oSKuoP.js" as="script"><link rel="prefetch" href="/assets/index.html-DY-KY6vi.js" as="script"><link rel="prefetch" href="/assets/index.html-BSndmKE7.js" as="script"><link rel="prefetch" href="/assets/index.html-BDmR_g70.js" as="script"><link rel="prefetch" href="/assets/index.html-CpeDyHcd.js" as="script"><link rel="prefetch" href="/assets/index.html-DV9WiiCS.js" as="script"><link rel="prefetch" href="/assets/index.html-DTceWJaH.js" as="script"><link rel="prefetch" href="/assets/index.html-2WOtvPq_.js" as="script"><link rel="prefetch" href="/assets/index.html-DCVozm3V.js" as="script"><link rel="prefetch" href="/assets/index.html-vKhQGG0S.js" as="script"><link rel="prefetch" href="/assets/index.html-BlvUTCvM.js" as="script"><link rel="prefetch" href="/assets/index.html-vIW8aJUJ.js" as="script"><link rel="prefetch" href="/assets/index.html-CTuZCChr.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-S0Hns9UN.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CSFeuThZ.js" as="script"><link rel="prefetch" href="/assets/artplayer-DnixxQIM.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-DaNo29Rn.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-nRkOMaNb.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-DQalTb-T.js" as="script"><link rel="prefetch" href="/assets/giscus-D-fkNSKD.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-GXRgw7eJ.js" as="script">
   </head>
   <body>
     <div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container no-sidebar"><!--[--><header id="navbar" class="vp-navbar"><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><!--[--><a class="route-link vp-brand" href="/"><img class="vp-nav-logo" src="/img/Headshot.jpg" alt><!----><span class="vp-site-name hide-in-pad">HalfSweet&#39;s Blog</span></a><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-center"><!--[--><!----><!--]--><!--[--><nav class="vp-nav-links"><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/posts/" aria-label="文章"><span class="font-icon icon app" style=""></span>文章<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/about/" aria-label="关于"><span class="font-icon icon user" style=""></span>关于<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/friends/" aria-label="友链"><span class="font-icon icon link" style=""></span>友链<!----></a></div></nav><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-end"><!--[--><!----><!--]--><!--[--><!----><div class="nav-item vp-repo"><a class="vp-repo-link" href="https://github.com/HalfSweet/Blog" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><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"></path></svg></a></div><div class="nav-item hide-in-mobile"><button type="button" id="appearance-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" style="display:block;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" style="display:none;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" style="display:none;"><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"></path></svg></button></div><!----><!--]--><!--[--><!----><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar"><!--[--><!----><!--]--><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></li><li><section class="vp-sidebar-group"><p class="vp-sidebar-header"><span class="font-icon icon book" style=""></span><span class="vp-sidebar-title">文章</span><!----></p><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-Clion/" aria-label="使用 Clion 来进行 Air32 的开发"><!---->使用 Clion 来进行 Air32 的开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-MCO/" aria-label="Air32 的 HAL 改造——适配 MCO"><!---->Air32 的 HAL 改造——适配 MCO<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/HelloWorld/" aria-label="HelloWorld"><!---->HelloWorld<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/STC_CoreMark/" aria-label="不服来跑个分?将 CoreMark 移植到 STC 上试试"><!---->不服来跑个分?将 CoreMark 移植到 STC 上试试<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="为什么我对第三代郊狼失望"><!---->为什么我对第三代郊狼失望<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-HighFreq/" aria-label="发挥全部实力!Air32 在 HAL 库环境下运行最高主频"><!---->发挥全部实力!Air32 在 HAL 库环境下运行最高主频<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/embedded_fmtlib/" aria-label="在嵌入式设备上使用fmtlib"><!---->在嵌入式设备上使用fmtlib<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/conda_novelai/" aria-label="基于conda进行手动配置novelAI"><!---->基于conda进行手动配置novelAI<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="对《为什么我对第三代郊狼失望》一文的澄清说明"><!---->对《为什么我对第三代郊狼失望》一文的澄清说明<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Empedded-CI-CD/" aria-label="嵌入式中的 CI/CD"><!---->嵌入式中的 CI/CD<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/MDK6-Dev/" aria-label="更现代的开发方式?使用 MDK6 进行开发"><!---->更现代的开发方式?使用 MDK6 进行开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/SEGGER-RTT/" aria-label="更高效的日志查看方式——使用SEGGER-RTT"><!---->更高效的日志查看方式——使用SEGGER-RTT<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/EpdTraps1/" aria-label="墨水屏的坑——7.5寸墨水屏刷新为何出现条纹"><!---->墨水屏的坑——7.5寸墨水屏刷新为何出现条纹<!----></a></li></ul></section></li></ul><!--[--><!----><!--]--></aside><!--[--><div class="vp-page vp-blog"><div class="blog-page-wrapper"><main id="main-content" class="vp-blog-main"><ul class="vp-category-list"><li class="vp-category vp-category8"><a class="route-link" href="/category/%E5%8D%95%E7%89%87%E6%9C%BA/">单片机<span class="count">7</span></a></li><li class="vp-category vp-category1"><a class="route-link" href="/category/posts/">posts<span class="count">3</span></a></li><li class="vp-category vp-category3"><a class="route-link" href="/category/%E7%BD%91%E7%AB%99/">网站<span class="count">1</span></a></li><li class="vp-category vp-category3"><a class="route-link" href="/category/ai/">AI<span class="count">1</span></a></li><li class="vp-category vp-category7"><a class="route-link" href="/category/%E5%A2%A8%E6%B0%B4%E5%B1%8F/">墨水屏<span class="count">1</span></a></li></ul><div id="article-list" class="vp-article-list" role="feed"><div class="vp-article-wrapper"><article class="vp-article-item" vocab="https://schema.org/" typeof="Article"><!--[--><!--]--><!----><a class="route-link" href="/posts/HelloWorld/"><header class="vp-article-title"><!----><!----><span property="headline">HelloWorld</span></header></a><div class="vp-article-excerpt"><p>今天搭建好了属于自己的一个博客站,希望今后能保持记录的习惯,写下自己遇到的坑以及收获。这是博客的一个启程,也是自己的一个新起点。</p>
 <p>Hello, HalfSweet!</p>
 </div><hr class="vp-article-hr"><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2022-10-31T21:25:47.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>小于 1 分钟</span><meta property="timeRequired" content="PT1M"></span><span class="page-category-info" aria-label="分类🌈" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg><!--[--><span class="page-category-item category3 clickable" role="navigation">网站</span><!--]--><meta property="articleSection" content="网站"></span><span class="page-tag-info" aria-label="标签🏷" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg><!--[--><span class="page-tag-item tag5 clickable" role="navigation">HelloWorld</span><!--]--><meta property="keywords" content="HelloWorld"></span></div></article></div><div class="vp-pagination"></div></div></main><aside class="vp-blog-info-wrapper"><div class="vp-blogger-info" vocab="https://schema.org/" typeof="Person"><div class="vp-blogger" style="cursor:pointer;" aria-label="个人介绍" data-balloon-pos="down" role="link"><img class="vp-blogger-avatar" src="/img/Headshot.jpg" property="image" alt="Blogger Avatar" loading="lazy"><div class="vp-blogger-name" property="name">HalfSweet</div><div class="vp-blogger-description">Try to create some value</div><meta property="url" content="/Catalogue/02.about.html"></div><div class="vp-blog-counts"><a class="route-link vp-blog-count" href="/article/"><div class="count">13</div><div>文章</div></a><a class="route-link vp-blog-count" href="/category/"><div class="count">5</div><div>分类</div></a><a class="route-link vp-blog-count" href="/tag/"><div class="count">28</div><div>标签</div></a><a class="route-link vp-blog-count" href="/timeline/"><div class="count">13</div><div>时间轴</div></a></div><div class="vp-social-medias"><a class="vp-social-media" href="mailto:HalfSweet@HalfSweet.cn" rel="noopener noreferrer" target="_blank" aria-label="Email" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon email-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#1384FF"/><path fill="#fff" d="M270.077 286.233H751.99c32.933 0 59.86 24.855 60.274 55.51l-301.023 157L210.217 341.88c.207-30.723 26.927-55.717 59.86-55.717zm-59.929 115.714-.276 277.756c0 30.931 27.134 56.2 60.205 56.2H751.99c33.14 0 60.274-25.269 60.274-56.2V401.81L518.283 551.492a15.88 15.88 0 0 1-14.43 0L210.148 401.947z"/></svg></a><a class="vp-social-media" href="https://github.com/HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="GitHub" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#171515"/><path fill="#fff" d="M509.423 146.442c-200.317 0-362.756 162.42-362.756 362.8 0 160.266 103.936 296.24 248.109 344.217 18.139 3.327 24.76-7.872 24.76-17.486 0-8.613-.313-31.427-.49-61.702-100.912 21.923-122.205-48.63-122.205-48.63-16.495-41.91-40.28-53.067-40.28-53.067-32.937-22.51 2.492-22.053 2.492-22.053 36.407 2.566 55.568 37.386 55.568 37.386 32.362 55.438 84.907 39.43 105.58 30.143 3.296-23.444 12.667-39.43 23.032-48.498-80.557-9.156-165.246-40.28-165.246-179.297 0-39.604 14.135-71.988 37.342-97.348-3.731-9.178-16.18-46.063 3.556-96.009 0 0 30.46-9.754 99.76 37.19 28.937-8.048 59.97-12.071 90.823-12.211 30.807.14 61.843 4.165 90.822 12.21 69.26-46.944 99.663-37.189 99.663-37.189 19.792 49.946 7.34 86.831 3.61 96.01 23.25 25.359 37.29 57.742 37.29 97.347 0 139.366-84.82 170.033-165.637 179.013 13.026 11.2 24.628 33.342 24.628 67.182 0 48.498-.445 87.627-.445 99.521 0 9.702 6.535 20.988 24.945 17.444 144.03-48.067 247.881-183.95 247.881-344.175 0-200.378-162.442-362.798-362.802-362.798z"/></svg></a><a class="vp-social-media" href="https://twitter.com/_HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="Twitter" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon twitter-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512"/><path fill="#FFF" d="m560 473 186-216h-44L540 445 411 257H262l195 284-195 226h44l171-198 136 198h149zM322 290h68l312 445h-68z"/></svg></a></div></div><div class="vp-blog-infos"><div class="vp-blog-type-switcher"><button type="button" class="vp-blog-type-button"><div class="icon-wrapper active" aria-label="文章" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="分类" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="标签" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="时间轴" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timeline-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timeline icon"><path d="M511.997 70.568c-243.797 0-441.429 197.633-441.429 441.435 0 243.797 197.632 441.429 441.43 441.429S953.431 755.8 953.431 512.002c0-243.796-197.637-441.434-441.435-441.434zm150.158 609.093-15.605 15.61c-8.621 8.615-22.596 8.615-31.215 0L472.197 552.126c-4.95-4.944-4.34-14.888-4.34-24.677V247.14c0-12.19 9.882-22.07 22.07-22.07h22.07c12.19 0 22.07 9.882 22.07 22.07v273.218l128.088 128.088c8.62 8.62 8.62 22.595 0 31.215zm0 0"></path></svg></div></button></div><div class="vp-star-article-wrapper"><div class="title"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg><span class="num">13</span>文章</div><hr><div class="vp-star-article-empty">星标 为空</div></div></div></aside></div></div><!--]--><footer class="vp-footer-wrapper"><div class="vp-footer">今天咕咕被欺负了吗</div><div class="vp-copyright">Copyright © 2024 HalfSweet </div></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div>
-    <script type="module" src="/assets/app-ClwIkahu.js" defer></script>
+    <script type="module" src="/assets/app-Flo2gZk8.js" defer></script>
   </body>
 </html>
diff --git a/friends/index.html b/friends/index.html
index 9874962..9a4da75 100644
--- a/friends/index.html
+++ b/friends/index.html
@@ -28,13 +28,13 @@
         document.documentElement.setAttribute("data-theme", "dark");
       }
     </script>
-    <meta property="og:url" content="https://halfsweet.cn/friends/"><meta property="og:site_name" content="HalfSweet's Blog"><meta property="og:title" content="友情链接"><meta property="og:description" content="友情链接 这是一个友链页面,欢迎大家私聊我或者评论留言添加自己的友链,留言的话需要以下内容: 你的名称 你的博客链接 你的一段简介(可选) 你的头像资源文件或者链接(可选)"><meta property="og:type" content="website"><meta property="og:locale" content="zh-CN"><meta property="og:updated_time" content="2024-04-03T13:37:55.000Z"><meta property="article:published_time" content="2022-11-02T00:30:29.000Z"><meta property="article:modified_time" content="2024-04-03T13:37:55.000Z"><script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","name":"友情链接","description":"友情链接 这是一个友链页面,欢迎大家私聊我或者评论留言添加自己的友链,留言的话需要以下内容: 你的名称 你的博客链接 你的一段简介(可选) 你的头像资源文件或者链接(可选)"}</script><title>友情链接 | HalfSweet's Blog</title><meta name="description" content="友情链接 这是一个友链页面,欢迎大家私聊我或者评论留言添加自己的友链,留言的话需要以下内容: 你的名称 你的博客链接 你的一段简介(可选) 你的头像资源文件或者链接(可选)">
-    <link rel="preload" href="/assets/style-BDwnt-CL.css" as="style"><link rel="stylesheet" href="/assets/style-BDwnt-CL.css">
-    <link rel="modulepreload" href="/assets/app-ClwIkahu.js"><link rel="modulepreload" href="/assets/index.html-W8DPbcPd.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
-    <link rel="prefetch" href="/assets/index.html-BjG6C5xb.js" as="script"><link rel="prefetch" href="/assets/index.html-6gNmrYKw.js" as="script"><link rel="prefetch" href="/assets/index.html-75fD8c0W.js" as="script"><link rel="prefetch" href="/assets/index.html-CufQKtZU.js" as="script"><link rel="prefetch" href="/assets/index.html-Bqe7scks.js" as="script"><link rel="prefetch" href="/assets/index.html-B5-KeVPb.js" as="script"><link rel="prefetch" href="/assets/index.html-C7FigsQF.js" as="script"><link rel="prefetch" href="/assets/index.html-DtEE6E7f.js" as="script"><link rel="prefetch" href="/assets/index.html-0oPRY09N.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNCX4dz.js" as="script"><link rel="prefetch" href="/assets/index.html-XtQdJJI8.js" as="script"><link rel="prefetch" href="/assets/index.html-CnJ0E6b5.js" as="script"><link rel="prefetch" href="/assets/index.html-CFhDcrZp.js" as="script"><link rel="prefetch" href="/assets/index.html-Bd1PkxNi.js" as="script"><link rel="prefetch" href="/assets/index.html-DJ-_mZ9n.js" as="script"><link rel="prefetch" href="/assets/index.html-jFzM8lrm.js" as="script"><link rel="prefetch" href="/assets/404.html-VMfaDGRx.js" as="script"><link rel="prefetch" href="/assets/index.html-BaR2aqhq.js" as="script"><link rel="prefetch" href="/assets/index.html-DO2xY2T5.js" as="script"><link rel="prefetch" href="/assets/index.html-BEwHBlkc.js" as="script"><link rel="prefetch" href="/assets/index.html-DZIt3Q5g.js" as="script"><link rel="prefetch" href="/assets/index.html-Dd9JrssL.js" as="script"><link rel="prefetch" href="/assets/index.html-BjPOIJdK.js" as="script"><link rel="prefetch" href="/assets/index.html-CmtlWOBH.js" as="script"><link rel="prefetch" href="/assets/index.html-CR-9qG2Y.js" as="script"><link rel="prefetch" href="/assets/index.html-CwWDCYUS.js" as="script"><link rel="prefetch" href="/assets/index.html-CptFZpi0.js" as="script"><link rel="prefetch" href="/assets/index.html-p6Y7Jm3n.js" as="script"><link rel="prefetch" href="/assets/index.html-CIen8cvO.js" as="script"><link rel="prefetch" href="/assets/index.html-BKUs44hv.js" as="script"><link rel="prefetch" href="/assets/index.html-D0wSSTgQ.js" as="script"><link rel="prefetch" href="/assets/index.html-DqsCIdcm.js" as="script"><link rel="prefetch" href="/assets/index.html-kUwAIzkD.js" as="script"><link rel="prefetch" href="/assets/index.html-BqgjNdmg.js" as="script"><link rel="prefetch" href="/assets/index.html-DIaDLRqn.js" as="script"><link rel="prefetch" href="/assets/index.html-DhcL23aG.js" as="script"><link rel="prefetch" href="/assets/index.html-Bk9EBjUw.js" as="script"><link rel="prefetch" href="/assets/index.html-C0X-QC5U.js" as="script"><link rel="prefetch" href="/assets/index.html-ZwD6xCF4.js" as="script"><link rel="prefetch" href="/assets/index.html-BdqadbH8.js" as="script"><link rel="prefetch" href="/assets/index.html-D7Uf3Wbw.js" as="script"><link rel="prefetch" href="/assets/index.html-CsuDpoYK.js" as="script"><link rel="prefetch" href="/assets/index.html-Dc2bdBF2.js" as="script"><link rel="prefetch" href="/assets/index.html-BzgkemtD.js" as="script"><link rel="prefetch" href="/assets/index.html-7uHHiaZx.js" as="script"><link rel="prefetch" href="/assets/index.html-TGoZudvZ.js" as="script"><link rel="prefetch" href="/assets/index.html-DbCWijUV.js" as="script"><link rel="prefetch" href="/assets/index.html-DOCRL60a.js" as="script"><link rel="prefetch" href="/assets/index.html-B8qYb7wb.js" as="script"><link rel="prefetch" href="/assets/index.html-CpBdG6tv.js" as="script"><link rel="prefetch" href="/assets/index.html-DdE0h7xo.js" as="script"><link rel="prefetch" href="/assets/index.html-BlsdgZAc.js" as="script"><link rel="prefetch" href="/assets/index.html-Du74cC6X.js" as="script"><link rel="prefetch" href="/assets/index.html-CTp2Oa39.js" as="script"><link rel="prefetch" href="/assets/index.html-Bz73p56D.js" as="script"><link rel="prefetch" href="/assets/index.html-BktjQtFB.js" as="script"><link rel="prefetch" href="/assets/index.html-DPl--Ppt.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-BF52VcER.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CgYxLcm_.js" as="script"><link rel="prefetch" href="/assets/artplayer-CHAGXahu.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-BOVnG7as.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-CbA2In8H.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-Do1ld-lW.js" as="script"><link rel="prefetch" href="/assets/giscus-7BMGhbDA.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-SzV8tJDW.js" as="script">
+    <meta property="og:url" content="https://halfsweet.cn/friends/"><meta property="og:site_name" content="HalfSweet's Blog"><meta property="og:title" content="友情链接"><meta property="og:description" content="友情链接 这是一个友链页面,欢迎大家私聊我或者评论留言添加自己的友链,留言的话需要以下内容: 你的名称 你的博客链接 你的一段简介(可选) 你的头像资源文件或者链接(可选)"><meta property="og:type" content="website"><meta property="og:locale" content="zh-CN"><meta property="og:updated_time" content="2024-07-20T16:02:49.000Z"><meta property="article:published_time" content="2022-11-02T00:30:29.000Z"><meta property="article:modified_time" content="2024-07-20T16:02:49.000Z"><script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","name":"友情链接","description":"友情链接 这是一个友链页面,欢迎大家私聊我或者评论留言添加自己的友链,留言的话需要以下内容: 你的名称 你的博客链接 你的一段简介(可选) 你的头像资源文件或者链接(可选)"}</script><title>友情链接 | HalfSweet's Blog</title><meta name="description" content="友情链接 这是一个友链页面,欢迎大家私聊我或者评论留言添加自己的友链,留言的话需要以下内容: 你的名称 你的博客链接 你的一段简介(可选) 你的头像资源文件或者链接(可选)">
+    <link rel="preload" href="/assets/style-7DTFFHvh.css" as="style"><link rel="stylesheet" href="/assets/style-7DTFFHvh.css">
+    <link rel="modulepreload" href="/assets/app-Flo2gZk8.js"><link rel="modulepreload" href="/assets/index.html-R-cHHIas.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
+    <link rel="prefetch" href="/assets/index.html-BhtLl4n3.js" as="script"><link rel="prefetch" href="/assets/index.html-C6yte3a0.js" as="script"><link rel="prefetch" href="/assets/index.html-CPUAg15t.js" as="script"><link rel="prefetch" href="/assets/index.html-BjdnOCC5.js" as="script"><link rel="prefetch" href="/assets/index.html-7Xyk7CrU.js" as="script"><link rel="prefetch" href="/assets/index.html-BNW3YRR3.js" as="script"><link rel="prefetch" href="/assets/index.html-jClrTNl3.js" as="script"><link rel="prefetch" href="/assets/index.html-tFfBEjXi.js" as="script"><link rel="prefetch" href="/assets/index.html-DgPmeCdQ.js" as="script"><link rel="prefetch" href="/assets/index.html-CxRigd-R.js" as="script"><link rel="prefetch" href="/assets/index.html-BWPjJqfa.js" as="script"><link rel="prefetch" href="/assets/index.html-DzG2EJXJ.js" as="script"><link rel="prefetch" href="/assets/index.html-B45efyIG.js" as="script"><link rel="prefetch" href="/assets/index.html-D_Px6PD2.js" as="script"><link rel="prefetch" href="/assets/index.html-U1Oe9QlK.js" as="script"><link rel="prefetch" href="/assets/index.html-fvB3i9PM.js" as="script"><link rel="prefetch" href="/assets/404.html-mkIobPP0.js" as="script"><link rel="prefetch" href="/assets/index.html-DGqb01LU.js" as="script"><link rel="prefetch" href="/assets/index.html-GZfFX8ok.js" as="script"><link rel="prefetch" href="/assets/index.html-vhaMR1PK.js" as="script"><link rel="prefetch" href="/assets/index.html-CvSEeOlH.js" as="script"><link rel="prefetch" href="/assets/index.html-BmplSMWS.js" as="script"><link rel="prefetch" href="/assets/index.html-C2sDDxGY.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNwolvq.js" as="script"><link rel="prefetch" href="/assets/index.html-DhSSZBRU.js" as="script"><link rel="prefetch" href="/assets/index.html-DPcGNBru.js" as="script"><link rel="prefetch" href="/assets/index.html-BFJ0kKZP.js" as="script"><link rel="prefetch" href="/assets/index.html-CBW4olfB.js" as="script"><link rel="prefetch" href="/assets/index.html-CiBWk0Bg.js" as="script"><link rel="prefetch" href="/assets/index.html-AFWYFeTY.js" as="script"><link rel="prefetch" href="/assets/index.html-DlrkN0XZ.js" as="script"><link rel="prefetch" href="/assets/index.html-Cb-sPtFS.js" as="script"><link rel="prefetch" href="/assets/index.html-DPF-EyUV.js" as="script"><link rel="prefetch" href="/assets/index.html-AqhAiBBF.js" as="script"><link rel="prefetch" href="/assets/index.html-DLZdHb6J.js" as="script"><link rel="prefetch" href="/assets/index.html-Cpr5viHS.js" as="script"><link rel="prefetch" href="/assets/index.html-BXxGxqK4.js" as="script"><link rel="prefetch" href="/assets/index.html-4asd-b47.js" as="script"><link rel="prefetch" href="/assets/index.html-ZITi3OK2.js" as="script"><link rel="prefetch" href="/assets/index.html-DJMKg_M6.js" as="script"><link rel="prefetch" href="/assets/index.html-Y__KWg8u.js" as="script"><link rel="prefetch" href="/assets/index.html--BIzY7gk.js" as="script"><link rel="prefetch" href="/assets/index.html-BRHXQqdq.js" as="script"><link rel="prefetch" href="/assets/index.html-C_2nkQ6B.js" as="script"><link rel="prefetch" href="/assets/index.html-R9oSKuoP.js" as="script"><link rel="prefetch" href="/assets/index.html-DY-KY6vi.js" as="script"><link rel="prefetch" href="/assets/index.html-BSndmKE7.js" as="script"><link rel="prefetch" href="/assets/index.html-BDmR_g70.js" as="script"><link rel="prefetch" href="/assets/index.html-CpeDyHcd.js" as="script"><link rel="prefetch" href="/assets/index.html-DV9WiiCS.js" as="script"><link rel="prefetch" href="/assets/index.html-DTceWJaH.js" as="script"><link rel="prefetch" href="/assets/index.html-2WOtvPq_.js" as="script"><link rel="prefetch" href="/assets/index.html-DCVozm3V.js" as="script"><link rel="prefetch" href="/assets/index.html-vKhQGG0S.js" as="script"><link rel="prefetch" href="/assets/index.html-BlvUTCvM.js" as="script"><link rel="prefetch" href="/assets/index.html-vIW8aJUJ.js" as="script"><link rel="prefetch" href="/assets/index.html-CTuZCChr.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-S0Hns9UN.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CSFeuThZ.js" as="script"><link rel="prefetch" href="/assets/artplayer-DnixxQIM.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-DaNo29Rn.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-nRkOMaNb.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-DQalTb-T.js" as="script"><link rel="prefetch" href="/assets/giscus-D-fkNSKD.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-GXRgw7eJ.js" as="script">
   </head>
   <body>
-    <div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container no-sidebar has-toc"><!--[--><header id="navbar" class="vp-navbar"><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><!--[--><a class="route-link vp-brand" href="/"><img class="vp-nav-logo" src="/img/Headshot.jpg" alt><!----><span class="vp-site-name hide-in-pad">HalfSweet&#39;s Blog</span></a><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-center"><!--[--><!----><!--]--><!--[--><nav class="vp-nav-links"><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/posts/" aria-label="文章"><span class="font-icon icon app" style=""></span>文章<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/about/" aria-label="关于"><span class="font-icon icon user" style=""></span>关于<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link active" href="/friends/" aria-label="友链"><span class="font-icon icon link" style=""></span>友链<!----></a></div></nav><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-end"><!--[--><!----><!--]--><!--[--><!----><div class="nav-item vp-repo"><a class="vp-repo-link" href="https://github.com/HalfSweet/Blog" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><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"></path></svg></a></div><div class="nav-item hide-in-mobile"><button type="button" id="appearance-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" style="display:block;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" style="display:none;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" style="display:none;"><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"></path></svg></button></div><!----><!--]--><!--[--><!----><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar"><!--[--><!----><!--]--><ul class="vp-sidebar-links"></ul><!--[--><!----><!--]--></aside><!--[--><main id="main-content" class="vp-page"><!--[--><!--[--><!----><!--]--><!----><nav class="vp-breadcrumb disable"></nav><div class="vp-page-title"><h1><!---->友情链接</h1><div class="page-info"><!----><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2022-11-02T00:30:29.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>大约 1 分钟</span><meta property="timeRequired" content="PT1M"></span><!----><!----></div><hr></div><div class="vp-toc-placeholder"><aside id="toc"><!--[--><!----><!--]--><div class="vp-toc-header">此页内容<button type="button" class="print-button" title="打印"><svg xmlns="http://www.w3.org/2000/svg" class="icon print-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="print icon"><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"></path></svg></button><div class="arrow end"></div></div><div class="vp-toc-wrapper"><ul class="vp-toc-list"><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#友情链接">友情链接</a></li><!----><!--]--></ul><div class="vp-toc-marker" style="top:-1.7rem;"></div></div><!--[--><!----><!--]--></aside></div><!--[--><!----><!--]--><div class="theme-hope-content"><h2 id="友情链接" tabindex="-1"><a class="header-anchor" href="#友情链接"><span>友情链接</span></a></h2><p>这是一个友链页面,欢迎大家私聊我或者评论留言添加自己的友链,留言的话需要以下内容:</p><blockquote><ul><li>你的名称</li><li>你的博客链接</li><li>你的一段简介(可选)</li><li>你的头像资源文件或者链接(可选)</li></ul></blockquote><a class="vp-card" href="https://www.chenxublog.com" target="_blank" style="background:rgba(253, 230, 138, 0.15);"><img class="vp-card-logo" src="https://cravatar.cn/avatar/b431bf781498d1fe47f732913dce394c?s=64&amp;d=identicon&amp;r=g" loading="lazy" no-view><div class="vp-card-content"><div class="vp-card-title">晨旭</div><hr><div class="vp-card-desc">喵喵喵喵喵喵喵喵</div></div></a><a class="vp-card" href="https://blog.lenxy.net/" target="_blank" style="background:rgba(253, 230, 138, 0.15);"><img class="vp-card-logo" src="https://img13.360buyimg.com/ddimg/jfs/t1/172011/22/17602/107398/61421471Eae8931a3/26d7779ad9c8d727.jpg" loading="lazy" no-view><div class="vp-card-content"><div class="vp-card-title">T0kenZero</div><hr><div class="vp-card-desc">一只鸽子咕咕咕</div></div></a><a class="vp-card" href="https://thinkermaker.xyz/" target="_blank" style="background:rgba(253, 230, 138, 0.15);"><img class="vp-card-logo" src="/img/thinkermaker.jpg" loading="lazy" no-view><div class="vp-card-content"><div class="vp-card-title">小三花</div><hr><div class="vp-card-desc">花花最可爱</div></div></a><a class="vp-card" href="http://www.chiploop.net/" target="_blank" style="background:rgba(253, 230, 138, 0.15);"><img class="vp-card-logo" src="https://www.chiploop.net/images/logo.png" loading="lazy" no-view><div class="vp-card-content"><div class="vp-card-title">Chiploop</div><hr><div class="vp-card-desc">Chiploop Tech</div></div></a><a class="vp-card" href="https://fishblog.pages.dev/" target="_blank" style="background:rgba(253, 230, 138, 0.15);"><img class="vp-card-logo" src="https://fishblog.pages.dev/images/logo_white.svg" loading="lazy" no-view><div class="vp-card-content"><div class="vp-card-title">鱼的小站</div><hr><div class="vp-card-desc">鱼的记忆只有七秒,所以要写下来</div></div></a><a class="vp-card" href="https://wuxiproj.mzy7.cn/" target="_blank" style="background:rgba(253, 230, 138, 0.15);"><img class="vp-card-logo" src="https://wuxiproj.mzy7.cn/images/logo.png" loading="lazy" no-view><div class="vp-card-content"><div class="vp-card-title">WuxiProject 乌西</div><hr><div class="vp-card-desc">制作无聊的东西,但不做垃圾</div></div></a><a class="vp-card" href="https://blog.mzy7.cn/" target="_blank" style="background:rgba(253, 230, 138, 0.15);"><img class="vp-card-logo" src="https://blog.mzy7.cn/images/avatar.jpg" loading="lazy" no-view><div class="vp-card-content"><div class="vp-card-title">云上小筑</div><hr><div class="vp-card-desc">我 24岁,是学生</div></div></a><a class="vp-card" href="https://xyn.ltd/" target="_blank" style="background:rgba(253, 230, 138, 0.15);"><img class="vp-card-logo" src="/img/xyn.ltd.jpg" loading="lazy" no-view><div class="vp-card-content"><div class="vp-card-title">向阳</div><hr><div class="vp-card-desc">甜甜哒</div></div></a><a class="vp-card" href="https://blog.lss233.com" target="_blank" style="background:rgba(253, 230, 138, 0.15);"><img class="vp-card-logo" src="https://blog-1251229268.cos-website.ap-shanghai.myqcloud.com/kblog/content/images/2021/02/20160725222959_JGMRc.thumb.700_0-1.jpeg" loading="lazy" no-view><div class="vp-card-content"><div class="vp-card-title">Lss233</div><hr><div class="vp-card-desc">Everything is possible by code.</div></div></a></div><!--[--><!----><!--]--><footer class="page-meta"><div class="meta-item edit-link"><a href="https://github.com/HalfSweet/Blog/edit/main/src/Catalogue/friends.md" rel="noopener noreferrer" target="_blank" aria-label="在 GitHub 上编辑此页" class="nav-link label"><!--[--><svg xmlns="http://www.w3.org/2000/svg" class="icon edit-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="edit icon"><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"></path><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"></path></svg><!--]-->在 GitHub 上编辑此页<span><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"><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"></path><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"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!----></a></div><div class="meta-item git-info"><div class="update-time"><span class="label">上次编辑于: </span><!----></div><div class="contributors"><span class="label">贡献者: </span><!--[--><!--[--><span class="contributor" title="email: halfsweet@halfsweet.cn">HalfSweet</span><!--]--><!--]--></div></div></footer><!----><div id="vp-comment" class="giscus-wrapper input-top" style="display:block;"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" preserveAspectRatio="xMidYMid" viewBox="0 0 100 100"><circle cx="28" cy="75" r="11" fill="currentColor"><animate attributeName="fill-opacity" begin="0s" dur="1s" keyTimes="0;0.2;1" repeatCount="indefinite" values="0;1;1"></animate></circle><path fill="none" stroke="#88baf0" stroke-width="10" d="M28 47a28 28 0 0 1 28 28"><animate attributeName="stroke-opacity" begin="0.1s" dur="1s" keyTimes="0;0.2;1" repeatCount="indefinite" values="0;1;1"></animate></path><path fill="none" stroke="#88baf0" stroke-width="10" d="M28 25a50 50 0 0 1 50 50"><animate attributeName="stroke-opacity" begin="0.2s" dur="1s" keyTimes="0;0.2;1" repeatCount="indefinite" values="0;1;1"></animate></path></svg></div><!--[--><!----><!--]--><!--]--></main><!--]--><footer class="vp-footer-wrapper"><div class="vp-footer">今天咕咕被欺负了吗</div><!----></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div>
-    <script type="module" src="/assets/app-ClwIkahu.js" defer></script>
+    <div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container no-sidebar has-toc"><!--[--><header id="navbar" class="vp-navbar"><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><!--[--><a class="route-link vp-brand" href="/"><img class="vp-nav-logo" src="/img/Headshot.jpg" alt><!----><span class="vp-site-name hide-in-pad">HalfSweet&#39;s Blog</span></a><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-center"><!--[--><!----><!--]--><!--[--><nav class="vp-nav-links"><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/posts/" aria-label="文章"><span class="font-icon icon app" style=""></span>文章<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/about/" aria-label="关于"><span class="font-icon icon user" style=""></span>关于<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link active" href="/friends/" aria-label="友链"><span class="font-icon icon link" style=""></span>友链<!----></a></div></nav><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-end"><!--[--><!----><!--]--><!--[--><!----><div class="nav-item vp-repo"><a class="vp-repo-link" href="https://github.com/HalfSweet/Blog" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><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"></path></svg></a></div><div class="nav-item hide-in-mobile"><button type="button" id="appearance-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" style="display:block;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" style="display:none;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" style="display:none;"><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"></path></svg></button></div><!----><!--]--><!--[--><!----><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar"><!--[--><!----><!--]--><ul class="vp-sidebar-links"></ul><!--[--><!----><!--]--></aside><!--[--><main id="main-content" class="vp-page"><!--[--><!--[--><!----><!--]--><!----><nav class="vp-breadcrumb disable"></nav><div class="vp-page-title"><h1><!---->友情链接</h1><div class="page-info"><!----><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2022-11-02T00:30:29.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>大约 1 分钟</span><meta property="timeRequired" content="PT1M"></span><!----><!----></div><hr></div><div class="vp-toc-placeholder"><aside id="toc"><!--[--><!----><!--]--><div class="vp-toc-header">此页内容<button type="button" class="print-button" title="打印"><svg xmlns="http://www.w3.org/2000/svg" class="icon print-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="print icon"><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"></path></svg></button><div class="arrow end"></div></div><div class="vp-toc-wrapper"><ul class="vp-toc-list"><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#友情链接">友情链接</a></li><!----><!--]--></ul><div class="vp-toc-marker" style="top:-1.7rem;"></div></div><!--[--><!----><!--]--></aside></div><!--[--><!----><!--]--><div class="theme-hope-content"><h2 id="友情链接" tabindex="-1"><a class="header-anchor" href="#友情链接"><span>友情链接</span></a></h2><p>这是一个友链页面,欢迎大家私聊我或者评论留言添加自己的友链,留言的话需要以下内容:</p><blockquote><ul><li>你的名称</li><li>你的博客链接</li><li>你的一段简介(可选)</li><li>你的头像资源文件或者链接(可选)</li></ul></blockquote><a class="vp-card" href="https://www.chenxublog.com" target="_blank" style="background:rgba(253, 230, 138, 0.15);"><img class="vp-card-logo" src="https://cravatar.cn/avatar/b431bf781498d1fe47f732913dce394c?s=64&amp;d=identicon&amp;r=g" loading="lazy" no-view><div class="vp-card-content"><div class="vp-card-title">晨旭</div><hr><div class="vp-card-desc">喵喵喵喵喵喵喵喵</div></div></a><a class="vp-card" href="https://blog.lenxy.net/" target="_blank" style="background:rgba(253, 230, 138, 0.15);"><img class="vp-card-logo" src="https://img13.360buyimg.com/ddimg/jfs/t1/172011/22/17602/107398/61421471Eae8931a3/26d7779ad9c8d727.jpg" loading="lazy" no-view><div class="vp-card-content"><div class="vp-card-title">T0kenZero</div><hr><div class="vp-card-desc">一只鸽子咕咕咕</div></div></a><a class="vp-card" href="https://thinkermaker.xyz/" target="_blank" style="background:rgba(253, 230, 138, 0.15);"><img class="vp-card-logo" src="/img/thinkermaker.jpg" loading="lazy" no-view><div class="vp-card-content"><div class="vp-card-title">小三花</div><hr><div class="vp-card-desc">花花最可爱</div></div></a><a class="vp-card" href="http://www.chiploop.net/" target="_blank" style="background:rgba(253, 230, 138, 0.15);"><img class="vp-card-logo" src="https://www.chiploop.net/images/logo.png" loading="lazy" no-view><div class="vp-card-content"><div class="vp-card-title">Chiploop</div><hr><div class="vp-card-desc">Chiploop Tech</div></div></a><a class="vp-card" href="https://fishblog.pages.dev/" target="_blank" style="background:rgba(253, 230, 138, 0.15);"><img class="vp-card-logo" src="https://fishblog.pages.dev/images/logo_white.svg" loading="lazy" no-view><div class="vp-card-content"><div class="vp-card-title">鱼的小站</div><hr><div class="vp-card-desc">鱼的记忆只有七秒,所以要写下来</div></div></a><a class="vp-card" href="https://wuxiproj.mzy7.cn/" target="_blank" style="background:rgba(253, 230, 138, 0.15);"><img class="vp-card-logo" src="https://wuxiproj.mzy7.cn/images/logo.png" loading="lazy" no-view><div class="vp-card-content"><div class="vp-card-title">WuxiProject 乌西</div><hr><div class="vp-card-desc">制作无聊的东西,但不做垃圾</div></div></a><a class="vp-card" href="https://blog.mzy7.cn/" target="_blank" style="background:rgba(253, 230, 138, 0.15);"><img class="vp-card-logo" src="https://blog.mzy7.cn/images/avatar.jpg" loading="lazy" no-view><div class="vp-card-content"><div class="vp-card-title">云上小筑</div><hr><div class="vp-card-desc">我 24岁,是学生</div></div></a><a class="vp-card" href="https://xyn.ltd/" target="_blank" style="background:rgba(253, 230, 138, 0.15);"><img class="vp-card-logo" src="/img/xyn.ltd.jpg" loading="lazy" no-view><div class="vp-card-content"><div class="vp-card-title">向阳</div><hr><div class="vp-card-desc">甜甜哒</div></div></a><a class="vp-card" href="https://blog.lss233.com" target="_blank" style="background:rgba(253, 230, 138, 0.15);"><img class="vp-card-logo" src="https://blog-1251229268.cos-website.ap-shanghai.myqcloud.com/kblog/content/images/2021/02/20160725222959_JGMRc.thumb.700_0-1.jpeg" loading="lazy" no-view><div class="vp-card-content"><div class="vp-card-title">Lss233</div><hr><div class="vp-card-desc">Everything is possible by code.</div></div></a><a class="vp-card" href="https://canmi21.github.io/" target="_blank" style="background:rgba(253, 230, 138, 0.15);"><img class="vp-card-logo" src="https://raw.githubusercontent.com/Canmi21/Canmi21.github.io/main/img/Canmi.png" loading="lazy" no-view><div class="vp-card-content"><div class="vp-card-title">Canmi</div><hr><div class="vp-card-desc">喵喵本喵</div></div></a></div><!--[--><!----><!--]--><footer class="page-meta"><div class="meta-item edit-link"><a href="https://github.com/HalfSweet/Blog/edit/main/src/Catalogue/friends.md" rel="noopener noreferrer" target="_blank" aria-label="在 GitHub 上编辑此页" class="nav-link label"><!--[--><svg xmlns="http://www.w3.org/2000/svg" class="icon edit-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="edit icon"><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"></path><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"></path></svg><!--]-->在 GitHub 上编辑此页<span><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"><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"></path><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"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!----></a></div><div class="meta-item git-info"><div class="update-time"><span class="label">上次编辑于: </span><!----></div><div class="contributors"><span class="label">贡献者: </span><!--[--><!--[--><span class="contributor" title="email: halfsweet@halfsweet.cn">HalfSweet</span><!--]--><!--]--></div></div></footer><!----><div id="vp-comment" class="giscus-wrapper input-top" style="display:block;"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" preserveAspectRatio="xMidYMid" viewBox="0 0 100 100"><circle cx="28" cy="75" r="11" fill="currentColor"><animate attributeName="fill-opacity" begin="0s" dur="1s" keyTimes="0;0.2;1" repeatCount="indefinite" values="0;1;1"></animate></circle><path fill="none" stroke="#88baf0" stroke-width="10" d="M28 47a28 28 0 0 1 28 28"><animate attributeName="stroke-opacity" begin="0.1s" dur="1s" keyTimes="0;0.2;1" repeatCount="indefinite" values="0;1;1"></animate></path><path fill="none" stroke="#88baf0" stroke-width="10" d="M28 25a50 50 0 0 1 50 50"><animate attributeName="stroke-opacity" begin="0.2s" dur="1s" keyTimes="0;0.2;1" repeatCount="indefinite" values="0;1;1"></animate></path></svg></div><!--[--><!----><!--]--><!--]--></main><!--]--><footer class="vp-footer-wrapper"><div class="vp-footer">今天咕咕被欺负了吗</div><!----></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div>
+    <script type="module" src="/assets/app-Flo2gZk8.js" defer></script>
   </body>
 </html>
diff --git a/index.html b/index.html
index e354501..b679230 100644
--- a/index.html
+++ b/index.html
@@ -29,9 +29,9 @@
       }
     </script>
     <meta property="og:url" content="https://halfsweet.cn/"><meta property="og:site_name" content="HalfSweet's Blog"><meta property="og:title" content="HalfSweet's Blog"><meta property="og:type" content="website"><meta property="og:locale" content="zh-CN"><meta property="og:updated_time" content="2023-08-19T04:37:32.000Z"><meta property="article:author" content="HalfSweet"><meta property="article:modified_time" content="2023-08-19T04:37:32.000Z"><script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","name":"HalfSweet's Blog"}</script><title>HalfSweet's Blog | HalfSweet's Blog</title><meta name="description" content="半糖的博客">
-    <link rel="preload" href="/assets/style-BDwnt-CL.css" as="style"><link rel="stylesheet" href="/assets/style-BDwnt-CL.css">
-    <link rel="modulepreload" href="/assets/app-ClwIkahu.js"><link rel="modulepreload" href="/assets/index.html-BjG6C5xb.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
-    <link rel="prefetch" href="/assets/index.html-6gNmrYKw.js" as="script"><link rel="prefetch" href="/assets/index.html-W8DPbcPd.js" as="script"><link rel="prefetch" href="/assets/index.html-75fD8c0W.js" as="script"><link rel="prefetch" href="/assets/index.html-CufQKtZU.js" as="script"><link rel="prefetch" href="/assets/index.html-Bqe7scks.js" as="script"><link rel="prefetch" href="/assets/index.html-B5-KeVPb.js" as="script"><link rel="prefetch" href="/assets/index.html-C7FigsQF.js" as="script"><link rel="prefetch" href="/assets/index.html-DtEE6E7f.js" as="script"><link rel="prefetch" href="/assets/index.html-0oPRY09N.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNCX4dz.js" as="script"><link rel="prefetch" href="/assets/index.html-XtQdJJI8.js" as="script"><link rel="prefetch" href="/assets/index.html-CnJ0E6b5.js" as="script"><link rel="prefetch" href="/assets/index.html-CFhDcrZp.js" as="script"><link rel="prefetch" href="/assets/index.html-Bd1PkxNi.js" as="script"><link rel="prefetch" href="/assets/index.html-DJ-_mZ9n.js" as="script"><link rel="prefetch" href="/assets/index.html-jFzM8lrm.js" as="script"><link rel="prefetch" href="/assets/404.html-VMfaDGRx.js" as="script"><link rel="prefetch" href="/assets/index.html-BaR2aqhq.js" as="script"><link rel="prefetch" href="/assets/index.html-DO2xY2T5.js" as="script"><link rel="prefetch" href="/assets/index.html-BEwHBlkc.js" as="script"><link rel="prefetch" href="/assets/index.html-DZIt3Q5g.js" as="script"><link rel="prefetch" href="/assets/index.html-Dd9JrssL.js" as="script"><link rel="prefetch" href="/assets/index.html-BjPOIJdK.js" as="script"><link rel="prefetch" href="/assets/index.html-CmtlWOBH.js" as="script"><link rel="prefetch" href="/assets/index.html-CR-9qG2Y.js" as="script"><link rel="prefetch" href="/assets/index.html-CwWDCYUS.js" as="script"><link rel="prefetch" href="/assets/index.html-CptFZpi0.js" as="script"><link rel="prefetch" href="/assets/index.html-p6Y7Jm3n.js" as="script"><link rel="prefetch" href="/assets/index.html-CIen8cvO.js" as="script"><link rel="prefetch" href="/assets/index.html-BKUs44hv.js" as="script"><link rel="prefetch" href="/assets/index.html-D0wSSTgQ.js" as="script"><link rel="prefetch" href="/assets/index.html-DqsCIdcm.js" as="script"><link rel="prefetch" href="/assets/index.html-kUwAIzkD.js" as="script"><link rel="prefetch" href="/assets/index.html-BqgjNdmg.js" as="script"><link rel="prefetch" href="/assets/index.html-DIaDLRqn.js" as="script"><link rel="prefetch" href="/assets/index.html-DhcL23aG.js" as="script"><link rel="prefetch" href="/assets/index.html-Bk9EBjUw.js" as="script"><link rel="prefetch" href="/assets/index.html-C0X-QC5U.js" as="script"><link rel="prefetch" href="/assets/index.html-ZwD6xCF4.js" as="script"><link rel="prefetch" href="/assets/index.html-BdqadbH8.js" as="script"><link rel="prefetch" href="/assets/index.html-D7Uf3Wbw.js" as="script"><link rel="prefetch" href="/assets/index.html-CsuDpoYK.js" as="script"><link rel="prefetch" href="/assets/index.html-Dc2bdBF2.js" as="script"><link rel="prefetch" href="/assets/index.html-BzgkemtD.js" as="script"><link rel="prefetch" href="/assets/index.html-7uHHiaZx.js" as="script"><link rel="prefetch" href="/assets/index.html-TGoZudvZ.js" as="script"><link rel="prefetch" href="/assets/index.html-DbCWijUV.js" as="script"><link rel="prefetch" href="/assets/index.html-DOCRL60a.js" as="script"><link rel="prefetch" href="/assets/index.html-B8qYb7wb.js" as="script"><link rel="prefetch" href="/assets/index.html-CpBdG6tv.js" as="script"><link rel="prefetch" href="/assets/index.html-DdE0h7xo.js" as="script"><link rel="prefetch" href="/assets/index.html-BlsdgZAc.js" as="script"><link rel="prefetch" href="/assets/index.html-Du74cC6X.js" as="script"><link rel="prefetch" href="/assets/index.html-CTp2Oa39.js" as="script"><link rel="prefetch" href="/assets/index.html-Bz73p56D.js" as="script"><link rel="prefetch" href="/assets/index.html-BktjQtFB.js" as="script"><link rel="prefetch" href="/assets/index.html-DPl--Ppt.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-BF52VcER.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CgYxLcm_.js" as="script"><link rel="prefetch" href="/assets/artplayer-CHAGXahu.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-BOVnG7as.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-CbA2In8H.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-Do1ld-lW.js" as="script"><link rel="prefetch" href="/assets/giscus-7BMGhbDA.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-SzV8tJDW.js" as="script">
+    <link rel="preload" href="/assets/style-7DTFFHvh.css" as="style"><link rel="stylesheet" href="/assets/style-7DTFFHvh.css">
+    <link rel="modulepreload" href="/assets/app-Flo2gZk8.js"><link rel="modulepreload" href="/assets/index.html-BhtLl4n3.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
+    <link rel="prefetch" href="/assets/index.html-C6yte3a0.js" as="script"><link rel="prefetch" href="/assets/index.html-R-cHHIas.js" as="script"><link rel="prefetch" href="/assets/index.html-CPUAg15t.js" as="script"><link rel="prefetch" href="/assets/index.html-BjdnOCC5.js" as="script"><link rel="prefetch" href="/assets/index.html-7Xyk7CrU.js" as="script"><link rel="prefetch" href="/assets/index.html-BNW3YRR3.js" as="script"><link rel="prefetch" href="/assets/index.html-jClrTNl3.js" as="script"><link rel="prefetch" href="/assets/index.html-tFfBEjXi.js" as="script"><link rel="prefetch" href="/assets/index.html-DgPmeCdQ.js" as="script"><link rel="prefetch" href="/assets/index.html-CxRigd-R.js" as="script"><link rel="prefetch" href="/assets/index.html-BWPjJqfa.js" as="script"><link rel="prefetch" href="/assets/index.html-DzG2EJXJ.js" as="script"><link rel="prefetch" href="/assets/index.html-B45efyIG.js" as="script"><link rel="prefetch" href="/assets/index.html-D_Px6PD2.js" as="script"><link rel="prefetch" href="/assets/index.html-U1Oe9QlK.js" as="script"><link rel="prefetch" href="/assets/index.html-fvB3i9PM.js" as="script"><link rel="prefetch" href="/assets/404.html-mkIobPP0.js" as="script"><link rel="prefetch" href="/assets/index.html-DGqb01LU.js" as="script"><link rel="prefetch" href="/assets/index.html-GZfFX8ok.js" as="script"><link rel="prefetch" href="/assets/index.html-vhaMR1PK.js" as="script"><link rel="prefetch" href="/assets/index.html-CvSEeOlH.js" as="script"><link rel="prefetch" href="/assets/index.html-BmplSMWS.js" as="script"><link rel="prefetch" href="/assets/index.html-C2sDDxGY.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNwolvq.js" as="script"><link rel="prefetch" href="/assets/index.html-DhSSZBRU.js" as="script"><link rel="prefetch" href="/assets/index.html-DPcGNBru.js" as="script"><link rel="prefetch" href="/assets/index.html-BFJ0kKZP.js" as="script"><link rel="prefetch" href="/assets/index.html-CBW4olfB.js" as="script"><link rel="prefetch" href="/assets/index.html-CiBWk0Bg.js" as="script"><link rel="prefetch" href="/assets/index.html-AFWYFeTY.js" as="script"><link rel="prefetch" href="/assets/index.html-DlrkN0XZ.js" as="script"><link rel="prefetch" href="/assets/index.html-Cb-sPtFS.js" as="script"><link rel="prefetch" href="/assets/index.html-DPF-EyUV.js" as="script"><link rel="prefetch" href="/assets/index.html-AqhAiBBF.js" as="script"><link rel="prefetch" href="/assets/index.html-DLZdHb6J.js" as="script"><link rel="prefetch" href="/assets/index.html-Cpr5viHS.js" as="script"><link rel="prefetch" href="/assets/index.html-BXxGxqK4.js" as="script"><link rel="prefetch" href="/assets/index.html-4asd-b47.js" as="script"><link rel="prefetch" href="/assets/index.html-ZITi3OK2.js" as="script"><link rel="prefetch" href="/assets/index.html-DJMKg_M6.js" as="script"><link rel="prefetch" href="/assets/index.html-Y__KWg8u.js" as="script"><link rel="prefetch" href="/assets/index.html--BIzY7gk.js" as="script"><link rel="prefetch" href="/assets/index.html-BRHXQqdq.js" as="script"><link rel="prefetch" href="/assets/index.html-C_2nkQ6B.js" as="script"><link rel="prefetch" href="/assets/index.html-R9oSKuoP.js" as="script"><link rel="prefetch" href="/assets/index.html-DY-KY6vi.js" as="script"><link rel="prefetch" href="/assets/index.html-BSndmKE7.js" as="script"><link rel="prefetch" href="/assets/index.html-BDmR_g70.js" as="script"><link rel="prefetch" href="/assets/index.html-CpeDyHcd.js" as="script"><link rel="prefetch" href="/assets/index.html-DV9WiiCS.js" as="script"><link rel="prefetch" href="/assets/index.html-DTceWJaH.js" as="script"><link rel="prefetch" href="/assets/index.html-2WOtvPq_.js" as="script"><link rel="prefetch" href="/assets/index.html-DCVozm3V.js" as="script"><link rel="prefetch" href="/assets/index.html-vKhQGG0S.js" as="script"><link rel="prefetch" href="/assets/index.html-BlvUTCvM.js" as="script"><link rel="prefetch" href="/assets/index.html-vIW8aJUJ.js" as="script"><link rel="prefetch" href="/assets/index.html-CTuZCChr.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-S0Hns9UN.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CSFeuThZ.js" as="script"><link rel="prefetch" href="/assets/artplayer-DnixxQIM.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-DaNo29Rn.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-nRkOMaNb.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-DQalTb-T.js" as="script"><link rel="prefetch" href="/assets/giscus-D-fkNSKD.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-GXRgw7eJ.js" as="script">
   </head>
   <body>
     <div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container no-sidebar"><!--[--><header id="navbar" class="vp-navbar"><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><!--[--><a class="route-link vp-brand" href="/"><img class="vp-nav-logo" src="/img/Headshot.jpg" alt><!----><span class="vp-site-name hide-in-pad">HalfSweet&#39;s Blog</span></a><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-center"><!--[--><!----><!--]--><!--[--><nav class="vp-nav-links"><div class="nav-item hide-in-mobile"><a class="route-link nav-link active" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/posts/" aria-label="文章"><span class="font-icon icon app" style=""></span>文章<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/about/" aria-label="关于"><span class="font-icon icon user" style=""></span>关于<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/friends/" aria-label="友链"><span class="font-icon icon link" style=""></span>友链<!----></a></div></nav><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-end"><!--[--><!----><!--]--><!--[--><!----><div class="nav-item vp-repo"><a class="vp-repo-link" href="https://github.com/HalfSweet/Blog" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><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"></path></svg></a></div><div class="nav-item hide-in-mobile"><button type="button" id="appearance-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" style="display:block;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" style="display:none;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" style="display:none;"><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"></path></svg></button></div><!----><!--]--><!--[--><!----><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar"><!--[--><!----><!--]--><ul class="vp-sidebar-links"></ul><!--[--><!----><!--]--></aside><!--[--><div class="vp-page vp-blog"><div class="vp-blog-hero fullscreen"><!--[--><div class="vp-blog-mask" style="background:url(/img/background.webp) center/cover no-repeat;"></div><!----><!--]--><!--[--><!--[--><img class="vp-blog-hero-image" style="" src="/img/LOGO.png" alt="HalfSweet&#39;s Blog"><!--]--><h1 class="vp-blog-hero-title">HalfSweet&#39;s Blog</h1><p class="vp-blog-hero-description">Try to create some value.</p><!--]--><button type="button" class="slide-down-button"><svg xmlns="http://www.w3.org/2000/svg" class="icon slide-down-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="slide-down icon"><path d="M108.775 312.23c13.553 0 27.106 3.734 39.153 11.806l375.205 250.338 363.641-252.808c32.587-21.624 76.499-12.83 98.123 19.757 21.685 32.467 12.95 76.56-19.576 98.184l-402.854 278.89c-23.733 15.901-54.694 15.962-78.547.12L69.501 442.097c-32.647-21.685-41.441-65.777-19.817-98.304 13.734-20.54 36.201-31.563 59.09-31.563Z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon slide-down-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="slide-down icon"><path d="M108.775 312.23c13.553 0 27.106 3.734 39.153 11.806l375.205 250.338 363.641-252.808c32.587-21.624 76.499-12.83 98.123 19.757 21.685 32.467 12.95 76.56-19.576 98.184l-402.854 278.89c-23.733 15.901-54.694 15.962-78.547.12L69.501 442.097c-32.647-21.685-41.441-65.777-19.817-98.304 13.734-20.54 36.201-31.563 59.09-31.563Z"></path></svg></button></div><div class="blog-page-wrapper"><main id="main-content" class="vp-blog-main"><!----><div id="article-list" class="vp-article-list" role="feed"><div class="vp-article-wrapper"><article class="vp-article-item" vocab="https://schema.org/" typeof="Article"><!--[--><!--]--><!----><a class="route-link" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/"><header class="vp-article-title"><!----><!----><span property="headline">对《为什么我对第三代郊狼失望》一文的澄清说明</span></header></a><div class="vp-article-excerpt"><p>在上文 <a href="/posts/%E4%B8%BA%E4%BB%80%E4%B9%88%E6%88%91%E5%AF%B9%E7%AC%AC%E4%B8%89%E4%BB%A3%E9%83%8A%E7%8B%BC%E5%A4%B1%E6%9C%9B.html" target="_blank">为什么我对第三代郊狼失望</a> 一文中,我对于第三代郊狼的硬件部分进行了一些初步分析,因为没有详细的一些资料,因此在一些地方可能存在一些错误。在昨晚(2024-03-19)郊狼作者找到我,与我群群友进行了一番友好的长时间地交流,也解答了我对设计上的一些疑问。在本文中我们会逐步分析前文中提到的问题。</p>
@@ -46,6 +46,6 @@
 <p>通用,本文同样适用于 Arm-Cortex M 架构的 MCU。</p>
 </div><hr class="vp-article-hr"><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2023-04-14T17:39:36.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>大约 5 分钟</span><meta property="timeRequired" content="PT5M"></span><span class="page-category-info" aria-label="分类🌈" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg><!--[--><span class="page-category-item category8 clickable" role="navigation">单片机</span><!--]--><meta property="articleSection" content="单片机"></span><span class="page-tag-info" aria-label="标签🏷" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg><!--[--><span class="page-tag-item tag3 clickable" role="navigation">STC32</span><span class="page-tag-item tag8 clickable" role="navigation">STC8</span><span class="page-tag-item tag2 clickable" role="navigation">嵌入式</span><span class="page-tag-item tag2 clickable" role="navigation">CoreMark</span><!--]--><meta property="keywords" content="STC32,STC8,嵌入式,CoreMark"></span></div></article></div><div class="vp-article-wrapper"><article class="vp-article-item" vocab="https://schema.org/" typeof="Article"><!--[--><!--]--><!----><a class="route-link" href="/posts/embedded_fmtlib/"><header class="vp-article-title"><!----><!----><span property="headline">在嵌入式设备上使用fmtlib</span></header></a><div class="vp-article-excerpt"><p>众所周知,在c++20以上的标准已经支持了<code>std::format</code>进行格式化输出,不过显而易见,嵌入式领域想要得到支持显然遥遥无期。但是我们已经厌倦了使用sprintf等方式来格式化字符串,c++的流特性又显得不够优雅,怎么才能用上类似于Python中format这样的方式来格式化并输出想要的字符串呢。</p>
 </div><hr class="vp-article-hr"><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2023-02-03T14:08:57.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>大约 5 分钟</span><meta property="timeRequired" content="PT5M"></span><span class="page-category-info" aria-label="分类🌈" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg><!--[--><span class="page-category-item category1 clickable" role="navigation">posts</span><!--]--><meta property="articleSection" content="posts"></span><span class="page-tag-info" aria-label="标签🏷" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg><!--[--><span class="page-tag-item tag8 clickable" role="navigation">fmtlib</span><span class="page-tag-item tag2 clickable" role="navigation">嵌入式</span><span class="page-tag-item tag8 clickable" role="navigation">ESP8266</span><span class="page-tag-item tag2 clickable" role="navigation">ESP32</span><span class="page-tag-item tag3 clickable" role="navigation">Arduino</span><span class="page-tag-item tag5 clickable" role="navigation">PlatformIO</span><span class="page-tag-item tag0 clickable" role="navigation">ESP-IDF</span><!--]--><meta property="keywords" content="fmtlib,嵌入式,ESP8266,ESP32,Arduino,PlatformIO,ESP-IDF"></span></div></article></div><div class="vp-pagination"><nav class="vp-pagination-list"><div class="vp-pagination-number"><!----><!----><!--[--><div class="active" role="navigation">1</div><div class="" role="navigation">2</div><!--]--><!----><div class="next" role="navigation" unselectable="on">下一页</div></div><div class="vp-pagination-nav"><label for="navigation-text">跳转到: </label><input id="navigation-text" value><button class="vp-pagination-button" role="navigation" title="前往">前往</button></div></nav></div></div></main><aside class="vp-blog-info-wrapper"><div class="vp-blogger-info" vocab="https://schema.org/" typeof="Person"><div class="vp-blogger" style="cursor:pointer;" aria-label="个人介绍" data-balloon-pos="down" role="link"><img class="vp-blogger-avatar" src="/img/Headshot.jpg" property="image" alt="Blogger Avatar" loading="lazy"><div class="vp-blogger-name" property="name">HalfSweet</div><div class="vp-blogger-description">Try to create some value</div><meta property="url" content="/Catalogue/02.about.html"></div><div class="vp-blog-counts"><a class="route-link vp-blog-count" href="/article/"><div class="count">13</div><div>文章</div></a><a class="route-link vp-blog-count" href="/category/"><div class="count">5</div><div>分类</div></a><a class="route-link vp-blog-count" href="/tag/"><div class="count">28</div><div>标签</div></a><a class="route-link vp-blog-count" href="/timeline/"><div class="count">13</div><div>时间轴</div></a></div><div class="vp-social-medias"><a class="vp-social-media" href="mailto:HalfSweet@HalfSweet.cn" rel="noopener noreferrer" target="_blank" aria-label="Email" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon email-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#1384FF"/><path fill="#fff" d="M270.077 286.233H751.99c32.933 0 59.86 24.855 60.274 55.51l-301.023 157L210.217 341.88c.207-30.723 26.927-55.717 59.86-55.717zm-59.929 115.714-.276 277.756c0 30.931 27.134 56.2 60.205 56.2H751.99c33.14 0 60.274-25.269 60.274-56.2V401.81L518.283 551.492a15.88 15.88 0 0 1-14.43 0L210.148 401.947z"/></svg></a><a class="vp-social-media" href="https://github.com/HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="GitHub" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#171515"/><path fill="#fff" d="M509.423 146.442c-200.317 0-362.756 162.42-362.756 362.8 0 160.266 103.936 296.24 248.109 344.217 18.139 3.327 24.76-7.872 24.76-17.486 0-8.613-.313-31.427-.49-61.702-100.912 21.923-122.205-48.63-122.205-48.63-16.495-41.91-40.28-53.067-40.28-53.067-32.937-22.51 2.492-22.053 2.492-22.053 36.407 2.566 55.568 37.386 55.568 37.386 32.362 55.438 84.907 39.43 105.58 30.143 3.296-23.444 12.667-39.43 23.032-48.498-80.557-9.156-165.246-40.28-165.246-179.297 0-39.604 14.135-71.988 37.342-97.348-3.731-9.178-16.18-46.063 3.556-96.009 0 0 30.46-9.754 99.76 37.19 28.937-8.048 59.97-12.071 90.823-12.211 30.807.14 61.843 4.165 90.822 12.21 69.26-46.944 99.663-37.189 99.663-37.189 19.792 49.946 7.34 86.831 3.61 96.01 23.25 25.359 37.29 57.742 37.29 97.347 0 139.366-84.82 170.033-165.637 179.013 13.026 11.2 24.628 33.342 24.628 67.182 0 48.498-.445 87.627-.445 99.521 0 9.702 6.535 20.988 24.945 17.444 144.03-48.067 247.881-183.95 247.881-344.175 0-200.378-162.442-362.798-362.802-362.798z"/></svg></a><a class="vp-social-media" href="https://twitter.com/_HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="Twitter" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon twitter-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512"/><path fill="#FFF" d="m560 473 186-216h-44L540 445 411 257H262l195 284-195 226h44l171-198 136 198h149zM322 290h68l312 445h-68z"/></svg></a></div></div><div class="vp-blog-infos"><div class="vp-blog-type-switcher"><button type="button" class="vp-blog-type-button"><div class="icon-wrapper active" aria-label="文章" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="分类" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="标签" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="时间轴" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timeline-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timeline icon"><path d="M511.997 70.568c-243.797 0-441.429 197.633-441.429 441.435 0 243.797 197.632 441.429 441.43 441.429S953.431 755.8 953.431 512.002c0-243.796-197.637-441.434-441.435-441.434zm150.158 609.093-15.605 15.61c-8.621 8.615-22.596 8.615-31.215 0L472.197 552.126c-4.95-4.944-4.34-14.888-4.34-24.677V247.14c0-12.19 9.882-22.07 22.07-22.07h22.07c12.19 0 22.07 9.882 22.07 22.07v273.218l128.088 128.088c8.62 8.62 8.62 22.595 0 31.215zm0 0"></path></svg></div></button></div><div class="vp-star-article-wrapper"><div class="title"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg><span class="num">13</span>文章</div><hr><div class="vp-star-article-empty">星标 为空</div></div></div></aside></div><div class="theme-hope-content"></div></div><!--]--><footer class="vp-footer-wrapper"><div class="vp-footer">今天咕咕被欺负了吗</div><div class="vp-copyright">Copyright © 2024 HalfSweet </div></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div>
-    <script type="module" src="/assets/app-ClwIkahu.js" defer></script>
+    <script type="module" src="/assets/app-Flo2gZk8.js" defer></script>
   </body>
 </html>
diff --git a/kfGjHcdk36vg74_H/FAE/index.html b/kfGjHcdk36vg74_H/FAE/index.html
index b5c796b..0a0cb6d 100644
--- a/kfGjHcdk36vg74_H/FAE/index.html
+++ b/kfGjHcdk36vg74_H/FAE/index.html
@@ -29,12 +29,12 @@
       }
     </script>
     <meta property="og:url" content="https://halfsweet.cn/kfGjHcdk36vg74_H/FAE/"><meta property="og:site_name" content="HalfSweet's Blog"><meta property="og:title" content="FAE 招聘广告!"><meta property="og:description" content="如果你看到这段界面,恭喜你!这是一个彩蛋,目前因为业务的需求,我们急需一名 FAE,如果你对这个职位感兴趣,欢迎联系我们! 目前我们在杭州和上海均有岗位需求。 我们公司的简介: 译枢科技于 2017 年成立于上海,是一家专注于国产芯片的半导体元器件分销商。2020 年成立深圳分公司,2022 年成立杭州办,2024 年成立南京办。译枢一直致力于消费电子..."><meta property="og:type" content="website"><meta property="og:locale" content="zh-CN"><meta property="og:updated_time" content="2024-04-03T13:37:55.000Z"><meta property="article:author" content="HalfSweet"><meta property="article:modified_time" content="2024-04-03T13:37:55.000Z"><script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","name":"FAE 招聘广告!","description":"如果你看到这段界面,恭喜你!这是一个彩蛋,目前因为业务的需求,我们急需一名 FAE,如果你对这个职位感兴趣,欢迎联系我们! 目前我们在杭州和上海均有岗位需求。 我们公司的简介: 译枢科技于 2017 年成立于上海,是一家专注于国产芯片的半导体元器件分销商。2020 年成立深圳分公司,2022 年成立杭州办,2024 年成立南京办。译枢一直致力于消费电子..."}</script><title>FAE 招聘广告! | HalfSweet's Blog</title><meta name="description" content="如果你看到这段界面,恭喜你!这是一个彩蛋,目前因为业务的需求,我们急需一名 FAE,如果你对这个职位感兴趣,欢迎联系我们! 目前我们在杭州和上海均有岗位需求。 我们公司的简介: 译枢科技于 2017 年成立于上海,是一家专注于国产芯片的半导体元器件分销商。2020 年成立深圳分公司,2022 年成立杭州办,2024 年成立南京办。译枢一直致力于消费电子...">
-    <link rel="preload" href="/assets/style-BDwnt-CL.css" as="style"><link rel="stylesheet" href="/assets/style-BDwnt-CL.css">
-    <link rel="modulepreload" href="/assets/app-ClwIkahu.js"><link rel="modulepreload" href="/assets/index.html-jFzM8lrm.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
-    <link rel="prefetch" href="/assets/index.html-BjG6C5xb.js" as="script"><link rel="prefetch" href="/assets/index.html-6gNmrYKw.js" as="script"><link rel="prefetch" href="/assets/index.html-W8DPbcPd.js" as="script"><link rel="prefetch" href="/assets/index.html-75fD8c0W.js" as="script"><link rel="prefetch" href="/assets/index.html-CufQKtZU.js" as="script"><link rel="prefetch" href="/assets/index.html-Bqe7scks.js" as="script"><link rel="prefetch" href="/assets/index.html-B5-KeVPb.js" as="script"><link rel="prefetch" href="/assets/index.html-C7FigsQF.js" as="script"><link rel="prefetch" href="/assets/index.html-DtEE6E7f.js" as="script"><link rel="prefetch" href="/assets/index.html-0oPRY09N.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNCX4dz.js" as="script"><link rel="prefetch" href="/assets/index.html-XtQdJJI8.js" as="script"><link rel="prefetch" href="/assets/index.html-CnJ0E6b5.js" as="script"><link rel="prefetch" href="/assets/index.html-CFhDcrZp.js" as="script"><link rel="prefetch" href="/assets/index.html-Bd1PkxNi.js" as="script"><link rel="prefetch" href="/assets/index.html-DJ-_mZ9n.js" as="script"><link rel="prefetch" href="/assets/404.html-VMfaDGRx.js" as="script"><link rel="prefetch" href="/assets/index.html-BaR2aqhq.js" as="script"><link rel="prefetch" href="/assets/index.html-DO2xY2T5.js" as="script"><link rel="prefetch" href="/assets/index.html-BEwHBlkc.js" as="script"><link rel="prefetch" href="/assets/index.html-DZIt3Q5g.js" as="script"><link rel="prefetch" href="/assets/index.html-Dd9JrssL.js" as="script"><link rel="prefetch" href="/assets/index.html-BjPOIJdK.js" as="script"><link rel="prefetch" href="/assets/index.html-CmtlWOBH.js" as="script"><link rel="prefetch" href="/assets/index.html-CR-9qG2Y.js" as="script"><link rel="prefetch" href="/assets/index.html-CwWDCYUS.js" as="script"><link rel="prefetch" href="/assets/index.html-CptFZpi0.js" as="script"><link rel="prefetch" href="/assets/index.html-p6Y7Jm3n.js" as="script"><link rel="prefetch" href="/assets/index.html-CIen8cvO.js" as="script"><link rel="prefetch" href="/assets/index.html-BKUs44hv.js" as="script"><link rel="prefetch" href="/assets/index.html-D0wSSTgQ.js" as="script"><link rel="prefetch" href="/assets/index.html-DqsCIdcm.js" as="script"><link rel="prefetch" href="/assets/index.html-kUwAIzkD.js" as="script"><link rel="prefetch" href="/assets/index.html-BqgjNdmg.js" as="script"><link rel="prefetch" href="/assets/index.html-DIaDLRqn.js" as="script"><link rel="prefetch" href="/assets/index.html-DhcL23aG.js" as="script"><link rel="prefetch" href="/assets/index.html-Bk9EBjUw.js" as="script"><link rel="prefetch" href="/assets/index.html-C0X-QC5U.js" as="script"><link rel="prefetch" href="/assets/index.html-ZwD6xCF4.js" as="script"><link rel="prefetch" href="/assets/index.html-BdqadbH8.js" as="script"><link rel="prefetch" href="/assets/index.html-D7Uf3Wbw.js" as="script"><link rel="prefetch" href="/assets/index.html-CsuDpoYK.js" as="script"><link rel="prefetch" href="/assets/index.html-Dc2bdBF2.js" as="script"><link rel="prefetch" href="/assets/index.html-BzgkemtD.js" as="script"><link rel="prefetch" href="/assets/index.html-7uHHiaZx.js" as="script"><link rel="prefetch" href="/assets/index.html-TGoZudvZ.js" as="script"><link rel="prefetch" href="/assets/index.html-DbCWijUV.js" as="script"><link rel="prefetch" href="/assets/index.html-DOCRL60a.js" as="script"><link rel="prefetch" href="/assets/index.html-B8qYb7wb.js" as="script"><link rel="prefetch" href="/assets/index.html-CpBdG6tv.js" as="script"><link rel="prefetch" href="/assets/index.html-DdE0h7xo.js" as="script"><link rel="prefetch" href="/assets/index.html-BlsdgZAc.js" as="script"><link rel="prefetch" href="/assets/index.html-Du74cC6X.js" as="script"><link rel="prefetch" href="/assets/index.html-CTp2Oa39.js" as="script"><link rel="prefetch" href="/assets/index.html-Bz73p56D.js" as="script"><link rel="prefetch" href="/assets/index.html-BktjQtFB.js" as="script"><link rel="prefetch" href="/assets/index.html-DPl--Ppt.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-BF52VcER.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CgYxLcm_.js" as="script"><link rel="prefetch" href="/assets/artplayer-CHAGXahu.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-BOVnG7as.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-CbA2In8H.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-Do1ld-lW.js" as="script"><link rel="prefetch" href="/assets/giscus-7BMGhbDA.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-SzV8tJDW.js" as="script">
+    <link rel="preload" href="/assets/style-7DTFFHvh.css" as="style"><link rel="stylesheet" href="/assets/style-7DTFFHvh.css">
+    <link rel="modulepreload" href="/assets/app-Flo2gZk8.js"><link rel="modulepreload" href="/assets/index.html-fvB3i9PM.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
+    <link rel="prefetch" href="/assets/index.html-BhtLl4n3.js" as="script"><link rel="prefetch" href="/assets/index.html-C6yte3a0.js" as="script"><link rel="prefetch" href="/assets/index.html-R-cHHIas.js" as="script"><link rel="prefetch" href="/assets/index.html-CPUAg15t.js" as="script"><link rel="prefetch" href="/assets/index.html-BjdnOCC5.js" as="script"><link rel="prefetch" href="/assets/index.html-7Xyk7CrU.js" as="script"><link rel="prefetch" href="/assets/index.html-BNW3YRR3.js" as="script"><link rel="prefetch" href="/assets/index.html-jClrTNl3.js" as="script"><link rel="prefetch" href="/assets/index.html-tFfBEjXi.js" as="script"><link rel="prefetch" href="/assets/index.html-DgPmeCdQ.js" as="script"><link rel="prefetch" href="/assets/index.html-CxRigd-R.js" as="script"><link rel="prefetch" href="/assets/index.html-BWPjJqfa.js" as="script"><link rel="prefetch" href="/assets/index.html-DzG2EJXJ.js" as="script"><link rel="prefetch" href="/assets/index.html-B45efyIG.js" as="script"><link rel="prefetch" href="/assets/index.html-D_Px6PD2.js" as="script"><link rel="prefetch" href="/assets/index.html-U1Oe9QlK.js" as="script"><link rel="prefetch" href="/assets/404.html-mkIobPP0.js" as="script"><link rel="prefetch" href="/assets/index.html-DGqb01LU.js" as="script"><link rel="prefetch" href="/assets/index.html-GZfFX8ok.js" as="script"><link rel="prefetch" href="/assets/index.html-vhaMR1PK.js" as="script"><link rel="prefetch" href="/assets/index.html-CvSEeOlH.js" as="script"><link rel="prefetch" href="/assets/index.html-BmplSMWS.js" as="script"><link rel="prefetch" href="/assets/index.html-C2sDDxGY.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNwolvq.js" as="script"><link rel="prefetch" href="/assets/index.html-DhSSZBRU.js" as="script"><link rel="prefetch" href="/assets/index.html-DPcGNBru.js" as="script"><link rel="prefetch" href="/assets/index.html-BFJ0kKZP.js" as="script"><link rel="prefetch" href="/assets/index.html-CBW4olfB.js" as="script"><link rel="prefetch" href="/assets/index.html-CiBWk0Bg.js" as="script"><link rel="prefetch" href="/assets/index.html-AFWYFeTY.js" as="script"><link rel="prefetch" href="/assets/index.html-DlrkN0XZ.js" as="script"><link rel="prefetch" href="/assets/index.html-Cb-sPtFS.js" as="script"><link rel="prefetch" href="/assets/index.html-DPF-EyUV.js" as="script"><link rel="prefetch" href="/assets/index.html-AqhAiBBF.js" as="script"><link rel="prefetch" href="/assets/index.html-DLZdHb6J.js" as="script"><link rel="prefetch" href="/assets/index.html-Cpr5viHS.js" as="script"><link rel="prefetch" href="/assets/index.html-BXxGxqK4.js" as="script"><link rel="prefetch" href="/assets/index.html-4asd-b47.js" as="script"><link rel="prefetch" href="/assets/index.html-ZITi3OK2.js" as="script"><link rel="prefetch" href="/assets/index.html-DJMKg_M6.js" as="script"><link rel="prefetch" href="/assets/index.html-Y__KWg8u.js" as="script"><link rel="prefetch" href="/assets/index.html--BIzY7gk.js" as="script"><link rel="prefetch" href="/assets/index.html-BRHXQqdq.js" as="script"><link rel="prefetch" href="/assets/index.html-C_2nkQ6B.js" as="script"><link rel="prefetch" href="/assets/index.html-R9oSKuoP.js" as="script"><link rel="prefetch" href="/assets/index.html-DY-KY6vi.js" as="script"><link rel="prefetch" href="/assets/index.html-BSndmKE7.js" as="script"><link rel="prefetch" href="/assets/index.html-BDmR_g70.js" as="script"><link rel="prefetch" href="/assets/index.html-CpeDyHcd.js" as="script"><link rel="prefetch" href="/assets/index.html-DV9WiiCS.js" as="script"><link rel="prefetch" href="/assets/index.html-DTceWJaH.js" as="script"><link rel="prefetch" href="/assets/index.html-2WOtvPq_.js" as="script"><link rel="prefetch" href="/assets/index.html-DCVozm3V.js" as="script"><link rel="prefetch" href="/assets/index.html-vKhQGG0S.js" as="script"><link rel="prefetch" href="/assets/index.html-BlvUTCvM.js" as="script"><link rel="prefetch" href="/assets/index.html-vIW8aJUJ.js" as="script"><link rel="prefetch" href="/assets/index.html-CTuZCChr.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-S0Hns9UN.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CSFeuThZ.js" as="script"><link rel="prefetch" href="/assets/artplayer-DnixxQIM.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-DaNo29Rn.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-nRkOMaNb.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-DQalTb-T.js" as="script"><link rel="prefetch" href="/assets/giscus-D-fkNSKD.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-GXRgw7eJ.js" as="script">
   </head>
   <body>
     <div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container has-toc"><!--[--><header id="navbar" class="vp-navbar"><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><!--[--><a class="route-link vp-brand" href="/"><img class="vp-nav-logo" src="/img/Headshot.jpg" alt><!----><span class="vp-site-name hide-in-pad">HalfSweet&#39;s Blog</span></a><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-center"><!--[--><!----><!--]--><!--[--><nav class="vp-nav-links"><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/posts/" aria-label="文章"><span class="font-icon icon app" style=""></span>文章<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/about/" aria-label="关于"><span class="font-icon icon user" style=""></span>关于<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/friends/" aria-label="友链"><span class="font-icon icon link" style=""></span>友链<!----></a></div></nav><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-end"><!--[--><!----><!--]--><!--[--><!----><div class="nav-item vp-repo"><a class="vp-repo-link" href="https://github.com/HalfSweet/Blog" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><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"></path></svg></a></div><div class="nav-item hide-in-mobile"><button type="button" id="appearance-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" style="display:block;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" style="display:none;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" style="display:none;"><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"></path></svg></button></div><!----><!--]--><!--[--><!----><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar"><!--[--><!----><!--]--><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></li><li><section class="vp-sidebar-group"><p class="vp-sidebar-header"><span class="font-icon icon book" style=""></span><span class="vp-sidebar-title">文章</span><!----></p><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-Clion/" aria-label="使用 Clion 来进行 Air32 的开发"><!---->使用 Clion 来进行 Air32 的开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-MCO/" aria-label="Air32 的 HAL 改造——适配 MCO"><!---->Air32 的 HAL 改造——适配 MCO<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/HelloWorld/" aria-label="HelloWorld"><!---->HelloWorld<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/STC_CoreMark/" aria-label="不服来跑个分?将 CoreMark 移植到 STC 上试试"><!---->不服来跑个分?将 CoreMark 移植到 STC 上试试<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="为什么我对第三代郊狼失望"><!---->为什么我对第三代郊狼失望<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-HighFreq/" aria-label="发挥全部实力!Air32 在 HAL 库环境下运行最高主频"><!---->发挥全部实力!Air32 在 HAL 库环境下运行最高主频<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/embedded_fmtlib/" aria-label="在嵌入式设备上使用fmtlib"><!---->在嵌入式设备上使用fmtlib<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/conda_novelai/" aria-label="基于conda进行手动配置novelAI"><!---->基于conda进行手动配置novelAI<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="对《为什么我对第三代郊狼失望》一文的澄清说明"><!---->对《为什么我对第三代郊狼失望》一文的澄清说明<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Empedded-CI-CD/" aria-label="嵌入式中的 CI/CD"><!---->嵌入式中的 CI/CD<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/MDK6-Dev/" aria-label="更现代的开发方式?使用 MDK6 进行开发"><!---->更现代的开发方式?使用 MDK6 进行开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/SEGGER-RTT/" aria-label="更高效的日志查看方式——使用SEGGER-RTT"><!---->更高效的日志查看方式——使用SEGGER-RTT<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/EpdTraps1/" aria-label="墨水屏的坑——7.5寸墨水屏刷新为何出现条纹"><!---->墨水屏的坑——7.5寸墨水屏刷新为何出现条纹<!----></a></li></ul></section></li></ul><!--[--><!----><!--]--></aside><!--[--><main id="main-content" class="vp-page"><!--[--><!--[--><!----><!--]--><!----><nav class="vp-breadcrumb disable"></nav><div class="vp-page-title"><h1><!---->FAE 招聘广告!</h1><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2024-03-23T13:17:39.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>大约 2 分钟</span><meta property="timeRequired" content="PT2M"></span><!----><!----></div><hr></div><div class="vp-toc-placeholder"><aside id="toc"><!--[--><!----><!--]--><div class="vp-toc-header">此页内容<button type="button" class="print-button" title="打印"><svg xmlns="http://www.w3.org/2000/svg" class="icon print-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="print icon"><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"></path></svg></button><div class="arrow end"></div></div><div class="vp-toc-wrapper"><ul class="vp-toc-list"><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#岗位职责">岗位职责</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#职位要求">职位要求</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#薪资待遇">薪资待遇</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#联系方式">联系方式</a></li><!----><!--]--></ul><div class="vp-toc-marker" style="top:-1.7rem;"></div></div><!--[--><!----><!--]--></aside></div><!--[--><!----><!--]--><div class="theme-hope-content"><p>如果你看到这段界面,恭喜你!这是一个彩蛋,目前因为业务的需求,我们急需一名 FAE,如果你对这个职位感兴趣,欢迎联系我们!</p><p>目前我们在<strong>杭州</strong>和<strong>上海</strong>均有岗位需求。</p><p>我们公司的简介:</p><blockquote><p>译枢科技于 2017 年成立于上海,是一家专注于国产芯片的半导体元器件分销商。2020 年成立深圳分公司,2022 年成立杭州办,2024 年成立南京办。译枢一直致力于消费电子、可穿戴、安全支付、三表等物联网领域产品解决方案的技术推广和销售,为广大企业用户提供产品和技术支持。随着公司的发展,我们的主营产品持续扩大,目前代理的品牌有:普冉、至晟微、矽典微、泰晶、华谷泽、奉加微、景略,产品涵盖存储、晶振、32 位单片机等。</p></blockquote><p>目前我们急需一名 MCU 行业相关的 FAE,具体要求如下:</p><h2 id="岗位职责" tabindex="-1"><a class="header-anchor" href="#岗位职责"><span>岗位职责</span></a></h2><ul><li>快速解决客户技术问题,提供专业支持。</li><li>协助销售团队,进行技术评估和选型。</li><li>定制化解决方案,维护技术文档和知识分享。</li></ul><h2 id="职位要求" tabindex="-1"><a class="header-anchor" href="#职位要求"><span>职位要求</span></a></h2><ul><li>本科以上,电子/计算机/自动化等相关专业优先。</li><li>有 FAE 经验优先。</li><li>有良好的英文阅读能力</li><li>熟悉模拟/数字电路和电路分析。</li><li>熟悉一种 PCB 设计软件,如(AD、Cadence、KiCAD等)</li><li>掌握 C/C++ 语言。</li><li>掌握至少一种脚本语言(Python/Bash/Lua)。</li><li>能熟练使用 Git 或者其它版本控制工具。</li><li>了解 STM32 或其它 Cortex-M 内核的单片机,有 Risc-V 内核使用经验优先。</li><li>有 Linux 使用经验,熟悉Linux相关操作优先。</li><li>有无刷电机驱动经验者优先</li></ul><h2 id="薪资待遇" tabindex="-1"><a class="header-anchor" href="#薪资待遇"><span>薪资待遇</span></a></h2><p>7-15k,有年终,五险一金,周末双休,弹性工作制不打卡</p><h2 id="联系方式" tabindex="-1"><a class="header-anchor" href="#联系方式"><span>联系方式</span></a></h2><p>联系方式这点不要着急哟~ 既然你已经打开这个页面了,那么联系方式可能还是需要你去自行查找一下,祝你好运!</p><p>YW1saGJtZG9ZVzl5WVc1QWVXbHpkR1ZqYUc1dmJHOW5lUzVqYjIwPQ==</p><p>密钥是一种常见的对称加密方式,密文注意一下网页中不同寻常的地方。</p><p>非此邮箱投递的简历将不予处理。</p><p>希望能够和你一起共事!</p></div><!--[--><!----><!--]--><footer class="page-meta"><div class="meta-item edit-link"><a href="https://github.com/HalfSweet/Blog/edit/main/src/resume/FAE.md" rel="noopener noreferrer" target="_blank" aria-label="在 GitHub 上编辑此页" class="nav-link label"><!--[--><svg xmlns="http://www.w3.org/2000/svg" class="icon edit-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="edit icon"><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"></path><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"></path></svg><!--]-->在 GitHub 上编辑此页<span><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"><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"></path><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"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!----></a></div><div class="meta-item git-info"><div class="update-time"><span class="label">上次编辑于: </span><!----></div><div class="contributors"><span class="label">贡献者: </span><!--[--><!--[--><span class="contributor" title="email: halfsweet@halfsweet.cn">HalfSweet</span><!--]--><!--]--></div></div></footer><!----><div id="vp-comment" class="giscus-wrapper input-top" style="display:block;"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" preserveAspectRatio="xMidYMid" viewBox="0 0 100 100"><circle cx="28" cy="75" r="11" fill="currentColor"><animate attributeName="fill-opacity" begin="0s" dur="1s" keyTimes="0;0.2;1" repeatCount="indefinite" values="0;1;1"></animate></circle><path fill="none" stroke="#88baf0" stroke-width="10" d="M28 47a28 28 0 0 1 28 28"><animate attributeName="stroke-opacity" begin="0.1s" dur="1s" keyTimes="0;0.2;1" repeatCount="indefinite" values="0;1;1"></animate></path><path fill="none" stroke="#88baf0" stroke-width="10" d="M28 25a50 50 0 0 1 50 50"><animate attributeName="stroke-opacity" begin="0.2s" dur="1s" keyTimes="0;0.2;1" repeatCount="indefinite" values="0;1;1"></animate></path></svg></div><!--[--><!----><!--]--><!--]--></main><!--]--><footer class="vp-footer-wrapper"><div class="vp-footer">今天咕咕被欺负了吗</div><div class="vp-copyright">Copyright © 2024 HalfSweet </div></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div>
-    <script type="module" src="/assets/app-ClwIkahu.js" defer></script>
+    <script type="module" src="/assets/app-Flo2gZk8.js" defer></script>
   </body>
 </html>
diff --git a/kfGjHcdk36vg74_H/index.html b/kfGjHcdk36vg74_H/index.html
index 7aefc58..81f46c0 100644
--- a/kfGjHcdk36vg74_H/index.html
+++ b/kfGjHcdk36vg74_H/index.html
@@ -29,12 +29,12 @@
       }
     </script>
     <meta property="og:url" content="https://halfsweet.cn/kfGjHcdk36vg74_H/"><meta property="og:site_name" content="HalfSweet's Blog"><meta property="og:title" content="Kf Gj Hcdk36vg74 H"><meta property="og:type" content="website"><meta property="og:locale" content="zh-CN"><meta property="article:author" content="HalfSweet"><script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","name":"Kf Gj Hcdk36vg74 H"}</script><title>Kf Gj Hcdk36vg74 H | HalfSweet's Blog</title><meta name="description" content="半糖的博客">
-    <link rel="preload" href="/assets/style-BDwnt-CL.css" as="style"><link rel="stylesheet" href="/assets/style-BDwnt-CL.css">
-    <link rel="modulepreload" href="/assets/app-ClwIkahu.js"><link rel="modulepreload" href="/assets/index.html-DO2xY2T5.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
-    <link rel="prefetch" href="/assets/index.html-BjG6C5xb.js" as="script"><link rel="prefetch" href="/assets/index.html-6gNmrYKw.js" as="script"><link rel="prefetch" href="/assets/index.html-W8DPbcPd.js" as="script"><link rel="prefetch" href="/assets/index.html-75fD8c0W.js" as="script"><link rel="prefetch" href="/assets/index.html-CufQKtZU.js" as="script"><link rel="prefetch" href="/assets/index.html-Bqe7scks.js" as="script"><link rel="prefetch" href="/assets/index.html-B5-KeVPb.js" as="script"><link rel="prefetch" href="/assets/index.html-C7FigsQF.js" as="script"><link rel="prefetch" href="/assets/index.html-DtEE6E7f.js" as="script"><link rel="prefetch" href="/assets/index.html-0oPRY09N.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNCX4dz.js" as="script"><link rel="prefetch" href="/assets/index.html-XtQdJJI8.js" as="script"><link rel="prefetch" href="/assets/index.html-CnJ0E6b5.js" as="script"><link rel="prefetch" href="/assets/index.html-CFhDcrZp.js" as="script"><link rel="prefetch" href="/assets/index.html-Bd1PkxNi.js" as="script"><link rel="prefetch" href="/assets/index.html-DJ-_mZ9n.js" as="script"><link rel="prefetch" href="/assets/index.html-jFzM8lrm.js" as="script"><link rel="prefetch" href="/assets/404.html-VMfaDGRx.js" as="script"><link rel="prefetch" href="/assets/index.html-BaR2aqhq.js" as="script"><link rel="prefetch" href="/assets/index.html-BEwHBlkc.js" as="script"><link rel="prefetch" href="/assets/index.html-DZIt3Q5g.js" as="script"><link rel="prefetch" href="/assets/index.html-Dd9JrssL.js" as="script"><link rel="prefetch" href="/assets/index.html-BjPOIJdK.js" as="script"><link rel="prefetch" href="/assets/index.html-CmtlWOBH.js" as="script"><link rel="prefetch" href="/assets/index.html-CR-9qG2Y.js" as="script"><link rel="prefetch" href="/assets/index.html-CwWDCYUS.js" as="script"><link rel="prefetch" href="/assets/index.html-CptFZpi0.js" as="script"><link rel="prefetch" href="/assets/index.html-p6Y7Jm3n.js" as="script"><link rel="prefetch" href="/assets/index.html-CIen8cvO.js" as="script"><link rel="prefetch" href="/assets/index.html-BKUs44hv.js" as="script"><link rel="prefetch" href="/assets/index.html-D0wSSTgQ.js" as="script"><link rel="prefetch" href="/assets/index.html-DqsCIdcm.js" as="script"><link rel="prefetch" href="/assets/index.html-kUwAIzkD.js" as="script"><link rel="prefetch" href="/assets/index.html-BqgjNdmg.js" as="script"><link rel="prefetch" href="/assets/index.html-DIaDLRqn.js" as="script"><link rel="prefetch" href="/assets/index.html-DhcL23aG.js" as="script"><link rel="prefetch" href="/assets/index.html-Bk9EBjUw.js" as="script"><link rel="prefetch" href="/assets/index.html-C0X-QC5U.js" as="script"><link rel="prefetch" href="/assets/index.html-ZwD6xCF4.js" as="script"><link rel="prefetch" href="/assets/index.html-BdqadbH8.js" as="script"><link rel="prefetch" href="/assets/index.html-D7Uf3Wbw.js" as="script"><link rel="prefetch" href="/assets/index.html-CsuDpoYK.js" as="script"><link rel="prefetch" href="/assets/index.html-Dc2bdBF2.js" as="script"><link rel="prefetch" href="/assets/index.html-BzgkemtD.js" as="script"><link rel="prefetch" href="/assets/index.html-7uHHiaZx.js" as="script"><link rel="prefetch" href="/assets/index.html-TGoZudvZ.js" as="script"><link rel="prefetch" href="/assets/index.html-DbCWijUV.js" as="script"><link rel="prefetch" href="/assets/index.html-DOCRL60a.js" as="script"><link rel="prefetch" href="/assets/index.html-B8qYb7wb.js" as="script"><link rel="prefetch" href="/assets/index.html-CpBdG6tv.js" as="script"><link rel="prefetch" href="/assets/index.html-DdE0h7xo.js" as="script"><link rel="prefetch" href="/assets/index.html-BlsdgZAc.js" as="script"><link rel="prefetch" href="/assets/index.html-Du74cC6X.js" as="script"><link rel="prefetch" href="/assets/index.html-CTp2Oa39.js" as="script"><link rel="prefetch" href="/assets/index.html-Bz73p56D.js" as="script"><link rel="prefetch" href="/assets/index.html-BktjQtFB.js" as="script"><link rel="prefetch" href="/assets/index.html-DPl--Ppt.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-BF52VcER.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CgYxLcm_.js" as="script"><link rel="prefetch" href="/assets/artplayer-CHAGXahu.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-BOVnG7as.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-CbA2In8H.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-Do1ld-lW.js" as="script"><link rel="prefetch" href="/assets/giscus-7BMGhbDA.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-SzV8tJDW.js" as="script">
+    <link rel="preload" href="/assets/style-7DTFFHvh.css" as="style"><link rel="stylesheet" href="/assets/style-7DTFFHvh.css">
+    <link rel="modulepreload" href="/assets/app-Flo2gZk8.js"><link rel="modulepreload" href="/assets/index.html-GZfFX8ok.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
+    <link rel="prefetch" href="/assets/index.html-BhtLl4n3.js" as="script"><link rel="prefetch" href="/assets/index.html-C6yte3a0.js" as="script"><link rel="prefetch" href="/assets/index.html-R-cHHIas.js" as="script"><link rel="prefetch" href="/assets/index.html-CPUAg15t.js" as="script"><link rel="prefetch" href="/assets/index.html-BjdnOCC5.js" as="script"><link rel="prefetch" href="/assets/index.html-7Xyk7CrU.js" as="script"><link rel="prefetch" href="/assets/index.html-BNW3YRR3.js" as="script"><link rel="prefetch" href="/assets/index.html-jClrTNl3.js" as="script"><link rel="prefetch" href="/assets/index.html-tFfBEjXi.js" as="script"><link rel="prefetch" href="/assets/index.html-DgPmeCdQ.js" as="script"><link rel="prefetch" href="/assets/index.html-CxRigd-R.js" as="script"><link rel="prefetch" href="/assets/index.html-BWPjJqfa.js" as="script"><link rel="prefetch" href="/assets/index.html-DzG2EJXJ.js" as="script"><link rel="prefetch" href="/assets/index.html-B45efyIG.js" as="script"><link rel="prefetch" href="/assets/index.html-D_Px6PD2.js" as="script"><link rel="prefetch" href="/assets/index.html-U1Oe9QlK.js" as="script"><link rel="prefetch" href="/assets/index.html-fvB3i9PM.js" as="script"><link rel="prefetch" href="/assets/404.html-mkIobPP0.js" as="script"><link rel="prefetch" href="/assets/index.html-DGqb01LU.js" as="script"><link rel="prefetch" href="/assets/index.html-vhaMR1PK.js" as="script"><link rel="prefetch" href="/assets/index.html-CvSEeOlH.js" as="script"><link rel="prefetch" href="/assets/index.html-BmplSMWS.js" as="script"><link rel="prefetch" href="/assets/index.html-C2sDDxGY.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNwolvq.js" as="script"><link rel="prefetch" href="/assets/index.html-DhSSZBRU.js" as="script"><link rel="prefetch" href="/assets/index.html-DPcGNBru.js" as="script"><link rel="prefetch" href="/assets/index.html-BFJ0kKZP.js" as="script"><link rel="prefetch" href="/assets/index.html-CBW4olfB.js" as="script"><link rel="prefetch" href="/assets/index.html-CiBWk0Bg.js" as="script"><link rel="prefetch" href="/assets/index.html-AFWYFeTY.js" as="script"><link rel="prefetch" href="/assets/index.html-DlrkN0XZ.js" as="script"><link rel="prefetch" href="/assets/index.html-Cb-sPtFS.js" as="script"><link rel="prefetch" href="/assets/index.html-DPF-EyUV.js" as="script"><link rel="prefetch" href="/assets/index.html-AqhAiBBF.js" as="script"><link rel="prefetch" href="/assets/index.html-DLZdHb6J.js" as="script"><link rel="prefetch" href="/assets/index.html-Cpr5viHS.js" as="script"><link rel="prefetch" href="/assets/index.html-BXxGxqK4.js" as="script"><link rel="prefetch" href="/assets/index.html-4asd-b47.js" as="script"><link rel="prefetch" href="/assets/index.html-ZITi3OK2.js" as="script"><link rel="prefetch" href="/assets/index.html-DJMKg_M6.js" as="script"><link rel="prefetch" href="/assets/index.html-Y__KWg8u.js" as="script"><link rel="prefetch" href="/assets/index.html--BIzY7gk.js" as="script"><link rel="prefetch" href="/assets/index.html-BRHXQqdq.js" as="script"><link rel="prefetch" href="/assets/index.html-C_2nkQ6B.js" as="script"><link rel="prefetch" href="/assets/index.html-R9oSKuoP.js" as="script"><link rel="prefetch" href="/assets/index.html-DY-KY6vi.js" as="script"><link rel="prefetch" href="/assets/index.html-BSndmKE7.js" as="script"><link rel="prefetch" href="/assets/index.html-BDmR_g70.js" as="script"><link rel="prefetch" href="/assets/index.html-CpeDyHcd.js" as="script"><link rel="prefetch" href="/assets/index.html-DV9WiiCS.js" as="script"><link rel="prefetch" href="/assets/index.html-DTceWJaH.js" as="script"><link rel="prefetch" href="/assets/index.html-2WOtvPq_.js" as="script"><link rel="prefetch" href="/assets/index.html-DCVozm3V.js" as="script"><link rel="prefetch" href="/assets/index.html-vKhQGG0S.js" as="script"><link rel="prefetch" href="/assets/index.html-BlvUTCvM.js" as="script"><link rel="prefetch" href="/assets/index.html-vIW8aJUJ.js" as="script"><link rel="prefetch" href="/assets/index.html-CTuZCChr.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-S0Hns9UN.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CSFeuThZ.js" as="script"><link rel="prefetch" href="/assets/artplayer-DnixxQIM.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-DaNo29Rn.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-nRkOMaNb.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-DQalTb-T.js" as="script"><link rel="prefetch" href="/assets/giscus-D-fkNSKD.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-GXRgw7eJ.js" as="script">
   </head>
   <body>
     <div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container has-toc"><!--[--><header id="navbar" class="vp-navbar"><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><!--[--><a class="route-link vp-brand" href="/"><img class="vp-nav-logo" src="/img/Headshot.jpg" alt><!----><span class="vp-site-name hide-in-pad">HalfSweet&#39;s Blog</span></a><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-center"><!--[--><!----><!--]--><!--[--><nav class="vp-nav-links"><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/posts/" aria-label="文章"><span class="font-icon icon app" style=""></span>文章<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/about/" aria-label="关于"><span class="font-icon icon user" style=""></span>关于<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/friends/" aria-label="友链"><span class="font-icon icon link" style=""></span>友链<!----></a></div></nav><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-end"><!--[--><!----><!--]--><!--[--><!----><div class="nav-item vp-repo"><a class="vp-repo-link" href="https://github.com/HalfSweet/Blog" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><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"></path></svg></a></div><div class="nav-item hide-in-mobile"><button type="button" id="appearance-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" style="display:block;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" style="display:none;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" style="display:none;"><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"></path></svg></button></div><!----><!--]--><!--[--><!----><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar"><!--[--><!----><!--]--><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></li><li><section class="vp-sidebar-group"><p class="vp-sidebar-header"><span class="font-icon icon book" style=""></span><span class="vp-sidebar-title">文章</span><!----></p><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-Clion/" aria-label="使用 Clion 来进行 Air32 的开发"><!---->使用 Clion 来进行 Air32 的开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-MCO/" aria-label="Air32 的 HAL 改造——适配 MCO"><!---->Air32 的 HAL 改造——适配 MCO<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/HelloWorld/" aria-label="HelloWorld"><!---->HelloWorld<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/STC_CoreMark/" aria-label="不服来跑个分?将 CoreMark 移植到 STC 上试试"><!---->不服来跑个分?将 CoreMark 移植到 STC 上试试<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="为什么我对第三代郊狼失望"><!---->为什么我对第三代郊狼失望<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-HighFreq/" aria-label="发挥全部实力!Air32 在 HAL 库环境下运行最高主频"><!---->发挥全部实力!Air32 在 HAL 库环境下运行最高主频<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/embedded_fmtlib/" aria-label="在嵌入式设备上使用fmtlib"><!---->在嵌入式设备上使用fmtlib<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/conda_novelai/" aria-label="基于conda进行手动配置novelAI"><!---->基于conda进行手动配置novelAI<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="对《为什么我对第三代郊狼失望》一文的澄清说明"><!---->对《为什么我对第三代郊狼失望》一文的澄清说明<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Empedded-CI-CD/" aria-label="嵌入式中的 CI/CD"><!---->嵌入式中的 CI/CD<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/MDK6-Dev/" aria-label="更现代的开发方式?使用 MDK6 进行开发"><!---->更现代的开发方式?使用 MDK6 进行开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/SEGGER-RTT/" aria-label="更高效的日志查看方式——使用SEGGER-RTT"><!---->更高效的日志查看方式——使用SEGGER-RTT<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/EpdTraps1/" aria-label="墨水屏的坑——7.5寸墨水屏刷新为何出现条纹"><!---->墨水屏的坑——7.5寸墨水屏刷新为何出现条纹<!----></a></li></ul></section></li></ul><!--[--><!----><!--]--></aside><!--[--><main id="main-content" class="vp-page"><!--[--><!--[--><!----><!--]--><!----><nav class="vp-breadcrumb disable"></nav><div class="vp-page-title"><h1><!---->Kf Gj Hcdk36vg74 H</h1><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><a class="page-author-item" href="https://github.com/HalfSweet" target="_blank" rel="noopener noreferrer">HalfSweet</a></span><span property="author" content="HalfSweet"></span></span><!----><!----><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>小于 1 分钟</span><meta property="timeRequired" content="PT1M"></span><!----><!----></div><hr></div><!----><!--[--><!----><!--]--><div class="theme-hope-content"><div class="vp-catalog-wrapper"><h2 class="vp-catalog-main-title">目录</h2><ul class="vp-catalogs"><li class="vp-catalog"><div class="vp-catalog-child-title"><a class="route-link vp-catalog-title" href="/kfGjHcdk36vg74_H/FAE/">FAE 招聘广告!</a></div></li></ul></div></div><!--[--><!----><!--]--><footer class="page-meta"><!----><div class="meta-item git-info"><!----><!----></div></footer><!----><div id="vp-comment" class="giscus-wrapper input-top" style="display:block;"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" preserveAspectRatio="xMidYMid" viewBox="0 0 100 100"><circle cx="28" cy="75" r="11" fill="currentColor"><animate attributeName="fill-opacity" begin="0s" dur="1s" keyTimes="0;0.2;1" repeatCount="indefinite" values="0;1;1"></animate></circle><path fill="none" stroke="#88baf0" stroke-width="10" d="M28 47a28 28 0 0 1 28 28"><animate attributeName="stroke-opacity" begin="0.1s" dur="1s" keyTimes="0;0.2;1" repeatCount="indefinite" values="0;1;1"></animate></path><path fill="none" stroke="#88baf0" stroke-width="10" d="M28 25a50 50 0 0 1 50 50"><animate attributeName="stroke-opacity" begin="0.2s" dur="1s" keyTimes="0;0.2;1" repeatCount="indefinite" values="0;1;1"></animate></path></svg></div><!--[--><!----><!--]--><!--]--></main><!--]--><footer class="vp-footer-wrapper"><div class="vp-footer">今天咕咕被欺负了吗</div><div class="vp-copyright">Copyright © 2024 HalfSweet </div></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div>
-    <script type="module" src="/assets/app-ClwIkahu.js" defer></script>
+    <script type="module" src="/assets/app-Flo2gZk8.js" defer></script>
   </body>
 </html>
diff --git a/posts/Air32-Clion/index.html b/posts/Air32-Clion/index.html
index c9f924e..ec951cd 100644
--- a/posts/Air32-Clion/index.html
+++ b/posts/Air32-Clion/index.html
@@ -29,14 +29,14 @@
       }
     </script>
     <meta property="og:url" content="https://halfsweet.cn/posts/Air32-Clion/"><meta property="og:site_name" content="HalfSweet's Blog"><meta property="og:title" content="使用 Clion 来进行 Air32 的开发"><meta property="og:description" content="在上几篇文章中,我们将 HAL 库移植给了 Air32,但是我们的开发环境还是使用的 Keil,这样就会导致一些问题,比如 Keil 的代码提示不够友好,而且 Keil 的代码补全也不够完善,因此我们可以使用一个更好的开发环境,比如 Clion。 注 本文如没有特殊说明,均以 Clion 的新 UI 为例 前置条件 需要 Clio 你软件(废话 需要安..."><meta property="og:type" content="article"><meta property="og:locale" content="zh-CN"><meta property="og:updated_time" content="2023-09-01T14:34:52.000Z"><meta property="article:author" content="HalfSweet"><meta property="article:tag" content="Air32"><meta property="article:tag" content="合宙"><meta property="article:tag" content="Clion"><meta property="article:published_time" content="2023-08-27T20:30:00.000Z"><meta property="article:modified_time" content="2023-09-01T14:34:52.000Z"><script type="application/ld+json">{"@context":"https://schema.org","@type":"Article","headline":"使用 Clion 来进行 Air32 的开发","image":[""],"datePublished":"2023-08-27T20:30:00.000Z","dateModified":"2023-09-01T14:34:52.000Z","author":[{"@type":"Person","name":"HalfSweet","link":"https://github.com/HalfSweet"}]}</script><title>使用 Clion 来进行 Air32 的开发 | HalfSweet's Blog</title><meta name="description" content="在上几篇文章中,我们将 HAL 库移植给了 Air32,但是我们的开发环境还是使用的 Keil,这样就会导致一些问题,比如 Keil 的代码提示不够友好,而且 Keil 的代码补全也不够完善,因此我们可以使用一个更好的开发环境,比如 Clion。 注 本文如没有特殊说明,均以 Clion 的新 UI 为例 前置条件 需要 Clio 你软件(废话 需要安...">
-    <link rel="preload" href="/assets/style-BDwnt-CL.css" as="style"><link rel="stylesheet" href="/assets/style-BDwnt-CL.css">
-    <link rel="modulepreload" href="/assets/app-ClwIkahu.js"><link rel="modulepreload" href="/assets/index.html-C7FigsQF.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
-    <link rel="prefetch" href="/assets/index.html-BjG6C5xb.js" as="script"><link rel="prefetch" href="/assets/index.html-6gNmrYKw.js" as="script"><link rel="prefetch" href="/assets/index.html-W8DPbcPd.js" as="script"><link rel="prefetch" href="/assets/index.html-75fD8c0W.js" as="script"><link rel="prefetch" href="/assets/index.html-CufQKtZU.js" as="script"><link rel="prefetch" href="/assets/index.html-Bqe7scks.js" as="script"><link rel="prefetch" href="/assets/index.html-B5-KeVPb.js" as="script"><link rel="prefetch" href="/assets/index.html-DtEE6E7f.js" as="script"><link rel="prefetch" href="/assets/index.html-0oPRY09N.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNCX4dz.js" as="script"><link rel="prefetch" href="/assets/index.html-XtQdJJI8.js" as="script"><link rel="prefetch" href="/assets/index.html-CnJ0E6b5.js" as="script"><link rel="prefetch" href="/assets/index.html-CFhDcrZp.js" as="script"><link rel="prefetch" href="/assets/index.html-Bd1PkxNi.js" as="script"><link rel="prefetch" href="/assets/index.html-DJ-_mZ9n.js" as="script"><link rel="prefetch" href="/assets/index.html-jFzM8lrm.js" as="script"><link rel="prefetch" href="/assets/404.html-VMfaDGRx.js" as="script"><link rel="prefetch" href="/assets/index.html-BaR2aqhq.js" as="script"><link rel="prefetch" href="/assets/index.html-DO2xY2T5.js" as="script"><link rel="prefetch" href="/assets/index.html-BEwHBlkc.js" as="script"><link rel="prefetch" href="/assets/index.html-DZIt3Q5g.js" as="script"><link rel="prefetch" href="/assets/index.html-Dd9JrssL.js" as="script"><link rel="prefetch" href="/assets/index.html-BjPOIJdK.js" as="script"><link rel="prefetch" href="/assets/index.html-CmtlWOBH.js" as="script"><link rel="prefetch" href="/assets/index.html-CR-9qG2Y.js" as="script"><link rel="prefetch" href="/assets/index.html-CwWDCYUS.js" as="script"><link rel="prefetch" href="/assets/index.html-CptFZpi0.js" as="script"><link rel="prefetch" href="/assets/index.html-p6Y7Jm3n.js" as="script"><link rel="prefetch" href="/assets/index.html-CIen8cvO.js" as="script"><link rel="prefetch" href="/assets/index.html-BKUs44hv.js" as="script"><link rel="prefetch" href="/assets/index.html-D0wSSTgQ.js" as="script"><link rel="prefetch" href="/assets/index.html-DqsCIdcm.js" as="script"><link rel="prefetch" href="/assets/index.html-kUwAIzkD.js" as="script"><link rel="prefetch" href="/assets/index.html-BqgjNdmg.js" as="script"><link rel="prefetch" href="/assets/index.html-DIaDLRqn.js" as="script"><link rel="prefetch" href="/assets/index.html-DhcL23aG.js" as="script"><link rel="prefetch" href="/assets/index.html-Bk9EBjUw.js" as="script"><link rel="prefetch" href="/assets/index.html-C0X-QC5U.js" as="script"><link rel="prefetch" href="/assets/index.html-ZwD6xCF4.js" as="script"><link rel="prefetch" href="/assets/index.html-BdqadbH8.js" as="script"><link rel="prefetch" href="/assets/index.html-D7Uf3Wbw.js" as="script"><link rel="prefetch" href="/assets/index.html-CsuDpoYK.js" as="script"><link rel="prefetch" href="/assets/index.html-Dc2bdBF2.js" as="script"><link rel="prefetch" href="/assets/index.html-BzgkemtD.js" as="script"><link rel="prefetch" href="/assets/index.html-7uHHiaZx.js" as="script"><link rel="prefetch" href="/assets/index.html-TGoZudvZ.js" as="script"><link rel="prefetch" href="/assets/index.html-DbCWijUV.js" as="script"><link rel="prefetch" href="/assets/index.html-DOCRL60a.js" as="script"><link rel="prefetch" href="/assets/index.html-B8qYb7wb.js" as="script"><link rel="prefetch" href="/assets/index.html-CpBdG6tv.js" as="script"><link rel="prefetch" href="/assets/index.html-DdE0h7xo.js" as="script"><link rel="prefetch" href="/assets/index.html-BlsdgZAc.js" as="script"><link rel="prefetch" href="/assets/index.html-Du74cC6X.js" as="script"><link rel="prefetch" href="/assets/index.html-CTp2Oa39.js" as="script"><link rel="prefetch" href="/assets/index.html-Bz73p56D.js" as="script"><link rel="prefetch" href="/assets/index.html-BktjQtFB.js" as="script"><link rel="prefetch" href="/assets/index.html-DPl--Ppt.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-BF52VcER.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CgYxLcm_.js" as="script"><link rel="prefetch" href="/assets/artplayer-CHAGXahu.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-BOVnG7as.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-CbA2In8H.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-Do1ld-lW.js" as="script"><link rel="prefetch" href="/assets/giscus-7BMGhbDA.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-SzV8tJDW.js" as="script">
+    <link rel="preload" href="/assets/style-7DTFFHvh.css" as="style"><link rel="stylesheet" href="/assets/style-7DTFFHvh.css">
+    <link rel="modulepreload" href="/assets/app-Flo2gZk8.js"><link rel="modulepreload" href="/assets/index.html-jClrTNl3.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
+    <link rel="prefetch" href="/assets/index.html-BhtLl4n3.js" as="script"><link rel="prefetch" href="/assets/index.html-C6yte3a0.js" as="script"><link rel="prefetch" href="/assets/index.html-R-cHHIas.js" as="script"><link rel="prefetch" href="/assets/index.html-CPUAg15t.js" as="script"><link rel="prefetch" href="/assets/index.html-BjdnOCC5.js" as="script"><link rel="prefetch" href="/assets/index.html-7Xyk7CrU.js" as="script"><link rel="prefetch" href="/assets/index.html-BNW3YRR3.js" as="script"><link rel="prefetch" href="/assets/index.html-tFfBEjXi.js" as="script"><link rel="prefetch" href="/assets/index.html-DgPmeCdQ.js" as="script"><link rel="prefetch" href="/assets/index.html-CxRigd-R.js" as="script"><link rel="prefetch" href="/assets/index.html-BWPjJqfa.js" as="script"><link rel="prefetch" href="/assets/index.html-DzG2EJXJ.js" as="script"><link rel="prefetch" href="/assets/index.html-B45efyIG.js" as="script"><link rel="prefetch" href="/assets/index.html-D_Px6PD2.js" as="script"><link rel="prefetch" href="/assets/index.html-U1Oe9QlK.js" as="script"><link rel="prefetch" href="/assets/index.html-fvB3i9PM.js" as="script"><link rel="prefetch" href="/assets/404.html-mkIobPP0.js" as="script"><link rel="prefetch" href="/assets/index.html-DGqb01LU.js" as="script"><link rel="prefetch" href="/assets/index.html-GZfFX8ok.js" as="script"><link rel="prefetch" href="/assets/index.html-vhaMR1PK.js" as="script"><link rel="prefetch" href="/assets/index.html-CvSEeOlH.js" as="script"><link rel="prefetch" href="/assets/index.html-BmplSMWS.js" as="script"><link rel="prefetch" href="/assets/index.html-C2sDDxGY.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNwolvq.js" as="script"><link rel="prefetch" href="/assets/index.html-DhSSZBRU.js" as="script"><link rel="prefetch" href="/assets/index.html-DPcGNBru.js" as="script"><link rel="prefetch" href="/assets/index.html-BFJ0kKZP.js" as="script"><link rel="prefetch" href="/assets/index.html-CBW4olfB.js" as="script"><link rel="prefetch" href="/assets/index.html-CiBWk0Bg.js" as="script"><link rel="prefetch" href="/assets/index.html-AFWYFeTY.js" as="script"><link rel="prefetch" href="/assets/index.html-DlrkN0XZ.js" as="script"><link rel="prefetch" href="/assets/index.html-Cb-sPtFS.js" as="script"><link rel="prefetch" href="/assets/index.html-DPF-EyUV.js" as="script"><link rel="prefetch" href="/assets/index.html-AqhAiBBF.js" as="script"><link rel="prefetch" href="/assets/index.html-DLZdHb6J.js" as="script"><link rel="prefetch" href="/assets/index.html-Cpr5viHS.js" as="script"><link rel="prefetch" href="/assets/index.html-BXxGxqK4.js" as="script"><link rel="prefetch" href="/assets/index.html-4asd-b47.js" as="script"><link rel="prefetch" href="/assets/index.html-ZITi3OK2.js" as="script"><link rel="prefetch" href="/assets/index.html-DJMKg_M6.js" as="script"><link rel="prefetch" href="/assets/index.html-Y__KWg8u.js" as="script"><link rel="prefetch" href="/assets/index.html--BIzY7gk.js" as="script"><link rel="prefetch" href="/assets/index.html-BRHXQqdq.js" as="script"><link rel="prefetch" href="/assets/index.html-C_2nkQ6B.js" as="script"><link rel="prefetch" href="/assets/index.html-R9oSKuoP.js" as="script"><link rel="prefetch" href="/assets/index.html-DY-KY6vi.js" as="script"><link rel="prefetch" href="/assets/index.html-BSndmKE7.js" as="script"><link rel="prefetch" href="/assets/index.html-BDmR_g70.js" as="script"><link rel="prefetch" href="/assets/index.html-CpeDyHcd.js" as="script"><link rel="prefetch" href="/assets/index.html-DV9WiiCS.js" as="script"><link rel="prefetch" href="/assets/index.html-DTceWJaH.js" as="script"><link rel="prefetch" href="/assets/index.html-2WOtvPq_.js" as="script"><link rel="prefetch" href="/assets/index.html-DCVozm3V.js" as="script"><link rel="prefetch" href="/assets/index.html-vKhQGG0S.js" as="script"><link rel="prefetch" href="/assets/index.html-BlvUTCvM.js" as="script"><link rel="prefetch" href="/assets/index.html-vIW8aJUJ.js" as="script"><link rel="prefetch" href="/assets/index.html-CTuZCChr.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-S0Hns9UN.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CSFeuThZ.js" as="script"><link rel="prefetch" href="/assets/artplayer-DnixxQIM.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-DaNo29Rn.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-nRkOMaNb.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-DQalTb-T.js" as="script"><link rel="prefetch" href="/assets/giscus-D-fkNSKD.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-GXRgw7eJ.js" as="script">
   </head>
   <body>
     <div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container has-toc"><!--[--><header id="navbar" class="vp-navbar"><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><!--[--><a class="route-link vp-brand" href="/"><img class="vp-nav-logo" src="/img/Headshot.jpg" alt><!----><span class="vp-site-name hide-in-pad">HalfSweet&#39;s Blog</span></a><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-center"><!--[--><!----><!--]--><!--[--><nav class="vp-nav-links"><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link active" href="/posts/" aria-label="文章"><span class="font-icon icon app" style=""></span>文章<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/about/" aria-label="关于"><span class="font-icon icon user" style=""></span>关于<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/friends/" aria-label="友链"><span class="font-icon icon link" style=""></span>友链<!----></a></div></nav><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-end"><!--[--><!----><!--]--><!--[--><!----><div class="nav-item vp-repo"><a class="vp-repo-link" href="https://github.com/HalfSweet/Blog" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><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"></path></svg></a></div><div class="nav-item hide-in-mobile"><button type="button" id="appearance-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" style="display:block;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" style="display:none;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" style="display:none;"><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"></path></svg></button></div><!----><!--]--><!--[--><!----><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar"><!--[--><!----><!--]--><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></li><li><section class="vp-sidebar-group"><p class="vp-sidebar-header active"><span class="font-icon icon book" style=""></span><span class="vp-sidebar-title">文章</span><!----></p><ul class="vp-sidebar-links"><li><a class="route-link nav-link active vp-sidebar-link vp-sidebar-page active" href="/posts/Air32-Clion/" aria-label="使用 Clion 来进行 Air32 的开发"><!---->使用 Clion 来进行 Air32 的开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-MCO/" aria-label="Air32 的 HAL 改造——适配 MCO"><!---->Air32 的 HAL 改造——适配 MCO<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/HelloWorld/" aria-label="HelloWorld"><!---->HelloWorld<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/STC_CoreMark/" aria-label="不服来跑个分?将 CoreMark 移植到 STC 上试试"><!---->不服来跑个分?将 CoreMark 移植到 STC 上试试<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="为什么我对第三代郊狼失望"><!---->为什么我对第三代郊狼失望<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-HighFreq/" aria-label="发挥全部实力!Air32 在 HAL 库环境下运行最高主频"><!---->发挥全部实力!Air32 在 HAL 库环境下运行最高主频<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/embedded_fmtlib/" aria-label="在嵌入式设备上使用fmtlib"><!---->在嵌入式设备上使用fmtlib<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/conda_novelai/" aria-label="基于conda进行手动配置novelAI"><!---->基于conda进行手动配置novelAI<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="对《为什么我对第三代郊狼失望》一文的澄清说明"><!---->对《为什么我对第三代郊狼失望》一文的澄清说明<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Empedded-CI-CD/" aria-label="嵌入式中的 CI/CD"><!---->嵌入式中的 CI/CD<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/MDK6-Dev/" aria-label="更现代的开发方式?使用 MDK6 进行开发"><!---->更现代的开发方式?使用 MDK6 进行开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/SEGGER-RTT/" aria-label="更高效的日志查看方式——使用SEGGER-RTT"><!---->更高效的日志查看方式——使用SEGGER-RTT<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/EpdTraps1/" aria-label="墨水屏的坑——7.5寸墨水屏刷新为何出现条纹"><!---->墨水屏的坑——7.5寸墨水屏刷新为何出现条纹<!----></a></li></ul></section></li></ul><!--[--><!----><!--]--></aside><!--[--><main id="main-content" class="vp-page"><!--[--><!--[--><!----><!--]--><!----><nav class="vp-breadcrumb disable"></nav><div class="vp-page-title"><h1><!---->使用 Clion 来进行 Air32 的开发</h1><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2023-08-27T20:30:00.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>大约 3 分钟</span><meta property="timeRequired" content="PT3M"></span><span class="page-category-info" aria-label="分类🌈" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg><!--[--><span class="page-category-item category8 clickable" role="navigation">单片机</span><!--]--><meta property="articleSection" content="单片机"></span><span class="page-tag-info" aria-label="标签🏷" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg><!--[--><span class="page-tag-item tag4 clickable" role="navigation">Air32</span><span class="page-tag-item tag8 clickable" role="navigation">合宙</span><span class="page-tag-item tag8 clickable" role="navigation">Clion</span><!--]--><meta property="keywords" content="Air32,合宙,Clion"></span></div><hr></div><div class="vp-toc-placeholder"><aside id="toc"><!--[--><!----><!--]--><div class="vp-toc-header">此页内容<button type="button" class="print-button" title="打印"><svg xmlns="http://www.w3.org/2000/svg" class="icon print-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="print icon"><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"></path></svg></button><div class="arrow end"></div></div><div class="vp-toc-wrapper"><ul class="vp-toc-list"><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#前置条件">前置条件</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#新建工程">新建工程</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#生成代码">生成代码</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#生成-cmake-工程">生成 Cmake 工程</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#下载工程">下载工程</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#配置调试器">配置调试器</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#附录">附录</a></li><!----><!--]--></ul><div class="vp-toc-marker" style="top:-1.7rem;"></div></div><!--[--><!----><!--]--></aside></div><!--[--><!----><!--]--><div class="theme-hope-content"><p>在上几篇文章中,我们将 HAL 库移植给了 Air32,但是我们的开发环境还是使用的 Keil,这样就会导致一些问题,比如 Keil 的代码提示不够友好,而且 Keil 的代码补全也不够完善,因此我们可以使用一个更好的开发环境,比如 Clion。</p><div class="hint-container note"><p class="hint-container-title">注</p><p>本文如没有特殊说明,均以 Clion 的新 UI 为例</p></div><h2 id="前置条件" tabindex="-1"><a class="header-anchor" href="#前置条件"><span>前置条件</span></a></h2><ol><li>需要 Clio 你软件(废话</li><li>需要安装<code>arm-none-eabi-gcc</code>,windows 用户建议通过<code>MSYS2</code>的包管理工具安装,在此不多赘述</li><li>我们推荐使用<code>PyOCD</code>作为调试器</li><li>安装<code>STM32CubeMX</code>生成工程模板,当然这一步不是必须的,你也可以用我们文末提供的模板</li></ol><div class="hint-container tip"><p class="hint-container-title">提示</p><p>MinGW 和 Cmake 工具链目前最新版的 Clion 自带,我们无需在意</p></div><h2 id="新建工程" tabindex="-1"><a class="header-anchor" href="#新建工程"><span>新建工程</span></a></h2><p>打开 Clion 软件,点击左上角的<code>☰-文件-新建-项目</code>按钮</p><p><img src="/assets/2023-08-27-20-49-48-BcktpWcB.png" alt=""></p><p>选择左边<code>嵌入式</code>列表中的<code>STM32CubeMX</code>,路径自定</p><p><img src="/assets/2023-08-27-20-50-31-BKN8eE3k.png" alt=""></p><p>选择<code>在 STM32CubeMX 中打开</code></p><p><img src="/assets/2023-08-27-20-54-34-CGv3oeYt.png" alt=""></p><p>默认采用了<code>STM32F030F4Px</code>,点击顶上面包屑导航的<code>STM32F030F4P6</code>修改为<code>STM32F103CBTx</code></p><p><img src="/assets/2023-08-27-20-56-40-9Qb5jVKj.png" alt=""></p><p><img src="/assets/2023-08-27-20-56-55-u0KwFhz_.png" alt=""></p><p>点击<code>Start Project</code>,进入配置界面</p><p>接下来是常规配置,可以参考 [发挥全部实力!Air32 在 HAL 库环境下运行最高主频](./发挥全部实力!Air32 在 HAL 库环境下运行最高主频。md) 中的配置,这里不再赘述</p><h2 id="生成代码" tabindex="-1"><a class="header-anchor" href="#生成代码"><span>生成代码</span></a></h2><p>生成代码的时候,在<code>Project Manage</code>中的<code>Toolchain / IDE</code>中选择<code>STM32CubeIDE</code>,注意检查路径是否正确</p><p><img src="/assets/2023-08-27-21-00-57-CNv6tgKB.png" alt=""></p><p>点击右上角的<code>Generate Code</code>按钮,等待生成完成</p><h2 id="生成-cmake-工程" tabindex="-1"><a class="header-anchor" href="#生成-cmake-工程"><span>生成 Cmake 工程</span></a></h2><p>回到 Clion 中,打开<code>.ioc</code>目录下的工程,会自动生成 Cmake 工程,我们点击一下<code>构建</code>按钮,此时应该可以自动编译完成。</p><div class="hint-container tip"><p class="hint-container-title">提示</p><p>记得安装<code>arm-none-eabi-gcc</code>环境</p></div><h2 id="下载工程" tabindex="-1"><a class="header-anchor" href="#下载工程"><span>下载工程</span></a></h2><p>我们使用<code>pyOCD</code>下载,首先我们需要安装<code>pyOCD</code>的环境,这里我们选择安装<code>develop</code>版本,因为目前内置 Air32 的版本还没正式发布。</p><p>在我们有 Python 环境的前提下,只需要</p><div class="language-bash line-numbers-mode" data-ext="sh" data-title="sh"><pre class="language-bash"><code>pip <span class="token function">install</span> <span class="token parameter variable">--pre</span> <span class="token parameter variable">-U</span> git+https://github.com/pyocd/pyOCD.git@develop
 </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>即可安装。</p><p>接下来我们需要配置运行参数,我们点击上方的<code>运行/调试配置</code>按钮,然后点击<code>编辑配置</code>。</p><p><img src="/assets/2023-09-01-22-19-35-D43g3qmC.png" alt=""></p><p>可执行文件中,修改为<code>pyOCD</code>的路径,如果找不到可以用<code>which pyocd</code>命令查看。</p><p>命令实参中,加入</p><div class="language-bash line-numbers-mode" data-ext="sh" data-title="sh"><pre class="language-bash"><code>flash <span class="token parameter variable">--erase</span> chip <span class="token parameter variable">--target</span> air32f103xb <span class="token variable">$CMakeCurrentBuildDir</span>$/Air32F103_Clion.hex
 </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>芯片型号和具体的 hex 文件可以根据实际情况进行修改。</p><p>此时点击<code>运行</code>按钮,即可下载程序到 Air32 中。</p><h2 id="配置调试器" tabindex="-1"><a class="header-anchor" href="#配置调试器"><span>配置调试器</span></a></h2><p>点击<code>运行/调试配置</code>按钮,然后点击<code>编辑配置</code>,点击弹出窗口的左上角的<code>+</code>按钮,选择<code>嵌入式 GDB 调试器</code></p><p><img src="/assets/2023-09-01-22-25-42-CLAhyCNu.png" alt=""></p><p><code>target remote</code>中填入<code>localhost:65533</code>,或者端口自定,不冲突即可。</p><p><code>GDB 服务器</code>中填入 pyOCD 的可执行文件路径</p><p><code>GDB 服务器实参</code>中填入<code>gdbserver -p 65533 -t air32f103xb -f 10M</code>,端口号和芯片型号自定,如果连不上可适当降低频率。</p><p><img src="/assets/2023-09-01-22-30-07-CxeyCwt5.png" alt=""></p><p>最后点击确认即可</p><p>把运行配置切换到刚才设置的调试选项卡中,点击<code>调试</code>按钮即可进行调试</p><h2 id="附录" tabindex="-1"><a class="header-anchor" href="#附录"><span>附录</span></a></h2><p>此工程开源在<a href="https://github.com/Air-duino/Air32-Clion-Template" target="_blank" rel="noopener noreferrer">https://github.com/Air-duino/Air32-Clion-Template<span><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"><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"></path><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"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a>上</p></div><!--[--><!----><!--]--><footer class="page-meta"><div class="meta-item edit-link"><a href="https://github.com/HalfSweet/Blog/edit/main/src/posts/使用Clion来进行Air32的开发.md" rel="noopener noreferrer" target="_blank" aria-label="在 GitHub 上编辑此页" class="nav-link label"><!--[--><svg xmlns="http://www.w3.org/2000/svg" class="icon edit-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="edit icon"><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"></path><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"></path></svg><!--]-->在 GitHub 上编辑此页<span><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"><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"></path><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"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!----></a></div><div class="meta-item git-info"><div class="update-time"><span class="label">上次编辑于: </span><!----></div><div class="contributors"><span class="label">贡献者: </span><!--[--><!--[--><span class="contributor" title="email: halfsweet@halfsweet.cn">HalfSweet</span><!--]--><!--]--></div></div></footer><nav class="vp-page-nav"><!----><a class="route-link nav-link next" href="/posts/Air32-HAL-MCO/" aria-label="Air32 的 HAL 改造——适配 MCO"><div class="hint">下一页<span class="arrow end"></span></div><div class="link">Air32 的 HAL 改造——适配 MCO<!----></div></a></nav><div id="vp-comment" class="giscus-wrapper input-top" style="display:block;"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" preserveAspectRatio="xMidYMid" viewBox="0 0 100 100"><circle cx="28" cy="75" r="11" fill="currentColor"><animate attributeName="fill-opacity" begin="0s" dur="1s" keyTimes="0;0.2;1" repeatCount="indefinite" values="0;1;1"></animate></circle><path fill="none" stroke="#88baf0" stroke-width="10" d="M28 47a28 28 0 0 1 28 28"><animate attributeName="stroke-opacity" begin="0.1s" dur="1s" keyTimes="0;0.2;1" repeatCount="indefinite" values="0;1;1"></animate></path><path fill="none" stroke="#88baf0" stroke-width="10" d="M28 25a50 50 0 0 1 50 50"><animate attributeName="stroke-opacity" begin="0.2s" dur="1s" keyTimes="0;0.2;1" repeatCount="indefinite" values="0;1;1"></animate></path></svg></div><!--[--><!----><!--]--><!--]--></main><!--]--><footer class="vp-footer-wrapper"><div class="vp-footer">今天咕咕被欺负了吗</div><div class="vp-copyright">Copyright © 2024 HalfSweet </div></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div>
-    <script type="module" src="/assets/app-ClwIkahu.js" defer></script>
+    <script type="module" src="/assets/app-Flo2gZk8.js" defer></script>
   </body>
 </html>
diff --git a/posts/Air32-HAL-HighFreq/index.html b/posts/Air32-HAL-HighFreq/index.html
index 205af9d..7dac181 100644
--- a/posts/Air32-HAL-HighFreq/index.html
+++ b/posts/Air32-HAL-HighFreq/index.html
@@ -29,9 +29,9 @@
       }
     </script>
     <meta property="og:url" content="https://halfsweet.cn/posts/Air32-HAL-HighFreq/"><meta property="og:site_name" content="HalfSweet's Blog"><meta property="og:title" content="发挥全部实力!Air32 在 HAL 库环境下运行最高主频"><meta property="og:description" content="最近打算把 Air32 也吃上 Arduino,发挥全部性能,就不用像是 Air001 那样束手束脚了,但是问题是 Arduino 的库是基于 HAL 的,那要用上 Arduino 就必定得先适配 HAL 库,那我们就来先尝试在 HAL 下让 Air32 跑到最高主频吧。 初始化工程 首先我们需要先初始化一个工程,就单纯点灯和和串口打印,这里我偷懒用了..."><meta property="og:type" content="article"><meta property="og:locale" content="zh-CN"><meta property="og:updated_time" content="2024-03-23T06:35:02.000Z"><meta property="article:author" content="HalfSweet"><meta property="article:tag" content="Air32"><meta property="article:tag" content="合宙"><meta property="article:tag" content="超频"><meta property="article:published_time" content="2023-08-20T20:30:00.000Z"><meta property="article:modified_time" content="2024-03-23T06:35:02.000Z"><script type="application/ld+json">{"@context":"https://schema.org","@type":"Article","headline":"发挥全部实力!Air32 在 HAL 库环境下运行最高主频","image":[""],"datePublished":"2023-08-20T20:30:00.000Z","dateModified":"2024-03-23T06:35:02.000Z","author":[{"@type":"Person","name":"HalfSweet","link":"https://github.com/HalfSweet"}]}</script><title>发挥全部实力!Air32 在 HAL 库环境下运行最高主频 | HalfSweet's Blog</title><meta name="description" content="最近打算把 Air32 也吃上 Arduino,发挥全部性能,就不用像是 Air001 那样束手束脚了,但是问题是 Arduino 的库是基于 HAL 的,那要用上 Arduino 就必定得先适配 HAL 库,那我们就来先尝试在 HAL 下让 Air32 跑到最高主频吧。 初始化工程 首先我们需要先初始化一个工程,就单纯点灯和和串口打印,这里我偷懒用了...">
-    <link rel="preload" href="/assets/style-BDwnt-CL.css" as="style"><link rel="stylesheet" href="/assets/style-BDwnt-CL.css">
-    <link rel="modulepreload" href="/assets/app-ClwIkahu.js"><link rel="modulepreload" href="/assets/index.html-DtEE6E7f.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
-    <link rel="prefetch" href="/assets/index.html-BjG6C5xb.js" as="script"><link rel="prefetch" href="/assets/index.html-6gNmrYKw.js" as="script"><link rel="prefetch" href="/assets/index.html-W8DPbcPd.js" as="script"><link rel="prefetch" href="/assets/index.html-75fD8c0W.js" as="script"><link rel="prefetch" href="/assets/index.html-CufQKtZU.js" as="script"><link rel="prefetch" href="/assets/index.html-Bqe7scks.js" as="script"><link rel="prefetch" href="/assets/index.html-B5-KeVPb.js" as="script"><link rel="prefetch" href="/assets/index.html-C7FigsQF.js" as="script"><link rel="prefetch" href="/assets/index.html-0oPRY09N.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNCX4dz.js" as="script"><link rel="prefetch" href="/assets/index.html-XtQdJJI8.js" as="script"><link rel="prefetch" href="/assets/index.html-CnJ0E6b5.js" as="script"><link rel="prefetch" href="/assets/index.html-CFhDcrZp.js" as="script"><link rel="prefetch" href="/assets/index.html-Bd1PkxNi.js" as="script"><link rel="prefetch" href="/assets/index.html-DJ-_mZ9n.js" as="script"><link rel="prefetch" href="/assets/index.html-jFzM8lrm.js" as="script"><link rel="prefetch" href="/assets/404.html-VMfaDGRx.js" as="script"><link rel="prefetch" href="/assets/index.html-BaR2aqhq.js" as="script"><link rel="prefetch" href="/assets/index.html-DO2xY2T5.js" as="script"><link rel="prefetch" href="/assets/index.html-BEwHBlkc.js" as="script"><link rel="prefetch" href="/assets/index.html-DZIt3Q5g.js" as="script"><link rel="prefetch" href="/assets/index.html-Dd9JrssL.js" as="script"><link rel="prefetch" href="/assets/index.html-BjPOIJdK.js" as="script"><link rel="prefetch" href="/assets/index.html-CmtlWOBH.js" as="script"><link rel="prefetch" href="/assets/index.html-CR-9qG2Y.js" as="script"><link rel="prefetch" href="/assets/index.html-CwWDCYUS.js" as="script"><link rel="prefetch" href="/assets/index.html-CptFZpi0.js" as="script"><link rel="prefetch" href="/assets/index.html-p6Y7Jm3n.js" as="script"><link rel="prefetch" href="/assets/index.html-CIen8cvO.js" as="script"><link rel="prefetch" href="/assets/index.html-BKUs44hv.js" as="script"><link rel="prefetch" href="/assets/index.html-D0wSSTgQ.js" as="script"><link rel="prefetch" href="/assets/index.html-DqsCIdcm.js" as="script"><link rel="prefetch" href="/assets/index.html-kUwAIzkD.js" as="script"><link rel="prefetch" href="/assets/index.html-BqgjNdmg.js" as="script"><link rel="prefetch" href="/assets/index.html-DIaDLRqn.js" as="script"><link rel="prefetch" href="/assets/index.html-DhcL23aG.js" as="script"><link rel="prefetch" href="/assets/index.html-Bk9EBjUw.js" as="script"><link rel="prefetch" href="/assets/index.html-C0X-QC5U.js" as="script"><link rel="prefetch" href="/assets/index.html-ZwD6xCF4.js" as="script"><link rel="prefetch" href="/assets/index.html-BdqadbH8.js" as="script"><link rel="prefetch" href="/assets/index.html-D7Uf3Wbw.js" as="script"><link rel="prefetch" href="/assets/index.html-CsuDpoYK.js" as="script"><link rel="prefetch" href="/assets/index.html-Dc2bdBF2.js" as="script"><link rel="prefetch" href="/assets/index.html-BzgkemtD.js" as="script"><link rel="prefetch" href="/assets/index.html-7uHHiaZx.js" as="script"><link rel="prefetch" href="/assets/index.html-TGoZudvZ.js" as="script"><link rel="prefetch" href="/assets/index.html-DbCWijUV.js" as="script"><link rel="prefetch" href="/assets/index.html-DOCRL60a.js" as="script"><link rel="prefetch" href="/assets/index.html-B8qYb7wb.js" as="script"><link rel="prefetch" href="/assets/index.html-CpBdG6tv.js" as="script"><link rel="prefetch" href="/assets/index.html-DdE0h7xo.js" as="script"><link rel="prefetch" href="/assets/index.html-BlsdgZAc.js" as="script"><link rel="prefetch" href="/assets/index.html-Du74cC6X.js" as="script"><link rel="prefetch" href="/assets/index.html-CTp2Oa39.js" as="script"><link rel="prefetch" href="/assets/index.html-Bz73p56D.js" as="script"><link rel="prefetch" href="/assets/index.html-BktjQtFB.js" as="script"><link rel="prefetch" href="/assets/index.html-DPl--Ppt.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-BF52VcER.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CgYxLcm_.js" as="script"><link rel="prefetch" href="/assets/artplayer-CHAGXahu.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-BOVnG7as.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-CbA2In8H.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-Do1ld-lW.js" as="script"><link rel="prefetch" href="/assets/giscus-7BMGhbDA.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-SzV8tJDW.js" as="script">
+    <link rel="preload" href="/assets/style-7DTFFHvh.css" as="style"><link rel="stylesheet" href="/assets/style-7DTFFHvh.css">
+    <link rel="modulepreload" href="/assets/app-Flo2gZk8.js"><link rel="modulepreload" href="/assets/index.html-tFfBEjXi.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
+    <link rel="prefetch" href="/assets/index.html-BhtLl4n3.js" as="script"><link rel="prefetch" href="/assets/index.html-C6yte3a0.js" as="script"><link rel="prefetch" href="/assets/index.html-R-cHHIas.js" as="script"><link rel="prefetch" href="/assets/index.html-CPUAg15t.js" as="script"><link rel="prefetch" href="/assets/index.html-BjdnOCC5.js" as="script"><link rel="prefetch" href="/assets/index.html-7Xyk7CrU.js" as="script"><link rel="prefetch" href="/assets/index.html-BNW3YRR3.js" as="script"><link rel="prefetch" href="/assets/index.html-jClrTNl3.js" as="script"><link rel="prefetch" href="/assets/index.html-DgPmeCdQ.js" as="script"><link rel="prefetch" href="/assets/index.html-CxRigd-R.js" as="script"><link rel="prefetch" href="/assets/index.html-BWPjJqfa.js" as="script"><link rel="prefetch" href="/assets/index.html-DzG2EJXJ.js" as="script"><link rel="prefetch" href="/assets/index.html-B45efyIG.js" as="script"><link rel="prefetch" href="/assets/index.html-D_Px6PD2.js" as="script"><link rel="prefetch" href="/assets/index.html-U1Oe9QlK.js" as="script"><link rel="prefetch" href="/assets/index.html-fvB3i9PM.js" as="script"><link rel="prefetch" href="/assets/404.html-mkIobPP0.js" as="script"><link rel="prefetch" href="/assets/index.html-DGqb01LU.js" as="script"><link rel="prefetch" href="/assets/index.html-GZfFX8ok.js" as="script"><link rel="prefetch" href="/assets/index.html-vhaMR1PK.js" as="script"><link rel="prefetch" href="/assets/index.html-CvSEeOlH.js" as="script"><link rel="prefetch" href="/assets/index.html-BmplSMWS.js" as="script"><link rel="prefetch" href="/assets/index.html-C2sDDxGY.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNwolvq.js" as="script"><link rel="prefetch" href="/assets/index.html-DhSSZBRU.js" as="script"><link rel="prefetch" href="/assets/index.html-DPcGNBru.js" as="script"><link rel="prefetch" href="/assets/index.html-BFJ0kKZP.js" as="script"><link rel="prefetch" href="/assets/index.html-CBW4olfB.js" as="script"><link rel="prefetch" href="/assets/index.html-CiBWk0Bg.js" as="script"><link rel="prefetch" href="/assets/index.html-AFWYFeTY.js" as="script"><link rel="prefetch" href="/assets/index.html-DlrkN0XZ.js" as="script"><link rel="prefetch" href="/assets/index.html-Cb-sPtFS.js" as="script"><link rel="prefetch" href="/assets/index.html-DPF-EyUV.js" as="script"><link rel="prefetch" href="/assets/index.html-AqhAiBBF.js" as="script"><link rel="prefetch" href="/assets/index.html-DLZdHb6J.js" as="script"><link rel="prefetch" href="/assets/index.html-Cpr5viHS.js" as="script"><link rel="prefetch" href="/assets/index.html-BXxGxqK4.js" as="script"><link rel="prefetch" href="/assets/index.html-4asd-b47.js" as="script"><link rel="prefetch" href="/assets/index.html-ZITi3OK2.js" as="script"><link rel="prefetch" href="/assets/index.html-DJMKg_M6.js" as="script"><link rel="prefetch" href="/assets/index.html-Y__KWg8u.js" as="script"><link rel="prefetch" href="/assets/index.html--BIzY7gk.js" as="script"><link rel="prefetch" href="/assets/index.html-BRHXQqdq.js" as="script"><link rel="prefetch" href="/assets/index.html-C_2nkQ6B.js" as="script"><link rel="prefetch" href="/assets/index.html-R9oSKuoP.js" as="script"><link rel="prefetch" href="/assets/index.html-DY-KY6vi.js" as="script"><link rel="prefetch" href="/assets/index.html-BSndmKE7.js" as="script"><link rel="prefetch" href="/assets/index.html-BDmR_g70.js" as="script"><link rel="prefetch" href="/assets/index.html-CpeDyHcd.js" as="script"><link rel="prefetch" href="/assets/index.html-DV9WiiCS.js" as="script"><link rel="prefetch" href="/assets/index.html-DTceWJaH.js" as="script"><link rel="prefetch" href="/assets/index.html-2WOtvPq_.js" as="script"><link rel="prefetch" href="/assets/index.html-DCVozm3V.js" as="script"><link rel="prefetch" href="/assets/index.html-vKhQGG0S.js" as="script"><link rel="prefetch" href="/assets/index.html-BlvUTCvM.js" as="script"><link rel="prefetch" href="/assets/index.html-vIW8aJUJ.js" as="script"><link rel="prefetch" href="/assets/index.html-CTuZCChr.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-S0Hns9UN.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CSFeuThZ.js" as="script"><link rel="prefetch" href="/assets/artplayer-DnixxQIM.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-DaNo29Rn.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-nRkOMaNb.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-DQalTb-T.js" as="script"><link rel="prefetch" href="/assets/giscus-D-fkNSKD.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-GXRgw7eJ.js" as="script">
   </head>
   <body>
     <div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container has-toc"><!--[--><header id="navbar" class="vp-navbar"><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><!--[--><a class="route-link vp-brand" href="/"><img class="vp-nav-logo" src="/img/Headshot.jpg" alt><!----><span class="vp-site-name hide-in-pad">HalfSweet&#39;s Blog</span></a><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-center"><!--[--><!----><!--]--><!--[--><nav class="vp-nav-links"><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link active" href="/posts/" aria-label="文章"><span class="font-icon icon app" style=""></span>文章<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/about/" aria-label="关于"><span class="font-icon icon user" style=""></span>关于<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/friends/" aria-label="友链"><span class="font-icon icon link" style=""></span>友链<!----></a></div></nav><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-end"><!--[--><!----><!--]--><!--[--><!----><div class="nav-item vp-repo"><a class="vp-repo-link" href="https://github.com/HalfSweet/Blog" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><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"></path></svg></a></div><div class="nav-item hide-in-mobile"><button type="button" id="appearance-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" style="display:block;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" style="display:none;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" style="display:none;"><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"></path></svg></button></div><!----><!--]--><!--[--><!----><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar"><!--[--><!----><!--]--><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></li><li><section class="vp-sidebar-group"><p class="vp-sidebar-header active"><span class="font-icon icon book" style=""></span><span class="vp-sidebar-title">文章</span><!----></p><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-Clion/" aria-label="使用 Clion 来进行 Air32 的开发"><!---->使用 Clion 来进行 Air32 的开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-MCO/" aria-label="Air32 的 HAL 改造——适配 MCO"><!---->Air32 的 HAL 改造——适配 MCO<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/HelloWorld/" aria-label="HelloWorld"><!---->HelloWorld<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/STC_CoreMark/" aria-label="不服来跑个分?将 CoreMark 移植到 STC 上试试"><!---->不服来跑个分?将 CoreMark 移植到 STC 上试试<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="为什么我对第三代郊狼失望"><!---->为什么我对第三代郊狼失望<!----></a></li><li><a class="route-link nav-link active vp-sidebar-link vp-sidebar-page active" href="/posts/Air32-HAL-HighFreq/" aria-label="发挥全部实力!Air32 在 HAL 库环境下运行最高主频"><!---->发挥全部实力!Air32 在 HAL 库环境下运行最高主频<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/embedded_fmtlib/" aria-label="在嵌入式设备上使用fmtlib"><!---->在嵌入式设备上使用fmtlib<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/conda_novelai/" aria-label="基于conda进行手动配置novelAI"><!---->基于conda进行手动配置novelAI<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="对《为什么我对第三代郊狼失望》一文的澄清说明"><!---->对《为什么我对第三代郊狼失望》一文的澄清说明<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Empedded-CI-CD/" aria-label="嵌入式中的 CI/CD"><!---->嵌入式中的 CI/CD<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/MDK6-Dev/" aria-label="更现代的开发方式?使用 MDK6 进行开发"><!---->更现代的开发方式?使用 MDK6 进行开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/SEGGER-RTT/" aria-label="更高效的日志查看方式——使用SEGGER-RTT"><!---->更高效的日志查看方式——使用SEGGER-RTT<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/EpdTraps1/" aria-label="墨水屏的坑——7.5寸墨水屏刷新为何出现条纹"><!---->墨水屏的坑——7.5寸墨水屏刷新为何出现条纹<!----></a></li></ul></section></li></ul><!--[--><!----><!--]--></aside><!--[--><main id="main-content" class="vp-page"><!--[--><!--[--><!----><!--]--><!----><nav class="vp-breadcrumb disable"></nav><div class="vp-page-title"><h1><!---->发挥全部实力!Air32 在 HAL 库环境下运行最高主频</h1><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2023-08-20T20:30:00.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>大约 6 分钟</span><meta property="timeRequired" content="PT6M"></span><span class="page-category-info" aria-label="分类🌈" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg><!--[--><span class="page-category-item category8 clickable" role="navigation">单片机</span><!--]--><meta property="articleSection" content="单片机"></span><span class="page-tag-info" aria-label="标签🏷" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg><!--[--><span class="page-tag-item tag4 clickable" role="navigation">Air32</span><span class="page-tag-item tag8 clickable" role="navigation">合宙</span><span class="page-tag-item tag4 clickable" role="navigation">超频</span><!--]--><meta property="keywords" content="Air32,合宙,超频"></span></div><hr></div><div class="vp-toc-placeholder"><aside id="toc"><!--[--><!----><!--]--><div class="vp-toc-header">此页内容<button type="button" class="print-button" title="打印"><svg xmlns="http://www.w3.org/2000/svg" class="icon print-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="print icon"><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"></path></svg></button><div class="arrow end"></div></div><div class="vp-toc-wrapper"><ul class="vp-toc-list"><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#初始化工程">初始化工程</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#修改时钟">修改时钟</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#修改hal-rcc-getsysclockfreq">修改HAL_RCC_GetSysClockFreq</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#修改串口分频定义宏">修改串口分频定义宏</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#添加-printf-输出">添加 Printf 输出</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#附录">附录</a></li><!----><!--]--></ul><div class="vp-toc-marker" style="top:-1.7rem;"></div></div><!--[--><!----><!--]--></aside></div><!--[--><!----><!--]--><div class="theme-hope-content"><p>最近打算把 Air32 也吃上 Arduino,发挥全部性能,就不用像是 Air001 那样束手束脚了,但是问题是 Arduino 的库是基于 HAL 的,那要用上 Arduino 就必定得先适配 HAL 库,那我们就来先尝试在 HAL 下让 Air32 跑到最高主频吧。</p><h2 id="初始化工程" tabindex="-1"><a class="header-anchor" href="#初始化工程"><span>初始化工程</span></a></h2><p>首先我们需要先初始化一个工程,就单纯点灯和和串口打印,这里我偷懒用了<code>STM32CubeMX</code>,我们勾上串口和外部时钟,为了方便我们顺便把 SWD 也选上。大概就是这样</p><p><img src="/assets/2023-08-20-20-27-46-DGEiYCHO.png" alt="CubeMX"></p><p>然后生成代码即可。</p><h2 id="修改时钟" tabindex="-1"><a class="header-anchor" href="#修改时钟"><span>修改时钟</span></a></h2><p>因为我们要跑高主频,原先的 PLL 倍频数不满足,用到了新的一些配置,因此我们需要修改芯片头文件以及<code>hal_rcc_ex.h</code>中的一些宏定义,首先是芯片的头文件,我们这里以<code>air32f103xb.h</code>为例,我们需要修改的地方如下</p><div class="language-c line-numbers-mode" data-ext="c" data-title="c"><pre class="language-c"><code><span class="token macro property"><span class="token directive-hash">#</span><span class="token directive keyword">define</span> <span class="token macro-name">RCC_CFGR_PLLMULL16_Pos</span>               <span class="token expression"><span class="token punctuation">(</span><span class="token number">19U</span><span class="token punctuation">)</span>                             </span></span>
@@ -219,6 +219,6 @@
   <span class="token comment">/* USER CODE END 3 */</span>
 <span class="token punctuation">}</span>
 </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>编译下载,打开串口调试助手,可以观察到:</p><p><img src="/assets/2023-08-20-21-04-35-DlLrU9VC.png" alt=""></p><p>串口输出无乱码,主频正确,我们已经成功在 HAL 中跑到了最高主频。</p><h2 id="附录" tabindex="-1"><a class="header-anchor" href="#附录"><span>附录</span></a></h2><p>本文的工程开源在<a href="https://github.com/Air-duino/Air32F103-HAL-RCC" target="_blank" rel="noopener noreferrer">https://github.com/Air-duino/Air32F103-HAL-RCC<span><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"><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"></path><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"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a>,用到的 HAL 库源码在<a href="https://github.com/Air-duino/Arduino-Air32F103-Drivers" target="_blank" rel="noopener noreferrer">https://github.com/Air-duino/Arduino-Air32F103-Drivers<span><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"><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"></path><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"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a>。</p></div><!--[--><!----><!--]--><footer class="page-meta"><div class="meta-item edit-link"><a href="https://github.com/HalfSweet/Blog/edit/main/src/posts/发挥全部实力!Air32在HAL库环境下运行最高主频.md" rel="noopener noreferrer" target="_blank" aria-label="在 GitHub 上编辑此页" class="nav-link label"><!--[--><svg xmlns="http://www.w3.org/2000/svg" class="icon edit-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="edit icon"><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"></path><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"></path></svg><!--]-->在 GitHub 上编辑此页<span><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"><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"></path><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"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!----></a></div><div class="meta-item git-info"><div class="update-time"><span class="label">上次编辑于: </span><!----></div><div class="contributors"><span class="label">贡献者: </span><!--[--><!--[--><span class="contributor" title="email: halfsweet@halfsweet.cn">HalfSweet</span><!--]--><!--]--></div></div></footer><nav class="vp-page-nav"><a class="route-link nav-link prev" href="/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="为什么我对第三代郊狼失望"><div class="hint"><span class="arrow start"></span>上一页</div><div class="link"><!---->为什么我对第三代郊狼失望</div></a><a class="route-link nav-link next" href="/posts/embedded_fmtlib/" aria-label="在嵌入式设备上使用fmtlib"><div class="hint">下一页<span class="arrow end"></span></div><div class="link">在嵌入式设备上使用fmtlib<!----></div></a></nav><div id="vp-comment" class="giscus-wrapper input-top" style="display:block;"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" preserveAspectRatio="xMidYMid" viewBox="0 0 100 100"><circle cx="28" cy="75" r="11" fill="currentColor"><animate attributeName="fill-opacity" begin="0s" dur="1s" keyTimes="0;0.2;1" repeatCount="indefinite" values="0;1;1"></animate></circle><path fill="none" stroke="#88baf0" stroke-width="10" d="M28 47a28 28 0 0 1 28 28"><animate attributeName="stroke-opacity" begin="0.1s" dur="1s" keyTimes="0;0.2;1" repeatCount="indefinite" values="0;1;1"></animate></path><path fill="none" stroke="#88baf0" stroke-width="10" d="M28 25a50 50 0 0 1 50 50"><animate attributeName="stroke-opacity" begin="0.2s" dur="1s" keyTimes="0;0.2;1" repeatCount="indefinite" values="0;1;1"></animate></path></svg></div><!--[--><!----><!--]--><!--]--></main><!--]--><footer class="vp-footer-wrapper"><div class="vp-footer">今天咕咕被欺负了吗</div><div class="vp-copyright">Copyright © 2024 HalfSweet </div></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div>
-    <script type="module" src="/assets/app-ClwIkahu.js" defer></script>
+    <script type="module" src="/assets/app-Flo2gZk8.js" defer></script>
   </body>
 </html>
diff --git a/posts/Air32-HAL-MCO/index.html b/posts/Air32-HAL-MCO/index.html
index 04f878c..0338b4f 100644
--- a/posts/Air32-HAL-MCO/index.html
+++ b/posts/Air32-HAL-MCO/index.html
@@ -29,9 +29,9 @@
       }
     </script>
     <meta property="og:url" content="https://halfsweet.cn/posts/Air32-HAL-MCO/"><meta property="og:site_name" content="HalfSweet's Blog"><meta property="og:title" content="Air32 的 HAL 改造——适配 MCO"><meta property="og:description" content="在 中,我们把 HAL 库移植给了 Air32,那现在让我们尝试添加一些 HAL 库特有的功能吧,比如这篇文章中描述的MCO。 关于 MCO 全称为Microcontroller clock output,即微控制器时钟输出,它可以将主时钟输出到某个引脚上,这样我们就可以在不消耗任何资源的情况下得到一些特定的时钟信号。 在 STM32F103 中,MC..."><meta property="og:type" content="article"><meta property="og:locale" content="zh-CN"><meta property="og:updated_time" content="2024-03-23T06:35:02.000Z"><meta property="article:author" content="HalfSweet"><meta property="article:tag" content="Air32"><meta property="article:tag" content="合宙"><meta property="article:tag" content="MCO"><meta property="article:published_time" content="2023-08-20T23:00:00.000Z"><meta property="article:modified_time" content="2024-03-23T06:35:02.000Z"><script type="application/ld+json">{"@context":"https://schema.org","@type":"Article","headline":"Air32 的 HAL 改造——适配 MCO","image":[""],"datePublished":"2023-08-20T23:00:00.000Z","dateModified":"2024-03-23T06:35:02.000Z","author":[{"@type":"Person","name":"HalfSweet","link":"https://github.com/HalfSweet"}]}</script><title>Air32 的 HAL 改造——适配 MCO | HalfSweet's Blog</title><meta name="description" content="在 中,我们把 HAL 库移植给了 Air32,那现在让我们尝试添加一些 HAL 库特有的功能吧,比如这篇文章中描述的MCO。 关于 MCO 全称为Microcontroller clock output,即微控制器时钟输出,它可以将主时钟输出到某个引脚上,这样我们就可以在不消耗任何资源的情况下得到一些特定的时钟信号。 在 STM32F103 中,MC...">
-    <link rel="preload" href="/assets/style-BDwnt-CL.css" as="style"><link rel="stylesheet" href="/assets/style-BDwnt-CL.css">
-    <link rel="modulepreload" href="/assets/app-ClwIkahu.js"><link rel="modulepreload" href="/assets/index.html-75fD8c0W.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
-    <link rel="prefetch" href="/assets/index.html-BjG6C5xb.js" as="script"><link rel="prefetch" href="/assets/index.html-6gNmrYKw.js" as="script"><link rel="prefetch" href="/assets/index.html-W8DPbcPd.js" as="script"><link rel="prefetch" href="/assets/index.html-CufQKtZU.js" as="script"><link rel="prefetch" href="/assets/index.html-Bqe7scks.js" as="script"><link rel="prefetch" href="/assets/index.html-B5-KeVPb.js" as="script"><link rel="prefetch" href="/assets/index.html-C7FigsQF.js" as="script"><link rel="prefetch" href="/assets/index.html-DtEE6E7f.js" as="script"><link rel="prefetch" href="/assets/index.html-0oPRY09N.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNCX4dz.js" as="script"><link rel="prefetch" href="/assets/index.html-XtQdJJI8.js" as="script"><link rel="prefetch" href="/assets/index.html-CnJ0E6b5.js" as="script"><link rel="prefetch" href="/assets/index.html-CFhDcrZp.js" as="script"><link rel="prefetch" href="/assets/index.html-Bd1PkxNi.js" as="script"><link rel="prefetch" href="/assets/index.html-DJ-_mZ9n.js" as="script"><link rel="prefetch" href="/assets/index.html-jFzM8lrm.js" as="script"><link rel="prefetch" href="/assets/404.html-VMfaDGRx.js" as="script"><link rel="prefetch" href="/assets/index.html-BaR2aqhq.js" as="script"><link rel="prefetch" href="/assets/index.html-DO2xY2T5.js" as="script"><link rel="prefetch" href="/assets/index.html-BEwHBlkc.js" as="script"><link rel="prefetch" href="/assets/index.html-DZIt3Q5g.js" as="script"><link rel="prefetch" href="/assets/index.html-Dd9JrssL.js" as="script"><link rel="prefetch" href="/assets/index.html-BjPOIJdK.js" as="script"><link rel="prefetch" href="/assets/index.html-CmtlWOBH.js" as="script"><link rel="prefetch" href="/assets/index.html-CR-9qG2Y.js" as="script"><link rel="prefetch" href="/assets/index.html-CwWDCYUS.js" as="script"><link rel="prefetch" href="/assets/index.html-CptFZpi0.js" as="script"><link rel="prefetch" href="/assets/index.html-p6Y7Jm3n.js" as="script"><link rel="prefetch" href="/assets/index.html-CIen8cvO.js" as="script"><link rel="prefetch" href="/assets/index.html-BKUs44hv.js" as="script"><link rel="prefetch" href="/assets/index.html-D0wSSTgQ.js" as="script"><link rel="prefetch" href="/assets/index.html-DqsCIdcm.js" as="script"><link rel="prefetch" href="/assets/index.html-kUwAIzkD.js" as="script"><link rel="prefetch" href="/assets/index.html-BqgjNdmg.js" as="script"><link rel="prefetch" href="/assets/index.html-DIaDLRqn.js" as="script"><link rel="prefetch" href="/assets/index.html-DhcL23aG.js" as="script"><link rel="prefetch" href="/assets/index.html-Bk9EBjUw.js" as="script"><link rel="prefetch" href="/assets/index.html-C0X-QC5U.js" as="script"><link rel="prefetch" href="/assets/index.html-ZwD6xCF4.js" as="script"><link rel="prefetch" href="/assets/index.html-BdqadbH8.js" as="script"><link rel="prefetch" href="/assets/index.html-D7Uf3Wbw.js" as="script"><link rel="prefetch" href="/assets/index.html-CsuDpoYK.js" as="script"><link rel="prefetch" href="/assets/index.html-Dc2bdBF2.js" as="script"><link rel="prefetch" href="/assets/index.html-BzgkemtD.js" as="script"><link rel="prefetch" href="/assets/index.html-7uHHiaZx.js" as="script"><link rel="prefetch" href="/assets/index.html-TGoZudvZ.js" as="script"><link rel="prefetch" href="/assets/index.html-DbCWijUV.js" as="script"><link rel="prefetch" href="/assets/index.html-DOCRL60a.js" as="script"><link rel="prefetch" href="/assets/index.html-B8qYb7wb.js" as="script"><link rel="prefetch" href="/assets/index.html-CpBdG6tv.js" as="script"><link rel="prefetch" href="/assets/index.html-DdE0h7xo.js" as="script"><link rel="prefetch" href="/assets/index.html-BlsdgZAc.js" as="script"><link rel="prefetch" href="/assets/index.html-Du74cC6X.js" as="script"><link rel="prefetch" href="/assets/index.html-CTp2Oa39.js" as="script"><link rel="prefetch" href="/assets/index.html-Bz73p56D.js" as="script"><link rel="prefetch" href="/assets/index.html-BktjQtFB.js" as="script"><link rel="prefetch" href="/assets/index.html-DPl--Ppt.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-BF52VcER.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CgYxLcm_.js" as="script"><link rel="prefetch" href="/assets/artplayer-CHAGXahu.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-BOVnG7as.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-CbA2In8H.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-Do1ld-lW.js" as="script"><link rel="prefetch" href="/assets/giscus-7BMGhbDA.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-SzV8tJDW.js" as="script">
+    <link rel="preload" href="/assets/style-7DTFFHvh.css" as="style"><link rel="stylesheet" href="/assets/style-7DTFFHvh.css">
+    <link rel="modulepreload" href="/assets/app-Flo2gZk8.js"><link rel="modulepreload" href="/assets/index.html-CPUAg15t.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
+    <link rel="prefetch" href="/assets/index.html-BhtLl4n3.js" as="script"><link rel="prefetch" href="/assets/index.html-C6yte3a0.js" as="script"><link rel="prefetch" href="/assets/index.html-R-cHHIas.js" as="script"><link rel="prefetch" href="/assets/index.html-BjdnOCC5.js" as="script"><link rel="prefetch" href="/assets/index.html-7Xyk7CrU.js" as="script"><link rel="prefetch" href="/assets/index.html-BNW3YRR3.js" as="script"><link rel="prefetch" href="/assets/index.html-jClrTNl3.js" as="script"><link rel="prefetch" href="/assets/index.html-tFfBEjXi.js" as="script"><link rel="prefetch" href="/assets/index.html-DgPmeCdQ.js" as="script"><link rel="prefetch" href="/assets/index.html-CxRigd-R.js" as="script"><link rel="prefetch" href="/assets/index.html-BWPjJqfa.js" as="script"><link rel="prefetch" href="/assets/index.html-DzG2EJXJ.js" as="script"><link rel="prefetch" href="/assets/index.html-B45efyIG.js" as="script"><link rel="prefetch" href="/assets/index.html-D_Px6PD2.js" as="script"><link rel="prefetch" href="/assets/index.html-U1Oe9QlK.js" as="script"><link rel="prefetch" href="/assets/index.html-fvB3i9PM.js" as="script"><link rel="prefetch" href="/assets/404.html-mkIobPP0.js" as="script"><link rel="prefetch" href="/assets/index.html-DGqb01LU.js" as="script"><link rel="prefetch" href="/assets/index.html-GZfFX8ok.js" as="script"><link rel="prefetch" href="/assets/index.html-vhaMR1PK.js" as="script"><link rel="prefetch" href="/assets/index.html-CvSEeOlH.js" as="script"><link rel="prefetch" href="/assets/index.html-BmplSMWS.js" as="script"><link rel="prefetch" href="/assets/index.html-C2sDDxGY.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNwolvq.js" as="script"><link rel="prefetch" href="/assets/index.html-DhSSZBRU.js" as="script"><link rel="prefetch" href="/assets/index.html-DPcGNBru.js" as="script"><link rel="prefetch" href="/assets/index.html-BFJ0kKZP.js" as="script"><link rel="prefetch" href="/assets/index.html-CBW4olfB.js" as="script"><link rel="prefetch" href="/assets/index.html-CiBWk0Bg.js" as="script"><link rel="prefetch" href="/assets/index.html-AFWYFeTY.js" as="script"><link rel="prefetch" href="/assets/index.html-DlrkN0XZ.js" as="script"><link rel="prefetch" href="/assets/index.html-Cb-sPtFS.js" as="script"><link rel="prefetch" href="/assets/index.html-DPF-EyUV.js" as="script"><link rel="prefetch" href="/assets/index.html-AqhAiBBF.js" as="script"><link rel="prefetch" href="/assets/index.html-DLZdHb6J.js" as="script"><link rel="prefetch" href="/assets/index.html-Cpr5viHS.js" as="script"><link rel="prefetch" href="/assets/index.html-BXxGxqK4.js" as="script"><link rel="prefetch" href="/assets/index.html-4asd-b47.js" as="script"><link rel="prefetch" href="/assets/index.html-ZITi3OK2.js" as="script"><link rel="prefetch" href="/assets/index.html-DJMKg_M6.js" as="script"><link rel="prefetch" href="/assets/index.html-Y__KWg8u.js" as="script"><link rel="prefetch" href="/assets/index.html--BIzY7gk.js" as="script"><link rel="prefetch" href="/assets/index.html-BRHXQqdq.js" as="script"><link rel="prefetch" href="/assets/index.html-C_2nkQ6B.js" as="script"><link rel="prefetch" href="/assets/index.html-R9oSKuoP.js" as="script"><link rel="prefetch" href="/assets/index.html-DY-KY6vi.js" as="script"><link rel="prefetch" href="/assets/index.html-BSndmKE7.js" as="script"><link rel="prefetch" href="/assets/index.html-BDmR_g70.js" as="script"><link rel="prefetch" href="/assets/index.html-CpeDyHcd.js" as="script"><link rel="prefetch" href="/assets/index.html-DV9WiiCS.js" as="script"><link rel="prefetch" href="/assets/index.html-DTceWJaH.js" as="script"><link rel="prefetch" href="/assets/index.html-2WOtvPq_.js" as="script"><link rel="prefetch" href="/assets/index.html-DCVozm3V.js" as="script"><link rel="prefetch" href="/assets/index.html-vKhQGG0S.js" as="script"><link rel="prefetch" href="/assets/index.html-BlvUTCvM.js" as="script"><link rel="prefetch" href="/assets/index.html-vIW8aJUJ.js" as="script"><link rel="prefetch" href="/assets/index.html-CTuZCChr.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-S0Hns9UN.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CSFeuThZ.js" as="script"><link rel="prefetch" href="/assets/artplayer-DnixxQIM.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-DaNo29Rn.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-nRkOMaNb.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-DQalTb-T.js" as="script"><link rel="prefetch" href="/assets/giscus-D-fkNSKD.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-GXRgw7eJ.js" as="script">
   </head>
   <body>
     <div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container has-toc"><!--[--><header id="navbar" class="vp-navbar"><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><!--[--><a class="route-link vp-brand" href="/"><img class="vp-nav-logo" src="/img/Headshot.jpg" alt><!----><span class="vp-site-name hide-in-pad">HalfSweet&#39;s Blog</span></a><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-center"><!--[--><!----><!--]--><!--[--><nav class="vp-nav-links"><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link active" href="/posts/" aria-label="文章"><span class="font-icon icon app" style=""></span>文章<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/about/" aria-label="关于"><span class="font-icon icon user" style=""></span>关于<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/friends/" aria-label="友链"><span class="font-icon icon link" style=""></span>友链<!----></a></div></nav><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-end"><!--[--><!----><!--]--><!--[--><!----><div class="nav-item vp-repo"><a class="vp-repo-link" href="https://github.com/HalfSweet/Blog" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><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"></path></svg></a></div><div class="nav-item hide-in-mobile"><button type="button" id="appearance-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" style="display:block;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" style="display:none;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" style="display:none;"><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"></path></svg></button></div><!----><!--]--><!--[--><!----><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar"><!--[--><!----><!--]--><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></li><li><section class="vp-sidebar-group"><p class="vp-sidebar-header active"><span class="font-icon icon book" style=""></span><span class="vp-sidebar-title">文章</span><!----></p><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-Clion/" aria-label="使用 Clion 来进行 Air32 的开发"><!---->使用 Clion 来进行 Air32 的开发<!----></a></li><li><a class="route-link nav-link active vp-sidebar-link vp-sidebar-page active" href="/posts/Air32-HAL-MCO/" aria-label="Air32 的 HAL 改造——适配 MCO"><!---->Air32 的 HAL 改造——适配 MCO<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/HelloWorld/" aria-label="HelloWorld"><!---->HelloWorld<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/STC_CoreMark/" aria-label="不服来跑个分?将 CoreMark 移植到 STC 上试试"><!---->不服来跑个分?将 CoreMark 移植到 STC 上试试<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="为什么我对第三代郊狼失望"><!---->为什么我对第三代郊狼失望<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-HighFreq/" aria-label="发挥全部实力!Air32 在 HAL 库环境下运行最高主频"><!---->发挥全部实力!Air32 在 HAL 库环境下运行最高主频<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/embedded_fmtlib/" aria-label="在嵌入式设备上使用fmtlib"><!---->在嵌入式设备上使用fmtlib<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/conda_novelai/" aria-label="基于conda进行手动配置novelAI"><!---->基于conda进行手动配置novelAI<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="对《为什么我对第三代郊狼失望》一文的澄清说明"><!---->对《为什么我对第三代郊狼失望》一文的澄清说明<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Empedded-CI-CD/" aria-label="嵌入式中的 CI/CD"><!---->嵌入式中的 CI/CD<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/MDK6-Dev/" aria-label="更现代的开发方式?使用 MDK6 进行开发"><!---->更现代的开发方式?使用 MDK6 进行开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/SEGGER-RTT/" aria-label="更高效的日志查看方式——使用SEGGER-RTT"><!---->更高效的日志查看方式——使用SEGGER-RTT<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/EpdTraps1/" aria-label="墨水屏的坑——7.5寸墨水屏刷新为何出现条纹"><!---->墨水屏的坑——7.5寸墨水屏刷新为何出现条纹<!----></a></li></ul></section></li></ul><!--[--><!----><!--]--></aside><!--[--><main id="main-content" class="vp-page"><!--[--><!--[--><!----><!--]--><!----><nav class="vp-breadcrumb disable"></nav><div class="vp-page-title"><h1><!---->Air32 的 HAL 改造——适配 MCO</h1><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2023-08-20T23:00:00.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>大约 3 分钟</span><meta property="timeRequired" content="PT3M"></span><span class="page-category-info" aria-label="分类🌈" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg><!--[--><span class="page-category-item category8 clickable" role="navigation">单片机</span><!--]--><meta property="articleSection" content="单片机"></span><span class="page-tag-info" aria-label="标签🏷" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg><!--[--><span class="page-tag-item tag4 clickable" role="navigation">Air32</span><span class="page-tag-item tag8 clickable" role="navigation">合宙</span><span class="page-tag-item tag0 clickable" role="navigation">MCO</span><!--]--><meta property="keywords" content="Air32,合宙,MCO"></span></div><hr></div><div class="vp-toc-placeholder"><aside id="toc"><!--[--><!----><!--]--><div class="vp-toc-header">此页内容<button type="button" class="print-button" title="打印"><svg xmlns="http://www.w3.org/2000/svg" class="icon print-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="print icon"><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"></path></svg></button><div class="arrow end"></div></div><div class="vp-toc-wrapper"><ul class="vp-toc-list"><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#关于">关于</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#添加寄存器地址">添加寄存器地址</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#添加-rcc-mco-val-的定义">添加 RCC_MCO_VAL 的定义</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#修改-is-rcc-mco1source-宏定义">修改 IS_RCC_MCO1SOURCE 宏定义</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#添加-mco1-clock-source-相关宏定义">添加 MCO1 Clock Source 相关宏定义</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#修改-hal-rcc-mcoconfig-函数">修改 HAL_RCC_MCOConfig 函数</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#附录">附录</a></li><!----><!--]--></ul><div class="vp-toc-marker" style="top:-1.7rem;"></div></div><!--[--><!----><!--]--></aside></div><!--[--><!----><!--]--><div class="theme-hope-content"><p>在 <a class="route-link" href="/posts/Air32-HAL-HighFreq/">上篇文章</a> 中,我们把 HAL 库移植给了 Air32,那现在让我们尝试添加一些 HAL 库特有的功能吧,比如这篇文章中描述的<code>MCO</code>。</p><h2 id="关于" tabindex="-1"><a class="header-anchor" href="#关于"><span>关于</span></a></h2><p>MCO 全称为<code>Microcontroller clock output</code>,即微控制器时钟输出,它可以将主时钟输出到某个引脚上,这样我们就可以在不消耗任何资源的情况下得到一些特定的时钟信号。</p><p>在 STM32F103 中,MCO 对于 PLL 的输出有两种选择,分别是 PLL/2 和 PLL/3,但是这对于主频高达 256M 的 Air32 来说显然是不够的,因为其 GPIO 输出最大仅 50M。因此 Air32 有了专属的一个寄存器来控制 MCO 的输出,这个寄存器就是<code>RCC_MCO_VAL</code>,其相对 RCC 的偏移量为<code>0x30</code>。</p><p><img src="/assets/2023-08-20-23-11-24-ZMzPBXQb.png" alt=""></p><h2 id="添加寄存器地址" tabindex="-1"><a class="header-anchor" href="#添加寄存器地址"><span>添加寄存器地址</span></a></h2><p>因为这个寄存器是 Air32 独有的,因此我们需要单独添加。我们在芯片的头文件中的<code>RCC_TypeDef</code>结构体中进行添加,我们此处以<code>air32f103xb.h</code>为例,添加的代码如下:</p><div class="language-c line-numbers-mode" data-ext="c" data-title="c"><pre class="language-c"><code><span class="token keyword">typedef</span> <span class="token keyword">struct</span>
@@ -130,6 +130,6 @@
 <span class="token punctuation">}</span>
 </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>至此,我们就完成了对 MCO 的添加,接下来我们就可以在 HAL 库中使用 MCO 了。我们只需要调用<code>HAL_RCC_MCOConfig</code>即可使用 MCO 输出,例如:</p><div class="language-c line-numbers-mode" data-ext="c" data-title="c"><pre class="language-c"><code><span class="token function">HAL_RCC_MCOConfig</span><span class="token punctuation">(</span>RCC_MCO1<span class="token punctuation">,</span> RCC_MCO1SOURCE_PLLCLK_DIV16<span class="token punctuation">,</span> RCC_MCODIV_1<span class="token punctuation">)</span><span class="token punctuation">;</span>
 </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>即可以 16 分频输出 PLL 的时钟信号。</p><h2 id="附录" tabindex="-1"><a class="header-anchor" href="#附录"><span>附录</span></a></h2><p>测试的代码可以参考<a href="https://github.com/Air-duino/Air32F103-HAL-RCC" target="_blank" rel="noopener noreferrer">https://github.com/Air-duino/Air32F103-HAL-RCC<span><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"><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"></path><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"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a></p></div><!--[--><!----><!--]--><footer class="page-meta"><div class="meta-item edit-link"><a href="https://github.com/HalfSweet/Blog/edit/main/src/posts/Air32的HAL改造——适配MCO.md" rel="noopener noreferrer" target="_blank" aria-label="在 GitHub 上编辑此页" class="nav-link label"><!--[--><svg xmlns="http://www.w3.org/2000/svg" class="icon edit-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="edit icon"><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"></path><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"></path></svg><!--]-->在 GitHub 上编辑此页<span><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"><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"></path><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"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!----></a></div><div class="meta-item git-info"><div class="update-time"><span class="label">上次编辑于: </span><!----></div><div class="contributors"><span class="label">贡献者: </span><!--[--><!--[--><span class="contributor" title="email: halfsweet@halfsweet.cn">HalfSweet</span><!--]--><!--]--></div></div></footer><nav class="vp-page-nav"><a class="route-link nav-link prev" href="/posts/Air32-Clion/" aria-label="使用 Clion 来进行 Air32 的开发"><div class="hint"><span class="arrow start"></span>上一页</div><div class="link"><!---->使用 Clion 来进行 Air32 的开发</div></a><a class="route-link nav-link next" href="/posts/HelloWorld/" aria-label="HelloWorld"><div class="hint">下一页<span class="arrow end"></span></div><div class="link">HelloWorld<!----></div></a></nav><div id="vp-comment" class="giscus-wrapper input-top" style="display:block;"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" preserveAspectRatio="xMidYMid" viewBox="0 0 100 100"><circle cx="28" cy="75" r="11" fill="currentColor"><animate attributeName="fill-opacity" begin="0s" dur="1s" keyTimes="0;0.2;1" repeatCount="indefinite" values="0;1;1"></animate></circle><path fill="none" stroke="#88baf0" stroke-width="10" d="M28 47a28 28 0 0 1 28 28"><animate attributeName="stroke-opacity" begin="0.1s" dur="1s" keyTimes="0;0.2;1" repeatCount="indefinite" values="0;1;1"></animate></path><path fill="none" stroke="#88baf0" stroke-width="10" d="M28 25a50 50 0 0 1 50 50"><animate attributeName="stroke-opacity" begin="0.2s" dur="1s" keyTimes="0;0.2;1" repeatCount="indefinite" values="0;1;1"></animate></path></svg></div><!--[--><!----><!--]--><!--]--></main><!--]--><footer class="vp-footer-wrapper"><div class="vp-footer">今天咕咕被欺负了吗</div><div class="vp-copyright">Copyright © 2024 HalfSweet </div></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div>
-    <script type="module" src="/assets/app-ClwIkahu.js" defer></script>
+    <script type="module" src="/assets/app-Flo2gZk8.js" defer></script>
   </body>
 </html>
diff --git a/posts/Empedded-CI-CD/index.html b/posts/Empedded-CI-CD/index.html
index 7ceb2de..fdd3b96 100644
--- a/posts/Empedded-CI-CD/index.html
+++ b/posts/Empedded-CI-CD/index.html
@@ -29,9 +29,9 @@
       }
     </script>
     <meta property="og:url" content="https://halfsweet.cn/posts/Empedded-CI-CD/"><meta property="og:site_name" content="HalfSweet's Blog"><meta property="og:title" content="嵌入式中的 CI/CD"><meta property="og:description" content="对于传统的嵌入式开发来说,我们一般常用的IDE都是诸如Keil、IAR等。这些IDE在方便了我们的开发的同时,也存在很多问题,例如在之前Keil-MDK5是不能跨平台的,仅限在Windows平台运行,并且它的授权也是一个老大难的问题。这样我们在团队协作的时候往往就会遇到很多问题,无法像是互联网的开发那样有一套完整的CI/CD流程。但是MDK6的更新解决..."><meta property="og:type" content="article"><meta property="og:locale" content="zh-CN"><meta property="og:updated_time" content="2024-03-23T06:39:37.000Z"><meta property="article:author" content="HalfSweet"><meta property="article:tag" content="Air001"><meta property="article:tag" content="合宙"><meta property="article:tag" content="CI/CD"><meta property="article:published_time" content="2024-01-07T12:30:00.000Z"><meta property="article:modified_time" content="2024-03-23T06:39:37.000Z"><script type="application/ld+json">{"@context":"https://schema.org","@type":"Article","headline":"嵌入式中的 CI/CD","image":[""],"datePublished":"2024-01-07T12:30:00.000Z","dateModified":"2024-03-23T06:39:37.000Z","author":[{"@type":"Person","name":"HalfSweet","link":"https://github.com/HalfSweet"}]}</script><title>嵌入式中的 CI/CD | HalfSweet's Blog</title><meta name="description" content="对于传统的嵌入式开发来说,我们一般常用的IDE都是诸如Keil、IAR等。这些IDE在方便了我们的开发的同时,也存在很多问题,例如在之前Keil-MDK5是不能跨平台的,仅限在Windows平台运行,并且它的授权也是一个老大难的问题。这样我们在团队协作的时候往往就会遇到很多问题,无法像是互联网的开发那样有一套完整的CI/CD流程。但是MDK6的更新解决...">
-    <link rel="preload" href="/assets/style-BDwnt-CL.css" as="style"><link rel="stylesheet" href="/assets/style-BDwnt-CL.css">
-    <link rel="modulepreload" href="/assets/app-ClwIkahu.js"><link rel="modulepreload" href="/assets/index.html-CFhDcrZp.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
-    <link rel="prefetch" href="/assets/index.html-BjG6C5xb.js" as="script"><link rel="prefetch" href="/assets/index.html-6gNmrYKw.js" as="script"><link rel="prefetch" href="/assets/index.html-W8DPbcPd.js" as="script"><link rel="prefetch" href="/assets/index.html-75fD8c0W.js" as="script"><link rel="prefetch" href="/assets/index.html-CufQKtZU.js" as="script"><link rel="prefetch" href="/assets/index.html-Bqe7scks.js" as="script"><link rel="prefetch" href="/assets/index.html-B5-KeVPb.js" as="script"><link rel="prefetch" href="/assets/index.html-C7FigsQF.js" as="script"><link rel="prefetch" href="/assets/index.html-DtEE6E7f.js" as="script"><link rel="prefetch" href="/assets/index.html-0oPRY09N.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNCX4dz.js" as="script"><link rel="prefetch" href="/assets/index.html-XtQdJJI8.js" as="script"><link rel="prefetch" href="/assets/index.html-CnJ0E6b5.js" as="script"><link rel="prefetch" href="/assets/index.html-Bd1PkxNi.js" as="script"><link rel="prefetch" href="/assets/index.html-DJ-_mZ9n.js" as="script"><link rel="prefetch" href="/assets/index.html-jFzM8lrm.js" as="script"><link rel="prefetch" href="/assets/404.html-VMfaDGRx.js" as="script"><link rel="prefetch" href="/assets/index.html-BaR2aqhq.js" as="script"><link rel="prefetch" href="/assets/index.html-DO2xY2T5.js" as="script"><link rel="prefetch" href="/assets/index.html-BEwHBlkc.js" as="script"><link rel="prefetch" href="/assets/index.html-DZIt3Q5g.js" as="script"><link rel="prefetch" href="/assets/index.html-Dd9JrssL.js" as="script"><link rel="prefetch" href="/assets/index.html-BjPOIJdK.js" as="script"><link rel="prefetch" href="/assets/index.html-CmtlWOBH.js" as="script"><link rel="prefetch" href="/assets/index.html-CR-9qG2Y.js" as="script"><link rel="prefetch" href="/assets/index.html-CwWDCYUS.js" as="script"><link rel="prefetch" href="/assets/index.html-CptFZpi0.js" as="script"><link rel="prefetch" href="/assets/index.html-p6Y7Jm3n.js" as="script"><link rel="prefetch" href="/assets/index.html-CIen8cvO.js" as="script"><link rel="prefetch" href="/assets/index.html-BKUs44hv.js" as="script"><link rel="prefetch" href="/assets/index.html-D0wSSTgQ.js" as="script"><link rel="prefetch" href="/assets/index.html-DqsCIdcm.js" as="script"><link rel="prefetch" href="/assets/index.html-kUwAIzkD.js" as="script"><link rel="prefetch" href="/assets/index.html-BqgjNdmg.js" as="script"><link rel="prefetch" href="/assets/index.html-DIaDLRqn.js" as="script"><link rel="prefetch" href="/assets/index.html-DhcL23aG.js" as="script"><link rel="prefetch" href="/assets/index.html-Bk9EBjUw.js" as="script"><link rel="prefetch" href="/assets/index.html-C0X-QC5U.js" as="script"><link rel="prefetch" href="/assets/index.html-ZwD6xCF4.js" as="script"><link rel="prefetch" href="/assets/index.html-BdqadbH8.js" as="script"><link rel="prefetch" href="/assets/index.html-D7Uf3Wbw.js" as="script"><link rel="prefetch" href="/assets/index.html-CsuDpoYK.js" as="script"><link rel="prefetch" href="/assets/index.html-Dc2bdBF2.js" as="script"><link rel="prefetch" href="/assets/index.html-BzgkemtD.js" as="script"><link rel="prefetch" href="/assets/index.html-7uHHiaZx.js" as="script"><link rel="prefetch" href="/assets/index.html-TGoZudvZ.js" as="script"><link rel="prefetch" href="/assets/index.html-DbCWijUV.js" as="script"><link rel="prefetch" href="/assets/index.html-DOCRL60a.js" as="script"><link rel="prefetch" href="/assets/index.html-B8qYb7wb.js" as="script"><link rel="prefetch" href="/assets/index.html-CpBdG6tv.js" as="script"><link rel="prefetch" href="/assets/index.html-DdE0h7xo.js" as="script"><link rel="prefetch" href="/assets/index.html-BlsdgZAc.js" as="script"><link rel="prefetch" href="/assets/index.html-Du74cC6X.js" as="script"><link rel="prefetch" href="/assets/index.html-CTp2Oa39.js" as="script"><link rel="prefetch" href="/assets/index.html-Bz73p56D.js" as="script"><link rel="prefetch" href="/assets/index.html-BktjQtFB.js" as="script"><link rel="prefetch" href="/assets/index.html-DPl--Ppt.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-BF52VcER.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CgYxLcm_.js" as="script"><link rel="prefetch" href="/assets/artplayer-CHAGXahu.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-BOVnG7as.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-CbA2In8H.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-Do1ld-lW.js" as="script"><link rel="prefetch" href="/assets/giscus-7BMGhbDA.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-SzV8tJDW.js" as="script">
+    <link rel="preload" href="/assets/style-7DTFFHvh.css" as="style"><link rel="stylesheet" href="/assets/style-7DTFFHvh.css">
+    <link rel="modulepreload" href="/assets/app-Flo2gZk8.js"><link rel="modulepreload" href="/assets/index.html-B45efyIG.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
+    <link rel="prefetch" href="/assets/index.html-BhtLl4n3.js" as="script"><link rel="prefetch" href="/assets/index.html-C6yte3a0.js" as="script"><link rel="prefetch" href="/assets/index.html-R-cHHIas.js" as="script"><link rel="prefetch" href="/assets/index.html-CPUAg15t.js" as="script"><link rel="prefetch" href="/assets/index.html-BjdnOCC5.js" as="script"><link rel="prefetch" href="/assets/index.html-7Xyk7CrU.js" as="script"><link rel="prefetch" href="/assets/index.html-BNW3YRR3.js" as="script"><link rel="prefetch" href="/assets/index.html-jClrTNl3.js" as="script"><link rel="prefetch" href="/assets/index.html-tFfBEjXi.js" as="script"><link rel="prefetch" href="/assets/index.html-DgPmeCdQ.js" as="script"><link rel="prefetch" href="/assets/index.html-CxRigd-R.js" as="script"><link rel="prefetch" href="/assets/index.html-BWPjJqfa.js" as="script"><link rel="prefetch" href="/assets/index.html-DzG2EJXJ.js" as="script"><link rel="prefetch" href="/assets/index.html-D_Px6PD2.js" as="script"><link rel="prefetch" href="/assets/index.html-U1Oe9QlK.js" as="script"><link rel="prefetch" href="/assets/index.html-fvB3i9PM.js" as="script"><link rel="prefetch" href="/assets/404.html-mkIobPP0.js" as="script"><link rel="prefetch" href="/assets/index.html-DGqb01LU.js" as="script"><link rel="prefetch" href="/assets/index.html-GZfFX8ok.js" as="script"><link rel="prefetch" href="/assets/index.html-vhaMR1PK.js" as="script"><link rel="prefetch" href="/assets/index.html-CvSEeOlH.js" as="script"><link rel="prefetch" href="/assets/index.html-BmplSMWS.js" as="script"><link rel="prefetch" href="/assets/index.html-C2sDDxGY.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNwolvq.js" as="script"><link rel="prefetch" href="/assets/index.html-DhSSZBRU.js" as="script"><link rel="prefetch" href="/assets/index.html-DPcGNBru.js" as="script"><link rel="prefetch" href="/assets/index.html-BFJ0kKZP.js" as="script"><link rel="prefetch" href="/assets/index.html-CBW4olfB.js" as="script"><link rel="prefetch" href="/assets/index.html-CiBWk0Bg.js" as="script"><link rel="prefetch" href="/assets/index.html-AFWYFeTY.js" as="script"><link rel="prefetch" href="/assets/index.html-DlrkN0XZ.js" as="script"><link rel="prefetch" href="/assets/index.html-Cb-sPtFS.js" as="script"><link rel="prefetch" href="/assets/index.html-DPF-EyUV.js" as="script"><link rel="prefetch" href="/assets/index.html-AqhAiBBF.js" as="script"><link rel="prefetch" href="/assets/index.html-DLZdHb6J.js" as="script"><link rel="prefetch" href="/assets/index.html-Cpr5viHS.js" as="script"><link rel="prefetch" href="/assets/index.html-BXxGxqK4.js" as="script"><link rel="prefetch" href="/assets/index.html-4asd-b47.js" as="script"><link rel="prefetch" href="/assets/index.html-ZITi3OK2.js" as="script"><link rel="prefetch" href="/assets/index.html-DJMKg_M6.js" as="script"><link rel="prefetch" href="/assets/index.html-Y__KWg8u.js" as="script"><link rel="prefetch" href="/assets/index.html--BIzY7gk.js" as="script"><link rel="prefetch" href="/assets/index.html-BRHXQqdq.js" as="script"><link rel="prefetch" href="/assets/index.html-C_2nkQ6B.js" as="script"><link rel="prefetch" href="/assets/index.html-R9oSKuoP.js" as="script"><link rel="prefetch" href="/assets/index.html-DY-KY6vi.js" as="script"><link rel="prefetch" href="/assets/index.html-BSndmKE7.js" as="script"><link rel="prefetch" href="/assets/index.html-BDmR_g70.js" as="script"><link rel="prefetch" href="/assets/index.html-CpeDyHcd.js" as="script"><link rel="prefetch" href="/assets/index.html-DV9WiiCS.js" as="script"><link rel="prefetch" href="/assets/index.html-DTceWJaH.js" as="script"><link rel="prefetch" href="/assets/index.html-2WOtvPq_.js" as="script"><link rel="prefetch" href="/assets/index.html-DCVozm3V.js" as="script"><link rel="prefetch" href="/assets/index.html-vKhQGG0S.js" as="script"><link rel="prefetch" href="/assets/index.html-BlvUTCvM.js" as="script"><link rel="prefetch" href="/assets/index.html-vIW8aJUJ.js" as="script"><link rel="prefetch" href="/assets/index.html-CTuZCChr.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-S0Hns9UN.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CSFeuThZ.js" as="script"><link rel="prefetch" href="/assets/artplayer-DnixxQIM.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-DaNo29Rn.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-nRkOMaNb.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-DQalTb-T.js" as="script"><link rel="prefetch" href="/assets/giscus-D-fkNSKD.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-GXRgw7eJ.js" as="script">
   </head>
   <body>
     <div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container has-toc"><!--[--><header id="navbar" class="vp-navbar"><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><!--[--><a class="route-link vp-brand" href="/"><img class="vp-nav-logo" src="/img/Headshot.jpg" alt><!----><span class="vp-site-name hide-in-pad">HalfSweet&#39;s Blog</span></a><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-center"><!--[--><!----><!--]--><!--[--><nav class="vp-nav-links"><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link active" href="/posts/" aria-label="文章"><span class="font-icon icon app" style=""></span>文章<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/about/" aria-label="关于"><span class="font-icon icon user" style=""></span>关于<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/friends/" aria-label="友链"><span class="font-icon icon link" style=""></span>友链<!----></a></div></nav><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-end"><!--[--><!----><!--]--><!--[--><!----><div class="nav-item vp-repo"><a class="vp-repo-link" href="https://github.com/HalfSweet/Blog" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><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"></path></svg></a></div><div class="nav-item hide-in-mobile"><button type="button" id="appearance-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" style="display:block;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" style="display:none;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" style="display:none;"><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"></path></svg></button></div><!----><!--]--><!--[--><!----><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar"><!--[--><!----><!--]--><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></li><li><section class="vp-sidebar-group"><p class="vp-sidebar-header active"><span class="font-icon icon book" style=""></span><span class="vp-sidebar-title">文章</span><!----></p><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-Clion/" aria-label="使用 Clion 来进行 Air32 的开发"><!---->使用 Clion 来进行 Air32 的开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-MCO/" aria-label="Air32 的 HAL 改造——适配 MCO"><!---->Air32 的 HAL 改造——适配 MCO<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/HelloWorld/" aria-label="HelloWorld"><!---->HelloWorld<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/STC_CoreMark/" aria-label="不服来跑个分?将 CoreMark 移植到 STC 上试试"><!---->不服来跑个分?将 CoreMark 移植到 STC 上试试<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="为什么我对第三代郊狼失望"><!---->为什么我对第三代郊狼失望<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-HighFreq/" aria-label="发挥全部实力!Air32 在 HAL 库环境下运行最高主频"><!---->发挥全部实力!Air32 在 HAL 库环境下运行最高主频<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/embedded_fmtlib/" aria-label="在嵌入式设备上使用fmtlib"><!---->在嵌入式设备上使用fmtlib<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/conda_novelai/" aria-label="基于conda进行手动配置novelAI"><!---->基于conda进行手动配置novelAI<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="对《为什么我对第三代郊狼失望》一文的澄清说明"><!---->对《为什么我对第三代郊狼失望》一文的澄清说明<!----></a></li><li><a class="route-link nav-link active vp-sidebar-link vp-sidebar-page active" href="/posts/Empedded-CI-CD/" aria-label="嵌入式中的 CI/CD"><!---->嵌入式中的 CI/CD<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/MDK6-Dev/" aria-label="更现代的开发方式?使用 MDK6 进行开发"><!---->更现代的开发方式?使用 MDK6 进行开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/SEGGER-RTT/" aria-label="更高效的日志查看方式——使用SEGGER-RTT"><!---->更高效的日志查看方式——使用SEGGER-RTT<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/EpdTraps1/" aria-label="墨水屏的坑——7.5寸墨水屏刷新为何出现条纹"><!---->墨水屏的坑——7.5寸墨水屏刷新为何出现条纹<!----></a></li></ul></section></li></ul><!--[--><!----><!--]--></aside><!--[--><main id="main-content" class="vp-page"><!--[--><!--[--><!----><!--]--><!----><nav class="vp-breadcrumb disable"></nav><div class="vp-page-title"><h1><!---->嵌入式中的 CI/CD</h1><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2024-01-07T12:30:00.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>大约 5 分钟</span><meta property="timeRequired" content="PT5M"></span><span class="page-category-info" aria-label="分类🌈" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg><!--[--><span class="page-category-item category8 clickable" role="navigation">单片机</span><!--]--><meta property="articleSection" content="单片机"></span><span class="page-tag-info" aria-label="标签🏷" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg><!--[--><span class="page-tag-item tag8 clickable" role="navigation">Air001</span><span class="page-tag-item tag8 clickable" role="navigation">合宙</span><span class="page-tag-item tag2 clickable" role="navigation">CI/CD</span><!--]--><meta property="keywords" content="Air001,合宙,CI/CD"></span></div><hr></div><div class="vp-toc-placeholder"><aside id="toc"><!--[--><!----><!--]--><div class="vp-toc-header">此页内容<button type="button" class="print-button" title="打印"><svg xmlns="http://www.w3.org/2000/svg" class="icon print-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="print icon"><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"></path></svg></button><div class="arrow end"></div></div><div class="vp-toc-wrapper"><ul class="vp-toc-list"><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#ci-cd是什么">CI/CD是什么</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#一些前置条件">一些前置条件</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#编写github-actions脚本">编写Github Actions脚本</a></li><li><ul class="vp-toc-list"><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="/#安装-vcpkg">安装 vcpkg</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="/#将mdk5风格的工程转换为mdk6">将MDK5风格的工程转换为MDK6</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="/#activate-vcpkg">activate vcpkg</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="/#激活armclang社区许可证">激活ArmClang社区许可证</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="/#开始编译">开始编译</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="/#生成hex及bin文件">生成hex及bin文件</a></li><!----><!--]--></ul></li><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#release">Release</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#faq">FAQ</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#演示仓库">演示仓库</a></li><!----><!--]--></ul><div class="vp-toc-marker" style="top:-1.7rem;"></div></div><!--[--><!----><!--]--></aside></div><!--[--><!----><!--]--><div class="theme-hope-content"><p>对于传统的嵌入式开发来说,我们一般常用的IDE都是诸如Keil、IAR等。这些IDE在方便了我们的开发的同时,也存在很多问题,例如在之前Keil-MDK5是不能跨平台的,仅限在Windows平台运行,并且它的授权也是一个老大难的问题。这样我们在团队协作的时候往往就会遇到很多问题,无法像是互联网的开发那样有一套完整的CI/CD流程。但是MDK6的更新解决了这个问题,第一它是跨平台的,这样在Windows、Linux以及MacOS上都能运行;并且也支持了很多命令行的操作,避免了繁琐的GUI操作,这样也更有利于自动化脚本的编写。</p><h2 id="ci-cd是什么" tabindex="-1"><a class="header-anchor" href="#ci-cd是什么"><span>CI/CD是什么</span></a></h2><p>CI/CD是指持续集成(Continuous Integration)和持续交付(Continuous Delivery),是一种软件开发实践,通过使用自动化的软件工具来加快软件开发的流程,这样可以更快的交付高质量的软件。CI/CD的核心是持续集成,即在开发过程中,频繁的将代码集成到主干上,这样可以更快的发现错误,更快的修复错误。而持续交付则是在持续集成的基础上,将集成后的代码部署到生产环境中,这样可以更快的将新功能交付给用户。</p><p>简单来说,就是作为开发者的我们,只需要关注代码的编写,而不需要关注代码的编译、测试、部署等等,这些都可以通过自动化的脚本来完成。如果有多人协作的场景下,最终产物的编译和交付也可以通过自动化的脚本来完成,而不是传统的需要人工来完成。</p><p>在本文中,我们采用Github Actions来完成CI/CD的流程。我假设本文的读者已经对Github Actions有一定的了解,如果没有的话也没关系,可以参考<a href="https://docs.github.com/cn/actions/learn-github-actions/introduction-to-github-actions" target="_blank" rel="noopener noreferrer">官方文档<span><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"><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"></path><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"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a>,并且本文也会对一些关键的地方进行说明。</p><h2 id="一些前置条件" tabindex="-1"><a class="header-anchor" href="#一些前置条件"><span>一些前置条件</span></a></h2><ol><li>一个基于Keil-MDK的工程,无论你之前是否配置过MDK6</li><li>你的工程需要用AC6的编译器编译通过</li><li>一个Github账号</li><li>一定的学习能力</li></ol><h2 id="编写github-actions脚本" tabindex="-1"><a class="header-anchor" href="#编写github-actions脚本"><span>编写Github Actions脚本</span></a></h2><p>我们假定你的这个工程在Github上已经新建了一个仓库,如果没有需要先新建一个仓库。然后在仓库的根目录下新建一个<code>.github/workflows</code>文件夹,然后在这个文件夹下新建一个<code>release.yml</code>文件,这个文件就是我们的Github Actions脚本。它的名称无所谓,但是后缀必须是<code>.yml</code>,这是YAML文件的后缀。</p><p>我们略去一些基础的Action的操作,直接进入到关键的一些步骤。</p><h3 id="安装-vcpkg" tabindex="-1"><a class="header-anchor" href="#安装-vcpkg"><span>安装 vcpkg</span></a></h3><p>vcpkg是微软开发的一个C/C++的包管理工具,类似于Python的pip、Node.js的npm、Java的maven等等。在MDK6中它被用来作为很重要的包管理器,因此我们需要保证先安装好它。安装非常简单,只需要:</p><div class="language-bash line-numbers-mode" data-ext="sh" data-title="sh"><pre class="language-bash"><code><span class="token builtin class-name">.</span> <span class="token operator">&lt;</span><span class="token punctuation">(</span><span class="token function">curl</span> https://aka.ms/vcpkg-init.sh -L<span class="token punctuation">)</span>
@@ -50,6 +50,6 @@
 </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>这样我们就可以直接用<code>fromelf</code>命令来转换了</p><div class="language-bash line-numbers-mode" data-ext="sh" data-title="sh"><pre class="language-bash"><code>fromelf <span class="token parameter variable">--bin</span> <span class="token parameter variable">--output</span><span class="token operator">=</span><span class="token string">&quot;out/CoreMark/Project/CoreMark.bin&quot;</span> <span class="token string">&quot;out/CoreMark/Project/CoreMark.axf&quot;</span>
 fromelf <span class="token parameter variable">--i32</span> <span class="token parameter variable">--output</span><span class="token operator">=</span><span class="token string">&quot;out/CoreMark/Project/CoreMark.hex&quot;</span> <span class="token string">&quot;out/CoreMark/Project/CoreMark.axf&quot;</span>
 </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="release" tabindex="-1"><a class="header-anchor" href="#release"><span>Release</span></a></h2><p>这个时候我们将最终文件上传到release中就好了,这里我用的是<code>ncipollo/release-action</code>这个插件。具体的操作可以看演示仓库。</p><h2 id="faq" tabindex="-1"><a class="header-anchor" href="#faq"><span>FAQ</span></a></h2><p>有问题可以评论区留言,遇到的问题可以更新在FAQ里。</p><h2 id="演示仓库" tabindex="-1"><a class="header-anchor" href="#演示仓库"><span>演示仓库</span></a></h2><p><a href="https://github.com/Air-duino/Air001-CoreMark" target="_blank" rel="noopener noreferrer">https://github.com/Air-duino/Air001-CoreMark<span><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"><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"></path><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"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a></p></div><!--[--><!----><!--]--><footer class="page-meta"><div class="meta-item edit-link"><a href="https://github.com/HalfSweet/Blog/edit/main/src/posts/嵌入式中的CI-CD.md" rel="noopener noreferrer" target="_blank" aria-label="在 GitHub 上编辑此页" class="nav-link label"><!--[--><svg xmlns="http://www.w3.org/2000/svg" class="icon edit-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="edit icon"><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"></path><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"></path></svg><!--]-->在 GitHub 上编辑此页<span><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"><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"></path><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"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!----></a></div><div class="meta-item git-info"><div class="update-time"><span class="label">上次编辑于: </span><!----></div><div class="contributors"><span class="label">贡献者: </span><!--[--><!--[--><span class="contributor" title="email: halfsweet@halfsweet.cn">HalfSweet</span><!--]--><!--]--></div></div></footer><nav class="vp-page-nav"><a class="route-link nav-link prev" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="对《为什么我对第三代郊狼失望》一文的澄清说明"><div class="hint"><span class="arrow start"></span>上一页</div><div class="link"><!---->对《为什么我对第三代郊狼失望》一文的澄清说明</div></a><a class="route-link nav-link next" href="/posts/MDK6-Dev/" aria-label="更现代的开发方式?使用 MDK6 进行开发"><div class="hint">下一页<span class="arrow end"></span></div><div class="link">更现代的开发方式?使用 MDK6 进行开发<!----></div></a></nav><div id="vp-comment" class="giscus-wrapper input-top" style="display:block;"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" preserveAspectRatio="xMidYMid" viewBox="0 0 100 100"><circle cx="28" cy="75" r="11" fill="currentColor"><animate attributeName="fill-opacity" begin="0s" dur="1s" keyTimes="0;0.2;1" repeatCount="indefinite" values="0;1;1"></animate></circle><path fill="none" stroke="#88baf0" stroke-width="10" d="M28 47a28 28 0 0 1 28 28"><animate attributeName="stroke-opacity" begin="0.1s" dur="1s" keyTimes="0;0.2;1" repeatCount="indefinite" values="0;1;1"></animate></path><path fill="none" stroke="#88baf0" stroke-width="10" d="M28 25a50 50 0 0 1 50 50"><animate attributeName="stroke-opacity" begin="0.2s" dur="1s" keyTimes="0;0.2;1" repeatCount="indefinite" values="0;1;1"></animate></path></svg></div><!--[--><!----><!--]--><!--]--></main><!--]--><footer class="vp-footer-wrapper"><div class="vp-footer">今天咕咕被欺负了吗</div><div class="vp-copyright">Copyright © 2024 HalfSweet </div></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div>
-    <script type="module" src="/assets/app-ClwIkahu.js" defer></script>
+    <script type="module" src="/assets/app-Flo2gZk8.js" defer></script>
   </body>
 </html>
diff --git a/posts/EpdTraps1/index.html b/posts/EpdTraps1/index.html
index 5c57187..e176084 100644
--- a/posts/EpdTraps1/index.html
+++ b/posts/EpdTraps1/index.html
@@ -29,12 +29,12 @@
       }
     </script>
     <meta property="og:url" content="https://halfsweet.cn/posts/EpdTraps1/"><meta property="og:site_name" content="HalfSweet's Blog"><meta property="og:title" content="墨水屏的坑——7.5寸墨水屏刷新为何出现条纹"><meta property="og:description" content="前言 之前在我群里的同学应该都还记得,之前有朋友送给半糖两块7.5寸的墨水屏,其中一块是黑白双色的,标签型号是DEPG0750RWU790F30,驱动芯片则是UC8179。这块屏确实蛮好的,有着高达800*480的分辨率,并且因为是7.5寸所以可视面积非常大,但是在调试的过程中半糖发现了一个问题:这个屏幕的刷新过程中怎么会出现白色条纹,并且刷完的颜色非..."><meta property="og:type" content="article"><meta property="og:locale" content="zh-CN"><meta property="og:updated_time" content="2024-03-23T06:35:02.000Z"><meta property="article:author" content="HalfSweet"><meta property="article:tag" content="墨水屏"><meta property="article:tag" content="UC8179"><meta property="article:tag" content="DEPG0750RWU790F30"><meta property="article:tag" content="遇到的坑"><meta property="article:published_time" content="2022-11-06T05:30:37.000Z"><meta property="article:modified_time" content="2024-03-23T06:35:02.000Z"><script type="application/ld+json">{"@context":"https://schema.org","@type":"Article","headline":"墨水屏的坑——7.5寸墨水屏刷新为何出现条纹","image":[""],"datePublished":"2022-11-06T05:30:37.000Z","dateModified":"2024-03-23T06:35:02.000Z","author":[{"@type":"Person","name":"HalfSweet","link":"https://github.com/HalfSweet"}]}</script><title>墨水屏的坑——7.5寸墨水屏刷新为何出现条纹 | HalfSweet's Blog</title><meta name="description" content="前言 之前在我群里的同学应该都还记得,之前有朋友送给半糖两块7.5寸的墨水屏,其中一块是黑白双色的,标签型号是DEPG0750RWU790F30,驱动芯片则是UC8179。这块屏确实蛮好的,有着高达800*480的分辨率,并且因为是7.5寸所以可视面积非常大,但是在调试的过程中半糖发现了一个问题:这个屏幕的刷新过程中怎么会出现白色条纹,并且刷完的颜色非...">
-    <link rel="preload" href="/assets/style-BDwnt-CL.css" as="style"><link rel="stylesheet" href="/assets/style-BDwnt-CL.css">
-    <link rel="modulepreload" href="/assets/app-ClwIkahu.js"><link rel="modulepreload" href="/assets/index.html-XtQdJJI8.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
-    <link rel="prefetch" href="/assets/index.html-BjG6C5xb.js" as="script"><link rel="prefetch" href="/assets/index.html-6gNmrYKw.js" as="script"><link rel="prefetch" href="/assets/index.html-W8DPbcPd.js" as="script"><link rel="prefetch" href="/assets/index.html-75fD8c0W.js" as="script"><link rel="prefetch" href="/assets/index.html-CufQKtZU.js" as="script"><link rel="prefetch" href="/assets/index.html-Bqe7scks.js" as="script"><link rel="prefetch" href="/assets/index.html-B5-KeVPb.js" as="script"><link rel="prefetch" href="/assets/index.html-C7FigsQF.js" as="script"><link rel="prefetch" href="/assets/index.html-DtEE6E7f.js" as="script"><link rel="prefetch" href="/assets/index.html-0oPRY09N.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNCX4dz.js" as="script"><link rel="prefetch" href="/assets/index.html-CnJ0E6b5.js" as="script"><link rel="prefetch" href="/assets/index.html-CFhDcrZp.js" as="script"><link rel="prefetch" href="/assets/index.html-Bd1PkxNi.js" as="script"><link rel="prefetch" href="/assets/index.html-DJ-_mZ9n.js" as="script"><link rel="prefetch" href="/assets/index.html-jFzM8lrm.js" as="script"><link rel="prefetch" href="/assets/404.html-VMfaDGRx.js" as="script"><link rel="prefetch" href="/assets/index.html-BaR2aqhq.js" as="script"><link rel="prefetch" href="/assets/index.html-DO2xY2T5.js" as="script"><link rel="prefetch" href="/assets/index.html-BEwHBlkc.js" as="script"><link rel="prefetch" href="/assets/index.html-DZIt3Q5g.js" as="script"><link rel="prefetch" href="/assets/index.html-Dd9JrssL.js" as="script"><link rel="prefetch" href="/assets/index.html-BjPOIJdK.js" as="script"><link rel="prefetch" href="/assets/index.html-CmtlWOBH.js" as="script"><link rel="prefetch" href="/assets/index.html-CR-9qG2Y.js" as="script"><link rel="prefetch" href="/assets/index.html-CwWDCYUS.js" as="script"><link rel="prefetch" href="/assets/index.html-CptFZpi0.js" as="script"><link rel="prefetch" href="/assets/index.html-p6Y7Jm3n.js" as="script"><link rel="prefetch" href="/assets/index.html-CIen8cvO.js" as="script"><link rel="prefetch" href="/assets/index.html-BKUs44hv.js" as="script"><link rel="prefetch" href="/assets/index.html-D0wSSTgQ.js" as="script"><link rel="prefetch" href="/assets/index.html-DqsCIdcm.js" as="script"><link rel="prefetch" href="/assets/index.html-kUwAIzkD.js" as="script"><link rel="prefetch" href="/assets/index.html-BqgjNdmg.js" as="script"><link rel="prefetch" href="/assets/index.html-DIaDLRqn.js" as="script"><link rel="prefetch" href="/assets/index.html-DhcL23aG.js" as="script"><link rel="prefetch" href="/assets/index.html-Bk9EBjUw.js" as="script"><link rel="prefetch" href="/assets/index.html-C0X-QC5U.js" as="script"><link rel="prefetch" href="/assets/index.html-ZwD6xCF4.js" as="script"><link rel="prefetch" href="/assets/index.html-BdqadbH8.js" as="script"><link rel="prefetch" href="/assets/index.html-D7Uf3Wbw.js" as="script"><link rel="prefetch" href="/assets/index.html-CsuDpoYK.js" as="script"><link rel="prefetch" href="/assets/index.html-Dc2bdBF2.js" as="script"><link rel="prefetch" href="/assets/index.html-BzgkemtD.js" as="script"><link rel="prefetch" href="/assets/index.html-7uHHiaZx.js" as="script"><link rel="prefetch" href="/assets/index.html-TGoZudvZ.js" as="script"><link rel="prefetch" href="/assets/index.html-DbCWijUV.js" as="script"><link rel="prefetch" href="/assets/index.html-DOCRL60a.js" as="script"><link rel="prefetch" href="/assets/index.html-B8qYb7wb.js" as="script"><link rel="prefetch" href="/assets/index.html-CpBdG6tv.js" as="script"><link rel="prefetch" href="/assets/index.html-DdE0h7xo.js" as="script"><link rel="prefetch" href="/assets/index.html-BlsdgZAc.js" as="script"><link rel="prefetch" href="/assets/index.html-Du74cC6X.js" as="script"><link rel="prefetch" href="/assets/index.html-CTp2Oa39.js" as="script"><link rel="prefetch" href="/assets/index.html-Bz73p56D.js" as="script"><link rel="prefetch" href="/assets/index.html-BktjQtFB.js" as="script"><link rel="prefetch" href="/assets/index.html-DPl--Ppt.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-BF52VcER.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CgYxLcm_.js" as="script"><link rel="prefetch" href="/assets/artplayer-CHAGXahu.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-BOVnG7as.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-CbA2In8H.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-Do1ld-lW.js" as="script"><link rel="prefetch" href="/assets/giscus-7BMGhbDA.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-SzV8tJDW.js" as="script">
+    <link rel="preload" href="/assets/style-7DTFFHvh.css" as="style"><link rel="stylesheet" href="/assets/style-7DTFFHvh.css">
+    <link rel="modulepreload" href="/assets/app-Flo2gZk8.js"><link rel="modulepreload" href="/assets/index.html-BWPjJqfa.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
+    <link rel="prefetch" href="/assets/index.html-BhtLl4n3.js" as="script"><link rel="prefetch" href="/assets/index.html-C6yte3a0.js" as="script"><link rel="prefetch" href="/assets/index.html-R-cHHIas.js" as="script"><link rel="prefetch" href="/assets/index.html-CPUAg15t.js" as="script"><link rel="prefetch" href="/assets/index.html-BjdnOCC5.js" as="script"><link rel="prefetch" href="/assets/index.html-7Xyk7CrU.js" as="script"><link rel="prefetch" href="/assets/index.html-BNW3YRR3.js" as="script"><link rel="prefetch" href="/assets/index.html-jClrTNl3.js" as="script"><link rel="prefetch" href="/assets/index.html-tFfBEjXi.js" as="script"><link rel="prefetch" href="/assets/index.html-DgPmeCdQ.js" as="script"><link rel="prefetch" href="/assets/index.html-CxRigd-R.js" as="script"><link rel="prefetch" href="/assets/index.html-DzG2EJXJ.js" as="script"><link rel="prefetch" href="/assets/index.html-B45efyIG.js" as="script"><link rel="prefetch" href="/assets/index.html-D_Px6PD2.js" as="script"><link rel="prefetch" href="/assets/index.html-U1Oe9QlK.js" as="script"><link rel="prefetch" href="/assets/index.html-fvB3i9PM.js" as="script"><link rel="prefetch" href="/assets/404.html-mkIobPP0.js" as="script"><link rel="prefetch" href="/assets/index.html-DGqb01LU.js" as="script"><link rel="prefetch" href="/assets/index.html-GZfFX8ok.js" as="script"><link rel="prefetch" href="/assets/index.html-vhaMR1PK.js" as="script"><link rel="prefetch" href="/assets/index.html-CvSEeOlH.js" as="script"><link rel="prefetch" href="/assets/index.html-BmplSMWS.js" as="script"><link rel="prefetch" href="/assets/index.html-C2sDDxGY.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNwolvq.js" as="script"><link rel="prefetch" href="/assets/index.html-DhSSZBRU.js" as="script"><link rel="prefetch" href="/assets/index.html-DPcGNBru.js" as="script"><link rel="prefetch" href="/assets/index.html-BFJ0kKZP.js" as="script"><link rel="prefetch" href="/assets/index.html-CBW4olfB.js" as="script"><link rel="prefetch" href="/assets/index.html-CiBWk0Bg.js" as="script"><link rel="prefetch" href="/assets/index.html-AFWYFeTY.js" as="script"><link rel="prefetch" href="/assets/index.html-DlrkN0XZ.js" as="script"><link rel="prefetch" href="/assets/index.html-Cb-sPtFS.js" as="script"><link rel="prefetch" href="/assets/index.html-DPF-EyUV.js" as="script"><link rel="prefetch" href="/assets/index.html-AqhAiBBF.js" as="script"><link rel="prefetch" href="/assets/index.html-DLZdHb6J.js" as="script"><link rel="prefetch" href="/assets/index.html-Cpr5viHS.js" as="script"><link rel="prefetch" href="/assets/index.html-BXxGxqK4.js" as="script"><link rel="prefetch" href="/assets/index.html-4asd-b47.js" as="script"><link rel="prefetch" href="/assets/index.html-ZITi3OK2.js" as="script"><link rel="prefetch" href="/assets/index.html-DJMKg_M6.js" as="script"><link rel="prefetch" href="/assets/index.html-Y__KWg8u.js" as="script"><link rel="prefetch" href="/assets/index.html--BIzY7gk.js" as="script"><link rel="prefetch" href="/assets/index.html-BRHXQqdq.js" as="script"><link rel="prefetch" href="/assets/index.html-C_2nkQ6B.js" as="script"><link rel="prefetch" href="/assets/index.html-R9oSKuoP.js" as="script"><link rel="prefetch" href="/assets/index.html-DY-KY6vi.js" as="script"><link rel="prefetch" href="/assets/index.html-BSndmKE7.js" as="script"><link rel="prefetch" href="/assets/index.html-BDmR_g70.js" as="script"><link rel="prefetch" href="/assets/index.html-CpeDyHcd.js" as="script"><link rel="prefetch" href="/assets/index.html-DV9WiiCS.js" as="script"><link rel="prefetch" href="/assets/index.html-DTceWJaH.js" as="script"><link rel="prefetch" href="/assets/index.html-2WOtvPq_.js" as="script"><link rel="prefetch" href="/assets/index.html-DCVozm3V.js" as="script"><link rel="prefetch" href="/assets/index.html-vKhQGG0S.js" as="script"><link rel="prefetch" href="/assets/index.html-BlvUTCvM.js" as="script"><link rel="prefetch" href="/assets/index.html-vIW8aJUJ.js" as="script"><link rel="prefetch" href="/assets/index.html-CTuZCChr.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-S0Hns9UN.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CSFeuThZ.js" as="script"><link rel="prefetch" href="/assets/artplayer-DnixxQIM.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-DaNo29Rn.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-nRkOMaNb.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-DQalTb-T.js" as="script"><link rel="prefetch" href="/assets/giscus-D-fkNSKD.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-GXRgw7eJ.js" as="script">
   </head>
   <body>
     <div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container has-toc"><!--[--><header id="navbar" class="vp-navbar"><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><!--[--><a class="route-link vp-brand" href="/"><img class="vp-nav-logo" src="/img/Headshot.jpg" alt><!----><span class="vp-site-name hide-in-pad">HalfSweet&#39;s Blog</span></a><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-center"><!--[--><!----><!--]--><!--[--><nav class="vp-nav-links"><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link active" href="/posts/" aria-label="文章"><span class="font-icon icon app" style=""></span>文章<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/about/" aria-label="关于"><span class="font-icon icon user" style=""></span>关于<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/friends/" aria-label="友链"><span class="font-icon icon link" style=""></span>友链<!----></a></div></nav><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-end"><!--[--><!----><!--]--><!--[--><!----><div class="nav-item vp-repo"><a class="vp-repo-link" href="https://github.com/HalfSweet/Blog" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><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"></path></svg></a></div><div class="nav-item hide-in-mobile"><button type="button" id="appearance-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" style="display:block;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" style="display:none;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" style="display:none;"><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"></path></svg></button></div><!----><!--]--><!--[--><!----><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar"><!--[--><!----><!--]--><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></li><li><section class="vp-sidebar-group"><p class="vp-sidebar-header active"><span class="font-icon icon book" style=""></span><span class="vp-sidebar-title">文章</span><!----></p><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-Clion/" aria-label="使用 Clion 来进行 Air32 的开发"><!---->使用 Clion 来进行 Air32 的开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-MCO/" aria-label="Air32 的 HAL 改造——适配 MCO"><!---->Air32 的 HAL 改造——适配 MCO<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/HelloWorld/" aria-label="HelloWorld"><!---->HelloWorld<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/STC_CoreMark/" aria-label="不服来跑个分?将 CoreMark 移植到 STC 上试试"><!---->不服来跑个分?将 CoreMark 移植到 STC 上试试<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="为什么我对第三代郊狼失望"><!---->为什么我对第三代郊狼失望<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-HighFreq/" aria-label="发挥全部实力!Air32 在 HAL 库环境下运行最高主频"><!---->发挥全部实力!Air32 在 HAL 库环境下运行最高主频<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/embedded_fmtlib/" aria-label="在嵌入式设备上使用fmtlib"><!---->在嵌入式设备上使用fmtlib<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/conda_novelai/" aria-label="基于conda进行手动配置novelAI"><!---->基于conda进行手动配置novelAI<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="对《为什么我对第三代郊狼失望》一文的澄清说明"><!---->对《为什么我对第三代郊狼失望》一文的澄清说明<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Empedded-CI-CD/" aria-label="嵌入式中的 CI/CD"><!---->嵌入式中的 CI/CD<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/MDK6-Dev/" aria-label="更现代的开发方式?使用 MDK6 进行开发"><!---->更现代的开发方式?使用 MDK6 进行开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/SEGGER-RTT/" aria-label="更高效的日志查看方式——使用SEGGER-RTT"><!---->更高效的日志查看方式——使用SEGGER-RTT<!----></a></li><li><a class="route-link nav-link active vp-sidebar-link vp-sidebar-page active" href="/posts/EpdTraps1/" aria-label="墨水屏的坑——7.5寸墨水屏刷新为何出现条纹"><!---->墨水屏的坑——7.5寸墨水屏刷新为何出现条纹<!----></a></li></ul></section></li></ul><!--[--><!----><!--]--></aside><!--[--><main id="main-content" class="vp-page"><!--[--><!--[--><!----><!--]--><!----><nav class="vp-breadcrumb disable"></nav><div class="vp-page-title"><h1><!---->墨水屏的坑——7.5寸墨水屏刷新为何出现条纹</h1><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2022-11-06T05:30:37.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>大约 7 分钟</span><meta property="timeRequired" content="PT7M"></span><span class="page-category-info" aria-label="分类🌈" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg><!--[--><span class="page-category-item category7 clickable" role="navigation">墨水屏</span><!--]--><meta property="articleSection" content="墨水屏"></span><span class="page-tag-info" aria-label="标签🏷" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg><!--[--><span class="page-tag-item tag7 clickable" role="navigation">墨水屏</span><span class="page-tag-item tag0 clickable" role="navigation">UC8179</span><span class="page-tag-item tag2 clickable" role="navigation">DEPG0750RWU790F30</span><span class="page-tag-item tag4 clickable" role="navigation">遇到的坑</span><!--]--><meta property="keywords" content="墨水屏,UC8179,DEPG0750RWU790F30,遇到的坑"></span></div><hr></div><div class="vp-toc-placeholder"><aside id="toc"><!--[--><!----><!--]--><div class="vp-toc-header">此页内容<button type="button" class="print-button" title="打印"><svg xmlns="http://www.w3.org/2000/svg" class="icon print-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="print icon"><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"></path></svg></button><div class="arrow end"></div></div><div class="vp-toc-wrapper"><ul class="vp-toc-list"><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#前言">前言</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#大佬相助">大佬相助</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#初寻端倪">初寻端倪</a></li><li><ul class="vp-toc-list"><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="/#tcon-setting">TCON SETTING</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="/#修改pll">修改PLL</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="/#真凶在此">真凶在此</a></li><!----><!--]--></ul></li><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#总结">总结</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#备注">备注</a></li><!----><!--]--></ul><div class="vp-toc-marker" style="top:-1.7rem;"></div></div><!--[--><!----><!--]--></aside></div><!--[--><!----><!--]--><div class="theme-hope-content"><h2 id="前言" tabindex="-1"><a class="header-anchor" href="#前言"><span>前言</span></a></h2><p>之前在我群里的同学应该都还记得,之前有朋友送给半糖两块7.5寸的墨水屏,其中一块是黑白双色的,标签型号是DEPG0750RWU790F30,驱动芯片则是UC8179。这块屏确实蛮好的,有着高达800*480的分辨率,并且因为是7.5寸所以可视面积非常大,但是在调试的过程中半糖发现了一个问题:这个屏幕的刷新过程中怎么会出现白色条纹,并且刷完的颜色非常怪?</p><p><img src="/assets/Refresh1-CILkrzQf.gif" alt=""></p><p><img src="/assets/Refresh2-DOaHQdUX.gif" alt=""></p><p>其中上面一张图为我自己做的波形,第二张为使用的OTP波形,但是无一例外,都出现了刷新的问题。抱着也许是驱动板出问题了的想法,我重新lay了一次板子,焊接好之后发现问题确实有所改善,但是并不佳。后续在更换过程中发现采用cd32封装的68uH的电感刷新效果会更好一些,但是依旧存在刷新问题,特别是在UI中有竖着的线条的时候,特别影响观感。</p><h2 id="大佬相助" tabindex="-1"><a class="header-anchor" href="#大佬相助"><span>大佬相助</span></a></h2><p>时间过得飞快,到了前几天,想着我解决不了这个问题就拉帮手的想法,我将这块屏寄给了<a href="https://github.com/axdz007" target="_blank" rel="noopener noreferrer">滚筒洗衣机<span><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"><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"></path><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"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a>大佬,然后在我的<s>威逼利诱</s>强烈要求下,我们开始了新一轮的测试。</p><p>果不其然,在他移植了我之前写的程序的时候,问题便复现了。</p><iframe src="/EpdTraps1/Refresh3.mp4" style="vertical-align:top;width:100%;height:100%;"></iframe><p>经过一系列的检查,排除了是取模方式等的因素,我们惊讶地发现…大连佳显的官方例程里面给的图片可以完美显示?紧接着我们又试了下全0xAA以及0x55的数据,理论上这样推上去的图像将是完整的一条条1像素的黑白条纹,结果……非常完美。既然横条没问题,那么竖条呢?出现了一点小问题。那么棋盘格呢?问题大了,屏幕甚至想要拒绝刷新。紧接着尝试了别的图像,结果出现了非常奇怪的效果,如果黑色比较少,分得比较开,那么刷出来没有任何问题,但是刷图片类似的比较复杂的形状又会炸掉。难道是内存出现了什么毛病?</p><p>紧接着检查,发现了一个我们之前忽视的点,硬件驱动电路!</p><p><img src="/assets/SCH1-PC-HMVkY.jpg" alt=""></p><p>可以看出,与常规的墨水屏驱动电路相比,该电路的高压部分电容均为10uF,并且boost电荷泵部分的电容为4.7uF,会是这个原因吗?于是大佬开始了他的飞线操作。</p><p><img src="/assets/PCB1-CkFh4M3J.jpg" alt=""></p><p>不得不说大佬技艺高超,很快就把缺失的电容补上了,那么,工作正常了吗?</p><p>事实证明还是有所效果,刷图的质量明显好了不少,像素棋盘格也能正常显示了,这下刷图片总没有问题了吧?</p><p>没有意外的话现在就要出意外了,令人惊讶的是棋盘格能显示,但是刷的图片还是依旧炸裂。这就奇了怪了,刷全白正常,刷全黑正常,刷条纹正常,甚至刷棋盘格也正常,但是刷区区一张图片竟然出现了问题?难道是芯片设计的bug吗。</p><h2 id="初寻端倪" tabindex="-1"><a class="header-anchor" href="#初寻端倪"><span>初寻端倪</span></a></h2><h3 id="tcon-setting" tabindex="-1"><a class="header-anchor" href="#tcon-setting"><span>TCON SETTING</span></a></h3><p>经过了一系列的尝试,我们将重心转移到了寄存器的配置上。首先我注意到了一个0x60的寄存器,这个寄存器的描述为“TCON SETTING”,内容为“This command defines non-overlap period of Gate and Source.”是因为内部的时序问题才导致的刷新不正常吗?但是在修改之后未果,故障依旧。同时参考了同芯片的微雪的屏幕驱动代码,该寄存器的设置的值并不一致,但是修改后故障依旧。</p><h3 id="修改pll" tabindex="-1"><a class="header-anchor" href="#修改pll"><span>修改PLL</span></a></h3><p>我们联想到,如果是时序导致的出错,那么降低频率是否会好一些?于是我们便尝试了修改屏幕的PLL参数,该寄存器地址为0x30。神奇的事发生了,在大佬降低PLL到5Hz之后,发现之前刷新炸掉的图片竟然能正常刷新了!除了刷的很慢之外并没有什么多余的问题。紧接着又尝试了4灰度使用内部OTP波形进行刷新,发现依然能正常刷新。</p><p>难道是因为屏幕厂商的内部布线问题,导致时钟开太高会有干扰?想想便感觉非常不合理,还是说难道屏厂在测试的时候使用的都是比较简单的图片,因此并没有发现刷新的问题?不管什么样的解释,显得都非常牵强,但是目前我们也找不到更好的解决方案,因此便告一段落,并一致认为大概率是屏厂设计导致的硬件问题。</p><h3 id="真凶在此" tabindex="-1"><a class="header-anchor" href="#真凶在此"><span>真凶在此</span></a></h3><p>在闲聊中,我们发现威锋有一款5.83寸的屏幕与这块屏幕采用了同款驱动芯片,于是大佬便决定把5.83屏幕的初始化代码搬过来试试。令人意想不到的情况出现了,竟然……好了?在这样的初始化代码下,屏幕的刷新竟然无比的丝滑顺畅,似乎本该如此,可是,为什么呢?</p><p>幸而5.83屏的初始化代码非常简洁,我们很轻易就可以发现不同点:主要便是0x06这个寄存器。</p><p><img src="/assets/Code1-Cme3G5cN.jpg" alt="5.83屏幕的初始化代码"></p><p>那么,这个寄存器是做什么用的呢?</p><p><img src="/assets/Datasheet1-DAsJwtH0.png" alt=""></p><p>虽然描述寥寥,但是我们依稀能看出是与boost升压有关,并且第三个数据默认值为0x17,而5.83屏幕的初始化代码中为0x28,是否就是这个寄存器导致的呢?我们将这段初始化代码复制了过去。</p><p>意想不到的事出现了,正常了,彻底正常了!没有讨厌的条纹,没有刷新后掉色,屏幕安安静静刷新出一帧的画面,自然又好看。</p><p><img src="/assets/Epd1-Ct8xd5fC.jpg" alt=""></p><p>虽然我找了下相同芯片的在GxEpd2库下方的代码,发现或多或少都对这个寄存器进行了配置,有<code>0x17,0x17,0x28</code>的,有<code>0xC7,0xCC,0x28</code>的,还有<code>0x17,0x17,0x39,0x17</code>的,大家都没有采用默认的四个0x17的值。不知道大佬佳显是抱着怎样的想法,漏掉了这个至关重要的寄存器,也许是屏厂给的测试代码就没有。</p><p>这个寄存器没有具体的描述,在SSD芯片中也有类似的寄存器,但是同样额米有具体的文字描述,根据名字来看,或许和boost有关,并且不同的值应该与驱动能力有关,但是具体有什么用,ABC相有什么区别,我不得而知,如果有知道的同学可以告诉我,不胜感激()</p><h2 id="总结" tabindex="-1"><a class="header-anchor" href="#总结"><span>总结</span></a></h2><p>总而言之,经过了一晚上的忙活,查找了各种原因,结果发现是一个寄存器没有配置。虽然问题不大,但是蛮折磨人的,并且也不知道是具体原因。不过有了这次的经验,在下次遇到类似的故障的时候,想必找到问题出现的原因会更加轻松。</p><h2 id="备注" tabindex="-1"><a class="header-anchor" href="#备注"><span>备注</span></a></h2><p>DEPG0750RWU790F30这块屏幕请记住,一定要配置0x06的寄存器!!!相同尺寸的相同驱动芯片的屏幕应该也大致如此,希望能帮到更多遇到类似问题的同学。</p></div><!--[--><!----><!--]--><footer class="page-meta"><div class="meta-item edit-link"><a href="https://github.com/HalfSweet/Blog/edit/main/src/posts/墨水屏的坑——7.5寸墨水屏刷新为何出现条纹.md" rel="noopener noreferrer" target="_blank" aria-label="在 GitHub 上编辑此页" class="nav-link label"><!--[--><svg xmlns="http://www.w3.org/2000/svg" class="icon edit-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="edit icon"><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"></path><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"></path></svg><!--]-->在 GitHub 上编辑此页<span><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"><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"></path><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"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!----></a></div><div class="meta-item git-info"><div class="update-time"><span class="label">上次编辑于: </span><!----></div><div class="contributors"><span class="label">贡献者: </span><!--[--><!--[--><span class="contributor" title="email: halfsweet@halfsweet.cn">HalfSweet</span><!--]--><!--]--></div></div></footer><nav class="vp-page-nav"><a class="route-link nav-link prev" href="/posts/SEGGER-RTT/" aria-label="更高效的日志查看方式——使用SEGGER-RTT"><div class="hint"><span class="arrow start"></span>上一页</div><div class="link"><!---->更高效的日志查看方式——使用SEGGER-RTT</div></a><!----></nav><div id="vp-comment" class="giscus-wrapper input-top" style="display:block;"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" preserveAspectRatio="xMidYMid" viewBox="0 0 100 100"><circle cx="28" cy="75" r="11" fill="currentColor"><animate attributeName="fill-opacity" begin="0s" dur="1s" keyTimes="0;0.2;1" repeatCount="indefinite" values="0;1;1"></animate></circle><path fill="none" stroke="#88baf0" stroke-width="10" d="M28 47a28 28 0 0 1 28 28"><animate attributeName="stroke-opacity" begin="0.1s" dur="1s" keyTimes="0;0.2;1" repeatCount="indefinite" values="0;1;1"></animate></path><path fill="none" stroke="#88baf0" stroke-width="10" d="M28 25a50 50 0 0 1 50 50"><animate attributeName="stroke-opacity" begin="0.2s" dur="1s" keyTimes="0;0.2;1" repeatCount="indefinite" values="0;1;1"></animate></path></svg></div><!--[--><!----><!--]--><!--]--></main><!--]--><footer class="vp-footer-wrapper"><div class="vp-footer">今天咕咕被欺负了吗</div><div class="vp-copyright">Copyright © 2024 HalfSweet </div></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div>
-    <script type="module" src="/assets/app-ClwIkahu.js" defer></script>
+    <script type="module" src="/assets/app-Flo2gZk8.js" defer></script>
   </body>
 </html>
diff --git a/posts/HelloWorld/index.html b/posts/HelloWorld/index.html
index 4576c4f..16b6365 100644
--- a/posts/HelloWorld/index.html
+++ b/posts/HelloWorld/index.html
@@ -29,12 +29,12 @@
       }
     </script>
     <meta property="og:url" content="https://halfsweet.cn/posts/HelloWorld/"><meta property="og:site_name" content="HalfSweet's Blog"><meta property="og:title" content="HelloWorld"><meta property="og:description" content="今天搭建好了属于自己的一个博客站,希望今后能保持记录的习惯,写下自己遇到的坑以及收获。这是博客的一个启程,也是自己的一个新起点。 Hello, HalfSweet!"><meta property="og:type" content="article"><meta property="og:locale" content="zh-CN"><meta property="og:updated_time" content="2023-08-19T04:15:51.000Z"><meta property="article:author" content="HalfSweet"><meta property="article:tag" content="HelloWorld"><meta property="article:published_time" content="2022-10-31T21:25:47.000Z"><meta property="article:modified_time" content="2023-08-19T04:15:51.000Z"><script type="application/ld+json">{"@context":"https://schema.org","@type":"Article","headline":"HelloWorld","image":[""],"datePublished":"2022-10-31T21:25:47.000Z","dateModified":"2023-08-19T04:15:51.000Z","author":[{"@type":"Person","name":"HalfSweet","link":"https://github.com/HalfSweet"}]}</script><title>HelloWorld | HalfSweet's Blog</title><meta name="description" content="今天搭建好了属于自己的一个博客站,希望今后能保持记录的习惯,写下自己遇到的坑以及收获。这是博客的一个启程,也是自己的一个新起点。 Hello, HalfSweet!">
-    <link rel="preload" href="/assets/style-BDwnt-CL.css" as="style"><link rel="stylesheet" href="/assets/style-BDwnt-CL.css">
-    <link rel="modulepreload" href="/assets/app-ClwIkahu.js"><link rel="modulepreload" href="/assets/index.html-CufQKtZU.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
-    <link rel="prefetch" href="/assets/index.html-BjG6C5xb.js" as="script"><link rel="prefetch" href="/assets/index.html-6gNmrYKw.js" as="script"><link rel="prefetch" href="/assets/index.html-W8DPbcPd.js" as="script"><link rel="prefetch" href="/assets/index.html-75fD8c0W.js" as="script"><link rel="prefetch" href="/assets/index.html-Bqe7scks.js" as="script"><link rel="prefetch" href="/assets/index.html-B5-KeVPb.js" as="script"><link rel="prefetch" href="/assets/index.html-C7FigsQF.js" as="script"><link rel="prefetch" href="/assets/index.html-DtEE6E7f.js" as="script"><link rel="prefetch" href="/assets/index.html-0oPRY09N.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNCX4dz.js" as="script"><link rel="prefetch" href="/assets/index.html-XtQdJJI8.js" as="script"><link rel="prefetch" href="/assets/index.html-CnJ0E6b5.js" as="script"><link rel="prefetch" href="/assets/index.html-CFhDcrZp.js" as="script"><link rel="prefetch" href="/assets/index.html-Bd1PkxNi.js" as="script"><link rel="prefetch" href="/assets/index.html-DJ-_mZ9n.js" as="script"><link rel="prefetch" href="/assets/index.html-jFzM8lrm.js" as="script"><link rel="prefetch" href="/assets/404.html-VMfaDGRx.js" as="script"><link rel="prefetch" href="/assets/index.html-BaR2aqhq.js" as="script"><link rel="prefetch" href="/assets/index.html-DO2xY2T5.js" as="script"><link rel="prefetch" href="/assets/index.html-BEwHBlkc.js" as="script"><link rel="prefetch" href="/assets/index.html-DZIt3Q5g.js" as="script"><link rel="prefetch" href="/assets/index.html-Dd9JrssL.js" as="script"><link rel="prefetch" href="/assets/index.html-BjPOIJdK.js" as="script"><link rel="prefetch" href="/assets/index.html-CmtlWOBH.js" as="script"><link rel="prefetch" href="/assets/index.html-CR-9qG2Y.js" as="script"><link rel="prefetch" href="/assets/index.html-CwWDCYUS.js" as="script"><link rel="prefetch" href="/assets/index.html-CptFZpi0.js" as="script"><link rel="prefetch" href="/assets/index.html-p6Y7Jm3n.js" as="script"><link rel="prefetch" href="/assets/index.html-CIen8cvO.js" as="script"><link rel="prefetch" href="/assets/index.html-BKUs44hv.js" as="script"><link rel="prefetch" href="/assets/index.html-D0wSSTgQ.js" as="script"><link rel="prefetch" href="/assets/index.html-DqsCIdcm.js" as="script"><link rel="prefetch" href="/assets/index.html-kUwAIzkD.js" as="script"><link rel="prefetch" href="/assets/index.html-BqgjNdmg.js" as="script"><link rel="prefetch" href="/assets/index.html-DIaDLRqn.js" as="script"><link rel="prefetch" href="/assets/index.html-DhcL23aG.js" as="script"><link rel="prefetch" href="/assets/index.html-Bk9EBjUw.js" as="script"><link rel="prefetch" href="/assets/index.html-C0X-QC5U.js" as="script"><link rel="prefetch" href="/assets/index.html-ZwD6xCF4.js" as="script"><link rel="prefetch" href="/assets/index.html-BdqadbH8.js" as="script"><link rel="prefetch" href="/assets/index.html-D7Uf3Wbw.js" as="script"><link rel="prefetch" href="/assets/index.html-CsuDpoYK.js" as="script"><link rel="prefetch" href="/assets/index.html-Dc2bdBF2.js" as="script"><link rel="prefetch" href="/assets/index.html-BzgkemtD.js" as="script"><link rel="prefetch" href="/assets/index.html-7uHHiaZx.js" as="script"><link rel="prefetch" href="/assets/index.html-TGoZudvZ.js" as="script"><link rel="prefetch" href="/assets/index.html-DbCWijUV.js" as="script"><link rel="prefetch" href="/assets/index.html-DOCRL60a.js" as="script"><link rel="prefetch" href="/assets/index.html-B8qYb7wb.js" as="script"><link rel="prefetch" href="/assets/index.html-CpBdG6tv.js" as="script"><link rel="prefetch" href="/assets/index.html-DdE0h7xo.js" as="script"><link rel="prefetch" href="/assets/index.html-BlsdgZAc.js" as="script"><link rel="prefetch" href="/assets/index.html-Du74cC6X.js" as="script"><link rel="prefetch" href="/assets/index.html-CTp2Oa39.js" as="script"><link rel="prefetch" href="/assets/index.html-Bz73p56D.js" as="script"><link rel="prefetch" href="/assets/index.html-BktjQtFB.js" as="script"><link rel="prefetch" href="/assets/index.html-DPl--Ppt.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-BF52VcER.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CgYxLcm_.js" as="script"><link rel="prefetch" href="/assets/artplayer-CHAGXahu.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-BOVnG7as.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-CbA2In8H.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-Do1ld-lW.js" as="script"><link rel="prefetch" href="/assets/giscus-7BMGhbDA.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-SzV8tJDW.js" as="script">
+    <link rel="preload" href="/assets/style-7DTFFHvh.css" as="style"><link rel="stylesheet" href="/assets/style-7DTFFHvh.css">
+    <link rel="modulepreload" href="/assets/app-Flo2gZk8.js"><link rel="modulepreload" href="/assets/index.html-BjdnOCC5.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
+    <link rel="prefetch" href="/assets/index.html-BhtLl4n3.js" as="script"><link rel="prefetch" href="/assets/index.html-C6yte3a0.js" as="script"><link rel="prefetch" href="/assets/index.html-R-cHHIas.js" as="script"><link rel="prefetch" href="/assets/index.html-CPUAg15t.js" as="script"><link rel="prefetch" href="/assets/index.html-7Xyk7CrU.js" as="script"><link rel="prefetch" href="/assets/index.html-BNW3YRR3.js" as="script"><link rel="prefetch" href="/assets/index.html-jClrTNl3.js" as="script"><link rel="prefetch" href="/assets/index.html-tFfBEjXi.js" as="script"><link rel="prefetch" href="/assets/index.html-DgPmeCdQ.js" as="script"><link rel="prefetch" href="/assets/index.html-CxRigd-R.js" as="script"><link rel="prefetch" href="/assets/index.html-BWPjJqfa.js" as="script"><link rel="prefetch" href="/assets/index.html-DzG2EJXJ.js" as="script"><link rel="prefetch" href="/assets/index.html-B45efyIG.js" as="script"><link rel="prefetch" href="/assets/index.html-D_Px6PD2.js" as="script"><link rel="prefetch" href="/assets/index.html-U1Oe9QlK.js" as="script"><link rel="prefetch" href="/assets/index.html-fvB3i9PM.js" as="script"><link rel="prefetch" href="/assets/404.html-mkIobPP0.js" as="script"><link rel="prefetch" href="/assets/index.html-DGqb01LU.js" as="script"><link rel="prefetch" href="/assets/index.html-GZfFX8ok.js" as="script"><link rel="prefetch" href="/assets/index.html-vhaMR1PK.js" as="script"><link rel="prefetch" href="/assets/index.html-CvSEeOlH.js" as="script"><link rel="prefetch" href="/assets/index.html-BmplSMWS.js" as="script"><link rel="prefetch" href="/assets/index.html-C2sDDxGY.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNwolvq.js" as="script"><link rel="prefetch" href="/assets/index.html-DhSSZBRU.js" as="script"><link rel="prefetch" href="/assets/index.html-DPcGNBru.js" as="script"><link rel="prefetch" href="/assets/index.html-BFJ0kKZP.js" as="script"><link rel="prefetch" href="/assets/index.html-CBW4olfB.js" as="script"><link rel="prefetch" href="/assets/index.html-CiBWk0Bg.js" as="script"><link rel="prefetch" href="/assets/index.html-AFWYFeTY.js" as="script"><link rel="prefetch" href="/assets/index.html-DlrkN0XZ.js" as="script"><link rel="prefetch" href="/assets/index.html-Cb-sPtFS.js" as="script"><link rel="prefetch" href="/assets/index.html-DPF-EyUV.js" as="script"><link rel="prefetch" href="/assets/index.html-AqhAiBBF.js" as="script"><link rel="prefetch" href="/assets/index.html-DLZdHb6J.js" as="script"><link rel="prefetch" href="/assets/index.html-Cpr5viHS.js" as="script"><link rel="prefetch" href="/assets/index.html-BXxGxqK4.js" as="script"><link rel="prefetch" href="/assets/index.html-4asd-b47.js" as="script"><link rel="prefetch" href="/assets/index.html-ZITi3OK2.js" as="script"><link rel="prefetch" href="/assets/index.html-DJMKg_M6.js" as="script"><link rel="prefetch" href="/assets/index.html-Y__KWg8u.js" as="script"><link rel="prefetch" href="/assets/index.html--BIzY7gk.js" as="script"><link rel="prefetch" href="/assets/index.html-BRHXQqdq.js" as="script"><link rel="prefetch" href="/assets/index.html-C_2nkQ6B.js" as="script"><link rel="prefetch" href="/assets/index.html-R9oSKuoP.js" as="script"><link rel="prefetch" href="/assets/index.html-DY-KY6vi.js" as="script"><link rel="prefetch" href="/assets/index.html-BSndmKE7.js" as="script"><link rel="prefetch" href="/assets/index.html-BDmR_g70.js" as="script"><link rel="prefetch" href="/assets/index.html-CpeDyHcd.js" as="script"><link rel="prefetch" href="/assets/index.html-DV9WiiCS.js" as="script"><link rel="prefetch" href="/assets/index.html-DTceWJaH.js" as="script"><link rel="prefetch" href="/assets/index.html-2WOtvPq_.js" as="script"><link rel="prefetch" href="/assets/index.html-DCVozm3V.js" as="script"><link rel="prefetch" href="/assets/index.html-vKhQGG0S.js" as="script"><link rel="prefetch" href="/assets/index.html-BlvUTCvM.js" as="script"><link rel="prefetch" href="/assets/index.html-vIW8aJUJ.js" as="script"><link rel="prefetch" href="/assets/index.html-CTuZCChr.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-S0Hns9UN.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CSFeuThZ.js" as="script"><link rel="prefetch" href="/assets/artplayer-DnixxQIM.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-DaNo29Rn.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-nRkOMaNb.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-DQalTb-T.js" as="script"><link rel="prefetch" href="/assets/giscus-D-fkNSKD.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-GXRgw7eJ.js" as="script">
   </head>
   <body>
     <div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container has-toc"><!--[--><header id="navbar" class="vp-navbar"><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><!--[--><a class="route-link vp-brand" href="/"><img class="vp-nav-logo" src="/img/Headshot.jpg" alt><!----><span class="vp-site-name hide-in-pad">HalfSweet&#39;s Blog</span></a><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-center"><!--[--><!----><!--]--><!--[--><nav class="vp-nav-links"><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link active" href="/posts/" aria-label="文章"><span class="font-icon icon app" style=""></span>文章<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/about/" aria-label="关于"><span class="font-icon icon user" style=""></span>关于<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/friends/" aria-label="友链"><span class="font-icon icon link" style=""></span>友链<!----></a></div></nav><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-end"><!--[--><!----><!--]--><!--[--><!----><div class="nav-item vp-repo"><a class="vp-repo-link" href="https://github.com/HalfSweet/Blog" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><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"></path></svg></a></div><div class="nav-item hide-in-mobile"><button type="button" id="appearance-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" style="display:block;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" style="display:none;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" style="display:none;"><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"></path></svg></button></div><!----><!--]--><!--[--><!----><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar"><!--[--><!----><!--]--><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></li><li><section class="vp-sidebar-group"><p class="vp-sidebar-header active"><span class="font-icon icon book" style=""></span><span class="vp-sidebar-title">文章</span><!----></p><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-Clion/" aria-label="使用 Clion 来进行 Air32 的开发"><!---->使用 Clion 来进行 Air32 的开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-MCO/" aria-label="Air32 的 HAL 改造——适配 MCO"><!---->Air32 的 HAL 改造——适配 MCO<!----></a></li><li><a class="route-link nav-link active vp-sidebar-link vp-sidebar-page active" href="/posts/HelloWorld/" aria-label="HelloWorld"><!---->HelloWorld<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/STC_CoreMark/" aria-label="不服来跑个分?将 CoreMark 移植到 STC 上试试"><!---->不服来跑个分?将 CoreMark 移植到 STC 上试试<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="为什么我对第三代郊狼失望"><!---->为什么我对第三代郊狼失望<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-HighFreq/" aria-label="发挥全部实力!Air32 在 HAL 库环境下运行最高主频"><!---->发挥全部实力!Air32 在 HAL 库环境下运行最高主频<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/embedded_fmtlib/" aria-label="在嵌入式设备上使用fmtlib"><!---->在嵌入式设备上使用fmtlib<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/conda_novelai/" aria-label="基于conda进行手动配置novelAI"><!---->基于conda进行手动配置novelAI<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="对《为什么我对第三代郊狼失望》一文的澄清说明"><!---->对《为什么我对第三代郊狼失望》一文的澄清说明<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Empedded-CI-CD/" aria-label="嵌入式中的 CI/CD"><!---->嵌入式中的 CI/CD<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/MDK6-Dev/" aria-label="更现代的开发方式?使用 MDK6 进行开发"><!---->更现代的开发方式?使用 MDK6 进行开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/SEGGER-RTT/" aria-label="更高效的日志查看方式——使用SEGGER-RTT"><!---->更高效的日志查看方式——使用SEGGER-RTT<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/EpdTraps1/" aria-label="墨水屏的坑——7.5寸墨水屏刷新为何出现条纹"><!---->墨水屏的坑——7.5寸墨水屏刷新为何出现条纹<!----></a></li></ul></section></li></ul><!--[--><!----><!--]--></aside><!--[--><main id="main-content" class="vp-page"><!--[--><!--[--><!----><!--]--><!----><nav class="vp-breadcrumb disable"></nav><div class="vp-page-title"><h1><!---->HelloWorld</h1><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2022-10-31T21:25:47.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>小于 1 分钟</span><meta property="timeRequired" content="PT1M"></span><span class="page-category-info" aria-label="分类🌈" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg><!--[--><span class="page-category-item category3 clickable" role="navigation">网站</span><!--]--><meta property="articleSection" content="网站"></span><span class="page-tag-info" aria-label="标签🏷" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg><!--[--><span class="page-tag-item tag5 clickable" role="navigation">HelloWorld</span><!--]--><meta property="keywords" content="HelloWorld"></span></div><hr></div><!----><!--[--><!----><!--]--><div class="theme-hope-content"><p>今天搭建好了属于自己的一个博客站,希望今后能保持记录的习惯,写下自己遇到的坑以及收获。这是博客的一个启程,也是自己的一个新起点。</p><p>Hello, HalfSweet!</p></div><!--[--><!----><!--]--><footer class="page-meta"><div class="meta-item edit-link"><a href="https://github.com/HalfSweet/Blog/edit/main/src/posts/HelloWorld.md" rel="noopener noreferrer" target="_blank" aria-label="在 GitHub 上编辑此页" class="nav-link label"><!--[--><svg xmlns="http://www.w3.org/2000/svg" class="icon edit-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="edit icon"><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"></path><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"></path></svg><!--]-->在 GitHub 上编辑此页<span><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"><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"></path><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"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!----></a></div><div class="meta-item git-info"><div class="update-time"><span class="label">上次编辑于: </span><!----></div><div class="contributors"><span class="label">贡献者: </span><!--[--><!--[--><span class="contributor" title="email: halfsweet@halfsweet.cn">HalfSweet</span><!--]--><!--]--></div></div></footer><nav class="vp-page-nav"><a class="route-link nav-link prev" href="/posts/Air32-HAL-MCO/" aria-label="Air32 的 HAL 改造——适配 MCO"><div class="hint"><span class="arrow start"></span>上一页</div><div class="link"><!---->Air32 的 HAL 改造——适配 MCO</div></a><a class="route-link nav-link next" href="/posts/STC_CoreMark/" aria-label="不服来跑个分?将 CoreMark 移植到 STC 上试试"><div class="hint">下一页<span class="arrow end"></span></div><div class="link">不服来跑个分?将 CoreMark 移植到 STC 上试试<!----></div></a></nav><div id="vp-comment" class="giscus-wrapper input-top" style="display:block;"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" preserveAspectRatio="xMidYMid" viewBox="0 0 100 100"><circle cx="28" cy="75" r="11" fill="currentColor"><animate attributeName="fill-opacity" begin="0s" dur="1s" keyTimes="0;0.2;1" repeatCount="indefinite" values="0;1;1"></animate></circle><path fill="none" stroke="#88baf0" stroke-width="10" d="M28 47a28 28 0 0 1 28 28"><animate attributeName="stroke-opacity" begin="0.1s" dur="1s" keyTimes="0;0.2;1" repeatCount="indefinite" values="0;1;1"></animate></path><path fill="none" stroke="#88baf0" stroke-width="10" d="M28 25a50 50 0 0 1 50 50"><animate attributeName="stroke-opacity" begin="0.2s" dur="1s" keyTimes="0;0.2;1" repeatCount="indefinite" values="0;1;1"></animate></path></svg></div><!--[--><!----><!--]--><!--]--></main><!--]--><footer class="vp-footer-wrapper"><div class="vp-footer">今天咕咕被欺负了吗</div><div class="vp-copyright">Copyright © 2024 HalfSweet </div></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div>
-    <script type="module" src="/assets/app-ClwIkahu.js" defer></script>
+    <script type="module" src="/assets/app-Flo2gZk8.js" defer></script>
   </body>
 </html>
diff --git a/posts/MDK6-Dev/index.html b/posts/MDK6-Dev/index.html
index 470ca0e..3c8b573 100644
--- a/posts/MDK6-Dev/index.html
+++ b/posts/MDK6-Dev/index.html
@@ -29,12 +29,12 @@
       }
     </script>
     <meta property="og:url" content="https://halfsweet.cn/posts/MDK6-Dev/"><meta property="og:site_name" content="HalfSweet's Blog"><meta property="og:title" content="更现代的开发方式?使用 MDK6 进行开发"><meta property="og:description" content="今日,在千呼万唤中,Arm 的 MDK6 桌面端终于出来了,本想作为第一批吃螃蟹的开发者,但是当时 Air32 和 Air001 的烧录均有问题,最后在 Arm 官方的支持下,终于可以正常使用了,那么现在我们就来尝试一下。 安装 MDK6 MDK6 实际上是 VSCode 的一个插件,这看起来很荒谬,实际上也确实很荒谬。所以首先我们需要安装 VSCod..."><meta property="og:type" content="article"><meta property="og:locale" content="zh-CN"><meta property="og:updated_time" content="2024-03-23T06:35:02.000Z"><meta property="article:author" content="HalfSweet"><meta property="article:tag" content="Air001"><meta property="article:tag" content="Air32"><meta property="article:tag" content="合宙"><meta property="article:published_time" content="2023-08-19T12:00:00.000Z"><meta property="article:modified_time" content="2024-03-23T06:35:02.000Z"><script type="application/ld+json">{"@context":"https://schema.org","@type":"Article","headline":"更现代的开发方式?使用 MDK6 进行开发","image":[""],"datePublished":"2023-08-19T12:00:00.000Z","dateModified":"2024-03-23T06:35:02.000Z","author":[{"@type":"Person","name":"HalfSweet","link":"https://github.com/HalfSweet"}]}</script><title>更现代的开发方式?使用 MDK6 进行开发 | HalfSweet's Blog</title><meta name="description" content="今日,在千呼万唤中,Arm 的 MDK6 桌面端终于出来了,本想作为第一批吃螃蟹的开发者,但是当时 Air32 和 Air001 的烧录均有问题,最后在 Arm 官方的支持下,终于可以正常使用了,那么现在我们就来尝试一下。 安装 MDK6 MDK6 实际上是 VSCode 的一个插件,这看起来很荒谬,实际上也确实很荒谬。所以首先我们需要安装 VSCod...">
-    <link rel="preload" href="/assets/style-BDwnt-CL.css" as="style"><link rel="stylesheet" href="/assets/style-BDwnt-CL.css">
-    <link rel="modulepreload" href="/assets/app-ClwIkahu.js"><link rel="modulepreload" href="/assets/index.html-Bd1PkxNi.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
-    <link rel="prefetch" href="/assets/index.html-BjG6C5xb.js" as="script"><link rel="prefetch" href="/assets/index.html-6gNmrYKw.js" as="script"><link rel="prefetch" href="/assets/index.html-W8DPbcPd.js" as="script"><link rel="prefetch" href="/assets/index.html-75fD8c0W.js" as="script"><link rel="prefetch" href="/assets/index.html-CufQKtZU.js" as="script"><link rel="prefetch" href="/assets/index.html-Bqe7scks.js" as="script"><link rel="prefetch" href="/assets/index.html-B5-KeVPb.js" as="script"><link rel="prefetch" href="/assets/index.html-C7FigsQF.js" as="script"><link rel="prefetch" href="/assets/index.html-DtEE6E7f.js" as="script"><link rel="prefetch" href="/assets/index.html-0oPRY09N.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNCX4dz.js" as="script"><link rel="prefetch" href="/assets/index.html-XtQdJJI8.js" as="script"><link rel="prefetch" href="/assets/index.html-CnJ0E6b5.js" as="script"><link rel="prefetch" href="/assets/index.html-CFhDcrZp.js" as="script"><link rel="prefetch" href="/assets/index.html-DJ-_mZ9n.js" as="script"><link rel="prefetch" href="/assets/index.html-jFzM8lrm.js" as="script"><link rel="prefetch" href="/assets/404.html-VMfaDGRx.js" as="script"><link rel="prefetch" href="/assets/index.html-BaR2aqhq.js" as="script"><link rel="prefetch" href="/assets/index.html-DO2xY2T5.js" as="script"><link rel="prefetch" href="/assets/index.html-BEwHBlkc.js" as="script"><link rel="prefetch" href="/assets/index.html-DZIt3Q5g.js" as="script"><link rel="prefetch" href="/assets/index.html-Dd9JrssL.js" as="script"><link rel="prefetch" href="/assets/index.html-BjPOIJdK.js" as="script"><link rel="prefetch" href="/assets/index.html-CmtlWOBH.js" as="script"><link rel="prefetch" href="/assets/index.html-CR-9qG2Y.js" as="script"><link rel="prefetch" href="/assets/index.html-CwWDCYUS.js" as="script"><link rel="prefetch" href="/assets/index.html-CptFZpi0.js" as="script"><link rel="prefetch" href="/assets/index.html-p6Y7Jm3n.js" as="script"><link rel="prefetch" href="/assets/index.html-CIen8cvO.js" as="script"><link rel="prefetch" href="/assets/index.html-BKUs44hv.js" as="script"><link rel="prefetch" href="/assets/index.html-D0wSSTgQ.js" as="script"><link rel="prefetch" href="/assets/index.html-DqsCIdcm.js" as="script"><link rel="prefetch" href="/assets/index.html-kUwAIzkD.js" as="script"><link rel="prefetch" href="/assets/index.html-BqgjNdmg.js" as="script"><link rel="prefetch" href="/assets/index.html-DIaDLRqn.js" as="script"><link rel="prefetch" href="/assets/index.html-DhcL23aG.js" as="script"><link rel="prefetch" href="/assets/index.html-Bk9EBjUw.js" as="script"><link rel="prefetch" href="/assets/index.html-C0X-QC5U.js" as="script"><link rel="prefetch" href="/assets/index.html-ZwD6xCF4.js" as="script"><link rel="prefetch" href="/assets/index.html-BdqadbH8.js" as="script"><link rel="prefetch" href="/assets/index.html-D7Uf3Wbw.js" as="script"><link rel="prefetch" href="/assets/index.html-CsuDpoYK.js" as="script"><link rel="prefetch" href="/assets/index.html-Dc2bdBF2.js" as="script"><link rel="prefetch" href="/assets/index.html-BzgkemtD.js" as="script"><link rel="prefetch" href="/assets/index.html-7uHHiaZx.js" as="script"><link rel="prefetch" href="/assets/index.html-TGoZudvZ.js" as="script"><link rel="prefetch" href="/assets/index.html-DbCWijUV.js" as="script"><link rel="prefetch" href="/assets/index.html-DOCRL60a.js" as="script"><link rel="prefetch" href="/assets/index.html-B8qYb7wb.js" as="script"><link rel="prefetch" href="/assets/index.html-CpBdG6tv.js" as="script"><link rel="prefetch" href="/assets/index.html-DdE0h7xo.js" as="script"><link rel="prefetch" href="/assets/index.html-BlsdgZAc.js" as="script"><link rel="prefetch" href="/assets/index.html-Du74cC6X.js" as="script"><link rel="prefetch" href="/assets/index.html-CTp2Oa39.js" as="script"><link rel="prefetch" href="/assets/index.html-Bz73p56D.js" as="script"><link rel="prefetch" href="/assets/index.html-BktjQtFB.js" as="script"><link rel="prefetch" href="/assets/index.html-DPl--Ppt.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-BF52VcER.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CgYxLcm_.js" as="script"><link rel="prefetch" href="/assets/artplayer-CHAGXahu.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-BOVnG7as.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-CbA2In8H.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-Do1ld-lW.js" as="script"><link rel="prefetch" href="/assets/giscus-7BMGhbDA.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-SzV8tJDW.js" as="script">
+    <link rel="preload" href="/assets/style-7DTFFHvh.css" as="style"><link rel="stylesheet" href="/assets/style-7DTFFHvh.css">
+    <link rel="modulepreload" href="/assets/app-Flo2gZk8.js"><link rel="modulepreload" href="/assets/index.html-D_Px6PD2.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
+    <link rel="prefetch" href="/assets/index.html-BhtLl4n3.js" as="script"><link rel="prefetch" href="/assets/index.html-C6yte3a0.js" as="script"><link rel="prefetch" href="/assets/index.html-R-cHHIas.js" as="script"><link rel="prefetch" href="/assets/index.html-CPUAg15t.js" as="script"><link rel="prefetch" href="/assets/index.html-BjdnOCC5.js" as="script"><link rel="prefetch" href="/assets/index.html-7Xyk7CrU.js" as="script"><link rel="prefetch" href="/assets/index.html-BNW3YRR3.js" as="script"><link rel="prefetch" href="/assets/index.html-jClrTNl3.js" as="script"><link rel="prefetch" href="/assets/index.html-tFfBEjXi.js" as="script"><link rel="prefetch" href="/assets/index.html-DgPmeCdQ.js" as="script"><link rel="prefetch" href="/assets/index.html-CxRigd-R.js" as="script"><link rel="prefetch" href="/assets/index.html-BWPjJqfa.js" as="script"><link rel="prefetch" href="/assets/index.html-DzG2EJXJ.js" as="script"><link rel="prefetch" href="/assets/index.html-B45efyIG.js" as="script"><link rel="prefetch" href="/assets/index.html-U1Oe9QlK.js" as="script"><link rel="prefetch" href="/assets/index.html-fvB3i9PM.js" as="script"><link rel="prefetch" href="/assets/404.html-mkIobPP0.js" as="script"><link rel="prefetch" href="/assets/index.html-DGqb01LU.js" as="script"><link rel="prefetch" href="/assets/index.html-GZfFX8ok.js" as="script"><link rel="prefetch" href="/assets/index.html-vhaMR1PK.js" as="script"><link rel="prefetch" href="/assets/index.html-CvSEeOlH.js" as="script"><link rel="prefetch" href="/assets/index.html-BmplSMWS.js" as="script"><link rel="prefetch" href="/assets/index.html-C2sDDxGY.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNwolvq.js" as="script"><link rel="prefetch" href="/assets/index.html-DhSSZBRU.js" as="script"><link rel="prefetch" href="/assets/index.html-DPcGNBru.js" as="script"><link rel="prefetch" href="/assets/index.html-BFJ0kKZP.js" as="script"><link rel="prefetch" href="/assets/index.html-CBW4olfB.js" as="script"><link rel="prefetch" href="/assets/index.html-CiBWk0Bg.js" as="script"><link rel="prefetch" href="/assets/index.html-AFWYFeTY.js" as="script"><link rel="prefetch" href="/assets/index.html-DlrkN0XZ.js" as="script"><link rel="prefetch" href="/assets/index.html-Cb-sPtFS.js" as="script"><link rel="prefetch" href="/assets/index.html-DPF-EyUV.js" as="script"><link rel="prefetch" href="/assets/index.html-AqhAiBBF.js" as="script"><link rel="prefetch" href="/assets/index.html-DLZdHb6J.js" as="script"><link rel="prefetch" href="/assets/index.html-Cpr5viHS.js" as="script"><link rel="prefetch" href="/assets/index.html-BXxGxqK4.js" as="script"><link rel="prefetch" href="/assets/index.html-4asd-b47.js" as="script"><link rel="prefetch" href="/assets/index.html-ZITi3OK2.js" as="script"><link rel="prefetch" href="/assets/index.html-DJMKg_M6.js" as="script"><link rel="prefetch" href="/assets/index.html-Y__KWg8u.js" as="script"><link rel="prefetch" href="/assets/index.html--BIzY7gk.js" as="script"><link rel="prefetch" href="/assets/index.html-BRHXQqdq.js" as="script"><link rel="prefetch" href="/assets/index.html-C_2nkQ6B.js" as="script"><link rel="prefetch" href="/assets/index.html-R9oSKuoP.js" as="script"><link rel="prefetch" href="/assets/index.html-DY-KY6vi.js" as="script"><link rel="prefetch" href="/assets/index.html-BSndmKE7.js" as="script"><link rel="prefetch" href="/assets/index.html-BDmR_g70.js" as="script"><link rel="prefetch" href="/assets/index.html-CpeDyHcd.js" as="script"><link rel="prefetch" href="/assets/index.html-DV9WiiCS.js" as="script"><link rel="prefetch" href="/assets/index.html-DTceWJaH.js" as="script"><link rel="prefetch" href="/assets/index.html-2WOtvPq_.js" as="script"><link rel="prefetch" href="/assets/index.html-DCVozm3V.js" as="script"><link rel="prefetch" href="/assets/index.html-vKhQGG0S.js" as="script"><link rel="prefetch" href="/assets/index.html-BlvUTCvM.js" as="script"><link rel="prefetch" href="/assets/index.html-vIW8aJUJ.js" as="script"><link rel="prefetch" href="/assets/index.html-CTuZCChr.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-S0Hns9UN.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CSFeuThZ.js" as="script"><link rel="prefetch" href="/assets/artplayer-DnixxQIM.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-DaNo29Rn.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-nRkOMaNb.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-DQalTb-T.js" as="script"><link rel="prefetch" href="/assets/giscus-D-fkNSKD.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-GXRgw7eJ.js" as="script">
   </head>
   <body>
     <div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container has-toc"><!--[--><header id="navbar" class="vp-navbar"><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><!--[--><a class="route-link vp-brand" href="/"><img class="vp-nav-logo" src="/img/Headshot.jpg" alt><!----><span class="vp-site-name hide-in-pad">HalfSweet&#39;s Blog</span></a><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-center"><!--[--><!----><!--]--><!--[--><nav class="vp-nav-links"><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link active" href="/posts/" aria-label="文章"><span class="font-icon icon app" style=""></span>文章<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/about/" aria-label="关于"><span class="font-icon icon user" style=""></span>关于<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/friends/" aria-label="友链"><span class="font-icon icon link" style=""></span>友链<!----></a></div></nav><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-end"><!--[--><!----><!--]--><!--[--><!----><div class="nav-item vp-repo"><a class="vp-repo-link" href="https://github.com/HalfSweet/Blog" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><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"></path></svg></a></div><div class="nav-item hide-in-mobile"><button type="button" id="appearance-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" style="display:block;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" style="display:none;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" style="display:none;"><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"></path></svg></button></div><!----><!--]--><!--[--><!----><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar"><!--[--><!----><!--]--><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></li><li><section class="vp-sidebar-group"><p class="vp-sidebar-header active"><span class="font-icon icon book" style=""></span><span class="vp-sidebar-title">文章</span><!----></p><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-Clion/" aria-label="使用 Clion 来进行 Air32 的开发"><!---->使用 Clion 来进行 Air32 的开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-MCO/" aria-label="Air32 的 HAL 改造——适配 MCO"><!---->Air32 的 HAL 改造——适配 MCO<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/HelloWorld/" aria-label="HelloWorld"><!---->HelloWorld<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/STC_CoreMark/" aria-label="不服来跑个分?将 CoreMark 移植到 STC 上试试"><!---->不服来跑个分?将 CoreMark 移植到 STC 上试试<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="为什么我对第三代郊狼失望"><!---->为什么我对第三代郊狼失望<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-HighFreq/" aria-label="发挥全部实力!Air32 在 HAL 库环境下运行最高主频"><!---->发挥全部实力!Air32 在 HAL 库环境下运行最高主频<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/embedded_fmtlib/" aria-label="在嵌入式设备上使用fmtlib"><!---->在嵌入式设备上使用fmtlib<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/conda_novelai/" aria-label="基于conda进行手动配置novelAI"><!---->基于conda进行手动配置novelAI<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="对《为什么我对第三代郊狼失望》一文的澄清说明"><!---->对《为什么我对第三代郊狼失望》一文的澄清说明<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Empedded-CI-CD/" aria-label="嵌入式中的 CI/CD"><!---->嵌入式中的 CI/CD<!----></a></li><li><a class="route-link nav-link active vp-sidebar-link vp-sidebar-page active" href="/posts/MDK6-Dev/" aria-label="更现代的开发方式?使用 MDK6 进行开发"><!---->更现代的开发方式?使用 MDK6 进行开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/SEGGER-RTT/" aria-label="更高效的日志查看方式——使用SEGGER-RTT"><!---->更高效的日志查看方式——使用SEGGER-RTT<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/EpdTraps1/" aria-label="墨水屏的坑——7.5寸墨水屏刷新为何出现条纹"><!---->墨水屏的坑——7.5寸墨水屏刷新为何出现条纹<!----></a></li></ul></section></li></ul><!--[--><!----><!--]--></aside><!--[--><main id="main-content" class="vp-page"><!--[--><!--[--><!----><!--]--><!----><nav class="vp-breadcrumb disable"></nav><div class="vp-page-title"><h1><!---->更现代的开发方式?使用 MDK6 进行开发</h1><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2023-08-19T12:00:00.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>大约 2 分钟</span><meta property="timeRequired" content="PT2M"></span><span class="page-category-info" aria-label="分类🌈" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg><!--[--><span class="page-category-item category8 clickable" role="navigation">单片机</span><!--]--><meta property="articleSection" content="单片机"></span><span class="page-tag-info" aria-label="标签🏷" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg><!--[--><span class="page-tag-item tag8 clickable" role="navigation">Air001</span><span class="page-tag-item tag4 clickable" role="navigation">Air32</span><span class="page-tag-item tag8 clickable" role="navigation">合宙</span><!--]--><meta property="keywords" content="Air001,Air32,合宙"></span></div><hr></div><div class="vp-toc-placeholder"><aside id="toc"><!--[--><!----><!--]--><div class="vp-toc-header">此页内容<button type="button" class="print-button" title="打印"><svg xmlns="http://www.w3.org/2000/svg" class="icon print-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="print icon"><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"></path></svg></button><div class="arrow end"></div></div><div class="vp-toc-wrapper"><ul class="vp-toc-list"><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#安装-mdk6">安装 MDK6</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#转换工程">转换工程</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#编译工程">编译工程</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#烧录程序">烧录程序</a></li><!----><!--]--></ul><div class="vp-toc-marker" style="top:-1.7rem;"></div></div><!--[--><!----><!--]--></aside></div><!--[--><!----><!--]--><div class="theme-hope-content"><p>今日,在千呼万唤中,Arm 的 MDK6 桌面端终于出来了,本想作为第一批吃螃蟹的开发者,但是当时 Air32 和 Air001 的烧录均有问题,最后在 Arm 官方的支持下,终于可以正常使用了,那么现在我们就来尝试一下。</p><h2 id="安装-mdk6" tabindex="-1"><a class="header-anchor" href="#安装-mdk6"><span>安装 MDK6</span></a></h2><p>MDK6 实际上是 VSCode 的一个插件,这看起来很荒谬,实际上也确实很荒谬。所以首先我们需要安装 VSCode,这里不多赘述。</p><p>安装完成后,我们打开插件的主页<a href="https://marketplace.visualstudio.com/items?itemName=Arm.keil-studio-pack" target="_blank" rel="noopener noreferrer">https://marketplace.visualstudio.com/items?itemName=Arm.keil-studio-pack<span><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"><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"></path><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"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a>,点击<code>install</code>,即可跳转到 VSCode 中自动安装。这个过程中会安装一大堆依赖的奇奇怪怪的很多插件,甚至可能有 AC6 编译器,请耐心等待。</p><h2 id="转换工程" tabindex="-1"><a class="header-anchor" href="#转换工程"><span>转换工程</span></a></h2><p>因为目前 MDK6 的工程创建还很辣鸡,因此我们选择把原来 MDK5 的工程转换过来,这里我们以 Air001 为例。</p><p>我们随便找一个例子,我们这里以 GPIO 下的<code>GPIO_Toggle</code>为例,首先我们先复制粘贴一份,然后重命名为<code>GPIO_Toggle_MDK6</code>。打开其中的<code>MDK-ARM</code>文件夹,然后选择在 VSCode 中打开。</p><p>这是我们会发现出现了一个<code>Convert μVision project Project.uvprojx to csolution?</code>的弹窗,点击<code>convert</code>即可。</p><p><img src="/assets/2023-08-19-12-01-32-kuWkkwif.png" alt="convert"></p><p>此时会自动转换,稍等即可。</p><div class="hint-container note"><p class="hint-container-title">注</p><p>目前仅支持转换 AC6 的工程,如果是 AC5 编译器的工程需要自行修改</p></div><h2 id="编译工程" tabindex="-1"><a class="header-anchor" href="#编译工程"><span>编译工程</span></a></h2><p>点击左边的<code>CMSIS</code>按钮,点击<code>action</code>列表中的<code>build</code>即可开始编译。</p><h2 id="烧录程序" tabindex="-1"><a class="header-anchor" href="#烧录程序"><span>烧录程序</span></a></h2><p>首先我们插入调试器,然后点击左边的<code>Device Manage</code>按钮,然后点击<code>Add device</code>,然后选择实际使用的调试器,我这里使用的是 ST-Link。然后点击左边列表中的铅笔图标,也就是<code>Edit Device</code></p><ol><li>修改名称,可以修改成自己喜欢的,此处我们保存默认,直接按<code>Enter</code>键即可</li><li>选择 pack 包,我们输入本地最新的 pack 包路径,我这里为<code>D:\GitHub\luatos-soc-air001\PACK\Keil.AIR001_DFP.1.1.0.pack</code><img src="/assets/2023-08-19-12-09-01-Dxvv1A7v.png" alt="pack"></li><li>选择芯片,我们这里选择<code>AIR001Dev</code>即可</li></ol><p>点击左边的<code>CMSIS</code>按钮,点击<code>action</code>列表中的<code>RUN</code>按钮即可下载。</p><div class="hint-container tip"><p class="hint-container-title">提示</p><p>目前 MDK6 还不能修改调试器的速度,因此默认的 10M 对于 Air001 来说太高了,建议使用别的调试器进行烧录。</p><p>如果出现<code>ERROR: Cannot attain state requested. (RDDI-ERROR 52)</code>这样的报错,就是说明速率太高无法下载。</p></div><div class="hint-container note"><p class="hint-container-title">注</p><p>默认下载完不会自动复位,我们可能需要手动按一下 RST 按钮</p></div><p>至此,我们就完成了一个简单的工程的编译与烧录。</p></div><!--[--><!----><!--]--><footer class="page-meta"><div class="meta-item edit-link"><a href="https://github.com/HalfSweet/Blog/edit/main/src/posts/更现代的开发方式?使用MDK6进行开发.md" rel="noopener noreferrer" target="_blank" aria-label="在 GitHub 上编辑此页" class="nav-link label"><!--[--><svg xmlns="http://www.w3.org/2000/svg" class="icon edit-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="edit icon"><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"></path><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"></path></svg><!--]-->在 GitHub 上编辑此页<span><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"><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"></path><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"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!----></a></div><div class="meta-item git-info"><div class="update-time"><span class="label">上次编辑于: </span><!----></div><div class="contributors"><span class="label">贡献者: </span><!--[--><!--[--><span class="contributor" title="email: halfsweet@halfsweet.cn">HalfSweet</span><!--]--><!--]--></div></div></footer><nav class="vp-page-nav"><a class="route-link nav-link prev" href="/posts/Empedded-CI-CD/" aria-label="嵌入式中的 CI/CD"><div class="hint"><span class="arrow start"></span>上一页</div><div class="link"><!---->嵌入式中的 CI/CD</div></a><a class="route-link nav-link next" href="/posts/SEGGER-RTT/" aria-label="更高效的日志查看方式——使用SEGGER-RTT"><div class="hint">下一页<span class="arrow end"></span></div><div class="link">更高效的日志查看方式——使用SEGGER-RTT<!----></div></a></nav><div id="vp-comment" class="giscus-wrapper input-top" style="display:block;"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" preserveAspectRatio="xMidYMid" viewBox="0 0 100 100"><circle cx="28" cy="75" r="11" fill="currentColor"><animate attributeName="fill-opacity" begin="0s" dur="1s" keyTimes="0;0.2;1" repeatCount="indefinite" values="0;1;1"></animate></circle><path fill="none" stroke="#88baf0" stroke-width="10" d="M28 47a28 28 0 0 1 28 28"><animate attributeName="stroke-opacity" begin="0.1s" dur="1s" keyTimes="0;0.2;1" repeatCount="indefinite" values="0;1;1"></animate></path><path fill="none" stroke="#88baf0" stroke-width="10" d="M28 25a50 50 0 0 1 50 50"><animate attributeName="stroke-opacity" begin="0.2s" dur="1s" keyTimes="0;0.2;1" repeatCount="indefinite" values="0;1;1"></animate></path></svg></div><!--[--><!----><!--]--><!--]--></main><!--]--><footer class="vp-footer-wrapper"><div class="vp-footer">今天咕咕被欺负了吗</div><div class="vp-copyright">Copyright © 2024 HalfSweet </div></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div>
-    <script type="module" src="/assets/app-ClwIkahu.js" defer></script>
+    <script type="module" src="/assets/app-Flo2gZk8.js" defer></script>
   </body>
 </html>
diff --git a/posts/SEGGER-RTT/index.html b/posts/SEGGER-RTT/index.html
index 9af0975..cc6bdc2 100644
--- a/posts/SEGGER-RTT/index.html
+++ b/posts/SEGGER-RTT/index.html
@@ -29,9 +29,9 @@
       }
     </script>
     <meta property="og:url" content="https://halfsweet.cn/posts/SEGGER-RTT/"><meta property="og:site_name" content="HalfSweet's Blog"><meta property="og:title" content="更高效的日志查看方式——使用SEGGER-RTT"><meta property="og:description" content="在日常的开发中,我们免不了使用各种各样的日志打印方式,使用调试器固然好用,但是无法直接打印局部变量以及会打断整个运行状态。并且对于众多Arduino的用户来说,直接打印日志显然是更直观的做法。但是直接使用串口打印的话需要一定的资源,并且速度会稍慢,并且可能会占用一个串口,对于资源就不多的MCU,我们有没有更方便的方法呢? 调试方式 使用SWO 对于这个..."><meta property="og:type" content="article"><meta property="og:locale" content="zh-CN"><meta property="og:updated_time" content="2024-03-23T06:35:02.000Z"><meta property="article:author" content="HalfSweet"><meta property="article:tag" content="Air001"><meta property="article:tag" content="合宙"><meta property="article:tag" content="日志"><meta property="article:published_time" content="2023-05-06T14:48:05.000Z"><meta property="article:modified_time" content="2024-03-23T06:35:02.000Z"><script type="application/ld+json">{"@context":"https://schema.org","@type":"Article","headline":"更高效的日志查看方式——使用SEGGER-RTT","image":[""],"datePublished":"2023-05-06T14:48:05.000Z","dateModified":"2024-03-23T06:35:02.000Z","author":[{"@type":"Person","name":"HalfSweet","link":"https://github.com/HalfSweet"}]}</script><title>更高效的日志查看方式——使用SEGGER-RTT | HalfSweet's Blog</title><meta name="description" content="在日常的开发中,我们免不了使用各种各样的日志打印方式,使用调试器固然好用,但是无法直接打印局部变量以及会打断整个运行状态。并且对于众多Arduino的用户来说,直接打印日志显然是更直观的做法。但是直接使用串口打印的话需要一定的资源,并且速度会稍慢,并且可能会占用一个串口,对于资源就不多的MCU,我们有没有更方便的方法呢? 调试方式 使用SWO 对于这个...">
-    <link rel="preload" href="/assets/style-BDwnt-CL.css" as="style"><link rel="stylesheet" href="/assets/style-BDwnt-CL.css">
-    <link rel="modulepreload" href="/assets/app-ClwIkahu.js"><link rel="modulepreload" href="/assets/index.html-DJ-_mZ9n.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
-    <link rel="prefetch" href="/assets/index.html-BjG6C5xb.js" as="script"><link rel="prefetch" href="/assets/index.html-6gNmrYKw.js" as="script"><link rel="prefetch" href="/assets/index.html-W8DPbcPd.js" as="script"><link rel="prefetch" href="/assets/index.html-75fD8c0W.js" as="script"><link rel="prefetch" href="/assets/index.html-CufQKtZU.js" as="script"><link rel="prefetch" href="/assets/index.html-Bqe7scks.js" as="script"><link rel="prefetch" href="/assets/index.html-B5-KeVPb.js" as="script"><link rel="prefetch" href="/assets/index.html-C7FigsQF.js" as="script"><link rel="prefetch" href="/assets/index.html-DtEE6E7f.js" as="script"><link rel="prefetch" href="/assets/index.html-0oPRY09N.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNCX4dz.js" as="script"><link rel="prefetch" href="/assets/index.html-XtQdJJI8.js" as="script"><link rel="prefetch" href="/assets/index.html-CnJ0E6b5.js" as="script"><link rel="prefetch" href="/assets/index.html-CFhDcrZp.js" as="script"><link rel="prefetch" href="/assets/index.html-Bd1PkxNi.js" as="script"><link rel="prefetch" href="/assets/index.html-jFzM8lrm.js" as="script"><link rel="prefetch" href="/assets/404.html-VMfaDGRx.js" as="script"><link rel="prefetch" href="/assets/index.html-BaR2aqhq.js" as="script"><link rel="prefetch" href="/assets/index.html-DO2xY2T5.js" as="script"><link rel="prefetch" href="/assets/index.html-BEwHBlkc.js" as="script"><link rel="prefetch" href="/assets/index.html-DZIt3Q5g.js" as="script"><link rel="prefetch" href="/assets/index.html-Dd9JrssL.js" as="script"><link rel="prefetch" href="/assets/index.html-BjPOIJdK.js" as="script"><link rel="prefetch" href="/assets/index.html-CmtlWOBH.js" as="script"><link rel="prefetch" href="/assets/index.html-CR-9qG2Y.js" as="script"><link rel="prefetch" href="/assets/index.html-CwWDCYUS.js" as="script"><link rel="prefetch" href="/assets/index.html-CptFZpi0.js" as="script"><link rel="prefetch" href="/assets/index.html-p6Y7Jm3n.js" as="script"><link rel="prefetch" href="/assets/index.html-CIen8cvO.js" as="script"><link rel="prefetch" href="/assets/index.html-BKUs44hv.js" as="script"><link rel="prefetch" href="/assets/index.html-D0wSSTgQ.js" as="script"><link rel="prefetch" href="/assets/index.html-DqsCIdcm.js" as="script"><link rel="prefetch" href="/assets/index.html-kUwAIzkD.js" as="script"><link rel="prefetch" href="/assets/index.html-BqgjNdmg.js" as="script"><link rel="prefetch" href="/assets/index.html-DIaDLRqn.js" as="script"><link rel="prefetch" href="/assets/index.html-DhcL23aG.js" as="script"><link rel="prefetch" href="/assets/index.html-Bk9EBjUw.js" as="script"><link rel="prefetch" href="/assets/index.html-C0X-QC5U.js" as="script"><link rel="prefetch" href="/assets/index.html-ZwD6xCF4.js" as="script"><link rel="prefetch" href="/assets/index.html-BdqadbH8.js" as="script"><link rel="prefetch" href="/assets/index.html-D7Uf3Wbw.js" as="script"><link rel="prefetch" href="/assets/index.html-CsuDpoYK.js" as="script"><link rel="prefetch" href="/assets/index.html-Dc2bdBF2.js" as="script"><link rel="prefetch" href="/assets/index.html-BzgkemtD.js" as="script"><link rel="prefetch" href="/assets/index.html-7uHHiaZx.js" as="script"><link rel="prefetch" href="/assets/index.html-TGoZudvZ.js" as="script"><link rel="prefetch" href="/assets/index.html-DbCWijUV.js" as="script"><link rel="prefetch" href="/assets/index.html-DOCRL60a.js" as="script"><link rel="prefetch" href="/assets/index.html-B8qYb7wb.js" as="script"><link rel="prefetch" href="/assets/index.html-CpBdG6tv.js" as="script"><link rel="prefetch" href="/assets/index.html-DdE0h7xo.js" as="script"><link rel="prefetch" href="/assets/index.html-BlsdgZAc.js" as="script"><link rel="prefetch" href="/assets/index.html-Du74cC6X.js" as="script"><link rel="prefetch" href="/assets/index.html-CTp2Oa39.js" as="script"><link rel="prefetch" href="/assets/index.html-Bz73p56D.js" as="script"><link rel="prefetch" href="/assets/index.html-BktjQtFB.js" as="script"><link rel="prefetch" href="/assets/index.html-DPl--Ppt.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-BF52VcER.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CgYxLcm_.js" as="script"><link rel="prefetch" href="/assets/artplayer-CHAGXahu.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-BOVnG7as.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-CbA2In8H.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-Do1ld-lW.js" as="script"><link rel="prefetch" href="/assets/giscus-7BMGhbDA.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-SzV8tJDW.js" as="script">
+    <link rel="preload" href="/assets/style-7DTFFHvh.css" as="style"><link rel="stylesheet" href="/assets/style-7DTFFHvh.css">
+    <link rel="modulepreload" href="/assets/app-Flo2gZk8.js"><link rel="modulepreload" href="/assets/index.html-U1Oe9QlK.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
+    <link rel="prefetch" href="/assets/index.html-BhtLl4n3.js" as="script"><link rel="prefetch" href="/assets/index.html-C6yte3a0.js" as="script"><link rel="prefetch" href="/assets/index.html-R-cHHIas.js" as="script"><link rel="prefetch" href="/assets/index.html-CPUAg15t.js" as="script"><link rel="prefetch" href="/assets/index.html-BjdnOCC5.js" as="script"><link rel="prefetch" href="/assets/index.html-7Xyk7CrU.js" as="script"><link rel="prefetch" href="/assets/index.html-BNW3YRR3.js" as="script"><link rel="prefetch" href="/assets/index.html-jClrTNl3.js" as="script"><link rel="prefetch" href="/assets/index.html-tFfBEjXi.js" as="script"><link rel="prefetch" href="/assets/index.html-DgPmeCdQ.js" as="script"><link rel="prefetch" href="/assets/index.html-CxRigd-R.js" as="script"><link rel="prefetch" href="/assets/index.html-BWPjJqfa.js" as="script"><link rel="prefetch" href="/assets/index.html-DzG2EJXJ.js" as="script"><link rel="prefetch" href="/assets/index.html-B45efyIG.js" as="script"><link rel="prefetch" href="/assets/index.html-D_Px6PD2.js" as="script"><link rel="prefetch" href="/assets/index.html-fvB3i9PM.js" as="script"><link rel="prefetch" href="/assets/404.html-mkIobPP0.js" as="script"><link rel="prefetch" href="/assets/index.html-DGqb01LU.js" as="script"><link rel="prefetch" href="/assets/index.html-GZfFX8ok.js" as="script"><link rel="prefetch" href="/assets/index.html-vhaMR1PK.js" as="script"><link rel="prefetch" href="/assets/index.html-CvSEeOlH.js" as="script"><link rel="prefetch" href="/assets/index.html-BmplSMWS.js" as="script"><link rel="prefetch" href="/assets/index.html-C2sDDxGY.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNwolvq.js" as="script"><link rel="prefetch" href="/assets/index.html-DhSSZBRU.js" as="script"><link rel="prefetch" href="/assets/index.html-DPcGNBru.js" as="script"><link rel="prefetch" href="/assets/index.html-BFJ0kKZP.js" as="script"><link rel="prefetch" href="/assets/index.html-CBW4olfB.js" as="script"><link rel="prefetch" href="/assets/index.html-CiBWk0Bg.js" as="script"><link rel="prefetch" href="/assets/index.html-AFWYFeTY.js" as="script"><link rel="prefetch" href="/assets/index.html-DlrkN0XZ.js" as="script"><link rel="prefetch" href="/assets/index.html-Cb-sPtFS.js" as="script"><link rel="prefetch" href="/assets/index.html-DPF-EyUV.js" as="script"><link rel="prefetch" href="/assets/index.html-AqhAiBBF.js" as="script"><link rel="prefetch" href="/assets/index.html-DLZdHb6J.js" as="script"><link rel="prefetch" href="/assets/index.html-Cpr5viHS.js" as="script"><link rel="prefetch" href="/assets/index.html-BXxGxqK4.js" as="script"><link rel="prefetch" href="/assets/index.html-4asd-b47.js" as="script"><link rel="prefetch" href="/assets/index.html-ZITi3OK2.js" as="script"><link rel="prefetch" href="/assets/index.html-DJMKg_M6.js" as="script"><link rel="prefetch" href="/assets/index.html-Y__KWg8u.js" as="script"><link rel="prefetch" href="/assets/index.html--BIzY7gk.js" as="script"><link rel="prefetch" href="/assets/index.html-BRHXQqdq.js" as="script"><link rel="prefetch" href="/assets/index.html-C_2nkQ6B.js" as="script"><link rel="prefetch" href="/assets/index.html-R9oSKuoP.js" as="script"><link rel="prefetch" href="/assets/index.html-DY-KY6vi.js" as="script"><link rel="prefetch" href="/assets/index.html-BSndmKE7.js" as="script"><link rel="prefetch" href="/assets/index.html-BDmR_g70.js" as="script"><link rel="prefetch" href="/assets/index.html-CpeDyHcd.js" as="script"><link rel="prefetch" href="/assets/index.html-DV9WiiCS.js" as="script"><link rel="prefetch" href="/assets/index.html-DTceWJaH.js" as="script"><link rel="prefetch" href="/assets/index.html-2WOtvPq_.js" as="script"><link rel="prefetch" href="/assets/index.html-DCVozm3V.js" as="script"><link rel="prefetch" href="/assets/index.html-vKhQGG0S.js" as="script"><link rel="prefetch" href="/assets/index.html-BlvUTCvM.js" as="script"><link rel="prefetch" href="/assets/index.html-vIW8aJUJ.js" as="script"><link rel="prefetch" href="/assets/index.html-CTuZCChr.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-S0Hns9UN.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CSFeuThZ.js" as="script"><link rel="prefetch" href="/assets/artplayer-DnixxQIM.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-DaNo29Rn.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-nRkOMaNb.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-DQalTb-T.js" as="script"><link rel="prefetch" href="/assets/giscus-D-fkNSKD.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-GXRgw7eJ.js" as="script">
   </head>
   <body>
     <div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container has-toc"><!--[--><header id="navbar" class="vp-navbar"><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><!--[--><a class="route-link vp-brand" href="/"><img class="vp-nav-logo" src="/img/Headshot.jpg" alt><!----><span class="vp-site-name hide-in-pad">HalfSweet&#39;s Blog</span></a><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-center"><!--[--><!----><!--]--><!--[--><nav class="vp-nav-links"><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link active" href="/posts/" aria-label="文章"><span class="font-icon icon app" style=""></span>文章<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/about/" aria-label="关于"><span class="font-icon icon user" style=""></span>关于<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/friends/" aria-label="友链"><span class="font-icon icon link" style=""></span>友链<!----></a></div></nav><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-end"><!--[--><!----><!--]--><!--[--><!----><div class="nav-item vp-repo"><a class="vp-repo-link" href="https://github.com/HalfSweet/Blog" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><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"></path></svg></a></div><div class="nav-item hide-in-mobile"><button type="button" id="appearance-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" style="display:block;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" style="display:none;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" style="display:none;"><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"></path></svg></button></div><!----><!--]--><!--[--><!----><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar"><!--[--><!----><!--]--><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></li><li><section class="vp-sidebar-group"><p class="vp-sidebar-header active"><span class="font-icon icon book" style=""></span><span class="vp-sidebar-title">文章</span><!----></p><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-Clion/" aria-label="使用 Clion 来进行 Air32 的开发"><!---->使用 Clion 来进行 Air32 的开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-MCO/" aria-label="Air32 的 HAL 改造——适配 MCO"><!---->Air32 的 HAL 改造——适配 MCO<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/HelloWorld/" aria-label="HelloWorld"><!---->HelloWorld<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/STC_CoreMark/" aria-label="不服来跑个分?将 CoreMark 移植到 STC 上试试"><!---->不服来跑个分?将 CoreMark 移植到 STC 上试试<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="为什么我对第三代郊狼失望"><!---->为什么我对第三代郊狼失望<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-HighFreq/" aria-label="发挥全部实力!Air32 在 HAL 库环境下运行最高主频"><!---->发挥全部实力!Air32 在 HAL 库环境下运行最高主频<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/embedded_fmtlib/" aria-label="在嵌入式设备上使用fmtlib"><!---->在嵌入式设备上使用fmtlib<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/conda_novelai/" aria-label="基于conda进行手动配置novelAI"><!---->基于conda进行手动配置novelAI<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="对《为什么我对第三代郊狼失望》一文的澄清说明"><!---->对《为什么我对第三代郊狼失望》一文的澄清说明<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Empedded-CI-CD/" aria-label="嵌入式中的 CI/CD"><!---->嵌入式中的 CI/CD<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/MDK6-Dev/" aria-label="更现代的开发方式?使用 MDK6 进行开发"><!---->更现代的开发方式?使用 MDK6 进行开发<!----></a></li><li><a class="route-link nav-link active vp-sidebar-link vp-sidebar-page active" href="/posts/SEGGER-RTT/" aria-label="更高效的日志查看方式——使用SEGGER-RTT"><!---->更高效的日志查看方式——使用SEGGER-RTT<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/EpdTraps1/" aria-label="墨水屏的坑——7.5寸墨水屏刷新为何出现条纹"><!---->墨水屏的坑——7.5寸墨水屏刷新为何出现条纹<!----></a></li></ul></section></li></ul><!--[--><!----><!--]--></aside><!--[--><main id="main-content" class="vp-page"><!--[--><!--[--><!----><!--]--><!----><nav class="vp-breadcrumb disable"></nav><div class="vp-page-title"><h1><!---->更高效的日志查看方式——使用SEGGER-RTT</h1><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2023-05-06T14:48:05.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>大约 3 分钟</span><meta property="timeRequired" content="PT3M"></span><span class="page-category-info" aria-label="分类🌈" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg><!--[--><span class="page-category-item category8 clickable" role="navigation">单片机</span><!--]--><meta property="articleSection" content="单片机"></span><span class="page-tag-info" aria-label="标签🏷" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg><!--[--><span class="page-tag-item tag8 clickable" role="navigation">Air001</span><span class="page-tag-item tag8 clickable" role="navigation">合宙</span><span class="page-tag-item tag0 clickable" role="navigation">日志</span><!--]--><meta property="keywords" content="Air001,合宙,日志"></span></div><hr></div><div class="vp-toc-placeholder"><aside id="toc"><!--[--><!----><!--]--><div class="vp-toc-header">此页内容<button type="button" class="print-button" title="打印"><svg xmlns="http://www.w3.org/2000/svg" class="icon print-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="print icon"><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"></path></svg></button><div class="arrow end"></div></div><div class="vp-toc-wrapper"><ul class="vp-toc-list"><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#调试方式">调试方式</a></li><li><ul class="vp-toc-list"><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="/#使用swo">使用SWO</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="/#segger-rtt">SEGGER-RTT</a></li><!----><!--]--></ul></li><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#移植segger-rtt">移植SEGGER-RTT</a></li><li><ul class="vp-toc-list"><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="/#_0x01-安装j-link">0x01 安装J-Link</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="/#_0x02-加入keil工程">0x02 加入Keil工程</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="/#_0x03-初始化并调用">0x03 初始化并调用</a></li><!----><!--]--></ul></li><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#后记">后记</a></li><!----><!--]--></ul><div class="vp-toc-marker" style="top:-1.7rem;"></div></div><!--[--><!----><!--]--></aside></div><!--[--><!----><!--]--><div class="theme-hope-content"><p>在日常的开发中,我们免不了使用各种各样的日志打印方式,使用调试器固然好用,但是无法直接打印局部变量以及会打断整个运行状态。并且对于众多<code>Arduino</code>的用户来说,直接打印日志显然是更直观的做法。但是直接使用串口打印的话需要一定的资源,并且速度会稍慢,并且可能会占用一个串口,对于资源就不多的MCU,我们有没有更方便的方法呢?</p><h2 id="调试方式" tabindex="-1"><a class="header-anchor" href="#调试方式"><span>调试方式</span></a></h2><h3 id="使用swo" tabindex="-1"><a class="header-anchor" href="#使用swo"><span>使用SWO</span></a></h3><p>对于这个问题,众多厂商也有着相同的需求,于是Arm公司便提出了一种叫做<code>Serial Wire Output</code>的协议,我们将其简称为<code>SWO</code>。简单来说,它是一种用于调试的接口协议。SWO是在ARM Cortex-M微控制器上实现的,它允许调试器通过单个引脚输出数据,而不需要占用其他引脚。使用SWO接口,可以在运行时输出调试信息,例如程序状态、变量值、函数返回值等,从而帮助开发人员进行调试。</p><p>在<code>STM32</code>微处理器的编程中,我们只需要在<code>STM32CubeMX</code>软件中打开异步跟踪模式即可使用SWO进行输出调试,相比与串口的打印,使用SWO明显效率更高,占用的引脚更少。 <img src="/assets/2023-05-06-15-04-58-DpMHk8Mb.png" alt=""> 但是遗憾的是,采用SWO的日志输出依然会占用一个IO,并且只能和SWD/JTAG等调试口联用。那么我们有没有一种方法,可以做到只使用调试接口就可以输出日志,并且拥有相似甚至更高的效率呢?</p><h3 id="segger-rtt" tabindex="-1"><a class="header-anchor" href="#segger-rtt"><span>SEGGER-RTT</span></a></h3><p>在此基础上,伟大的<code>SEGGER Microcontroller</code>公司便推出了一种新的日志打印方式,称之为<code>Real-Time Transfer</code>,也就是简称的<code>RTT</code>。什么?你没听过这个公司?那你总用过<code>J-Link</code>吧,是的,它们出自于一家公司。</p><p>SEGGER-RTT 的原理是通过在目标设备上的专用软件库,将实时数据通过 JTAG/SWD 接口传输到 Host 端。这个过程中不需要额外的硬件支持,只需要使用 SEGGER 的调试器和它的支持的 IDE(如SEGGER&#39;s Embedded Studio或其他兼容IDE)。SEGGER-RTT 通过利用调试器的访问权限,从调试目标设备的内部缓冲区中读取数据,并将这些数据发送到 Host 端进行处理和显示。同时也可以在 Host 端向目标设备发送数据,以便执行一些控制操作或者更改程序的状态。由于 SEGGER-RTT 可以非常快速地传输大量数据,因此它通常被用于实时性要求较高的应用程序中。</p><h2 id="移植segger-rtt" tabindex="-1"><a class="header-anchor" href="#移植segger-rtt"><span>移植SEGGER-RTT</span></a></h2><p>我们来尝试在Air001单片机上移植SEGGER-RTT。移植好的工程开源链接:</p><p><a href="https://github.com/Air-duino/Air001-SEGGER-RTT-Keil" target="_blank" rel="noopener noreferrer">https://github.com/Air-duino/Air001-SEGGER-RTT-Keil<span><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"><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"></path><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"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a></p><h3 id="_0x01-安装j-link" tabindex="-1"><a class="header-anchor" href="#_0x01-安装j-link"><span>0x01 安装J-Link</span></a></h3><p>第一步,我们先下载一个<a href="https://www.segger.com/downloads/jlink/#J-LinkSoftwareAndDocumentationPack" target="_blank" rel="noopener noreferrer">Jlink全家桶<span><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"><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"></path><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"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a>,然后安装。 然后在如图所示的安装目录下,我们应该可以看到这样的一个压缩文件: <img src="/assets/2023-05-06-15-21-02-DpbFT8xU.png" alt=""> 解压它,备用。</p><h3 id="_0x02-加入keil工程" tabindex="-1"><a class="header-anchor" href="#_0x02-加入keil工程"><span>0x02 加入Keil工程</span></a></h3><p>我们将<code>xxx/JLink\Samples\RTT\SEGGER_RTT_V788a\</code>下的<code>RTT</code>和<code>Config</code>文件夹复制到我们的工程目录下,并加入到Keil工程中,别忘了添加头文件。 <img src="/assets/2023-05-06-15-29-11-DOwiQ4YX.png" alt=""><img src="/assets/2023-05-06-15-29-39-DvTCV4f2.png" alt=""></p><h3 id="_0x03-初始化并调用" tabindex="-1"><a class="header-anchor" href="#_0x03-初始化并调用"><span>0x03 初始化并调用</span></a></h3><p>在<code>main.c</code>文件中include头文件,并初始化。</p><div class="language-c line-numbers-mode" data-ext="c" data-title="c"><pre class="language-c"><code><span class="token keyword">int</span> <span class="token function">main</span><span class="token punctuation">(</span><span class="token keyword">void</span><span class="token punctuation">)</span>
@@ -51,6 +51,6 @@
   <span class="token punctuation">}</span>
 <span class="token punctuation">}</span>
 </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>因为我们使用的是DAPLink,Jlink的软件无法识别,因此我们使用了一个第三方的软件: <a href="https://github.com/XIVN1987/RTTView" target="_blank" rel="noopener noreferrer">https://github.com/XIVN1987/RTTView<span><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"><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"></path><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"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a><img src="/assets/2023-05-06-15-39-02-CWudQtzv.png" alt=""> 打印出了预期的结果。</p><h2 id="后记" tabindex="-1"><a class="header-anchor" href="#后记"><span>后记</span></a></h2><ul><li>思考:效率是否能进一步提高呢?</li></ul></div><!--[--><!----><!--]--><footer class="page-meta"><div class="meta-item edit-link"><a href="https://github.com/HalfSweet/Blog/edit/main/src/posts/更高效的日志查看方式——使用SEGGER-RTT.md" rel="noopener noreferrer" target="_blank" aria-label="在 GitHub 上编辑此页" class="nav-link label"><!--[--><svg xmlns="http://www.w3.org/2000/svg" class="icon edit-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="edit icon"><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"></path><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"></path></svg><!--]-->在 GitHub 上编辑此页<span><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"><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"></path><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"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!----></a></div><div class="meta-item git-info"><div class="update-time"><span class="label">上次编辑于: </span><!----></div><div class="contributors"><span class="label">贡献者: </span><!--[--><!--[--><span class="contributor" title="email: halfsweet@halfsweet.cn">HalfSweet</span><!--]--><!--]--></div></div></footer><nav class="vp-page-nav"><a class="route-link nav-link prev" href="/posts/MDK6-Dev/" aria-label="更现代的开发方式?使用 MDK6 进行开发"><div class="hint"><span class="arrow start"></span>上一页</div><div class="link"><!---->更现代的开发方式?使用 MDK6 进行开发</div></a><a class="route-link nav-link next" href="/posts/EpdTraps1/" aria-label="墨水屏的坑——7.5寸墨水屏刷新为何出现条纹"><div class="hint">下一页<span class="arrow end"></span></div><div class="link">墨水屏的坑——7.5寸墨水屏刷新为何出现条纹<!----></div></a></nav><div id="vp-comment" class="giscus-wrapper input-top" style="display:block;"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" preserveAspectRatio="xMidYMid" viewBox="0 0 100 100"><circle cx="28" cy="75" r="11" fill="currentColor"><animate attributeName="fill-opacity" begin="0s" dur="1s" keyTimes="0;0.2;1" repeatCount="indefinite" values="0;1;1"></animate></circle><path fill="none" stroke="#88baf0" stroke-width="10" d="M28 47a28 28 0 0 1 28 28"><animate attributeName="stroke-opacity" begin="0.1s" dur="1s" keyTimes="0;0.2;1" repeatCount="indefinite" values="0;1;1"></animate></path><path fill="none" stroke="#88baf0" stroke-width="10" d="M28 25a50 50 0 0 1 50 50"><animate attributeName="stroke-opacity" begin="0.2s" dur="1s" keyTimes="0;0.2;1" repeatCount="indefinite" values="0;1;1"></animate></path></svg></div><!--[--><!----><!--]--><!--]--></main><!--]--><footer class="vp-footer-wrapper"><div class="vp-footer">今天咕咕被欺负了吗</div><div class="vp-copyright">Copyright © 2024 HalfSweet </div></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div>
-    <script type="module" src="/assets/app-ClwIkahu.js" defer></script>
+    <script type="module" src="/assets/app-Flo2gZk8.js" defer></script>
   </body>
 </html>
diff --git a/posts/STC_CoreMark/index.html b/posts/STC_CoreMark/index.html
index f17c52a..5987da8 100644
--- a/posts/STC_CoreMark/index.html
+++ b/posts/STC_CoreMark/index.html
@@ -29,9 +29,9 @@
       }
     </script>
     <meta property="og:url" content="https://halfsweet.cn/posts/STC_CoreMark/"><meta property="og:site_name" content="HalfSweet's Blog"><meta property="og:title" content="不服来跑个分?将 CoreMark 移植到 STC 上试试"><meta property="og:description" content="最近维护的 Air001 准备上线了,为了衬托出其强大的性价比,因此我想来做点的事,让我们来和同样以高打性价比的 STC 系列单片机来对比下 CoreMark 的跑分吧,本文将会详细介绍移植过程以及跑分结果。测试的 MCU 为降龙棍 STC32G12K128与打狗棒 STC8H8K64U。 通用,本文同样适用于 Arm-Cortex M 架构的 MCU..."><meta property="og:type" content="article"><meta property="og:locale" content="zh-CN"><meta property="og:updated_time" content="2024-03-23T06:35:02.000Z"><meta property="article:author" content="HalfSweet"><meta property="article:tag" content="STC32"><meta property="article:tag" content="STC8"><meta property="article:tag" content="嵌入式"><meta property="article:tag" content="CoreMark"><meta property="article:published_time" content="2023-04-14T17:39:36.000Z"><meta property="article:modified_time" content="2024-03-23T06:35:02.000Z"><script type="application/ld+json">{"@context":"https://schema.org","@type":"Article","headline":"不服来跑个分?将 CoreMark 移植到 STC 上试试","image":[""],"datePublished":"2023-04-14T17:39:36.000Z","dateModified":"2024-03-23T06:35:02.000Z","author":[{"@type":"Person","name":"HalfSweet","link":"https://github.com/HalfSweet"}]}</script><title>不服来跑个分?将 CoreMark 移植到 STC 上试试 | HalfSweet's Blog</title><meta name="description" content="最近维护的 Air001 准备上线了,为了衬托出其强大的性价比,因此我想来做点的事,让我们来和同样以高打性价比的 STC 系列单片机来对比下 CoreMark 的跑分吧,本文将会详细介绍移植过程以及跑分结果。测试的 MCU 为降龙棍 STC32G12K128与打狗棒 STC8H8K64U。 通用,本文同样适用于 Arm-Cortex M 架构的 MCU...">
-    <link rel="preload" href="/assets/style-BDwnt-CL.css" as="style"><link rel="stylesheet" href="/assets/style-BDwnt-CL.css">
-    <link rel="modulepreload" href="/assets/app-ClwIkahu.js"><link rel="modulepreload" href="/assets/index.html-Bqe7scks.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
-    <link rel="prefetch" href="/assets/index.html-BjG6C5xb.js" as="script"><link rel="prefetch" href="/assets/index.html-6gNmrYKw.js" as="script"><link rel="prefetch" href="/assets/index.html-W8DPbcPd.js" as="script"><link rel="prefetch" href="/assets/index.html-75fD8c0W.js" as="script"><link rel="prefetch" href="/assets/index.html-CufQKtZU.js" as="script"><link rel="prefetch" href="/assets/index.html-B5-KeVPb.js" as="script"><link rel="prefetch" href="/assets/index.html-C7FigsQF.js" as="script"><link rel="prefetch" href="/assets/index.html-DtEE6E7f.js" as="script"><link rel="prefetch" href="/assets/index.html-0oPRY09N.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNCX4dz.js" as="script"><link rel="prefetch" href="/assets/index.html-XtQdJJI8.js" as="script"><link rel="prefetch" href="/assets/index.html-CnJ0E6b5.js" as="script"><link rel="prefetch" href="/assets/index.html-CFhDcrZp.js" as="script"><link rel="prefetch" href="/assets/index.html-Bd1PkxNi.js" as="script"><link rel="prefetch" href="/assets/index.html-DJ-_mZ9n.js" as="script"><link rel="prefetch" href="/assets/index.html-jFzM8lrm.js" as="script"><link rel="prefetch" href="/assets/404.html-VMfaDGRx.js" as="script"><link rel="prefetch" href="/assets/index.html-BaR2aqhq.js" as="script"><link rel="prefetch" href="/assets/index.html-DO2xY2T5.js" as="script"><link rel="prefetch" href="/assets/index.html-BEwHBlkc.js" as="script"><link rel="prefetch" href="/assets/index.html-DZIt3Q5g.js" as="script"><link rel="prefetch" href="/assets/index.html-Dd9JrssL.js" as="script"><link rel="prefetch" href="/assets/index.html-BjPOIJdK.js" as="script"><link rel="prefetch" href="/assets/index.html-CmtlWOBH.js" as="script"><link rel="prefetch" href="/assets/index.html-CR-9qG2Y.js" as="script"><link rel="prefetch" href="/assets/index.html-CwWDCYUS.js" as="script"><link rel="prefetch" href="/assets/index.html-CptFZpi0.js" as="script"><link rel="prefetch" href="/assets/index.html-p6Y7Jm3n.js" as="script"><link rel="prefetch" href="/assets/index.html-CIen8cvO.js" as="script"><link rel="prefetch" href="/assets/index.html-BKUs44hv.js" as="script"><link rel="prefetch" href="/assets/index.html-D0wSSTgQ.js" as="script"><link rel="prefetch" href="/assets/index.html-DqsCIdcm.js" as="script"><link rel="prefetch" href="/assets/index.html-kUwAIzkD.js" as="script"><link rel="prefetch" href="/assets/index.html-BqgjNdmg.js" as="script"><link rel="prefetch" href="/assets/index.html-DIaDLRqn.js" as="script"><link rel="prefetch" href="/assets/index.html-DhcL23aG.js" as="script"><link rel="prefetch" href="/assets/index.html-Bk9EBjUw.js" as="script"><link rel="prefetch" href="/assets/index.html-C0X-QC5U.js" as="script"><link rel="prefetch" href="/assets/index.html-ZwD6xCF4.js" as="script"><link rel="prefetch" href="/assets/index.html-BdqadbH8.js" as="script"><link rel="prefetch" href="/assets/index.html-D7Uf3Wbw.js" as="script"><link rel="prefetch" href="/assets/index.html-CsuDpoYK.js" as="script"><link rel="prefetch" href="/assets/index.html-Dc2bdBF2.js" as="script"><link rel="prefetch" href="/assets/index.html-BzgkemtD.js" as="script"><link rel="prefetch" href="/assets/index.html-7uHHiaZx.js" as="script"><link rel="prefetch" href="/assets/index.html-TGoZudvZ.js" as="script"><link rel="prefetch" href="/assets/index.html-DbCWijUV.js" as="script"><link rel="prefetch" href="/assets/index.html-DOCRL60a.js" as="script"><link rel="prefetch" href="/assets/index.html-B8qYb7wb.js" as="script"><link rel="prefetch" href="/assets/index.html-CpBdG6tv.js" as="script"><link rel="prefetch" href="/assets/index.html-DdE0h7xo.js" as="script"><link rel="prefetch" href="/assets/index.html-BlsdgZAc.js" as="script"><link rel="prefetch" href="/assets/index.html-Du74cC6X.js" as="script"><link rel="prefetch" href="/assets/index.html-CTp2Oa39.js" as="script"><link rel="prefetch" href="/assets/index.html-Bz73p56D.js" as="script"><link rel="prefetch" href="/assets/index.html-BktjQtFB.js" as="script"><link rel="prefetch" href="/assets/index.html-DPl--Ppt.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-BF52VcER.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CgYxLcm_.js" as="script"><link rel="prefetch" href="/assets/artplayer-CHAGXahu.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-BOVnG7as.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-CbA2In8H.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-Do1ld-lW.js" as="script"><link rel="prefetch" href="/assets/giscus-7BMGhbDA.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-SzV8tJDW.js" as="script">
+    <link rel="preload" href="/assets/style-7DTFFHvh.css" as="style"><link rel="stylesheet" href="/assets/style-7DTFFHvh.css">
+    <link rel="modulepreload" href="/assets/app-Flo2gZk8.js"><link rel="modulepreload" href="/assets/index.html-7Xyk7CrU.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
+    <link rel="prefetch" href="/assets/index.html-BhtLl4n3.js" as="script"><link rel="prefetch" href="/assets/index.html-C6yte3a0.js" as="script"><link rel="prefetch" href="/assets/index.html-R-cHHIas.js" as="script"><link rel="prefetch" href="/assets/index.html-CPUAg15t.js" as="script"><link rel="prefetch" href="/assets/index.html-BjdnOCC5.js" as="script"><link rel="prefetch" href="/assets/index.html-BNW3YRR3.js" as="script"><link rel="prefetch" href="/assets/index.html-jClrTNl3.js" as="script"><link rel="prefetch" href="/assets/index.html-tFfBEjXi.js" as="script"><link rel="prefetch" href="/assets/index.html-DgPmeCdQ.js" as="script"><link rel="prefetch" href="/assets/index.html-CxRigd-R.js" as="script"><link rel="prefetch" href="/assets/index.html-BWPjJqfa.js" as="script"><link rel="prefetch" href="/assets/index.html-DzG2EJXJ.js" as="script"><link rel="prefetch" href="/assets/index.html-B45efyIG.js" as="script"><link rel="prefetch" href="/assets/index.html-D_Px6PD2.js" as="script"><link rel="prefetch" href="/assets/index.html-U1Oe9QlK.js" as="script"><link rel="prefetch" href="/assets/index.html-fvB3i9PM.js" as="script"><link rel="prefetch" href="/assets/404.html-mkIobPP0.js" as="script"><link rel="prefetch" href="/assets/index.html-DGqb01LU.js" as="script"><link rel="prefetch" href="/assets/index.html-GZfFX8ok.js" as="script"><link rel="prefetch" href="/assets/index.html-vhaMR1PK.js" as="script"><link rel="prefetch" href="/assets/index.html-CvSEeOlH.js" as="script"><link rel="prefetch" href="/assets/index.html-BmplSMWS.js" as="script"><link rel="prefetch" href="/assets/index.html-C2sDDxGY.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNwolvq.js" as="script"><link rel="prefetch" href="/assets/index.html-DhSSZBRU.js" as="script"><link rel="prefetch" href="/assets/index.html-DPcGNBru.js" as="script"><link rel="prefetch" href="/assets/index.html-BFJ0kKZP.js" as="script"><link rel="prefetch" href="/assets/index.html-CBW4olfB.js" as="script"><link rel="prefetch" href="/assets/index.html-CiBWk0Bg.js" as="script"><link rel="prefetch" href="/assets/index.html-AFWYFeTY.js" as="script"><link rel="prefetch" href="/assets/index.html-DlrkN0XZ.js" as="script"><link rel="prefetch" href="/assets/index.html-Cb-sPtFS.js" as="script"><link rel="prefetch" href="/assets/index.html-DPF-EyUV.js" as="script"><link rel="prefetch" href="/assets/index.html-AqhAiBBF.js" as="script"><link rel="prefetch" href="/assets/index.html-DLZdHb6J.js" as="script"><link rel="prefetch" href="/assets/index.html-Cpr5viHS.js" as="script"><link rel="prefetch" href="/assets/index.html-BXxGxqK4.js" as="script"><link rel="prefetch" href="/assets/index.html-4asd-b47.js" as="script"><link rel="prefetch" href="/assets/index.html-ZITi3OK2.js" as="script"><link rel="prefetch" href="/assets/index.html-DJMKg_M6.js" as="script"><link rel="prefetch" href="/assets/index.html-Y__KWg8u.js" as="script"><link rel="prefetch" href="/assets/index.html--BIzY7gk.js" as="script"><link rel="prefetch" href="/assets/index.html-BRHXQqdq.js" as="script"><link rel="prefetch" href="/assets/index.html-C_2nkQ6B.js" as="script"><link rel="prefetch" href="/assets/index.html-R9oSKuoP.js" as="script"><link rel="prefetch" href="/assets/index.html-DY-KY6vi.js" as="script"><link rel="prefetch" href="/assets/index.html-BSndmKE7.js" as="script"><link rel="prefetch" href="/assets/index.html-BDmR_g70.js" as="script"><link rel="prefetch" href="/assets/index.html-CpeDyHcd.js" as="script"><link rel="prefetch" href="/assets/index.html-DV9WiiCS.js" as="script"><link rel="prefetch" href="/assets/index.html-DTceWJaH.js" as="script"><link rel="prefetch" href="/assets/index.html-2WOtvPq_.js" as="script"><link rel="prefetch" href="/assets/index.html-DCVozm3V.js" as="script"><link rel="prefetch" href="/assets/index.html-vKhQGG0S.js" as="script"><link rel="prefetch" href="/assets/index.html-BlvUTCvM.js" as="script"><link rel="prefetch" href="/assets/index.html-vIW8aJUJ.js" as="script"><link rel="prefetch" href="/assets/index.html-CTuZCChr.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-S0Hns9UN.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CSFeuThZ.js" as="script"><link rel="prefetch" href="/assets/artplayer-DnixxQIM.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-DaNo29Rn.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-nRkOMaNb.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-DQalTb-T.js" as="script"><link rel="prefetch" href="/assets/giscus-D-fkNSKD.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-GXRgw7eJ.js" as="script">
   </head>
   <body>
     <div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container has-toc"><!--[--><header id="navbar" class="vp-navbar"><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><!--[--><a class="route-link vp-brand" href="/"><img class="vp-nav-logo" src="/img/Headshot.jpg" alt><!----><span class="vp-site-name hide-in-pad">HalfSweet&#39;s Blog</span></a><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-center"><!--[--><!----><!--]--><!--[--><nav class="vp-nav-links"><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link active" href="/posts/" aria-label="文章"><span class="font-icon icon app" style=""></span>文章<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/about/" aria-label="关于"><span class="font-icon icon user" style=""></span>关于<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/friends/" aria-label="友链"><span class="font-icon icon link" style=""></span>友链<!----></a></div></nav><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-end"><!--[--><!----><!--]--><!--[--><!----><div class="nav-item vp-repo"><a class="vp-repo-link" href="https://github.com/HalfSweet/Blog" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><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"></path></svg></a></div><div class="nav-item hide-in-mobile"><button type="button" id="appearance-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" style="display:block;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" style="display:none;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" style="display:none;"><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"></path></svg></button></div><!----><!--]--><!--[--><!----><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar"><!--[--><!----><!--]--><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></li><li><section class="vp-sidebar-group"><p class="vp-sidebar-header active"><span class="font-icon icon book" style=""></span><span class="vp-sidebar-title">文章</span><!----></p><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-Clion/" aria-label="使用 Clion 来进行 Air32 的开发"><!---->使用 Clion 来进行 Air32 的开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-MCO/" aria-label="Air32 的 HAL 改造——适配 MCO"><!---->Air32 的 HAL 改造——适配 MCO<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/HelloWorld/" aria-label="HelloWorld"><!---->HelloWorld<!----></a></li><li><a class="route-link nav-link active vp-sidebar-link vp-sidebar-page active" href="/posts/STC_CoreMark/" aria-label="不服来跑个分?将 CoreMark 移植到 STC 上试试"><!---->不服来跑个分?将 CoreMark 移植到 STC 上试试<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="为什么我对第三代郊狼失望"><!---->为什么我对第三代郊狼失望<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-HighFreq/" aria-label="发挥全部实力!Air32 在 HAL 库环境下运行最高主频"><!---->发挥全部实力!Air32 在 HAL 库环境下运行最高主频<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/embedded_fmtlib/" aria-label="在嵌入式设备上使用fmtlib"><!---->在嵌入式设备上使用fmtlib<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/conda_novelai/" aria-label="基于conda进行手动配置novelAI"><!---->基于conda进行手动配置novelAI<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="对《为什么我对第三代郊狼失望》一文的澄清说明"><!---->对《为什么我对第三代郊狼失望》一文的澄清说明<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Empedded-CI-CD/" aria-label="嵌入式中的 CI/CD"><!---->嵌入式中的 CI/CD<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/MDK6-Dev/" aria-label="更现代的开发方式?使用 MDK6 进行开发"><!---->更现代的开发方式?使用 MDK6 进行开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/SEGGER-RTT/" aria-label="更高效的日志查看方式——使用SEGGER-RTT"><!---->更高效的日志查看方式——使用SEGGER-RTT<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/EpdTraps1/" aria-label="墨水屏的坑——7.5寸墨水屏刷新为何出现条纹"><!---->墨水屏的坑——7.5寸墨水屏刷新为何出现条纹<!----></a></li></ul></section></li></ul><!--[--><!----><!--]--></aside><!--[--><main id="main-content" class="vp-page"><!--[--><!--[--><!----><!--]--><!----><nav class="vp-breadcrumb disable"></nav><div class="vp-page-title"><h1><!---->不服来跑个分?将 CoreMark 移植到 STC 上试试</h1><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2023-04-14T17:39:36.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>大约 5 分钟</span><meta property="timeRequired" content="PT5M"></span><span class="page-category-info" aria-label="分类🌈" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg><!--[--><span class="page-category-item category8 clickable" role="navigation">单片机</span><!--]--><meta property="articleSection" content="单片机"></span><span class="page-tag-info" aria-label="标签🏷" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg><!--[--><span class="page-tag-item tag3 clickable" role="navigation">STC32</span><span class="page-tag-item tag8 clickable" role="navigation">STC8</span><span class="page-tag-item tag2 clickable" role="navigation">嵌入式</span><span class="page-tag-item tag2 clickable" role="navigation">CoreMark</span><!--]--><meta property="keywords" content="STC32,STC8,嵌入式,CoreMark"></span></div><hr></div><div class="vp-toc-placeholder"><aside id="toc"><!--[--><!----><!--]--><div class="vp-toc-header">此页内容<button type="button" class="print-button" title="打印"><svg xmlns="http://www.w3.org/2000/svg" class="icon print-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="print icon"><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"></path></svg></button><div class="arrow end"></div></div><div class="vp-toc-wrapper"><ul class="vp-toc-list"><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#stc32g12k128">STC32G12K128</a></li><li><ul class="vp-toc-list"><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="/#开启-usb-cdc-打印-log">开启 USB-CDC 打印 Log</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="/#移植-coremark">移植 CoreMark</a></li><!----><!--]--></ul></li><!--]--></ul><div class="vp-toc-marker" style="top:-1.7rem;"></div></div><!--[--><!----><!--]--></aside></div><!--[--><!----><!--]--><div class="theme-hope-content"><p>最近维护的 Air001 准备上线了,为了衬托出其强大的性价比,因此我想来做点<s>缺德</s>的事,让我们来和同样以高打性价比的 STC 系列单片机来对比下 CoreMark 的跑分吧,本文将会详细介绍移植过程以及跑分结果。测试的 MCU 为<code>降龙棍 STC32G12K128</code>与<code>打狗棒 STC8H8K64U</code>。</p><p>通用,本文同样适用于 Arm-Cortex M 架构的 MCU。</p><h2 id="stc32g12k128" tabindex="-1"><a class="header-anchor" href="#stc32g12k128"><span>STC32G12K128</span></a></h2><h3 id="开启-usb-cdc-打印-log" tabindex="-1"><a class="header-anchor" href="#开启-usb-cdc-打印-log"><span>开启 USB-CDC 打印 Log</span></a></h3><p>我买到的降龙棍开发板非常的 HiFi,整个板子上外设除了 LED 和芯片就没什么了,下载程序都是用的自带的 USB-HID 的 bootloader,然后我又懒得接一个串口模块,因此我们可不可以利用原生的 USB,走 CDC 虚拟串口来打印跑分后的数据呢?</p><p>答案当然是肯定的,STC 非常的贴心,自带了一个写好的 USB 库,其中包含了 HID 和 CDC 两类主要的操作。那我们就先尝试去移植吧。</p><h4 id="下载库文件" tabindex="-1"><a class="header-anchor" href="#下载库文件"><span>下载库文件</span></a></h4><p>STC 的 USB 库文件下载链接为<a href="https://stcai.com/filedownload/656048" target="_blank" rel="noopener noreferrer">https://stcai.com/filedownload/656048<span><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"><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"></path><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"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a>,下载后会发现是一个压缩文件,我们将其解压备用。</p><h4 id="创建工程" tabindex="-1"><a class="header-anchor" href="#创建工程"><span>创建工程</span></a></h4><p>打开 Keil,新建一个工程,芯片选择<code>STC32G12K128</code>,然后我们复制刚才解压的文件中的<code>stc32_stc8_usb.h</code>和<code>stc_usb_cdc_32g.lib</code>到我们新建的工程的目录下,并添加进自己的工程中。</p><h4 id="编写初始化代码" tabindex="-1"><a class="header-anchor" href="#编写初始化代码"><span>编写初始化代码</span></a></h4><p>我们在 main.c 中添加如下的代码:</p><div class="language-c line-numbers-mode" data-ext="c" data-title="c"><pre class="language-c"><code><span class="token macro property"><span class="token directive-hash">#</span><span class="token directive keyword">include</span> <span class="token string">&quot;stc32g.h&quot;</span></span>
@@ -119,6 +119,6 @@
 <span class="token macro property"><span class="token directive-hash">#</span><span class="token directive keyword">define</span> <span class="token macro-name">SAMPLE_TIME_IMPLEMENTATION</span> <span class="token expression"><span class="token number">1</span></span></span>
 <span class="token macro property"><span class="token directive-hash">#</span><span class="token directive keyword">define</span> <span class="token macro-name">EE_TICKS_PER_SEC</span>           <span class="token expression"><span class="token punctuation">(</span>NSECS_PER_SEC <span class="token operator">/</span> TIMER_RES_DIVIDER<span class="token punctuation">)</span></span></span>
 </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><div class="hint-container warning"><p class="hint-container-title">注意</p><p>请注意,这时候编译器可能会有很多报错,是因为和关键字重复了,建议查看 commit 记录查看修改了什么</p></div><h4 id="烧录" tabindex="-1"><a class="header-anchor" href="#烧录"><span>烧录</span></a></h4><p>使用 STC-ISP 软件烧录,其中 IRC 频率修改为最高 35M,等待烧录后打开串口查看跑分结果。</p><div class="hint-container tip"><p class="hint-container-title">提示</p><p>STC32 的 CoreMark 跑分工程开源仓库为<a href="https://github.com/HalfSweet/STC32G-CoreMark" target="_blank" rel="noopener noreferrer">https://github.com/HalfSweet/STC32G-CoreMark<span><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"><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"></path><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"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a></p></div><div class="hint-container warning"><p class="hint-container-title">注意</p><p>目前的工程只能出现跑分的时间,CRC 校验不通过。如果有修复的方法欢迎在评论区或者仓库提出 QwQ。</p></div></div><!--[--><!----><!--]--><footer class="page-meta"><div class="meta-item edit-link"><a href="https://github.com/HalfSweet/Blog/edit/main/src/posts/不服来跑个分?将CoreMark移植到STC上试试.md" rel="noopener noreferrer" target="_blank" aria-label="在 GitHub 上编辑此页" class="nav-link label"><!--[--><svg xmlns="http://www.w3.org/2000/svg" class="icon edit-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="edit icon"><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"></path><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"></path></svg><!--]-->在 GitHub 上编辑此页<span><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"><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"></path><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"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!----></a></div><div class="meta-item git-info"><div class="update-time"><span class="label">上次编辑于: </span><!----></div><div class="contributors"><span class="label">贡献者: </span><!--[--><!--[--><span class="contributor" title="email: halfsweet@halfsweet.cn">HalfSweet</span><!--]--><!--]--></div></div></footer><nav class="vp-page-nav"><a class="route-link nav-link prev" href="/posts/HelloWorld/" aria-label="HelloWorld"><div class="hint"><span class="arrow start"></span>上一页</div><div class="link"><!---->HelloWorld</div></a><a class="route-link nav-link next" href="/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="为什么我对第三代郊狼失望"><div class="hint">下一页<span class="arrow end"></span></div><div class="link">为什么我对第三代郊狼失望<!----></div></a></nav><div id="vp-comment" class="giscus-wrapper input-top" style="display:block;"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" preserveAspectRatio="xMidYMid" viewBox="0 0 100 100"><circle cx="28" cy="75" r="11" fill="currentColor"><animate attributeName="fill-opacity" begin="0s" dur="1s" keyTimes="0;0.2;1" repeatCount="indefinite" values="0;1;1"></animate></circle><path fill="none" stroke="#88baf0" stroke-width="10" d="M28 47a28 28 0 0 1 28 28"><animate attributeName="stroke-opacity" begin="0.1s" dur="1s" keyTimes="0;0.2;1" repeatCount="indefinite" values="0;1;1"></animate></path><path fill="none" stroke="#88baf0" stroke-width="10" d="M28 25a50 50 0 0 1 50 50"><animate attributeName="stroke-opacity" begin="0.2s" dur="1s" keyTimes="0;0.2;1" repeatCount="indefinite" values="0;1;1"></animate></path></svg></div><!--[--><!----><!--]--><!--]--></main><!--]--><footer class="vp-footer-wrapper"><div class="vp-footer">今天咕咕被欺负了吗</div><div class="vp-copyright">Copyright © 2024 HalfSweet </div></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div>
-    <script type="module" src="/assets/app-ClwIkahu.js" defer></script>
+    <script type="module" src="/assets/app-Flo2gZk8.js" defer></script>
   </body>
 </html>
diff --git a/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/index.html b/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/index.html
index 7bb4218..ec61cea 100644
--- a/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/index.html
+++ b/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/index.html
@@ -29,12 +29,12 @@
       }
     </script>
     <meta property="og:url" content="https://halfsweet.cn/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/"><meta property="og:site_name" content="HalfSweet's Blog"><meta property="og:title" content="对《为什么我对第三代郊狼失望》一文的澄清说明"><meta property="og:description" content="在上文 一文中,我对于第三代郊狼的硬件部分进行了一些初步分析,因为没有详细的一些资料,因此在一些地方可能存在一些错误。在昨晚(2024-03-19)郊狼作者找到我,与我群群友进行了一番友好的长时间地交流,也解答了我对设计上的一些疑问。在本文中我们会逐步分析前文中提到的问题。 外观设计 在外观上,我质疑这个和二代的设计区别不大,有炒冷饭之嫌。 但是按照原..."><meta property="og:type" content="article"><meta property="og:locale" content="zh-CN"><meta property="og:updated_time" content="2024-03-23T06:35:02.000Z"><meta property="article:author" content="HalfSweet"><meta property="article:tag" content="碎碎念"><meta property="article:tag" content="郊狼"><meta property="article:modified_time" content="2024-03-23T06:35:02.000Z"><script type="application/ld+json">{"@context":"https://schema.org","@type":"Article","headline":"对《为什么我对第三代郊狼失望》一文的澄清说明","image":[""],"dateModified":"2024-03-23T06:35:02.000Z","author":[{"@type":"Person","name":"HalfSweet","link":"https://github.com/HalfSweet"}]}</script><title>对《为什么我对第三代郊狼失望》一文的澄清说明 | HalfSweet's Blog</title><meta name="description" content="在上文 一文中,我对于第三代郊狼的硬件部分进行了一些初步分析,因为没有详细的一些资料,因此在一些地方可能存在一些错误。在昨晚(2024-03-19)郊狼作者找到我,与我群群友进行了一番友好的长时间地交流,也解答了我对设计上的一些疑问。在本文中我们会逐步分析前文中提到的问题。 外观设计 在外观上,我质疑这个和二代的设计区别不大,有炒冷饭之嫌。 但是按照原...">
-    <link rel="preload" href="/assets/style-BDwnt-CL.css" as="style"><link rel="stylesheet" href="/assets/style-BDwnt-CL.css">
-    <link rel="modulepreload" href="/assets/app-ClwIkahu.js"><link rel="modulepreload" href="/assets/index.html-CnJ0E6b5.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
-    <link rel="prefetch" href="/assets/index.html-BjG6C5xb.js" as="script"><link rel="prefetch" href="/assets/index.html-6gNmrYKw.js" as="script"><link rel="prefetch" href="/assets/index.html-W8DPbcPd.js" as="script"><link rel="prefetch" href="/assets/index.html-75fD8c0W.js" as="script"><link rel="prefetch" href="/assets/index.html-CufQKtZU.js" as="script"><link rel="prefetch" href="/assets/index.html-Bqe7scks.js" as="script"><link rel="prefetch" href="/assets/index.html-B5-KeVPb.js" as="script"><link rel="prefetch" href="/assets/index.html-C7FigsQF.js" as="script"><link rel="prefetch" href="/assets/index.html-DtEE6E7f.js" as="script"><link rel="prefetch" href="/assets/index.html-0oPRY09N.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNCX4dz.js" as="script"><link rel="prefetch" href="/assets/index.html-XtQdJJI8.js" as="script"><link rel="prefetch" href="/assets/index.html-CFhDcrZp.js" as="script"><link rel="prefetch" href="/assets/index.html-Bd1PkxNi.js" as="script"><link rel="prefetch" href="/assets/index.html-DJ-_mZ9n.js" as="script"><link rel="prefetch" href="/assets/index.html-jFzM8lrm.js" as="script"><link rel="prefetch" href="/assets/404.html-VMfaDGRx.js" as="script"><link rel="prefetch" href="/assets/index.html-BaR2aqhq.js" as="script"><link rel="prefetch" href="/assets/index.html-DO2xY2T5.js" as="script"><link rel="prefetch" href="/assets/index.html-BEwHBlkc.js" as="script"><link rel="prefetch" href="/assets/index.html-DZIt3Q5g.js" as="script"><link rel="prefetch" href="/assets/index.html-Dd9JrssL.js" as="script"><link rel="prefetch" href="/assets/index.html-BjPOIJdK.js" as="script"><link rel="prefetch" href="/assets/index.html-CmtlWOBH.js" as="script"><link rel="prefetch" href="/assets/index.html-CR-9qG2Y.js" as="script"><link rel="prefetch" href="/assets/index.html-CwWDCYUS.js" as="script"><link rel="prefetch" href="/assets/index.html-CptFZpi0.js" as="script"><link rel="prefetch" href="/assets/index.html-p6Y7Jm3n.js" as="script"><link rel="prefetch" href="/assets/index.html-CIen8cvO.js" as="script"><link rel="prefetch" href="/assets/index.html-BKUs44hv.js" as="script"><link rel="prefetch" href="/assets/index.html-D0wSSTgQ.js" as="script"><link rel="prefetch" href="/assets/index.html-DqsCIdcm.js" as="script"><link rel="prefetch" href="/assets/index.html-kUwAIzkD.js" as="script"><link rel="prefetch" href="/assets/index.html-BqgjNdmg.js" as="script"><link rel="prefetch" href="/assets/index.html-DIaDLRqn.js" as="script"><link rel="prefetch" href="/assets/index.html-DhcL23aG.js" as="script"><link rel="prefetch" href="/assets/index.html-Bk9EBjUw.js" as="script"><link rel="prefetch" href="/assets/index.html-C0X-QC5U.js" as="script"><link rel="prefetch" href="/assets/index.html-ZwD6xCF4.js" as="script"><link rel="prefetch" href="/assets/index.html-BdqadbH8.js" as="script"><link rel="prefetch" href="/assets/index.html-D7Uf3Wbw.js" as="script"><link rel="prefetch" href="/assets/index.html-CsuDpoYK.js" as="script"><link rel="prefetch" href="/assets/index.html-Dc2bdBF2.js" as="script"><link rel="prefetch" href="/assets/index.html-BzgkemtD.js" as="script"><link rel="prefetch" href="/assets/index.html-7uHHiaZx.js" as="script"><link rel="prefetch" href="/assets/index.html-TGoZudvZ.js" as="script"><link rel="prefetch" href="/assets/index.html-DbCWijUV.js" as="script"><link rel="prefetch" href="/assets/index.html-DOCRL60a.js" as="script"><link rel="prefetch" href="/assets/index.html-B8qYb7wb.js" as="script"><link rel="prefetch" href="/assets/index.html-CpBdG6tv.js" as="script"><link rel="prefetch" href="/assets/index.html-DdE0h7xo.js" as="script"><link rel="prefetch" href="/assets/index.html-BlsdgZAc.js" as="script"><link rel="prefetch" href="/assets/index.html-Du74cC6X.js" as="script"><link rel="prefetch" href="/assets/index.html-CTp2Oa39.js" as="script"><link rel="prefetch" href="/assets/index.html-Bz73p56D.js" as="script"><link rel="prefetch" href="/assets/index.html-BktjQtFB.js" as="script"><link rel="prefetch" href="/assets/index.html-DPl--Ppt.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-BF52VcER.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CgYxLcm_.js" as="script"><link rel="prefetch" href="/assets/artplayer-CHAGXahu.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-BOVnG7as.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-CbA2In8H.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-Do1ld-lW.js" as="script"><link rel="prefetch" href="/assets/giscus-7BMGhbDA.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-SzV8tJDW.js" as="script">
+    <link rel="preload" href="/assets/style-7DTFFHvh.css" as="style"><link rel="stylesheet" href="/assets/style-7DTFFHvh.css">
+    <link rel="modulepreload" href="/assets/app-Flo2gZk8.js"><link rel="modulepreload" href="/assets/index.html-DzG2EJXJ.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
+    <link rel="prefetch" href="/assets/index.html-BhtLl4n3.js" as="script"><link rel="prefetch" href="/assets/index.html-C6yte3a0.js" as="script"><link rel="prefetch" href="/assets/index.html-R-cHHIas.js" as="script"><link rel="prefetch" href="/assets/index.html-CPUAg15t.js" as="script"><link rel="prefetch" href="/assets/index.html-BjdnOCC5.js" as="script"><link rel="prefetch" href="/assets/index.html-7Xyk7CrU.js" as="script"><link rel="prefetch" href="/assets/index.html-BNW3YRR3.js" as="script"><link rel="prefetch" href="/assets/index.html-jClrTNl3.js" as="script"><link rel="prefetch" href="/assets/index.html-tFfBEjXi.js" as="script"><link rel="prefetch" href="/assets/index.html-DgPmeCdQ.js" as="script"><link rel="prefetch" href="/assets/index.html-CxRigd-R.js" as="script"><link rel="prefetch" href="/assets/index.html-BWPjJqfa.js" as="script"><link rel="prefetch" href="/assets/index.html-B45efyIG.js" as="script"><link rel="prefetch" href="/assets/index.html-D_Px6PD2.js" as="script"><link rel="prefetch" href="/assets/index.html-U1Oe9QlK.js" as="script"><link rel="prefetch" href="/assets/index.html-fvB3i9PM.js" as="script"><link rel="prefetch" href="/assets/404.html-mkIobPP0.js" as="script"><link rel="prefetch" href="/assets/index.html-DGqb01LU.js" as="script"><link rel="prefetch" href="/assets/index.html-GZfFX8ok.js" as="script"><link rel="prefetch" href="/assets/index.html-vhaMR1PK.js" as="script"><link rel="prefetch" href="/assets/index.html-CvSEeOlH.js" as="script"><link rel="prefetch" href="/assets/index.html-BmplSMWS.js" as="script"><link rel="prefetch" href="/assets/index.html-C2sDDxGY.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNwolvq.js" as="script"><link rel="prefetch" href="/assets/index.html-DhSSZBRU.js" as="script"><link rel="prefetch" href="/assets/index.html-DPcGNBru.js" as="script"><link rel="prefetch" href="/assets/index.html-BFJ0kKZP.js" as="script"><link rel="prefetch" href="/assets/index.html-CBW4olfB.js" as="script"><link rel="prefetch" href="/assets/index.html-CiBWk0Bg.js" as="script"><link rel="prefetch" href="/assets/index.html-AFWYFeTY.js" as="script"><link rel="prefetch" href="/assets/index.html-DlrkN0XZ.js" as="script"><link rel="prefetch" href="/assets/index.html-Cb-sPtFS.js" as="script"><link rel="prefetch" href="/assets/index.html-DPF-EyUV.js" as="script"><link rel="prefetch" href="/assets/index.html-AqhAiBBF.js" as="script"><link rel="prefetch" href="/assets/index.html-DLZdHb6J.js" as="script"><link rel="prefetch" href="/assets/index.html-Cpr5viHS.js" as="script"><link rel="prefetch" href="/assets/index.html-BXxGxqK4.js" as="script"><link rel="prefetch" href="/assets/index.html-4asd-b47.js" as="script"><link rel="prefetch" href="/assets/index.html-ZITi3OK2.js" as="script"><link rel="prefetch" href="/assets/index.html-DJMKg_M6.js" as="script"><link rel="prefetch" href="/assets/index.html-Y__KWg8u.js" as="script"><link rel="prefetch" href="/assets/index.html--BIzY7gk.js" as="script"><link rel="prefetch" href="/assets/index.html-BRHXQqdq.js" as="script"><link rel="prefetch" href="/assets/index.html-C_2nkQ6B.js" as="script"><link rel="prefetch" href="/assets/index.html-R9oSKuoP.js" as="script"><link rel="prefetch" href="/assets/index.html-DY-KY6vi.js" as="script"><link rel="prefetch" href="/assets/index.html-BSndmKE7.js" as="script"><link rel="prefetch" href="/assets/index.html-BDmR_g70.js" as="script"><link rel="prefetch" href="/assets/index.html-CpeDyHcd.js" as="script"><link rel="prefetch" href="/assets/index.html-DV9WiiCS.js" as="script"><link rel="prefetch" href="/assets/index.html-DTceWJaH.js" as="script"><link rel="prefetch" href="/assets/index.html-2WOtvPq_.js" as="script"><link rel="prefetch" href="/assets/index.html-DCVozm3V.js" as="script"><link rel="prefetch" href="/assets/index.html-vKhQGG0S.js" as="script"><link rel="prefetch" href="/assets/index.html-BlvUTCvM.js" as="script"><link rel="prefetch" href="/assets/index.html-vIW8aJUJ.js" as="script"><link rel="prefetch" href="/assets/index.html-CTuZCChr.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-S0Hns9UN.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CSFeuThZ.js" as="script"><link rel="prefetch" href="/assets/artplayer-DnixxQIM.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-DaNo29Rn.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-nRkOMaNb.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-DQalTb-T.js" as="script"><link rel="prefetch" href="/assets/giscus-D-fkNSKD.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-GXRgw7eJ.js" as="script">
   </head>
   <body>
     <div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container has-toc"><!--[--><header id="navbar" class="vp-navbar"><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><!--[--><a class="route-link vp-brand" href="/"><img class="vp-nav-logo" src="/img/Headshot.jpg" alt><!----><span class="vp-site-name hide-in-pad">HalfSweet&#39;s Blog</span></a><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-center"><!--[--><!----><!--]--><!--[--><nav class="vp-nav-links"><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link active" href="/posts/" aria-label="文章"><span class="font-icon icon app" style=""></span>文章<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/about/" aria-label="关于"><span class="font-icon icon user" style=""></span>关于<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/friends/" aria-label="友链"><span class="font-icon icon link" style=""></span>友链<!----></a></div></nav><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-end"><!--[--><!----><!--]--><!--[--><!----><div class="nav-item vp-repo"><a class="vp-repo-link" href="https://github.com/HalfSweet/Blog" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><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"></path></svg></a></div><div class="nav-item hide-in-mobile"><button type="button" id="appearance-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" style="display:block;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" style="display:none;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" style="display:none;"><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"></path></svg></button></div><!----><!--]--><!--[--><!----><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar"><!--[--><!----><!--]--><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></li><li><section class="vp-sidebar-group"><p class="vp-sidebar-header active"><span class="font-icon icon book" style=""></span><span class="vp-sidebar-title">文章</span><!----></p><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-Clion/" aria-label="使用 Clion 来进行 Air32 的开发"><!---->使用 Clion 来进行 Air32 的开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-MCO/" aria-label="Air32 的 HAL 改造——适配 MCO"><!---->Air32 的 HAL 改造——适配 MCO<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/HelloWorld/" aria-label="HelloWorld"><!---->HelloWorld<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/STC_CoreMark/" aria-label="不服来跑个分?将 CoreMark 移植到 STC 上试试"><!---->不服来跑个分?将 CoreMark 移植到 STC 上试试<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="为什么我对第三代郊狼失望"><!---->为什么我对第三代郊狼失望<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-HighFreq/" aria-label="发挥全部实力!Air32 在 HAL 库环境下运行最高主频"><!---->发挥全部实力!Air32 在 HAL 库环境下运行最高主频<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/embedded_fmtlib/" aria-label="在嵌入式设备上使用fmtlib"><!---->在嵌入式设备上使用fmtlib<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/conda_novelai/" aria-label="基于conda进行手动配置novelAI"><!---->基于conda进行手动配置novelAI<!----></a></li><li><a class="route-link nav-link active vp-sidebar-link vp-sidebar-page active" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="对《为什么我对第三代郊狼失望》一文的澄清说明"><!---->对《为什么我对第三代郊狼失望》一文的澄清说明<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Empedded-CI-CD/" aria-label="嵌入式中的 CI/CD"><!---->嵌入式中的 CI/CD<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/MDK6-Dev/" aria-label="更现代的开发方式?使用 MDK6 进行开发"><!---->更现代的开发方式?使用 MDK6 进行开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/SEGGER-RTT/" aria-label="更高效的日志查看方式——使用SEGGER-RTT"><!---->更高效的日志查看方式——使用SEGGER-RTT<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/EpdTraps1/" aria-label="墨水屏的坑——7.5寸墨水屏刷新为何出现条纹"><!---->墨水屏的坑——7.5寸墨水屏刷新为何出现条纹<!----></a></li></ul></section></li></ul><!--[--><!----><!--]--></aside><!--[--><main id="main-content" class="vp-page"><!--[--><!--[--><!----><!--]--><!----><nav class="vp-breadcrumb disable"></nav><div class="vp-page-title"><h1><!---->对《为什么我对第三代郊狼失望》一文的澄清说明</h1><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2024-03-20T06:03:29.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>大约 5 分钟</span><meta property="timeRequired" content="PT5M"></span><span class="page-category-info" aria-label="分类🌈" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg><!--[--><span class="page-category-item category1 clickable" role="navigation">posts</span><!--]--><meta property="articleSection" content="posts"></span><span class="page-tag-info" aria-label="标签🏷" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg><!--[--><span class="page-tag-item tag6 clickable" role="navigation">碎碎念</span><span class="page-tag-item tag3 clickable" role="navigation">郊狼</span><!--]--><meta property="keywords" content="碎碎念,郊狼"></span></div><hr></div><div class="vp-toc-placeholder"><aside id="toc"><!--[--><!----><!--]--><div class="vp-toc-header">此页内容<button type="button" class="print-button" title="打印"><svg xmlns="http://www.w3.org/2000/svg" class="icon print-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="print icon"><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"></path></svg></button><div class="arrow end"></div></div><div class="vp-toc-wrapper"><ul class="vp-toc-list"><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#外观设计">外观设计</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#电源拓扑">电源拓扑</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#主控方案">主控方案</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#磨标芯片">磨标芯片</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#电源电压的限制">电源电压的限制</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#失效保护">失效保护</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#冗余-检测">“冗余”检测</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#按钮的按键选型">按钮的按键选型</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#按钮的触发力度">按钮的触发力度</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#imu的选型">IMU的选型</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#外部电压检测">外部电压检测</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#更精确的压力检测">更精确的压力检测</a></li><!----><!--]--></ul><div class="vp-toc-marker" style="top:-1.7rem;"></div></div><!--[--><!----><!--]--></aside></div><!--[--><!----><!--]--><div class="theme-hope-content"><p>在上文 <a class="route-link" href="/posts/%E4%B8%BA%E4%BB%80%E4%B9%88%E6%88%91%E5%AF%B9%E7%AC%AC%E4%B8%89%E4%BB%A3%E9%83%8A%E7%8B%BC%E5%A4%B1%E6%9C%9B.html">为什么我对第三代郊狼失望</a> 一文中,我对于第三代郊狼的硬件部分进行了一些初步分析,因为没有详细的一些资料,因此在一些地方可能存在一些错误。在昨晚(2024-03-19)郊狼作者找到我,与我群群友进行了一番友好的长时间地交流,也解答了我对设计上的一些疑问。在本文中我们会逐步分析前文中提到的问题。</p><h2 id="外观设计" tabindex="-1"><a class="header-anchor" href="#外观设计"><span>外观设计</span></a></h2><p>在外观上,我质疑这个和二代的设计区别不大,有炒冷饭之嫌。</p><p>但是按照原作者的说法,依旧沿用这个外观上考虑到第一比较经典,很多用户已经习惯了这样的设计,因此不好变动。第二就是看起来没什么变化,实际上的话还是有一些小细节进行了变动,比如说在Type-C口处加入了橡胶垫的设计,这样有效避免了外壳与Type-C的外壳地直接接触,带来的最明显的变化就是对于某些可能漏电的充电器来说,悬浮地显然会更加安全,也不会被充电器给电到。</p><p>并且根据作者描述,在后期可能会出一个全密封防水的郊狼版本,未来可期(</p><h2 id="电源拓扑" tabindex="-1"><a class="header-anchor" href="#电源拓扑"><span>电源拓扑</span></a></h2><p>在前文中,我误以为第三代和第二代一样,还是比较朴素的纯开环的boost拓扑进行升压。但是作者所述这个部分恰恰是提升最大的。</p><p>首先在升压部分,电感由原来的 1mH 更换为了 330uH ,理论上来说这有助于采用更低DCR的电感,这样在变换过程中的能量耗散也就降低了。</p><p>然后3.0中也加入了一个电压环的反馈电路,据作者所述这个就是LM393比较器的其中一个功能,用来保证输出的电压保持在一定的范围内,如果超过设定的电压值的情况下将会自动反馈到输出端降低电压。</p><p>另外3.0中也存在一个电流环,虽然可能较为粗糙,但是同样也可以实现输出端电流将被限制在某个值内,这同样有助于减少无谓的功率耗散,同时也能大大增强安全性,避免出现短路导致整个电路挂掉的情况。</p><p>因此相比2.0的硬件来说,3.0的硬件上在电源拓扑方面也可以将其称之为是一套完整的闭环控制系统。相比于2.0的纯开环来说,各方面性能都会更优秀,并且相较于其他的需要MCU控制的软闭环电路来说,也会更加稳定,实时性更好。</p><p>另外其实值得注意的一点就是,3.0中的高压母线卸放电路从2.0中的被动改为了主动式,只有在需要的时候才会进行卸放,这样也有助于减少无谓的功率耗散。并且据作者所述,这一点才是真正的相较于2.0工作温度较高的问题的最有效的解决方案。</p><h2 id="主控方案" tabindex="-1"><a class="header-anchor" href="#主控方案"><span>主控方案</span></a></h2><p>据作者所诉,3.0的方案选择北欧的原因还是考虑到团队的熟悉程度以及性能方面的取舍。用22年的芯片确实是屯多了(逃</p><p>但是绝不存在偷工减料!并且软件方面也进行了较大层面上的重构,也不存在炒冷饭的现象。</p><h2 id="磨标芯片" tabindex="-1"><a class="header-anchor" href="#磨标芯片"><span>磨标芯片</span></a></h2><p>这个确实是为了防抄袭,也确实是主动进行的磨标,但是作者说这个意义似乎不大,并且也已经偷偷告诉我芯片的型号了(逃</p><h2 id="电源电压的限制" tabindex="-1"><a class="header-anchor" href="#电源电压的限制"><span>电源电压的限制</span></a></h2><p>在2.0中,因为是采用的开环boost方案,因此最大的电压采用了直接并联电阻和TVS的双重控制,因为无法控制最终输出的功率,因此能输出的电压也较高。</p><p>但是在3.0中,据作者所述,因为加入了闭环控制和主动卸放,因此不需要做,也没有必要引入那么高的电源电压。所以91V的TVS仅仅是用于最后一道防线失效的情况下的最终保护,整体的余量还非常丰富。</p><h2 id="失效保护" tabindex="-1"><a class="header-anchor" href="#失效保护"><span>失效保护</span></a></h2><p>在其他保护措施失效,TVS进行保护的时候,其中一个光耦也被用来作为TVS触发的检测,在这种情况下主控将会立即关闭整个电源,以保护整个电路。</p><h2 id="冗余-检测" tabindex="-1"><a class="header-anchor" href="#冗余-检测"><span>“冗余”检测</span></a></h2><p>在3.0中,保留了前代的LED输出指示灯,并且负载检测改成了两颗对向光耦进行检测,这样在结构上说完全对称的,避免了前代中单边检测的不均匀压降导致正负压可能会存在差异的情况。</p><h2 id="按钮的按键选型" tabindex="-1"><a class="header-anchor" href="#按钮的按键选型"><span>按钮的按键选型</span></a></h2><p>根据作者所述,选择鼠标微动是因为在结构方面的限制更少,这点和推测一致。至于噪音问题,作者说可以考虑后期增加更多的选项(这也是play的一部分</p><h2 id="按钮的触发力度" tabindex="-1"><a class="header-anchor" href="#按钮的触发力度"><span>按钮的触发力度</span></a></h2><p>这个在结构上预留了一个弹簧,因此是可以做到不同的触发力度,后期会考虑增加更多版本。</p><h2 id="imu的选型" tabindex="-1"><a class="header-anchor" href="#imu的选型"><span>IMU的选型</span></a></h2><p>作者所述三轴的陀螺仪足够满足设计需求。</p><h2 id="外部电压检测" tabindex="-1"><a class="header-anchor" href="#外部电压检测"><span>外部电压检测</span></a></h2><p>这是个赠品,因此凑合能用就行(</p><h2 id="更精确的压力检测" tabindex="-1"><a class="header-anchor" href="#更精确的压力检测"><span>更精确的压力检测</span></a></h2><p>不考虑。</p></div><!--[--><!----><!--]--><footer class="page-meta"><div class="meta-item edit-link"><a href="https://github.com/HalfSweet/Blog/edit/main/src/posts/对《为什么我对第三代郊狼失望》一文的澄清说明.md" rel="noopener noreferrer" target="_blank" aria-label="在 GitHub 上编辑此页" class="nav-link label"><!--[--><svg xmlns="http://www.w3.org/2000/svg" class="icon edit-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="edit icon"><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"></path><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"></path></svg><!--]-->在 GitHub 上编辑此页<span><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"><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"></path><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"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!----></a></div><div class="meta-item git-info"><div class="update-time"><span class="label">上次编辑于: </span><!----></div><div class="contributors"><span class="label">贡献者: </span><!--[--><!--[--><span class="contributor" title="email: HalfSweet@HalfSweet.cn">HalfSweet</span>,<!--]--><!--[--><span class="contributor" title="email: halfsweet@halfsweet.cn">HalfSweet</span><!--]--><!--]--></div></div></footer><nav class="vp-page-nav"><a class="route-link nav-link prev" href="/posts/conda_novelai/" aria-label="基于conda进行手动配置novelAI"><div class="hint"><span class="arrow start"></span>上一页</div><div class="link"><!---->基于conda进行手动配置novelAI</div></a><a class="route-link nav-link next" href="/posts/Empedded-CI-CD/" aria-label="嵌入式中的 CI/CD"><div class="hint">下一页<span class="arrow end"></span></div><div class="link">嵌入式中的 CI/CD<!----></div></a></nav><div id="vp-comment" class="giscus-wrapper input-top" style="display:block;"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" preserveAspectRatio="xMidYMid" viewBox="0 0 100 100"><circle cx="28" cy="75" r="11" fill="currentColor"><animate attributeName="fill-opacity" begin="0s" dur="1s" keyTimes="0;0.2;1" repeatCount="indefinite" values="0;1;1"></animate></circle><path fill="none" stroke="#88baf0" stroke-width="10" d="M28 47a28 28 0 0 1 28 28"><animate attributeName="stroke-opacity" begin="0.1s" dur="1s" keyTimes="0;0.2;1" repeatCount="indefinite" values="0;1;1"></animate></path><path fill="none" stroke="#88baf0" stroke-width="10" d="M28 25a50 50 0 0 1 50 50"><animate attributeName="stroke-opacity" begin="0.2s" dur="1s" keyTimes="0;0.2;1" repeatCount="indefinite" values="0;1;1"></animate></path></svg></div><!--[--><!----><!--]--><!--]--></main><!--]--><footer class="vp-footer-wrapper"><div class="vp-footer">今天咕咕被欺负了吗</div><div class="vp-copyright">Copyright © 2024 HalfSweet </div></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div>
-    <script type="module" src="/assets/app-ClwIkahu.js" defer></script>
+    <script type="module" src="/assets/app-Flo2gZk8.js" defer></script>
   </body>
 </html>
diff --git a/posts/conda_novelai/index.html b/posts/conda_novelai/index.html
index 5bb3cc5..59212b0 100644
--- a/posts/conda_novelai/index.html
+++ b/posts/conda_novelai/index.html
@@ -29,9 +29,9 @@
       }
     </script>
     <meta property="og:url" content="https://halfsweet.cn/posts/conda_novelai/"><meta property="og:site_name" content="HalfSweet's Blog"><meta property="og:title" content="基于conda进行手动配置novelAI"><meta property="og:description" content="最近大家应该都玩过novelAI了,出来的图片质量都非常棒,但是b站大佬给的配置只是打包了的bat文件,但是这显然不符合我们的折腾精神,于是我们来尝试使用conda来进行纯手工配置。 前置条件 git conda(在win上使用miniconda或者anconda均可,建议使用miniconda,体积更小) nvida的cuda驱动 合适的磁力链接下载..."><meta property="og:type" content="article"><meta property="og:locale" content="zh-CN"><meta property="og:updated_time" content="2024-03-23T06:35:02.000Z"><meta property="article:author" content="HalfSweet"><meta property="article:tag" content="人工智能"><meta property="article:tag" content="novelAI"><meta property="article:tag" content="conda"><meta property="article:published_time" content="2023-01-05T13:19:16.000Z"><meta property="article:modified_time" content="2024-03-23T06:35:02.000Z"><script type="application/ld+json">{"@context":"https://schema.org","@type":"Article","headline":"基于conda进行手动配置novelAI","image":[""],"datePublished":"2023-01-05T13:19:16.000Z","dateModified":"2024-03-23T06:35:02.000Z","author":[{"@type":"Person","name":"HalfSweet","link":"https://github.com/HalfSweet"}]}</script><title>基于conda进行手动配置novelAI | HalfSweet's Blog</title><meta name="description" content="最近大家应该都玩过novelAI了,出来的图片质量都非常棒,但是b站大佬给的配置只是打包了的bat文件,但是这显然不符合我们的折腾精神,于是我们来尝试使用conda来进行纯手工配置。 前置条件 git conda(在win上使用miniconda或者anconda均可,建议使用miniconda,体积更小) nvida的cuda驱动 合适的磁力链接下载...">
-    <link rel="preload" href="/assets/style-BDwnt-CL.css" as="style"><link rel="stylesheet" href="/assets/style-BDwnt-CL.css">
-    <link rel="modulepreload" href="/assets/app-ClwIkahu.js"><link rel="modulepreload" href="/assets/index.html-DvNCX4dz.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
-    <link rel="prefetch" href="/assets/index.html-BjG6C5xb.js" as="script"><link rel="prefetch" href="/assets/index.html-6gNmrYKw.js" as="script"><link rel="prefetch" href="/assets/index.html-W8DPbcPd.js" as="script"><link rel="prefetch" href="/assets/index.html-75fD8c0W.js" as="script"><link rel="prefetch" href="/assets/index.html-CufQKtZU.js" as="script"><link rel="prefetch" href="/assets/index.html-Bqe7scks.js" as="script"><link rel="prefetch" href="/assets/index.html-B5-KeVPb.js" as="script"><link rel="prefetch" href="/assets/index.html-C7FigsQF.js" as="script"><link rel="prefetch" href="/assets/index.html-DtEE6E7f.js" as="script"><link rel="prefetch" href="/assets/index.html-0oPRY09N.js" as="script"><link rel="prefetch" href="/assets/index.html-XtQdJJI8.js" as="script"><link rel="prefetch" href="/assets/index.html-CnJ0E6b5.js" as="script"><link rel="prefetch" href="/assets/index.html-CFhDcrZp.js" as="script"><link rel="prefetch" href="/assets/index.html-Bd1PkxNi.js" as="script"><link rel="prefetch" href="/assets/index.html-DJ-_mZ9n.js" as="script"><link rel="prefetch" href="/assets/index.html-jFzM8lrm.js" as="script"><link rel="prefetch" href="/assets/404.html-VMfaDGRx.js" as="script"><link rel="prefetch" href="/assets/index.html-BaR2aqhq.js" as="script"><link rel="prefetch" href="/assets/index.html-DO2xY2T5.js" as="script"><link rel="prefetch" href="/assets/index.html-BEwHBlkc.js" as="script"><link rel="prefetch" href="/assets/index.html-DZIt3Q5g.js" as="script"><link rel="prefetch" href="/assets/index.html-Dd9JrssL.js" as="script"><link rel="prefetch" href="/assets/index.html-BjPOIJdK.js" as="script"><link rel="prefetch" href="/assets/index.html-CmtlWOBH.js" as="script"><link rel="prefetch" href="/assets/index.html-CR-9qG2Y.js" as="script"><link rel="prefetch" href="/assets/index.html-CwWDCYUS.js" as="script"><link rel="prefetch" href="/assets/index.html-CptFZpi0.js" as="script"><link rel="prefetch" href="/assets/index.html-p6Y7Jm3n.js" as="script"><link rel="prefetch" href="/assets/index.html-CIen8cvO.js" as="script"><link rel="prefetch" href="/assets/index.html-BKUs44hv.js" as="script"><link rel="prefetch" href="/assets/index.html-D0wSSTgQ.js" as="script"><link rel="prefetch" href="/assets/index.html-DqsCIdcm.js" as="script"><link rel="prefetch" href="/assets/index.html-kUwAIzkD.js" as="script"><link rel="prefetch" href="/assets/index.html-BqgjNdmg.js" as="script"><link rel="prefetch" href="/assets/index.html-DIaDLRqn.js" as="script"><link rel="prefetch" href="/assets/index.html-DhcL23aG.js" as="script"><link rel="prefetch" href="/assets/index.html-Bk9EBjUw.js" as="script"><link rel="prefetch" href="/assets/index.html-C0X-QC5U.js" as="script"><link rel="prefetch" href="/assets/index.html-ZwD6xCF4.js" as="script"><link rel="prefetch" href="/assets/index.html-BdqadbH8.js" as="script"><link rel="prefetch" href="/assets/index.html-D7Uf3Wbw.js" as="script"><link rel="prefetch" href="/assets/index.html-CsuDpoYK.js" as="script"><link rel="prefetch" href="/assets/index.html-Dc2bdBF2.js" as="script"><link rel="prefetch" href="/assets/index.html-BzgkemtD.js" as="script"><link rel="prefetch" href="/assets/index.html-7uHHiaZx.js" as="script"><link rel="prefetch" href="/assets/index.html-TGoZudvZ.js" as="script"><link rel="prefetch" href="/assets/index.html-DbCWijUV.js" as="script"><link rel="prefetch" href="/assets/index.html-DOCRL60a.js" as="script"><link rel="prefetch" href="/assets/index.html-B8qYb7wb.js" as="script"><link rel="prefetch" href="/assets/index.html-CpBdG6tv.js" as="script"><link rel="prefetch" href="/assets/index.html-DdE0h7xo.js" as="script"><link rel="prefetch" href="/assets/index.html-BlsdgZAc.js" as="script"><link rel="prefetch" href="/assets/index.html-Du74cC6X.js" as="script"><link rel="prefetch" href="/assets/index.html-CTp2Oa39.js" as="script"><link rel="prefetch" href="/assets/index.html-Bz73p56D.js" as="script"><link rel="prefetch" href="/assets/index.html-BktjQtFB.js" as="script"><link rel="prefetch" href="/assets/index.html-DPl--Ppt.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-BF52VcER.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CgYxLcm_.js" as="script"><link rel="prefetch" href="/assets/artplayer-CHAGXahu.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-BOVnG7as.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-CbA2In8H.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-Do1ld-lW.js" as="script"><link rel="prefetch" href="/assets/giscus-7BMGhbDA.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-SzV8tJDW.js" as="script">
+    <link rel="preload" href="/assets/style-7DTFFHvh.css" as="style"><link rel="stylesheet" href="/assets/style-7DTFFHvh.css">
+    <link rel="modulepreload" href="/assets/app-Flo2gZk8.js"><link rel="modulepreload" href="/assets/index.html-CxRigd-R.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
+    <link rel="prefetch" href="/assets/index.html-BhtLl4n3.js" as="script"><link rel="prefetch" href="/assets/index.html-C6yte3a0.js" as="script"><link rel="prefetch" href="/assets/index.html-R-cHHIas.js" as="script"><link rel="prefetch" href="/assets/index.html-CPUAg15t.js" as="script"><link rel="prefetch" href="/assets/index.html-BjdnOCC5.js" as="script"><link rel="prefetch" href="/assets/index.html-7Xyk7CrU.js" as="script"><link rel="prefetch" href="/assets/index.html-BNW3YRR3.js" as="script"><link rel="prefetch" href="/assets/index.html-jClrTNl3.js" as="script"><link rel="prefetch" href="/assets/index.html-tFfBEjXi.js" as="script"><link rel="prefetch" href="/assets/index.html-DgPmeCdQ.js" as="script"><link rel="prefetch" href="/assets/index.html-BWPjJqfa.js" as="script"><link rel="prefetch" href="/assets/index.html-DzG2EJXJ.js" as="script"><link rel="prefetch" href="/assets/index.html-B45efyIG.js" as="script"><link rel="prefetch" href="/assets/index.html-D_Px6PD2.js" as="script"><link rel="prefetch" href="/assets/index.html-U1Oe9QlK.js" as="script"><link rel="prefetch" href="/assets/index.html-fvB3i9PM.js" as="script"><link rel="prefetch" href="/assets/404.html-mkIobPP0.js" as="script"><link rel="prefetch" href="/assets/index.html-DGqb01LU.js" as="script"><link rel="prefetch" href="/assets/index.html-GZfFX8ok.js" as="script"><link rel="prefetch" href="/assets/index.html-vhaMR1PK.js" as="script"><link rel="prefetch" href="/assets/index.html-CvSEeOlH.js" as="script"><link rel="prefetch" href="/assets/index.html-BmplSMWS.js" as="script"><link rel="prefetch" href="/assets/index.html-C2sDDxGY.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNwolvq.js" as="script"><link rel="prefetch" href="/assets/index.html-DhSSZBRU.js" as="script"><link rel="prefetch" href="/assets/index.html-DPcGNBru.js" as="script"><link rel="prefetch" href="/assets/index.html-BFJ0kKZP.js" as="script"><link rel="prefetch" href="/assets/index.html-CBW4olfB.js" as="script"><link rel="prefetch" href="/assets/index.html-CiBWk0Bg.js" as="script"><link rel="prefetch" href="/assets/index.html-AFWYFeTY.js" as="script"><link rel="prefetch" href="/assets/index.html-DlrkN0XZ.js" as="script"><link rel="prefetch" href="/assets/index.html-Cb-sPtFS.js" as="script"><link rel="prefetch" href="/assets/index.html-DPF-EyUV.js" as="script"><link rel="prefetch" href="/assets/index.html-AqhAiBBF.js" as="script"><link rel="prefetch" href="/assets/index.html-DLZdHb6J.js" as="script"><link rel="prefetch" href="/assets/index.html-Cpr5viHS.js" as="script"><link rel="prefetch" href="/assets/index.html-BXxGxqK4.js" as="script"><link rel="prefetch" href="/assets/index.html-4asd-b47.js" as="script"><link rel="prefetch" href="/assets/index.html-ZITi3OK2.js" as="script"><link rel="prefetch" href="/assets/index.html-DJMKg_M6.js" as="script"><link rel="prefetch" href="/assets/index.html-Y__KWg8u.js" as="script"><link rel="prefetch" href="/assets/index.html--BIzY7gk.js" as="script"><link rel="prefetch" href="/assets/index.html-BRHXQqdq.js" as="script"><link rel="prefetch" href="/assets/index.html-C_2nkQ6B.js" as="script"><link rel="prefetch" href="/assets/index.html-R9oSKuoP.js" as="script"><link rel="prefetch" href="/assets/index.html-DY-KY6vi.js" as="script"><link rel="prefetch" href="/assets/index.html-BSndmKE7.js" as="script"><link rel="prefetch" href="/assets/index.html-BDmR_g70.js" as="script"><link rel="prefetch" href="/assets/index.html-CpeDyHcd.js" as="script"><link rel="prefetch" href="/assets/index.html-DV9WiiCS.js" as="script"><link rel="prefetch" href="/assets/index.html-DTceWJaH.js" as="script"><link rel="prefetch" href="/assets/index.html-2WOtvPq_.js" as="script"><link rel="prefetch" href="/assets/index.html-DCVozm3V.js" as="script"><link rel="prefetch" href="/assets/index.html-vKhQGG0S.js" as="script"><link rel="prefetch" href="/assets/index.html-BlvUTCvM.js" as="script"><link rel="prefetch" href="/assets/index.html-vIW8aJUJ.js" as="script"><link rel="prefetch" href="/assets/index.html-CTuZCChr.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-S0Hns9UN.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CSFeuThZ.js" as="script"><link rel="prefetch" href="/assets/artplayer-DnixxQIM.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-DaNo29Rn.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-nRkOMaNb.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-DQalTb-T.js" as="script"><link rel="prefetch" href="/assets/giscus-D-fkNSKD.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-GXRgw7eJ.js" as="script">
   </head>
   <body>
     <div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container has-toc"><!--[--><header id="navbar" class="vp-navbar"><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><!--[--><a class="route-link vp-brand" href="/"><img class="vp-nav-logo" src="/img/Headshot.jpg" alt><!----><span class="vp-site-name hide-in-pad">HalfSweet&#39;s Blog</span></a><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-center"><!--[--><!----><!--]--><!--[--><nav class="vp-nav-links"><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link active" href="/posts/" aria-label="文章"><span class="font-icon icon app" style=""></span>文章<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/about/" aria-label="关于"><span class="font-icon icon user" style=""></span>关于<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/friends/" aria-label="友链"><span class="font-icon icon link" style=""></span>友链<!----></a></div></nav><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-end"><!--[--><!----><!--]--><!--[--><!----><div class="nav-item vp-repo"><a class="vp-repo-link" href="https://github.com/HalfSweet/Blog" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><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"></path></svg></a></div><div class="nav-item hide-in-mobile"><button type="button" id="appearance-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" style="display:block;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" style="display:none;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" style="display:none;"><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"></path></svg></button></div><!----><!--]--><!--[--><!----><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar"><!--[--><!----><!--]--><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></li><li><section class="vp-sidebar-group"><p class="vp-sidebar-header active"><span class="font-icon icon book" style=""></span><span class="vp-sidebar-title">文章</span><!----></p><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-Clion/" aria-label="使用 Clion 来进行 Air32 的开发"><!---->使用 Clion 来进行 Air32 的开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-MCO/" aria-label="Air32 的 HAL 改造——适配 MCO"><!---->Air32 的 HAL 改造——适配 MCO<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/HelloWorld/" aria-label="HelloWorld"><!---->HelloWorld<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/STC_CoreMark/" aria-label="不服来跑个分?将 CoreMark 移植到 STC 上试试"><!---->不服来跑个分?将 CoreMark 移植到 STC 上试试<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="为什么我对第三代郊狼失望"><!---->为什么我对第三代郊狼失望<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-HighFreq/" aria-label="发挥全部实力!Air32 在 HAL 库环境下运行最高主频"><!---->发挥全部实力!Air32 在 HAL 库环境下运行最高主频<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/embedded_fmtlib/" aria-label="在嵌入式设备上使用fmtlib"><!---->在嵌入式设备上使用fmtlib<!----></a></li><li><a class="route-link nav-link active vp-sidebar-link vp-sidebar-page active" href="/posts/conda_novelai/" aria-label="基于conda进行手动配置novelAI"><!---->基于conda进行手动配置novelAI<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="对《为什么我对第三代郊狼失望》一文的澄清说明"><!---->对《为什么我对第三代郊狼失望》一文的澄清说明<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Empedded-CI-CD/" aria-label="嵌入式中的 CI/CD"><!---->嵌入式中的 CI/CD<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/MDK6-Dev/" aria-label="更现代的开发方式?使用 MDK6 进行开发"><!---->更现代的开发方式?使用 MDK6 进行开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/SEGGER-RTT/" aria-label="更高效的日志查看方式——使用SEGGER-RTT"><!---->更高效的日志查看方式——使用SEGGER-RTT<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/EpdTraps1/" aria-label="墨水屏的坑——7.5寸墨水屏刷新为何出现条纹"><!---->墨水屏的坑——7.5寸墨水屏刷新为何出现条纹<!----></a></li></ul></section></li></ul><!--[--><!----><!--]--></aside><!--[--><main id="main-content" class="vp-page"><!--[--><!--[--><!----><!--]--><!----><nav class="vp-breadcrumb disable"></nav><div class="vp-page-title"><h1><!---->基于conda进行手动配置novelAI</h1><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2023-01-05T13:19:16.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>大约 6 分钟</span><meta property="timeRequired" content="PT6M"></span><span class="page-category-info" aria-label="分类🌈" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg><!--[--><span class="page-category-item category3 clickable" role="navigation">AI</span><!--]--><meta property="articleSection" content="AI"></span><span class="page-tag-info" aria-label="标签🏷" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg><!--[--><span class="page-tag-item tag5 clickable" role="navigation">人工智能</span><span class="page-tag-item tag1 clickable" role="navigation">novelAI</span><span class="page-tag-item tag2 clickable" role="navigation">conda</span><!--]--><meta property="keywords" content="人工智能,novelAI,conda"></span></div><hr></div><div class="vp-toc-placeholder"><aside id="toc"><!--[--><!----><!--]--><div class="vp-toc-header">此页内容<button type="button" class="print-button" title="打印"><svg xmlns="http://www.w3.org/2000/svg" class="icon print-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="print icon"><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"></path></svg></button><div class="arrow end"></div></div><div class="vp-toc-wrapper"><ul class="vp-toc-list"><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#前置条件">前置条件</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#安装stable-diffusion-webui">安装stable-diffusion-webui</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#下载泄露版的novelai模型">下载泄露版的novelAI模型</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#创建一个conda虚拟环境">创建一个conda虚拟环境</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#安装pytorch">安装PyTorch</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#安装stable-diffusion-webui依赖">安装stable-diffusion-webui依赖</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#安装本地化-可选">安装本地化(可选)</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#faq">FAQ</a></li><li><ul class="vp-toc-list"><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="/#报错-the-file-is-most-likely-corrupted">报错&quot;!!!! The file is most likely corrupted !!!!&quot;</a></li><!----><!--]--></ul></li><!--]--></ul><div class="vp-toc-marker" style="top:-1.7rem;"></div></div><!--[--><!----><!--]--></aside></div><!--[--><!----><!--]--><div class="theme-hope-content"><p>最近大家应该都玩过novelAI了,出来的图片质量都非常棒,但是b站大佬给的配置只是打包了的bat文件,但是这显然不符合我们的折腾精神,于是我们来尝试使用conda来进行纯手工配置。</p><h2 id="前置条件" tabindex="-1"><a class="header-anchor" href="#前置条件"><span>前置条件</span></a></h2><ul><li>git</li><li>conda(在win上使用miniconda或者anconda均可,建议使用miniconda,体积更小)</li><li>nvida的cuda驱动</li><li>合适的磁力链接下载软件</li><li>适当的访问外网方式,您可能需要配置命令行、conda等工具,以及您可能需要对pip/conda等工具进行换源,在此不多赘述。</li></ul><h2 id="安装stable-diffusion-webui" tabindex="-1"><a class="header-anchor" href="#安装stable-diffusion-webui"><span>安装stable-diffusion-webui</span></a></h2><p><a href="https://github.com/AUTOMATIC1111/stable-diffusion-webui" target="_blank" rel="noopener noreferrer">stable-diffusion-webui<span><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"><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"></path><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"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a>是一个基于用于稳定扩散的 Gradio 库的浏览器界面,作用是将泄露出来的novelAI模型以一个可视化比较好的方式进行训练与导出。</p><p>这里我们采用git clone的方式来进行下载,同时也更方便我们后期的升级等操作。在命令行中输入</p><div class="language-cmd line-numbers-mode" data-ext="cmd" data-title="cmd"><pre class="language-cmd"><code>git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
@@ -122,6 +122,6 @@
 
 Stable diffusion model failed to load, exiting
 </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>经过<a href="https://www.bilibili.com/read/cv19182425" target="_blank" rel="noopener noreferrer">b站一位大佬<span><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"><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"></path><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"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a>发的Hash对照来看,发现是使用比特彗星下载的文件的Hash不对,但是很神奇的是stable-diffusion-webui的计算的8位正确。 <img src="/assets/Screenshot3-Bi02Yhwj.png" alt=""><img src="/assets/Screenshot4-D-iRsYJg.png" alt=""></p><p>经过重新检查文件完整性的操作,问题修复。</p><p><img src="/assets/Screenshot5-CVS2m0e2.png" alt=""></p></div><!--[--><!----><!--]--><footer class="page-meta"><div class="meta-item edit-link"><a href="https://github.com/HalfSweet/Blog/edit/main/src/posts/基于conda进行手动配置novelAI.md" rel="noopener noreferrer" target="_blank" aria-label="在 GitHub 上编辑此页" class="nav-link label"><!--[--><svg xmlns="http://www.w3.org/2000/svg" class="icon edit-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="edit icon"><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"></path><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"></path></svg><!--]-->在 GitHub 上编辑此页<span><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"><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"></path><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"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!----></a></div><div class="meta-item git-info"><div class="update-time"><span class="label">上次编辑于: </span><!----></div><div class="contributors"><span class="label">贡献者: </span><!--[--><!--[--><span class="contributor" title="email: halfsweet@halfsweet.cn">HalfSweet</span><!--]--><!--]--></div></div></footer><nav class="vp-page-nav"><a class="route-link nav-link prev" href="/posts/embedded_fmtlib/" aria-label="在嵌入式设备上使用fmtlib"><div class="hint"><span class="arrow start"></span>上一页</div><div class="link"><!---->在嵌入式设备上使用fmtlib</div></a><a class="route-link nav-link next" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="对《为什么我对第三代郊狼失望》一文的澄清说明"><div class="hint">下一页<span class="arrow end"></span></div><div class="link">对《为什么我对第三代郊狼失望》一文的澄清说明<!----></div></a></nav><div id="vp-comment" class="giscus-wrapper input-top" style="display:block;"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" preserveAspectRatio="xMidYMid" viewBox="0 0 100 100"><circle cx="28" cy="75" r="11" fill="currentColor"><animate attributeName="fill-opacity" begin="0s" dur="1s" keyTimes="0;0.2;1" repeatCount="indefinite" values="0;1;1"></animate></circle><path fill="none" stroke="#88baf0" stroke-width="10" d="M28 47a28 28 0 0 1 28 28"><animate attributeName="stroke-opacity" begin="0.1s" dur="1s" keyTimes="0;0.2;1" repeatCount="indefinite" values="0;1;1"></animate></path><path fill="none" stroke="#88baf0" stroke-width="10" d="M28 25a50 50 0 0 1 50 50"><animate attributeName="stroke-opacity" begin="0.2s" dur="1s" keyTimes="0;0.2;1" repeatCount="indefinite" values="0;1;1"></animate></path></svg></div><!--[--><!----><!--]--><!--]--></main><!--]--><footer class="vp-footer-wrapper"><div class="vp-footer">今天咕咕被欺负了吗</div><div class="vp-copyright">Copyright © 2024 HalfSweet </div></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div>
-    <script type="module" src="/assets/app-ClwIkahu.js" defer></script>
+    <script type="module" src="/assets/app-Flo2gZk8.js" defer></script>
   </body>
 </html>
diff --git a/posts/embedded_fmtlib/index.html b/posts/embedded_fmtlib/index.html
index 46979e3..f3959bb 100644
--- a/posts/embedded_fmtlib/index.html
+++ b/posts/embedded_fmtlib/index.html
@@ -29,9 +29,9 @@
       }
     </script>
     <meta property="og:url" content="https://halfsweet.cn/posts/embedded_fmtlib/"><meta property="og:site_name" content="HalfSweet's Blog"><meta property="og:title" content="在嵌入式设备上使用fmtlib"><meta property="og:description" content="众所周知,在c++20以上的标准已经支持了std::format进行格式化输出,不过显而易见,嵌入式领域想要得到支持显然遥遥无期。但是我们已经厌倦了使用sprintf等方式来格式化字符串,c++的流特性又显得不够优雅,怎么才能用上类似于Python中format这样的方式来格式化并输出想要的字符串呢。 通过去fmtlib的官网查看,我们不难发现,想要使..."><meta property="og:type" content="article"><meta property="og:locale" content="zh-CN"><meta property="og:updated_time" content="2024-03-23T06:35:02.000Z"><meta property="article:author" content="HalfSweet"><meta property="article:tag" content="fmtlib"><meta property="article:tag" content="嵌入式"><meta property="article:tag" content="ESP8266"><meta property="article:tag" content="ESP32"><meta property="article:tag" content="Arduino"><meta property="article:tag" content="PlatformIO"><meta property="article:tag" content="ESP-IDF"><meta property="article:published_time" content="2023-02-03T14:08:57.000Z"><meta property="article:modified_time" content="2024-03-23T06:35:02.000Z"><script type="application/ld+json">{"@context":"https://schema.org","@type":"Article","headline":"在嵌入式设备上使用fmtlib","image":[""],"datePublished":"2023-02-03T14:08:57.000Z","dateModified":"2024-03-23T06:35:02.000Z","author":[{"@type":"Person","name":"HalfSweet","link":"https://github.com/HalfSweet"}]}</script><title>在嵌入式设备上使用fmtlib | HalfSweet's Blog</title><meta name="description" content="众所周知,在c++20以上的标准已经支持了std::format进行格式化输出,不过显而易见,嵌入式领域想要得到支持显然遥遥无期。但是我们已经厌倦了使用sprintf等方式来格式化字符串,c++的流特性又显得不够优雅,怎么才能用上类似于Python中format这样的方式来格式化并输出想要的字符串呢。 通过去fmtlib的官网查看,我们不难发现,想要使...">
-    <link rel="preload" href="/assets/style-BDwnt-CL.css" as="style"><link rel="stylesheet" href="/assets/style-BDwnt-CL.css">
-    <link rel="modulepreload" href="/assets/app-ClwIkahu.js"><link rel="modulepreload" href="/assets/index.html-0oPRY09N.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
-    <link rel="prefetch" href="/assets/index.html-BjG6C5xb.js" as="script"><link rel="prefetch" href="/assets/index.html-6gNmrYKw.js" as="script"><link rel="prefetch" href="/assets/index.html-W8DPbcPd.js" as="script"><link rel="prefetch" href="/assets/index.html-75fD8c0W.js" as="script"><link rel="prefetch" href="/assets/index.html-CufQKtZU.js" as="script"><link rel="prefetch" href="/assets/index.html-Bqe7scks.js" as="script"><link rel="prefetch" href="/assets/index.html-B5-KeVPb.js" as="script"><link rel="prefetch" href="/assets/index.html-C7FigsQF.js" as="script"><link rel="prefetch" href="/assets/index.html-DtEE6E7f.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNCX4dz.js" as="script"><link rel="prefetch" href="/assets/index.html-XtQdJJI8.js" as="script"><link rel="prefetch" href="/assets/index.html-CnJ0E6b5.js" as="script"><link rel="prefetch" href="/assets/index.html-CFhDcrZp.js" as="script"><link rel="prefetch" href="/assets/index.html-Bd1PkxNi.js" as="script"><link rel="prefetch" href="/assets/index.html-DJ-_mZ9n.js" as="script"><link rel="prefetch" href="/assets/index.html-jFzM8lrm.js" as="script"><link rel="prefetch" href="/assets/404.html-VMfaDGRx.js" as="script"><link rel="prefetch" href="/assets/index.html-BaR2aqhq.js" as="script"><link rel="prefetch" href="/assets/index.html-DO2xY2T5.js" as="script"><link rel="prefetch" href="/assets/index.html-BEwHBlkc.js" as="script"><link rel="prefetch" href="/assets/index.html-DZIt3Q5g.js" as="script"><link rel="prefetch" href="/assets/index.html-Dd9JrssL.js" as="script"><link rel="prefetch" href="/assets/index.html-BjPOIJdK.js" as="script"><link rel="prefetch" href="/assets/index.html-CmtlWOBH.js" as="script"><link rel="prefetch" href="/assets/index.html-CR-9qG2Y.js" as="script"><link rel="prefetch" href="/assets/index.html-CwWDCYUS.js" as="script"><link rel="prefetch" href="/assets/index.html-CptFZpi0.js" as="script"><link rel="prefetch" href="/assets/index.html-p6Y7Jm3n.js" as="script"><link rel="prefetch" href="/assets/index.html-CIen8cvO.js" as="script"><link rel="prefetch" href="/assets/index.html-BKUs44hv.js" as="script"><link rel="prefetch" href="/assets/index.html-D0wSSTgQ.js" as="script"><link rel="prefetch" href="/assets/index.html-DqsCIdcm.js" as="script"><link rel="prefetch" href="/assets/index.html-kUwAIzkD.js" as="script"><link rel="prefetch" href="/assets/index.html-BqgjNdmg.js" as="script"><link rel="prefetch" href="/assets/index.html-DIaDLRqn.js" as="script"><link rel="prefetch" href="/assets/index.html-DhcL23aG.js" as="script"><link rel="prefetch" href="/assets/index.html-Bk9EBjUw.js" as="script"><link rel="prefetch" href="/assets/index.html-C0X-QC5U.js" as="script"><link rel="prefetch" href="/assets/index.html-ZwD6xCF4.js" as="script"><link rel="prefetch" href="/assets/index.html-BdqadbH8.js" as="script"><link rel="prefetch" href="/assets/index.html-D7Uf3Wbw.js" as="script"><link rel="prefetch" href="/assets/index.html-CsuDpoYK.js" as="script"><link rel="prefetch" href="/assets/index.html-Dc2bdBF2.js" as="script"><link rel="prefetch" href="/assets/index.html-BzgkemtD.js" as="script"><link rel="prefetch" href="/assets/index.html-7uHHiaZx.js" as="script"><link rel="prefetch" href="/assets/index.html-TGoZudvZ.js" as="script"><link rel="prefetch" href="/assets/index.html-DbCWijUV.js" as="script"><link rel="prefetch" href="/assets/index.html-DOCRL60a.js" as="script"><link rel="prefetch" href="/assets/index.html-B8qYb7wb.js" as="script"><link rel="prefetch" href="/assets/index.html-CpBdG6tv.js" as="script"><link rel="prefetch" href="/assets/index.html-DdE0h7xo.js" as="script"><link rel="prefetch" href="/assets/index.html-BlsdgZAc.js" as="script"><link rel="prefetch" href="/assets/index.html-Du74cC6X.js" as="script"><link rel="prefetch" href="/assets/index.html-CTp2Oa39.js" as="script"><link rel="prefetch" href="/assets/index.html-Bz73p56D.js" as="script"><link rel="prefetch" href="/assets/index.html-BktjQtFB.js" as="script"><link rel="prefetch" href="/assets/index.html-DPl--Ppt.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-BF52VcER.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CgYxLcm_.js" as="script"><link rel="prefetch" href="/assets/artplayer-CHAGXahu.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-BOVnG7as.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-CbA2In8H.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-Do1ld-lW.js" as="script"><link rel="prefetch" href="/assets/giscus-7BMGhbDA.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-SzV8tJDW.js" as="script">
+    <link rel="preload" href="/assets/style-7DTFFHvh.css" as="style"><link rel="stylesheet" href="/assets/style-7DTFFHvh.css">
+    <link rel="modulepreload" href="/assets/app-Flo2gZk8.js"><link rel="modulepreload" href="/assets/index.html-DgPmeCdQ.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
+    <link rel="prefetch" href="/assets/index.html-BhtLl4n3.js" as="script"><link rel="prefetch" href="/assets/index.html-C6yte3a0.js" as="script"><link rel="prefetch" href="/assets/index.html-R-cHHIas.js" as="script"><link rel="prefetch" href="/assets/index.html-CPUAg15t.js" as="script"><link rel="prefetch" href="/assets/index.html-BjdnOCC5.js" as="script"><link rel="prefetch" href="/assets/index.html-7Xyk7CrU.js" as="script"><link rel="prefetch" href="/assets/index.html-BNW3YRR3.js" as="script"><link rel="prefetch" href="/assets/index.html-jClrTNl3.js" as="script"><link rel="prefetch" href="/assets/index.html-tFfBEjXi.js" as="script"><link rel="prefetch" href="/assets/index.html-CxRigd-R.js" as="script"><link rel="prefetch" href="/assets/index.html-BWPjJqfa.js" as="script"><link rel="prefetch" href="/assets/index.html-DzG2EJXJ.js" as="script"><link rel="prefetch" href="/assets/index.html-B45efyIG.js" as="script"><link rel="prefetch" href="/assets/index.html-D_Px6PD2.js" as="script"><link rel="prefetch" href="/assets/index.html-U1Oe9QlK.js" as="script"><link rel="prefetch" href="/assets/index.html-fvB3i9PM.js" as="script"><link rel="prefetch" href="/assets/404.html-mkIobPP0.js" as="script"><link rel="prefetch" href="/assets/index.html-DGqb01LU.js" as="script"><link rel="prefetch" href="/assets/index.html-GZfFX8ok.js" as="script"><link rel="prefetch" href="/assets/index.html-vhaMR1PK.js" as="script"><link rel="prefetch" href="/assets/index.html-CvSEeOlH.js" as="script"><link rel="prefetch" href="/assets/index.html-BmplSMWS.js" as="script"><link rel="prefetch" href="/assets/index.html-C2sDDxGY.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNwolvq.js" as="script"><link rel="prefetch" href="/assets/index.html-DhSSZBRU.js" as="script"><link rel="prefetch" href="/assets/index.html-DPcGNBru.js" as="script"><link rel="prefetch" href="/assets/index.html-BFJ0kKZP.js" as="script"><link rel="prefetch" href="/assets/index.html-CBW4olfB.js" as="script"><link rel="prefetch" href="/assets/index.html-CiBWk0Bg.js" as="script"><link rel="prefetch" href="/assets/index.html-AFWYFeTY.js" as="script"><link rel="prefetch" href="/assets/index.html-DlrkN0XZ.js" as="script"><link rel="prefetch" href="/assets/index.html-Cb-sPtFS.js" as="script"><link rel="prefetch" href="/assets/index.html-DPF-EyUV.js" as="script"><link rel="prefetch" href="/assets/index.html-AqhAiBBF.js" as="script"><link rel="prefetch" href="/assets/index.html-DLZdHb6J.js" as="script"><link rel="prefetch" href="/assets/index.html-Cpr5viHS.js" as="script"><link rel="prefetch" href="/assets/index.html-BXxGxqK4.js" as="script"><link rel="prefetch" href="/assets/index.html-4asd-b47.js" as="script"><link rel="prefetch" href="/assets/index.html-ZITi3OK2.js" as="script"><link rel="prefetch" href="/assets/index.html-DJMKg_M6.js" as="script"><link rel="prefetch" href="/assets/index.html-Y__KWg8u.js" as="script"><link rel="prefetch" href="/assets/index.html--BIzY7gk.js" as="script"><link rel="prefetch" href="/assets/index.html-BRHXQqdq.js" as="script"><link rel="prefetch" href="/assets/index.html-C_2nkQ6B.js" as="script"><link rel="prefetch" href="/assets/index.html-R9oSKuoP.js" as="script"><link rel="prefetch" href="/assets/index.html-DY-KY6vi.js" as="script"><link rel="prefetch" href="/assets/index.html-BSndmKE7.js" as="script"><link rel="prefetch" href="/assets/index.html-BDmR_g70.js" as="script"><link rel="prefetch" href="/assets/index.html-CpeDyHcd.js" as="script"><link rel="prefetch" href="/assets/index.html-DV9WiiCS.js" as="script"><link rel="prefetch" href="/assets/index.html-DTceWJaH.js" as="script"><link rel="prefetch" href="/assets/index.html-2WOtvPq_.js" as="script"><link rel="prefetch" href="/assets/index.html-DCVozm3V.js" as="script"><link rel="prefetch" href="/assets/index.html-vKhQGG0S.js" as="script"><link rel="prefetch" href="/assets/index.html-BlvUTCvM.js" as="script"><link rel="prefetch" href="/assets/index.html-vIW8aJUJ.js" as="script"><link rel="prefetch" href="/assets/index.html-CTuZCChr.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-S0Hns9UN.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CSFeuThZ.js" as="script"><link rel="prefetch" href="/assets/artplayer-DnixxQIM.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-DaNo29Rn.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-nRkOMaNb.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-DQalTb-T.js" as="script"><link rel="prefetch" href="/assets/giscus-D-fkNSKD.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-GXRgw7eJ.js" as="script">
   </head>
   <body>
     <div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container has-toc"><!--[--><header id="navbar" class="vp-navbar"><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><!--[--><a class="route-link vp-brand" href="/"><img class="vp-nav-logo" src="/img/Headshot.jpg" alt><!----><span class="vp-site-name hide-in-pad">HalfSweet&#39;s Blog</span></a><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-center"><!--[--><!----><!--]--><!--[--><nav class="vp-nav-links"><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link active" href="/posts/" aria-label="文章"><span class="font-icon icon app" style=""></span>文章<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/about/" aria-label="关于"><span class="font-icon icon user" style=""></span>关于<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/friends/" aria-label="友链"><span class="font-icon icon link" style=""></span>友链<!----></a></div></nav><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-end"><!--[--><!----><!--]--><!--[--><!----><div class="nav-item vp-repo"><a class="vp-repo-link" href="https://github.com/HalfSweet/Blog" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><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"></path></svg></a></div><div class="nav-item hide-in-mobile"><button type="button" id="appearance-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" style="display:block;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" style="display:none;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" style="display:none;"><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"></path></svg></button></div><!----><!--]--><!--[--><!----><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar"><!--[--><!----><!--]--><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></li><li><section class="vp-sidebar-group"><p class="vp-sidebar-header active"><span class="font-icon icon book" style=""></span><span class="vp-sidebar-title">文章</span><!----></p><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-Clion/" aria-label="使用 Clion 来进行 Air32 的开发"><!---->使用 Clion 来进行 Air32 的开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-MCO/" aria-label="Air32 的 HAL 改造——适配 MCO"><!---->Air32 的 HAL 改造——适配 MCO<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/HelloWorld/" aria-label="HelloWorld"><!---->HelloWorld<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/STC_CoreMark/" aria-label="不服来跑个分?将 CoreMark 移植到 STC 上试试"><!---->不服来跑个分?将 CoreMark 移植到 STC 上试试<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="为什么我对第三代郊狼失望"><!---->为什么我对第三代郊狼失望<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-HighFreq/" aria-label="发挥全部实力!Air32 在 HAL 库环境下运行最高主频"><!---->发挥全部实力!Air32 在 HAL 库环境下运行最高主频<!----></a></li><li><a class="route-link nav-link active vp-sidebar-link vp-sidebar-page active" href="/posts/embedded_fmtlib/" aria-label="在嵌入式设备上使用fmtlib"><!---->在嵌入式设备上使用fmtlib<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/conda_novelai/" aria-label="基于conda进行手动配置novelAI"><!---->基于conda进行手动配置novelAI<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="对《为什么我对第三代郊狼失望》一文的澄清说明"><!---->对《为什么我对第三代郊狼失望》一文的澄清说明<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Empedded-CI-CD/" aria-label="嵌入式中的 CI/CD"><!---->嵌入式中的 CI/CD<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/MDK6-Dev/" aria-label="更现代的开发方式?使用 MDK6 进行开发"><!---->更现代的开发方式?使用 MDK6 进行开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/SEGGER-RTT/" aria-label="更高效的日志查看方式——使用SEGGER-RTT"><!---->更高效的日志查看方式——使用SEGGER-RTT<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/EpdTraps1/" aria-label="墨水屏的坑——7.5寸墨水屏刷新为何出现条纹"><!---->墨水屏的坑——7.5寸墨水屏刷新为何出现条纹<!----></a></li></ul></section></li></ul><!--[--><!----><!--]--></aside><!--[--><main id="main-content" class="vp-page"><!--[--><!--[--><!----><!--]--><!----><nav class="vp-breadcrumb disable"></nav><div class="vp-page-title"><h1><!---->在嵌入式设备上使用fmtlib</h1><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2023-02-03T14:08:57.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>大约 5 分钟</span><meta property="timeRequired" content="PT5M"></span><span class="page-category-info" aria-label="分类🌈" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg><!--[--><span class="page-category-item category1 clickable" role="navigation">posts</span><!--]--><meta property="articleSection" content="posts"></span><span class="page-tag-info" aria-label="标签🏷" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg><!--[--><span class="page-tag-item tag8 clickable" role="navigation">fmtlib</span><span class="page-tag-item tag2 clickable" role="navigation">嵌入式</span><span class="page-tag-item tag8 clickable" role="navigation">ESP8266</span><span class="page-tag-item tag2 clickable" role="navigation">ESP32</span><span class="page-tag-item tag3 clickable" role="navigation">Arduino</span><span class="page-tag-item tag5 clickable" role="navigation">PlatformIO</span><span class="page-tag-item tag0 clickable" role="navigation">ESP-IDF</span><!--]--><meta property="keywords" content="fmtlib,嵌入式,ESP8266,ESP32,Arduino,PlatformIO,ESP-IDF"></span></div><hr></div><div class="vp-toc-placeholder"><aside id="toc"><!--[--><!----><!--]--><div class="vp-toc-header">此页内容<button type="button" class="print-button" title="打印"><svg xmlns="http://www.w3.org/2000/svg" class="icon print-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="print icon"><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"></path></svg></button><div class="arrow end"></div></div><div class="vp-toc-wrapper"><ul class="vp-toc-list"><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#platformio平台">PlatformIO平台</a></li><li><ul class="vp-toc-list"><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="/#使用arduino作为框架">使用Arduino作为框架</a></li><!----><!--]--></ul></li><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#esp-idf平台">ESP-IDF平台</a></li><li><ul class="vp-toc-list"><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="/#_0x00-新建一个工程">0x00 新建一个工程</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="/#_0x01-修改为c-的工程">0x01 修改为c++的工程</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="/#_0x02-新建fmt组件">0x02 新建fmt组件</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="/#_0x03-编辑cmakelists-txt文件">0x03 编辑CMakeLists.txt文件</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="/#_0x04-编写代码并享受">0x04 编写代码并享受</a></li><!----><!--]--></ul></li><!--]--></ul><div class="vp-toc-marker" style="top:-1.7rem;"></div></div><!--[--><!----><!--]--></aside></div><!--[--><!----><!--]--><div class="theme-hope-content"><p>众所周知,在c++20以上的标准已经支持了<code>std::format</code>进行格式化输出,不过显而易见,嵌入式领域想要得到支持显然遥遥无期。但是我们已经厌倦了使用sprintf等方式来格式化字符串,c++的流特性又显得不够优雅,怎么才能用上类似于Python中format这样的方式来格式化并输出想要的字符串呢。</p><p>通过去fmtlib的<a href="https://fmt.dev/latest/index.html#portability" target="_blank" rel="noopener noreferrer">官网<span><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"><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"></path><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"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a>查看,我们不难发现,想要使用fmtlib,仅仅需要编译器支持C++11即可,如果版本不够,甚至最低只需要C++98。那么万事俱备只欠东风,让我们来尝试移植吧。</p><h2 id="platformio平台" tabindex="-1"><a class="header-anchor" href="#platformio平台"><span>PlatformIO平台</span></a></h2><h3 id="使用arduino作为框架" tabindex="-1"><a class="header-anchor" href="#使用arduino作为框架"><span>使用Arduino作为框架</span></a></h3><h4 id="esp8266芯片" tabindex="-1"><a class="header-anchor" href="#esp8266芯片"><span>ESP8266芯片</span></a></h4><h5 id="移植-fmt-库" tabindex="-1"><a class="header-anchor" href="#移植-fmt-库"><span>移植{fmt}库</span></a></h5><p>首先我们下载fmtlib的包,这里我们使用了最新的版本(9.1.0),下载完成之后将其解压到工程目录下的/lib/文件夹中。不过解压好之后不能直接使用,因为在PlatformIO平台下,所以我们需要先在fmtlib库的根目录下添加一个<code>library.json</code>文件。这里我们可以参考下面的书写方式:</p><div class="language-json line-numbers-mode" data-ext="json" data-title="json"><pre class="language-json"><code><span class="token punctuation">{</span>
@@ -163,6 +163,6 @@
 Restarting in 0 seconds...
 Restarting now.
 </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p><img src="/assets/Screenshot4-8-F-rED9.png" alt=""></p></div><!--[--><!----><!--]--><footer class="page-meta"><div class="meta-item edit-link"><a href="https://github.com/HalfSweet/Blog/edit/main/src/posts/在嵌入式设备上使用fmtlib.md" rel="noopener noreferrer" target="_blank" aria-label="在 GitHub 上编辑此页" class="nav-link label"><!--[--><svg xmlns="http://www.w3.org/2000/svg" class="icon edit-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="edit icon"><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"></path><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"></path></svg><!--]-->在 GitHub 上编辑此页<span><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"><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"></path><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"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!----></a></div><div class="meta-item git-info"><div class="update-time"><span class="label">上次编辑于: </span><!----></div><div class="contributors"><span class="label">贡献者: </span><!--[--><!--[--><span class="contributor" title="email: halfsweet@halfsweet.cn">HalfSweet</span><!--]--><!--]--></div></div></footer><nav class="vp-page-nav"><a class="route-link nav-link prev" href="/posts/Air32-HAL-HighFreq/" aria-label="发挥全部实力!Air32 在 HAL 库环境下运行最高主频"><div class="hint"><span class="arrow start"></span>上一页</div><div class="link"><!---->发挥全部实力!Air32 在 HAL 库环境下运行最高主频</div></a><a class="route-link nav-link next" href="/posts/conda_novelai/" aria-label="基于conda进行手动配置novelAI"><div class="hint">下一页<span class="arrow end"></span></div><div class="link">基于conda进行手动配置novelAI<!----></div></a></nav><div id="vp-comment" class="giscus-wrapper input-top" style="display:block;"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" preserveAspectRatio="xMidYMid" viewBox="0 0 100 100"><circle cx="28" cy="75" r="11" fill="currentColor"><animate attributeName="fill-opacity" begin="0s" dur="1s" keyTimes="0;0.2;1" repeatCount="indefinite" values="0;1;1"></animate></circle><path fill="none" stroke="#88baf0" stroke-width="10" d="M28 47a28 28 0 0 1 28 28"><animate attributeName="stroke-opacity" begin="0.1s" dur="1s" keyTimes="0;0.2;1" repeatCount="indefinite" values="0;1;1"></animate></path><path fill="none" stroke="#88baf0" stroke-width="10" d="M28 25a50 50 0 0 1 50 50"><animate attributeName="stroke-opacity" begin="0.2s" dur="1s" keyTimes="0;0.2;1" repeatCount="indefinite" values="0;1;1"></animate></path></svg></div><!--[--><!----><!--]--><!--]--></main><!--]--><footer class="vp-footer-wrapper"><div class="vp-footer">今天咕咕被欺负了吗</div><div class="vp-copyright">Copyright © 2024 HalfSweet </div></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div>
-    <script type="module" src="/assets/app-ClwIkahu.js" defer></script>
+    <script type="module" src="/assets/app-Flo2gZk8.js" defer></script>
   </body>
 </html>
diff --git a/posts/index.html b/posts/index.html
index 363a1e9..d7a2ff2 100644
--- a/posts/index.html
+++ b/posts/index.html
@@ -29,12 +29,12 @@
       }
     </script>
     <meta property="og:url" content="https://halfsweet.cn/posts/"><meta property="og:site_name" content="HalfSweet's Blog"><meta property="og:title" content="Posts"><meta property="og:type" content="website"><meta property="og:locale" content="zh-CN"><meta property="article:author" content="HalfSweet"><script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","name":"Posts"}</script><title>Posts | HalfSweet's Blog</title><meta name="description" content="半糖的博客">
-    <link rel="preload" href="/assets/style-BDwnt-CL.css" as="style"><link rel="stylesheet" href="/assets/style-BDwnt-CL.css">
-    <link rel="modulepreload" href="/assets/app-ClwIkahu.js"><link rel="modulepreload" href="/assets/index.html-BaR2aqhq.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
-    <link rel="prefetch" href="/assets/index.html-BjG6C5xb.js" as="script"><link rel="prefetch" href="/assets/index.html-6gNmrYKw.js" as="script"><link rel="prefetch" href="/assets/index.html-W8DPbcPd.js" as="script"><link rel="prefetch" href="/assets/index.html-75fD8c0W.js" as="script"><link rel="prefetch" href="/assets/index.html-CufQKtZU.js" as="script"><link rel="prefetch" href="/assets/index.html-Bqe7scks.js" as="script"><link rel="prefetch" href="/assets/index.html-B5-KeVPb.js" as="script"><link rel="prefetch" href="/assets/index.html-C7FigsQF.js" as="script"><link rel="prefetch" href="/assets/index.html-DtEE6E7f.js" as="script"><link rel="prefetch" href="/assets/index.html-0oPRY09N.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNCX4dz.js" as="script"><link rel="prefetch" href="/assets/index.html-XtQdJJI8.js" as="script"><link rel="prefetch" href="/assets/index.html-CnJ0E6b5.js" as="script"><link rel="prefetch" href="/assets/index.html-CFhDcrZp.js" as="script"><link rel="prefetch" href="/assets/index.html-Bd1PkxNi.js" as="script"><link rel="prefetch" href="/assets/index.html-DJ-_mZ9n.js" as="script"><link rel="prefetch" href="/assets/index.html-jFzM8lrm.js" as="script"><link rel="prefetch" href="/assets/404.html-VMfaDGRx.js" as="script"><link rel="prefetch" href="/assets/index.html-DO2xY2T5.js" as="script"><link rel="prefetch" href="/assets/index.html-BEwHBlkc.js" as="script"><link rel="prefetch" href="/assets/index.html-DZIt3Q5g.js" as="script"><link rel="prefetch" href="/assets/index.html-Dd9JrssL.js" as="script"><link rel="prefetch" href="/assets/index.html-BjPOIJdK.js" as="script"><link rel="prefetch" href="/assets/index.html-CmtlWOBH.js" as="script"><link rel="prefetch" href="/assets/index.html-CR-9qG2Y.js" as="script"><link rel="prefetch" href="/assets/index.html-CwWDCYUS.js" as="script"><link rel="prefetch" href="/assets/index.html-CptFZpi0.js" as="script"><link rel="prefetch" href="/assets/index.html-p6Y7Jm3n.js" as="script"><link rel="prefetch" href="/assets/index.html-CIen8cvO.js" as="script"><link rel="prefetch" href="/assets/index.html-BKUs44hv.js" as="script"><link rel="prefetch" href="/assets/index.html-D0wSSTgQ.js" as="script"><link rel="prefetch" href="/assets/index.html-DqsCIdcm.js" as="script"><link rel="prefetch" href="/assets/index.html-kUwAIzkD.js" as="script"><link rel="prefetch" href="/assets/index.html-BqgjNdmg.js" as="script"><link rel="prefetch" href="/assets/index.html-DIaDLRqn.js" as="script"><link rel="prefetch" href="/assets/index.html-DhcL23aG.js" as="script"><link rel="prefetch" href="/assets/index.html-Bk9EBjUw.js" as="script"><link rel="prefetch" href="/assets/index.html-C0X-QC5U.js" as="script"><link rel="prefetch" href="/assets/index.html-ZwD6xCF4.js" as="script"><link rel="prefetch" href="/assets/index.html-BdqadbH8.js" as="script"><link rel="prefetch" href="/assets/index.html-D7Uf3Wbw.js" as="script"><link rel="prefetch" href="/assets/index.html-CsuDpoYK.js" as="script"><link rel="prefetch" href="/assets/index.html-Dc2bdBF2.js" as="script"><link rel="prefetch" href="/assets/index.html-BzgkemtD.js" as="script"><link rel="prefetch" href="/assets/index.html-7uHHiaZx.js" as="script"><link rel="prefetch" href="/assets/index.html-TGoZudvZ.js" as="script"><link rel="prefetch" href="/assets/index.html-DbCWijUV.js" as="script"><link rel="prefetch" href="/assets/index.html-DOCRL60a.js" as="script"><link rel="prefetch" href="/assets/index.html-B8qYb7wb.js" as="script"><link rel="prefetch" href="/assets/index.html-CpBdG6tv.js" as="script"><link rel="prefetch" href="/assets/index.html-DdE0h7xo.js" as="script"><link rel="prefetch" href="/assets/index.html-BlsdgZAc.js" as="script"><link rel="prefetch" href="/assets/index.html-Du74cC6X.js" as="script"><link rel="prefetch" href="/assets/index.html-CTp2Oa39.js" as="script"><link rel="prefetch" href="/assets/index.html-Bz73p56D.js" as="script"><link rel="prefetch" href="/assets/index.html-BktjQtFB.js" as="script"><link rel="prefetch" href="/assets/index.html-DPl--Ppt.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-BF52VcER.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CgYxLcm_.js" as="script"><link rel="prefetch" href="/assets/artplayer-CHAGXahu.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-BOVnG7as.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-CbA2In8H.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-Do1ld-lW.js" as="script"><link rel="prefetch" href="/assets/giscus-7BMGhbDA.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-SzV8tJDW.js" as="script">
+    <link rel="preload" href="/assets/style-7DTFFHvh.css" as="style"><link rel="stylesheet" href="/assets/style-7DTFFHvh.css">
+    <link rel="modulepreload" href="/assets/app-Flo2gZk8.js"><link rel="modulepreload" href="/assets/index.html-DGqb01LU.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
+    <link rel="prefetch" href="/assets/index.html-BhtLl4n3.js" as="script"><link rel="prefetch" href="/assets/index.html-C6yte3a0.js" as="script"><link rel="prefetch" href="/assets/index.html-R-cHHIas.js" as="script"><link rel="prefetch" href="/assets/index.html-CPUAg15t.js" as="script"><link rel="prefetch" href="/assets/index.html-BjdnOCC5.js" as="script"><link rel="prefetch" href="/assets/index.html-7Xyk7CrU.js" as="script"><link rel="prefetch" href="/assets/index.html-BNW3YRR3.js" as="script"><link rel="prefetch" href="/assets/index.html-jClrTNl3.js" as="script"><link rel="prefetch" href="/assets/index.html-tFfBEjXi.js" as="script"><link rel="prefetch" href="/assets/index.html-DgPmeCdQ.js" as="script"><link rel="prefetch" href="/assets/index.html-CxRigd-R.js" as="script"><link rel="prefetch" href="/assets/index.html-BWPjJqfa.js" as="script"><link rel="prefetch" href="/assets/index.html-DzG2EJXJ.js" as="script"><link rel="prefetch" href="/assets/index.html-B45efyIG.js" as="script"><link rel="prefetch" href="/assets/index.html-D_Px6PD2.js" as="script"><link rel="prefetch" href="/assets/index.html-U1Oe9QlK.js" as="script"><link rel="prefetch" href="/assets/index.html-fvB3i9PM.js" as="script"><link rel="prefetch" href="/assets/404.html-mkIobPP0.js" as="script"><link rel="prefetch" href="/assets/index.html-GZfFX8ok.js" as="script"><link rel="prefetch" href="/assets/index.html-vhaMR1PK.js" as="script"><link rel="prefetch" href="/assets/index.html-CvSEeOlH.js" as="script"><link rel="prefetch" href="/assets/index.html-BmplSMWS.js" as="script"><link rel="prefetch" href="/assets/index.html-C2sDDxGY.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNwolvq.js" as="script"><link rel="prefetch" href="/assets/index.html-DhSSZBRU.js" as="script"><link rel="prefetch" href="/assets/index.html-DPcGNBru.js" as="script"><link rel="prefetch" href="/assets/index.html-BFJ0kKZP.js" as="script"><link rel="prefetch" href="/assets/index.html-CBW4olfB.js" as="script"><link rel="prefetch" href="/assets/index.html-CiBWk0Bg.js" as="script"><link rel="prefetch" href="/assets/index.html-AFWYFeTY.js" as="script"><link rel="prefetch" href="/assets/index.html-DlrkN0XZ.js" as="script"><link rel="prefetch" href="/assets/index.html-Cb-sPtFS.js" as="script"><link rel="prefetch" href="/assets/index.html-DPF-EyUV.js" as="script"><link rel="prefetch" href="/assets/index.html-AqhAiBBF.js" as="script"><link rel="prefetch" href="/assets/index.html-DLZdHb6J.js" as="script"><link rel="prefetch" href="/assets/index.html-Cpr5viHS.js" as="script"><link rel="prefetch" href="/assets/index.html-BXxGxqK4.js" as="script"><link rel="prefetch" href="/assets/index.html-4asd-b47.js" as="script"><link rel="prefetch" href="/assets/index.html-ZITi3OK2.js" as="script"><link rel="prefetch" href="/assets/index.html-DJMKg_M6.js" as="script"><link rel="prefetch" href="/assets/index.html-Y__KWg8u.js" as="script"><link rel="prefetch" href="/assets/index.html--BIzY7gk.js" as="script"><link rel="prefetch" href="/assets/index.html-BRHXQqdq.js" as="script"><link rel="prefetch" href="/assets/index.html-C_2nkQ6B.js" as="script"><link rel="prefetch" href="/assets/index.html-R9oSKuoP.js" as="script"><link rel="prefetch" href="/assets/index.html-DY-KY6vi.js" as="script"><link rel="prefetch" href="/assets/index.html-BSndmKE7.js" as="script"><link rel="prefetch" href="/assets/index.html-BDmR_g70.js" as="script"><link rel="prefetch" href="/assets/index.html-CpeDyHcd.js" as="script"><link rel="prefetch" href="/assets/index.html-DV9WiiCS.js" as="script"><link rel="prefetch" href="/assets/index.html-DTceWJaH.js" as="script"><link rel="prefetch" href="/assets/index.html-2WOtvPq_.js" as="script"><link rel="prefetch" href="/assets/index.html-DCVozm3V.js" as="script"><link rel="prefetch" href="/assets/index.html-vKhQGG0S.js" as="script"><link rel="prefetch" href="/assets/index.html-BlvUTCvM.js" as="script"><link rel="prefetch" href="/assets/index.html-vIW8aJUJ.js" as="script"><link rel="prefetch" href="/assets/index.html-CTuZCChr.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-S0Hns9UN.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CSFeuThZ.js" as="script"><link rel="prefetch" href="/assets/artplayer-DnixxQIM.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-DaNo29Rn.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-nRkOMaNb.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-DQalTb-T.js" as="script"><link rel="prefetch" href="/assets/giscus-D-fkNSKD.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-GXRgw7eJ.js" as="script">
   </head>
   <body>
     <div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container has-toc"><!--[--><header id="navbar" class="vp-navbar"><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><!--[--><a class="route-link vp-brand" href="/"><img class="vp-nav-logo" src="/img/Headshot.jpg" alt><!----><span class="vp-site-name hide-in-pad">HalfSweet&#39;s Blog</span></a><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-center"><!--[--><!----><!--]--><!--[--><nav class="vp-nav-links"><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link active" href="/posts/" aria-label="文章"><span class="font-icon icon app" style=""></span>文章<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/about/" aria-label="关于"><span class="font-icon icon user" style=""></span>关于<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/friends/" aria-label="友链"><span class="font-icon icon link" style=""></span>友链<!----></a></div></nav><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-end"><!--[--><!----><!--]--><!--[--><!----><div class="nav-item vp-repo"><a class="vp-repo-link" href="https://github.com/HalfSweet/Blog" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><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"></path></svg></a></div><div class="nav-item hide-in-mobile"><button type="button" id="appearance-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" style="display:block;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" style="display:none;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" style="display:none;"><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"></path></svg></button></div><!----><!--]--><!--[--><!----><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar"><!--[--><!----><!--]--><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></li><li><section class="vp-sidebar-group"><p class="vp-sidebar-header"><span class="font-icon icon book" style=""></span><span class="vp-sidebar-title">文章</span><!----></p><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-Clion/" aria-label="使用 Clion 来进行 Air32 的开发"><!---->使用 Clion 来进行 Air32 的开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-MCO/" aria-label="Air32 的 HAL 改造——适配 MCO"><!---->Air32 的 HAL 改造——适配 MCO<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/HelloWorld/" aria-label="HelloWorld"><!---->HelloWorld<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/STC_CoreMark/" aria-label="不服来跑个分?将 CoreMark 移植到 STC 上试试"><!---->不服来跑个分?将 CoreMark 移植到 STC 上试试<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="为什么我对第三代郊狼失望"><!---->为什么我对第三代郊狼失望<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-HighFreq/" aria-label="发挥全部实力!Air32 在 HAL 库环境下运行最高主频"><!---->发挥全部实力!Air32 在 HAL 库环境下运行最高主频<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/embedded_fmtlib/" aria-label="在嵌入式设备上使用fmtlib"><!---->在嵌入式设备上使用fmtlib<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/conda_novelai/" aria-label="基于conda进行手动配置novelAI"><!---->基于conda进行手动配置novelAI<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="对《为什么我对第三代郊狼失望》一文的澄清说明"><!---->对《为什么我对第三代郊狼失望》一文的澄清说明<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Empedded-CI-CD/" aria-label="嵌入式中的 CI/CD"><!---->嵌入式中的 CI/CD<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/MDK6-Dev/" aria-label="更现代的开发方式?使用 MDK6 进行开发"><!---->更现代的开发方式?使用 MDK6 进行开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/SEGGER-RTT/" aria-label="更高效的日志查看方式——使用SEGGER-RTT"><!---->更高效的日志查看方式——使用SEGGER-RTT<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/EpdTraps1/" aria-label="墨水屏的坑——7.5寸墨水屏刷新为何出现条纹"><!---->墨水屏的坑——7.5寸墨水屏刷新为何出现条纹<!----></a></li></ul></section></li></ul><!--[--><!----><!--]--></aside><!--[--><main id="main-content" class="vp-page"><!--[--><!--[--><!----><!--]--><!----><nav class="vp-breadcrumb disable"></nav><div class="vp-page-title"><h1><!---->Posts</h1><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><a class="page-author-item" href="https://github.com/HalfSweet" target="_blank" rel="noopener noreferrer">HalfSweet</a></span><span property="author" content="HalfSweet"></span></span><!----><!----><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>小于 1 分钟</span><meta property="timeRequired" content="PT1M"></span><!----><!----></div><hr></div><!----><!--[--><!----><!--]--><div class="theme-hope-content"><div class="vp-catalog-wrapper"><h2 class="vp-catalog-main-title">目录</h2><ul class="vp-catalogs"><li class="vp-catalog"><div class="vp-catalog-child-title"><a class="route-link vp-catalog-title" href="/posts/Air32-HAL-MCO/">Air32 的 HAL 改造——适配 MCO</a></div></li><li class="vp-catalog"><div class="vp-catalog-child-title"><a class="route-link vp-catalog-title" href="/posts/HelloWorld/">HelloWorld</a></div></li><li class="vp-catalog"><div class="vp-catalog-child-title"><a class="route-link vp-catalog-title" href="/posts/STC_CoreMark/">不服来跑个分?将 CoreMark 移植到 STC 上试试</a></div></li><li class="vp-catalog"><div class="vp-catalog-child-title"><a class="route-link vp-catalog-title" href="/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/">为什么我对第三代郊狼失望</a></div></li><li class="vp-catalog"><div class="vp-catalog-child-title"><a class="route-link vp-catalog-title" href="/posts/Air32-Clion/">使用 Clion 来进行 Air32 的开发</a></div></li><li class="vp-catalog"><div class="vp-catalog-child-title"><a class="route-link vp-catalog-title" href="/posts/Air32-HAL-HighFreq/">发挥全部实力!Air32 在 HAL 库环境下运行最高主频</a></div></li><li class="vp-catalog"><div class="vp-catalog-child-title"><a class="route-link vp-catalog-title" href="/posts/embedded_fmtlib/">在嵌入式设备上使用fmtlib</a></div></li><li class="vp-catalog"><div class="vp-catalog-child-title"><a class="route-link vp-catalog-title" href="/posts/conda_novelai/">基于conda进行手动配置novelAI</a></div></li><li class="vp-catalog"><div class="vp-catalog-child-title"><a class="route-link vp-catalog-title" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/">对《为什么我对第三代郊狼失望》一文的澄清说明</a></div></li><li class="vp-catalog"><div class="vp-catalog-child-title"><a class="route-link vp-catalog-title" href="/posts/Empedded-CI-CD/">嵌入式中的 CI/CD</a></div></li><li class="vp-catalog"><div class="vp-catalog-child-title"><a class="route-link vp-catalog-title" href="/posts/MDK6-Dev/">更现代的开发方式?使用 MDK6 进行开发</a></div></li><li class="vp-catalog"><div class="vp-catalog-child-title"><a class="route-link vp-catalog-title" href="/posts/SEGGER-RTT/">更高效的日志查看方式——使用SEGGER-RTT</a></div></li><li class="vp-catalog"><div class="vp-catalog-child-title"><a class="route-link vp-catalog-title" href="/posts/EpdTraps1/">墨水屏的坑——7.5寸墨水屏刷新为何出现条纹</a></div></li></ul></div></div><!--[--><!----><!--]--><footer class="page-meta"><!----><div class="meta-item git-info"><!----><!----></div></footer><!----><div id="vp-comment" class="giscus-wrapper input-top" style="display:block;"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" preserveAspectRatio="xMidYMid" viewBox="0 0 100 100"><circle cx="28" cy="75" r="11" fill="currentColor"><animate attributeName="fill-opacity" begin="0s" dur="1s" keyTimes="0;0.2;1" repeatCount="indefinite" values="0;1;1"></animate></circle><path fill="none" stroke="#88baf0" stroke-width="10" d="M28 47a28 28 0 0 1 28 28"><animate attributeName="stroke-opacity" begin="0.1s" dur="1s" keyTimes="0;0.2;1" repeatCount="indefinite" values="0;1;1"></animate></path><path fill="none" stroke="#88baf0" stroke-width="10" d="M28 25a50 50 0 0 1 50 50"><animate attributeName="stroke-opacity" begin="0.2s" dur="1s" keyTimes="0;0.2;1" repeatCount="indefinite" values="0;1;1"></animate></path></svg></div><!--[--><!----><!--]--><!--]--></main><!--]--><footer class="vp-footer-wrapper"><div class="vp-footer">今天咕咕被欺负了吗</div><div class="vp-copyright">Copyright © 2024 HalfSweet </div></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div>
-    <script type="module" src="/assets/app-ClwIkahu.js" defer></script>
+    <script type="module" src="/assets/app-Flo2gZk8.js" defer></script>
   </body>
 </html>
diff --git a/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/index.html b/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/index.html
index 45b8a24..1bbaea0 100644
--- a/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/index.html
+++ b/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/index.html
@@ -29,12 +29,12 @@
       }
     </script>
     <meta property="og:url" content="https://halfsweet.cn/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/"><meta property="og:site_name" content="HalfSweet's Blog"><meta property="og:title" content="为什么我对第三代郊狼失望"><meta property="og:description" content="最近第三代郊狼开始内测了,作为一名电子爱好者,自然不能错过这个机会。于是我以原价 368 元的主机,以及 128 元两个智能按钮的价格,购买了一套第三代郊狼。 失望是从快递到手开始的,当到手之后我拆开,发现里面的竟然是飞机盒而不是之前的推拉式盒子。这个细节让我感觉有些失望,不过在打开盒子之后有了一些慰藉。因为里面给了一个收纳包,这点很好,当时我甚至很兴..."><meta property="og:type" content="article"><meta property="og:locale" content="zh-CN"><meta property="og:updated_time" content="2024-03-23T06:35:02.000Z"><meta property="article:author" content="HalfSweet"><meta property="article:tag" content="碎碎念"><meta property="article:tag" content="郊狼"><meta property="article:modified_time" content="2024-03-23T06:35:02.000Z"><script type="application/ld+json">{"@context":"https://schema.org","@type":"Article","headline":"为什么我对第三代郊狼失望","image":[""],"dateModified":"2024-03-23T06:35:02.000Z","author":[{"@type":"Person","name":"HalfSweet","link":"https://github.com/HalfSweet"}]}</script><title>为什么我对第三代郊狼失望 | HalfSweet's Blog</title><meta name="description" content="最近第三代郊狼开始内测了,作为一名电子爱好者,自然不能错过这个机会。于是我以原价 368 元的主机,以及 128 元两个智能按钮的价格,购买了一套第三代郊狼。 失望是从快递到手开始的,当到手之后我拆开,发现里面的竟然是飞机盒而不是之前的推拉式盒子。这个细节让我感觉有些失望,不过在打开盒子之后有了一些慰藉。因为里面给了一个收纳包,这点很好,当时我甚至很兴...">
-    <link rel="preload" href="/assets/style-BDwnt-CL.css" as="style"><link rel="stylesheet" href="/assets/style-BDwnt-CL.css">
-    <link rel="modulepreload" href="/assets/app-ClwIkahu.js"><link rel="modulepreload" href="/assets/index.html-B5-KeVPb.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
-    <link rel="prefetch" href="/assets/index.html-BjG6C5xb.js" as="script"><link rel="prefetch" href="/assets/index.html-6gNmrYKw.js" as="script"><link rel="prefetch" href="/assets/index.html-W8DPbcPd.js" as="script"><link rel="prefetch" href="/assets/index.html-75fD8c0W.js" as="script"><link rel="prefetch" href="/assets/index.html-CufQKtZU.js" as="script"><link rel="prefetch" href="/assets/index.html-Bqe7scks.js" as="script"><link rel="prefetch" href="/assets/index.html-C7FigsQF.js" as="script"><link rel="prefetch" href="/assets/index.html-DtEE6E7f.js" as="script"><link rel="prefetch" href="/assets/index.html-0oPRY09N.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNCX4dz.js" as="script"><link rel="prefetch" href="/assets/index.html-XtQdJJI8.js" as="script"><link rel="prefetch" href="/assets/index.html-CnJ0E6b5.js" as="script"><link rel="prefetch" href="/assets/index.html-CFhDcrZp.js" as="script"><link rel="prefetch" href="/assets/index.html-Bd1PkxNi.js" as="script"><link rel="prefetch" href="/assets/index.html-DJ-_mZ9n.js" as="script"><link rel="prefetch" href="/assets/index.html-jFzM8lrm.js" as="script"><link rel="prefetch" href="/assets/404.html-VMfaDGRx.js" as="script"><link rel="prefetch" href="/assets/index.html-BaR2aqhq.js" as="script"><link rel="prefetch" href="/assets/index.html-DO2xY2T5.js" as="script"><link rel="prefetch" href="/assets/index.html-BEwHBlkc.js" as="script"><link rel="prefetch" href="/assets/index.html-DZIt3Q5g.js" as="script"><link rel="prefetch" href="/assets/index.html-Dd9JrssL.js" as="script"><link rel="prefetch" href="/assets/index.html-BjPOIJdK.js" as="script"><link rel="prefetch" href="/assets/index.html-CmtlWOBH.js" as="script"><link rel="prefetch" href="/assets/index.html-CR-9qG2Y.js" as="script"><link rel="prefetch" href="/assets/index.html-CwWDCYUS.js" as="script"><link rel="prefetch" href="/assets/index.html-CptFZpi0.js" as="script"><link rel="prefetch" href="/assets/index.html-p6Y7Jm3n.js" as="script"><link rel="prefetch" href="/assets/index.html-CIen8cvO.js" as="script"><link rel="prefetch" href="/assets/index.html-BKUs44hv.js" as="script"><link rel="prefetch" href="/assets/index.html-D0wSSTgQ.js" as="script"><link rel="prefetch" href="/assets/index.html-DqsCIdcm.js" as="script"><link rel="prefetch" href="/assets/index.html-kUwAIzkD.js" as="script"><link rel="prefetch" href="/assets/index.html-BqgjNdmg.js" as="script"><link rel="prefetch" href="/assets/index.html-DIaDLRqn.js" as="script"><link rel="prefetch" href="/assets/index.html-DhcL23aG.js" as="script"><link rel="prefetch" href="/assets/index.html-Bk9EBjUw.js" as="script"><link rel="prefetch" href="/assets/index.html-C0X-QC5U.js" as="script"><link rel="prefetch" href="/assets/index.html-ZwD6xCF4.js" as="script"><link rel="prefetch" href="/assets/index.html-BdqadbH8.js" as="script"><link rel="prefetch" href="/assets/index.html-D7Uf3Wbw.js" as="script"><link rel="prefetch" href="/assets/index.html-CsuDpoYK.js" as="script"><link rel="prefetch" href="/assets/index.html-Dc2bdBF2.js" as="script"><link rel="prefetch" href="/assets/index.html-BzgkemtD.js" as="script"><link rel="prefetch" href="/assets/index.html-7uHHiaZx.js" as="script"><link rel="prefetch" href="/assets/index.html-TGoZudvZ.js" as="script"><link rel="prefetch" href="/assets/index.html-DbCWijUV.js" as="script"><link rel="prefetch" href="/assets/index.html-DOCRL60a.js" as="script"><link rel="prefetch" href="/assets/index.html-B8qYb7wb.js" as="script"><link rel="prefetch" href="/assets/index.html-CpBdG6tv.js" as="script"><link rel="prefetch" href="/assets/index.html-DdE0h7xo.js" as="script"><link rel="prefetch" href="/assets/index.html-BlsdgZAc.js" as="script"><link rel="prefetch" href="/assets/index.html-Du74cC6X.js" as="script"><link rel="prefetch" href="/assets/index.html-CTp2Oa39.js" as="script"><link rel="prefetch" href="/assets/index.html-Bz73p56D.js" as="script"><link rel="prefetch" href="/assets/index.html-BktjQtFB.js" as="script"><link rel="prefetch" href="/assets/index.html-DPl--Ppt.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-BF52VcER.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CgYxLcm_.js" as="script"><link rel="prefetch" href="/assets/artplayer-CHAGXahu.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-BOVnG7as.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-CbA2In8H.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-Do1ld-lW.js" as="script"><link rel="prefetch" href="/assets/giscus-7BMGhbDA.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-SzV8tJDW.js" as="script">
+    <link rel="preload" href="/assets/style-7DTFFHvh.css" as="style"><link rel="stylesheet" href="/assets/style-7DTFFHvh.css">
+    <link rel="modulepreload" href="/assets/app-Flo2gZk8.js"><link rel="modulepreload" href="/assets/index.html-BNW3YRR3.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
+    <link rel="prefetch" href="/assets/index.html-BhtLl4n3.js" as="script"><link rel="prefetch" href="/assets/index.html-C6yte3a0.js" as="script"><link rel="prefetch" href="/assets/index.html-R-cHHIas.js" as="script"><link rel="prefetch" href="/assets/index.html-CPUAg15t.js" as="script"><link rel="prefetch" href="/assets/index.html-BjdnOCC5.js" as="script"><link rel="prefetch" href="/assets/index.html-7Xyk7CrU.js" as="script"><link rel="prefetch" href="/assets/index.html-jClrTNl3.js" as="script"><link rel="prefetch" href="/assets/index.html-tFfBEjXi.js" as="script"><link rel="prefetch" href="/assets/index.html-DgPmeCdQ.js" as="script"><link rel="prefetch" href="/assets/index.html-CxRigd-R.js" as="script"><link rel="prefetch" href="/assets/index.html-BWPjJqfa.js" as="script"><link rel="prefetch" href="/assets/index.html-DzG2EJXJ.js" as="script"><link rel="prefetch" href="/assets/index.html-B45efyIG.js" as="script"><link rel="prefetch" href="/assets/index.html-D_Px6PD2.js" as="script"><link rel="prefetch" href="/assets/index.html-U1Oe9QlK.js" as="script"><link rel="prefetch" href="/assets/index.html-fvB3i9PM.js" as="script"><link rel="prefetch" href="/assets/404.html-mkIobPP0.js" as="script"><link rel="prefetch" href="/assets/index.html-DGqb01LU.js" as="script"><link rel="prefetch" href="/assets/index.html-GZfFX8ok.js" as="script"><link rel="prefetch" href="/assets/index.html-vhaMR1PK.js" as="script"><link rel="prefetch" href="/assets/index.html-CvSEeOlH.js" as="script"><link rel="prefetch" href="/assets/index.html-BmplSMWS.js" as="script"><link rel="prefetch" href="/assets/index.html-C2sDDxGY.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNwolvq.js" as="script"><link rel="prefetch" href="/assets/index.html-DhSSZBRU.js" as="script"><link rel="prefetch" href="/assets/index.html-DPcGNBru.js" as="script"><link rel="prefetch" href="/assets/index.html-BFJ0kKZP.js" as="script"><link rel="prefetch" href="/assets/index.html-CBW4olfB.js" as="script"><link rel="prefetch" href="/assets/index.html-CiBWk0Bg.js" as="script"><link rel="prefetch" href="/assets/index.html-AFWYFeTY.js" as="script"><link rel="prefetch" href="/assets/index.html-DlrkN0XZ.js" as="script"><link rel="prefetch" href="/assets/index.html-Cb-sPtFS.js" as="script"><link rel="prefetch" href="/assets/index.html-DPF-EyUV.js" as="script"><link rel="prefetch" href="/assets/index.html-AqhAiBBF.js" as="script"><link rel="prefetch" href="/assets/index.html-DLZdHb6J.js" as="script"><link rel="prefetch" href="/assets/index.html-Cpr5viHS.js" as="script"><link rel="prefetch" href="/assets/index.html-BXxGxqK4.js" as="script"><link rel="prefetch" href="/assets/index.html-4asd-b47.js" as="script"><link rel="prefetch" href="/assets/index.html-ZITi3OK2.js" as="script"><link rel="prefetch" href="/assets/index.html-DJMKg_M6.js" as="script"><link rel="prefetch" href="/assets/index.html-Y__KWg8u.js" as="script"><link rel="prefetch" href="/assets/index.html--BIzY7gk.js" as="script"><link rel="prefetch" href="/assets/index.html-BRHXQqdq.js" as="script"><link rel="prefetch" href="/assets/index.html-C_2nkQ6B.js" as="script"><link rel="prefetch" href="/assets/index.html-R9oSKuoP.js" as="script"><link rel="prefetch" href="/assets/index.html-DY-KY6vi.js" as="script"><link rel="prefetch" href="/assets/index.html-BSndmKE7.js" as="script"><link rel="prefetch" href="/assets/index.html-BDmR_g70.js" as="script"><link rel="prefetch" href="/assets/index.html-CpeDyHcd.js" as="script"><link rel="prefetch" href="/assets/index.html-DV9WiiCS.js" as="script"><link rel="prefetch" href="/assets/index.html-DTceWJaH.js" as="script"><link rel="prefetch" href="/assets/index.html-2WOtvPq_.js" as="script"><link rel="prefetch" href="/assets/index.html-DCVozm3V.js" as="script"><link rel="prefetch" href="/assets/index.html-vKhQGG0S.js" as="script"><link rel="prefetch" href="/assets/index.html-BlvUTCvM.js" as="script"><link rel="prefetch" href="/assets/index.html-vIW8aJUJ.js" as="script"><link rel="prefetch" href="/assets/index.html-CTuZCChr.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-S0Hns9UN.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CSFeuThZ.js" as="script"><link rel="prefetch" href="/assets/artplayer-DnixxQIM.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-DaNo29Rn.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-nRkOMaNb.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-DQalTb-T.js" as="script"><link rel="prefetch" href="/assets/giscus-D-fkNSKD.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-GXRgw7eJ.js" as="script">
   </head>
   <body>
     <div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container has-toc"><!--[--><header id="navbar" class="vp-navbar"><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><!--[--><a class="route-link vp-brand" href="/"><img class="vp-nav-logo" src="/img/Headshot.jpg" alt><!----><span class="vp-site-name hide-in-pad">HalfSweet&#39;s Blog</span></a><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-center"><!--[--><!----><!--]--><!--[--><nav class="vp-nav-links"><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link active" href="/posts/" aria-label="文章"><span class="font-icon icon app" style=""></span>文章<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/about/" aria-label="关于"><span class="font-icon icon user" style=""></span>关于<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/friends/" aria-label="友链"><span class="font-icon icon link" style=""></span>友链<!----></a></div></nav><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-end"><!--[--><!----><!--]--><!--[--><!----><div class="nav-item vp-repo"><a class="vp-repo-link" href="https://github.com/HalfSweet/Blog" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><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"></path></svg></a></div><div class="nav-item hide-in-mobile"><button type="button" id="appearance-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" style="display:block;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" style="display:none;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" style="display:none;"><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"></path></svg></button></div><!----><!--]--><!--[--><!----><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar"><!--[--><!----><!--]--><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></li><li><section class="vp-sidebar-group"><p class="vp-sidebar-header active"><span class="font-icon icon book" style=""></span><span class="vp-sidebar-title">文章</span><!----></p><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-Clion/" aria-label="使用 Clion 来进行 Air32 的开发"><!---->使用 Clion 来进行 Air32 的开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-MCO/" aria-label="Air32 的 HAL 改造——适配 MCO"><!---->Air32 的 HAL 改造——适配 MCO<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/HelloWorld/" aria-label="HelloWorld"><!---->HelloWorld<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/STC_CoreMark/" aria-label="不服来跑个分?将 CoreMark 移植到 STC 上试试"><!---->不服来跑个分?将 CoreMark 移植到 STC 上试试<!----></a></li><li><a class="route-link nav-link active vp-sidebar-link vp-sidebar-page active" href="/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="为什么我对第三代郊狼失望"><!---->为什么我对第三代郊狼失望<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-HighFreq/" aria-label="发挥全部实力!Air32 在 HAL 库环境下运行最高主频"><!---->发挥全部实力!Air32 在 HAL 库环境下运行最高主频<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/embedded_fmtlib/" aria-label="在嵌入式设备上使用fmtlib"><!---->在嵌入式设备上使用fmtlib<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/conda_novelai/" aria-label="基于conda进行手动配置novelAI"><!---->基于conda进行手动配置novelAI<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="对《为什么我对第三代郊狼失望》一文的澄清说明"><!---->对《为什么我对第三代郊狼失望》一文的澄清说明<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Empedded-CI-CD/" aria-label="嵌入式中的 CI/CD"><!---->嵌入式中的 CI/CD<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/MDK6-Dev/" aria-label="更现代的开发方式?使用 MDK6 进行开发"><!---->更现代的开发方式?使用 MDK6 进行开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/SEGGER-RTT/" aria-label="更高效的日志查看方式——使用SEGGER-RTT"><!---->更高效的日志查看方式——使用SEGGER-RTT<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/EpdTraps1/" aria-label="墨水屏的坑——7.5寸墨水屏刷新为何出现条纹"><!---->墨水屏的坑——7.5寸墨水屏刷新为何出现条纹<!----></a></li></ul></section></li></ul><!--[--><!----><!--]--></aside><!--[--><main id="main-content" class="vp-page"><!--[--><!--[--><!----><!--]--><!----><nav class="vp-breadcrumb disable"></nav><div class="vp-page-title"><h1><!---->为什么我对第三代郊狼失望</h1><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2024-03-15T17:59:26.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>大约 8 分钟</span><meta property="timeRequired" content="PT8M"></span><span class="page-category-info" aria-label="分类🌈" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg><!--[--><span class="page-category-item category1 clickable" role="navigation">posts</span><!--]--><meta property="articleSection" content="posts"></span><span class="page-tag-info" aria-label="标签🏷" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg><!--[--><span class="page-tag-item tag6 clickable" role="navigation">碎碎念</span><span class="page-tag-item tag3 clickable" role="navigation">郊狼</span><!--]--><meta property="keywords" content="碎碎念,郊狼"></span></div><hr></div><div class="vp-toc-placeholder"><aside id="toc"><!--[--><!----><!--]--><div class="vp-toc-header">此页内容<button type="button" class="print-button" title="打印"><svg xmlns="http://www.w3.org/2000/svg" class="icon print-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="print icon"><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"></path></svg></button><div class="arrow end"></div></div><div class="vp-toc-wrapper"><ul class="vp-toc-list"><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#主机拆解">主机拆解</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#主机规格分析">主机规格分析</a></li><li><ul class="vp-toc-list"><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="/#电源环路">电源环路</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="/#主控">主控</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="/#电池管理">电池管理</a></li><!----><!--]--></ul></li><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#按钮拆解">按钮拆解</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#按钮规格分析">按钮规格分析</a></li><li><ul class="vp-toc-list"><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="/#主控-1">主控</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="/#imu">IMU</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="/#按键">按键</a></li><!----><!--]--></ul></li><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#一些奇奇怪怪的问题">一些奇奇怪怪的问题</a></li><li><ul class="vp-toc-list"><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="/#主机端">主机端</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="/#执行标准">执行标准</a></li><!----><!--]--></ul></li><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#总结">总结</a></li><!----><!--]--></ul><div class="vp-toc-marker" style="top:-1.7rem;"></div></div><!--[--><!----><!--]--></aside></div><!--[--><!----><!--]--><div class="theme-hope-content"><p>最近第三代郊狼开始内测了,作为一名电子爱好者,自然不能错过这个机会。于是我以原价 368 元的主机,以及 128 元两个智能按钮的价格,购买了一套第三代郊狼。</p><p>失望是从快递到手开始的,当到手之后我拆开,发现里面的竟然是飞机盒而不是之前的推拉式盒子。这个细节让我感觉有些失望,不过在打开盒子之后有了一些慰藉。因为里面给了一个收纳包,这点很好,当时我甚至很兴奋。</p><p>但是随着东西的拆解,所有的设备都被我摆在了桌上,我想,这就是它们的全部了吗?</p><p>主机和上一代几乎没有任何区别,只是改了个型号和加入了 RGB 灯,其余的结构件完全一致。此时的我稍稍有些失望,但是转念一想,玩意它的内功深厚,在内在进行了非常大的提升了呢。怀着这样的想法我把它拆了。</p><h2 id="主机拆解" tabindex="-1"><a class="header-anchor" href="#主机拆解"><span>主机拆解</span></a></h2><p>拆解过程很简单,只需要加热一下其中一面的面板一段时间,等胶水软化之后可以用吸盘去吸住拉下来,这个应该可以真无损拆解。而对于面板等另一面,稍微加热之后从内部往外部顶处即可,完全无损。</p><p><img src="/assets/2024-03-16-01-32-31-mGrlcI8s.png" alt=""></p><p><img src="/assets/2024-03-16-01-33-09-B-D5yALP.png" alt=""></p><h2 id="主机规格分析" tabindex="-1"><a class="header-anchor" href="#主机规格分析"><span>主机规格分析</span></a></h2><h3 id="电源环路" tabindex="-1"><a class="header-anchor" href="#电源环路"><span>电源环路</span></a></h3><p>在宣传页中,厂商宣称优化了升压架构。但是经过初步分析,实质上的电源拓扑和第二代其实并无太大差异,依然是采用的开环 boost 拓扑。</p><p>但还是存在着一些差异,不难看出此次的电感和电容均换成了贴片,整体的功率相比前一代应该是有所降低。并且同时也可以看出,在输出端并联了一个 TVS 二极管用来限制最高输出电压,按照丝印分析,应该是 91V 的 TVS。这个数据相较于输出母线上的 100V 耐压的电解电容来说,还是稍微有一点极限了。</p><p>在第二代中,也有 TVS 进行限压,但是当初使用的是 150V 的 TVS,因此理论上来说第三代的最高输出电压是更低的。从后面的实测中也能看出,开到最高的挡位(200)后,输出的电压峰峰值约为 130.667V,而在第二代中峰峰值则约为 270V。</p><div class="hint-container note"><p class="hint-container-title">注</p><p>测试条件均为大约 500 欧的纯阻性负载下进行。</p></div><p><img src="/assets/2024-03-16-15-49-23-Cya-KnQb.png" alt="200 挡位下的输出波形"></p><p><img src="/assets/2024-03-16-15-49-51-DJttEagy.png" alt="100 挡位下的输出波形"></p><p>另外有趣的是,在上一代中输出有一个光耦与一个二极管,其中应该是采取反向并联的方式串入回路中。这样主控理论上可以检测到是否存在负载,但是遗憾是只能检测到半周的数据。而这一代中可以看出每一路的输出有 3 个光耦,并且 LED 输出指示的设计依然被保留了下来。至于这 3 个光耦是如何分配的,还需要进行进一步的分析。</p><p>另外,在官方的宣传页中,宣称加入了过流保护,最大电流不会超过 50mA,这个部分猜测应该是用的那两颗巨大的 1k 电阻进行采样,并且使用 LM393 比较器进行硬件地切断输出。这个部分相比二代的可能是纯软件的限流措施来说,确实有一定的提升。当然值得注意的是,这依然无法做到硬件级别的可调输出电流,并且也未知能否通过软件的方式作为最高电流的限制。</p><h3 id="主控" tabindex="-1"><a class="header-anchor" href="#主控"><span>主控</span></a></h3><p>第三代的主控芯片和上一代一样,依旧采用的是<code>nRF52832</code>,并且有意思的是它的生产日期依然是 2022 年,清库存实锤了(</p><details class="hint-container details"><summary>碎碎念</summary><p>猜测其实和第二代的软件部分也不会差太多,纯纯的炒冷饭。</p></details><p>在板子上我还发现了有一颗被磨标的 TSSOP-16 封装的芯片,但是不知道具体的作用是什么,如果有能猜测出来的同学可以偷偷在评论区里告诉我((</p><h3 id="电池管理" tabindex="-1"><a class="header-anchor" href="#电池管理"><span>电池管理</span></a></h3><p>和第二代一样,电池的充电芯片依然采用的是<code>SGM4056</code>,<code>TDFN-3×3-8</code>封装。至于锂电池的保护应该是交给内置的保护板进行处理。</p><p><img src="/assets/2024-03-16-15-55-11-DlYPgBCM.png" alt=""></p><h2 id="按钮拆解" tabindex="-1"><a class="header-anchor" href="#按钮拆解"><span>按钮拆解</span></a></h2><p>按钮的拆解也很简单,只需要用一把小螺丝刀即可,记住大力出奇迹,它的本质不过就是一个带卡扣的外壳,所以只要稍微用力即可拆开。</p><p><img src="/assets/2024-03-16-01-45-57-Ds-YsJY-.png" alt=""><img src="/assets/2024-03-16-01-47-42-cwbzvRL9.png" alt=""></p><h2 id="按钮规格分析" tabindex="-1"><a class="header-anchor" href="#按钮规格分析"><span>按钮规格分析</span></a></h2><p>相比于主机,配套的按钮整体的复杂度低了不少,本质上就是一个一堆开关与一个 IMU 通过一个 BLE 的主控透传出去。</p><h3 id="主控-1" tabindex="-1"><a class="header-anchor" href="#主控-1"><span>主控</span></a></h3><p>主控使用的是上海博通的方案,具体的型号为<code>BK3432</code>。支持双模蓝牙和 2.4G 的通信。但是值得注意的是它的内置 ADC 仅仅只有 10bit,对于官方宣称的可以使用 Type-C 的 CC1 进行外部电压检测功能来说,ADC 的性能可能会造成一些玩法上的限制。</p><p><img src="/assets/2024-03-16-16-05-16-cBmR9hWh.png" alt=""></p><h3 id="imu" tabindex="-1"><a class="header-anchor" href="#imu"><span>IMU</span></a></h3><p>根据芯片的丝印分析,IMU 使用的应该是<code>SC7A20</code>,这个方案的优势就是成本非常的廉价,在淘宝上大部分的售价均在一元人民币左右。当然缺点嘛……就是它至少一个普通的 3 轴加速度计,不支持角速度,也不支持陀螺仪的相关功能。使用的拓展性势必会造成一定的限制。</p><p><img src="/assets/2024-03-16-16-51-21-jQf8Ie91.png" alt=""></p><h3 id="按键" tabindex="-1"><a class="header-anchor" href="#按键"><span>按键</span></a></h3><p>按键采用的是微动开关,但是个人感觉因为结构的限制,只有几个弹簧支承上下壳体,因此手感会比较差,触发力度非常低,当然考虑到应用场景,可能也算是 play 的一环吧 ( ̄﹃ ̄)</p><p>另外个人感觉这个微动开关的声音有些略大了,在安静的环境中会非常明显,就像是有人不断在点击鼠标一样。对我来说如果是在比较公开的场合来说,还是希望能换成一些声音较小的微动。</p><p>按钮的定价的话目前是 128 人民币两个,就成本来说我个人感觉还是蛮贵的……</p><h2 id="一些奇奇怪怪的问题" tabindex="-1"><a class="header-anchor" href="#一些奇奇怪怪的问题"><span>一些奇奇怪怪的问题</span></a></h2><h3 id="主机端" tabindex="-1"><a class="header-anchor" href="#主机端"><span>主机端</span></a></h3><p>主机端有一个非常有意思的东西,在 PCB 上可以看到有一些二次焊接的痕迹,比如说 R80 这个电阻就被拆掉了,上面的助焊剂甚至都没有清理干净。这样的痕迹也不止一处。</p><p><img src="/assets/2024-03-16-01-52-12-D7_PXxJa.png" alt=""></p><h3 id="执行标准" tabindex="-1"><a class="header-anchor" href="#执行标准"><span>执行标准</span></a></h3><p>在包装盒上出现了一个所谓的“执行标准”,但是经过查阅之后发现并不存在相关的国家标准,这个应该是官方自造的一个标准。这个就有点难绷了。</p><p><img src="/assets/2024-03-16-16-30-11-D6h_9wQD.png" alt=""></p><h2 id="总结" tabindex="-1"><a class="header-anchor" href="#总结"><span>总结</span></a></h2><p>相比二代的主机来说,三代主机并没有得到本质的提升,软件方面应该是大差不差的,仅仅是在硬件上进行了一些不大不小的升级。对于鸽了大半年,并且距离上一代已经很多年的产品来说,我感觉很难感觉到有什么诚意。并且更令人失望的是,二代和三代的结构件是完全一致的,仅仅只是前面板修改了一下版本,而中框和后面板则完全一致。</p><p>在一些比较关键的元件上,甚至有一些缩水,比如最高的输出电压,以及升压电感和电容。在第二代上存在一个问题,长时间使用之后升压部分会变得非常热,并且甚至可能会烫伤用户,在第三代中这个问题势必会变得更严重。至于有没有添加诸如 NTC 之类的保护措施,就目前肉眼所见的情况来看,是没有的。不过目前我没有热成像,因此也暂时没法进行长时间的压力测试了,这个以后会补上。</p><p>对于外置的按键来说,想法很有心意,但是落实到具体的产品上依旧让人感受到了一种敷衍。硬件采用的基本都是最低最便宜的方案,对于这个售价来说属实不应该,非常亏。</p><p>总而言之,对于拥有老款主机的用户来说,我并不是很推荐购买新款,因为真的没什么区别。当然如果是对于在观望的新用户来说,可能可以满足你的需求,但是一定不会远远超出预期,最好先问问自己是否真的需要,如果是刚需再购买,否则一定一定会后悔。</p><p>我并不反对高价的产品,但是我非常反感一边卖高价一边采用 costdown 方案。因为这减少的不仅只有成本,还有性能。</p></div><!--[--><!----><!--]--><footer class="page-meta"><div class="meta-item edit-link"><a href="https://github.com/HalfSweet/Blog/edit/main/src/posts/为什么我对第三代郊狼失望.md" rel="noopener noreferrer" target="_blank" aria-label="在 GitHub 上编辑此页" class="nav-link label"><!--[--><svg xmlns="http://www.w3.org/2000/svg" class="icon edit-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="edit icon"><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"></path><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"></path></svg><!--]-->在 GitHub 上编辑此页<span><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"><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"></path><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"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!----></a></div><div class="meta-item git-info"><div class="update-time"><span class="label">上次编辑于: </span><!----></div><div class="contributors"><span class="label">贡献者: </span><!--[--><!--[--><span class="contributor" title="email: HalfSweet@HalfSweet.cn">HalfSweet</span>,<!--]--><!--[--><span class="contributor" title="email: halfsweet@halfsweet.cn">HalfSweet</span><!--]--><!--]--></div></div></footer><nav class="vp-page-nav"><a class="route-link nav-link prev" href="/posts/STC_CoreMark/" aria-label="不服来跑个分?将 CoreMark 移植到 STC 上试试"><div class="hint"><span class="arrow start"></span>上一页</div><div class="link"><!---->不服来跑个分?将 CoreMark 移植到 STC 上试试</div></a><a class="route-link nav-link next" href="/posts/Air32-HAL-HighFreq/" aria-label="发挥全部实力!Air32 在 HAL 库环境下运行最高主频"><div class="hint">下一页<span class="arrow end"></span></div><div class="link">发挥全部实力!Air32 在 HAL 库环境下运行最高主频<!----></div></a></nav><div id="vp-comment" class="giscus-wrapper input-top" style="display:block;"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" preserveAspectRatio="xMidYMid" viewBox="0 0 100 100"><circle cx="28" cy="75" r="11" fill="currentColor"><animate attributeName="fill-opacity" begin="0s" dur="1s" keyTimes="0;0.2;1" repeatCount="indefinite" values="0;1;1"></animate></circle><path fill="none" stroke="#88baf0" stroke-width="10" d="M28 47a28 28 0 0 1 28 28"><animate attributeName="stroke-opacity" begin="0.1s" dur="1s" keyTimes="0;0.2;1" repeatCount="indefinite" values="0;1;1"></animate></path><path fill="none" stroke="#88baf0" stroke-width="10" d="M28 25a50 50 0 0 1 50 50"><animate attributeName="stroke-opacity" begin="0.2s" dur="1s" keyTimes="0;0.2;1" repeatCount="indefinite" values="0;1;1"></animate></path></svg></div><!--[--><!----><!--]--><!--]--></main><!--]--><footer class="vp-footer-wrapper"><div class="vp-footer">今天咕咕被欺负了吗</div><div class="vp-copyright">Copyright © 2024 HalfSweet </div></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div>
-    <script type="module" src="/assets/app-ClwIkahu.js" defer></script>
+    <script type="module" src="/assets/app-Flo2gZk8.js" defer></script>
   </body>
 </html>
diff --git a/sitemap.xml b/sitemap.xml
index d714d56..b414915 100644
--- a/sitemap.xml
+++ b/sitemap.xml
@@ -1,3 +1,3 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml-stylesheet type="text/xsl" href="/sitemap.xsl"?>
-<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"><url><loc>https://halfsweet.cn/</loc><lastmod>2023-08-19T04:37:32.000Z</lastmod><changefreq>daily</changefreq></url><url><loc>https://halfsweet.cn/about/</loc><lastmod>2024-02-15T10:37:21.000Z</lastmod><changefreq>daily</changefreq></url><url><loc>https://halfsweet.cn/friends/</loc><lastmod>2024-04-03T13:37:55.000Z</lastmod><changefreq>daily</changefreq></url><url><loc>https://halfsweet.cn/posts/Air32-HAL-MCO/</loc><lastmod>2024-03-23T06:35:02.000Z</lastmod><changefreq>daily</changefreq></url><url><loc>https://halfsweet.cn/posts/HelloWorld/</loc><lastmod>2023-08-19T04:15:51.000Z</lastmod><changefreq>daily</changefreq></url><url><loc>https://halfsweet.cn/posts/STC_CoreMark/</loc><lastmod>2024-03-23T06:35:02.000Z</lastmod><changefreq>daily</changefreq></url><url><loc>https://halfsweet.cn/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/</loc><lastmod>2024-03-23T06:35:02.000Z</lastmod><changefreq>daily</changefreq></url><url><loc>https://halfsweet.cn/posts/Air32-Clion/</loc><lastmod>2023-09-01T14:34:52.000Z</lastmod><changefreq>daily</changefreq></url><url><loc>https://halfsweet.cn/posts/Air32-HAL-HighFreq/</loc><lastmod>2024-03-23T06:35:02.000Z</lastmod><changefreq>daily</changefreq></url><url><loc>https://halfsweet.cn/posts/embedded_fmtlib/</loc><lastmod>2024-03-23T06:35:02.000Z</lastmod><changefreq>daily</changefreq></url><url><loc>https://halfsweet.cn/posts/conda_novelai/</loc><lastmod>2024-03-23T06:35:02.000Z</lastmod><changefreq>daily</changefreq></url><url><loc>https://halfsweet.cn/posts/EpdTraps1/</loc><lastmod>2024-03-23T06:35:02.000Z</lastmod><changefreq>daily</changefreq></url><url><loc>https://halfsweet.cn/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/</loc><lastmod>2024-03-23T06:35:02.000Z</lastmod><changefreq>daily</changefreq></url><url><loc>https://halfsweet.cn/posts/Empedded-CI-CD/</loc><lastmod>2024-03-23T06:39:37.000Z</lastmod><changefreq>daily</changefreq></url><url><loc>https://halfsweet.cn/posts/MDK6-Dev/</loc><lastmod>2024-03-23T06:35:02.000Z</lastmod><changefreq>daily</changefreq></url><url><loc>https://halfsweet.cn/posts/SEGGER-RTT/</loc><lastmod>2024-03-23T06:35:02.000Z</lastmod><changefreq>daily</changefreq></url><url><loc>https://halfsweet.cn/kfGjHcdk36vg74_H/FAE/</loc><lastmod>2024-04-03T13:37:55.000Z</lastmod><changefreq>daily</changefreq></url></urlset>
\ No newline at end of file
+<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"><url><loc>https://halfsweet.cn/</loc><lastmod>2023-08-19T04:37:32.000Z</lastmod><changefreq>daily</changefreq></url><url><loc>https://halfsweet.cn/about/</loc><lastmod>2024-02-15T10:37:21.000Z</lastmod><changefreq>daily</changefreq></url><url><loc>https://halfsweet.cn/friends/</loc><lastmod>2024-07-20T16:02:49.000Z</lastmod><changefreq>daily</changefreq></url><url><loc>https://halfsweet.cn/posts/Air32-HAL-MCO/</loc><lastmod>2024-03-23T06:35:02.000Z</lastmod><changefreq>daily</changefreq></url><url><loc>https://halfsweet.cn/posts/HelloWorld/</loc><lastmod>2023-08-19T04:15:51.000Z</lastmod><changefreq>daily</changefreq></url><url><loc>https://halfsweet.cn/posts/STC_CoreMark/</loc><lastmod>2024-03-23T06:35:02.000Z</lastmod><changefreq>daily</changefreq></url><url><loc>https://halfsweet.cn/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/</loc><lastmod>2024-03-23T06:35:02.000Z</lastmod><changefreq>daily</changefreq></url><url><loc>https://halfsweet.cn/posts/Air32-Clion/</loc><lastmod>2023-09-01T14:34:52.000Z</lastmod><changefreq>daily</changefreq></url><url><loc>https://halfsweet.cn/posts/Air32-HAL-HighFreq/</loc><lastmod>2024-03-23T06:35:02.000Z</lastmod><changefreq>daily</changefreq></url><url><loc>https://halfsweet.cn/posts/embedded_fmtlib/</loc><lastmod>2024-03-23T06:35:02.000Z</lastmod><changefreq>daily</changefreq></url><url><loc>https://halfsweet.cn/posts/conda_novelai/</loc><lastmod>2024-03-23T06:35:02.000Z</lastmod><changefreq>daily</changefreq></url><url><loc>https://halfsweet.cn/posts/EpdTraps1/</loc><lastmod>2024-03-23T06:35:02.000Z</lastmod><changefreq>daily</changefreq></url><url><loc>https://halfsweet.cn/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/</loc><lastmod>2024-03-23T06:35:02.000Z</lastmod><changefreq>daily</changefreq></url><url><loc>https://halfsweet.cn/posts/Empedded-CI-CD/</loc><lastmod>2024-03-23T06:39:37.000Z</lastmod><changefreq>daily</changefreq></url><url><loc>https://halfsweet.cn/posts/MDK6-Dev/</loc><lastmod>2024-03-23T06:35:02.000Z</lastmod><changefreq>daily</changefreq></url><url><loc>https://halfsweet.cn/posts/SEGGER-RTT/</loc><lastmod>2024-03-23T06:35:02.000Z</lastmod><changefreq>daily</changefreq></url><url><loc>https://halfsweet.cn/kfGjHcdk36vg74_H/FAE/</loc><lastmod>2024-04-03T13:37:55.000Z</lastmod><changefreq>daily</changefreq></url></urlset>
\ No newline at end of file
diff --git a/star/index.html b/star/index.html
index b35190a..5c5bc35 100644
--- a/star/index.html
+++ b/star/index.html
@@ -29,12 +29,12 @@
       }
     </script>
     <meta property="og:url" content="https://halfsweet.cn/star/"><meta property="og:site_name" content="HalfSweet's Blog"><meta property="og:title" content="星标"><meta property="og:type" content="website"><meta property="og:locale" content="zh-CN"><meta property="article:author" content="HalfSweet"><script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","name":"星标"}</script><title>星标 | HalfSweet's Blog</title><meta name="description" content="半糖的博客">
-    <link rel="preload" href="/assets/style-BDwnt-CL.css" as="style"><link rel="stylesheet" href="/assets/style-BDwnt-CL.css">
-    <link rel="modulepreload" href="/assets/app-ClwIkahu.js"><link rel="modulepreload" href="/assets/index.html-BktjQtFB.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
-    <link rel="prefetch" href="/assets/index.html-BjG6C5xb.js" as="script"><link rel="prefetch" href="/assets/index.html-6gNmrYKw.js" as="script"><link rel="prefetch" href="/assets/index.html-W8DPbcPd.js" as="script"><link rel="prefetch" href="/assets/index.html-75fD8c0W.js" as="script"><link rel="prefetch" href="/assets/index.html-CufQKtZU.js" as="script"><link rel="prefetch" href="/assets/index.html-Bqe7scks.js" as="script"><link rel="prefetch" href="/assets/index.html-B5-KeVPb.js" as="script"><link rel="prefetch" href="/assets/index.html-C7FigsQF.js" as="script"><link rel="prefetch" href="/assets/index.html-DtEE6E7f.js" as="script"><link rel="prefetch" href="/assets/index.html-0oPRY09N.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNCX4dz.js" as="script"><link rel="prefetch" href="/assets/index.html-XtQdJJI8.js" as="script"><link rel="prefetch" href="/assets/index.html-CnJ0E6b5.js" as="script"><link rel="prefetch" href="/assets/index.html-CFhDcrZp.js" as="script"><link rel="prefetch" href="/assets/index.html-Bd1PkxNi.js" as="script"><link rel="prefetch" href="/assets/index.html-DJ-_mZ9n.js" as="script"><link rel="prefetch" href="/assets/index.html-jFzM8lrm.js" as="script"><link rel="prefetch" href="/assets/404.html-VMfaDGRx.js" as="script"><link rel="prefetch" href="/assets/index.html-BaR2aqhq.js" as="script"><link rel="prefetch" href="/assets/index.html-DO2xY2T5.js" as="script"><link rel="prefetch" href="/assets/index.html-BEwHBlkc.js" as="script"><link rel="prefetch" href="/assets/index.html-DZIt3Q5g.js" as="script"><link rel="prefetch" href="/assets/index.html-Dd9JrssL.js" as="script"><link rel="prefetch" href="/assets/index.html-BjPOIJdK.js" as="script"><link rel="prefetch" href="/assets/index.html-CmtlWOBH.js" as="script"><link rel="prefetch" href="/assets/index.html-CR-9qG2Y.js" as="script"><link rel="prefetch" href="/assets/index.html-CwWDCYUS.js" as="script"><link rel="prefetch" href="/assets/index.html-CptFZpi0.js" as="script"><link rel="prefetch" href="/assets/index.html-p6Y7Jm3n.js" as="script"><link rel="prefetch" href="/assets/index.html-CIen8cvO.js" as="script"><link rel="prefetch" href="/assets/index.html-BKUs44hv.js" as="script"><link rel="prefetch" href="/assets/index.html-D0wSSTgQ.js" as="script"><link rel="prefetch" href="/assets/index.html-DqsCIdcm.js" as="script"><link rel="prefetch" href="/assets/index.html-kUwAIzkD.js" as="script"><link rel="prefetch" href="/assets/index.html-BqgjNdmg.js" as="script"><link rel="prefetch" href="/assets/index.html-DIaDLRqn.js" as="script"><link rel="prefetch" href="/assets/index.html-DhcL23aG.js" as="script"><link rel="prefetch" href="/assets/index.html-Bk9EBjUw.js" as="script"><link rel="prefetch" href="/assets/index.html-C0X-QC5U.js" as="script"><link rel="prefetch" href="/assets/index.html-ZwD6xCF4.js" as="script"><link rel="prefetch" href="/assets/index.html-BdqadbH8.js" as="script"><link rel="prefetch" href="/assets/index.html-D7Uf3Wbw.js" as="script"><link rel="prefetch" href="/assets/index.html-CsuDpoYK.js" as="script"><link rel="prefetch" href="/assets/index.html-Dc2bdBF2.js" as="script"><link rel="prefetch" href="/assets/index.html-BzgkemtD.js" as="script"><link rel="prefetch" href="/assets/index.html-7uHHiaZx.js" as="script"><link rel="prefetch" href="/assets/index.html-TGoZudvZ.js" as="script"><link rel="prefetch" href="/assets/index.html-DbCWijUV.js" as="script"><link rel="prefetch" href="/assets/index.html-DOCRL60a.js" as="script"><link rel="prefetch" href="/assets/index.html-B8qYb7wb.js" as="script"><link rel="prefetch" href="/assets/index.html-CpBdG6tv.js" as="script"><link rel="prefetch" href="/assets/index.html-DdE0h7xo.js" as="script"><link rel="prefetch" href="/assets/index.html-BlsdgZAc.js" as="script"><link rel="prefetch" href="/assets/index.html-Du74cC6X.js" as="script"><link rel="prefetch" href="/assets/index.html-CTp2Oa39.js" as="script"><link rel="prefetch" href="/assets/index.html-Bz73p56D.js" as="script"><link rel="prefetch" href="/assets/index.html-DPl--Ppt.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-BF52VcER.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CgYxLcm_.js" as="script"><link rel="prefetch" href="/assets/artplayer-CHAGXahu.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-BOVnG7as.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-CbA2In8H.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-Do1ld-lW.js" as="script"><link rel="prefetch" href="/assets/giscus-7BMGhbDA.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-SzV8tJDW.js" as="script">
+    <link rel="preload" href="/assets/style-7DTFFHvh.css" as="style"><link rel="stylesheet" href="/assets/style-7DTFFHvh.css">
+    <link rel="modulepreload" href="/assets/app-Flo2gZk8.js"><link rel="modulepreload" href="/assets/index.html-vIW8aJUJ.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
+    <link rel="prefetch" href="/assets/index.html-BhtLl4n3.js" as="script"><link rel="prefetch" href="/assets/index.html-C6yte3a0.js" as="script"><link rel="prefetch" href="/assets/index.html-R-cHHIas.js" as="script"><link rel="prefetch" href="/assets/index.html-CPUAg15t.js" as="script"><link rel="prefetch" href="/assets/index.html-BjdnOCC5.js" as="script"><link rel="prefetch" href="/assets/index.html-7Xyk7CrU.js" as="script"><link rel="prefetch" href="/assets/index.html-BNW3YRR3.js" as="script"><link rel="prefetch" href="/assets/index.html-jClrTNl3.js" as="script"><link rel="prefetch" href="/assets/index.html-tFfBEjXi.js" as="script"><link rel="prefetch" href="/assets/index.html-DgPmeCdQ.js" as="script"><link rel="prefetch" href="/assets/index.html-CxRigd-R.js" as="script"><link rel="prefetch" href="/assets/index.html-BWPjJqfa.js" as="script"><link rel="prefetch" href="/assets/index.html-DzG2EJXJ.js" as="script"><link rel="prefetch" href="/assets/index.html-B45efyIG.js" as="script"><link rel="prefetch" href="/assets/index.html-D_Px6PD2.js" as="script"><link rel="prefetch" href="/assets/index.html-U1Oe9QlK.js" as="script"><link rel="prefetch" href="/assets/index.html-fvB3i9PM.js" as="script"><link rel="prefetch" href="/assets/404.html-mkIobPP0.js" as="script"><link rel="prefetch" href="/assets/index.html-DGqb01LU.js" as="script"><link rel="prefetch" href="/assets/index.html-GZfFX8ok.js" as="script"><link rel="prefetch" href="/assets/index.html-vhaMR1PK.js" as="script"><link rel="prefetch" href="/assets/index.html-CvSEeOlH.js" as="script"><link rel="prefetch" href="/assets/index.html-BmplSMWS.js" as="script"><link rel="prefetch" href="/assets/index.html-C2sDDxGY.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNwolvq.js" as="script"><link rel="prefetch" href="/assets/index.html-DhSSZBRU.js" as="script"><link rel="prefetch" href="/assets/index.html-DPcGNBru.js" as="script"><link rel="prefetch" href="/assets/index.html-BFJ0kKZP.js" as="script"><link rel="prefetch" href="/assets/index.html-CBW4olfB.js" as="script"><link rel="prefetch" href="/assets/index.html-CiBWk0Bg.js" as="script"><link rel="prefetch" href="/assets/index.html-AFWYFeTY.js" as="script"><link rel="prefetch" href="/assets/index.html-DlrkN0XZ.js" as="script"><link rel="prefetch" href="/assets/index.html-Cb-sPtFS.js" as="script"><link rel="prefetch" href="/assets/index.html-DPF-EyUV.js" as="script"><link rel="prefetch" href="/assets/index.html-AqhAiBBF.js" as="script"><link rel="prefetch" href="/assets/index.html-DLZdHb6J.js" as="script"><link rel="prefetch" href="/assets/index.html-Cpr5viHS.js" as="script"><link rel="prefetch" href="/assets/index.html-BXxGxqK4.js" as="script"><link rel="prefetch" href="/assets/index.html-4asd-b47.js" as="script"><link rel="prefetch" href="/assets/index.html-ZITi3OK2.js" as="script"><link rel="prefetch" href="/assets/index.html-DJMKg_M6.js" as="script"><link rel="prefetch" href="/assets/index.html-Y__KWg8u.js" as="script"><link rel="prefetch" href="/assets/index.html--BIzY7gk.js" as="script"><link rel="prefetch" href="/assets/index.html-BRHXQqdq.js" as="script"><link rel="prefetch" href="/assets/index.html-C_2nkQ6B.js" as="script"><link rel="prefetch" href="/assets/index.html-R9oSKuoP.js" as="script"><link rel="prefetch" href="/assets/index.html-DY-KY6vi.js" as="script"><link rel="prefetch" href="/assets/index.html-BSndmKE7.js" as="script"><link rel="prefetch" href="/assets/index.html-BDmR_g70.js" as="script"><link rel="prefetch" href="/assets/index.html-CpeDyHcd.js" as="script"><link rel="prefetch" href="/assets/index.html-DV9WiiCS.js" as="script"><link rel="prefetch" href="/assets/index.html-DTceWJaH.js" as="script"><link rel="prefetch" href="/assets/index.html-2WOtvPq_.js" as="script"><link rel="prefetch" href="/assets/index.html-DCVozm3V.js" as="script"><link rel="prefetch" href="/assets/index.html-vKhQGG0S.js" as="script"><link rel="prefetch" href="/assets/index.html-BlvUTCvM.js" as="script"><link rel="prefetch" href="/assets/index.html-CTuZCChr.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-S0Hns9UN.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CSFeuThZ.js" as="script"><link rel="prefetch" href="/assets/artplayer-DnixxQIM.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-DaNo29Rn.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-nRkOMaNb.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-DQalTb-T.js" as="script"><link rel="prefetch" href="/assets/giscus-D-fkNSKD.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-GXRgw7eJ.js" as="script">
   </head>
   <body>
     <div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container no-sidebar"><!--[--><header id="navbar" class="vp-navbar"><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><!--[--><a class="route-link vp-brand" href="/"><img class="vp-nav-logo" src="/img/Headshot.jpg" alt><!----><span class="vp-site-name hide-in-pad">HalfSweet&#39;s Blog</span></a><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-center"><!--[--><!----><!--]--><!--[--><nav class="vp-nav-links"><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/posts/" aria-label="文章"><span class="font-icon icon app" style=""></span>文章<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/about/" aria-label="关于"><span class="font-icon icon user" style=""></span>关于<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/friends/" aria-label="友链"><span class="font-icon icon link" style=""></span>友链<!----></a></div></nav><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-end"><!--[--><!----><!--]--><!--[--><!----><div class="nav-item vp-repo"><a class="vp-repo-link" href="https://github.com/HalfSweet/Blog" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><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"></path></svg></a></div><div class="nav-item hide-in-mobile"><button type="button" id="appearance-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" style="display:block;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" style="display:none;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" style="display:none;"><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"></path></svg></button></div><!----><!--]--><!--[--><!----><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar"><!--[--><!----><!--]--><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></li><li><section class="vp-sidebar-group"><p class="vp-sidebar-header"><span class="font-icon icon book" style=""></span><span class="vp-sidebar-title">文章</span><!----></p><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-Clion/" aria-label="使用 Clion 来进行 Air32 的开发"><!---->使用 Clion 来进行 Air32 的开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-MCO/" aria-label="Air32 的 HAL 改造——适配 MCO"><!---->Air32 的 HAL 改造——适配 MCO<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/HelloWorld/" aria-label="HelloWorld"><!---->HelloWorld<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/STC_CoreMark/" aria-label="不服来跑个分?将 CoreMark 移植到 STC 上试试"><!---->不服来跑个分?将 CoreMark 移植到 STC 上试试<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="为什么我对第三代郊狼失望"><!---->为什么我对第三代郊狼失望<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-HighFreq/" aria-label="发挥全部实力!Air32 在 HAL 库环境下运行最高主频"><!---->发挥全部实力!Air32 在 HAL 库环境下运行最高主频<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/embedded_fmtlib/" aria-label="在嵌入式设备上使用fmtlib"><!---->在嵌入式设备上使用fmtlib<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/conda_novelai/" aria-label="基于conda进行手动配置novelAI"><!---->基于conda进行手动配置novelAI<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="对《为什么我对第三代郊狼失望》一文的澄清说明"><!---->对《为什么我对第三代郊狼失望》一文的澄清说明<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Empedded-CI-CD/" aria-label="嵌入式中的 CI/CD"><!---->嵌入式中的 CI/CD<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/MDK6-Dev/" aria-label="更现代的开发方式?使用 MDK6 进行开发"><!---->更现代的开发方式?使用 MDK6 进行开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/SEGGER-RTT/" aria-label="更高效的日志查看方式——使用SEGGER-RTT"><!---->更高效的日志查看方式——使用SEGGER-RTT<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/EpdTraps1/" aria-label="墨水屏的坑——7.5寸墨水屏刷新为何出现条纹"><!---->墨水屏的坑——7.5寸墨水屏刷新为何出现条纹<!----></a></li></ul></section></li></ul><!--[--><!----><!--]--></aside><!--[--><div class="vp-page vp-blog"><div class="blog-page-wrapper"><main id="main-content" class="vp-blog-main"><ul class="vp-article-type-wrapper"><li class="vp-article-type"><a class="route-link" href="/article/">全部</a></li><li class="vp-article-type active"><a class="route-link" href="/star/">星标</a></li></ul><div id="article-list" class="vp-article-list" role="feed"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="empty-icon" viewBox="0 0 1024 1024"><defs><linearGradient id="f" x1="512.342" y1="2266.13" x2="512.342" y2="666.063" gradientUnits="userSpaceOnUse"><stop offset=".919" stop-color="#e6e6e6" stop-opacity="0"/><stop offset="1" stop-color="#e6e6e6"/></linearGradient><linearGradient id="g" x1="528.912" y1="774" x2="388.088" y2="612" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#ccc"/><stop offset="1" stop-color="#e6e6e6" stop-opacity="0"/></linearGradient><linearGradient id="h" x1="213.219" y1="721.704" x2="251.313" y2="683.61" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#d7d7d7"/><stop offset=".485" stop-color="#fafafa"/><stop offset="1" stop-color="#fafafa"/></linearGradient><linearGradient id="i" x1="724.813" y1="821.718" x2="768.656" y2="777.876" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#ccc"/><stop offset="1" stop-color="#fafafa"/></linearGradient><linearGradient id="a" x1="513.493" y1="714.594" x2="471.007" y2="544.188" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#999"/><stop offset="1" stop-color="#ccc"/></linearGradient><linearGradient id="b" x1="440.156" y1="564.031" x2="508.594" y2="495.594" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#ccc"/><stop offset="1" stop-color="#f0f0f0"/></linearGradient><linearGradient id="l" x1="660.988" y1="754.156" x2="608.637" y2="544.188" xlink:href="#a"/><linearGradient id="m" x1="479.188" y1="774.219" x2="649.782" y2="603.625" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#b3b3b3"/><stop offset="1" stop-color="#e6e6e6"/></linearGradient><linearGradient id="n" x1="447.121" y1="774.219" x2="394.661" y2="563.813" xlink:href="#a"/><linearGradient id="o" x1="494" y1="597" x2="628" y2="463" xlink:href="#b"/><linearGradient id="d" x1="610.485" y1="604.938" x2="697.298" y2="518.125" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#ccc"/><stop offset="1" stop-color="#fff"/></linearGradient><linearGradient id="p" x1="457.438" y1="619.25" x2="353.469" y2="619.25" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#e6e6e6" stop-opacity="0"/><stop offset="1" stop-color="#e6e6e6"/></linearGradient><linearGradient id="q" x1="542.734" y1="674.25" x2="615.672" y2="601.313" xlink:href="#b"/><linearGradient id="c" x1="627.933" y1="358.938" x2="685.192" y2="422.531" gradientUnits="userSpaceOnUse"><stop offset=".4" stop-color="#e6e6e6" stop-opacity=".4"/><stop offset=".443" stop-color="#fff"/><stop offset=".6" stop-color="#ccc"/></linearGradient><linearGradient id="r" x1="618.547" y1="422.531" x2="681.547" y2="359.531" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#e6e6e6"/><stop offset=".761" stop-color="#fff"/><stop offset="1" stop-color="#f0f0f0"/></linearGradient><linearGradient id="s" x1="625" y1="441.5" x2="697" y2="369.5" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#ccc"/><stop offset=".761" stop-color="#fff"/><stop offset="1" stop-color="#f0f0f0"/></linearGradient><linearGradient id="t" x1="627.681" y1="361.438" x2="692.257" y2="433.156" xlink:href="#c"/><linearGradient id="u" x1="561.414" y1="735.438" x2="573.149" y2="688.375" xlink:href="#d"/><linearGradient id="v" x1="405" y1="485.875" x2="440" y2="450.875" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#ccc"/><stop offset="1" stop-color="#fff" stop-opacity=".702"/></linearGradient><linearGradient id="w" x1="404.61" y1="486.906" x2="441.86" y2="449.656" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#ccc"/><stop offset=".495" stop-color="#ccc" stop-opacity=".702"/><stop offset=".498" stop-color="#ccc"/><stop offset="1" stop-color="#fff" stop-opacity=".302"/></linearGradient><radialGradient id="e" cx="329.297" cy="647.578" r="8.172" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#fafafa"/><stop offset="1.2" stop-color="#e6e6e6"/></radialGradient><radialGradient id="j" cx="802.297" cy="673.578" r="8.172" xlink:href="#e"/><radialGradient id="k" cx="774.844" cy="642.75" r="5.531" xlink:href="#e"/></defs><path d="M512.33 666.07c441.828 0 800 358.18 800 800.03s-358.172 800.02-800 800.02-800-358.18-800-800.02 358.17-800.03 800-800.03z" style="fill:url(#f);fill-rule:evenodd"/><path d="m272 694 242-82 131 119-188 43z" style="fill:url(#g);fill-rule:evenodd"/><path fill="#b3b3b3" fill-rule="evenodd" d="M232.391 723.534a2.4 2.4 0 0 1 2.4 2.4v17.725a2.4 2.4 0 0 1-4.8 0v-17.725a2.4 2.4 0 0 1 2.4-2.4z"/><path d="M232.255 676.559c10.33 0 17.067 15.408 18.7 28.493 1.619 12.942-2.372 23.694-18.7 23.694-16.878 0-20.213-10.733-18.7-23.694 1.633-14.061 8.37-28.493 18.7-28.493z" style="fill:url(#h);fill-rule:evenodd"/><path fill="#b3b3b3" fill-rule="evenodd" d="M745.853 826h.938a2.4 2.4 0 0 1 2.4 2.4v22.238a2.4 2.4 0 0 1-2.4 2.4h-.938a2.4 2.4 0 0 1-2.4-2.4V828.4a2.4 2.4 0 0 1 2.4-2.4z"/><path d="M746.727 830.3c-19.438 0-23.278-9.326-21.541-20.59a34.467 34.467 0 0 1 3.289-10.369 16.628 16.628 0 0 1 0-9.112c2.889-12.327 12.059-20.911 18.356-20.911 6.56 0 15.468 9.1 18.356 20.911a14.589 14.589 0 0 1-.335 9.217 34.36 34.36 0 0 1 3.419 10.264c1.861 11.243-2.735 20.59-21.544 20.59z" style="fill:url(#i);fill-rule:evenodd"/><path fill="#ccc" fill-rule="evenodd" d="M328.841 654.562a6.571 6.571 0 0 0-5.2-5.027q-4.107-.952-.034-2.045a6.571 6.571 0 0 0 5.027-5.2q.952-4.109 2.045-.035a6.569 6.569 0 0 0 5.2 5.027q4.109.954.035 2.045a6.569 6.569 0 0 0-5.027 5.2q-.955 4.108-2.046.035z"/><path d="M328.383 653.73a6.567 6.567 0 0 0-5.2-5.027q-4.109-.954-.035-2.045a6.568 6.568 0 0 0 5.027-5.2q.954-4.107 2.046-.034a6.568 6.568 0 0 0 5.2 5.027q4.107.952.035 2.045a6.568 6.568 0 0 0-5.027 5.2q-.954 4.104-2.046.034z" style="fill:url(#e);fill-rule:evenodd"/><path fill="#ccc" fill-rule="evenodd" d="M801.841 680.562a6.571 6.571 0 0 0-5.2-5.027q-4.107-.952-.034-2.045a6.571 6.571 0 0 0 5.027-5.2q.952-4.109 2.045-.035a6.569 6.569 0 0 0 5.2 5.027q4.108.954.035 2.045a6.569 6.569 0 0 0-5.027 5.2q-.955 4.108-2.046.035z"/><path d="M801.383 679.73a6.567 6.567 0 0 0-5.2-5.027q-4.108-.954-.035-2.045a6.568 6.568 0 0 0 5.027-5.2q.954-4.107 2.046-.034a6.568 6.568 0 0 0 5.2 5.027q4.107.952.035 2.045a6.568 6.568 0 0 0-5.027 5.2q-.954 4.104-2.046.034z" style="fill:url(#j);fill-rule:evenodd"/><path d="M774.21 646.9a4.446 4.446 0 0 0-3.517-3.4q-2.778-.643-.023-1.383a4.443 4.443 0 0 0 3.4-3.517q.645-2.778 1.383-.023a4.443 4.443 0 0 0 3.517 3.4q2.778.645.023 1.383a4.446 4.446 0 0 0-3.4 3.517q-.645 2.78-1.383.023z" style="fill:url(#k);fill-rule:evenodd"/><path d="m385.6 714.6.158-150.658L598.9 544.174l-.158 150.658z" style="fill:url(#a);fill-rule:evenodd"/><path d="m385.474 564.031 214.763-19.383-36.171-49.067-215.559 17.634z" style="fill:url(#b);fill-rule:evenodd"/><path d="m598.744 694.832.156-150.658 71.975 59.319-.158 150.658z" style="fill:url(#l);fill-rule:evenodd"/><path d="m457.064 774.209.158-150.658 214.691-19.914-.158 150.663z" style="fill:url(#m);fill-rule:evenodd"/><path d="m384.566 714.459.158-150.659 72.5 59.75-.158 150.658z" style="fill:url(#n);fill-rule:evenodd"/><path d="M494 640s75.357-58.4 42-83-38.887 1.663-37 14 53.847 12.465 54-26c.2-49.979 75-125 75-125" style="fill:none;stroke-width:3px;stroke-dasharray:12 6;stroke:url(#o);fill-rule:evenodd"/><path d="m670.275 604.939-72.041-59.9 38.476-26.909 72.86 58.159z" style="fill:url(#d);fill-rule:evenodd"/><path d="m425.5 674.383-72.042-59.9 31.109-50.347 72.86 58.16z" style="fill:url(#p);fill-rule:evenodd"/><path d="m487.918 674.235 214.482-22.57-31.1-50.346-215.309 20.833z" style="fill:url(#q);fill-rule:evenodd"/><path style="fill:#fff;fill-rule:evenodd" d="m697.363 358.927-69.58 62.511-12.035 1.082z"/><path d="m697.363 358.927-69.58 62.511-12.035 1.082z" style="fill:url(#c);fill-rule:evenodd"/><path d="M615.748 422.52 604 413l92.089-53.46" style="fill:url(#r);fill-rule:evenodd"/><path d="m625 432 12 18 60-89" style="fill:url(#s);fill-rule:evenodd"/><path d="m626.98 421.335-2.471 11.828 70.918-71.735" style="fill:#fff;fill-rule:evenodd"/><path d="m626.98 421.335-2.471 11.828 70.918-71.735" style="fill:url(#t);fill-rule:evenodd"/><path d="m494.814 735.44 21.293-2.1v-6.613l-13.4 1.319v-6.965l10.977-1.08v-6.613l-10.977 1.08v-6.084l12.917-1.27v-6.525l-20.808 2.047v32.8zM521 732.863l7.054-.694v-11.241a106.361 106.361 0 0 0-1.014-11.274l.176-.017 2.645 7.586 4.453 11.553 4.32-.425 4.408-12.424 2.733-8.116.177-.018a111.811 111.811 0 0 0-1.014 11.474v11.241l7.185-.707V697l-8.552.841-5.025 14.646c-.618 1.956-1.147 4.08-1.808 6.173l-.22.022c-.617-1.968-1.146-3.987-1.808-5.818l-5.2-13.639-8.508.837v32.8zm37.213-3.661 7.891-.776v-10.889l3.835-.377c6.922-.681 12.961-4.714 12.961-12.517 0-8.111-5.951-10.082-13.181-9.371l-11.504 1.128v32.8zm7.891-17.881v-9.478l3.218-.316c3.792-.373 5.908.565 5.908 3.871 0 3.218-1.852 5.208-5.687 5.585zM594 725.682l7.891-.777v-26.274l8.905-.876v-6.524l-25.657 2.524v6.524l8.861-.871v26.274zm27.991-2.754 7.847-.772v-11.594l9.919-22.18-8.244.811-2.733 7.542c-.925 2.56-1.807 4.939-2.733 7.587l-.176.018c-.926-2.466-1.764-4.676-2.645-7.058l-2.734-7-8.375.824 9.874 20.233v11.594z" style="fill:url(#u);fill-rule:evenodd"/><path fill="#ccc" fill-rule="evenodd" d="M408.938 457.309a17.5 17.5 0 0 0 21.374 26.725 17.5 17.5 0 1 1-16.306-30.955 17.442 17.442 0 0 0-5.068 4.23z"/><circle cx="422.5" cy="468.375" r="17.5" style="fill:url(#v)"/><path fill="#ccc" fill-rule="evenodd" d="M391.76 451.5c-2.358 4.419 9.827 15.52 27.215 24.8 15.131 8.071 29.212 12.1 34.166 10.093-4.191 2.772-18.943-1.24-34.86-9.73-17.388-9.275-29.573-20.376-27.215-24.8a2.96 2.96 0 0 1 1.585-1.3 2.606 2.606 0 0 0-.891.937z"/><path d="M418.975 476.29c-17.388-9.275-29.573-20.376-27.215-24.8s18.363-.484 35.751 8.791 29.572 20.376 27.215 24.8-18.364.483-35.751-8.791zm31.634 5.732c1.824-3.42-8.789-12.642-23.7-20.6s-28.486-11.633-30.31-8.213 8.789 12.642 23.7 20.6 28.486 11.633 30.31 8.213zm-36.645-29.008-2.775 1.452.032 1.751 28.637 14.183.266-4.559z" style="fill:url(#w);fill-rule:evenodd"/><g class="people"><path style="fill:#f8cfad;fill-rule:evenodd" d="m612.131 676.5 1.362 3.532 3.255-2.324-1.361-3.532zM629.131 665.5l1.362 3.532 3.255-2.324-1.361-3.532z"/><path style="fill:#141a33;fill-rule:evenodd" d="m617.764 678.184-3.162-.078a11.028 11.028 0 0 0-1.034 3.454c-.258 2.006-1.177 5-.449 5.367 1.5 2.659 4.118-.215 4.118-.215s2.187-2.848 1.925-5.265c-.106-.973-1.181-1.869-1.398-3.263zM633.781 665.855l3.019.945a11.008 11.008 0 0 1-.137 3.6c-.4 1.981-.179 4.166-.986 4.277-2.283 2.03-3.827-1.533-3.827-1.533s-1.473-2.456-.444-4.659c.412-.88 1.718-1.385 2.375-2.63z"/><path style="fill:#f0c5a8;fill-rule:evenodd" d="M599.935 592.534s10.293 9.761 11.95 7.564 3.536-3.463-6.758-13.65z"/><path style="fill:#f8cfad;fill-rule:evenodd" d="M611.3 596.361c1.674-1.105 11.5 7.048 14.5 11.774s-12.705-4.36-14.632-6.776-1.54-3.893.132-4.998z"/><path style="fill:#f8cfad;fill-rule:evenodd" d="M621.815 607.988s1.809 2.549 2.433 1.756 2.475-1.064 2.449-1.138.1-.819 1.288-2.331-3.8-3.632-5.81-.494a2.556 2.556 0 0 0-.36 2.207z"/><path fill="#232c57" fill-rule="evenodd" d="M598 617s14.968-5.618 17 7a150.235 150.235 0 0 1 2 22s12.666 11.836 16 19c0 0-4.753-1.629-4 2 0 0-18.132-14.647-19-19s-9.148-18.716-12-31z"/><path d="M589 622s14.968-5.618 17 7a150.235 150.235 0 0 1 2 22s4.666 17.836 8 25c0 0-4.753-1.629-4 2 0 0-10.132-20.647-11-25s-9.148-18.716-12-31z" style="fill:#292966;fill-rule:evenodd"/><path style="fill:#f0c5a8;fill-rule:evenodd" d="M585.626 597.7s-10.292 9.761-11.95 7.563-3.536-3.463 6.758-13.65z"/><path style="fill:#f8cfad;fill-rule:evenodd" d="M574.259 601.529c-1.675-1.105-11.5 7.049-14.5 11.774s12.7-4.36 14.631-6.775 1.543-3.894-.131-4.999z"/><path style="fill:#f0c5a8;fill-rule:evenodd" d="M591.715 577.752s-.606 1.681 1.48 3.716-3.615 5.307-4.645 2.85-.48-2.716-.48-2.716z"/><path style="fill:#f8cfad;fill-rule:evenodd" d="M583.527 574.123c-.839 1.043.491 3.873 1.453 5.449s2.749 2.833 3.364 2.428 4.088-2.657 4-4-.228-3.4-.228-3.4 2.562-1.641 2.154-2.916-2.916-.154-2.916-.154a15.853 15.853 0 0 0-.227-2.224c-.189-.929-6.887-1.445-7.827 2.6s.558 1.805.227 2.217z"/><path fill="#232c57" fill-rule="evenodd" d="M584.227 567.758c2.1-.885 7.2-3.684 10.125.318s.842 4.385.989 5.294-1.894 5.69-1.341 6.63-3.865.8-4.657-1.179-2.844-.539-2.227-1.224-1.3-4.456-2.916-2.154a9.252 9.252 0 0 0 .309-1.38c-.115.192.259-3.257-.673-1.32s-2.1 1.037-3.069.762-1.8-1.118-1.071-1.689c.023-.016 2.436-3.172 4.531-4.058z"/><path d="M589 585c-2.584-.47-10.055.362-13 13 0 0 1.9 3.349 5 4s6 21 6 21 24.016 11.06 27-3c-.07-13.826-8-21-8-21s5.829-3.2 5-6-8.016-10.153-11-10-6 0-6 0-2.416 2.47-5 2z" style="fill:#f6bb07;fill-rule:evenodd"/><path style="fill:#f8cfad;fill-rule:evenodd" d="M563.284 612.581s-.986 2.965-1.814 2.389-2.678-.3-2.675-.374-.333-.755-1.912-1.854 2.577-4.583 5.414-2.167a2.551 2.551 0 0 1 .987 2.006z"/></g></svg></div></main><aside class="vp-blog-info-wrapper"><div class="vp-blogger-info" vocab="https://schema.org/" typeof="Person"><div class="vp-blogger" style="cursor:pointer;" aria-label="个人介绍" data-balloon-pos="down" role="link"><img class="vp-blogger-avatar" src="/img/Headshot.jpg" property="image" alt="Blogger Avatar" loading="lazy"><div class="vp-blogger-name" property="name">HalfSweet</div><div class="vp-blogger-description">Try to create some value</div><meta property="url" content="/Catalogue/02.about.html"></div><div class="vp-blog-counts"><a class="route-link vp-blog-count" href="/article/"><div class="count">13</div><div>文章</div></a><a class="route-link vp-blog-count" href="/category/"><div class="count">5</div><div>分类</div></a><a class="route-link vp-blog-count" href="/tag/"><div class="count">28</div><div>标签</div></a><a class="route-link vp-blog-count" href="/timeline/"><div class="count">13</div><div>时间轴</div></a></div><div class="vp-social-medias"><a class="vp-social-media" href="mailto:HalfSweet@HalfSweet.cn" rel="noopener noreferrer" target="_blank" aria-label="Email" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon email-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#1384FF"/><path fill="#fff" d="M270.077 286.233H751.99c32.933 0 59.86 24.855 60.274 55.51l-301.023 157L210.217 341.88c.207-30.723 26.927-55.717 59.86-55.717zm-59.929 115.714-.276 277.756c0 30.931 27.134 56.2 60.205 56.2H751.99c33.14 0 60.274-25.269 60.274-56.2V401.81L518.283 551.492a15.88 15.88 0 0 1-14.43 0L210.148 401.947z"/></svg></a><a class="vp-social-media" href="https://github.com/HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="GitHub" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#171515"/><path fill="#fff" d="M509.423 146.442c-200.317 0-362.756 162.42-362.756 362.8 0 160.266 103.936 296.24 248.109 344.217 18.139 3.327 24.76-7.872 24.76-17.486 0-8.613-.313-31.427-.49-61.702-100.912 21.923-122.205-48.63-122.205-48.63-16.495-41.91-40.28-53.067-40.28-53.067-32.937-22.51 2.492-22.053 2.492-22.053 36.407 2.566 55.568 37.386 55.568 37.386 32.362 55.438 84.907 39.43 105.58 30.143 3.296-23.444 12.667-39.43 23.032-48.498-80.557-9.156-165.246-40.28-165.246-179.297 0-39.604 14.135-71.988 37.342-97.348-3.731-9.178-16.18-46.063 3.556-96.009 0 0 30.46-9.754 99.76 37.19 28.937-8.048 59.97-12.071 90.823-12.211 30.807.14 61.843 4.165 90.822 12.21 69.26-46.944 99.663-37.189 99.663-37.189 19.792 49.946 7.34 86.831 3.61 96.01 23.25 25.359 37.29 57.742 37.29 97.347 0 139.366-84.82 170.033-165.637 179.013 13.026 11.2 24.628 33.342 24.628 67.182 0 48.498-.445 87.627-.445 99.521 0 9.702 6.535 20.988 24.945 17.444 144.03-48.067 247.881-183.95 247.881-344.175 0-200.378-162.442-362.798-362.802-362.798z"/></svg></a><a class="vp-social-media" href="https://twitter.com/_HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="Twitter" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon twitter-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512"/><path fill="#FFF" d="m560 473 186-216h-44L540 445 411 257H262l195 284-195 226h44l171-198 136 198h149zM322 290h68l312 445h-68z"/></svg></a></div></div><div class="vp-blog-infos"><div class="vp-blog-type-switcher"><button type="button" class="vp-blog-type-button"><div class="icon-wrapper active" aria-label="文章" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="分类" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="标签" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="时间轴" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timeline-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timeline icon"><path d="M511.997 70.568c-243.797 0-441.429 197.633-441.429 441.435 0 243.797 197.632 441.429 441.43 441.429S953.431 755.8 953.431 512.002c0-243.796-197.637-441.434-441.435-441.434zm150.158 609.093-15.605 15.61c-8.621 8.615-22.596 8.615-31.215 0L472.197 552.126c-4.95-4.944-4.34-14.888-4.34-24.677V247.14c0-12.19 9.882-22.07 22.07-22.07h22.07c12.19 0 22.07 9.882 22.07 22.07v273.218l128.088 128.088c8.62 8.62 8.62 22.595 0 31.215zm0 0"></path></svg></div></button></div><div class="vp-star-article-wrapper"><div class="title"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg><span class="num">13</span>文章</div><hr><div class="vp-star-article-empty">星标 为空</div></div></div></aside></div></div><!--]--><footer class="vp-footer-wrapper"><div class="vp-footer">今天咕咕被欺负了吗</div><div class="vp-copyright">Copyright © 2024 HalfSweet </div></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div>
-    <script type="module" src="/assets/app-ClwIkahu.js" defer></script>
+    <script type="module" src="/assets/app-Flo2gZk8.js" defer></script>
   </body>
 </html>
diff --git a/tag/air001/index.html b/tag/air001/index.html
index f38f184..fb00bfa 100644
--- a/tag/air001/index.html
+++ b/tag/air001/index.html
@@ -29,15 +29,15 @@
       }
     </script>
     <meta property="og:url" content="https://halfsweet.cn/tag/air001/"><meta property="og:site_name" content="HalfSweet's Blog"><meta property="og:title" content="标签: Air001"><meta property="og:type" content="website"><meta property="og:locale" content="zh-CN"><meta property="article:author" content="HalfSweet"><script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","name":"标签: Air001"}</script><title>标签: Air001 | HalfSweet's Blog</title><meta name="description" content="半糖的博客">
-    <link rel="preload" href="/assets/style-BDwnt-CL.css" as="style"><link rel="stylesheet" href="/assets/style-BDwnt-CL.css">
-    <link rel="modulepreload" href="/assets/app-ClwIkahu.js"><link rel="modulepreload" href="/assets/index.html-BlsdgZAc.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
-    <link rel="prefetch" href="/assets/index.html-BjG6C5xb.js" as="script"><link rel="prefetch" href="/assets/index.html-6gNmrYKw.js" as="script"><link rel="prefetch" href="/assets/index.html-W8DPbcPd.js" as="script"><link rel="prefetch" href="/assets/index.html-75fD8c0W.js" as="script"><link rel="prefetch" href="/assets/index.html-CufQKtZU.js" as="script"><link rel="prefetch" href="/assets/index.html-Bqe7scks.js" as="script"><link rel="prefetch" href="/assets/index.html-B5-KeVPb.js" as="script"><link rel="prefetch" href="/assets/index.html-C7FigsQF.js" as="script"><link rel="prefetch" href="/assets/index.html-DtEE6E7f.js" as="script"><link rel="prefetch" href="/assets/index.html-0oPRY09N.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNCX4dz.js" as="script"><link rel="prefetch" href="/assets/index.html-XtQdJJI8.js" as="script"><link rel="prefetch" href="/assets/index.html-CnJ0E6b5.js" as="script"><link rel="prefetch" href="/assets/index.html-CFhDcrZp.js" as="script"><link rel="prefetch" href="/assets/index.html-Bd1PkxNi.js" as="script"><link rel="prefetch" href="/assets/index.html-DJ-_mZ9n.js" as="script"><link rel="prefetch" href="/assets/index.html-jFzM8lrm.js" as="script"><link rel="prefetch" href="/assets/404.html-VMfaDGRx.js" as="script"><link rel="prefetch" href="/assets/index.html-BaR2aqhq.js" as="script"><link rel="prefetch" href="/assets/index.html-DO2xY2T5.js" as="script"><link rel="prefetch" href="/assets/index.html-BEwHBlkc.js" as="script"><link rel="prefetch" href="/assets/index.html-DZIt3Q5g.js" as="script"><link rel="prefetch" href="/assets/index.html-Dd9JrssL.js" as="script"><link rel="prefetch" href="/assets/index.html-BjPOIJdK.js" as="script"><link rel="prefetch" href="/assets/index.html-CmtlWOBH.js" as="script"><link rel="prefetch" href="/assets/index.html-CR-9qG2Y.js" as="script"><link rel="prefetch" href="/assets/index.html-CwWDCYUS.js" as="script"><link rel="prefetch" href="/assets/index.html-CptFZpi0.js" as="script"><link rel="prefetch" href="/assets/index.html-p6Y7Jm3n.js" as="script"><link rel="prefetch" href="/assets/index.html-CIen8cvO.js" as="script"><link rel="prefetch" href="/assets/index.html-BKUs44hv.js" as="script"><link rel="prefetch" href="/assets/index.html-D0wSSTgQ.js" as="script"><link rel="prefetch" href="/assets/index.html-DqsCIdcm.js" as="script"><link rel="prefetch" href="/assets/index.html-kUwAIzkD.js" as="script"><link rel="prefetch" href="/assets/index.html-BqgjNdmg.js" as="script"><link rel="prefetch" href="/assets/index.html-DIaDLRqn.js" as="script"><link rel="prefetch" href="/assets/index.html-DhcL23aG.js" as="script"><link rel="prefetch" href="/assets/index.html-Bk9EBjUw.js" as="script"><link rel="prefetch" href="/assets/index.html-C0X-QC5U.js" as="script"><link rel="prefetch" href="/assets/index.html-ZwD6xCF4.js" as="script"><link rel="prefetch" href="/assets/index.html-BdqadbH8.js" as="script"><link rel="prefetch" href="/assets/index.html-D7Uf3Wbw.js" as="script"><link rel="prefetch" href="/assets/index.html-CsuDpoYK.js" as="script"><link rel="prefetch" href="/assets/index.html-Dc2bdBF2.js" as="script"><link rel="prefetch" href="/assets/index.html-BzgkemtD.js" as="script"><link rel="prefetch" href="/assets/index.html-7uHHiaZx.js" as="script"><link rel="prefetch" href="/assets/index.html-TGoZudvZ.js" as="script"><link rel="prefetch" href="/assets/index.html-DbCWijUV.js" as="script"><link rel="prefetch" href="/assets/index.html-DOCRL60a.js" as="script"><link rel="prefetch" href="/assets/index.html-B8qYb7wb.js" as="script"><link rel="prefetch" href="/assets/index.html-CpBdG6tv.js" as="script"><link rel="prefetch" href="/assets/index.html-DdE0h7xo.js" as="script"><link rel="prefetch" href="/assets/index.html-Du74cC6X.js" as="script"><link rel="prefetch" href="/assets/index.html-CTp2Oa39.js" as="script"><link rel="prefetch" href="/assets/index.html-Bz73p56D.js" as="script"><link rel="prefetch" href="/assets/index.html-BktjQtFB.js" as="script"><link rel="prefetch" href="/assets/index.html-DPl--Ppt.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-BF52VcER.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CgYxLcm_.js" as="script"><link rel="prefetch" href="/assets/artplayer-CHAGXahu.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-BOVnG7as.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-CbA2In8H.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-Do1ld-lW.js" as="script"><link rel="prefetch" href="/assets/giscus-7BMGhbDA.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-SzV8tJDW.js" as="script">
+    <link rel="preload" href="/assets/style-7DTFFHvh.css" as="style"><link rel="stylesheet" href="/assets/style-7DTFFHvh.css">
+    <link rel="modulepreload" href="/assets/app-Flo2gZk8.js"><link rel="modulepreload" href="/assets/index.html-2WOtvPq_.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
+    <link rel="prefetch" href="/assets/index.html-BhtLl4n3.js" as="script"><link rel="prefetch" href="/assets/index.html-C6yte3a0.js" as="script"><link rel="prefetch" href="/assets/index.html-R-cHHIas.js" as="script"><link rel="prefetch" href="/assets/index.html-CPUAg15t.js" as="script"><link rel="prefetch" href="/assets/index.html-BjdnOCC5.js" as="script"><link rel="prefetch" href="/assets/index.html-7Xyk7CrU.js" as="script"><link rel="prefetch" href="/assets/index.html-BNW3YRR3.js" as="script"><link rel="prefetch" href="/assets/index.html-jClrTNl3.js" as="script"><link rel="prefetch" href="/assets/index.html-tFfBEjXi.js" as="script"><link rel="prefetch" href="/assets/index.html-DgPmeCdQ.js" as="script"><link rel="prefetch" href="/assets/index.html-CxRigd-R.js" as="script"><link rel="prefetch" href="/assets/index.html-BWPjJqfa.js" as="script"><link rel="prefetch" href="/assets/index.html-DzG2EJXJ.js" as="script"><link rel="prefetch" href="/assets/index.html-B45efyIG.js" as="script"><link rel="prefetch" href="/assets/index.html-D_Px6PD2.js" as="script"><link rel="prefetch" href="/assets/index.html-U1Oe9QlK.js" as="script"><link rel="prefetch" href="/assets/index.html-fvB3i9PM.js" as="script"><link rel="prefetch" href="/assets/404.html-mkIobPP0.js" as="script"><link rel="prefetch" href="/assets/index.html-DGqb01LU.js" as="script"><link rel="prefetch" href="/assets/index.html-GZfFX8ok.js" as="script"><link rel="prefetch" href="/assets/index.html-vhaMR1PK.js" as="script"><link rel="prefetch" href="/assets/index.html-CvSEeOlH.js" as="script"><link rel="prefetch" href="/assets/index.html-BmplSMWS.js" as="script"><link rel="prefetch" href="/assets/index.html-C2sDDxGY.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNwolvq.js" as="script"><link rel="prefetch" href="/assets/index.html-DhSSZBRU.js" as="script"><link rel="prefetch" href="/assets/index.html-DPcGNBru.js" as="script"><link rel="prefetch" href="/assets/index.html-BFJ0kKZP.js" as="script"><link rel="prefetch" href="/assets/index.html-CBW4olfB.js" as="script"><link rel="prefetch" href="/assets/index.html-CiBWk0Bg.js" as="script"><link rel="prefetch" href="/assets/index.html-AFWYFeTY.js" as="script"><link rel="prefetch" href="/assets/index.html-DlrkN0XZ.js" as="script"><link rel="prefetch" href="/assets/index.html-Cb-sPtFS.js" as="script"><link rel="prefetch" href="/assets/index.html-DPF-EyUV.js" as="script"><link rel="prefetch" href="/assets/index.html-AqhAiBBF.js" as="script"><link rel="prefetch" href="/assets/index.html-DLZdHb6J.js" as="script"><link rel="prefetch" href="/assets/index.html-Cpr5viHS.js" as="script"><link rel="prefetch" href="/assets/index.html-BXxGxqK4.js" as="script"><link rel="prefetch" href="/assets/index.html-4asd-b47.js" as="script"><link rel="prefetch" href="/assets/index.html-ZITi3OK2.js" as="script"><link rel="prefetch" href="/assets/index.html-DJMKg_M6.js" as="script"><link rel="prefetch" href="/assets/index.html-Y__KWg8u.js" as="script"><link rel="prefetch" href="/assets/index.html--BIzY7gk.js" as="script"><link rel="prefetch" href="/assets/index.html-BRHXQqdq.js" as="script"><link rel="prefetch" href="/assets/index.html-C_2nkQ6B.js" as="script"><link rel="prefetch" href="/assets/index.html-R9oSKuoP.js" as="script"><link rel="prefetch" href="/assets/index.html-DY-KY6vi.js" as="script"><link rel="prefetch" href="/assets/index.html-BSndmKE7.js" as="script"><link rel="prefetch" href="/assets/index.html-BDmR_g70.js" as="script"><link rel="prefetch" href="/assets/index.html-CpeDyHcd.js" as="script"><link rel="prefetch" href="/assets/index.html-DV9WiiCS.js" as="script"><link rel="prefetch" href="/assets/index.html-DTceWJaH.js" as="script"><link rel="prefetch" href="/assets/index.html-DCVozm3V.js" as="script"><link rel="prefetch" href="/assets/index.html-vKhQGG0S.js" as="script"><link rel="prefetch" href="/assets/index.html-BlvUTCvM.js" as="script"><link rel="prefetch" href="/assets/index.html-vIW8aJUJ.js" as="script"><link rel="prefetch" href="/assets/index.html-CTuZCChr.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-S0Hns9UN.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CSFeuThZ.js" as="script"><link rel="prefetch" href="/assets/artplayer-DnixxQIM.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-DaNo29Rn.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-nRkOMaNb.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-DQalTb-T.js" as="script"><link rel="prefetch" href="/assets/giscus-D-fkNSKD.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-GXRgw7eJ.js" as="script">
   </head>
   <body>
     <div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container no-sidebar"><!--[--><header id="navbar" class="vp-navbar"><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><!--[--><a class="route-link vp-brand" href="/"><img class="vp-nav-logo" src="/img/Headshot.jpg" alt><!----><span class="vp-site-name hide-in-pad">HalfSweet&#39;s Blog</span></a><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-center"><!--[--><!----><!--]--><!--[--><nav class="vp-nav-links"><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/posts/" aria-label="文章"><span class="font-icon icon app" style=""></span>文章<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/about/" aria-label="关于"><span class="font-icon icon user" style=""></span>关于<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/friends/" aria-label="友链"><span class="font-icon icon link" style=""></span>友链<!----></a></div></nav><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-end"><!--[--><!----><!--]--><!--[--><!----><div class="nav-item vp-repo"><a class="vp-repo-link" href="https://github.com/HalfSweet/Blog" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><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"></path></svg></a></div><div class="nav-item hide-in-mobile"><button type="button" id="appearance-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" style="display:block;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" style="display:none;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" style="display:none;"><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"></path></svg></button></div><!----><!--]--><!--[--><!----><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar"><!--[--><!----><!--]--><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></li><li><section class="vp-sidebar-group"><p class="vp-sidebar-header"><span class="font-icon icon book" style=""></span><span class="vp-sidebar-title">文章</span><!----></p><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-Clion/" aria-label="使用 Clion 来进行 Air32 的开发"><!---->使用 Clion 来进行 Air32 的开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-MCO/" aria-label="Air32 的 HAL 改造——适配 MCO"><!---->Air32 的 HAL 改造——适配 MCO<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/HelloWorld/" aria-label="HelloWorld"><!---->HelloWorld<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/STC_CoreMark/" aria-label="不服来跑个分?将 CoreMark 移植到 STC 上试试"><!---->不服来跑个分?将 CoreMark 移植到 STC 上试试<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="为什么我对第三代郊狼失望"><!---->为什么我对第三代郊狼失望<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-HighFreq/" aria-label="发挥全部实力!Air32 在 HAL 库环境下运行最高主频"><!---->发挥全部实力!Air32 在 HAL 库环境下运行最高主频<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/embedded_fmtlib/" aria-label="在嵌入式设备上使用fmtlib"><!---->在嵌入式设备上使用fmtlib<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/conda_novelai/" aria-label="基于conda进行手动配置novelAI"><!---->基于conda进行手动配置novelAI<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="对《为什么我对第三代郊狼失望》一文的澄清说明"><!---->对《为什么我对第三代郊狼失望》一文的澄清说明<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Empedded-CI-CD/" aria-label="嵌入式中的 CI/CD"><!---->嵌入式中的 CI/CD<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/MDK6-Dev/" aria-label="更现代的开发方式?使用 MDK6 进行开发"><!---->更现代的开发方式?使用 MDK6 进行开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/SEGGER-RTT/" aria-label="更高效的日志查看方式——使用SEGGER-RTT"><!---->更高效的日志查看方式——使用SEGGER-RTT<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/EpdTraps1/" aria-label="墨水屏的坑——7.5寸墨水屏刷新为何出现条纹"><!---->墨水屏的坑——7.5寸墨水屏刷新为何出现条纹<!----></a></li></ul></section></li></ul><!--[--><!----><!--]--></aside><!--[--><div class="vp-page vp-blog"><div class="blog-page-wrapper"><main id="main-content" class="vp-blog-main"><ul class="tag-list-wrapper"><li class="tag tag8"><a class="route-link" href="/tag/%E5%90%88%E5%AE%99/">合宙<span class="tag-num">6</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/air32/">Air32<span class="tag-num">4</span></a></li><li class="tag tag8 active"><a class="route-link" href="/tag/air001/">Air001<span class="tag-num">3</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/%E5%B5%8C%E5%85%A5%E5%BC%8F/">嵌入式<span class="tag-num">2</span></a></li><li class="tag tag6"><a class="route-link" href="/tag/%E7%A2%8E%E7%A2%8E%E5%BF%B5/">碎碎念<span class="tag-num">2</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/%E9%83%8A%E7%8B%BC/">郊狼<span class="tag-num">2</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/mco/">MCO<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/helloworld/">HelloWorld<span class="tag-num">1</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/stc32/">STC32<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/stc8/">STC8<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/coremark/">CoreMark<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/clion/">Clion<span class="tag-num">1</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/%E8%B6%85%E9%A2%91/">超频<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/fmtlib/">fmtlib<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/esp8266/">ESP8266<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/esp32/">ESP32<span class="tag-num">1</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/arduino/">Arduino<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/platformio/">PlatformIO<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/esp-idf/">ESP-IDF<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/">人工智能<span class="tag-num">1</span></a></li><li class="tag tag1"><a class="route-link" href="/tag/novelai/">novelAI<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/conda/">conda<span class="tag-num">1</span></a></li><li class="tag tag7"><a class="route-link" href="/tag/%E5%A2%A8%E6%B0%B4%E5%B1%8F/">墨水屏<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/uc8179/">UC8179<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/depg0750rwu790f30/">DEPG0750RWU790F30<span class="tag-num">1</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/%E9%81%87%E5%88%B0%E7%9A%84%E5%9D%91/">遇到的坑<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/cicd/">CI/CD<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/%E6%97%A5%E5%BF%97/">日志<span class="tag-num">1</span></a></li></ul><div id="article-list" class="vp-article-list" role="feed"><div class="vp-article-wrapper"><article class="vp-article-item" vocab="https://schema.org/" typeof="Article"><!--[--><!--]--><!----><a class="route-link" href="/posts/Empedded-CI-CD/"><header class="vp-article-title"><!----><!----><span property="headline">嵌入式中的 CI/CD</span></header></a><div class="vp-article-excerpt"><p>对于传统的嵌入式开发来说,我们一般常用的IDE都是诸如Keil、IAR等。这些IDE在方便了我们的开发的同时,也存在很多问题,例如在之前Keil-MDK5是不能跨平台的,仅限在Windows平台运行,并且它的授权也是一个老大难的问题。这样我们在团队协作的时候往往就会遇到很多问题,无法像是互联网的开发那样有一套完整的CI/CD流程。但是MDK6的更新解决了这个问题,第一它是跨平台的,这样在Windows、Linux以及MacOS上都能运行;并且也支持了很多命令行的操作,避免了繁琐的GUI操作,这样也更有利于自动化脚本的编写。</p>
 </div><hr class="vp-article-hr"><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2024-01-07T12:30:00.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>大约 5 分钟</span><meta property="timeRequired" content="PT5M"></span><span class="page-category-info" aria-label="分类🌈" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg><!--[--><span class="page-category-item category8 clickable" role="navigation">单片机</span><!--]--><meta property="articleSection" content="单片机"></span><span class="page-tag-info" aria-label="标签🏷" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg><!--[--><span class="page-tag-item tag8 clickable" role="navigation">Air001</span><span class="page-tag-item tag8 clickable" role="navigation">合宙</span><span class="page-tag-item tag2 clickable" role="navigation">CI/CD</span><!--]--><meta property="keywords" content="Air001,合宙,CI/CD"></span></div></article></div><div class="vp-article-wrapper"><article class="vp-article-item" vocab="https://schema.org/" typeof="Article"><!--[--><!--]--><!----><a class="route-link" href="/posts/MDK6-Dev/"><header class="vp-article-title"><!----><!----><span property="headline">更现代的开发方式?使用 MDK6 进行开发</span></header></a><div class="vp-article-excerpt"><p>今日,在千呼万唤中,Arm 的 MDK6 桌面端终于出来了,本想作为第一批吃螃蟹的开发者,但是当时 Air32 和 Air001 的烧录均有问题,最后在 Arm 官方的支持下,终于可以正常使用了,那么现在我们就来尝试一下。</p>
 </div><hr class="vp-article-hr"><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2023-08-19T12:00:00.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>大约 2 分钟</span><meta property="timeRequired" content="PT2M"></span><span class="page-category-info" aria-label="分类🌈" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg><!--[--><span class="page-category-item category8 clickable" role="navigation">单片机</span><!--]--><meta property="articleSection" content="单片机"></span><span class="page-tag-info" aria-label="标签🏷" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg><!--[--><span class="page-tag-item tag8 clickable" role="navigation">Air001</span><span class="page-tag-item tag4 clickable" role="navigation">Air32</span><span class="page-tag-item tag8 clickable" role="navigation">合宙</span><!--]--><meta property="keywords" content="Air001,Air32,合宙"></span></div></article></div><div class="vp-article-wrapper"><article class="vp-article-item" vocab="https://schema.org/" typeof="Article"><!--[--><!--]--><!----><a class="route-link" href="/posts/SEGGER-RTT/"><header class="vp-article-title"><!----><!----><span property="headline">更高效的日志查看方式——使用SEGGER-RTT</span></header></a><div class="vp-article-excerpt"><p>在日常的开发中,我们免不了使用各种各样的日志打印方式,使用调试器固然好用,但是无法直接打印局部变量以及会打断整个运行状态。并且对于众多<code>Arduino</code>的用户来说,直接打印日志显然是更直观的做法。但是直接使用串口打印的话需要一定的资源,并且速度会稍慢,并且可能会占用一个串口,对于资源就不多的MCU,我们有没有更方便的方法呢?</p>
 </div><hr class="vp-article-hr"><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2023-05-06T14:48:05.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>大约 3 分钟</span><meta property="timeRequired" content="PT3M"></span><span class="page-category-info" aria-label="分类🌈" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg><!--[--><span class="page-category-item category8 clickable" role="navigation">单片机</span><!--]--><meta property="articleSection" content="单片机"></span><span class="page-tag-info" aria-label="标签🏷" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg><!--[--><span class="page-tag-item tag8 clickable" role="navigation">Air001</span><span class="page-tag-item tag8 clickable" role="navigation">合宙</span><span class="page-tag-item tag0 clickable" role="navigation">日志</span><!--]--><meta property="keywords" content="Air001,合宙,日志"></span></div></article></div><div class="vp-pagination"></div></div></main><aside class="vp-blog-info-wrapper"><div class="vp-blogger-info" vocab="https://schema.org/" typeof="Person"><div class="vp-blogger" style="cursor:pointer;" aria-label="个人介绍" data-balloon-pos="down" role="link"><img class="vp-blogger-avatar" src="/img/Headshot.jpg" property="image" alt="Blogger Avatar" loading="lazy"><div class="vp-blogger-name" property="name">HalfSweet</div><div class="vp-blogger-description">Try to create some value</div><meta property="url" content="/Catalogue/02.about.html"></div><div class="vp-blog-counts"><a class="route-link vp-blog-count" href="/article/"><div class="count">13</div><div>文章</div></a><a class="route-link vp-blog-count" href="/category/"><div class="count">5</div><div>分类</div></a><a class="route-link vp-blog-count" href="/tag/"><div class="count">28</div><div>标签</div></a><a class="route-link vp-blog-count" href="/timeline/"><div class="count">13</div><div>时间轴</div></a></div><div class="vp-social-medias"><a class="vp-social-media" href="mailto:HalfSweet@HalfSweet.cn" rel="noopener noreferrer" target="_blank" aria-label="Email" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon email-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#1384FF"/><path fill="#fff" d="M270.077 286.233H751.99c32.933 0 59.86 24.855 60.274 55.51l-301.023 157L210.217 341.88c.207-30.723 26.927-55.717 59.86-55.717zm-59.929 115.714-.276 277.756c0 30.931 27.134 56.2 60.205 56.2H751.99c33.14 0 60.274-25.269 60.274-56.2V401.81L518.283 551.492a15.88 15.88 0 0 1-14.43 0L210.148 401.947z"/></svg></a><a class="vp-social-media" href="https://github.com/HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="GitHub" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#171515"/><path fill="#fff" d="M509.423 146.442c-200.317 0-362.756 162.42-362.756 362.8 0 160.266 103.936 296.24 248.109 344.217 18.139 3.327 24.76-7.872 24.76-17.486 0-8.613-.313-31.427-.49-61.702-100.912 21.923-122.205-48.63-122.205-48.63-16.495-41.91-40.28-53.067-40.28-53.067-32.937-22.51 2.492-22.053 2.492-22.053 36.407 2.566 55.568 37.386 55.568 37.386 32.362 55.438 84.907 39.43 105.58 30.143 3.296-23.444 12.667-39.43 23.032-48.498-80.557-9.156-165.246-40.28-165.246-179.297 0-39.604 14.135-71.988 37.342-97.348-3.731-9.178-16.18-46.063 3.556-96.009 0 0 30.46-9.754 99.76 37.19 28.937-8.048 59.97-12.071 90.823-12.211 30.807.14 61.843 4.165 90.822 12.21 69.26-46.944 99.663-37.189 99.663-37.189 19.792 49.946 7.34 86.831 3.61 96.01 23.25 25.359 37.29 57.742 37.29 97.347 0 139.366-84.82 170.033-165.637 179.013 13.026 11.2 24.628 33.342 24.628 67.182 0 48.498-.445 87.627-.445 99.521 0 9.702 6.535 20.988 24.945 17.444 144.03-48.067 247.881-183.95 247.881-344.175 0-200.378-162.442-362.798-362.802-362.798z"/></svg></a><a class="vp-social-media" href="https://twitter.com/_HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="Twitter" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon twitter-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512"/><path fill="#FFF" d="m560 473 186-216h-44L540 445 411 257H262l195 284-195 226h44l171-198 136 198h149zM322 290h68l312 445h-68z"/></svg></a></div></div><div class="vp-blog-infos"><div class="vp-blog-type-switcher"><button type="button" class="vp-blog-type-button"><div class="icon-wrapper active" aria-label="文章" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="分类" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="标签" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="时间轴" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timeline-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timeline icon"><path d="M511.997 70.568c-243.797 0-441.429 197.633-441.429 441.435 0 243.797 197.632 441.429 441.43 441.429S953.431 755.8 953.431 512.002c0-243.796-197.637-441.434-441.435-441.434zm150.158 609.093-15.605 15.61c-8.621 8.615-22.596 8.615-31.215 0L472.197 552.126c-4.95-4.944-4.34-14.888-4.34-24.677V247.14c0-12.19 9.882-22.07 22.07-22.07h22.07c12.19 0 22.07 9.882 22.07 22.07v273.218l128.088 128.088c8.62 8.62 8.62 22.595 0 31.215zm0 0"></path></svg></div></button></div><div class="vp-star-article-wrapper"><div class="title"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg><span class="num">13</span>文章</div><hr><div class="vp-star-article-empty">星标 为空</div></div></div></aside></div></div><!--]--><footer class="vp-footer-wrapper"><div class="vp-footer">今天咕咕被欺负了吗</div><div class="vp-copyright">Copyright © 2024 HalfSweet </div></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div>
-    <script type="module" src="/assets/app-ClwIkahu.js" defer></script>
+    <script type="module" src="/assets/app-Flo2gZk8.js" defer></script>
   </body>
 </html>
diff --git a/tag/air32/index.html b/tag/air32/index.html
index aad2b26..4acc78f 100644
--- a/tag/air32/index.html
+++ b/tag/air32/index.html
@@ -29,9 +29,9 @@
       }
     </script>
     <meta property="og:url" content="https://halfsweet.cn/tag/air32/"><meta property="og:site_name" content="HalfSweet's Blog"><meta property="og:title" content="标签: Air32"><meta property="og:type" content="website"><meta property="og:locale" content="zh-CN"><meta property="article:author" content="HalfSweet"><script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","name":"标签: Air32"}</script><title>标签: Air32 | HalfSweet's Blog</title><meta name="description" content="半糖的博客">
-    <link rel="preload" href="/assets/style-BDwnt-CL.css" as="style"><link rel="stylesheet" href="/assets/style-BDwnt-CL.css">
-    <link rel="modulepreload" href="/assets/app-ClwIkahu.js"><link rel="modulepreload" href="/assets/index.html-CptFZpi0.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
-    <link rel="prefetch" href="/assets/index.html-BjG6C5xb.js" as="script"><link rel="prefetch" href="/assets/index.html-6gNmrYKw.js" as="script"><link rel="prefetch" href="/assets/index.html-W8DPbcPd.js" as="script"><link rel="prefetch" href="/assets/index.html-75fD8c0W.js" as="script"><link rel="prefetch" href="/assets/index.html-CufQKtZU.js" as="script"><link rel="prefetch" href="/assets/index.html-Bqe7scks.js" as="script"><link rel="prefetch" href="/assets/index.html-B5-KeVPb.js" as="script"><link rel="prefetch" href="/assets/index.html-C7FigsQF.js" as="script"><link rel="prefetch" href="/assets/index.html-DtEE6E7f.js" as="script"><link rel="prefetch" href="/assets/index.html-0oPRY09N.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNCX4dz.js" as="script"><link rel="prefetch" href="/assets/index.html-XtQdJJI8.js" as="script"><link rel="prefetch" href="/assets/index.html-CnJ0E6b5.js" as="script"><link rel="prefetch" href="/assets/index.html-CFhDcrZp.js" as="script"><link rel="prefetch" href="/assets/index.html-Bd1PkxNi.js" as="script"><link rel="prefetch" href="/assets/index.html-DJ-_mZ9n.js" as="script"><link rel="prefetch" href="/assets/index.html-jFzM8lrm.js" as="script"><link rel="prefetch" href="/assets/404.html-VMfaDGRx.js" as="script"><link rel="prefetch" href="/assets/index.html-BaR2aqhq.js" as="script"><link rel="prefetch" href="/assets/index.html-DO2xY2T5.js" as="script"><link rel="prefetch" href="/assets/index.html-BEwHBlkc.js" as="script"><link rel="prefetch" href="/assets/index.html-DZIt3Q5g.js" as="script"><link rel="prefetch" href="/assets/index.html-Dd9JrssL.js" as="script"><link rel="prefetch" href="/assets/index.html-BjPOIJdK.js" as="script"><link rel="prefetch" href="/assets/index.html-CmtlWOBH.js" as="script"><link rel="prefetch" href="/assets/index.html-CR-9qG2Y.js" as="script"><link rel="prefetch" href="/assets/index.html-CwWDCYUS.js" as="script"><link rel="prefetch" href="/assets/index.html-p6Y7Jm3n.js" as="script"><link rel="prefetch" href="/assets/index.html-CIen8cvO.js" as="script"><link rel="prefetch" href="/assets/index.html-BKUs44hv.js" as="script"><link rel="prefetch" href="/assets/index.html-D0wSSTgQ.js" as="script"><link rel="prefetch" href="/assets/index.html-DqsCIdcm.js" as="script"><link rel="prefetch" href="/assets/index.html-kUwAIzkD.js" as="script"><link rel="prefetch" href="/assets/index.html-BqgjNdmg.js" as="script"><link rel="prefetch" href="/assets/index.html-DIaDLRqn.js" as="script"><link rel="prefetch" href="/assets/index.html-DhcL23aG.js" as="script"><link rel="prefetch" href="/assets/index.html-Bk9EBjUw.js" as="script"><link rel="prefetch" href="/assets/index.html-C0X-QC5U.js" as="script"><link rel="prefetch" href="/assets/index.html-ZwD6xCF4.js" as="script"><link rel="prefetch" href="/assets/index.html-BdqadbH8.js" as="script"><link rel="prefetch" href="/assets/index.html-D7Uf3Wbw.js" as="script"><link rel="prefetch" href="/assets/index.html-CsuDpoYK.js" as="script"><link rel="prefetch" href="/assets/index.html-Dc2bdBF2.js" as="script"><link rel="prefetch" href="/assets/index.html-BzgkemtD.js" as="script"><link rel="prefetch" href="/assets/index.html-7uHHiaZx.js" as="script"><link rel="prefetch" href="/assets/index.html-TGoZudvZ.js" as="script"><link rel="prefetch" href="/assets/index.html-DbCWijUV.js" as="script"><link rel="prefetch" href="/assets/index.html-DOCRL60a.js" as="script"><link rel="prefetch" href="/assets/index.html-B8qYb7wb.js" as="script"><link rel="prefetch" href="/assets/index.html-CpBdG6tv.js" as="script"><link rel="prefetch" href="/assets/index.html-DdE0h7xo.js" as="script"><link rel="prefetch" href="/assets/index.html-BlsdgZAc.js" as="script"><link rel="prefetch" href="/assets/index.html-Du74cC6X.js" as="script"><link rel="prefetch" href="/assets/index.html-CTp2Oa39.js" as="script"><link rel="prefetch" href="/assets/index.html-Bz73p56D.js" as="script"><link rel="prefetch" href="/assets/index.html-BktjQtFB.js" as="script"><link rel="prefetch" href="/assets/index.html-DPl--Ppt.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-BF52VcER.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CgYxLcm_.js" as="script"><link rel="prefetch" href="/assets/artplayer-CHAGXahu.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-BOVnG7as.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-CbA2In8H.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-Do1ld-lW.js" as="script"><link rel="prefetch" href="/assets/giscus-7BMGhbDA.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-SzV8tJDW.js" as="script">
+    <link rel="preload" href="/assets/style-7DTFFHvh.css" as="style"><link rel="stylesheet" href="/assets/style-7DTFFHvh.css">
+    <link rel="modulepreload" href="/assets/app-Flo2gZk8.js"><link rel="modulepreload" href="/assets/index.html-BFJ0kKZP.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
+    <link rel="prefetch" href="/assets/index.html-BhtLl4n3.js" as="script"><link rel="prefetch" href="/assets/index.html-C6yte3a0.js" as="script"><link rel="prefetch" href="/assets/index.html-R-cHHIas.js" as="script"><link rel="prefetch" href="/assets/index.html-CPUAg15t.js" as="script"><link rel="prefetch" href="/assets/index.html-BjdnOCC5.js" as="script"><link rel="prefetch" href="/assets/index.html-7Xyk7CrU.js" as="script"><link rel="prefetch" href="/assets/index.html-BNW3YRR3.js" as="script"><link rel="prefetch" href="/assets/index.html-jClrTNl3.js" as="script"><link rel="prefetch" href="/assets/index.html-tFfBEjXi.js" as="script"><link rel="prefetch" href="/assets/index.html-DgPmeCdQ.js" as="script"><link rel="prefetch" href="/assets/index.html-CxRigd-R.js" as="script"><link rel="prefetch" href="/assets/index.html-BWPjJqfa.js" as="script"><link rel="prefetch" href="/assets/index.html-DzG2EJXJ.js" as="script"><link rel="prefetch" href="/assets/index.html-B45efyIG.js" as="script"><link rel="prefetch" href="/assets/index.html-D_Px6PD2.js" as="script"><link rel="prefetch" href="/assets/index.html-U1Oe9QlK.js" as="script"><link rel="prefetch" href="/assets/index.html-fvB3i9PM.js" as="script"><link rel="prefetch" href="/assets/404.html-mkIobPP0.js" as="script"><link rel="prefetch" href="/assets/index.html-DGqb01LU.js" as="script"><link rel="prefetch" href="/assets/index.html-GZfFX8ok.js" as="script"><link rel="prefetch" href="/assets/index.html-vhaMR1PK.js" as="script"><link rel="prefetch" href="/assets/index.html-CvSEeOlH.js" as="script"><link rel="prefetch" href="/assets/index.html-BmplSMWS.js" as="script"><link rel="prefetch" href="/assets/index.html-C2sDDxGY.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNwolvq.js" as="script"><link rel="prefetch" href="/assets/index.html-DhSSZBRU.js" as="script"><link rel="prefetch" href="/assets/index.html-DPcGNBru.js" as="script"><link rel="prefetch" href="/assets/index.html-CBW4olfB.js" as="script"><link rel="prefetch" href="/assets/index.html-CiBWk0Bg.js" as="script"><link rel="prefetch" href="/assets/index.html-AFWYFeTY.js" as="script"><link rel="prefetch" href="/assets/index.html-DlrkN0XZ.js" as="script"><link rel="prefetch" href="/assets/index.html-Cb-sPtFS.js" as="script"><link rel="prefetch" href="/assets/index.html-DPF-EyUV.js" as="script"><link rel="prefetch" href="/assets/index.html-AqhAiBBF.js" as="script"><link rel="prefetch" href="/assets/index.html-DLZdHb6J.js" as="script"><link rel="prefetch" href="/assets/index.html-Cpr5viHS.js" as="script"><link rel="prefetch" href="/assets/index.html-BXxGxqK4.js" as="script"><link rel="prefetch" href="/assets/index.html-4asd-b47.js" as="script"><link rel="prefetch" href="/assets/index.html-ZITi3OK2.js" as="script"><link rel="prefetch" href="/assets/index.html-DJMKg_M6.js" as="script"><link rel="prefetch" href="/assets/index.html-Y__KWg8u.js" as="script"><link rel="prefetch" href="/assets/index.html--BIzY7gk.js" as="script"><link rel="prefetch" href="/assets/index.html-BRHXQqdq.js" as="script"><link rel="prefetch" href="/assets/index.html-C_2nkQ6B.js" as="script"><link rel="prefetch" href="/assets/index.html-R9oSKuoP.js" as="script"><link rel="prefetch" href="/assets/index.html-DY-KY6vi.js" as="script"><link rel="prefetch" href="/assets/index.html-BSndmKE7.js" as="script"><link rel="prefetch" href="/assets/index.html-BDmR_g70.js" as="script"><link rel="prefetch" href="/assets/index.html-CpeDyHcd.js" as="script"><link rel="prefetch" href="/assets/index.html-DV9WiiCS.js" as="script"><link rel="prefetch" href="/assets/index.html-DTceWJaH.js" as="script"><link rel="prefetch" href="/assets/index.html-2WOtvPq_.js" as="script"><link rel="prefetch" href="/assets/index.html-DCVozm3V.js" as="script"><link rel="prefetch" href="/assets/index.html-vKhQGG0S.js" as="script"><link rel="prefetch" href="/assets/index.html-BlvUTCvM.js" as="script"><link rel="prefetch" href="/assets/index.html-vIW8aJUJ.js" as="script"><link rel="prefetch" href="/assets/index.html-CTuZCChr.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-S0Hns9UN.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CSFeuThZ.js" as="script"><link rel="prefetch" href="/assets/artplayer-DnixxQIM.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-DaNo29Rn.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-nRkOMaNb.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-DQalTb-T.js" as="script"><link rel="prefetch" href="/assets/giscus-D-fkNSKD.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-GXRgw7eJ.js" as="script">
   </head>
   <body>
     <div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container no-sidebar"><!--[--><header id="navbar" class="vp-navbar"><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><!--[--><a class="route-link vp-brand" href="/"><img class="vp-nav-logo" src="/img/Headshot.jpg" alt><!----><span class="vp-site-name hide-in-pad">HalfSweet&#39;s Blog</span></a><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-center"><!--[--><!----><!--]--><!--[--><nav class="vp-nav-links"><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/posts/" aria-label="文章"><span class="font-icon icon app" style=""></span>文章<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/about/" aria-label="关于"><span class="font-icon icon user" style=""></span>关于<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/friends/" aria-label="友链"><span class="font-icon icon link" style=""></span>友链<!----></a></div></nav><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-end"><!--[--><!----><!--]--><!--[--><!----><div class="nav-item vp-repo"><a class="vp-repo-link" href="https://github.com/HalfSweet/Blog" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><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"></path></svg></a></div><div class="nav-item hide-in-mobile"><button type="button" id="appearance-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" style="display:block;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" style="display:none;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" style="display:none;"><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"></path></svg></button></div><!----><!--]--><!--[--><!----><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar"><!--[--><!----><!--]--><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></li><li><section class="vp-sidebar-group"><p class="vp-sidebar-header"><span class="font-icon icon book" style=""></span><span class="vp-sidebar-title">文章</span><!----></p><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-Clion/" aria-label="使用 Clion 来进行 Air32 的开发"><!---->使用 Clion 来进行 Air32 的开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-MCO/" aria-label="Air32 的 HAL 改造——适配 MCO"><!---->Air32 的 HAL 改造——适配 MCO<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/HelloWorld/" aria-label="HelloWorld"><!---->HelloWorld<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/STC_CoreMark/" aria-label="不服来跑个分?将 CoreMark 移植到 STC 上试试"><!---->不服来跑个分?将 CoreMark 移植到 STC 上试试<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="为什么我对第三代郊狼失望"><!---->为什么我对第三代郊狼失望<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-HighFreq/" aria-label="发挥全部实力!Air32 在 HAL 库环境下运行最高主频"><!---->发挥全部实力!Air32 在 HAL 库环境下运行最高主频<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/embedded_fmtlib/" aria-label="在嵌入式设备上使用fmtlib"><!---->在嵌入式设备上使用fmtlib<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/conda_novelai/" aria-label="基于conda进行手动配置novelAI"><!---->基于conda进行手动配置novelAI<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="对《为什么我对第三代郊狼失望》一文的澄清说明"><!---->对《为什么我对第三代郊狼失望》一文的澄清说明<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Empedded-CI-CD/" aria-label="嵌入式中的 CI/CD"><!---->嵌入式中的 CI/CD<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/MDK6-Dev/" aria-label="更现代的开发方式?使用 MDK6 进行开发"><!---->更现代的开发方式?使用 MDK6 进行开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/SEGGER-RTT/" aria-label="更高效的日志查看方式——使用SEGGER-RTT"><!---->更高效的日志查看方式——使用SEGGER-RTT<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/EpdTraps1/" aria-label="墨水屏的坑——7.5寸墨水屏刷新为何出现条纹"><!---->墨水屏的坑——7.5寸墨水屏刷新为何出现条纹<!----></a></li></ul></section></li></ul><!--[--><!----><!--]--></aside><!--[--><div class="vp-page vp-blog"><div class="blog-page-wrapper"><main id="main-content" class="vp-blog-main"><ul class="tag-list-wrapper"><li class="tag tag8"><a class="route-link" href="/tag/%E5%90%88%E5%AE%99/">合宙<span class="tag-num">6</span></a></li><li class="tag tag4 active"><a class="route-link" href="/tag/air32/">Air32<span class="tag-num">4</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/air001/">Air001<span class="tag-num">3</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/%E5%B5%8C%E5%85%A5%E5%BC%8F/">嵌入式<span class="tag-num">2</span></a></li><li class="tag tag6"><a class="route-link" href="/tag/%E7%A2%8E%E7%A2%8E%E5%BF%B5/">碎碎念<span class="tag-num">2</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/%E9%83%8A%E7%8B%BC/">郊狼<span class="tag-num">2</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/mco/">MCO<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/helloworld/">HelloWorld<span class="tag-num">1</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/stc32/">STC32<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/stc8/">STC8<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/coremark/">CoreMark<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/clion/">Clion<span class="tag-num">1</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/%E8%B6%85%E9%A2%91/">超频<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/fmtlib/">fmtlib<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/esp8266/">ESP8266<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/esp32/">ESP32<span class="tag-num">1</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/arduino/">Arduino<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/platformio/">PlatformIO<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/esp-idf/">ESP-IDF<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/">人工智能<span class="tag-num">1</span></a></li><li class="tag tag1"><a class="route-link" href="/tag/novelai/">novelAI<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/conda/">conda<span class="tag-num">1</span></a></li><li class="tag tag7"><a class="route-link" href="/tag/%E5%A2%A8%E6%B0%B4%E5%B1%8F/">墨水屏<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/uc8179/">UC8179<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/depg0750rwu790f30/">DEPG0750RWU790F30<span class="tag-num">1</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/%E9%81%87%E5%88%B0%E7%9A%84%E5%9D%91/">遇到的坑<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/cicd/">CI/CD<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/%E6%97%A5%E5%BF%97/">日志<span class="tag-num">1</span></a></li></ul><div id="article-list" class="vp-article-list" role="feed"><div class="vp-article-wrapper"><article class="vp-article-item" vocab="https://schema.org/" typeof="Article"><!--[--><!--]--><!----><a class="route-link" href="/posts/Air32-Clion/"><header class="vp-article-title"><!----><!----><span property="headline">使用 Clion 来进行 Air32 的开发</span></header></a><div class="vp-article-excerpt"><p>在上几篇文章中,我们将 HAL 库移植给了 Air32,但是我们的开发环境还是使用的 Keil,这样就会导致一些问题,比如 Keil 的代码提示不够友好,而且 Keil 的代码补全也不够完善,因此我们可以使用一个更好的开发环境,比如 Clion。</p>
@@ -39,6 +39,6 @@
 </div><hr class="vp-article-hr"><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2023-08-20T23:00:00.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>大约 3 分钟</span><meta property="timeRequired" content="PT3M"></span><span class="page-category-info" aria-label="分类🌈" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg><!--[--><span class="page-category-item category8 clickable" role="navigation">单片机</span><!--]--><meta property="articleSection" content="单片机"></span><span class="page-tag-info" aria-label="标签🏷" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg><!--[--><span class="page-tag-item tag4 clickable" role="navigation">Air32</span><span class="page-tag-item tag8 clickable" role="navigation">合宙</span><span class="page-tag-item tag0 clickable" role="navigation">MCO</span><!--]--><meta property="keywords" content="Air32,合宙,MCO"></span></div></article></div><div class="vp-article-wrapper"><article class="vp-article-item" vocab="https://schema.org/" typeof="Article"><!--[--><!--]--><!----><a class="route-link" href="/posts/Air32-HAL-HighFreq/"><header class="vp-article-title"><!----><!----><span property="headline">发挥全部实力!Air32 在 HAL 库环境下运行最高主频</span></header></a><div class="vp-article-excerpt"><p>最近打算把 Air32 也吃上 Arduino,发挥全部性能,就不用像是 Air001 那样束手束脚了,但是问题是 Arduino 的库是基于 HAL 的,那要用上 Arduino 就必定得先适配 HAL 库,那我们就来先尝试在 HAL 下让 Air32 跑到最高主频吧。</p>
 </div><hr class="vp-article-hr"><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2023-08-20T20:30:00.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>大约 6 分钟</span><meta property="timeRequired" content="PT6M"></span><span class="page-category-info" aria-label="分类🌈" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg><!--[--><span class="page-category-item category8 clickable" role="navigation">单片机</span><!--]--><meta property="articleSection" content="单片机"></span><span class="page-tag-info" aria-label="标签🏷" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg><!--[--><span class="page-tag-item tag4 clickable" role="navigation">Air32</span><span class="page-tag-item tag8 clickable" role="navigation">合宙</span><span class="page-tag-item tag4 clickable" role="navigation">超频</span><!--]--><meta property="keywords" content="Air32,合宙,超频"></span></div></article></div><div class="vp-article-wrapper"><article class="vp-article-item" vocab="https://schema.org/" typeof="Article"><!--[--><!--]--><!----><a class="route-link" href="/posts/MDK6-Dev/"><header class="vp-article-title"><!----><!----><span property="headline">更现代的开发方式?使用 MDK6 进行开发</span></header></a><div class="vp-article-excerpt"><p>今日,在千呼万唤中,Arm 的 MDK6 桌面端终于出来了,本想作为第一批吃螃蟹的开发者,但是当时 Air32 和 Air001 的烧录均有问题,最后在 Arm 官方的支持下,终于可以正常使用了,那么现在我们就来尝试一下。</p>
 </div><hr class="vp-article-hr"><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2023-08-19T12:00:00.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>大约 2 分钟</span><meta property="timeRequired" content="PT2M"></span><span class="page-category-info" aria-label="分类🌈" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg><!--[--><span class="page-category-item category8 clickable" role="navigation">单片机</span><!--]--><meta property="articleSection" content="单片机"></span><span class="page-tag-info" aria-label="标签🏷" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg><!--[--><span class="page-tag-item tag8 clickable" role="navigation">Air001</span><span class="page-tag-item tag4 clickable" role="navigation">Air32</span><span class="page-tag-item tag8 clickable" role="navigation">合宙</span><!--]--><meta property="keywords" content="Air001,Air32,合宙"></span></div></article></div><div class="vp-pagination"></div></div></main><aside class="vp-blog-info-wrapper"><div class="vp-blogger-info" vocab="https://schema.org/" typeof="Person"><div class="vp-blogger" style="cursor:pointer;" aria-label="个人介绍" data-balloon-pos="down" role="link"><img class="vp-blogger-avatar" src="/img/Headshot.jpg" property="image" alt="Blogger Avatar" loading="lazy"><div class="vp-blogger-name" property="name">HalfSweet</div><div class="vp-blogger-description">Try to create some value</div><meta property="url" content="/Catalogue/02.about.html"></div><div class="vp-blog-counts"><a class="route-link vp-blog-count" href="/article/"><div class="count">13</div><div>文章</div></a><a class="route-link vp-blog-count" href="/category/"><div class="count">5</div><div>分类</div></a><a class="route-link vp-blog-count" href="/tag/"><div class="count">28</div><div>标签</div></a><a class="route-link vp-blog-count" href="/timeline/"><div class="count">13</div><div>时间轴</div></a></div><div class="vp-social-medias"><a class="vp-social-media" href="mailto:HalfSweet@HalfSweet.cn" rel="noopener noreferrer" target="_blank" aria-label="Email" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon email-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#1384FF"/><path fill="#fff" d="M270.077 286.233H751.99c32.933 0 59.86 24.855 60.274 55.51l-301.023 157L210.217 341.88c.207-30.723 26.927-55.717 59.86-55.717zm-59.929 115.714-.276 277.756c0 30.931 27.134 56.2 60.205 56.2H751.99c33.14 0 60.274-25.269 60.274-56.2V401.81L518.283 551.492a15.88 15.88 0 0 1-14.43 0L210.148 401.947z"/></svg></a><a class="vp-social-media" href="https://github.com/HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="GitHub" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#171515"/><path fill="#fff" d="M509.423 146.442c-200.317 0-362.756 162.42-362.756 362.8 0 160.266 103.936 296.24 248.109 344.217 18.139 3.327 24.76-7.872 24.76-17.486 0-8.613-.313-31.427-.49-61.702-100.912 21.923-122.205-48.63-122.205-48.63-16.495-41.91-40.28-53.067-40.28-53.067-32.937-22.51 2.492-22.053 2.492-22.053 36.407 2.566 55.568 37.386 55.568 37.386 32.362 55.438 84.907 39.43 105.58 30.143 3.296-23.444 12.667-39.43 23.032-48.498-80.557-9.156-165.246-40.28-165.246-179.297 0-39.604 14.135-71.988 37.342-97.348-3.731-9.178-16.18-46.063 3.556-96.009 0 0 30.46-9.754 99.76 37.19 28.937-8.048 59.97-12.071 90.823-12.211 30.807.14 61.843 4.165 90.822 12.21 69.26-46.944 99.663-37.189 99.663-37.189 19.792 49.946 7.34 86.831 3.61 96.01 23.25 25.359 37.29 57.742 37.29 97.347 0 139.366-84.82 170.033-165.637 179.013 13.026 11.2 24.628 33.342 24.628 67.182 0 48.498-.445 87.627-.445 99.521 0 9.702 6.535 20.988 24.945 17.444 144.03-48.067 247.881-183.95 247.881-344.175 0-200.378-162.442-362.798-362.802-362.798z"/></svg></a><a class="vp-social-media" href="https://twitter.com/_HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="Twitter" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon twitter-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512"/><path fill="#FFF" d="m560 473 186-216h-44L540 445 411 257H262l195 284-195 226h44l171-198 136 198h149zM322 290h68l312 445h-68z"/></svg></a></div></div><div class="vp-blog-infos"><div class="vp-blog-type-switcher"><button type="button" class="vp-blog-type-button"><div class="icon-wrapper active" aria-label="文章" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="分类" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="标签" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="时间轴" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timeline-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timeline icon"><path d="M511.997 70.568c-243.797 0-441.429 197.633-441.429 441.435 0 243.797 197.632 441.429 441.43 441.429S953.431 755.8 953.431 512.002c0-243.796-197.637-441.434-441.435-441.434zm150.158 609.093-15.605 15.61c-8.621 8.615-22.596 8.615-31.215 0L472.197 552.126c-4.95-4.944-4.34-14.888-4.34-24.677V247.14c0-12.19 9.882-22.07 22.07-22.07h22.07c12.19 0 22.07 9.882 22.07 22.07v273.218l128.088 128.088c8.62 8.62 8.62 22.595 0 31.215zm0 0"></path></svg></div></button></div><div class="vp-star-article-wrapper"><div class="title"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg><span class="num">13</span>文章</div><hr><div class="vp-star-article-empty">星标 为空</div></div></div></aside></div></div><!--]--><footer class="vp-footer-wrapper"><div class="vp-footer">今天咕咕被欺负了吗</div><div class="vp-copyright">Copyright © 2024 HalfSweet </div></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div>
-    <script type="module" src="/assets/app-ClwIkahu.js" defer></script>
+    <script type="module" src="/assets/app-Flo2gZk8.js" defer></script>
   </body>
 </html>
diff --git a/tag/arduino/index.html b/tag/arduino/index.html
index 387d28a..dd5b6f2 100644
--- a/tag/arduino/index.html
+++ b/tag/arduino/index.html
@@ -29,13 +29,13 @@
       }
     </script>
     <meta property="og:url" content="https://halfsweet.cn/tag/arduino/"><meta property="og:site_name" content="HalfSweet's Blog"><meta property="og:title" content="标签: Arduino"><meta property="og:type" content="website"><meta property="og:locale" content="zh-CN"><meta property="article:author" content="HalfSweet"><script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","name":"标签: Arduino"}</script><title>标签: Arduino | HalfSweet's Blog</title><meta name="description" content="半糖的博客">
-    <link rel="preload" href="/assets/style-BDwnt-CL.css" as="style"><link rel="stylesheet" href="/assets/style-BDwnt-CL.css">
-    <link rel="modulepreload" href="/assets/app-ClwIkahu.js"><link rel="modulepreload" href="/assets/index.html-CsuDpoYK.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
-    <link rel="prefetch" href="/assets/index.html-BjG6C5xb.js" as="script"><link rel="prefetch" href="/assets/index.html-6gNmrYKw.js" as="script"><link rel="prefetch" href="/assets/index.html-W8DPbcPd.js" as="script"><link rel="prefetch" href="/assets/index.html-75fD8c0W.js" as="script"><link rel="prefetch" href="/assets/index.html-CufQKtZU.js" as="script"><link rel="prefetch" href="/assets/index.html-Bqe7scks.js" as="script"><link rel="prefetch" href="/assets/index.html-B5-KeVPb.js" as="script"><link rel="prefetch" href="/assets/index.html-C7FigsQF.js" as="script"><link rel="prefetch" href="/assets/index.html-DtEE6E7f.js" as="script"><link rel="prefetch" href="/assets/index.html-0oPRY09N.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNCX4dz.js" as="script"><link rel="prefetch" href="/assets/index.html-XtQdJJI8.js" as="script"><link rel="prefetch" href="/assets/index.html-CnJ0E6b5.js" as="script"><link rel="prefetch" href="/assets/index.html-CFhDcrZp.js" as="script"><link rel="prefetch" href="/assets/index.html-Bd1PkxNi.js" as="script"><link rel="prefetch" href="/assets/index.html-DJ-_mZ9n.js" as="script"><link rel="prefetch" href="/assets/index.html-jFzM8lrm.js" as="script"><link rel="prefetch" href="/assets/404.html-VMfaDGRx.js" as="script"><link rel="prefetch" href="/assets/index.html-BaR2aqhq.js" as="script"><link rel="prefetch" href="/assets/index.html-DO2xY2T5.js" as="script"><link rel="prefetch" href="/assets/index.html-BEwHBlkc.js" as="script"><link rel="prefetch" href="/assets/index.html-DZIt3Q5g.js" as="script"><link rel="prefetch" href="/assets/index.html-Dd9JrssL.js" as="script"><link rel="prefetch" href="/assets/index.html-BjPOIJdK.js" as="script"><link rel="prefetch" href="/assets/index.html-CmtlWOBH.js" as="script"><link rel="prefetch" href="/assets/index.html-CR-9qG2Y.js" as="script"><link rel="prefetch" href="/assets/index.html-CwWDCYUS.js" as="script"><link rel="prefetch" href="/assets/index.html-CptFZpi0.js" as="script"><link rel="prefetch" href="/assets/index.html-p6Y7Jm3n.js" as="script"><link rel="prefetch" href="/assets/index.html-CIen8cvO.js" as="script"><link rel="prefetch" href="/assets/index.html-BKUs44hv.js" as="script"><link rel="prefetch" href="/assets/index.html-D0wSSTgQ.js" as="script"><link rel="prefetch" href="/assets/index.html-DqsCIdcm.js" as="script"><link rel="prefetch" href="/assets/index.html-kUwAIzkD.js" as="script"><link rel="prefetch" href="/assets/index.html-BqgjNdmg.js" as="script"><link rel="prefetch" href="/assets/index.html-DIaDLRqn.js" as="script"><link rel="prefetch" href="/assets/index.html-DhcL23aG.js" as="script"><link rel="prefetch" href="/assets/index.html-Bk9EBjUw.js" as="script"><link rel="prefetch" href="/assets/index.html-C0X-QC5U.js" as="script"><link rel="prefetch" href="/assets/index.html-ZwD6xCF4.js" as="script"><link rel="prefetch" href="/assets/index.html-BdqadbH8.js" as="script"><link rel="prefetch" href="/assets/index.html-D7Uf3Wbw.js" as="script"><link rel="prefetch" href="/assets/index.html-Dc2bdBF2.js" as="script"><link rel="prefetch" href="/assets/index.html-BzgkemtD.js" as="script"><link rel="prefetch" href="/assets/index.html-7uHHiaZx.js" as="script"><link rel="prefetch" href="/assets/index.html-TGoZudvZ.js" as="script"><link rel="prefetch" href="/assets/index.html-DbCWijUV.js" as="script"><link rel="prefetch" href="/assets/index.html-DOCRL60a.js" as="script"><link rel="prefetch" href="/assets/index.html-B8qYb7wb.js" as="script"><link rel="prefetch" href="/assets/index.html-CpBdG6tv.js" as="script"><link rel="prefetch" href="/assets/index.html-DdE0h7xo.js" as="script"><link rel="prefetch" href="/assets/index.html-BlsdgZAc.js" as="script"><link rel="prefetch" href="/assets/index.html-Du74cC6X.js" as="script"><link rel="prefetch" href="/assets/index.html-CTp2Oa39.js" as="script"><link rel="prefetch" href="/assets/index.html-Bz73p56D.js" as="script"><link rel="prefetch" href="/assets/index.html-BktjQtFB.js" as="script"><link rel="prefetch" href="/assets/index.html-DPl--Ppt.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-BF52VcER.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CgYxLcm_.js" as="script"><link rel="prefetch" href="/assets/artplayer-CHAGXahu.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-BOVnG7as.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-CbA2In8H.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-Do1ld-lW.js" as="script"><link rel="prefetch" href="/assets/giscus-7BMGhbDA.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-SzV8tJDW.js" as="script">
+    <link rel="preload" href="/assets/style-7DTFFHvh.css" as="style"><link rel="stylesheet" href="/assets/style-7DTFFHvh.css">
+    <link rel="modulepreload" href="/assets/app-Flo2gZk8.js"><link rel="modulepreload" href="/assets/index.html--BIzY7gk.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
+    <link rel="prefetch" href="/assets/index.html-BhtLl4n3.js" as="script"><link rel="prefetch" href="/assets/index.html-C6yte3a0.js" as="script"><link rel="prefetch" href="/assets/index.html-R-cHHIas.js" as="script"><link rel="prefetch" href="/assets/index.html-CPUAg15t.js" as="script"><link rel="prefetch" href="/assets/index.html-BjdnOCC5.js" as="script"><link rel="prefetch" href="/assets/index.html-7Xyk7CrU.js" as="script"><link rel="prefetch" href="/assets/index.html-BNW3YRR3.js" as="script"><link rel="prefetch" href="/assets/index.html-jClrTNl3.js" as="script"><link rel="prefetch" href="/assets/index.html-tFfBEjXi.js" as="script"><link rel="prefetch" href="/assets/index.html-DgPmeCdQ.js" as="script"><link rel="prefetch" href="/assets/index.html-CxRigd-R.js" as="script"><link rel="prefetch" href="/assets/index.html-BWPjJqfa.js" as="script"><link rel="prefetch" href="/assets/index.html-DzG2EJXJ.js" as="script"><link rel="prefetch" href="/assets/index.html-B45efyIG.js" as="script"><link rel="prefetch" href="/assets/index.html-D_Px6PD2.js" as="script"><link rel="prefetch" href="/assets/index.html-U1Oe9QlK.js" as="script"><link rel="prefetch" href="/assets/index.html-fvB3i9PM.js" as="script"><link rel="prefetch" href="/assets/404.html-mkIobPP0.js" as="script"><link rel="prefetch" href="/assets/index.html-DGqb01LU.js" as="script"><link rel="prefetch" href="/assets/index.html-GZfFX8ok.js" as="script"><link rel="prefetch" href="/assets/index.html-vhaMR1PK.js" as="script"><link rel="prefetch" href="/assets/index.html-CvSEeOlH.js" as="script"><link rel="prefetch" href="/assets/index.html-BmplSMWS.js" as="script"><link rel="prefetch" href="/assets/index.html-C2sDDxGY.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNwolvq.js" as="script"><link rel="prefetch" href="/assets/index.html-DhSSZBRU.js" as="script"><link rel="prefetch" href="/assets/index.html-DPcGNBru.js" as="script"><link rel="prefetch" href="/assets/index.html-BFJ0kKZP.js" as="script"><link rel="prefetch" href="/assets/index.html-CBW4olfB.js" as="script"><link rel="prefetch" href="/assets/index.html-CiBWk0Bg.js" as="script"><link rel="prefetch" href="/assets/index.html-AFWYFeTY.js" as="script"><link rel="prefetch" href="/assets/index.html-DlrkN0XZ.js" as="script"><link rel="prefetch" href="/assets/index.html-Cb-sPtFS.js" as="script"><link rel="prefetch" href="/assets/index.html-DPF-EyUV.js" as="script"><link rel="prefetch" href="/assets/index.html-AqhAiBBF.js" as="script"><link rel="prefetch" href="/assets/index.html-DLZdHb6J.js" as="script"><link rel="prefetch" href="/assets/index.html-Cpr5viHS.js" as="script"><link rel="prefetch" href="/assets/index.html-BXxGxqK4.js" as="script"><link rel="prefetch" href="/assets/index.html-4asd-b47.js" as="script"><link rel="prefetch" href="/assets/index.html-ZITi3OK2.js" as="script"><link rel="prefetch" href="/assets/index.html-DJMKg_M6.js" as="script"><link rel="prefetch" href="/assets/index.html-Y__KWg8u.js" as="script"><link rel="prefetch" href="/assets/index.html-BRHXQqdq.js" as="script"><link rel="prefetch" href="/assets/index.html-C_2nkQ6B.js" as="script"><link rel="prefetch" href="/assets/index.html-R9oSKuoP.js" as="script"><link rel="prefetch" href="/assets/index.html-DY-KY6vi.js" as="script"><link rel="prefetch" href="/assets/index.html-BSndmKE7.js" as="script"><link rel="prefetch" href="/assets/index.html-BDmR_g70.js" as="script"><link rel="prefetch" href="/assets/index.html-CpeDyHcd.js" as="script"><link rel="prefetch" href="/assets/index.html-DV9WiiCS.js" as="script"><link rel="prefetch" href="/assets/index.html-DTceWJaH.js" as="script"><link rel="prefetch" href="/assets/index.html-2WOtvPq_.js" as="script"><link rel="prefetch" href="/assets/index.html-DCVozm3V.js" as="script"><link rel="prefetch" href="/assets/index.html-vKhQGG0S.js" as="script"><link rel="prefetch" href="/assets/index.html-BlvUTCvM.js" as="script"><link rel="prefetch" href="/assets/index.html-vIW8aJUJ.js" as="script"><link rel="prefetch" href="/assets/index.html-CTuZCChr.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-S0Hns9UN.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CSFeuThZ.js" as="script"><link rel="prefetch" href="/assets/artplayer-DnixxQIM.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-DaNo29Rn.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-nRkOMaNb.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-DQalTb-T.js" as="script"><link rel="prefetch" href="/assets/giscus-D-fkNSKD.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-GXRgw7eJ.js" as="script">
   </head>
   <body>
     <div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container no-sidebar"><!--[--><header id="navbar" class="vp-navbar"><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><!--[--><a class="route-link vp-brand" href="/"><img class="vp-nav-logo" src="/img/Headshot.jpg" alt><!----><span class="vp-site-name hide-in-pad">HalfSweet&#39;s Blog</span></a><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-center"><!--[--><!----><!--]--><!--[--><nav class="vp-nav-links"><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/posts/" aria-label="文章"><span class="font-icon icon app" style=""></span>文章<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/about/" aria-label="关于"><span class="font-icon icon user" style=""></span>关于<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/friends/" aria-label="友链"><span class="font-icon icon link" style=""></span>友链<!----></a></div></nav><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-end"><!--[--><!----><!--]--><!--[--><!----><div class="nav-item vp-repo"><a class="vp-repo-link" href="https://github.com/HalfSweet/Blog" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><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"></path></svg></a></div><div class="nav-item hide-in-mobile"><button type="button" id="appearance-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" style="display:block;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" style="display:none;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" style="display:none;"><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"></path></svg></button></div><!----><!--]--><!--[--><!----><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar"><!--[--><!----><!--]--><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></li><li><section class="vp-sidebar-group"><p class="vp-sidebar-header"><span class="font-icon icon book" style=""></span><span class="vp-sidebar-title">文章</span><!----></p><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-Clion/" aria-label="使用 Clion 来进行 Air32 的开发"><!---->使用 Clion 来进行 Air32 的开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-MCO/" aria-label="Air32 的 HAL 改造——适配 MCO"><!---->Air32 的 HAL 改造——适配 MCO<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/HelloWorld/" aria-label="HelloWorld"><!---->HelloWorld<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/STC_CoreMark/" aria-label="不服来跑个分?将 CoreMark 移植到 STC 上试试"><!---->不服来跑个分?将 CoreMark 移植到 STC 上试试<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="为什么我对第三代郊狼失望"><!---->为什么我对第三代郊狼失望<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-HighFreq/" aria-label="发挥全部实力!Air32 在 HAL 库环境下运行最高主频"><!---->发挥全部实力!Air32 在 HAL 库环境下运行最高主频<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/embedded_fmtlib/" aria-label="在嵌入式设备上使用fmtlib"><!---->在嵌入式设备上使用fmtlib<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/conda_novelai/" aria-label="基于conda进行手动配置novelAI"><!---->基于conda进行手动配置novelAI<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="对《为什么我对第三代郊狼失望》一文的澄清说明"><!---->对《为什么我对第三代郊狼失望》一文的澄清说明<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Empedded-CI-CD/" aria-label="嵌入式中的 CI/CD"><!---->嵌入式中的 CI/CD<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/MDK6-Dev/" aria-label="更现代的开发方式?使用 MDK6 进行开发"><!---->更现代的开发方式?使用 MDK6 进行开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/SEGGER-RTT/" aria-label="更高效的日志查看方式——使用SEGGER-RTT"><!---->更高效的日志查看方式——使用SEGGER-RTT<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/EpdTraps1/" aria-label="墨水屏的坑——7.5寸墨水屏刷新为何出现条纹"><!---->墨水屏的坑——7.5寸墨水屏刷新为何出现条纹<!----></a></li></ul></section></li></ul><!--[--><!----><!--]--></aside><!--[--><div class="vp-page vp-blog"><div class="blog-page-wrapper"><main id="main-content" class="vp-blog-main"><ul class="tag-list-wrapper"><li class="tag tag8"><a class="route-link" href="/tag/%E5%90%88%E5%AE%99/">合宙<span class="tag-num">6</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/air32/">Air32<span class="tag-num">4</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/air001/">Air001<span class="tag-num">3</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/%E5%B5%8C%E5%85%A5%E5%BC%8F/">嵌入式<span class="tag-num">2</span></a></li><li class="tag tag6"><a class="route-link" href="/tag/%E7%A2%8E%E7%A2%8E%E5%BF%B5/">碎碎念<span class="tag-num">2</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/%E9%83%8A%E7%8B%BC/">郊狼<span class="tag-num">2</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/mco/">MCO<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/helloworld/">HelloWorld<span class="tag-num">1</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/stc32/">STC32<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/stc8/">STC8<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/coremark/">CoreMark<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/clion/">Clion<span class="tag-num">1</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/%E8%B6%85%E9%A2%91/">超频<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/fmtlib/">fmtlib<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/esp8266/">ESP8266<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/esp32/">ESP32<span class="tag-num">1</span></a></li><li class="tag tag3 active"><a class="route-link" href="/tag/arduino/">Arduino<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/platformio/">PlatformIO<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/esp-idf/">ESP-IDF<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/">人工智能<span class="tag-num">1</span></a></li><li class="tag tag1"><a class="route-link" href="/tag/novelai/">novelAI<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/conda/">conda<span class="tag-num">1</span></a></li><li class="tag tag7"><a class="route-link" href="/tag/%E5%A2%A8%E6%B0%B4%E5%B1%8F/">墨水屏<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/uc8179/">UC8179<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/depg0750rwu790f30/">DEPG0750RWU790F30<span class="tag-num">1</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/%E9%81%87%E5%88%B0%E7%9A%84%E5%9D%91/">遇到的坑<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/cicd/">CI/CD<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/%E6%97%A5%E5%BF%97/">日志<span class="tag-num">1</span></a></li></ul><div id="article-list" class="vp-article-list" role="feed"><div class="vp-article-wrapper"><article class="vp-article-item" vocab="https://schema.org/" typeof="Article"><!--[--><!--]--><!----><a class="route-link" href="/posts/embedded_fmtlib/"><header class="vp-article-title"><!----><!----><span property="headline">在嵌入式设备上使用fmtlib</span></header></a><div class="vp-article-excerpt"><p>众所周知,在c++20以上的标准已经支持了<code>std::format</code>进行格式化输出,不过显而易见,嵌入式领域想要得到支持显然遥遥无期。但是我们已经厌倦了使用sprintf等方式来格式化字符串,c++的流特性又显得不够优雅,怎么才能用上类似于Python中format这样的方式来格式化并输出想要的字符串呢。</p>
 </div><hr class="vp-article-hr"><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2023-02-03T14:08:57.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>大约 5 分钟</span><meta property="timeRequired" content="PT5M"></span><span class="page-category-info" aria-label="分类🌈" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg><!--[--><span class="page-category-item category1 clickable" role="navigation">posts</span><!--]--><meta property="articleSection" content="posts"></span><span class="page-tag-info" aria-label="标签🏷" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg><!--[--><span class="page-tag-item tag8 clickable" role="navigation">fmtlib</span><span class="page-tag-item tag2 clickable" role="navigation">嵌入式</span><span class="page-tag-item tag8 clickable" role="navigation">ESP8266</span><span class="page-tag-item tag2 clickable" role="navigation">ESP32</span><span class="page-tag-item tag3 clickable" role="navigation">Arduino</span><span class="page-tag-item tag5 clickable" role="navigation">PlatformIO</span><span class="page-tag-item tag0 clickable" role="navigation">ESP-IDF</span><!--]--><meta property="keywords" content="fmtlib,嵌入式,ESP8266,ESP32,Arduino,PlatformIO,ESP-IDF"></span></div></article></div><div class="vp-pagination"></div></div></main><aside class="vp-blog-info-wrapper"><div class="vp-blogger-info" vocab="https://schema.org/" typeof="Person"><div class="vp-blogger" style="cursor:pointer;" aria-label="个人介绍" data-balloon-pos="down" role="link"><img class="vp-blogger-avatar" src="/img/Headshot.jpg" property="image" alt="Blogger Avatar" loading="lazy"><div class="vp-blogger-name" property="name">HalfSweet</div><div class="vp-blogger-description">Try to create some value</div><meta property="url" content="/Catalogue/02.about.html"></div><div class="vp-blog-counts"><a class="route-link vp-blog-count" href="/article/"><div class="count">13</div><div>文章</div></a><a class="route-link vp-blog-count" href="/category/"><div class="count">5</div><div>分类</div></a><a class="route-link vp-blog-count" href="/tag/"><div class="count">28</div><div>标签</div></a><a class="route-link vp-blog-count" href="/timeline/"><div class="count">13</div><div>时间轴</div></a></div><div class="vp-social-medias"><a class="vp-social-media" href="mailto:HalfSweet@HalfSweet.cn" rel="noopener noreferrer" target="_blank" aria-label="Email" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon email-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#1384FF"/><path fill="#fff" d="M270.077 286.233H751.99c32.933 0 59.86 24.855 60.274 55.51l-301.023 157L210.217 341.88c.207-30.723 26.927-55.717 59.86-55.717zm-59.929 115.714-.276 277.756c0 30.931 27.134 56.2 60.205 56.2H751.99c33.14 0 60.274-25.269 60.274-56.2V401.81L518.283 551.492a15.88 15.88 0 0 1-14.43 0L210.148 401.947z"/></svg></a><a class="vp-social-media" href="https://github.com/HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="GitHub" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#171515"/><path fill="#fff" d="M509.423 146.442c-200.317 0-362.756 162.42-362.756 362.8 0 160.266 103.936 296.24 248.109 344.217 18.139 3.327 24.76-7.872 24.76-17.486 0-8.613-.313-31.427-.49-61.702-100.912 21.923-122.205-48.63-122.205-48.63-16.495-41.91-40.28-53.067-40.28-53.067-32.937-22.51 2.492-22.053 2.492-22.053 36.407 2.566 55.568 37.386 55.568 37.386 32.362 55.438 84.907 39.43 105.58 30.143 3.296-23.444 12.667-39.43 23.032-48.498-80.557-9.156-165.246-40.28-165.246-179.297 0-39.604 14.135-71.988 37.342-97.348-3.731-9.178-16.18-46.063 3.556-96.009 0 0 30.46-9.754 99.76 37.19 28.937-8.048 59.97-12.071 90.823-12.211 30.807.14 61.843 4.165 90.822 12.21 69.26-46.944 99.663-37.189 99.663-37.189 19.792 49.946 7.34 86.831 3.61 96.01 23.25 25.359 37.29 57.742 37.29 97.347 0 139.366-84.82 170.033-165.637 179.013 13.026 11.2 24.628 33.342 24.628 67.182 0 48.498-.445 87.627-.445 99.521 0 9.702 6.535 20.988 24.945 17.444 144.03-48.067 247.881-183.95 247.881-344.175 0-200.378-162.442-362.798-362.802-362.798z"/></svg></a><a class="vp-social-media" href="https://twitter.com/_HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="Twitter" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon twitter-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512"/><path fill="#FFF" d="m560 473 186-216h-44L540 445 411 257H262l195 284-195 226h44l171-198 136 198h149zM322 290h68l312 445h-68z"/></svg></a></div></div><div class="vp-blog-infos"><div class="vp-blog-type-switcher"><button type="button" class="vp-blog-type-button"><div class="icon-wrapper active" aria-label="文章" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="分类" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="标签" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="时间轴" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timeline-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timeline icon"><path d="M511.997 70.568c-243.797 0-441.429 197.633-441.429 441.435 0 243.797 197.632 441.429 441.43 441.429S953.431 755.8 953.431 512.002c0-243.796-197.637-441.434-441.435-441.434zm150.158 609.093-15.605 15.61c-8.621 8.615-22.596 8.615-31.215 0L472.197 552.126c-4.95-4.944-4.34-14.888-4.34-24.677V247.14c0-12.19 9.882-22.07 22.07-22.07h22.07c12.19 0 22.07 9.882 22.07 22.07v273.218l128.088 128.088c8.62 8.62 8.62 22.595 0 31.215zm0 0"></path></svg></div></button></div><div class="vp-star-article-wrapper"><div class="title"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg><span class="num">13</span>文章</div><hr><div class="vp-star-article-empty">星标 为空</div></div></div></aside></div></div><!--]--><footer class="vp-footer-wrapper"><div class="vp-footer">今天咕咕被欺负了吗</div><div class="vp-copyright">Copyright © 2024 HalfSweet </div></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div>
-    <script type="module" src="/assets/app-ClwIkahu.js" defer></script>
+    <script type="module" src="/assets/app-Flo2gZk8.js" defer></script>
   </body>
 </html>
diff --git a/tag/cicd/index.html b/tag/cicd/index.html
index 0a7bde6..a557be7 100644
--- a/tag/cicd/index.html
+++ b/tag/cicd/index.html
@@ -29,13 +29,13 @@
       }
     </script>
     <meta property="og:url" content="https://halfsweet.cn/tag/cicd/"><meta property="og:site_name" content="HalfSweet's Blog"><meta property="og:title" content="标签: CI/CD"><meta property="og:type" content="website"><meta property="og:locale" content="zh-CN"><meta property="article:author" content="HalfSweet"><script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","name":"标签: CI/CD"}</script><title>标签: CI/CD | HalfSweet's Blog</title><meta name="description" content="半糖的博客">
-    <link rel="preload" href="/assets/style-BDwnt-CL.css" as="style"><link rel="stylesheet" href="/assets/style-BDwnt-CL.css">
-    <link rel="modulepreload" href="/assets/app-ClwIkahu.js"><link rel="modulepreload" href="/assets/index.html-Du74cC6X.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
-    <link rel="prefetch" href="/assets/index.html-BjG6C5xb.js" as="script"><link rel="prefetch" href="/assets/index.html-6gNmrYKw.js" as="script"><link rel="prefetch" href="/assets/index.html-W8DPbcPd.js" as="script"><link rel="prefetch" href="/assets/index.html-75fD8c0W.js" as="script"><link rel="prefetch" href="/assets/index.html-CufQKtZU.js" as="script"><link rel="prefetch" href="/assets/index.html-Bqe7scks.js" as="script"><link rel="prefetch" href="/assets/index.html-B5-KeVPb.js" as="script"><link rel="prefetch" href="/assets/index.html-C7FigsQF.js" as="script"><link rel="prefetch" href="/assets/index.html-DtEE6E7f.js" as="script"><link rel="prefetch" href="/assets/index.html-0oPRY09N.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNCX4dz.js" as="script"><link rel="prefetch" href="/assets/index.html-XtQdJJI8.js" as="script"><link rel="prefetch" href="/assets/index.html-CnJ0E6b5.js" as="script"><link rel="prefetch" href="/assets/index.html-CFhDcrZp.js" as="script"><link rel="prefetch" href="/assets/index.html-Bd1PkxNi.js" as="script"><link rel="prefetch" href="/assets/index.html-DJ-_mZ9n.js" as="script"><link rel="prefetch" href="/assets/index.html-jFzM8lrm.js" as="script"><link rel="prefetch" href="/assets/404.html-VMfaDGRx.js" as="script"><link rel="prefetch" href="/assets/index.html-BaR2aqhq.js" as="script"><link rel="prefetch" href="/assets/index.html-DO2xY2T5.js" as="script"><link rel="prefetch" href="/assets/index.html-BEwHBlkc.js" as="script"><link rel="prefetch" href="/assets/index.html-DZIt3Q5g.js" as="script"><link rel="prefetch" href="/assets/index.html-Dd9JrssL.js" as="script"><link rel="prefetch" href="/assets/index.html-BjPOIJdK.js" as="script"><link rel="prefetch" href="/assets/index.html-CmtlWOBH.js" as="script"><link rel="prefetch" href="/assets/index.html-CR-9qG2Y.js" as="script"><link rel="prefetch" href="/assets/index.html-CwWDCYUS.js" as="script"><link rel="prefetch" href="/assets/index.html-CptFZpi0.js" as="script"><link rel="prefetch" href="/assets/index.html-p6Y7Jm3n.js" as="script"><link rel="prefetch" href="/assets/index.html-CIen8cvO.js" as="script"><link rel="prefetch" href="/assets/index.html-BKUs44hv.js" as="script"><link rel="prefetch" href="/assets/index.html-D0wSSTgQ.js" as="script"><link rel="prefetch" href="/assets/index.html-DqsCIdcm.js" as="script"><link rel="prefetch" href="/assets/index.html-kUwAIzkD.js" as="script"><link rel="prefetch" href="/assets/index.html-BqgjNdmg.js" as="script"><link rel="prefetch" href="/assets/index.html-DIaDLRqn.js" as="script"><link rel="prefetch" href="/assets/index.html-DhcL23aG.js" as="script"><link rel="prefetch" href="/assets/index.html-Bk9EBjUw.js" as="script"><link rel="prefetch" href="/assets/index.html-C0X-QC5U.js" as="script"><link rel="prefetch" href="/assets/index.html-ZwD6xCF4.js" as="script"><link rel="prefetch" href="/assets/index.html-BdqadbH8.js" as="script"><link rel="prefetch" href="/assets/index.html-D7Uf3Wbw.js" as="script"><link rel="prefetch" href="/assets/index.html-CsuDpoYK.js" as="script"><link rel="prefetch" href="/assets/index.html-Dc2bdBF2.js" as="script"><link rel="prefetch" href="/assets/index.html-BzgkemtD.js" as="script"><link rel="prefetch" href="/assets/index.html-7uHHiaZx.js" as="script"><link rel="prefetch" href="/assets/index.html-TGoZudvZ.js" as="script"><link rel="prefetch" href="/assets/index.html-DbCWijUV.js" as="script"><link rel="prefetch" href="/assets/index.html-DOCRL60a.js" as="script"><link rel="prefetch" href="/assets/index.html-B8qYb7wb.js" as="script"><link rel="prefetch" href="/assets/index.html-CpBdG6tv.js" as="script"><link rel="prefetch" href="/assets/index.html-DdE0h7xo.js" as="script"><link rel="prefetch" href="/assets/index.html-BlsdgZAc.js" as="script"><link rel="prefetch" href="/assets/index.html-CTp2Oa39.js" as="script"><link rel="prefetch" href="/assets/index.html-Bz73p56D.js" as="script"><link rel="prefetch" href="/assets/index.html-BktjQtFB.js" as="script"><link rel="prefetch" href="/assets/index.html-DPl--Ppt.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-BF52VcER.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CgYxLcm_.js" as="script"><link rel="prefetch" href="/assets/artplayer-CHAGXahu.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-BOVnG7as.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-CbA2In8H.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-Do1ld-lW.js" as="script"><link rel="prefetch" href="/assets/giscus-7BMGhbDA.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-SzV8tJDW.js" as="script">
+    <link rel="preload" href="/assets/style-7DTFFHvh.css" as="style"><link rel="stylesheet" href="/assets/style-7DTFFHvh.css">
+    <link rel="modulepreload" href="/assets/app-Flo2gZk8.js"><link rel="modulepreload" href="/assets/index.html-DCVozm3V.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
+    <link rel="prefetch" href="/assets/index.html-BhtLl4n3.js" as="script"><link rel="prefetch" href="/assets/index.html-C6yte3a0.js" as="script"><link rel="prefetch" href="/assets/index.html-R-cHHIas.js" as="script"><link rel="prefetch" href="/assets/index.html-CPUAg15t.js" as="script"><link rel="prefetch" href="/assets/index.html-BjdnOCC5.js" as="script"><link rel="prefetch" href="/assets/index.html-7Xyk7CrU.js" as="script"><link rel="prefetch" href="/assets/index.html-BNW3YRR3.js" as="script"><link rel="prefetch" href="/assets/index.html-jClrTNl3.js" as="script"><link rel="prefetch" href="/assets/index.html-tFfBEjXi.js" as="script"><link rel="prefetch" href="/assets/index.html-DgPmeCdQ.js" as="script"><link rel="prefetch" href="/assets/index.html-CxRigd-R.js" as="script"><link rel="prefetch" href="/assets/index.html-BWPjJqfa.js" as="script"><link rel="prefetch" href="/assets/index.html-DzG2EJXJ.js" as="script"><link rel="prefetch" href="/assets/index.html-B45efyIG.js" as="script"><link rel="prefetch" href="/assets/index.html-D_Px6PD2.js" as="script"><link rel="prefetch" href="/assets/index.html-U1Oe9QlK.js" as="script"><link rel="prefetch" href="/assets/index.html-fvB3i9PM.js" as="script"><link rel="prefetch" href="/assets/404.html-mkIobPP0.js" as="script"><link rel="prefetch" href="/assets/index.html-DGqb01LU.js" as="script"><link rel="prefetch" href="/assets/index.html-GZfFX8ok.js" as="script"><link rel="prefetch" href="/assets/index.html-vhaMR1PK.js" as="script"><link rel="prefetch" href="/assets/index.html-CvSEeOlH.js" as="script"><link rel="prefetch" href="/assets/index.html-BmplSMWS.js" as="script"><link rel="prefetch" href="/assets/index.html-C2sDDxGY.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNwolvq.js" as="script"><link rel="prefetch" href="/assets/index.html-DhSSZBRU.js" as="script"><link rel="prefetch" href="/assets/index.html-DPcGNBru.js" as="script"><link rel="prefetch" href="/assets/index.html-BFJ0kKZP.js" as="script"><link rel="prefetch" href="/assets/index.html-CBW4olfB.js" as="script"><link rel="prefetch" href="/assets/index.html-CiBWk0Bg.js" as="script"><link rel="prefetch" href="/assets/index.html-AFWYFeTY.js" as="script"><link rel="prefetch" href="/assets/index.html-DlrkN0XZ.js" as="script"><link rel="prefetch" href="/assets/index.html-Cb-sPtFS.js" as="script"><link rel="prefetch" href="/assets/index.html-DPF-EyUV.js" as="script"><link rel="prefetch" href="/assets/index.html-AqhAiBBF.js" as="script"><link rel="prefetch" href="/assets/index.html-DLZdHb6J.js" as="script"><link rel="prefetch" href="/assets/index.html-Cpr5viHS.js" as="script"><link rel="prefetch" href="/assets/index.html-BXxGxqK4.js" as="script"><link rel="prefetch" href="/assets/index.html-4asd-b47.js" as="script"><link rel="prefetch" href="/assets/index.html-ZITi3OK2.js" as="script"><link rel="prefetch" href="/assets/index.html-DJMKg_M6.js" as="script"><link rel="prefetch" href="/assets/index.html-Y__KWg8u.js" as="script"><link rel="prefetch" href="/assets/index.html--BIzY7gk.js" as="script"><link rel="prefetch" href="/assets/index.html-BRHXQqdq.js" as="script"><link rel="prefetch" href="/assets/index.html-C_2nkQ6B.js" as="script"><link rel="prefetch" href="/assets/index.html-R9oSKuoP.js" as="script"><link rel="prefetch" href="/assets/index.html-DY-KY6vi.js" as="script"><link rel="prefetch" href="/assets/index.html-BSndmKE7.js" as="script"><link rel="prefetch" href="/assets/index.html-BDmR_g70.js" as="script"><link rel="prefetch" href="/assets/index.html-CpeDyHcd.js" as="script"><link rel="prefetch" href="/assets/index.html-DV9WiiCS.js" as="script"><link rel="prefetch" href="/assets/index.html-DTceWJaH.js" as="script"><link rel="prefetch" href="/assets/index.html-2WOtvPq_.js" as="script"><link rel="prefetch" href="/assets/index.html-vKhQGG0S.js" as="script"><link rel="prefetch" href="/assets/index.html-BlvUTCvM.js" as="script"><link rel="prefetch" href="/assets/index.html-vIW8aJUJ.js" as="script"><link rel="prefetch" href="/assets/index.html-CTuZCChr.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-S0Hns9UN.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CSFeuThZ.js" as="script"><link rel="prefetch" href="/assets/artplayer-DnixxQIM.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-DaNo29Rn.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-nRkOMaNb.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-DQalTb-T.js" as="script"><link rel="prefetch" href="/assets/giscus-D-fkNSKD.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-GXRgw7eJ.js" as="script">
   </head>
   <body>
     <div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container no-sidebar"><!--[--><header id="navbar" class="vp-navbar"><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><!--[--><a class="route-link vp-brand" href="/"><img class="vp-nav-logo" src="/img/Headshot.jpg" alt><!----><span class="vp-site-name hide-in-pad">HalfSweet&#39;s Blog</span></a><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-center"><!--[--><!----><!--]--><!--[--><nav class="vp-nav-links"><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/posts/" aria-label="文章"><span class="font-icon icon app" style=""></span>文章<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/about/" aria-label="关于"><span class="font-icon icon user" style=""></span>关于<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/friends/" aria-label="友链"><span class="font-icon icon link" style=""></span>友链<!----></a></div></nav><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-end"><!--[--><!----><!--]--><!--[--><!----><div class="nav-item vp-repo"><a class="vp-repo-link" href="https://github.com/HalfSweet/Blog" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><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"></path></svg></a></div><div class="nav-item hide-in-mobile"><button type="button" id="appearance-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" style="display:block;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" style="display:none;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" style="display:none;"><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"></path></svg></button></div><!----><!--]--><!--[--><!----><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar"><!--[--><!----><!--]--><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></li><li><section class="vp-sidebar-group"><p class="vp-sidebar-header"><span class="font-icon icon book" style=""></span><span class="vp-sidebar-title">文章</span><!----></p><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-Clion/" aria-label="使用 Clion 来进行 Air32 的开发"><!---->使用 Clion 来进行 Air32 的开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-MCO/" aria-label="Air32 的 HAL 改造——适配 MCO"><!---->Air32 的 HAL 改造——适配 MCO<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/HelloWorld/" aria-label="HelloWorld"><!---->HelloWorld<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/STC_CoreMark/" aria-label="不服来跑个分?将 CoreMark 移植到 STC 上试试"><!---->不服来跑个分?将 CoreMark 移植到 STC 上试试<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="为什么我对第三代郊狼失望"><!---->为什么我对第三代郊狼失望<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-HighFreq/" aria-label="发挥全部实力!Air32 在 HAL 库环境下运行最高主频"><!---->发挥全部实力!Air32 在 HAL 库环境下运行最高主频<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/embedded_fmtlib/" aria-label="在嵌入式设备上使用fmtlib"><!---->在嵌入式设备上使用fmtlib<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/conda_novelai/" aria-label="基于conda进行手动配置novelAI"><!---->基于conda进行手动配置novelAI<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="对《为什么我对第三代郊狼失望》一文的澄清说明"><!---->对《为什么我对第三代郊狼失望》一文的澄清说明<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Empedded-CI-CD/" aria-label="嵌入式中的 CI/CD"><!---->嵌入式中的 CI/CD<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/MDK6-Dev/" aria-label="更现代的开发方式?使用 MDK6 进行开发"><!---->更现代的开发方式?使用 MDK6 进行开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/SEGGER-RTT/" aria-label="更高效的日志查看方式——使用SEGGER-RTT"><!---->更高效的日志查看方式——使用SEGGER-RTT<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/EpdTraps1/" aria-label="墨水屏的坑——7.5寸墨水屏刷新为何出现条纹"><!---->墨水屏的坑——7.5寸墨水屏刷新为何出现条纹<!----></a></li></ul></section></li></ul><!--[--><!----><!--]--></aside><!--[--><div class="vp-page vp-blog"><div class="blog-page-wrapper"><main id="main-content" class="vp-blog-main"><ul class="tag-list-wrapper"><li class="tag tag8"><a class="route-link" href="/tag/%E5%90%88%E5%AE%99/">合宙<span class="tag-num">6</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/air32/">Air32<span class="tag-num">4</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/air001/">Air001<span class="tag-num">3</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/%E5%B5%8C%E5%85%A5%E5%BC%8F/">嵌入式<span class="tag-num">2</span></a></li><li class="tag tag6"><a class="route-link" href="/tag/%E7%A2%8E%E7%A2%8E%E5%BF%B5/">碎碎念<span class="tag-num">2</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/%E9%83%8A%E7%8B%BC/">郊狼<span class="tag-num">2</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/mco/">MCO<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/helloworld/">HelloWorld<span class="tag-num">1</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/stc32/">STC32<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/stc8/">STC8<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/coremark/">CoreMark<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/clion/">Clion<span class="tag-num">1</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/%E8%B6%85%E9%A2%91/">超频<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/fmtlib/">fmtlib<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/esp8266/">ESP8266<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/esp32/">ESP32<span class="tag-num">1</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/arduino/">Arduino<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/platformio/">PlatformIO<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/esp-idf/">ESP-IDF<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/">人工智能<span class="tag-num">1</span></a></li><li class="tag tag1"><a class="route-link" href="/tag/novelai/">novelAI<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/conda/">conda<span class="tag-num">1</span></a></li><li class="tag tag7"><a class="route-link" href="/tag/%E5%A2%A8%E6%B0%B4%E5%B1%8F/">墨水屏<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/uc8179/">UC8179<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/depg0750rwu790f30/">DEPG0750RWU790F30<span class="tag-num">1</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/%E9%81%87%E5%88%B0%E7%9A%84%E5%9D%91/">遇到的坑<span class="tag-num">1</span></a></li><li class="tag tag2 active"><a class="route-link" href="/tag/cicd/">CI/CD<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/%E6%97%A5%E5%BF%97/">日志<span class="tag-num">1</span></a></li></ul><div id="article-list" class="vp-article-list" role="feed"><div class="vp-article-wrapper"><article class="vp-article-item" vocab="https://schema.org/" typeof="Article"><!--[--><!--]--><!----><a class="route-link" href="/posts/Empedded-CI-CD/"><header class="vp-article-title"><!----><!----><span property="headline">嵌入式中的 CI/CD</span></header></a><div class="vp-article-excerpt"><p>对于传统的嵌入式开发来说,我们一般常用的IDE都是诸如Keil、IAR等。这些IDE在方便了我们的开发的同时,也存在很多问题,例如在之前Keil-MDK5是不能跨平台的,仅限在Windows平台运行,并且它的授权也是一个老大难的问题。这样我们在团队协作的时候往往就会遇到很多问题,无法像是互联网的开发那样有一套完整的CI/CD流程。但是MDK6的更新解决了这个问题,第一它是跨平台的,这样在Windows、Linux以及MacOS上都能运行;并且也支持了很多命令行的操作,避免了繁琐的GUI操作,这样也更有利于自动化脚本的编写。</p>
 </div><hr class="vp-article-hr"><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2024-01-07T12:30:00.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>大约 5 分钟</span><meta property="timeRequired" content="PT5M"></span><span class="page-category-info" aria-label="分类🌈" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg><!--[--><span class="page-category-item category8 clickable" role="navigation">单片机</span><!--]--><meta property="articleSection" content="单片机"></span><span class="page-tag-info" aria-label="标签🏷" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg><!--[--><span class="page-tag-item tag8 clickable" role="navigation">Air001</span><span class="page-tag-item tag8 clickable" role="navigation">合宙</span><span class="page-tag-item tag2 clickable" role="navigation">CI/CD</span><!--]--><meta property="keywords" content="Air001,合宙,CI/CD"></span></div></article></div><div class="vp-pagination"></div></div></main><aside class="vp-blog-info-wrapper"><div class="vp-blogger-info" vocab="https://schema.org/" typeof="Person"><div class="vp-blogger" style="cursor:pointer;" aria-label="个人介绍" data-balloon-pos="down" role="link"><img class="vp-blogger-avatar" src="/img/Headshot.jpg" property="image" alt="Blogger Avatar" loading="lazy"><div class="vp-blogger-name" property="name">HalfSweet</div><div class="vp-blogger-description">Try to create some value</div><meta property="url" content="/Catalogue/02.about.html"></div><div class="vp-blog-counts"><a class="route-link vp-blog-count" href="/article/"><div class="count">13</div><div>文章</div></a><a class="route-link vp-blog-count" href="/category/"><div class="count">5</div><div>分类</div></a><a class="route-link vp-blog-count" href="/tag/"><div class="count">28</div><div>标签</div></a><a class="route-link vp-blog-count" href="/timeline/"><div class="count">13</div><div>时间轴</div></a></div><div class="vp-social-medias"><a class="vp-social-media" href="mailto:HalfSweet@HalfSweet.cn" rel="noopener noreferrer" target="_blank" aria-label="Email" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon email-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#1384FF"/><path fill="#fff" d="M270.077 286.233H751.99c32.933 0 59.86 24.855 60.274 55.51l-301.023 157L210.217 341.88c.207-30.723 26.927-55.717 59.86-55.717zm-59.929 115.714-.276 277.756c0 30.931 27.134 56.2 60.205 56.2H751.99c33.14 0 60.274-25.269 60.274-56.2V401.81L518.283 551.492a15.88 15.88 0 0 1-14.43 0L210.148 401.947z"/></svg></a><a class="vp-social-media" href="https://github.com/HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="GitHub" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#171515"/><path fill="#fff" d="M509.423 146.442c-200.317 0-362.756 162.42-362.756 362.8 0 160.266 103.936 296.24 248.109 344.217 18.139 3.327 24.76-7.872 24.76-17.486 0-8.613-.313-31.427-.49-61.702-100.912 21.923-122.205-48.63-122.205-48.63-16.495-41.91-40.28-53.067-40.28-53.067-32.937-22.51 2.492-22.053 2.492-22.053 36.407 2.566 55.568 37.386 55.568 37.386 32.362 55.438 84.907 39.43 105.58 30.143 3.296-23.444 12.667-39.43 23.032-48.498-80.557-9.156-165.246-40.28-165.246-179.297 0-39.604 14.135-71.988 37.342-97.348-3.731-9.178-16.18-46.063 3.556-96.009 0 0 30.46-9.754 99.76 37.19 28.937-8.048 59.97-12.071 90.823-12.211 30.807.14 61.843 4.165 90.822 12.21 69.26-46.944 99.663-37.189 99.663-37.189 19.792 49.946 7.34 86.831 3.61 96.01 23.25 25.359 37.29 57.742 37.29 97.347 0 139.366-84.82 170.033-165.637 179.013 13.026 11.2 24.628 33.342 24.628 67.182 0 48.498-.445 87.627-.445 99.521 0 9.702 6.535 20.988 24.945 17.444 144.03-48.067 247.881-183.95 247.881-344.175 0-200.378-162.442-362.798-362.802-362.798z"/></svg></a><a class="vp-social-media" href="https://twitter.com/_HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="Twitter" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon twitter-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512"/><path fill="#FFF" d="m560 473 186-216h-44L540 445 411 257H262l195 284-195 226h44l171-198 136 198h149zM322 290h68l312 445h-68z"/></svg></a></div></div><div class="vp-blog-infos"><div class="vp-blog-type-switcher"><button type="button" class="vp-blog-type-button"><div class="icon-wrapper active" aria-label="文章" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="分类" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="标签" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="时间轴" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timeline-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timeline icon"><path d="M511.997 70.568c-243.797 0-441.429 197.633-441.429 441.435 0 243.797 197.632 441.429 441.43 441.429S953.431 755.8 953.431 512.002c0-243.796-197.637-441.434-441.435-441.434zm150.158 609.093-15.605 15.61c-8.621 8.615-22.596 8.615-31.215 0L472.197 552.126c-4.95-4.944-4.34-14.888-4.34-24.677V247.14c0-12.19 9.882-22.07 22.07-22.07h22.07c12.19 0 22.07 9.882 22.07 22.07v273.218l128.088 128.088c8.62 8.62 8.62 22.595 0 31.215zm0 0"></path></svg></div></button></div><div class="vp-star-article-wrapper"><div class="title"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg><span class="num">13</span>文章</div><hr><div class="vp-star-article-empty">星标 为空</div></div></div></aside></div></div><!--]--><footer class="vp-footer-wrapper"><div class="vp-footer">今天咕咕被欺负了吗</div><div class="vp-copyright">Copyright © 2024 HalfSweet </div></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div>
-    <script type="module" src="/assets/app-ClwIkahu.js" defer></script>
+    <script type="module" src="/assets/app-Flo2gZk8.js" defer></script>
   </body>
 </html>
diff --git a/tag/clion/index.html b/tag/clion/index.html
index d44a4ca..00f361f 100644
--- a/tag/clion/index.html
+++ b/tag/clion/index.html
@@ -29,13 +29,13 @@
       }
     </script>
     <meta property="og:url" content="https://halfsweet.cn/tag/clion/"><meta property="og:site_name" content="HalfSweet's Blog"><meta property="og:title" content="标签: Clion"><meta property="og:type" content="website"><meta property="og:locale" content="zh-CN"><meta property="article:author" content="HalfSweet"><script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","name":"标签: Clion"}</script><title>标签: Clion | HalfSweet's Blog</title><meta name="description" content="半糖的博客">
-    <link rel="preload" href="/assets/style-BDwnt-CL.css" as="style"><link rel="stylesheet" href="/assets/style-BDwnt-CL.css">
-    <link rel="modulepreload" href="/assets/app-ClwIkahu.js"><link rel="modulepreload" href="/assets/index.html-Bk9EBjUw.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
-    <link rel="prefetch" href="/assets/index.html-BjG6C5xb.js" as="script"><link rel="prefetch" href="/assets/index.html-6gNmrYKw.js" as="script"><link rel="prefetch" href="/assets/index.html-W8DPbcPd.js" as="script"><link rel="prefetch" href="/assets/index.html-75fD8c0W.js" as="script"><link rel="prefetch" href="/assets/index.html-CufQKtZU.js" as="script"><link rel="prefetch" href="/assets/index.html-Bqe7scks.js" as="script"><link rel="prefetch" href="/assets/index.html-B5-KeVPb.js" as="script"><link rel="prefetch" href="/assets/index.html-C7FigsQF.js" as="script"><link rel="prefetch" href="/assets/index.html-DtEE6E7f.js" as="script"><link rel="prefetch" href="/assets/index.html-0oPRY09N.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNCX4dz.js" as="script"><link rel="prefetch" href="/assets/index.html-XtQdJJI8.js" as="script"><link rel="prefetch" href="/assets/index.html-CnJ0E6b5.js" as="script"><link rel="prefetch" href="/assets/index.html-CFhDcrZp.js" as="script"><link rel="prefetch" href="/assets/index.html-Bd1PkxNi.js" as="script"><link rel="prefetch" href="/assets/index.html-DJ-_mZ9n.js" as="script"><link rel="prefetch" href="/assets/index.html-jFzM8lrm.js" as="script"><link rel="prefetch" href="/assets/404.html-VMfaDGRx.js" as="script"><link rel="prefetch" href="/assets/index.html-BaR2aqhq.js" as="script"><link rel="prefetch" href="/assets/index.html-DO2xY2T5.js" as="script"><link rel="prefetch" href="/assets/index.html-BEwHBlkc.js" as="script"><link rel="prefetch" href="/assets/index.html-DZIt3Q5g.js" as="script"><link rel="prefetch" href="/assets/index.html-Dd9JrssL.js" as="script"><link rel="prefetch" href="/assets/index.html-BjPOIJdK.js" as="script"><link rel="prefetch" href="/assets/index.html-CmtlWOBH.js" as="script"><link rel="prefetch" href="/assets/index.html-CR-9qG2Y.js" as="script"><link rel="prefetch" href="/assets/index.html-CwWDCYUS.js" as="script"><link rel="prefetch" href="/assets/index.html-CptFZpi0.js" as="script"><link rel="prefetch" href="/assets/index.html-p6Y7Jm3n.js" as="script"><link rel="prefetch" href="/assets/index.html-CIen8cvO.js" as="script"><link rel="prefetch" href="/assets/index.html-BKUs44hv.js" as="script"><link rel="prefetch" href="/assets/index.html-D0wSSTgQ.js" as="script"><link rel="prefetch" href="/assets/index.html-DqsCIdcm.js" as="script"><link rel="prefetch" href="/assets/index.html-kUwAIzkD.js" as="script"><link rel="prefetch" href="/assets/index.html-BqgjNdmg.js" as="script"><link rel="prefetch" href="/assets/index.html-DIaDLRqn.js" as="script"><link rel="prefetch" href="/assets/index.html-DhcL23aG.js" as="script"><link rel="prefetch" href="/assets/index.html-C0X-QC5U.js" as="script"><link rel="prefetch" href="/assets/index.html-ZwD6xCF4.js" as="script"><link rel="prefetch" href="/assets/index.html-BdqadbH8.js" as="script"><link rel="prefetch" href="/assets/index.html-D7Uf3Wbw.js" as="script"><link rel="prefetch" href="/assets/index.html-CsuDpoYK.js" as="script"><link rel="prefetch" href="/assets/index.html-Dc2bdBF2.js" as="script"><link rel="prefetch" href="/assets/index.html-BzgkemtD.js" as="script"><link rel="prefetch" href="/assets/index.html-7uHHiaZx.js" as="script"><link rel="prefetch" href="/assets/index.html-TGoZudvZ.js" as="script"><link rel="prefetch" href="/assets/index.html-DbCWijUV.js" as="script"><link rel="prefetch" href="/assets/index.html-DOCRL60a.js" as="script"><link rel="prefetch" href="/assets/index.html-B8qYb7wb.js" as="script"><link rel="prefetch" href="/assets/index.html-CpBdG6tv.js" as="script"><link rel="prefetch" href="/assets/index.html-DdE0h7xo.js" as="script"><link rel="prefetch" href="/assets/index.html-BlsdgZAc.js" as="script"><link rel="prefetch" href="/assets/index.html-Du74cC6X.js" as="script"><link rel="prefetch" href="/assets/index.html-CTp2Oa39.js" as="script"><link rel="prefetch" href="/assets/index.html-Bz73p56D.js" as="script"><link rel="prefetch" href="/assets/index.html-BktjQtFB.js" as="script"><link rel="prefetch" href="/assets/index.html-DPl--Ppt.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-BF52VcER.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CgYxLcm_.js" as="script"><link rel="prefetch" href="/assets/artplayer-CHAGXahu.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-BOVnG7as.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-CbA2In8H.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-Do1ld-lW.js" as="script"><link rel="prefetch" href="/assets/giscus-7BMGhbDA.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-SzV8tJDW.js" as="script">
+    <link rel="preload" href="/assets/style-7DTFFHvh.css" as="style"><link rel="stylesheet" href="/assets/style-7DTFFHvh.css">
+    <link rel="modulepreload" href="/assets/app-Flo2gZk8.js"><link rel="modulepreload" href="/assets/index.html-BXxGxqK4.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
+    <link rel="prefetch" href="/assets/index.html-BhtLl4n3.js" as="script"><link rel="prefetch" href="/assets/index.html-C6yte3a0.js" as="script"><link rel="prefetch" href="/assets/index.html-R-cHHIas.js" as="script"><link rel="prefetch" href="/assets/index.html-CPUAg15t.js" as="script"><link rel="prefetch" href="/assets/index.html-BjdnOCC5.js" as="script"><link rel="prefetch" href="/assets/index.html-7Xyk7CrU.js" as="script"><link rel="prefetch" href="/assets/index.html-BNW3YRR3.js" as="script"><link rel="prefetch" href="/assets/index.html-jClrTNl3.js" as="script"><link rel="prefetch" href="/assets/index.html-tFfBEjXi.js" as="script"><link rel="prefetch" href="/assets/index.html-DgPmeCdQ.js" as="script"><link rel="prefetch" href="/assets/index.html-CxRigd-R.js" as="script"><link rel="prefetch" href="/assets/index.html-BWPjJqfa.js" as="script"><link rel="prefetch" href="/assets/index.html-DzG2EJXJ.js" as="script"><link rel="prefetch" href="/assets/index.html-B45efyIG.js" as="script"><link rel="prefetch" href="/assets/index.html-D_Px6PD2.js" as="script"><link rel="prefetch" href="/assets/index.html-U1Oe9QlK.js" as="script"><link rel="prefetch" href="/assets/index.html-fvB3i9PM.js" as="script"><link rel="prefetch" href="/assets/404.html-mkIobPP0.js" as="script"><link rel="prefetch" href="/assets/index.html-DGqb01LU.js" as="script"><link rel="prefetch" href="/assets/index.html-GZfFX8ok.js" as="script"><link rel="prefetch" href="/assets/index.html-vhaMR1PK.js" as="script"><link rel="prefetch" href="/assets/index.html-CvSEeOlH.js" as="script"><link rel="prefetch" href="/assets/index.html-BmplSMWS.js" as="script"><link rel="prefetch" href="/assets/index.html-C2sDDxGY.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNwolvq.js" as="script"><link rel="prefetch" href="/assets/index.html-DhSSZBRU.js" as="script"><link rel="prefetch" href="/assets/index.html-DPcGNBru.js" as="script"><link rel="prefetch" href="/assets/index.html-BFJ0kKZP.js" as="script"><link rel="prefetch" href="/assets/index.html-CBW4olfB.js" as="script"><link rel="prefetch" href="/assets/index.html-CiBWk0Bg.js" as="script"><link rel="prefetch" href="/assets/index.html-AFWYFeTY.js" as="script"><link rel="prefetch" href="/assets/index.html-DlrkN0XZ.js" as="script"><link rel="prefetch" href="/assets/index.html-Cb-sPtFS.js" as="script"><link rel="prefetch" href="/assets/index.html-DPF-EyUV.js" as="script"><link rel="prefetch" href="/assets/index.html-AqhAiBBF.js" as="script"><link rel="prefetch" href="/assets/index.html-DLZdHb6J.js" as="script"><link rel="prefetch" href="/assets/index.html-Cpr5viHS.js" as="script"><link rel="prefetch" href="/assets/index.html-4asd-b47.js" as="script"><link rel="prefetch" href="/assets/index.html-ZITi3OK2.js" as="script"><link rel="prefetch" href="/assets/index.html-DJMKg_M6.js" as="script"><link rel="prefetch" href="/assets/index.html-Y__KWg8u.js" as="script"><link rel="prefetch" href="/assets/index.html--BIzY7gk.js" as="script"><link rel="prefetch" href="/assets/index.html-BRHXQqdq.js" as="script"><link rel="prefetch" href="/assets/index.html-C_2nkQ6B.js" as="script"><link rel="prefetch" href="/assets/index.html-R9oSKuoP.js" as="script"><link rel="prefetch" href="/assets/index.html-DY-KY6vi.js" as="script"><link rel="prefetch" href="/assets/index.html-BSndmKE7.js" as="script"><link rel="prefetch" href="/assets/index.html-BDmR_g70.js" as="script"><link rel="prefetch" href="/assets/index.html-CpeDyHcd.js" as="script"><link rel="prefetch" href="/assets/index.html-DV9WiiCS.js" as="script"><link rel="prefetch" href="/assets/index.html-DTceWJaH.js" as="script"><link rel="prefetch" href="/assets/index.html-2WOtvPq_.js" as="script"><link rel="prefetch" href="/assets/index.html-DCVozm3V.js" as="script"><link rel="prefetch" href="/assets/index.html-vKhQGG0S.js" as="script"><link rel="prefetch" href="/assets/index.html-BlvUTCvM.js" as="script"><link rel="prefetch" href="/assets/index.html-vIW8aJUJ.js" as="script"><link rel="prefetch" href="/assets/index.html-CTuZCChr.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-S0Hns9UN.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CSFeuThZ.js" as="script"><link rel="prefetch" href="/assets/artplayer-DnixxQIM.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-DaNo29Rn.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-nRkOMaNb.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-DQalTb-T.js" as="script"><link rel="prefetch" href="/assets/giscus-D-fkNSKD.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-GXRgw7eJ.js" as="script">
   </head>
   <body>
     <div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container no-sidebar"><!--[--><header id="navbar" class="vp-navbar"><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><!--[--><a class="route-link vp-brand" href="/"><img class="vp-nav-logo" src="/img/Headshot.jpg" alt><!----><span class="vp-site-name hide-in-pad">HalfSweet&#39;s Blog</span></a><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-center"><!--[--><!----><!--]--><!--[--><nav class="vp-nav-links"><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/posts/" aria-label="文章"><span class="font-icon icon app" style=""></span>文章<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/about/" aria-label="关于"><span class="font-icon icon user" style=""></span>关于<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/friends/" aria-label="友链"><span class="font-icon icon link" style=""></span>友链<!----></a></div></nav><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-end"><!--[--><!----><!--]--><!--[--><!----><div class="nav-item vp-repo"><a class="vp-repo-link" href="https://github.com/HalfSweet/Blog" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><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"></path></svg></a></div><div class="nav-item hide-in-mobile"><button type="button" id="appearance-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" style="display:block;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" style="display:none;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" style="display:none;"><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"></path></svg></button></div><!----><!--]--><!--[--><!----><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar"><!--[--><!----><!--]--><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></li><li><section class="vp-sidebar-group"><p class="vp-sidebar-header"><span class="font-icon icon book" style=""></span><span class="vp-sidebar-title">文章</span><!----></p><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-Clion/" aria-label="使用 Clion 来进行 Air32 的开发"><!---->使用 Clion 来进行 Air32 的开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-MCO/" aria-label="Air32 的 HAL 改造——适配 MCO"><!---->Air32 的 HAL 改造——适配 MCO<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/HelloWorld/" aria-label="HelloWorld"><!---->HelloWorld<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/STC_CoreMark/" aria-label="不服来跑个分?将 CoreMark 移植到 STC 上试试"><!---->不服来跑个分?将 CoreMark 移植到 STC 上试试<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="为什么我对第三代郊狼失望"><!---->为什么我对第三代郊狼失望<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-HighFreq/" aria-label="发挥全部实力!Air32 在 HAL 库环境下运行最高主频"><!---->发挥全部实力!Air32 在 HAL 库环境下运行最高主频<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/embedded_fmtlib/" aria-label="在嵌入式设备上使用fmtlib"><!---->在嵌入式设备上使用fmtlib<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/conda_novelai/" aria-label="基于conda进行手动配置novelAI"><!---->基于conda进行手动配置novelAI<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="对《为什么我对第三代郊狼失望》一文的澄清说明"><!---->对《为什么我对第三代郊狼失望》一文的澄清说明<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Empedded-CI-CD/" aria-label="嵌入式中的 CI/CD"><!---->嵌入式中的 CI/CD<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/MDK6-Dev/" aria-label="更现代的开发方式?使用 MDK6 进行开发"><!---->更现代的开发方式?使用 MDK6 进行开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/SEGGER-RTT/" aria-label="更高效的日志查看方式——使用SEGGER-RTT"><!---->更高效的日志查看方式——使用SEGGER-RTT<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/EpdTraps1/" aria-label="墨水屏的坑——7.5寸墨水屏刷新为何出现条纹"><!---->墨水屏的坑——7.5寸墨水屏刷新为何出现条纹<!----></a></li></ul></section></li></ul><!--[--><!----><!--]--></aside><!--[--><div class="vp-page vp-blog"><div class="blog-page-wrapper"><main id="main-content" class="vp-blog-main"><ul class="tag-list-wrapper"><li class="tag tag8"><a class="route-link" href="/tag/%E5%90%88%E5%AE%99/">合宙<span class="tag-num">6</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/air32/">Air32<span class="tag-num">4</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/air001/">Air001<span class="tag-num">3</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/%E5%B5%8C%E5%85%A5%E5%BC%8F/">嵌入式<span class="tag-num">2</span></a></li><li class="tag tag6"><a class="route-link" href="/tag/%E7%A2%8E%E7%A2%8E%E5%BF%B5/">碎碎念<span class="tag-num">2</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/%E9%83%8A%E7%8B%BC/">郊狼<span class="tag-num">2</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/mco/">MCO<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/helloworld/">HelloWorld<span class="tag-num">1</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/stc32/">STC32<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/stc8/">STC8<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/coremark/">CoreMark<span class="tag-num">1</span></a></li><li class="tag tag8 active"><a class="route-link" href="/tag/clion/">Clion<span class="tag-num">1</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/%E8%B6%85%E9%A2%91/">超频<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/fmtlib/">fmtlib<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/esp8266/">ESP8266<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/esp32/">ESP32<span class="tag-num">1</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/arduino/">Arduino<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/platformio/">PlatformIO<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/esp-idf/">ESP-IDF<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/">人工智能<span class="tag-num">1</span></a></li><li class="tag tag1"><a class="route-link" href="/tag/novelai/">novelAI<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/conda/">conda<span class="tag-num">1</span></a></li><li class="tag tag7"><a class="route-link" href="/tag/%E5%A2%A8%E6%B0%B4%E5%B1%8F/">墨水屏<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/uc8179/">UC8179<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/depg0750rwu790f30/">DEPG0750RWU790F30<span class="tag-num">1</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/%E9%81%87%E5%88%B0%E7%9A%84%E5%9D%91/">遇到的坑<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/cicd/">CI/CD<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/%E6%97%A5%E5%BF%97/">日志<span class="tag-num">1</span></a></li></ul><div id="article-list" class="vp-article-list" role="feed"><div class="vp-article-wrapper"><article class="vp-article-item" vocab="https://schema.org/" typeof="Article"><!--[--><!--]--><!----><a class="route-link" href="/posts/Air32-Clion/"><header class="vp-article-title"><!----><!----><span property="headline">使用 Clion 来进行 Air32 的开发</span></header></a><div class="vp-article-excerpt"><p>在上几篇文章中,我们将 HAL 库移植给了 Air32,但是我们的开发环境还是使用的 Keil,这样就会导致一些问题,比如 Keil 的代码提示不够友好,而且 Keil 的代码补全也不够完善,因此我们可以使用一个更好的开发环境,比如 Clion。</p>
 </div><hr class="vp-article-hr"><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2023-08-27T20:30:00.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>大约 3 分钟</span><meta property="timeRequired" content="PT3M"></span><span class="page-category-info" aria-label="分类🌈" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg><!--[--><span class="page-category-item category8 clickable" role="navigation">单片机</span><!--]--><meta property="articleSection" content="单片机"></span><span class="page-tag-info" aria-label="标签🏷" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg><!--[--><span class="page-tag-item tag4 clickable" role="navigation">Air32</span><span class="page-tag-item tag8 clickable" role="navigation">合宙</span><span class="page-tag-item tag8 clickable" role="navigation">Clion</span><!--]--><meta property="keywords" content="Air32,合宙,Clion"></span></div></article></div><div class="vp-pagination"></div></div></main><aside class="vp-blog-info-wrapper"><div class="vp-blogger-info" vocab="https://schema.org/" typeof="Person"><div class="vp-blogger" style="cursor:pointer;" aria-label="个人介绍" data-balloon-pos="down" role="link"><img class="vp-blogger-avatar" src="/img/Headshot.jpg" property="image" alt="Blogger Avatar" loading="lazy"><div class="vp-blogger-name" property="name">HalfSweet</div><div class="vp-blogger-description">Try to create some value</div><meta property="url" content="/Catalogue/02.about.html"></div><div class="vp-blog-counts"><a class="route-link vp-blog-count" href="/article/"><div class="count">13</div><div>文章</div></a><a class="route-link vp-blog-count" href="/category/"><div class="count">5</div><div>分类</div></a><a class="route-link vp-blog-count" href="/tag/"><div class="count">28</div><div>标签</div></a><a class="route-link vp-blog-count" href="/timeline/"><div class="count">13</div><div>时间轴</div></a></div><div class="vp-social-medias"><a class="vp-social-media" href="mailto:HalfSweet@HalfSweet.cn" rel="noopener noreferrer" target="_blank" aria-label="Email" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon email-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#1384FF"/><path fill="#fff" d="M270.077 286.233H751.99c32.933 0 59.86 24.855 60.274 55.51l-301.023 157L210.217 341.88c.207-30.723 26.927-55.717 59.86-55.717zm-59.929 115.714-.276 277.756c0 30.931 27.134 56.2 60.205 56.2H751.99c33.14 0 60.274-25.269 60.274-56.2V401.81L518.283 551.492a15.88 15.88 0 0 1-14.43 0L210.148 401.947z"/></svg></a><a class="vp-social-media" href="https://github.com/HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="GitHub" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#171515"/><path fill="#fff" d="M509.423 146.442c-200.317 0-362.756 162.42-362.756 362.8 0 160.266 103.936 296.24 248.109 344.217 18.139 3.327 24.76-7.872 24.76-17.486 0-8.613-.313-31.427-.49-61.702-100.912 21.923-122.205-48.63-122.205-48.63-16.495-41.91-40.28-53.067-40.28-53.067-32.937-22.51 2.492-22.053 2.492-22.053 36.407 2.566 55.568 37.386 55.568 37.386 32.362 55.438 84.907 39.43 105.58 30.143 3.296-23.444 12.667-39.43 23.032-48.498-80.557-9.156-165.246-40.28-165.246-179.297 0-39.604 14.135-71.988 37.342-97.348-3.731-9.178-16.18-46.063 3.556-96.009 0 0 30.46-9.754 99.76 37.19 28.937-8.048 59.97-12.071 90.823-12.211 30.807.14 61.843 4.165 90.822 12.21 69.26-46.944 99.663-37.189 99.663-37.189 19.792 49.946 7.34 86.831 3.61 96.01 23.25 25.359 37.29 57.742 37.29 97.347 0 139.366-84.82 170.033-165.637 179.013 13.026 11.2 24.628 33.342 24.628 67.182 0 48.498-.445 87.627-.445 99.521 0 9.702 6.535 20.988 24.945 17.444 144.03-48.067 247.881-183.95 247.881-344.175 0-200.378-162.442-362.798-362.802-362.798z"/></svg></a><a class="vp-social-media" href="https://twitter.com/_HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="Twitter" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon twitter-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512"/><path fill="#FFF" d="m560 473 186-216h-44L540 445 411 257H262l195 284-195 226h44l171-198 136 198h149zM322 290h68l312 445h-68z"/></svg></a></div></div><div class="vp-blog-infos"><div class="vp-blog-type-switcher"><button type="button" class="vp-blog-type-button"><div class="icon-wrapper active" aria-label="文章" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="分类" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="标签" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="时间轴" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timeline-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timeline icon"><path d="M511.997 70.568c-243.797 0-441.429 197.633-441.429 441.435 0 243.797 197.632 441.429 441.43 441.429S953.431 755.8 953.431 512.002c0-243.796-197.637-441.434-441.435-441.434zm150.158 609.093-15.605 15.61c-8.621 8.615-22.596 8.615-31.215 0L472.197 552.126c-4.95-4.944-4.34-14.888-4.34-24.677V247.14c0-12.19 9.882-22.07 22.07-22.07h22.07c12.19 0 22.07 9.882 22.07 22.07v273.218l128.088 128.088c8.62 8.62 8.62 22.595 0 31.215zm0 0"></path></svg></div></button></div><div class="vp-star-article-wrapper"><div class="title"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg><span class="num">13</span>文章</div><hr><div class="vp-star-article-empty">星标 为空</div></div></div></aside></div></div><!--]--><footer class="vp-footer-wrapper"><div class="vp-footer">今天咕咕被欺负了吗</div><div class="vp-copyright">Copyright © 2024 HalfSweet </div></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div>
-    <script type="module" src="/assets/app-ClwIkahu.js" defer></script>
+    <script type="module" src="/assets/app-Flo2gZk8.js" defer></script>
   </body>
 </html>
diff --git a/tag/conda/index.html b/tag/conda/index.html
index fc9be1b..7f82f72 100644
--- a/tag/conda/index.html
+++ b/tag/conda/index.html
@@ -29,13 +29,13 @@
       }
     </script>
     <meta property="og:url" content="https://halfsweet.cn/tag/conda/"><meta property="og:site_name" content="HalfSweet's Blog"><meta property="og:title" content="标签: conda"><meta property="og:type" content="website"><meta property="og:locale" content="zh-CN"><meta property="article:author" content="HalfSweet"><script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","name":"标签: conda"}</script><title>标签: conda | HalfSweet's Blog</title><meta name="description" content="半糖的博客">
-    <link rel="preload" href="/assets/style-BDwnt-CL.css" as="style"><link rel="stylesheet" href="/assets/style-BDwnt-CL.css">
-    <link rel="modulepreload" href="/assets/app-ClwIkahu.js"><link rel="modulepreload" href="/assets/index.html-DbCWijUV.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
-    <link rel="prefetch" href="/assets/index.html-BjG6C5xb.js" as="script"><link rel="prefetch" href="/assets/index.html-6gNmrYKw.js" as="script"><link rel="prefetch" href="/assets/index.html-W8DPbcPd.js" as="script"><link rel="prefetch" href="/assets/index.html-75fD8c0W.js" as="script"><link rel="prefetch" href="/assets/index.html-CufQKtZU.js" as="script"><link rel="prefetch" href="/assets/index.html-Bqe7scks.js" as="script"><link rel="prefetch" href="/assets/index.html-B5-KeVPb.js" as="script"><link rel="prefetch" href="/assets/index.html-C7FigsQF.js" as="script"><link rel="prefetch" href="/assets/index.html-DtEE6E7f.js" as="script"><link rel="prefetch" href="/assets/index.html-0oPRY09N.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNCX4dz.js" as="script"><link rel="prefetch" href="/assets/index.html-XtQdJJI8.js" as="script"><link rel="prefetch" href="/assets/index.html-CnJ0E6b5.js" as="script"><link rel="prefetch" href="/assets/index.html-CFhDcrZp.js" as="script"><link rel="prefetch" href="/assets/index.html-Bd1PkxNi.js" as="script"><link rel="prefetch" href="/assets/index.html-DJ-_mZ9n.js" as="script"><link rel="prefetch" href="/assets/index.html-jFzM8lrm.js" as="script"><link rel="prefetch" href="/assets/404.html-VMfaDGRx.js" as="script"><link rel="prefetch" href="/assets/index.html-BaR2aqhq.js" as="script"><link rel="prefetch" href="/assets/index.html-DO2xY2T5.js" as="script"><link rel="prefetch" href="/assets/index.html-BEwHBlkc.js" as="script"><link rel="prefetch" href="/assets/index.html-DZIt3Q5g.js" as="script"><link rel="prefetch" href="/assets/index.html-Dd9JrssL.js" as="script"><link rel="prefetch" href="/assets/index.html-BjPOIJdK.js" as="script"><link rel="prefetch" href="/assets/index.html-CmtlWOBH.js" as="script"><link rel="prefetch" href="/assets/index.html-CR-9qG2Y.js" as="script"><link rel="prefetch" href="/assets/index.html-CwWDCYUS.js" as="script"><link rel="prefetch" href="/assets/index.html-CptFZpi0.js" as="script"><link rel="prefetch" href="/assets/index.html-p6Y7Jm3n.js" as="script"><link rel="prefetch" href="/assets/index.html-CIen8cvO.js" as="script"><link rel="prefetch" href="/assets/index.html-BKUs44hv.js" as="script"><link rel="prefetch" href="/assets/index.html-D0wSSTgQ.js" as="script"><link rel="prefetch" href="/assets/index.html-DqsCIdcm.js" as="script"><link rel="prefetch" href="/assets/index.html-kUwAIzkD.js" as="script"><link rel="prefetch" href="/assets/index.html-BqgjNdmg.js" as="script"><link rel="prefetch" href="/assets/index.html-DIaDLRqn.js" as="script"><link rel="prefetch" href="/assets/index.html-DhcL23aG.js" as="script"><link rel="prefetch" href="/assets/index.html-Bk9EBjUw.js" as="script"><link rel="prefetch" href="/assets/index.html-C0X-QC5U.js" as="script"><link rel="prefetch" href="/assets/index.html-ZwD6xCF4.js" as="script"><link rel="prefetch" href="/assets/index.html-BdqadbH8.js" as="script"><link rel="prefetch" href="/assets/index.html-D7Uf3Wbw.js" as="script"><link rel="prefetch" href="/assets/index.html-CsuDpoYK.js" as="script"><link rel="prefetch" href="/assets/index.html-Dc2bdBF2.js" as="script"><link rel="prefetch" href="/assets/index.html-BzgkemtD.js" as="script"><link rel="prefetch" href="/assets/index.html-7uHHiaZx.js" as="script"><link rel="prefetch" href="/assets/index.html-TGoZudvZ.js" as="script"><link rel="prefetch" href="/assets/index.html-DOCRL60a.js" as="script"><link rel="prefetch" href="/assets/index.html-B8qYb7wb.js" as="script"><link rel="prefetch" href="/assets/index.html-CpBdG6tv.js" as="script"><link rel="prefetch" href="/assets/index.html-DdE0h7xo.js" as="script"><link rel="prefetch" href="/assets/index.html-BlsdgZAc.js" as="script"><link rel="prefetch" href="/assets/index.html-Du74cC6X.js" as="script"><link rel="prefetch" href="/assets/index.html-CTp2Oa39.js" as="script"><link rel="prefetch" href="/assets/index.html-Bz73p56D.js" as="script"><link rel="prefetch" href="/assets/index.html-BktjQtFB.js" as="script"><link rel="prefetch" href="/assets/index.html-DPl--Ppt.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-BF52VcER.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CgYxLcm_.js" as="script"><link rel="prefetch" href="/assets/artplayer-CHAGXahu.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-BOVnG7as.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-CbA2In8H.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-Do1ld-lW.js" as="script"><link rel="prefetch" href="/assets/giscus-7BMGhbDA.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-SzV8tJDW.js" as="script">
+    <link rel="preload" href="/assets/style-7DTFFHvh.css" as="style"><link rel="stylesheet" href="/assets/style-7DTFFHvh.css">
+    <link rel="modulepreload" href="/assets/app-Flo2gZk8.js"><link rel="modulepreload" href="/assets/index.html-BSndmKE7.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
+    <link rel="prefetch" href="/assets/index.html-BhtLl4n3.js" as="script"><link rel="prefetch" href="/assets/index.html-C6yte3a0.js" as="script"><link rel="prefetch" href="/assets/index.html-R-cHHIas.js" as="script"><link rel="prefetch" href="/assets/index.html-CPUAg15t.js" as="script"><link rel="prefetch" href="/assets/index.html-BjdnOCC5.js" as="script"><link rel="prefetch" href="/assets/index.html-7Xyk7CrU.js" as="script"><link rel="prefetch" href="/assets/index.html-BNW3YRR3.js" as="script"><link rel="prefetch" href="/assets/index.html-jClrTNl3.js" as="script"><link rel="prefetch" href="/assets/index.html-tFfBEjXi.js" as="script"><link rel="prefetch" href="/assets/index.html-DgPmeCdQ.js" as="script"><link rel="prefetch" href="/assets/index.html-CxRigd-R.js" as="script"><link rel="prefetch" href="/assets/index.html-BWPjJqfa.js" as="script"><link rel="prefetch" href="/assets/index.html-DzG2EJXJ.js" as="script"><link rel="prefetch" href="/assets/index.html-B45efyIG.js" as="script"><link rel="prefetch" href="/assets/index.html-D_Px6PD2.js" as="script"><link rel="prefetch" href="/assets/index.html-U1Oe9QlK.js" as="script"><link rel="prefetch" href="/assets/index.html-fvB3i9PM.js" as="script"><link rel="prefetch" href="/assets/404.html-mkIobPP0.js" as="script"><link rel="prefetch" href="/assets/index.html-DGqb01LU.js" as="script"><link rel="prefetch" href="/assets/index.html-GZfFX8ok.js" as="script"><link rel="prefetch" href="/assets/index.html-vhaMR1PK.js" as="script"><link rel="prefetch" href="/assets/index.html-CvSEeOlH.js" as="script"><link rel="prefetch" href="/assets/index.html-BmplSMWS.js" as="script"><link rel="prefetch" href="/assets/index.html-C2sDDxGY.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNwolvq.js" as="script"><link rel="prefetch" href="/assets/index.html-DhSSZBRU.js" as="script"><link rel="prefetch" href="/assets/index.html-DPcGNBru.js" as="script"><link rel="prefetch" href="/assets/index.html-BFJ0kKZP.js" as="script"><link rel="prefetch" href="/assets/index.html-CBW4olfB.js" as="script"><link rel="prefetch" href="/assets/index.html-CiBWk0Bg.js" as="script"><link rel="prefetch" href="/assets/index.html-AFWYFeTY.js" as="script"><link rel="prefetch" href="/assets/index.html-DlrkN0XZ.js" as="script"><link rel="prefetch" href="/assets/index.html-Cb-sPtFS.js" as="script"><link rel="prefetch" href="/assets/index.html-DPF-EyUV.js" as="script"><link rel="prefetch" href="/assets/index.html-AqhAiBBF.js" as="script"><link rel="prefetch" href="/assets/index.html-DLZdHb6J.js" as="script"><link rel="prefetch" href="/assets/index.html-Cpr5viHS.js" as="script"><link rel="prefetch" href="/assets/index.html-BXxGxqK4.js" as="script"><link rel="prefetch" href="/assets/index.html-4asd-b47.js" as="script"><link rel="prefetch" href="/assets/index.html-ZITi3OK2.js" as="script"><link rel="prefetch" href="/assets/index.html-DJMKg_M6.js" as="script"><link rel="prefetch" href="/assets/index.html-Y__KWg8u.js" as="script"><link rel="prefetch" href="/assets/index.html--BIzY7gk.js" as="script"><link rel="prefetch" href="/assets/index.html-BRHXQqdq.js" as="script"><link rel="prefetch" href="/assets/index.html-C_2nkQ6B.js" as="script"><link rel="prefetch" href="/assets/index.html-R9oSKuoP.js" as="script"><link rel="prefetch" href="/assets/index.html-DY-KY6vi.js" as="script"><link rel="prefetch" href="/assets/index.html-BDmR_g70.js" as="script"><link rel="prefetch" href="/assets/index.html-CpeDyHcd.js" as="script"><link rel="prefetch" href="/assets/index.html-DV9WiiCS.js" as="script"><link rel="prefetch" href="/assets/index.html-DTceWJaH.js" as="script"><link rel="prefetch" href="/assets/index.html-2WOtvPq_.js" as="script"><link rel="prefetch" href="/assets/index.html-DCVozm3V.js" as="script"><link rel="prefetch" href="/assets/index.html-vKhQGG0S.js" as="script"><link rel="prefetch" href="/assets/index.html-BlvUTCvM.js" as="script"><link rel="prefetch" href="/assets/index.html-vIW8aJUJ.js" as="script"><link rel="prefetch" href="/assets/index.html-CTuZCChr.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-S0Hns9UN.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CSFeuThZ.js" as="script"><link rel="prefetch" href="/assets/artplayer-DnixxQIM.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-DaNo29Rn.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-nRkOMaNb.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-DQalTb-T.js" as="script"><link rel="prefetch" href="/assets/giscus-D-fkNSKD.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-GXRgw7eJ.js" as="script">
   </head>
   <body>
     <div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container no-sidebar"><!--[--><header id="navbar" class="vp-navbar"><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><!--[--><a class="route-link vp-brand" href="/"><img class="vp-nav-logo" src="/img/Headshot.jpg" alt><!----><span class="vp-site-name hide-in-pad">HalfSweet&#39;s Blog</span></a><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-center"><!--[--><!----><!--]--><!--[--><nav class="vp-nav-links"><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/posts/" aria-label="文章"><span class="font-icon icon app" style=""></span>文章<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/about/" aria-label="关于"><span class="font-icon icon user" style=""></span>关于<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/friends/" aria-label="友链"><span class="font-icon icon link" style=""></span>友链<!----></a></div></nav><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-end"><!--[--><!----><!--]--><!--[--><!----><div class="nav-item vp-repo"><a class="vp-repo-link" href="https://github.com/HalfSweet/Blog" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><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"></path></svg></a></div><div class="nav-item hide-in-mobile"><button type="button" id="appearance-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" style="display:block;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" style="display:none;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" style="display:none;"><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"></path></svg></button></div><!----><!--]--><!--[--><!----><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar"><!--[--><!----><!--]--><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></li><li><section class="vp-sidebar-group"><p class="vp-sidebar-header"><span class="font-icon icon book" style=""></span><span class="vp-sidebar-title">文章</span><!----></p><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-Clion/" aria-label="使用 Clion 来进行 Air32 的开发"><!---->使用 Clion 来进行 Air32 的开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-MCO/" aria-label="Air32 的 HAL 改造——适配 MCO"><!---->Air32 的 HAL 改造——适配 MCO<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/HelloWorld/" aria-label="HelloWorld"><!---->HelloWorld<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/STC_CoreMark/" aria-label="不服来跑个分?将 CoreMark 移植到 STC 上试试"><!---->不服来跑个分?将 CoreMark 移植到 STC 上试试<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="为什么我对第三代郊狼失望"><!---->为什么我对第三代郊狼失望<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-HighFreq/" aria-label="发挥全部实力!Air32 在 HAL 库环境下运行最高主频"><!---->发挥全部实力!Air32 在 HAL 库环境下运行最高主频<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/embedded_fmtlib/" aria-label="在嵌入式设备上使用fmtlib"><!---->在嵌入式设备上使用fmtlib<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/conda_novelai/" aria-label="基于conda进行手动配置novelAI"><!---->基于conda进行手动配置novelAI<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="对《为什么我对第三代郊狼失望》一文的澄清说明"><!---->对《为什么我对第三代郊狼失望》一文的澄清说明<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Empedded-CI-CD/" aria-label="嵌入式中的 CI/CD"><!---->嵌入式中的 CI/CD<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/MDK6-Dev/" aria-label="更现代的开发方式?使用 MDK6 进行开发"><!---->更现代的开发方式?使用 MDK6 进行开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/SEGGER-RTT/" aria-label="更高效的日志查看方式——使用SEGGER-RTT"><!---->更高效的日志查看方式——使用SEGGER-RTT<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/EpdTraps1/" aria-label="墨水屏的坑——7.5寸墨水屏刷新为何出现条纹"><!---->墨水屏的坑——7.5寸墨水屏刷新为何出现条纹<!----></a></li></ul></section></li></ul><!--[--><!----><!--]--></aside><!--[--><div class="vp-page vp-blog"><div class="blog-page-wrapper"><main id="main-content" class="vp-blog-main"><ul class="tag-list-wrapper"><li class="tag tag8"><a class="route-link" href="/tag/%E5%90%88%E5%AE%99/">合宙<span class="tag-num">6</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/air32/">Air32<span class="tag-num">4</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/air001/">Air001<span class="tag-num">3</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/%E5%B5%8C%E5%85%A5%E5%BC%8F/">嵌入式<span class="tag-num">2</span></a></li><li class="tag tag6"><a class="route-link" href="/tag/%E7%A2%8E%E7%A2%8E%E5%BF%B5/">碎碎念<span class="tag-num">2</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/%E9%83%8A%E7%8B%BC/">郊狼<span class="tag-num">2</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/mco/">MCO<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/helloworld/">HelloWorld<span class="tag-num">1</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/stc32/">STC32<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/stc8/">STC8<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/coremark/">CoreMark<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/clion/">Clion<span class="tag-num">1</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/%E8%B6%85%E9%A2%91/">超频<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/fmtlib/">fmtlib<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/esp8266/">ESP8266<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/esp32/">ESP32<span class="tag-num">1</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/arduino/">Arduino<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/platformio/">PlatformIO<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/esp-idf/">ESP-IDF<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/">人工智能<span class="tag-num">1</span></a></li><li class="tag tag1"><a class="route-link" href="/tag/novelai/">novelAI<span class="tag-num">1</span></a></li><li class="tag tag2 active"><a class="route-link" href="/tag/conda/">conda<span class="tag-num">1</span></a></li><li class="tag tag7"><a class="route-link" href="/tag/%E5%A2%A8%E6%B0%B4%E5%B1%8F/">墨水屏<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/uc8179/">UC8179<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/depg0750rwu790f30/">DEPG0750RWU790F30<span class="tag-num">1</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/%E9%81%87%E5%88%B0%E7%9A%84%E5%9D%91/">遇到的坑<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/cicd/">CI/CD<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/%E6%97%A5%E5%BF%97/">日志<span class="tag-num">1</span></a></li></ul><div id="article-list" class="vp-article-list" role="feed"><div class="vp-article-wrapper"><article class="vp-article-item" vocab="https://schema.org/" typeof="Article"><!--[--><!--]--><!----><a class="route-link" href="/posts/conda_novelai/"><header class="vp-article-title"><!----><!----><span property="headline">基于conda进行手动配置novelAI</span></header></a><div class="vp-article-excerpt"><p>最近大家应该都玩过novelAI了,出来的图片质量都非常棒,但是b站大佬给的配置只是打包了的bat文件,但是这显然不符合我们的折腾精神,于是我们来尝试使用conda来进行纯手工配置。</p>
 </div><hr class="vp-article-hr"><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2023-01-05T13:19:16.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>大约 6 分钟</span><meta property="timeRequired" content="PT6M"></span><span class="page-category-info" aria-label="分类🌈" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg><!--[--><span class="page-category-item category3 clickable" role="navigation">AI</span><!--]--><meta property="articleSection" content="AI"></span><span class="page-tag-info" aria-label="标签🏷" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg><!--[--><span class="page-tag-item tag5 clickable" role="navigation">人工智能</span><span class="page-tag-item tag1 clickable" role="navigation">novelAI</span><span class="page-tag-item tag2 clickable" role="navigation">conda</span><!--]--><meta property="keywords" content="人工智能,novelAI,conda"></span></div></article></div><div class="vp-pagination"></div></div></main><aside class="vp-blog-info-wrapper"><div class="vp-blogger-info" vocab="https://schema.org/" typeof="Person"><div class="vp-blogger" style="cursor:pointer;" aria-label="个人介绍" data-balloon-pos="down" role="link"><img class="vp-blogger-avatar" src="/img/Headshot.jpg" property="image" alt="Blogger Avatar" loading="lazy"><div class="vp-blogger-name" property="name">HalfSweet</div><div class="vp-blogger-description">Try to create some value</div><meta property="url" content="/Catalogue/02.about.html"></div><div class="vp-blog-counts"><a class="route-link vp-blog-count" href="/article/"><div class="count">13</div><div>文章</div></a><a class="route-link vp-blog-count" href="/category/"><div class="count">5</div><div>分类</div></a><a class="route-link vp-blog-count" href="/tag/"><div class="count">28</div><div>标签</div></a><a class="route-link vp-blog-count" href="/timeline/"><div class="count">13</div><div>时间轴</div></a></div><div class="vp-social-medias"><a class="vp-social-media" href="mailto:HalfSweet@HalfSweet.cn" rel="noopener noreferrer" target="_blank" aria-label="Email" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon email-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#1384FF"/><path fill="#fff" d="M270.077 286.233H751.99c32.933 0 59.86 24.855 60.274 55.51l-301.023 157L210.217 341.88c.207-30.723 26.927-55.717 59.86-55.717zm-59.929 115.714-.276 277.756c0 30.931 27.134 56.2 60.205 56.2H751.99c33.14 0 60.274-25.269 60.274-56.2V401.81L518.283 551.492a15.88 15.88 0 0 1-14.43 0L210.148 401.947z"/></svg></a><a class="vp-social-media" href="https://github.com/HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="GitHub" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#171515"/><path fill="#fff" d="M509.423 146.442c-200.317 0-362.756 162.42-362.756 362.8 0 160.266 103.936 296.24 248.109 344.217 18.139 3.327 24.76-7.872 24.76-17.486 0-8.613-.313-31.427-.49-61.702-100.912 21.923-122.205-48.63-122.205-48.63-16.495-41.91-40.28-53.067-40.28-53.067-32.937-22.51 2.492-22.053 2.492-22.053 36.407 2.566 55.568 37.386 55.568 37.386 32.362 55.438 84.907 39.43 105.58 30.143 3.296-23.444 12.667-39.43 23.032-48.498-80.557-9.156-165.246-40.28-165.246-179.297 0-39.604 14.135-71.988 37.342-97.348-3.731-9.178-16.18-46.063 3.556-96.009 0 0 30.46-9.754 99.76 37.19 28.937-8.048 59.97-12.071 90.823-12.211 30.807.14 61.843 4.165 90.822 12.21 69.26-46.944 99.663-37.189 99.663-37.189 19.792 49.946 7.34 86.831 3.61 96.01 23.25 25.359 37.29 57.742 37.29 97.347 0 139.366-84.82 170.033-165.637 179.013 13.026 11.2 24.628 33.342 24.628 67.182 0 48.498-.445 87.627-.445 99.521 0 9.702 6.535 20.988 24.945 17.444 144.03-48.067 247.881-183.95 247.881-344.175 0-200.378-162.442-362.798-362.802-362.798z"/></svg></a><a class="vp-social-media" href="https://twitter.com/_HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="Twitter" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon twitter-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512"/><path fill="#FFF" d="m560 473 186-216h-44L540 445 411 257H262l195 284-195 226h44l171-198 136 198h149zM322 290h68l312 445h-68z"/></svg></a></div></div><div class="vp-blog-infos"><div class="vp-blog-type-switcher"><button type="button" class="vp-blog-type-button"><div class="icon-wrapper active" aria-label="文章" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="分类" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="标签" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="时间轴" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timeline-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timeline icon"><path d="M511.997 70.568c-243.797 0-441.429 197.633-441.429 441.435 0 243.797 197.632 441.429 441.43 441.429S953.431 755.8 953.431 512.002c0-243.796-197.637-441.434-441.435-441.434zm150.158 609.093-15.605 15.61c-8.621 8.615-22.596 8.615-31.215 0L472.197 552.126c-4.95-4.944-4.34-14.888-4.34-24.677V247.14c0-12.19 9.882-22.07 22.07-22.07h22.07c12.19 0 22.07 9.882 22.07 22.07v273.218l128.088 128.088c8.62 8.62 8.62 22.595 0 31.215zm0 0"></path></svg></div></button></div><div class="vp-star-article-wrapper"><div class="title"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg><span class="num">13</span>文章</div><hr><div class="vp-star-article-empty">星标 为空</div></div></div></aside></div></div><!--]--><footer class="vp-footer-wrapper"><div class="vp-footer">今天咕咕被欺负了吗</div><div class="vp-copyright">Copyright © 2024 HalfSweet </div></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div>
-    <script type="module" src="/assets/app-ClwIkahu.js" defer></script>
+    <script type="module" src="/assets/app-Flo2gZk8.js" defer></script>
   </body>
 </html>
diff --git a/tag/coremark/index.html b/tag/coremark/index.html
index 634edb4..21d23e2 100644
--- a/tag/coremark/index.html
+++ b/tag/coremark/index.html
@@ -29,14 +29,14 @@
       }
     </script>
     <meta property="og:url" content="https://halfsweet.cn/tag/coremark/"><meta property="og:site_name" content="HalfSweet's Blog"><meta property="og:title" content="标签: CoreMark"><meta property="og:type" content="website"><meta property="og:locale" content="zh-CN"><meta property="article:author" content="HalfSweet"><script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","name":"标签: CoreMark"}</script><title>标签: CoreMark | HalfSweet's Blog</title><meta name="description" content="半糖的博客">
-    <link rel="preload" href="/assets/style-BDwnt-CL.css" as="style"><link rel="stylesheet" href="/assets/style-BDwnt-CL.css">
-    <link rel="modulepreload" href="/assets/app-ClwIkahu.js"><link rel="modulepreload" href="/assets/index.html-BqgjNdmg.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
-    <link rel="prefetch" href="/assets/index.html-BjG6C5xb.js" as="script"><link rel="prefetch" href="/assets/index.html-6gNmrYKw.js" as="script"><link rel="prefetch" href="/assets/index.html-W8DPbcPd.js" as="script"><link rel="prefetch" href="/assets/index.html-75fD8c0W.js" as="script"><link rel="prefetch" href="/assets/index.html-CufQKtZU.js" as="script"><link rel="prefetch" href="/assets/index.html-Bqe7scks.js" as="script"><link rel="prefetch" href="/assets/index.html-B5-KeVPb.js" as="script"><link rel="prefetch" href="/assets/index.html-C7FigsQF.js" as="script"><link rel="prefetch" href="/assets/index.html-DtEE6E7f.js" as="script"><link rel="prefetch" href="/assets/index.html-0oPRY09N.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNCX4dz.js" as="script"><link rel="prefetch" href="/assets/index.html-XtQdJJI8.js" as="script"><link rel="prefetch" href="/assets/index.html-CnJ0E6b5.js" as="script"><link rel="prefetch" href="/assets/index.html-CFhDcrZp.js" as="script"><link rel="prefetch" href="/assets/index.html-Bd1PkxNi.js" as="script"><link rel="prefetch" href="/assets/index.html-DJ-_mZ9n.js" as="script"><link rel="prefetch" href="/assets/index.html-jFzM8lrm.js" as="script"><link rel="prefetch" href="/assets/404.html-VMfaDGRx.js" as="script"><link rel="prefetch" href="/assets/index.html-BaR2aqhq.js" as="script"><link rel="prefetch" href="/assets/index.html-DO2xY2T5.js" as="script"><link rel="prefetch" href="/assets/index.html-BEwHBlkc.js" as="script"><link rel="prefetch" href="/assets/index.html-DZIt3Q5g.js" as="script"><link rel="prefetch" href="/assets/index.html-Dd9JrssL.js" as="script"><link rel="prefetch" href="/assets/index.html-BjPOIJdK.js" as="script"><link rel="prefetch" href="/assets/index.html-CmtlWOBH.js" as="script"><link rel="prefetch" href="/assets/index.html-CR-9qG2Y.js" as="script"><link rel="prefetch" href="/assets/index.html-CwWDCYUS.js" as="script"><link rel="prefetch" href="/assets/index.html-CptFZpi0.js" as="script"><link rel="prefetch" href="/assets/index.html-p6Y7Jm3n.js" as="script"><link rel="prefetch" href="/assets/index.html-CIen8cvO.js" as="script"><link rel="prefetch" href="/assets/index.html-BKUs44hv.js" as="script"><link rel="prefetch" href="/assets/index.html-D0wSSTgQ.js" as="script"><link rel="prefetch" href="/assets/index.html-DqsCIdcm.js" as="script"><link rel="prefetch" href="/assets/index.html-kUwAIzkD.js" as="script"><link rel="prefetch" href="/assets/index.html-DIaDLRqn.js" as="script"><link rel="prefetch" href="/assets/index.html-DhcL23aG.js" as="script"><link rel="prefetch" href="/assets/index.html-Bk9EBjUw.js" as="script"><link rel="prefetch" href="/assets/index.html-C0X-QC5U.js" as="script"><link rel="prefetch" href="/assets/index.html-ZwD6xCF4.js" as="script"><link rel="prefetch" href="/assets/index.html-BdqadbH8.js" as="script"><link rel="prefetch" href="/assets/index.html-D7Uf3Wbw.js" as="script"><link rel="prefetch" href="/assets/index.html-CsuDpoYK.js" as="script"><link rel="prefetch" href="/assets/index.html-Dc2bdBF2.js" as="script"><link rel="prefetch" href="/assets/index.html-BzgkemtD.js" as="script"><link rel="prefetch" href="/assets/index.html-7uHHiaZx.js" as="script"><link rel="prefetch" href="/assets/index.html-TGoZudvZ.js" as="script"><link rel="prefetch" href="/assets/index.html-DbCWijUV.js" as="script"><link rel="prefetch" href="/assets/index.html-DOCRL60a.js" as="script"><link rel="prefetch" href="/assets/index.html-B8qYb7wb.js" as="script"><link rel="prefetch" href="/assets/index.html-CpBdG6tv.js" as="script"><link rel="prefetch" href="/assets/index.html-DdE0h7xo.js" as="script"><link rel="prefetch" href="/assets/index.html-BlsdgZAc.js" as="script"><link rel="prefetch" href="/assets/index.html-Du74cC6X.js" as="script"><link rel="prefetch" href="/assets/index.html-CTp2Oa39.js" as="script"><link rel="prefetch" href="/assets/index.html-Bz73p56D.js" as="script"><link rel="prefetch" href="/assets/index.html-BktjQtFB.js" as="script"><link rel="prefetch" href="/assets/index.html-DPl--Ppt.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-BF52VcER.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CgYxLcm_.js" as="script"><link rel="prefetch" href="/assets/artplayer-CHAGXahu.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-BOVnG7as.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-CbA2In8H.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-Do1ld-lW.js" as="script"><link rel="prefetch" href="/assets/giscus-7BMGhbDA.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-SzV8tJDW.js" as="script">
+    <link rel="preload" href="/assets/style-7DTFFHvh.css" as="style"><link rel="stylesheet" href="/assets/style-7DTFFHvh.css">
+    <link rel="modulepreload" href="/assets/app-Flo2gZk8.js"><link rel="modulepreload" href="/assets/index.html-AqhAiBBF.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
+    <link rel="prefetch" href="/assets/index.html-BhtLl4n3.js" as="script"><link rel="prefetch" href="/assets/index.html-C6yte3a0.js" as="script"><link rel="prefetch" href="/assets/index.html-R-cHHIas.js" as="script"><link rel="prefetch" href="/assets/index.html-CPUAg15t.js" as="script"><link rel="prefetch" href="/assets/index.html-BjdnOCC5.js" as="script"><link rel="prefetch" href="/assets/index.html-7Xyk7CrU.js" as="script"><link rel="prefetch" href="/assets/index.html-BNW3YRR3.js" as="script"><link rel="prefetch" href="/assets/index.html-jClrTNl3.js" as="script"><link rel="prefetch" href="/assets/index.html-tFfBEjXi.js" as="script"><link rel="prefetch" href="/assets/index.html-DgPmeCdQ.js" as="script"><link rel="prefetch" href="/assets/index.html-CxRigd-R.js" as="script"><link rel="prefetch" href="/assets/index.html-BWPjJqfa.js" as="script"><link rel="prefetch" href="/assets/index.html-DzG2EJXJ.js" as="script"><link rel="prefetch" href="/assets/index.html-B45efyIG.js" as="script"><link rel="prefetch" href="/assets/index.html-D_Px6PD2.js" as="script"><link rel="prefetch" href="/assets/index.html-U1Oe9QlK.js" as="script"><link rel="prefetch" href="/assets/index.html-fvB3i9PM.js" as="script"><link rel="prefetch" href="/assets/404.html-mkIobPP0.js" as="script"><link rel="prefetch" href="/assets/index.html-DGqb01LU.js" as="script"><link rel="prefetch" href="/assets/index.html-GZfFX8ok.js" as="script"><link rel="prefetch" href="/assets/index.html-vhaMR1PK.js" as="script"><link rel="prefetch" href="/assets/index.html-CvSEeOlH.js" as="script"><link rel="prefetch" href="/assets/index.html-BmplSMWS.js" as="script"><link rel="prefetch" href="/assets/index.html-C2sDDxGY.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNwolvq.js" as="script"><link rel="prefetch" href="/assets/index.html-DhSSZBRU.js" as="script"><link rel="prefetch" href="/assets/index.html-DPcGNBru.js" as="script"><link rel="prefetch" href="/assets/index.html-BFJ0kKZP.js" as="script"><link rel="prefetch" href="/assets/index.html-CBW4olfB.js" as="script"><link rel="prefetch" href="/assets/index.html-CiBWk0Bg.js" as="script"><link rel="prefetch" href="/assets/index.html-AFWYFeTY.js" as="script"><link rel="prefetch" href="/assets/index.html-DlrkN0XZ.js" as="script"><link rel="prefetch" href="/assets/index.html-Cb-sPtFS.js" as="script"><link rel="prefetch" href="/assets/index.html-DPF-EyUV.js" as="script"><link rel="prefetch" href="/assets/index.html-DLZdHb6J.js" as="script"><link rel="prefetch" href="/assets/index.html-Cpr5viHS.js" as="script"><link rel="prefetch" href="/assets/index.html-BXxGxqK4.js" as="script"><link rel="prefetch" href="/assets/index.html-4asd-b47.js" as="script"><link rel="prefetch" href="/assets/index.html-ZITi3OK2.js" as="script"><link rel="prefetch" href="/assets/index.html-DJMKg_M6.js" as="script"><link rel="prefetch" href="/assets/index.html-Y__KWg8u.js" as="script"><link rel="prefetch" href="/assets/index.html--BIzY7gk.js" as="script"><link rel="prefetch" href="/assets/index.html-BRHXQqdq.js" as="script"><link rel="prefetch" href="/assets/index.html-C_2nkQ6B.js" as="script"><link rel="prefetch" href="/assets/index.html-R9oSKuoP.js" as="script"><link rel="prefetch" href="/assets/index.html-DY-KY6vi.js" as="script"><link rel="prefetch" href="/assets/index.html-BSndmKE7.js" as="script"><link rel="prefetch" href="/assets/index.html-BDmR_g70.js" as="script"><link rel="prefetch" href="/assets/index.html-CpeDyHcd.js" as="script"><link rel="prefetch" href="/assets/index.html-DV9WiiCS.js" as="script"><link rel="prefetch" href="/assets/index.html-DTceWJaH.js" as="script"><link rel="prefetch" href="/assets/index.html-2WOtvPq_.js" as="script"><link rel="prefetch" href="/assets/index.html-DCVozm3V.js" as="script"><link rel="prefetch" href="/assets/index.html-vKhQGG0S.js" as="script"><link rel="prefetch" href="/assets/index.html-BlvUTCvM.js" as="script"><link rel="prefetch" href="/assets/index.html-vIW8aJUJ.js" as="script"><link rel="prefetch" href="/assets/index.html-CTuZCChr.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-S0Hns9UN.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CSFeuThZ.js" as="script"><link rel="prefetch" href="/assets/artplayer-DnixxQIM.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-DaNo29Rn.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-nRkOMaNb.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-DQalTb-T.js" as="script"><link rel="prefetch" href="/assets/giscus-D-fkNSKD.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-GXRgw7eJ.js" as="script">
   </head>
   <body>
     <div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container no-sidebar"><!--[--><header id="navbar" class="vp-navbar"><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><!--[--><a class="route-link vp-brand" href="/"><img class="vp-nav-logo" src="/img/Headshot.jpg" alt><!----><span class="vp-site-name hide-in-pad">HalfSweet&#39;s Blog</span></a><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-center"><!--[--><!----><!--]--><!--[--><nav class="vp-nav-links"><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/posts/" aria-label="文章"><span class="font-icon icon app" style=""></span>文章<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/about/" aria-label="关于"><span class="font-icon icon user" style=""></span>关于<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/friends/" aria-label="友链"><span class="font-icon icon link" style=""></span>友链<!----></a></div></nav><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-end"><!--[--><!----><!--]--><!--[--><!----><div class="nav-item vp-repo"><a class="vp-repo-link" href="https://github.com/HalfSweet/Blog" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><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"></path></svg></a></div><div class="nav-item hide-in-mobile"><button type="button" id="appearance-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" style="display:block;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" style="display:none;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" style="display:none;"><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"></path></svg></button></div><!----><!--]--><!--[--><!----><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar"><!--[--><!----><!--]--><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></li><li><section class="vp-sidebar-group"><p class="vp-sidebar-header"><span class="font-icon icon book" style=""></span><span class="vp-sidebar-title">文章</span><!----></p><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-Clion/" aria-label="使用 Clion 来进行 Air32 的开发"><!---->使用 Clion 来进行 Air32 的开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-MCO/" aria-label="Air32 的 HAL 改造——适配 MCO"><!---->Air32 的 HAL 改造——适配 MCO<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/HelloWorld/" aria-label="HelloWorld"><!---->HelloWorld<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/STC_CoreMark/" aria-label="不服来跑个分?将 CoreMark 移植到 STC 上试试"><!---->不服来跑个分?将 CoreMark 移植到 STC 上试试<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="为什么我对第三代郊狼失望"><!---->为什么我对第三代郊狼失望<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-HighFreq/" aria-label="发挥全部实力!Air32 在 HAL 库环境下运行最高主频"><!---->发挥全部实力!Air32 在 HAL 库环境下运行最高主频<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/embedded_fmtlib/" aria-label="在嵌入式设备上使用fmtlib"><!---->在嵌入式设备上使用fmtlib<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/conda_novelai/" aria-label="基于conda进行手动配置novelAI"><!---->基于conda进行手动配置novelAI<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="对《为什么我对第三代郊狼失望》一文的澄清说明"><!---->对《为什么我对第三代郊狼失望》一文的澄清说明<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Empedded-CI-CD/" aria-label="嵌入式中的 CI/CD"><!---->嵌入式中的 CI/CD<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/MDK6-Dev/" aria-label="更现代的开发方式?使用 MDK6 进行开发"><!---->更现代的开发方式?使用 MDK6 进行开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/SEGGER-RTT/" aria-label="更高效的日志查看方式——使用SEGGER-RTT"><!---->更高效的日志查看方式——使用SEGGER-RTT<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/EpdTraps1/" aria-label="墨水屏的坑——7.5寸墨水屏刷新为何出现条纹"><!---->墨水屏的坑——7.5寸墨水屏刷新为何出现条纹<!----></a></li></ul></section></li></ul><!--[--><!----><!--]--></aside><!--[--><div class="vp-page vp-blog"><div class="blog-page-wrapper"><main id="main-content" class="vp-blog-main"><ul class="tag-list-wrapper"><li class="tag tag8"><a class="route-link" href="/tag/%E5%90%88%E5%AE%99/">合宙<span class="tag-num">6</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/air32/">Air32<span class="tag-num">4</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/air001/">Air001<span class="tag-num">3</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/%E5%B5%8C%E5%85%A5%E5%BC%8F/">嵌入式<span class="tag-num">2</span></a></li><li class="tag tag6"><a class="route-link" href="/tag/%E7%A2%8E%E7%A2%8E%E5%BF%B5/">碎碎念<span class="tag-num">2</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/%E9%83%8A%E7%8B%BC/">郊狼<span class="tag-num">2</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/mco/">MCO<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/helloworld/">HelloWorld<span class="tag-num">1</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/stc32/">STC32<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/stc8/">STC8<span class="tag-num">1</span></a></li><li class="tag tag2 active"><a class="route-link" href="/tag/coremark/">CoreMark<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/clion/">Clion<span class="tag-num">1</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/%E8%B6%85%E9%A2%91/">超频<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/fmtlib/">fmtlib<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/esp8266/">ESP8266<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/esp32/">ESP32<span class="tag-num">1</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/arduino/">Arduino<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/platformio/">PlatformIO<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/esp-idf/">ESP-IDF<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/">人工智能<span class="tag-num">1</span></a></li><li class="tag tag1"><a class="route-link" href="/tag/novelai/">novelAI<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/conda/">conda<span class="tag-num">1</span></a></li><li class="tag tag7"><a class="route-link" href="/tag/%E5%A2%A8%E6%B0%B4%E5%B1%8F/">墨水屏<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/uc8179/">UC8179<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/depg0750rwu790f30/">DEPG0750RWU790F30<span class="tag-num">1</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/%E9%81%87%E5%88%B0%E7%9A%84%E5%9D%91/">遇到的坑<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/cicd/">CI/CD<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/%E6%97%A5%E5%BF%97/">日志<span class="tag-num">1</span></a></li></ul><div id="article-list" class="vp-article-list" role="feed"><div class="vp-article-wrapper"><article class="vp-article-item" vocab="https://schema.org/" typeof="Article"><!--[--><!--]--><!----><a class="route-link" href="/posts/STC_CoreMark/"><header class="vp-article-title"><!----><!----><span property="headline">不服来跑个分?将 CoreMark 移植到 STC 上试试</span></header></a><div class="vp-article-excerpt"><p>最近维护的 Air001 准备上线了,为了衬托出其强大的性价比,因此我想来做点<s>缺德</s>的事,让我们来和同样以高打性价比的 STC 系列单片机来对比下 CoreMark 的跑分吧,本文将会详细介绍移植过程以及跑分结果。测试的 MCU 为<code>降龙棍 STC32G12K128</code>与<code>打狗棒 STC8H8K64U</code>。</p>
 <p>通用,本文同样适用于 Arm-Cortex M 架构的 MCU。</p>
 </div><hr class="vp-article-hr"><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2023-04-14T17:39:36.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>大约 5 分钟</span><meta property="timeRequired" content="PT5M"></span><span class="page-category-info" aria-label="分类🌈" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg><!--[--><span class="page-category-item category8 clickable" role="navigation">单片机</span><!--]--><meta property="articleSection" content="单片机"></span><span class="page-tag-info" aria-label="标签🏷" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg><!--[--><span class="page-tag-item tag3 clickable" role="navigation">STC32</span><span class="page-tag-item tag8 clickable" role="navigation">STC8</span><span class="page-tag-item tag2 clickable" role="navigation">嵌入式</span><span class="page-tag-item tag2 clickable" role="navigation">CoreMark</span><!--]--><meta property="keywords" content="STC32,STC8,嵌入式,CoreMark"></span></div></article></div><div class="vp-pagination"></div></div></main><aside class="vp-blog-info-wrapper"><div class="vp-blogger-info" vocab="https://schema.org/" typeof="Person"><div class="vp-blogger" style="cursor:pointer;" aria-label="个人介绍" data-balloon-pos="down" role="link"><img class="vp-blogger-avatar" src="/img/Headshot.jpg" property="image" alt="Blogger Avatar" loading="lazy"><div class="vp-blogger-name" property="name">HalfSweet</div><div class="vp-blogger-description">Try to create some value</div><meta property="url" content="/Catalogue/02.about.html"></div><div class="vp-blog-counts"><a class="route-link vp-blog-count" href="/article/"><div class="count">13</div><div>文章</div></a><a class="route-link vp-blog-count" href="/category/"><div class="count">5</div><div>分类</div></a><a class="route-link vp-blog-count" href="/tag/"><div class="count">28</div><div>标签</div></a><a class="route-link vp-blog-count" href="/timeline/"><div class="count">13</div><div>时间轴</div></a></div><div class="vp-social-medias"><a class="vp-social-media" href="mailto:HalfSweet@HalfSweet.cn" rel="noopener noreferrer" target="_blank" aria-label="Email" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon email-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#1384FF"/><path fill="#fff" d="M270.077 286.233H751.99c32.933 0 59.86 24.855 60.274 55.51l-301.023 157L210.217 341.88c.207-30.723 26.927-55.717 59.86-55.717zm-59.929 115.714-.276 277.756c0 30.931 27.134 56.2 60.205 56.2H751.99c33.14 0 60.274-25.269 60.274-56.2V401.81L518.283 551.492a15.88 15.88 0 0 1-14.43 0L210.148 401.947z"/></svg></a><a class="vp-social-media" href="https://github.com/HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="GitHub" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#171515"/><path fill="#fff" d="M509.423 146.442c-200.317 0-362.756 162.42-362.756 362.8 0 160.266 103.936 296.24 248.109 344.217 18.139 3.327 24.76-7.872 24.76-17.486 0-8.613-.313-31.427-.49-61.702-100.912 21.923-122.205-48.63-122.205-48.63-16.495-41.91-40.28-53.067-40.28-53.067-32.937-22.51 2.492-22.053 2.492-22.053 36.407 2.566 55.568 37.386 55.568 37.386 32.362 55.438 84.907 39.43 105.58 30.143 3.296-23.444 12.667-39.43 23.032-48.498-80.557-9.156-165.246-40.28-165.246-179.297 0-39.604 14.135-71.988 37.342-97.348-3.731-9.178-16.18-46.063 3.556-96.009 0 0 30.46-9.754 99.76 37.19 28.937-8.048 59.97-12.071 90.823-12.211 30.807.14 61.843 4.165 90.822 12.21 69.26-46.944 99.663-37.189 99.663-37.189 19.792 49.946 7.34 86.831 3.61 96.01 23.25 25.359 37.29 57.742 37.29 97.347 0 139.366-84.82 170.033-165.637 179.013 13.026 11.2 24.628 33.342 24.628 67.182 0 48.498-.445 87.627-.445 99.521 0 9.702 6.535 20.988 24.945 17.444 144.03-48.067 247.881-183.95 247.881-344.175 0-200.378-162.442-362.798-362.802-362.798z"/></svg></a><a class="vp-social-media" href="https://twitter.com/_HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="Twitter" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon twitter-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512"/><path fill="#FFF" d="m560 473 186-216h-44L540 445 411 257H262l195 284-195 226h44l171-198 136 198h149zM322 290h68l312 445h-68z"/></svg></a></div></div><div class="vp-blog-infos"><div class="vp-blog-type-switcher"><button type="button" class="vp-blog-type-button"><div class="icon-wrapper active" aria-label="文章" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="分类" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="标签" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="时间轴" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timeline-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timeline icon"><path d="M511.997 70.568c-243.797 0-441.429 197.633-441.429 441.435 0 243.797 197.632 441.429 441.43 441.429S953.431 755.8 953.431 512.002c0-243.796-197.637-441.434-441.435-441.434zm150.158 609.093-15.605 15.61c-8.621 8.615-22.596 8.615-31.215 0L472.197 552.126c-4.95-4.944-4.34-14.888-4.34-24.677V247.14c0-12.19 9.882-22.07 22.07-22.07h22.07c12.19 0 22.07 9.882 22.07 22.07v273.218l128.088 128.088c8.62 8.62 8.62 22.595 0 31.215zm0 0"></path></svg></div></button></div><div class="vp-star-article-wrapper"><div class="title"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg><span class="num">13</span>文章</div><hr><div class="vp-star-article-empty">星标 为空</div></div></div></aside></div></div><!--]--><footer class="vp-footer-wrapper"><div class="vp-footer">今天咕咕被欺负了吗</div><div class="vp-copyright">Copyright © 2024 HalfSweet </div></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div>
-    <script type="module" src="/assets/app-ClwIkahu.js" defer></script>
+    <script type="module" src="/assets/app-Flo2gZk8.js" defer></script>
   </body>
 </html>
diff --git a/tag/depg0750rwu790f30/index.html b/tag/depg0750rwu790f30/index.html
index 18f3e49..db08163 100644
--- a/tag/depg0750rwu790f30/index.html
+++ b/tag/depg0750rwu790f30/index.html
@@ -29,9 +29,9 @@
       }
     </script>
     <meta property="og:url" content="https://halfsweet.cn/tag/depg0750rwu790f30/"><meta property="og:site_name" content="HalfSweet's Blog"><meta property="og:title" content="标签: DEPG0750RWU790F30"><meta property="og:type" content="website"><meta property="og:locale" content="zh-CN"><meta property="article:author" content="HalfSweet"><script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","name":"标签: DEPG0750RWU790F30"}</script><title>标签: DEPG0750RWU790F30 | HalfSweet's Blog</title><meta name="description" content="半糖的博客">
-    <link rel="preload" href="/assets/style-BDwnt-CL.css" as="style"><link rel="stylesheet" href="/assets/style-BDwnt-CL.css">
-    <link rel="modulepreload" href="/assets/app-ClwIkahu.js"><link rel="modulepreload" href="/assets/index.html-CpBdG6tv.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
-    <link rel="prefetch" href="/assets/index.html-BjG6C5xb.js" as="script"><link rel="prefetch" href="/assets/index.html-6gNmrYKw.js" as="script"><link rel="prefetch" href="/assets/index.html-W8DPbcPd.js" as="script"><link rel="prefetch" href="/assets/index.html-75fD8c0W.js" as="script"><link rel="prefetch" href="/assets/index.html-CufQKtZU.js" as="script"><link rel="prefetch" href="/assets/index.html-Bqe7scks.js" as="script"><link rel="prefetch" href="/assets/index.html-B5-KeVPb.js" as="script"><link rel="prefetch" href="/assets/index.html-C7FigsQF.js" as="script"><link rel="prefetch" href="/assets/index.html-DtEE6E7f.js" as="script"><link rel="prefetch" href="/assets/index.html-0oPRY09N.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNCX4dz.js" as="script"><link rel="prefetch" href="/assets/index.html-XtQdJJI8.js" as="script"><link rel="prefetch" href="/assets/index.html-CnJ0E6b5.js" as="script"><link rel="prefetch" href="/assets/index.html-CFhDcrZp.js" as="script"><link rel="prefetch" href="/assets/index.html-Bd1PkxNi.js" as="script"><link rel="prefetch" href="/assets/index.html-DJ-_mZ9n.js" as="script"><link rel="prefetch" href="/assets/index.html-jFzM8lrm.js" as="script"><link rel="prefetch" href="/assets/404.html-VMfaDGRx.js" as="script"><link rel="prefetch" href="/assets/index.html-BaR2aqhq.js" as="script"><link rel="prefetch" href="/assets/index.html-DO2xY2T5.js" as="script"><link rel="prefetch" href="/assets/index.html-BEwHBlkc.js" as="script"><link rel="prefetch" href="/assets/index.html-DZIt3Q5g.js" as="script"><link rel="prefetch" href="/assets/index.html-Dd9JrssL.js" as="script"><link rel="prefetch" href="/assets/index.html-BjPOIJdK.js" as="script"><link rel="prefetch" href="/assets/index.html-CmtlWOBH.js" as="script"><link rel="prefetch" href="/assets/index.html-CR-9qG2Y.js" as="script"><link rel="prefetch" href="/assets/index.html-CwWDCYUS.js" as="script"><link rel="prefetch" href="/assets/index.html-CptFZpi0.js" as="script"><link rel="prefetch" href="/assets/index.html-p6Y7Jm3n.js" as="script"><link rel="prefetch" href="/assets/index.html-CIen8cvO.js" as="script"><link rel="prefetch" href="/assets/index.html-BKUs44hv.js" as="script"><link rel="prefetch" href="/assets/index.html-D0wSSTgQ.js" as="script"><link rel="prefetch" href="/assets/index.html-DqsCIdcm.js" as="script"><link rel="prefetch" href="/assets/index.html-kUwAIzkD.js" as="script"><link rel="prefetch" href="/assets/index.html-BqgjNdmg.js" as="script"><link rel="prefetch" href="/assets/index.html-DIaDLRqn.js" as="script"><link rel="prefetch" href="/assets/index.html-DhcL23aG.js" as="script"><link rel="prefetch" href="/assets/index.html-Bk9EBjUw.js" as="script"><link rel="prefetch" href="/assets/index.html-C0X-QC5U.js" as="script"><link rel="prefetch" href="/assets/index.html-ZwD6xCF4.js" as="script"><link rel="prefetch" href="/assets/index.html-BdqadbH8.js" as="script"><link rel="prefetch" href="/assets/index.html-D7Uf3Wbw.js" as="script"><link rel="prefetch" href="/assets/index.html-CsuDpoYK.js" as="script"><link rel="prefetch" href="/assets/index.html-Dc2bdBF2.js" as="script"><link rel="prefetch" href="/assets/index.html-BzgkemtD.js" as="script"><link rel="prefetch" href="/assets/index.html-7uHHiaZx.js" as="script"><link rel="prefetch" href="/assets/index.html-TGoZudvZ.js" as="script"><link rel="prefetch" href="/assets/index.html-DbCWijUV.js" as="script"><link rel="prefetch" href="/assets/index.html-DOCRL60a.js" as="script"><link rel="prefetch" href="/assets/index.html-B8qYb7wb.js" as="script"><link rel="prefetch" href="/assets/index.html-DdE0h7xo.js" as="script"><link rel="prefetch" href="/assets/index.html-BlsdgZAc.js" as="script"><link rel="prefetch" href="/assets/index.html-Du74cC6X.js" as="script"><link rel="prefetch" href="/assets/index.html-CTp2Oa39.js" as="script"><link rel="prefetch" href="/assets/index.html-Bz73p56D.js" as="script"><link rel="prefetch" href="/assets/index.html-BktjQtFB.js" as="script"><link rel="prefetch" href="/assets/index.html-DPl--Ppt.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-BF52VcER.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CgYxLcm_.js" as="script"><link rel="prefetch" href="/assets/artplayer-CHAGXahu.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-BOVnG7as.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-CbA2In8H.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-Do1ld-lW.js" as="script"><link rel="prefetch" href="/assets/giscus-7BMGhbDA.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-SzV8tJDW.js" as="script">
+    <link rel="preload" href="/assets/style-7DTFFHvh.css" as="style"><link rel="stylesheet" href="/assets/style-7DTFFHvh.css">
+    <link rel="modulepreload" href="/assets/app-Flo2gZk8.js"><link rel="modulepreload" href="/assets/index.html-DV9WiiCS.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
+    <link rel="prefetch" href="/assets/index.html-BhtLl4n3.js" as="script"><link rel="prefetch" href="/assets/index.html-C6yte3a0.js" as="script"><link rel="prefetch" href="/assets/index.html-R-cHHIas.js" as="script"><link rel="prefetch" href="/assets/index.html-CPUAg15t.js" as="script"><link rel="prefetch" href="/assets/index.html-BjdnOCC5.js" as="script"><link rel="prefetch" href="/assets/index.html-7Xyk7CrU.js" as="script"><link rel="prefetch" href="/assets/index.html-BNW3YRR3.js" as="script"><link rel="prefetch" href="/assets/index.html-jClrTNl3.js" as="script"><link rel="prefetch" href="/assets/index.html-tFfBEjXi.js" as="script"><link rel="prefetch" href="/assets/index.html-DgPmeCdQ.js" as="script"><link rel="prefetch" href="/assets/index.html-CxRigd-R.js" as="script"><link rel="prefetch" href="/assets/index.html-BWPjJqfa.js" as="script"><link rel="prefetch" href="/assets/index.html-DzG2EJXJ.js" as="script"><link rel="prefetch" href="/assets/index.html-B45efyIG.js" as="script"><link rel="prefetch" href="/assets/index.html-D_Px6PD2.js" as="script"><link rel="prefetch" href="/assets/index.html-U1Oe9QlK.js" as="script"><link rel="prefetch" href="/assets/index.html-fvB3i9PM.js" as="script"><link rel="prefetch" href="/assets/404.html-mkIobPP0.js" as="script"><link rel="prefetch" href="/assets/index.html-DGqb01LU.js" as="script"><link rel="prefetch" href="/assets/index.html-GZfFX8ok.js" as="script"><link rel="prefetch" href="/assets/index.html-vhaMR1PK.js" as="script"><link rel="prefetch" href="/assets/index.html-CvSEeOlH.js" as="script"><link rel="prefetch" href="/assets/index.html-BmplSMWS.js" as="script"><link rel="prefetch" href="/assets/index.html-C2sDDxGY.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNwolvq.js" as="script"><link rel="prefetch" href="/assets/index.html-DhSSZBRU.js" as="script"><link rel="prefetch" href="/assets/index.html-DPcGNBru.js" as="script"><link rel="prefetch" href="/assets/index.html-BFJ0kKZP.js" as="script"><link rel="prefetch" href="/assets/index.html-CBW4olfB.js" as="script"><link rel="prefetch" href="/assets/index.html-CiBWk0Bg.js" as="script"><link rel="prefetch" href="/assets/index.html-AFWYFeTY.js" as="script"><link rel="prefetch" href="/assets/index.html-DlrkN0XZ.js" as="script"><link rel="prefetch" href="/assets/index.html-Cb-sPtFS.js" as="script"><link rel="prefetch" href="/assets/index.html-DPF-EyUV.js" as="script"><link rel="prefetch" href="/assets/index.html-AqhAiBBF.js" as="script"><link rel="prefetch" href="/assets/index.html-DLZdHb6J.js" as="script"><link rel="prefetch" href="/assets/index.html-Cpr5viHS.js" as="script"><link rel="prefetch" href="/assets/index.html-BXxGxqK4.js" as="script"><link rel="prefetch" href="/assets/index.html-4asd-b47.js" as="script"><link rel="prefetch" href="/assets/index.html-ZITi3OK2.js" as="script"><link rel="prefetch" href="/assets/index.html-DJMKg_M6.js" as="script"><link rel="prefetch" href="/assets/index.html-Y__KWg8u.js" as="script"><link rel="prefetch" href="/assets/index.html--BIzY7gk.js" as="script"><link rel="prefetch" href="/assets/index.html-BRHXQqdq.js" as="script"><link rel="prefetch" href="/assets/index.html-C_2nkQ6B.js" as="script"><link rel="prefetch" href="/assets/index.html-R9oSKuoP.js" as="script"><link rel="prefetch" href="/assets/index.html-DY-KY6vi.js" as="script"><link rel="prefetch" href="/assets/index.html-BSndmKE7.js" as="script"><link rel="prefetch" href="/assets/index.html-BDmR_g70.js" as="script"><link rel="prefetch" href="/assets/index.html-CpeDyHcd.js" as="script"><link rel="prefetch" href="/assets/index.html-DTceWJaH.js" as="script"><link rel="prefetch" href="/assets/index.html-2WOtvPq_.js" as="script"><link rel="prefetch" href="/assets/index.html-DCVozm3V.js" as="script"><link rel="prefetch" href="/assets/index.html-vKhQGG0S.js" as="script"><link rel="prefetch" href="/assets/index.html-BlvUTCvM.js" as="script"><link rel="prefetch" href="/assets/index.html-vIW8aJUJ.js" as="script"><link rel="prefetch" href="/assets/index.html-CTuZCChr.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-S0Hns9UN.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CSFeuThZ.js" as="script"><link rel="prefetch" href="/assets/artplayer-DnixxQIM.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-DaNo29Rn.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-nRkOMaNb.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-DQalTb-T.js" as="script"><link rel="prefetch" href="/assets/giscus-D-fkNSKD.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-GXRgw7eJ.js" as="script">
   </head>
   <body>
     <div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container no-sidebar"><!--[--><header id="navbar" class="vp-navbar"><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><!--[--><a class="route-link vp-brand" href="/"><img class="vp-nav-logo" src="/img/Headshot.jpg" alt><!----><span class="vp-site-name hide-in-pad">HalfSweet&#39;s Blog</span></a><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-center"><!--[--><!----><!--]--><!--[--><nav class="vp-nav-links"><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/posts/" aria-label="文章"><span class="font-icon icon app" style=""></span>文章<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/about/" aria-label="关于"><span class="font-icon icon user" style=""></span>关于<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/friends/" aria-label="友链"><span class="font-icon icon link" style=""></span>友链<!----></a></div></nav><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-end"><!--[--><!----><!--]--><!--[--><!----><div class="nav-item vp-repo"><a class="vp-repo-link" href="https://github.com/HalfSweet/Blog" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><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"></path></svg></a></div><div class="nav-item hide-in-mobile"><button type="button" id="appearance-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" style="display:block;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" style="display:none;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" style="display:none;"><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"></path></svg></button></div><!----><!--]--><!--[--><!----><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar"><!--[--><!----><!--]--><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></li><li><section class="vp-sidebar-group"><p class="vp-sidebar-header"><span class="font-icon icon book" style=""></span><span class="vp-sidebar-title">文章</span><!----></p><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-Clion/" aria-label="使用 Clion 来进行 Air32 的开发"><!---->使用 Clion 来进行 Air32 的开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-MCO/" aria-label="Air32 的 HAL 改造——适配 MCO"><!---->Air32 的 HAL 改造——适配 MCO<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/HelloWorld/" aria-label="HelloWorld"><!---->HelloWorld<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/STC_CoreMark/" aria-label="不服来跑个分?将 CoreMark 移植到 STC 上试试"><!---->不服来跑个分?将 CoreMark 移植到 STC 上试试<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="为什么我对第三代郊狼失望"><!---->为什么我对第三代郊狼失望<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-HighFreq/" aria-label="发挥全部实力!Air32 在 HAL 库环境下运行最高主频"><!---->发挥全部实力!Air32 在 HAL 库环境下运行最高主频<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/embedded_fmtlib/" aria-label="在嵌入式设备上使用fmtlib"><!---->在嵌入式设备上使用fmtlib<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/conda_novelai/" aria-label="基于conda进行手动配置novelAI"><!---->基于conda进行手动配置novelAI<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="对《为什么我对第三代郊狼失望》一文的澄清说明"><!---->对《为什么我对第三代郊狼失望》一文的澄清说明<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Empedded-CI-CD/" aria-label="嵌入式中的 CI/CD"><!---->嵌入式中的 CI/CD<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/MDK6-Dev/" aria-label="更现代的开发方式?使用 MDK6 进行开发"><!---->更现代的开发方式?使用 MDK6 进行开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/SEGGER-RTT/" aria-label="更高效的日志查看方式——使用SEGGER-RTT"><!---->更高效的日志查看方式——使用SEGGER-RTT<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/EpdTraps1/" aria-label="墨水屏的坑——7.5寸墨水屏刷新为何出现条纹"><!---->墨水屏的坑——7.5寸墨水屏刷新为何出现条纹<!----></a></li></ul></section></li></ul><!--[--><!----><!--]--></aside><!--[--><div class="vp-page vp-blog"><div class="blog-page-wrapper"><main id="main-content" class="vp-blog-main"><ul class="tag-list-wrapper"><li class="tag tag8"><a class="route-link" href="/tag/%E5%90%88%E5%AE%99/">合宙<span class="tag-num">6</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/air32/">Air32<span class="tag-num">4</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/air001/">Air001<span class="tag-num">3</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/%E5%B5%8C%E5%85%A5%E5%BC%8F/">嵌入式<span class="tag-num">2</span></a></li><li class="tag tag6"><a class="route-link" href="/tag/%E7%A2%8E%E7%A2%8E%E5%BF%B5/">碎碎念<span class="tag-num">2</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/%E9%83%8A%E7%8B%BC/">郊狼<span class="tag-num">2</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/mco/">MCO<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/helloworld/">HelloWorld<span class="tag-num">1</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/stc32/">STC32<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/stc8/">STC8<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/coremark/">CoreMark<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/clion/">Clion<span class="tag-num">1</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/%E8%B6%85%E9%A2%91/">超频<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/fmtlib/">fmtlib<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/esp8266/">ESP8266<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/esp32/">ESP32<span class="tag-num">1</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/arduino/">Arduino<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/platformio/">PlatformIO<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/esp-idf/">ESP-IDF<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/">人工智能<span class="tag-num">1</span></a></li><li class="tag tag1"><a class="route-link" href="/tag/novelai/">novelAI<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/conda/">conda<span class="tag-num">1</span></a></li><li class="tag tag7"><a class="route-link" href="/tag/%E5%A2%A8%E6%B0%B4%E5%B1%8F/">墨水屏<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/uc8179/">UC8179<span class="tag-num">1</span></a></li><li class="tag tag2 active"><a class="route-link" href="/tag/depg0750rwu790f30/">DEPG0750RWU790F30<span class="tag-num">1</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/%E9%81%87%E5%88%B0%E7%9A%84%E5%9D%91/">遇到的坑<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/cicd/">CI/CD<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/%E6%97%A5%E5%BF%97/">日志<span class="tag-num">1</span></a></li></ul><div id="article-list" class="vp-article-list" role="feed"><div class="vp-article-wrapper"><article class="vp-article-item" vocab="https://schema.org/" typeof="Article"><!--[--><!--]--><!----><a class="route-link" href="/posts/EpdTraps1/"><header class="vp-article-title"><!----><!----><span property="headline">墨水屏的坑——7.5寸墨水屏刷新为何出现条纹</span></header></a><div class="vp-article-excerpt"><h2>前言</h2>
@@ -39,6 +39,6 @@
 <p></p>
 <p></p>
 <p>其中上面一张图为我自己做的波形,第二张为使用的OTP波形,但是无一例外,都出现了刷新的问题。抱着也许是驱动板出问题了的想法,我重新lay了一次板子,焊接好之后发现问题确实有所改善,但是并不佳。后续在更换过程中发现采用cd32封装的68uH的电感刷新效果会更好一些,但是依旧存在刷新问题,特别是在UI中有竖着的线条的时候,特别影响观感。</p></div><hr class="vp-article-hr"><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2022-11-06T05:30:37.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>大约 7 分钟</span><meta property="timeRequired" content="PT7M"></span><span class="page-category-info" aria-label="分类🌈" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg><!--[--><span class="page-category-item category7 clickable" role="navigation">墨水屏</span><!--]--><meta property="articleSection" content="墨水屏"></span><span class="page-tag-info" aria-label="标签🏷" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg><!--[--><span class="page-tag-item tag7 clickable" role="navigation">墨水屏</span><span class="page-tag-item tag0 clickable" role="navigation">UC8179</span><span class="page-tag-item tag2 clickable" role="navigation">DEPG0750RWU790F30</span><span class="page-tag-item tag4 clickable" role="navigation">遇到的坑</span><!--]--><meta property="keywords" content="墨水屏,UC8179,DEPG0750RWU790F30,遇到的坑"></span></div></article></div><div class="vp-pagination"></div></div></main><aside class="vp-blog-info-wrapper"><div class="vp-blogger-info" vocab="https://schema.org/" typeof="Person"><div class="vp-blogger" style="cursor:pointer;" aria-label="个人介绍" data-balloon-pos="down" role="link"><img class="vp-blogger-avatar" src="/img/Headshot.jpg" property="image" alt="Blogger Avatar" loading="lazy"><div class="vp-blogger-name" property="name">HalfSweet</div><div class="vp-blogger-description">Try to create some value</div><meta property="url" content="/Catalogue/02.about.html"></div><div class="vp-blog-counts"><a class="route-link vp-blog-count" href="/article/"><div class="count">13</div><div>文章</div></a><a class="route-link vp-blog-count" href="/category/"><div class="count">5</div><div>分类</div></a><a class="route-link vp-blog-count" href="/tag/"><div class="count">28</div><div>标签</div></a><a class="route-link vp-blog-count" href="/timeline/"><div class="count">13</div><div>时间轴</div></a></div><div class="vp-social-medias"><a class="vp-social-media" href="mailto:HalfSweet@HalfSweet.cn" rel="noopener noreferrer" target="_blank" aria-label="Email" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon email-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#1384FF"/><path fill="#fff" d="M270.077 286.233H751.99c32.933 0 59.86 24.855 60.274 55.51l-301.023 157L210.217 341.88c.207-30.723 26.927-55.717 59.86-55.717zm-59.929 115.714-.276 277.756c0 30.931 27.134 56.2 60.205 56.2H751.99c33.14 0 60.274-25.269 60.274-56.2V401.81L518.283 551.492a15.88 15.88 0 0 1-14.43 0L210.148 401.947z"/></svg></a><a class="vp-social-media" href="https://github.com/HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="GitHub" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#171515"/><path fill="#fff" d="M509.423 146.442c-200.317 0-362.756 162.42-362.756 362.8 0 160.266 103.936 296.24 248.109 344.217 18.139 3.327 24.76-7.872 24.76-17.486 0-8.613-.313-31.427-.49-61.702-100.912 21.923-122.205-48.63-122.205-48.63-16.495-41.91-40.28-53.067-40.28-53.067-32.937-22.51 2.492-22.053 2.492-22.053 36.407 2.566 55.568 37.386 55.568 37.386 32.362 55.438 84.907 39.43 105.58 30.143 3.296-23.444 12.667-39.43 23.032-48.498-80.557-9.156-165.246-40.28-165.246-179.297 0-39.604 14.135-71.988 37.342-97.348-3.731-9.178-16.18-46.063 3.556-96.009 0 0 30.46-9.754 99.76 37.19 28.937-8.048 59.97-12.071 90.823-12.211 30.807.14 61.843 4.165 90.822 12.21 69.26-46.944 99.663-37.189 99.663-37.189 19.792 49.946 7.34 86.831 3.61 96.01 23.25 25.359 37.29 57.742 37.29 97.347 0 139.366-84.82 170.033-165.637 179.013 13.026 11.2 24.628 33.342 24.628 67.182 0 48.498-.445 87.627-.445 99.521 0 9.702 6.535 20.988 24.945 17.444 144.03-48.067 247.881-183.95 247.881-344.175 0-200.378-162.442-362.798-362.802-362.798z"/></svg></a><a class="vp-social-media" href="https://twitter.com/_HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="Twitter" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon twitter-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512"/><path fill="#FFF" d="m560 473 186-216h-44L540 445 411 257H262l195 284-195 226h44l171-198 136 198h149zM322 290h68l312 445h-68z"/></svg></a></div></div><div class="vp-blog-infos"><div class="vp-blog-type-switcher"><button type="button" class="vp-blog-type-button"><div class="icon-wrapper active" aria-label="文章" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="分类" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="标签" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="时间轴" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timeline-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timeline icon"><path d="M511.997 70.568c-243.797 0-441.429 197.633-441.429 441.435 0 243.797 197.632 441.429 441.43 441.429S953.431 755.8 953.431 512.002c0-243.796-197.637-441.434-441.435-441.434zm150.158 609.093-15.605 15.61c-8.621 8.615-22.596 8.615-31.215 0L472.197 552.126c-4.95-4.944-4.34-14.888-4.34-24.677V247.14c0-12.19 9.882-22.07 22.07-22.07h22.07c12.19 0 22.07 9.882 22.07 22.07v273.218l128.088 128.088c8.62 8.62 8.62 22.595 0 31.215zm0 0"></path></svg></div></button></div><div class="vp-star-article-wrapper"><div class="title"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg><span class="num">13</span>文章</div><hr><div class="vp-star-article-empty">星标 为空</div></div></div></aside></div></div><!--]--><footer class="vp-footer-wrapper"><div class="vp-footer">今天咕咕被欺负了吗</div><div class="vp-copyright">Copyright © 2024 HalfSweet </div></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div>
-    <script type="module" src="/assets/app-ClwIkahu.js" defer></script>
+    <script type="module" src="/assets/app-Flo2gZk8.js" defer></script>
   </body>
 </html>
diff --git a/tag/esp-idf/index.html b/tag/esp-idf/index.html
index d75aca6..d6dfc07 100644
--- a/tag/esp-idf/index.html
+++ b/tag/esp-idf/index.html
@@ -29,13 +29,13 @@
       }
     </script>
     <meta property="og:url" content="https://halfsweet.cn/tag/esp-idf/"><meta property="og:site_name" content="HalfSweet's Blog"><meta property="og:title" content="标签: ESP-IDF"><meta property="og:type" content="website"><meta property="og:locale" content="zh-CN"><meta property="article:author" content="HalfSweet"><script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","name":"标签: ESP-IDF"}</script><title>标签: ESP-IDF | HalfSweet's Blog</title><meta name="description" content="半糖的博客">
-    <link rel="preload" href="/assets/style-BDwnt-CL.css" as="style"><link rel="stylesheet" href="/assets/style-BDwnt-CL.css">
-    <link rel="modulepreload" href="/assets/app-ClwIkahu.js"><link rel="modulepreload" href="/assets/index.html-BzgkemtD.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
-    <link rel="prefetch" href="/assets/index.html-BjG6C5xb.js" as="script"><link rel="prefetch" href="/assets/index.html-6gNmrYKw.js" as="script"><link rel="prefetch" href="/assets/index.html-W8DPbcPd.js" as="script"><link rel="prefetch" href="/assets/index.html-75fD8c0W.js" as="script"><link rel="prefetch" href="/assets/index.html-CufQKtZU.js" as="script"><link rel="prefetch" href="/assets/index.html-Bqe7scks.js" as="script"><link rel="prefetch" href="/assets/index.html-B5-KeVPb.js" as="script"><link rel="prefetch" href="/assets/index.html-C7FigsQF.js" as="script"><link rel="prefetch" href="/assets/index.html-DtEE6E7f.js" as="script"><link rel="prefetch" href="/assets/index.html-0oPRY09N.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNCX4dz.js" as="script"><link rel="prefetch" href="/assets/index.html-XtQdJJI8.js" as="script"><link rel="prefetch" href="/assets/index.html-CnJ0E6b5.js" as="script"><link rel="prefetch" href="/assets/index.html-CFhDcrZp.js" as="script"><link rel="prefetch" href="/assets/index.html-Bd1PkxNi.js" as="script"><link rel="prefetch" href="/assets/index.html-DJ-_mZ9n.js" as="script"><link rel="prefetch" href="/assets/index.html-jFzM8lrm.js" as="script"><link rel="prefetch" href="/assets/404.html-VMfaDGRx.js" as="script"><link rel="prefetch" href="/assets/index.html-BaR2aqhq.js" as="script"><link rel="prefetch" href="/assets/index.html-DO2xY2T5.js" as="script"><link rel="prefetch" href="/assets/index.html-BEwHBlkc.js" as="script"><link rel="prefetch" href="/assets/index.html-DZIt3Q5g.js" as="script"><link rel="prefetch" href="/assets/index.html-Dd9JrssL.js" as="script"><link rel="prefetch" href="/assets/index.html-BjPOIJdK.js" as="script"><link rel="prefetch" href="/assets/index.html-CmtlWOBH.js" as="script"><link rel="prefetch" href="/assets/index.html-CR-9qG2Y.js" as="script"><link rel="prefetch" href="/assets/index.html-CwWDCYUS.js" as="script"><link rel="prefetch" href="/assets/index.html-CptFZpi0.js" as="script"><link rel="prefetch" href="/assets/index.html-p6Y7Jm3n.js" as="script"><link rel="prefetch" href="/assets/index.html-CIen8cvO.js" as="script"><link rel="prefetch" href="/assets/index.html-BKUs44hv.js" as="script"><link rel="prefetch" href="/assets/index.html-D0wSSTgQ.js" as="script"><link rel="prefetch" href="/assets/index.html-DqsCIdcm.js" as="script"><link rel="prefetch" href="/assets/index.html-kUwAIzkD.js" as="script"><link rel="prefetch" href="/assets/index.html-BqgjNdmg.js" as="script"><link rel="prefetch" href="/assets/index.html-DIaDLRqn.js" as="script"><link rel="prefetch" href="/assets/index.html-DhcL23aG.js" as="script"><link rel="prefetch" href="/assets/index.html-Bk9EBjUw.js" as="script"><link rel="prefetch" href="/assets/index.html-C0X-QC5U.js" as="script"><link rel="prefetch" href="/assets/index.html-ZwD6xCF4.js" as="script"><link rel="prefetch" href="/assets/index.html-BdqadbH8.js" as="script"><link rel="prefetch" href="/assets/index.html-D7Uf3Wbw.js" as="script"><link rel="prefetch" href="/assets/index.html-CsuDpoYK.js" as="script"><link rel="prefetch" href="/assets/index.html-Dc2bdBF2.js" as="script"><link rel="prefetch" href="/assets/index.html-7uHHiaZx.js" as="script"><link rel="prefetch" href="/assets/index.html-TGoZudvZ.js" as="script"><link rel="prefetch" href="/assets/index.html-DbCWijUV.js" as="script"><link rel="prefetch" href="/assets/index.html-DOCRL60a.js" as="script"><link rel="prefetch" href="/assets/index.html-B8qYb7wb.js" as="script"><link rel="prefetch" href="/assets/index.html-CpBdG6tv.js" as="script"><link rel="prefetch" href="/assets/index.html-DdE0h7xo.js" as="script"><link rel="prefetch" href="/assets/index.html-BlsdgZAc.js" as="script"><link rel="prefetch" href="/assets/index.html-Du74cC6X.js" as="script"><link rel="prefetch" href="/assets/index.html-CTp2Oa39.js" as="script"><link rel="prefetch" href="/assets/index.html-Bz73p56D.js" as="script"><link rel="prefetch" href="/assets/index.html-BktjQtFB.js" as="script"><link rel="prefetch" href="/assets/index.html-DPl--Ppt.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-BF52VcER.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CgYxLcm_.js" as="script"><link rel="prefetch" href="/assets/artplayer-CHAGXahu.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-BOVnG7as.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-CbA2In8H.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-Do1ld-lW.js" as="script"><link rel="prefetch" href="/assets/giscus-7BMGhbDA.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-SzV8tJDW.js" as="script">
+    <link rel="preload" href="/assets/style-7DTFFHvh.css" as="style"><link rel="stylesheet" href="/assets/style-7DTFFHvh.css">
+    <link rel="modulepreload" href="/assets/app-Flo2gZk8.js"><link rel="modulepreload" href="/assets/index.html-C_2nkQ6B.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
+    <link rel="prefetch" href="/assets/index.html-BhtLl4n3.js" as="script"><link rel="prefetch" href="/assets/index.html-C6yte3a0.js" as="script"><link rel="prefetch" href="/assets/index.html-R-cHHIas.js" as="script"><link rel="prefetch" href="/assets/index.html-CPUAg15t.js" as="script"><link rel="prefetch" href="/assets/index.html-BjdnOCC5.js" as="script"><link rel="prefetch" href="/assets/index.html-7Xyk7CrU.js" as="script"><link rel="prefetch" href="/assets/index.html-BNW3YRR3.js" as="script"><link rel="prefetch" href="/assets/index.html-jClrTNl3.js" as="script"><link rel="prefetch" href="/assets/index.html-tFfBEjXi.js" as="script"><link rel="prefetch" href="/assets/index.html-DgPmeCdQ.js" as="script"><link rel="prefetch" href="/assets/index.html-CxRigd-R.js" as="script"><link rel="prefetch" href="/assets/index.html-BWPjJqfa.js" as="script"><link rel="prefetch" href="/assets/index.html-DzG2EJXJ.js" as="script"><link rel="prefetch" href="/assets/index.html-B45efyIG.js" as="script"><link rel="prefetch" href="/assets/index.html-D_Px6PD2.js" as="script"><link rel="prefetch" href="/assets/index.html-U1Oe9QlK.js" as="script"><link rel="prefetch" href="/assets/index.html-fvB3i9PM.js" as="script"><link rel="prefetch" href="/assets/404.html-mkIobPP0.js" as="script"><link rel="prefetch" href="/assets/index.html-DGqb01LU.js" as="script"><link rel="prefetch" href="/assets/index.html-GZfFX8ok.js" as="script"><link rel="prefetch" href="/assets/index.html-vhaMR1PK.js" as="script"><link rel="prefetch" href="/assets/index.html-CvSEeOlH.js" as="script"><link rel="prefetch" href="/assets/index.html-BmplSMWS.js" as="script"><link rel="prefetch" href="/assets/index.html-C2sDDxGY.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNwolvq.js" as="script"><link rel="prefetch" href="/assets/index.html-DhSSZBRU.js" as="script"><link rel="prefetch" href="/assets/index.html-DPcGNBru.js" as="script"><link rel="prefetch" href="/assets/index.html-BFJ0kKZP.js" as="script"><link rel="prefetch" href="/assets/index.html-CBW4olfB.js" as="script"><link rel="prefetch" href="/assets/index.html-CiBWk0Bg.js" as="script"><link rel="prefetch" href="/assets/index.html-AFWYFeTY.js" as="script"><link rel="prefetch" href="/assets/index.html-DlrkN0XZ.js" as="script"><link rel="prefetch" href="/assets/index.html-Cb-sPtFS.js" as="script"><link rel="prefetch" href="/assets/index.html-DPF-EyUV.js" as="script"><link rel="prefetch" href="/assets/index.html-AqhAiBBF.js" as="script"><link rel="prefetch" href="/assets/index.html-DLZdHb6J.js" as="script"><link rel="prefetch" href="/assets/index.html-Cpr5viHS.js" as="script"><link rel="prefetch" href="/assets/index.html-BXxGxqK4.js" as="script"><link rel="prefetch" href="/assets/index.html-4asd-b47.js" as="script"><link rel="prefetch" href="/assets/index.html-ZITi3OK2.js" as="script"><link rel="prefetch" href="/assets/index.html-DJMKg_M6.js" as="script"><link rel="prefetch" href="/assets/index.html-Y__KWg8u.js" as="script"><link rel="prefetch" href="/assets/index.html--BIzY7gk.js" as="script"><link rel="prefetch" href="/assets/index.html-BRHXQqdq.js" as="script"><link rel="prefetch" href="/assets/index.html-R9oSKuoP.js" as="script"><link rel="prefetch" href="/assets/index.html-DY-KY6vi.js" as="script"><link rel="prefetch" href="/assets/index.html-BSndmKE7.js" as="script"><link rel="prefetch" href="/assets/index.html-BDmR_g70.js" as="script"><link rel="prefetch" href="/assets/index.html-CpeDyHcd.js" as="script"><link rel="prefetch" href="/assets/index.html-DV9WiiCS.js" as="script"><link rel="prefetch" href="/assets/index.html-DTceWJaH.js" as="script"><link rel="prefetch" href="/assets/index.html-2WOtvPq_.js" as="script"><link rel="prefetch" href="/assets/index.html-DCVozm3V.js" as="script"><link rel="prefetch" href="/assets/index.html-vKhQGG0S.js" as="script"><link rel="prefetch" href="/assets/index.html-BlvUTCvM.js" as="script"><link rel="prefetch" href="/assets/index.html-vIW8aJUJ.js" as="script"><link rel="prefetch" href="/assets/index.html-CTuZCChr.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-S0Hns9UN.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CSFeuThZ.js" as="script"><link rel="prefetch" href="/assets/artplayer-DnixxQIM.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-DaNo29Rn.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-nRkOMaNb.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-DQalTb-T.js" as="script"><link rel="prefetch" href="/assets/giscus-D-fkNSKD.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-GXRgw7eJ.js" as="script">
   </head>
   <body>
     <div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container no-sidebar"><!--[--><header id="navbar" class="vp-navbar"><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><!--[--><a class="route-link vp-brand" href="/"><img class="vp-nav-logo" src="/img/Headshot.jpg" alt><!----><span class="vp-site-name hide-in-pad">HalfSweet&#39;s Blog</span></a><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-center"><!--[--><!----><!--]--><!--[--><nav class="vp-nav-links"><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/posts/" aria-label="文章"><span class="font-icon icon app" style=""></span>文章<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/about/" aria-label="关于"><span class="font-icon icon user" style=""></span>关于<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/friends/" aria-label="友链"><span class="font-icon icon link" style=""></span>友链<!----></a></div></nav><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-end"><!--[--><!----><!--]--><!--[--><!----><div class="nav-item vp-repo"><a class="vp-repo-link" href="https://github.com/HalfSweet/Blog" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><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"></path></svg></a></div><div class="nav-item hide-in-mobile"><button type="button" id="appearance-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" style="display:block;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" style="display:none;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" style="display:none;"><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"></path></svg></button></div><!----><!--]--><!--[--><!----><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar"><!--[--><!----><!--]--><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></li><li><section class="vp-sidebar-group"><p class="vp-sidebar-header"><span class="font-icon icon book" style=""></span><span class="vp-sidebar-title">文章</span><!----></p><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-Clion/" aria-label="使用 Clion 来进行 Air32 的开发"><!---->使用 Clion 来进行 Air32 的开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-MCO/" aria-label="Air32 的 HAL 改造——适配 MCO"><!---->Air32 的 HAL 改造——适配 MCO<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/HelloWorld/" aria-label="HelloWorld"><!---->HelloWorld<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/STC_CoreMark/" aria-label="不服来跑个分?将 CoreMark 移植到 STC 上试试"><!---->不服来跑个分?将 CoreMark 移植到 STC 上试试<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="为什么我对第三代郊狼失望"><!---->为什么我对第三代郊狼失望<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-HighFreq/" aria-label="发挥全部实力!Air32 在 HAL 库环境下运行最高主频"><!---->发挥全部实力!Air32 在 HAL 库环境下运行最高主频<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/embedded_fmtlib/" aria-label="在嵌入式设备上使用fmtlib"><!---->在嵌入式设备上使用fmtlib<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/conda_novelai/" aria-label="基于conda进行手动配置novelAI"><!---->基于conda进行手动配置novelAI<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="对《为什么我对第三代郊狼失望》一文的澄清说明"><!---->对《为什么我对第三代郊狼失望》一文的澄清说明<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Empedded-CI-CD/" aria-label="嵌入式中的 CI/CD"><!---->嵌入式中的 CI/CD<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/MDK6-Dev/" aria-label="更现代的开发方式?使用 MDK6 进行开发"><!---->更现代的开发方式?使用 MDK6 进行开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/SEGGER-RTT/" aria-label="更高效的日志查看方式——使用SEGGER-RTT"><!---->更高效的日志查看方式——使用SEGGER-RTT<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/EpdTraps1/" aria-label="墨水屏的坑——7.5寸墨水屏刷新为何出现条纹"><!---->墨水屏的坑——7.5寸墨水屏刷新为何出现条纹<!----></a></li></ul></section></li></ul><!--[--><!----><!--]--></aside><!--[--><div class="vp-page vp-blog"><div class="blog-page-wrapper"><main id="main-content" class="vp-blog-main"><ul class="tag-list-wrapper"><li class="tag tag8"><a class="route-link" href="/tag/%E5%90%88%E5%AE%99/">合宙<span class="tag-num">6</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/air32/">Air32<span class="tag-num">4</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/air001/">Air001<span class="tag-num">3</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/%E5%B5%8C%E5%85%A5%E5%BC%8F/">嵌入式<span class="tag-num">2</span></a></li><li class="tag tag6"><a class="route-link" href="/tag/%E7%A2%8E%E7%A2%8E%E5%BF%B5/">碎碎念<span class="tag-num">2</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/%E9%83%8A%E7%8B%BC/">郊狼<span class="tag-num">2</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/mco/">MCO<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/helloworld/">HelloWorld<span class="tag-num">1</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/stc32/">STC32<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/stc8/">STC8<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/coremark/">CoreMark<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/clion/">Clion<span class="tag-num">1</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/%E8%B6%85%E9%A2%91/">超频<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/fmtlib/">fmtlib<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/esp8266/">ESP8266<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/esp32/">ESP32<span class="tag-num">1</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/arduino/">Arduino<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/platformio/">PlatformIO<span class="tag-num">1</span></a></li><li class="tag tag0 active"><a class="route-link" href="/tag/esp-idf/">ESP-IDF<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/">人工智能<span class="tag-num">1</span></a></li><li class="tag tag1"><a class="route-link" href="/tag/novelai/">novelAI<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/conda/">conda<span class="tag-num">1</span></a></li><li class="tag tag7"><a class="route-link" href="/tag/%E5%A2%A8%E6%B0%B4%E5%B1%8F/">墨水屏<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/uc8179/">UC8179<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/depg0750rwu790f30/">DEPG0750RWU790F30<span class="tag-num">1</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/%E9%81%87%E5%88%B0%E7%9A%84%E5%9D%91/">遇到的坑<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/cicd/">CI/CD<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/%E6%97%A5%E5%BF%97/">日志<span class="tag-num">1</span></a></li></ul><div id="article-list" class="vp-article-list" role="feed"><div class="vp-article-wrapper"><article class="vp-article-item" vocab="https://schema.org/" typeof="Article"><!--[--><!--]--><!----><a class="route-link" href="/posts/embedded_fmtlib/"><header class="vp-article-title"><!----><!----><span property="headline">在嵌入式设备上使用fmtlib</span></header></a><div class="vp-article-excerpt"><p>众所周知,在c++20以上的标准已经支持了<code>std::format</code>进行格式化输出,不过显而易见,嵌入式领域想要得到支持显然遥遥无期。但是我们已经厌倦了使用sprintf等方式来格式化字符串,c++的流特性又显得不够优雅,怎么才能用上类似于Python中format这样的方式来格式化并输出想要的字符串呢。</p>
 </div><hr class="vp-article-hr"><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2023-02-03T14:08:57.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>大约 5 分钟</span><meta property="timeRequired" content="PT5M"></span><span class="page-category-info" aria-label="分类🌈" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg><!--[--><span class="page-category-item category1 clickable" role="navigation">posts</span><!--]--><meta property="articleSection" content="posts"></span><span class="page-tag-info" aria-label="标签🏷" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg><!--[--><span class="page-tag-item tag8 clickable" role="navigation">fmtlib</span><span class="page-tag-item tag2 clickable" role="navigation">嵌入式</span><span class="page-tag-item tag8 clickable" role="navigation">ESP8266</span><span class="page-tag-item tag2 clickable" role="navigation">ESP32</span><span class="page-tag-item tag3 clickable" role="navigation">Arduino</span><span class="page-tag-item tag5 clickable" role="navigation">PlatformIO</span><span class="page-tag-item tag0 clickable" role="navigation">ESP-IDF</span><!--]--><meta property="keywords" content="fmtlib,嵌入式,ESP8266,ESP32,Arduino,PlatformIO,ESP-IDF"></span></div></article></div><div class="vp-pagination"></div></div></main><aside class="vp-blog-info-wrapper"><div class="vp-blogger-info" vocab="https://schema.org/" typeof="Person"><div class="vp-blogger" style="cursor:pointer;" aria-label="个人介绍" data-balloon-pos="down" role="link"><img class="vp-blogger-avatar" src="/img/Headshot.jpg" property="image" alt="Blogger Avatar" loading="lazy"><div class="vp-blogger-name" property="name">HalfSweet</div><div class="vp-blogger-description">Try to create some value</div><meta property="url" content="/Catalogue/02.about.html"></div><div class="vp-blog-counts"><a class="route-link vp-blog-count" href="/article/"><div class="count">13</div><div>文章</div></a><a class="route-link vp-blog-count" href="/category/"><div class="count">5</div><div>分类</div></a><a class="route-link vp-blog-count" href="/tag/"><div class="count">28</div><div>标签</div></a><a class="route-link vp-blog-count" href="/timeline/"><div class="count">13</div><div>时间轴</div></a></div><div class="vp-social-medias"><a class="vp-social-media" href="mailto:HalfSweet@HalfSweet.cn" rel="noopener noreferrer" target="_blank" aria-label="Email" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon email-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#1384FF"/><path fill="#fff" d="M270.077 286.233H751.99c32.933 0 59.86 24.855 60.274 55.51l-301.023 157L210.217 341.88c.207-30.723 26.927-55.717 59.86-55.717zm-59.929 115.714-.276 277.756c0 30.931 27.134 56.2 60.205 56.2H751.99c33.14 0 60.274-25.269 60.274-56.2V401.81L518.283 551.492a15.88 15.88 0 0 1-14.43 0L210.148 401.947z"/></svg></a><a class="vp-social-media" href="https://github.com/HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="GitHub" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#171515"/><path fill="#fff" d="M509.423 146.442c-200.317 0-362.756 162.42-362.756 362.8 0 160.266 103.936 296.24 248.109 344.217 18.139 3.327 24.76-7.872 24.76-17.486 0-8.613-.313-31.427-.49-61.702-100.912 21.923-122.205-48.63-122.205-48.63-16.495-41.91-40.28-53.067-40.28-53.067-32.937-22.51 2.492-22.053 2.492-22.053 36.407 2.566 55.568 37.386 55.568 37.386 32.362 55.438 84.907 39.43 105.58 30.143 3.296-23.444 12.667-39.43 23.032-48.498-80.557-9.156-165.246-40.28-165.246-179.297 0-39.604 14.135-71.988 37.342-97.348-3.731-9.178-16.18-46.063 3.556-96.009 0 0 30.46-9.754 99.76 37.19 28.937-8.048 59.97-12.071 90.823-12.211 30.807.14 61.843 4.165 90.822 12.21 69.26-46.944 99.663-37.189 99.663-37.189 19.792 49.946 7.34 86.831 3.61 96.01 23.25 25.359 37.29 57.742 37.29 97.347 0 139.366-84.82 170.033-165.637 179.013 13.026 11.2 24.628 33.342 24.628 67.182 0 48.498-.445 87.627-.445 99.521 0 9.702 6.535 20.988 24.945 17.444 144.03-48.067 247.881-183.95 247.881-344.175 0-200.378-162.442-362.798-362.802-362.798z"/></svg></a><a class="vp-social-media" href="https://twitter.com/_HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="Twitter" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon twitter-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512"/><path fill="#FFF" d="m560 473 186-216h-44L540 445 411 257H262l195 284-195 226h44l171-198 136 198h149zM322 290h68l312 445h-68z"/></svg></a></div></div><div class="vp-blog-infos"><div class="vp-blog-type-switcher"><button type="button" class="vp-blog-type-button"><div class="icon-wrapper active" aria-label="文章" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="分类" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="标签" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="时间轴" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timeline-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timeline icon"><path d="M511.997 70.568c-243.797 0-441.429 197.633-441.429 441.435 0 243.797 197.632 441.429 441.43 441.429S953.431 755.8 953.431 512.002c0-243.796-197.637-441.434-441.435-441.434zm150.158 609.093-15.605 15.61c-8.621 8.615-22.596 8.615-31.215 0L472.197 552.126c-4.95-4.944-4.34-14.888-4.34-24.677V247.14c0-12.19 9.882-22.07 22.07-22.07h22.07c12.19 0 22.07 9.882 22.07 22.07v273.218l128.088 128.088c8.62 8.62 8.62 22.595 0 31.215zm0 0"></path></svg></div></button></div><div class="vp-star-article-wrapper"><div class="title"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg><span class="num">13</span>文章</div><hr><div class="vp-star-article-empty">星标 为空</div></div></div></aside></div></div><!--]--><footer class="vp-footer-wrapper"><div class="vp-footer">今天咕咕被欺负了吗</div><div class="vp-copyright">Copyright © 2024 HalfSweet </div></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div>
-    <script type="module" src="/assets/app-ClwIkahu.js" defer></script>
+    <script type="module" src="/assets/app-Flo2gZk8.js" defer></script>
   </body>
 </html>
diff --git a/tag/esp32/index.html b/tag/esp32/index.html
index e338d65..20b1b54 100644
--- a/tag/esp32/index.html
+++ b/tag/esp32/index.html
@@ -29,13 +29,13 @@
       }
     </script>
     <meta property="og:url" content="https://halfsweet.cn/tag/esp32/"><meta property="og:site_name" content="HalfSweet's Blog"><meta property="og:title" content="标签: ESP32"><meta property="og:type" content="website"><meta property="og:locale" content="zh-CN"><meta property="article:author" content="HalfSweet"><script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","name":"标签: ESP32"}</script><title>标签: ESP32 | HalfSweet's Blog</title><meta name="description" content="半糖的博客">
-    <link rel="preload" href="/assets/style-BDwnt-CL.css" as="style"><link rel="stylesheet" href="/assets/style-BDwnt-CL.css">
-    <link rel="modulepreload" href="/assets/app-ClwIkahu.js"><link rel="modulepreload" href="/assets/index.html-D7Uf3Wbw.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
-    <link rel="prefetch" href="/assets/index.html-BjG6C5xb.js" as="script"><link rel="prefetch" href="/assets/index.html-6gNmrYKw.js" as="script"><link rel="prefetch" href="/assets/index.html-W8DPbcPd.js" as="script"><link rel="prefetch" href="/assets/index.html-75fD8c0W.js" as="script"><link rel="prefetch" href="/assets/index.html-CufQKtZU.js" as="script"><link rel="prefetch" href="/assets/index.html-Bqe7scks.js" as="script"><link rel="prefetch" href="/assets/index.html-B5-KeVPb.js" as="script"><link rel="prefetch" href="/assets/index.html-C7FigsQF.js" as="script"><link rel="prefetch" href="/assets/index.html-DtEE6E7f.js" as="script"><link rel="prefetch" href="/assets/index.html-0oPRY09N.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNCX4dz.js" as="script"><link rel="prefetch" href="/assets/index.html-XtQdJJI8.js" as="script"><link rel="prefetch" href="/assets/index.html-CnJ0E6b5.js" as="script"><link rel="prefetch" href="/assets/index.html-CFhDcrZp.js" as="script"><link rel="prefetch" href="/assets/index.html-Bd1PkxNi.js" as="script"><link rel="prefetch" href="/assets/index.html-DJ-_mZ9n.js" as="script"><link rel="prefetch" href="/assets/index.html-jFzM8lrm.js" as="script"><link rel="prefetch" href="/assets/404.html-VMfaDGRx.js" as="script"><link rel="prefetch" href="/assets/index.html-BaR2aqhq.js" as="script"><link rel="prefetch" href="/assets/index.html-DO2xY2T5.js" as="script"><link rel="prefetch" href="/assets/index.html-BEwHBlkc.js" as="script"><link rel="prefetch" href="/assets/index.html-DZIt3Q5g.js" as="script"><link rel="prefetch" href="/assets/index.html-Dd9JrssL.js" as="script"><link rel="prefetch" href="/assets/index.html-BjPOIJdK.js" as="script"><link rel="prefetch" href="/assets/index.html-CmtlWOBH.js" as="script"><link rel="prefetch" href="/assets/index.html-CR-9qG2Y.js" as="script"><link rel="prefetch" href="/assets/index.html-CwWDCYUS.js" as="script"><link rel="prefetch" href="/assets/index.html-CptFZpi0.js" as="script"><link rel="prefetch" href="/assets/index.html-p6Y7Jm3n.js" as="script"><link rel="prefetch" href="/assets/index.html-CIen8cvO.js" as="script"><link rel="prefetch" href="/assets/index.html-BKUs44hv.js" as="script"><link rel="prefetch" href="/assets/index.html-D0wSSTgQ.js" as="script"><link rel="prefetch" href="/assets/index.html-DqsCIdcm.js" as="script"><link rel="prefetch" href="/assets/index.html-kUwAIzkD.js" as="script"><link rel="prefetch" href="/assets/index.html-BqgjNdmg.js" as="script"><link rel="prefetch" href="/assets/index.html-DIaDLRqn.js" as="script"><link rel="prefetch" href="/assets/index.html-DhcL23aG.js" as="script"><link rel="prefetch" href="/assets/index.html-Bk9EBjUw.js" as="script"><link rel="prefetch" href="/assets/index.html-C0X-QC5U.js" as="script"><link rel="prefetch" href="/assets/index.html-ZwD6xCF4.js" as="script"><link rel="prefetch" href="/assets/index.html-BdqadbH8.js" as="script"><link rel="prefetch" href="/assets/index.html-CsuDpoYK.js" as="script"><link rel="prefetch" href="/assets/index.html-Dc2bdBF2.js" as="script"><link rel="prefetch" href="/assets/index.html-BzgkemtD.js" as="script"><link rel="prefetch" href="/assets/index.html-7uHHiaZx.js" as="script"><link rel="prefetch" href="/assets/index.html-TGoZudvZ.js" as="script"><link rel="prefetch" href="/assets/index.html-DbCWijUV.js" as="script"><link rel="prefetch" href="/assets/index.html-DOCRL60a.js" as="script"><link rel="prefetch" href="/assets/index.html-B8qYb7wb.js" as="script"><link rel="prefetch" href="/assets/index.html-CpBdG6tv.js" as="script"><link rel="prefetch" href="/assets/index.html-DdE0h7xo.js" as="script"><link rel="prefetch" href="/assets/index.html-BlsdgZAc.js" as="script"><link rel="prefetch" href="/assets/index.html-Du74cC6X.js" as="script"><link rel="prefetch" href="/assets/index.html-CTp2Oa39.js" as="script"><link rel="prefetch" href="/assets/index.html-Bz73p56D.js" as="script"><link rel="prefetch" href="/assets/index.html-BktjQtFB.js" as="script"><link rel="prefetch" href="/assets/index.html-DPl--Ppt.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-BF52VcER.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CgYxLcm_.js" as="script"><link rel="prefetch" href="/assets/artplayer-CHAGXahu.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-BOVnG7as.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-CbA2In8H.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-Do1ld-lW.js" as="script"><link rel="prefetch" href="/assets/giscus-7BMGhbDA.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-SzV8tJDW.js" as="script">
+    <link rel="preload" href="/assets/style-7DTFFHvh.css" as="style"><link rel="stylesheet" href="/assets/style-7DTFFHvh.css">
+    <link rel="modulepreload" href="/assets/app-Flo2gZk8.js"><link rel="modulepreload" href="/assets/index.html-Y__KWg8u.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
+    <link rel="prefetch" href="/assets/index.html-BhtLl4n3.js" as="script"><link rel="prefetch" href="/assets/index.html-C6yte3a0.js" as="script"><link rel="prefetch" href="/assets/index.html-R-cHHIas.js" as="script"><link rel="prefetch" href="/assets/index.html-CPUAg15t.js" as="script"><link rel="prefetch" href="/assets/index.html-BjdnOCC5.js" as="script"><link rel="prefetch" href="/assets/index.html-7Xyk7CrU.js" as="script"><link rel="prefetch" href="/assets/index.html-BNW3YRR3.js" as="script"><link rel="prefetch" href="/assets/index.html-jClrTNl3.js" as="script"><link rel="prefetch" href="/assets/index.html-tFfBEjXi.js" as="script"><link rel="prefetch" href="/assets/index.html-DgPmeCdQ.js" as="script"><link rel="prefetch" href="/assets/index.html-CxRigd-R.js" as="script"><link rel="prefetch" href="/assets/index.html-BWPjJqfa.js" as="script"><link rel="prefetch" href="/assets/index.html-DzG2EJXJ.js" as="script"><link rel="prefetch" href="/assets/index.html-B45efyIG.js" as="script"><link rel="prefetch" href="/assets/index.html-D_Px6PD2.js" as="script"><link rel="prefetch" href="/assets/index.html-U1Oe9QlK.js" as="script"><link rel="prefetch" href="/assets/index.html-fvB3i9PM.js" as="script"><link rel="prefetch" href="/assets/404.html-mkIobPP0.js" as="script"><link rel="prefetch" href="/assets/index.html-DGqb01LU.js" as="script"><link rel="prefetch" href="/assets/index.html-GZfFX8ok.js" as="script"><link rel="prefetch" href="/assets/index.html-vhaMR1PK.js" as="script"><link rel="prefetch" href="/assets/index.html-CvSEeOlH.js" as="script"><link rel="prefetch" href="/assets/index.html-BmplSMWS.js" as="script"><link rel="prefetch" href="/assets/index.html-C2sDDxGY.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNwolvq.js" as="script"><link rel="prefetch" href="/assets/index.html-DhSSZBRU.js" as="script"><link rel="prefetch" href="/assets/index.html-DPcGNBru.js" as="script"><link rel="prefetch" href="/assets/index.html-BFJ0kKZP.js" as="script"><link rel="prefetch" href="/assets/index.html-CBW4olfB.js" as="script"><link rel="prefetch" href="/assets/index.html-CiBWk0Bg.js" as="script"><link rel="prefetch" href="/assets/index.html-AFWYFeTY.js" as="script"><link rel="prefetch" href="/assets/index.html-DlrkN0XZ.js" as="script"><link rel="prefetch" href="/assets/index.html-Cb-sPtFS.js" as="script"><link rel="prefetch" href="/assets/index.html-DPF-EyUV.js" as="script"><link rel="prefetch" href="/assets/index.html-AqhAiBBF.js" as="script"><link rel="prefetch" href="/assets/index.html-DLZdHb6J.js" as="script"><link rel="prefetch" href="/assets/index.html-Cpr5viHS.js" as="script"><link rel="prefetch" href="/assets/index.html-BXxGxqK4.js" as="script"><link rel="prefetch" href="/assets/index.html-4asd-b47.js" as="script"><link rel="prefetch" href="/assets/index.html-ZITi3OK2.js" as="script"><link rel="prefetch" href="/assets/index.html-DJMKg_M6.js" as="script"><link rel="prefetch" href="/assets/index.html--BIzY7gk.js" as="script"><link rel="prefetch" href="/assets/index.html-BRHXQqdq.js" as="script"><link rel="prefetch" href="/assets/index.html-C_2nkQ6B.js" as="script"><link rel="prefetch" href="/assets/index.html-R9oSKuoP.js" as="script"><link rel="prefetch" href="/assets/index.html-DY-KY6vi.js" as="script"><link rel="prefetch" href="/assets/index.html-BSndmKE7.js" as="script"><link rel="prefetch" href="/assets/index.html-BDmR_g70.js" as="script"><link rel="prefetch" href="/assets/index.html-CpeDyHcd.js" as="script"><link rel="prefetch" href="/assets/index.html-DV9WiiCS.js" as="script"><link rel="prefetch" href="/assets/index.html-DTceWJaH.js" as="script"><link rel="prefetch" href="/assets/index.html-2WOtvPq_.js" as="script"><link rel="prefetch" href="/assets/index.html-DCVozm3V.js" as="script"><link rel="prefetch" href="/assets/index.html-vKhQGG0S.js" as="script"><link rel="prefetch" href="/assets/index.html-BlvUTCvM.js" as="script"><link rel="prefetch" href="/assets/index.html-vIW8aJUJ.js" as="script"><link rel="prefetch" href="/assets/index.html-CTuZCChr.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-S0Hns9UN.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CSFeuThZ.js" as="script"><link rel="prefetch" href="/assets/artplayer-DnixxQIM.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-DaNo29Rn.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-nRkOMaNb.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-DQalTb-T.js" as="script"><link rel="prefetch" href="/assets/giscus-D-fkNSKD.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-GXRgw7eJ.js" as="script">
   </head>
   <body>
     <div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container no-sidebar"><!--[--><header id="navbar" class="vp-navbar"><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><!--[--><a class="route-link vp-brand" href="/"><img class="vp-nav-logo" src="/img/Headshot.jpg" alt><!----><span class="vp-site-name hide-in-pad">HalfSweet&#39;s Blog</span></a><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-center"><!--[--><!----><!--]--><!--[--><nav class="vp-nav-links"><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/posts/" aria-label="文章"><span class="font-icon icon app" style=""></span>文章<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/about/" aria-label="关于"><span class="font-icon icon user" style=""></span>关于<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/friends/" aria-label="友链"><span class="font-icon icon link" style=""></span>友链<!----></a></div></nav><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-end"><!--[--><!----><!--]--><!--[--><!----><div class="nav-item vp-repo"><a class="vp-repo-link" href="https://github.com/HalfSweet/Blog" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><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"></path></svg></a></div><div class="nav-item hide-in-mobile"><button type="button" id="appearance-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" style="display:block;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" style="display:none;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" style="display:none;"><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"></path></svg></button></div><!----><!--]--><!--[--><!----><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar"><!--[--><!----><!--]--><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></li><li><section class="vp-sidebar-group"><p class="vp-sidebar-header"><span class="font-icon icon book" style=""></span><span class="vp-sidebar-title">文章</span><!----></p><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-Clion/" aria-label="使用 Clion 来进行 Air32 的开发"><!---->使用 Clion 来进行 Air32 的开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-MCO/" aria-label="Air32 的 HAL 改造——适配 MCO"><!---->Air32 的 HAL 改造——适配 MCO<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/HelloWorld/" aria-label="HelloWorld"><!---->HelloWorld<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/STC_CoreMark/" aria-label="不服来跑个分?将 CoreMark 移植到 STC 上试试"><!---->不服来跑个分?将 CoreMark 移植到 STC 上试试<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="为什么我对第三代郊狼失望"><!---->为什么我对第三代郊狼失望<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-HighFreq/" aria-label="发挥全部实力!Air32 在 HAL 库环境下运行最高主频"><!---->发挥全部实力!Air32 在 HAL 库环境下运行最高主频<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/embedded_fmtlib/" aria-label="在嵌入式设备上使用fmtlib"><!---->在嵌入式设备上使用fmtlib<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/conda_novelai/" aria-label="基于conda进行手动配置novelAI"><!---->基于conda进行手动配置novelAI<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="对《为什么我对第三代郊狼失望》一文的澄清说明"><!---->对《为什么我对第三代郊狼失望》一文的澄清说明<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Empedded-CI-CD/" aria-label="嵌入式中的 CI/CD"><!---->嵌入式中的 CI/CD<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/MDK6-Dev/" aria-label="更现代的开发方式?使用 MDK6 进行开发"><!---->更现代的开发方式?使用 MDK6 进行开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/SEGGER-RTT/" aria-label="更高效的日志查看方式——使用SEGGER-RTT"><!---->更高效的日志查看方式——使用SEGGER-RTT<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/EpdTraps1/" aria-label="墨水屏的坑——7.5寸墨水屏刷新为何出现条纹"><!---->墨水屏的坑——7.5寸墨水屏刷新为何出现条纹<!----></a></li></ul></section></li></ul><!--[--><!----><!--]--></aside><!--[--><div class="vp-page vp-blog"><div class="blog-page-wrapper"><main id="main-content" class="vp-blog-main"><ul class="tag-list-wrapper"><li class="tag tag8"><a class="route-link" href="/tag/%E5%90%88%E5%AE%99/">合宙<span class="tag-num">6</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/air32/">Air32<span class="tag-num">4</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/air001/">Air001<span class="tag-num">3</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/%E5%B5%8C%E5%85%A5%E5%BC%8F/">嵌入式<span class="tag-num">2</span></a></li><li class="tag tag6"><a class="route-link" href="/tag/%E7%A2%8E%E7%A2%8E%E5%BF%B5/">碎碎念<span class="tag-num">2</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/%E9%83%8A%E7%8B%BC/">郊狼<span class="tag-num">2</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/mco/">MCO<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/helloworld/">HelloWorld<span class="tag-num">1</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/stc32/">STC32<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/stc8/">STC8<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/coremark/">CoreMark<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/clion/">Clion<span class="tag-num">1</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/%E8%B6%85%E9%A2%91/">超频<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/fmtlib/">fmtlib<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/esp8266/">ESP8266<span class="tag-num">1</span></a></li><li class="tag tag2 active"><a class="route-link" href="/tag/esp32/">ESP32<span class="tag-num">1</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/arduino/">Arduino<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/platformio/">PlatformIO<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/esp-idf/">ESP-IDF<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/">人工智能<span class="tag-num">1</span></a></li><li class="tag tag1"><a class="route-link" href="/tag/novelai/">novelAI<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/conda/">conda<span class="tag-num">1</span></a></li><li class="tag tag7"><a class="route-link" href="/tag/%E5%A2%A8%E6%B0%B4%E5%B1%8F/">墨水屏<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/uc8179/">UC8179<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/depg0750rwu790f30/">DEPG0750RWU790F30<span class="tag-num">1</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/%E9%81%87%E5%88%B0%E7%9A%84%E5%9D%91/">遇到的坑<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/cicd/">CI/CD<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/%E6%97%A5%E5%BF%97/">日志<span class="tag-num">1</span></a></li></ul><div id="article-list" class="vp-article-list" role="feed"><div class="vp-article-wrapper"><article class="vp-article-item" vocab="https://schema.org/" typeof="Article"><!--[--><!--]--><!----><a class="route-link" href="/posts/embedded_fmtlib/"><header class="vp-article-title"><!----><!----><span property="headline">在嵌入式设备上使用fmtlib</span></header></a><div class="vp-article-excerpt"><p>众所周知,在c++20以上的标准已经支持了<code>std::format</code>进行格式化输出,不过显而易见,嵌入式领域想要得到支持显然遥遥无期。但是我们已经厌倦了使用sprintf等方式来格式化字符串,c++的流特性又显得不够优雅,怎么才能用上类似于Python中format这样的方式来格式化并输出想要的字符串呢。</p>
 </div><hr class="vp-article-hr"><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2023-02-03T14:08:57.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>大约 5 分钟</span><meta property="timeRequired" content="PT5M"></span><span class="page-category-info" aria-label="分类🌈" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg><!--[--><span class="page-category-item category1 clickable" role="navigation">posts</span><!--]--><meta property="articleSection" content="posts"></span><span class="page-tag-info" aria-label="标签🏷" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg><!--[--><span class="page-tag-item tag8 clickable" role="navigation">fmtlib</span><span class="page-tag-item tag2 clickable" role="navigation">嵌入式</span><span class="page-tag-item tag8 clickable" role="navigation">ESP8266</span><span class="page-tag-item tag2 clickable" role="navigation">ESP32</span><span class="page-tag-item tag3 clickable" role="navigation">Arduino</span><span class="page-tag-item tag5 clickable" role="navigation">PlatformIO</span><span class="page-tag-item tag0 clickable" role="navigation">ESP-IDF</span><!--]--><meta property="keywords" content="fmtlib,嵌入式,ESP8266,ESP32,Arduino,PlatformIO,ESP-IDF"></span></div></article></div><div class="vp-pagination"></div></div></main><aside class="vp-blog-info-wrapper"><div class="vp-blogger-info" vocab="https://schema.org/" typeof="Person"><div class="vp-blogger" style="cursor:pointer;" aria-label="个人介绍" data-balloon-pos="down" role="link"><img class="vp-blogger-avatar" src="/img/Headshot.jpg" property="image" alt="Blogger Avatar" loading="lazy"><div class="vp-blogger-name" property="name">HalfSweet</div><div class="vp-blogger-description">Try to create some value</div><meta property="url" content="/Catalogue/02.about.html"></div><div class="vp-blog-counts"><a class="route-link vp-blog-count" href="/article/"><div class="count">13</div><div>文章</div></a><a class="route-link vp-blog-count" href="/category/"><div class="count">5</div><div>分类</div></a><a class="route-link vp-blog-count" href="/tag/"><div class="count">28</div><div>标签</div></a><a class="route-link vp-blog-count" href="/timeline/"><div class="count">13</div><div>时间轴</div></a></div><div class="vp-social-medias"><a class="vp-social-media" href="mailto:HalfSweet@HalfSweet.cn" rel="noopener noreferrer" target="_blank" aria-label="Email" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon email-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#1384FF"/><path fill="#fff" d="M270.077 286.233H751.99c32.933 0 59.86 24.855 60.274 55.51l-301.023 157L210.217 341.88c.207-30.723 26.927-55.717 59.86-55.717zm-59.929 115.714-.276 277.756c0 30.931 27.134 56.2 60.205 56.2H751.99c33.14 0 60.274-25.269 60.274-56.2V401.81L518.283 551.492a15.88 15.88 0 0 1-14.43 0L210.148 401.947z"/></svg></a><a class="vp-social-media" href="https://github.com/HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="GitHub" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#171515"/><path fill="#fff" d="M509.423 146.442c-200.317 0-362.756 162.42-362.756 362.8 0 160.266 103.936 296.24 248.109 344.217 18.139 3.327 24.76-7.872 24.76-17.486 0-8.613-.313-31.427-.49-61.702-100.912 21.923-122.205-48.63-122.205-48.63-16.495-41.91-40.28-53.067-40.28-53.067-32.937-22.51 2.492-22.053 2.492-22.053 36.407 2.566 55.568 37.386 55.568 37.386 32.362 55.438 84.907 39.43 105.58 30.143 3.296-23.444 12.667-39.43 23.032-48.498-80.557-9.156-165.246-40.28-165.246-179.297 0-39.604 14.135-71.988 37.342-97.348-3.731-9.178-16.18-46.063 3.556-96.009 0 0 30.46-9.754 99.76 37.19 28.937-8.048 59.97-12.071 90.823-12.211 30.807.14 61.843 4.165 90.822 12.21 69.26-46.944 99.663-37.189 99.663-37.189 19.792 49.946 7.34 86.831 3.61 96.01 23.25 25.359 37.29 57.742 37.29 97.347 0 139.366-84.82 170.033-165.637 179.013 13.026 11.2 24.628 33.342 24.628 67.182 0 48.498-.445 87.627-.445 99.521 0 9.702 6.535 20.988 24.945 17.444 144.03-48.067 247.881-183.95 247.881-344.175 0-200.378-162.442-362.798-362.802-362.798z"/></svg></a><a class="vp-social-media" href="https://twitter.com/_HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="Twitter" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon twitter-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512"/><path fill="#FFF" d="m560 473 186-216h-44L540 445 411 257H262l195 284-195 226h44l171-198 136 198h149zM322 290h68l312 445h-68z"/></svg></a></div></div><div class="vp-blog-infos"><div class="vp-blog-type-switcher"><button type="button" class="vp-blog-type-button"><div class="icon-wrapper active" aria-label="文章" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="分类" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="标签" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="时间轴" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timeline-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timeline icon"><path d="M511.997 70.568c-243.797 0-441.429 197.633-441.429 441.435 0 243.797 197.632 441.429 441.43 441.429S953.431 755.8 953.431 512.002c0-243.796-197.637-441.434-441.435-441.434zm150.158 609.093-15.605 15.61c-8.621 8.615-22.596 8.615-31.215 0L472.197 552.126c-4.95-4.944-4.34-14.888-4.34-24.677V247.14c0-12.19 9.882-22.07 22.07-22.07h22.07c12.19 0 22.07 9.882 22.07 22.07v273.218l128.088 128.088c8.62 8.62 8.62 22.595 0 31.215zm0 0"></path></svg></div></button></div><div class="vp-star-article-wrapper"><div class="title"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg><span class="num">13</span>文章</div><hr><div class="vp-star-article-empty">星标 为空</div></div></div></aside></div></div><!--]--><footer class="vp-footer-wrapper"><div class="vp-footer">今天咕咕被欺负了吗</div><div class="vp-copyright">Copyright © 2024 HalfSweet </div></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div>
-    <script type="module" src="/assets/app-ClwIkahu.js" defer></script>
+    <script type="module" src="/assets/app-Flo2gZk8.js" defer></script>
   </body>
 </html>
diff --git a/tag/esp8266/index.html b/tag/esp8266/index.html
index 54f5050..483d16a 100644
--- a/tag/esp8266/index.html
+++ b/tag/esp8266/index.html
@@ -29,13 +29,13 @@
       }
     </script>
     <meta property="og:url" content="https://halfsweet.cn/tag/esp8266/"><meta property="og:site_name" content="HalfSweet's Blog"><meta property="og:title" content="标签: ESP8266"><meta property="og:type" content="website"><meta property="og:locale" content="zh-CN"><meta property="article:author" content="HalfSweet"><script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","name":"标签: ESP8266"}</script><title>标签: ESP8266 | HalfSweet's Blog</title><meta name="description" content="半糖的博客">
-    <link rel="preload" href="/assets/style-BDwnt-CL.css" as="style"><link rel="stylesheet" href="/assets/style-BDwnt-CL.css">
-    <link rel="modulepreload" href="/assets/app-ClwIkahu.js"><link rel="modulepreload" href="/assets/index.html-BdqadbH8.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
-    <link rel="prefetch" href="/assets/index.html-BjG6C5xb.js" as="script"><link rel="prefetch" href="/assets/index.html-6gNmrYKw.js" as="script"><link rel="prefetch" href="/assets/index.html-W8DPbcPd.js" as="script"><link rel="prefetch" href="/assets/index.html-75fD8c0W.js" as="script"><link rel="prefetch" href="/assets/index.html-CufQKtZU.js" as="script"><link rel="prefetch" href="/assets/index.html-Bqe7scks.js" as="script"><link rel="prefetch" href="/assets/index.html-B5-KeVPb.js" as="script"><link rel="prefetch" href="/assets/index.html-C7FigsQF.js" as="script"><link rel="prefetch" href="/assets/index.html-DtEE6E7f.js" as="script"><link rel="prefetch" href="/assets/index.html-0oPRY09N.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNCX4dz.js" as="script"><link rel="prefetch" href="/assets/index.html-XtQdJJI8.js" as="script"><link rel="prefetch" href="/assets/index.html-CnJ0E6b5.js" as="script"><link rel="prefetch" href="/assets/index.html-CFhDcrZp.js" as="script"><link rel="prefetch" href="/assets/index.html-Bd1PkxNi.js" as="script"><link rel="prefetch" href="/assets/index.html-DJ-_mZ9n.js" as="script"><link rel="prefetch" href="/assets/index.html-jFzM8lrm.js" as="script"><link rel="prefetch" href="/assets/404.html-VMfaDGRx.js" as="script"><link rel="prefetch" href="/assets/index.html-BaR2aqhq.js" as="script"><link rel="prefetch" href="/assets/index.html-DO2xY2T5.js" as="script"><link rel="prefetch" href="/assets/index.html-BEwHBlkc.js" as="script"><link rel="prefetch" href="/assets/index.html-DZIt3Q5g.js" as="script"><link rel="prefetch" href="/assets/index.html-Dd9JrssL.js" as="script"><link rel="prefetch" href="/assets/index.html-BjPOIJdK.js" as="script"><link rel="prefetch" href="/assets/index.html-CmtlWOBH.js" as="script"><link rel="prefetch" href="/assets/index.html-CR-9qG2Y.js" as="script"><link rel="prefetch" href="/assets/index.html-CwWDCYUS.js" as="script"><link rel="prefetch" href="/assets/index.html-CptFZpi0.js" as="script"><link rel="prefetch" href="/assets/index.html-p6Y7Jm3n.js" as="script"><link rel="prefetch" href="/assets/index.html-CIen8cvO.js" as="script"><link rel="prefetch" href="/assets/index.html-BKUs44hv.js" as="script"><link rel="prefetch" href="/assets/index.html-D0wSSTgQ.js" as="script"><link rel="prefetch" href="/assets/index.html-DqsCIdcm.js" as="script"><link rel="prefetch" href="/assets/index.html-kUwAIzkD.js" as="script"><link rel="prefetch" href="/assets/index.html-BqgjNdmg.js" as="script"><link rel="prefetch" href="/assets/index.html-DIaDLRqn.js" as="script"><link rel="prefetch" href="/assets/index.html-DhcL23aG.js" as="script"><link rel="prefetch" href="/assets/index.html-Bk9EBjUw.js" as="script"><link rel="prefetch" href="/assets/index.html-C0X-QC5U.js" as="script"><link rel="prefetch" href="/assets/index.html-ZwD6xCF4.js" as="script"><link rel="prefetch" href="/assets/index.html-D7Uf3Wbw.js" as="script"><link rel="prefetch" href="/assets/index.html-CsuDpoYK.js" as="script"><link rel="prefetch" href="/assets/index.html-Dc2bdBF2.js" as="script"><link rel="prefetch" href="/assets/index.html-BzgkemtD.js" as="script"><link rel="prefetch" href="/assets/index.html-7uHHiaZx.js" as="script"><link rel="prefetch" href="/assets/index.html-TGoZudvZ.js" as="script"><link rel="prefetch" href="/assets/index.html-DbCWijUV.js" as="script"><link rel="prefetch" href="/assets/index.html-DOCRL60a.js" as="script"><link rel="prefetch" href="/assets/index.html-B8qYb7wb.js" as="script"><link rel="prefetch" href="/assets/index.html-CpBdG6tv.js" as="script"><link rel="prefetch" href="/assets/index.html-DdE0h7xo.js" as="script"><link rel="prefetch" href="/assets/index.html-BlsdgZAc.js" as="script"><link rel="prefetch" href="/assets/index.html-Du74cC6X.js" as="script"><link rel="prefetch" href="/assets/index.html-CTp2Oa39.js" as="script"><link rel="prefetch" href="/assets/index.html-Bz73p56D.js" as="script"><link rel="prefetch" href="/assets/index.html-BktjQtFB.js" as="script"><link rel="prefetch" href="/assets/index.html-DPl--Ppt.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-BF52VcER.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CgYxLcm_.js" as="script"><link rel="prefetch" href="/assets/artplayer-CHAGXahu.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-BOVnG7as.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-CbA2In8H.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-Do1ld-lW.js" as="script"><link rel="prefetch" href="/assets/giscus-7BMGhbDA.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-SzV8tJDW.js" as="script">
+    <link rel="preload" href="/assets/style-7DTFFHvh.css" as="style"><link rel="stylesheet" href="/assets/style-7DTFFHvh.css">
+    <link rel="modulepreload" href="/assets/app-Flo2gZk8.js"><link rel="modulepreload" href="/assets/index.html-DJMKg_M6.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
+    <link rel="prefetch" href="/assets/index.html-BhtLl4n3.js" as="script"><link rel="prefetch" href="/assets/index.html-C6yte3a0.js" as="script"><link rel="prefetch" href="/assets/index.html-R-cHHIas.js" as="script"><link rel="prefetch" href="/assets/index.html-CPUAg15t.js" as="script"><link rel="prefetch" href="/assets/index.html-BjdnOCC5.js" as="script"><link rel="prefetch" href="/assets/index.html-7Xyk7CrU.js" as="script"><link rel="prefetch" href="/assets/index.html-BNW3YRR3.js" as="script"><link rel="prefetch" href="/assets/index.html-jClrTNl3.js" as="script"><link rel="prefetch" href="/assets/index.html-tFfBEjXi.js" as="script"><link rel="prefetch" href="/assets/index.html-DgPmeCdQ.js" as="script"><link rel="prefetch" href="/assets/index.html-CxRigd-R.js" as="script"><link rel="prefetch" href="/assets/index.html-BWPjJqfa.js" as="script"><link rel="prefetch" href="/assets/index.html-DzG2EJXJ.js" as="script"><link rel="prefetch" href="/assets/index.html-B45efyIG.js" as="script"><link rel="prefetch" href="/assets/index.html-D_Px6PD2.js" as="script"><link rel="prefetch" href="/assets/index.html-U1Oe9QlK.js" as="script"><link rel="prefetch" href="/assets/index.html-fvB3i9PM.js" as="script"><link rel="prefetch" href="/assets/404.html-mkIobPP0.js" as="script"><link rel="prefetch" href="/assets/index.html-DGqb01LU.js" as="script"><link rel="prefetch" href="/assets/index.html-GZfFX8ok.js" as="script"><link rel="prefetch" href="/assets/index.html-vhaMR1PK.js" as="script"><link rel="prefetch" href="/assets/index.html-CvSEeOlH.js" as="script"><link rel="prefetch" href="/assets/index.html-BmplSMWS.js" as="script"><link rel="prefetch" href="/assets/index.html-C2sDDxGY.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNwolvq.js" as="script"><link rel="prefetch" href="/assets/index.html-DhSSZBRU.js" as="script"><link rel="prefetch" href="/assets/index.html-DPcGNBru.js" as="script"><link rel="prefetch" href="/assets/index.html-BFJ0kKZP.js" as="script"><link rel="prefetch" href="/assets/index.html-CBW4olfB.js" as="script"><link rel="prefetch" href="/assets/index.html-CiBWk0Bg.js" as="script"><link rel="prefetch" href="/assets/index.html-AFWYFeTY.js" as="script"><link rel="prefetch" href="/assets/index.html-DlrkN0XZ.js" as="script"><link rel="prefetch" href="/assets/index.html-Cb-sPtFS.js" as="script"><link rel="prefetch" href="/assets/index.html-DPF-EyUV.js" as="script"><link rel="prefetch" href="/assets/index.html-AqhAiBBF.js" as="script"><link rel="prefetch" href="/assets/index.html-DLZdHb6J.js" as="script"><link rel="prefetch" href="/assets/index.html-Cpr5viHS.js" as="script"><link rel="prefetch" href="/assets/index.html-BXxGxqK4.js" as="script"><link rel="prefetch" href="/assets/index.html-4asd-b47.js" as="script"><link rel="prefetch" href="/assets/index.html-ZITi3OK2.js" as="script"><link rel="prefetch" href="/assets/index.html-Y__KWg8u.js" as="script"><link rel="prefetch" href="/assets/index.html--BIzY7gk.js" as="script"><link rel="prefetch" href="/assets/index.html-BRHXQqdq.js" as="script"><link rel="prefetch" href="/assets/index.html-C_2nkQ6B.js" as="script"><link rel="prefetch" href="/assets/index.html-R9oSKuoP.js" as="script"><link rel="prefetch" href="/assets/index.html-DY-KY6vi.js" as="script"><link rel="prefetch" href="/assets/index.html-BSndmKE7.js" as="script"><link rel="prefetch" href="/assets/index.html-BDmR_g70.js" as="script"><link rel="prefetch" href="/assets/index.html-CpeDyHcd.js" as="script"><link rel="prefetch" href="/assets/index.html-DV9WiiCS.js" as="script"><link rel="prefetch" href="/assets/index.html-DTceWJaH.js" as="script"><link rel="prefetch" href="/assets/index.html-2WOtvPq_.js" as="script"><link rel="prefetch" href="/assets/index.html-DCVozm3V.js" as="script"><link rel="prefetch" href="/assets/index.html-vKhQGG0S.js" as="script"><link rel="prefetch" href="/assets/index.html-BlvUTCvM.js" as="script"><link rel="prefetch" href="/assets/index.html-vIW8aJUJ.js" as="script"><link rel="prefetch" href="/assets/index.html-CTuZCChr.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-S0Hns9UN.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CSFeuThZ.js" as="script"><link rel="prefetch" href="/assets/artplayer-DnixxQIM.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-DaNo29Rn.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-nRkOMaNb.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-DQalTb-T.js" as="script"><link rel="prefetch" href="/assets/giscus-D-fkNSKD.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-GXRgw7eJ.js" as="script">
   </head>
   <body>
     <div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container no-sidebar"><!--[--><header id="navbar" class="vp-navbar"><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><!--[--><a class="route-link vp-brand" href="/"><img class="vp-nav-logo" src="/img/Headshot.jpg" alt><!----><span class="vp-site-name hide-in-pad">HalfSweet&#39;s Blog</span></a><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-center"><!--[--><!----><!--]--><!--[--><nav class="vp-nav-links"><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/posts/" aria-label="文章"><span class="font-icon icon app" style=""></span>文章<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/about/" aria-label="关于"><span class="font-icon icon user" style=""></span>关于<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/friends/" aria-label="友链"><span class="font-icon icon link" style=""></span>友链<!----></a></div></nav><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-end"><!--[--><!----><!--]--><!--[--><!----><div class="nav-item vp-repo"><a class="vp-repo-link" href="https://github.com/HalfSweet/Blog" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><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"></path></svg></a></div><div class="nav-item hide-in-mobile"><button type="button" id="appearance-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" style="display:block;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" style="display:none;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" style="display:none;"><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"></path></svg></button></div><!----><!--]--><!--[--><!----><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar"><!--[--><!----><!--]--><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></li><li><section class="vp-sidebar-group"><p class="vp-sidebar-header"><span class="font-icon icon book" style=""></span><span class="vp-sidebar-title">文章</span><!----></p><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-Clion/" aria-label="使用 Clion 来进行 Air32 的开发"><!---->使用 Clion 来进行 Air32 的开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-MCO/" aria-label="Air32 的 HAL 改造——适配 MCO"><!---->Air32 的 HAL 改造——适配 MCO<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/HelloWorld/" aria-label="HelloWorld"><!---->HelloWorld<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/STC_CoreMark/" aria-label="不服来跑个分?将 CoreMark 移植到 STC 上试试"><!---->不服来跑个分?将 CoreMark 移植到 STC 上试试<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="为什么我对第三代郊狼失望"><!---->为什么我对第三代郊狼失望<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-HighFreq/" aria-label="发挥全部实力!Air32 在 HAL 库环境下运行最高主频"><!---->发挥全部实力!Air32 在 HAL 库环境下运行最高主频<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/embedded_fmtlib/" aria-label="在嵌入式设备上使用fmtlib"><!---->在嵌入式设备上使用fmtlib<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/conda_novelai/" aria-label="基于conda进行手动配置novelAI"><!---->基于conda进行手动配置novelAI<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="对《为什么我对第三代郊狼失望》一文的澄清说明"><!---->对《为什么我对第三代郊狼失望》一文的澄清说明<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Empedded-CI-CD/" aria-label="嵌入式中的 CI/CD"><!---->嵌入式中的 CI/CD<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/MDK6-Dev/" aria-label="更现代的开发方式?使用 MDK6 进行开发"><!---->更现代的开发方式?使用 MDK6 进行开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/SEGGER-RTT/" aria-label="更高效的日志查看方式——使用SEGGER-RTT"><!---->更高效的日志查看方式——使用SEGGER-RTT<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/EpdTraps1/" aria-label="墨水屏的坑——7.5寸墨水屏刷新为何出现条纹"><!---->墨水屏的坑——7.5寸墨水屏刷新为何出现条纹<!----></a></li></ul></section></li></ul><!--[--><!----><!--]--></aside><!--[--><div class="vp-page vp-blog"><div class="blog-page-wrapper"><main id="main-content" class="vp-blog-main"><ul class="tag-list-wrapper"><li class="tag tag8"><a class="route-link" href="/tag/%E5%90%88%E5%AE%99/">合宙<span class="tag-num">6</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/air32/">Air32<span class="tag-num">4</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/air001/">Air001<span class="tag-num">3</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/%E5%B5%8C%E5%85%A5%E5%BC%8F/">嵌入式<span class="tag-num">2</span></a></li><li class="tag tag6"><a class="route-link" href="/tag/%E7%A2%8E%E7%A2%8E%E5%BF%B5/">碎碎念<span class="tag-num">2</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/%E9%83%8A%E7%8B%BC/">郊狼<span class="tag-num">2</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/mco/">MCO<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/helloworld/">HelloWorld<span class="tag-num">1</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/stc32/">STC32<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/stc8/">STC8<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/coremark/">CoreMark<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/clion/">Clion<span class="tag-num">1</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/%E8%B6%85%E9%A2%91/">超频<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/fmtlib/">fmtlib<span class="tag-num">1</span></a></li><li class="tag tag8 active"><a class="route-link" href="/tag/esp8266/">ESP8266<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/esp32/">ESP32<span class="tag-num">1</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/arduino/">Arduino<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/platformio/">PlatformIO<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/esp-idf/">ESP-IDF<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/">人工智能<span class="tag-num">1</span></a></li><li class="tag tag1"><a class="route-link" href="/tag/novelai/">novelAI<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/conda/">conda<span class="tag-num">1</span></a></li><li class="tag tag7"><a class="route-link" href="/tag/%E5%A2%A8%E6%B0%B4%E5%B1%8F/">墨水屏<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/uc8179/">UC8179<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/depg0750rwu790f30/">DEPG0750RWU790F30<span class="tag-num">1</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/%E9%81%87%E5%88%B0%E7%9A%84%E5%9D%91/">遇到的坑<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/cicd/">CI/CD<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/%E6%97%A5%E5%BF%97/">日志<span class="tag-num">1</span></a></li></ul><div id="article-list" class="vp-article-list" role="feed"><div class="vp-article-wrapper"><article class="vp-article-item" vocab="https://schema.org/" typeof="Article"><!--[--><!--]--><!----><a class="route-link" href="/posts/embedded_fmtlib/"><header class="vp-article-title"><!----><!----><span property="headline">在嵌入式设备上使用fmtlib</span></header></a><div class="vp-article-excerpt"><p>众所周知,在c++20以上的标准已经支持了<code>std::format</code>进行格式化输出,不过显而易见,嵌入式领域想要得到支持显然遥遥无期。但是我们已经厌倦了使用sprintf等方式来格式化字符串,c++的流特性又显得不够优雅,怎么才能用上类似于Python中format这样的方式来格式化并输出想要的字符串呢。</p>
 </div><hr class="vp-article-hr"><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2023-02-03T14:08:57.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>大约 5 分钟</span><meta property="timeRequired" content="PT5M"></span><span class="page-category-info" aria-label="分类🌈" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg><!--[--><span class="page-category-item category1 clickable" role="navigation">posts</span><!--]--><meta property="articleSection" content="posts"></span><span class="page-tag-info" aria-label="标签🏷" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg><!--[--><span class="page-tag-item tag8 clickable" role="navigation">fmtlib</span><span class="page-tag-item tag2 clickable" role="navigation">嵌入式</span><span class="page-tag-item tag8 clickable" role="navigation">ESP8266</span><span class="page-tag-item tag2 clickable" role="navigation">ESP32</span><span class="page-tag-item tag3 clickable" role="navigation">Arduino</span><span class="page-tag-item tag5 clickable" role="navigation">PlatformIO</span><span class="page-tag-item tag0 clickable" role="navigation">ESP-IDF</span><!--]--><meta property="keywords" content="fmtlib,嵌入式,ESP8266,ESP32,Arduino,PlatformIO,ESP-IDF"></span></div></article></div><div class="vp-pagination"></div></div></main><aside class="vp-blog-info-wrapper"><div class="vp-blogger-info" vocab="https://schema.org/" typeof="Person"><div class="vp-blogger" style="cursor:pointer;" aria-label="个人介绍" data-balloon-pos="down" role="link"><img class="vp-blogger-avatar" src="/img/Headshot.jpg" property="image" alt="Blogger Avatar" loading="lazy"><div class="vp-blogger-name" property="name">HalfSweet</div><div class="vp-blogger-description">Try to create some value</div><meta property="url" content="/Catalogue/02.about.html"></div><div class="vp-blog-counts"><a class="route-link vp-blog-count" href="/article/"><div class="count">13</div><div>文章</div></a><a class="route-link vp-blog-count" href="/category/"><div class="count">5</div><div>分类</div></a><a class="route-link vp-blog-count" href="/tag/"><div class="count">28</div><div>标签</div></a><a class="route-link vp-blog-count" href="/timeline/"><div class="count">13</div><div>时间轴</div></a></div><div class="vp-social-medias"><a class="vp-social-media" href="mailto:HalfSweet@HalfSweet.cn" rel="noopener noreferrer" target="_blank" aria-label="Email" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon email-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#1384FF"/><path fill="#fff" d="M270.077 286.233H751.99c32.933 0 59.86 24.855 60.274 55.51l-301.023 157L210.217 341.88c.207-30.723 26.927-55.717 59.86-55.717zm-59.929 115.714-.276 277.756c0 30.931 27.134 56.2 60.205 56.2H751.99c33.14 0 60.274-25.269 60.274-56.2V401.81L518.283 551.492a15.88 15.88 0 0 1-14.43 0L210.148 401.947z"/></svg></a><a class="vp-social-media" href="https://github.com/HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="GitHub" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#171515"/><path fill="#fff" d="M509.423 146.442c-200.317 0-362.756 162.42-362.756 362.8 0 160.266 103.936 296.24 248.109 344.217 18.139 3.327 24.76-7.872 24.76-17.486 0-8.613-.313-31.427-.49-61.702-100.912 21.923-122.205-48.63-122.205-48.63-16.495-41.91-40.28-53.067-40.28-53.067-32.937-22.51 2.492-22.053 2.492-22.053 36.407 2.566 55.568 37.386 55.568 37.386 32.362 55.438 84.907 39.43 105.58 30.143 3.296-23.444 12.667-39.43 23.032-48.498-80.557-9.156-165.246-40.28-165.246-179.297 0-39.604 14.135-71.988 37.342-97.348-3.731-9.178-16.18-46.063 3.556-96.009 0 0 30.46-9.754 99.76 37.19 28.937-8.048 59.97-12.071 90.823-12.211 30.807.14 61.843 4.165 90.822 12.21 69.26-46.944 99.663-37.189 99.663-37.189 19.792 49.946 7.34 86.831 3.61 96.01 23.25 25.359 37.29 57.742 37.29 97.347 0 139.366-84.82 170.033-165.637 179.013 13.026 11.2 24.628 33.342 24.628 67.182 0 48.498-.445 87.627-.445 99.521 0 9.702 6.535 20.988 24.945 17.444 144.03-48.067 247.881-183.95 247.881-344.175 0-200.378-162.442-362.798-362.802-362.798z"/></svg></a><a class="vp-social-media" href="https://twitter.com/_HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="Twitter" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon twitter-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512"/><path fill="#FFF" d="m560 473 186-216h-44L540 445 411 257H262l195 284-195 226h44l171-198 136 198h149zM322 290h68l312 445h-68z"/></svg></a></div></div><div class="vp-blog-infos"><div class="vp-blog-type-switcher"><button type="button" class="vp-blog-type-button"><div class="icon-wrapper active" aria-label="文章" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="分类" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="标签" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="时间轴" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timeline-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timeline icon"><path d="M511.997 70.568c-243.797 0-441.429 197.633-441.429 441.435 0 243.797 197.632 441.429 441.43 441.429S953.431 755.8 953.431 512.002c0-243.796-197.637-441.434-441.435-441.434zm150.158 609.093-15.605 15.61c-8.621 8.615-22.596 8.615-31.215 0L472.197 552.126c-4.95-4.944-4.34-14.888-4.34-24.677V247.14c0-12.19 9.882-22.07 22.07-22.07h22.07c12.19 0 22.07 9.882 22.07 22.07v273.218l128.088 128.088c8.62 8.62 8.62 22.595 0 31.215zm0 0"></path></svg></div></button></div><div class="vp-star-article-wrapper"><div class="title"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg><span class="num">13</span>文章</div><hr><div class="vp-star-article-empty">星标 为空</div></div></div></aside></div></div><!--]--><footer class="vp-footer-wrapper"><div class="vp-footer">今天咕咕被欺负了吗</div><div class="vp-copyright">Copyright © 2024 HalfSweet </div></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div>
-    <script type="module" src="/assets/app-ClwIkahu.js" defer></script>
+    <script type="module" src="/assets/app-Flo2gZk8.js" defer></script>
   </body>
 </html>
diff --git a/tag/fmtlib/index.html b/tag/fmtlib/index.html
index 2fdbc49..2b08b00 100644
--- a/tag/fmtlib/index.html
+++ b/tag/fmtlib/index.html
@@ -29,13 +29,13 @@
       }
     </script>
     <meta property="og:url" content="https://halfsweet.cn/tag/fmtlib/"><meta property="og:site_name" content="HalfSweet's Blog"><meta property="og:title" content="标签: fmtlib"><meta property="og:type" content="website"><meta property="og:locale" content="zh-CN"><meta property="article:author" content="HalfSweet"><script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","name":"标签: fmtlib"}</script><title>标签: fmtlib | HalfSweet's Blog</title><meta name="description" content="半糖的博客">
-    <link rel="preload" href="/assets/style-BDwnt-CL.css" as="style"><link rel="stylesheet" href="/assets/style-BDwnt-CL.css">
-    <link rel="modulepreload" href="/assets/app-ClwIkahu.js"><link rel="modulepreload" href="/assets/index.html-ZwD6xCF4.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
-    <link rel="prefetch" href="/assets/index.html-BjG6C5xb.js" as="script"><link rel="prefetch" href="/assets/index.html-6gNmrYKw.js" as="script"><link rel="prefetch" href="/assets/index.html-W8DPbcPd.js" as="script"><link rel="prefetch" href="/assets/index.html-75fD8c0W.js" as="script"><link rel="prefetch" href="/assets/index.html-CufQKtZU.js" as="script"><link rel="prefetch" href="/assets/index.html-Bqe7scks.js" as="script"><link rel="prefetch" href="/assets/index.html-B5-KeVPb.js" as="script"><link rel="prefetch" href="/assets/index.html-C7FigsQF.js" as="script"><link rel="prefetch" href="/assets/index.html-DtEE6E7f.js" as="script"><link rel="prefetch" href="/assets/index.html-0oPRY09N.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNCX4dz.js" as="script"><link rel="prefetch" href="/assets/index.html-XtQdJJI8.js" as="script"><link rel="prefetch" href="/assets/index.html-CnJ0E6b5.js" as="script"><link rel="prefetch" href="/assets/index.html-CFhDcrZp.js" as="script"><link rel="prefetch" href="/assets/index.html-Bd1PkxNi.js" as="script"><link rel="prefetch" href="/assets/index.html-DJ-_mZ9n.js" as="script"><link rel="prefetch" href="/assets/index.html-jFzM8lrm.js" as="script"><link rel="prefetch" href="/assets/404.html-VMfaDGRx.js" as="script"><link rel="prefetch" href="/assets/index.html-BaR2aqhq.js" as="script"><link rel="prefetch" href="/assets/index.html-DO2xY2T5.js" as="script"><link rel="prefetch" href="/assets/index.html-BEwHBlkc.js" as="script"><link rel="prefetch" href="/assets/index.html-DZIt3Q5g.js" as="script"><link rel="prefetch" href="/assets/index.html-Dd9JrssL.js" as="script"><link rel="prefetch" href="/assets/index.html-BjPOIJdK.js" as="script"><link rel="prefetch" href="/assets/index.html-CmtlWOBH.js" as="script"><link rel="prefetch" href="/assets/index.html-CR-9qG2Y.js" as="script"><link rel="prefetch" href="/assets/index.html-CwWDCYUS.js" as="script"><link rel="prefetch" href="/assets/index.html-CptFZpi0.js" as="script"><link rel="prefetch" href="/assets/index.html-p6Y7Jm3n.js" as="script"><link rel="prefetch" href="/assets/index.html-CIen8cvO.js" as="script"><link rel="prefetch" href="/assets/index.html-BKUs44hv.js" as="script"><link rel="prefetch" href="/assets/index.html-D0wSSTgQ.js" as="script"><link rel="prefetch" href="/assets/index.html-DqsCIdcm.js" as="script"><link rel="prefetch" href="/assets/index.html-kUwAIzkD.js" as="script"><link rel="prefetch" href="/assets/index.html-BqgjNdmg.js" as="script"><link rel="prefetch" href="/assets/index.html-DIaDLRqn.js" as="script"><link rel="prefetch" href="/assets/index.html-DhcL23aG.js" as="script"><link rel="prefetch" href="/assets/index.html-Bk9EBjUw.js" as="script"><link rel="prefetch" href="/assets/index.html-C0X-QC5U.js" as="script"><link rel="prefetch" href="/assets/index.html-BdqadbH8.js" as="script"><link rel="prefetch" href="/assets/index.html-D7Uf3Wbw.js" as="script"><link rel="prefetch" href="/assets/index.html-CsuDpoYK.js" as="script"><link rel="prefetch" href="/assets/index.html-Dc2bdBF2.js" as="script"><link rel="prefetch" href="/assets/index.html-BzgkemtD.js" as="script"><link rel="prefetch" href="/assets/index.html-7uHHiaZx.js" as="script"><link rel="prefetch" href="/assets/index.html-TGoZudvZ.js" as="script"><link rel="prefetch" href="/assets/index.html-DbCWijUV.js" as="script"><link rel="prefetch" href="/assets/index.html-DOCRL60a.js" as="script"><link rel="prefetch" href="/assets/index.html-B8qYb7wb.js" as="script"><link rel="prefetch" href="/assets/index.html-CpBdG6tv.js" as="script"><link rel="prefetch" href="/assets/index.html-DdE0h7xo.js" as="script"><link rel="prefetch" href="/assets/index.html-BlsdgZAc.js" as="script"><link rel="prefetch" href="/assets/index.html-Du74cC6X.js" as="script"><link rel="prefetch" href="/assets/index.html-CTp2Oa39.js" as="script"><link rel="prefetch" href="/assets/index.html-Bz73p56D.js" as="script"><link rel="prefetch" href="/assets/index.html-BktjQtFB.js" as="script"><link rel="prefetch" href="/assets/index.html-DPl--Ppt.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-BF52VcER.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CgYxLcm_.js" as="script"><link rel="prefetch" href="/assets/artplayer-CHAGXahu.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-BOVnG7as.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-CbA2In8H.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-Do1ld-lW.js" as="script"><link rel="prefetch" href="/assets/giscus-7BMGhbDA.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-SzV8tJDW.js" as="script">
+    <link rel="preload" href="/assets/style-7DTFFHvh.css" as="style"><link rel="stylesheet" href="/assets/style-7DTFFHvh.css">
+    <link rel="modulepreload" href="/assets/app-Flo2gZk8.js"><link rel="modulepreload" href="/assets/index.html-ZITi3OK2.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
+    <link rel="prefetch" href="/assets/index.html-BhtLl4n3.js" as="script"><link rel="prefetch" href="/assets/index.html-C6yte3a0.js" as="script"><link rel="prefetch" href="/assets/index.html-R-cHHIas.js" as="script"><link rel="prefetch" href="/assets/index.html-CPUAg15t.js" as="script"><link rel="prefetch" href="/assets/index.html-BjdnOCC5.js" as="script"><link rel="prefetch" href="/assets/index.html-7Xyk7CrU.js" as="script"><link rel="prefetch" href="/assets/index.html-BNW3YRR3.js" as="script"><link rel="prefetch" href="/assets/index.html-jClrTNl3.js" as="script"><link rel="prefetch" href="/assets/index.html-tFfBEjXi.js" as="script"><link rel="prefetch" href="/assets/index.html-DgPmeCdQ.js" as="script"><link rel="prefetch" href="/assets/index.html-CxRigd-R.js" as="script"><link rel="prefetch" href="/assets/index.html-BWPjJqfa.js" as="script"><link rel="prefetch" href="/assets/index.html-DzG2EJXJ.js" as="script"><link rel="prefetch" href="/assets/index.html-B45efyIG.js" as="script"><link rel="prefetch" href="/assets/index.html-D_Px6PD2.js" as="script"><link rel="prefetch" href="/assets/index.html-U1Oe9QlK.js" as="script"><link rel="prefetch" href="/assets/index.html-fvB3i9PM.js" as="script"><link rel="prefetch" href="/assets/404.html-mkIobPP0.js" as="script"><link rel="prefetch" href="/assets/index.html-DGqb01LU.js" as="script"><link rel="prefetch" href="/assets/index.html-GZfFX8ok.js" as="script"><link rel="prefetch" href="/assets/index.html-vhaMR1PK.js" as="script"><link rel="prefetch" href="/assets/index.html-CvSEeOlH.js" as="script"><link rel="prefetch" href="/assets/index.html-BmplSMWS.js" as="script"><link rel="prefetch" href="/assets/index.html-C2sDDxGY.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNwolvq.js" as="script"><link rel="prefetch" href="/assets/index.html-DhSSZBRU.js" as="script"><link rel="prefetch" href="/assets/index.html-DPcGNBru.js" as="script"><link rel="prefetch" href="/assets/index.html-BFJ0kKZP.js" as="script"><link rel="prefetch" href="/assets/index.html-CBW4olfB.js" as="script"><link rel="prefetch" href="/assets/index.html-CiBWk0Bg.js" as="script"><link rel="prefetch" href="/assets/index.html-AFWYFeTY.js" as="script"><link rel="prefetch" href="/assets/index.html-DlrkN0XZ.js" as="script"><link rel="prefetch" href="/assets/index.html-Cb-sPtFS.js" as="script"><link rel="prefetch" href="/assets/index.html-DPF-EyUV.js" as="script"><link rel="prefetch" href="/assets/index.html-AqhAiBBF.js" as="script"><link rel="prefetch" href="/assets/index.html-DLZdHb6J.js" as="script"><link rel="prefetch" href="/assets/index.html-Cpr5viHS.js" as="script"><link rel="prefetch" href="/assets/index.html-BXxGxqK4.js" as="script"><link rel="prefetch" href="/assets/index.html-4asd-b47.js" as="script"><link rel="prefetch" href="/assets/index.html-DJMKg_M6.js" as="script"><link rel="prefetch" href="/assets/index.html-Y__KWg8u.js" as="script"><link rel="prefetch" href="/assets/index.html--BIzY7gk.js" as="script"><link rel="prefetch" href="/assets/index.html-BRHXQqdq.js" as="script"><link rel="prefetch" href="/assets/index.html-C_2nkQ6B.js" as="script"><link rel="prefetch" href="/assets/index.html-R9oSKuoP.js" as="script"><link rel="prefetch" href="/assets/index.html-DY-KY6vi.js" as="script"><link rel="prefetch" href="/assets/index.html-BSndmKE7.js" as="script"><link rel="prefetch" href="/assets/index.html-BDmR_g70.js" as="script"><link rel="prefetch" href="/assets/index.html-CpeDyHcd.js" as="script"><link rel="prefetch" href="/assets/index.html-DV9WiiCS.js" as="script"><link rel="prefetch" href="/assets/index.html-DTceWJaH.js" as="script"><link rel="prefetch" href="/assets/index.html-2WOtvPq_.js" as="script"><link rel="prefetch" href="/assets/index.html-DCVozm3V.js" as="script"><link rel="prefetch" href="/assets/index.html-vKhQGG0S.js" as="script"><link rel="prefetch" href="/assets/index.html-BlvUTCvM.js" as="script"><link rel="prefetch" href="/assets/index.html-vIW8aJUJ.js" as="script"><link rel="prefetch" href="/assets/index.html-CTuZCChr.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-S0Hns9UN.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CSFeuThZ.js" as="script"><link rel="prefetch" href="/assets/artplayer-DnixxQIM.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-DaNo29Rn.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-nRkOMaNb.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-DQalTb-T.js" as="script"><link rel="prefetch" href="/assets/giscus-D-fkNSKD.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-GXRgw7eJ.js" as="script">
   </head>
   <body>
     <div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container no-sidebar"><!--[--><header id="navbar" class="vp-navbar"><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><!--[--><a class="route-link vp-brand" href="/"><img class="vp-nav-logo" src="/img/Headshot.jpg" alt><!----><span class="vp-site-name hide-in-pad">HalfSweet&#39;s Blog</span></a><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-center"><!--[--><!----><!--]--><!--[--><nav class="vp-nav-links"><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/posts/" aria-label="文章"><span class="font-icon icon app" style=""></span>文章<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/about/" aria-label="关于"><span class="font-icon icon user" style=""></span>关于<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/friends/" aria-label="友链"><span class="font-icon icon link" style=""></span>友链<!----></a></div></nav><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-end"><!--[--><!----><!--]--><!--[--><!----><div class="nav-item vp-repo"><a class="vp-repo-link" href="https://github.com/HalfSweet/Blog" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><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"></path></svg></a></div><div class="nav-item hide-in-mobile"><button type="button" id="appearance-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" style="display:block;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" style="display:none;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" style="display:none;"><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"></path></svg></button></div><!----><!--]--><!--[--><!----><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar"><!--[--><!----><!--]--><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></li><li><section class="vp-sidebar-group"><p class="vp-sidebar-header"><span class="font-icon icon book" style=""></span><span class="vp-sidebar-title">文章</span><!----></p><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-Clion/" aria-label="使用 Clion 来进行 Air32 的开发"><!---->使用 Clion 来进行 Air32 的开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-MCO/" aria-label="Air32 的 HAL 改造——适配 MCO"><!---->Air32 的 HAL 改造——适配 MCO<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/HelloWorld/" aria-label="HelloWorld"><!---->HelloWorld<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/STC_CoreMark/" aria-label="不服来跑个分?将 CoreMark 移植到 STC 上试试"><!---->不服来跑个分?将 CoreMark 移植到 STC 上试试<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="为什么我对第三代郊狼失望"><!---->为什么我对第三代郊狼失望<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-HighFreq/" aria-label="发挥全部实力!Air32 在 HAL 库环境下运行最高主频"><!---->发挥全部实力!Air32 在 HAL 库环境下运行最高主频<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/embedded_fmtlib/" aria-label="在嵌入式设备上使用fmtlib"><!---->在嵌入式设备上使用fmtlib<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/conda_novelai/" aria-label="基于conda进行手动配置novelAI"><!---->基于conda进行手动配置novelAI<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="对《为什么我对第三代郊狼失望》一文的澄清说明"><!---->对《为什么我对第三代郊狼失望》一文的澄清说明<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Empedded-CI-CD/" aria-label="嵌入式中的 CI/CD"><!---->嵌入式中的 CI/CD<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/MDK6-Dev/" aria-label="更现代的开发方式?使用 MDK6 进行开发"><!---->更现代的开发方式?使用 MDK6 进行开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/SEGGER-RTT/" aria-label="更高效的日志查看方式——使用SEGGER-RTT"><!---->更高效的日志查看方式——使用SEGGER-RTT<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/EpdTraps1/" aria-label="墨水屏的坑——7.5寸墨水屏刷新为何出现条纹"><!---->墨水屏的坑——7.5寸墨水屏刷新为何出现条纹<!----></a></li></ul></section></li></ul><!--[--><!----><!--]--></aside><!--[--><div class="vp-page vp-blog"><div class="blog-page-wrapper"><main id="main-content" class="vp-blog-main"><ul class="tag-list-wrapper"><li class="tag tag8"><a class="route-link" href="/tag/%E5%90%88%E5%AE%99/">合宙<span class="tag-num">6</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/air32/">Air32<span class="tag-num">4</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/air001/">Air001<span class="tag-num">3</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/%E5%B5%8C%E5%85%A5%E5%BC%8F/">嵌入式<span class="tag-num">2</span></a></li><li class="tag tag6"><a class="route-link" href="/tag/%E7%A2%8E%E7%A2%8E%E5%BF%B5/">碎碎念<span class="tag-num">2</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/%E9%83%8A%E7%8B%BC/">郊狼<span class="tag-num">2</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/mco/">MCO<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/helloworld/">HelloWorld<span class="tag-num">1</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/stc32/">STC32<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/stc8/">STC8<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/coremark/">CoreMark<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/clion/">Clion<span class="tag-num">1</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/%E8%B6%85%E9%A2%91/">超频<span class="tag-num">1</span></a></li><li class="tag tag8 active"><a class="route-link" href="/tag/fmtlib/">fmtlib<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/esp8266/">ESP8266<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/esp32/">ESP32<span class="tag-num">1</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/arduino/">Arduino<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/platformio/">PlatformIO<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/esp-idf/">ESP-IDF<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/">人工智能<span class="tag-num">1</span></a></li><li class="tag tag1"><a class="route-link" href="/tag/novelai/">novelAI<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/conda/">conda<span class="tag-num">1</span></a></li><li class="tag tag7"><a class="route-link" href="/tag/%E5%A2%A8%E6%B0%B4%E5%B1%8F/">墨水屏<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/uc8179/">UC8179<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/depg0750rwu790f30/">DEPG0750RWU790F30<span class="tag-num">1</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/%E9%81%87%E5%88%B0%E7%9A%84%E5%9D%91/">遇到的坑<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/cicd/">CI/CD<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/%E6%97%A5%E5%BF%97/">日志<span class="tag-num">1</span></a></li></ul><div id="article-list" class="vp-article-list" role="feed"><div class="vp-article-wrapper"><article class="vp-article-item" vocab="https://schema.org/" typeof="Article"><!--[--><!--]--><!----><a class="route-link" href="/posts/embedded_fmtlib/"><header class="vp-article-title"><!----><!----><span property="headline">在嵌入式设备上使用fmtlib</span></header></a><div class="vp-article-excerpt"><p>众所周知,在c++20以上的标准已经支持了<code>std::format</code>进行格式化输出,不过显而易见,嵌入式领域想要得到支持显然遥遥无期。但是我们已经厌倦了使用sprintf等方式来格式化字符串,c++的流特性又显得不够优雅,怎么才能用上类似于Python中format这样的方式来格式化并输出想要的字符串呢。</p>
 </div><hr class="vp-article-hr"><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2023-02-03T14:08:57.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>大约 5 分钟</span><meta property="timeRequired" content="PT5M"></span><span class="page-category-info" aria-label="分类🌈" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg><!--[--><span class="page-category-item category1 clickable" role="navigation">posts</span><!--]--><meta property="articleSection" content="posts"></span><span class="page-tag-info" aria-label="标签🏷" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg><!--[--><span class="page-tag-item tag8 clickable" role="navigation">fmtlib</span><span class="page-tag-item tag2 clickable" role="navigation">嵌入式</span><span class="page-tag-item tag8 clickable" role="navigation">ESP8266</span><span class="page-tag-item tag2 clickable" role="navigation">ESP32</span><span class="page-tag-item tag3 clickable" role="navigation">Arduino</span><span class="page-tag-item tag5 clickable" role="navigation">PlatformIO</span><span class="page-tag-item tag0 clickable" role="navigation">ESP-IDF</span><!--]--><meta property="keywords" content="fmtlib,嵌入式,ESP8266,ESP32,Arduino,PlatformIO,ESP-IDF"></span></div></article></div><div class="vp-pagination"></div></div></main><aside class="vp-blog-info-wrapper"><div class="vp-blogger-info" vocab="https://schema.org/" typeof="Person"><div class="vp-blogger" style="cursor:pointer;" aria-label="个人介绍" data-balloon-pos="down" role="link"><img class="vp-blogger-avatar" src="/img/Headshot.jpg" property="image" alt="Blogger Avatar" loading="lazy"><div class="vp-blogger-name" property="name">HalfSweet</div><div class="vp-blogger-description">Try to create some value</div><meta property="url" content="/Catalogue/02.about.html"></div><div class="vp-blog-counts"><a class="route-link vp-blog-count" href="/article/"><div class="count">13</div><div>文章</div></a><a class="route-link vp-blog-count" href="/category/"><div class="count">5</div><div>分类</div></a><a class="route-link vp-blog-count" href="/tag/"><div class="count">28</div><div>标签</div></a><a class="route-link vp-blog-count" href="/timeline/"><div class="count">13</div><div>时间轴</div></a></div><div class="vp-social-medias"><a class="vp-social-media" href="mailto:HalfSweet@HalfSweet.cn" rel="noopener noreferrer" target="_blank" aria-label="Email" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon email-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#1384FF"/><path fill="#fff" d="M270.077 286.233H751.99c32.933 0 59.86 24.855 60.274 55.51l-301.023 157L210.217 341.88c.207-30.723 26.927-55.717 59.86-55.717zm-59.929 115.714-.276 277.756c0 30.931 27.134 56.2 60.205 56.2H751.99c33.14 0 60.274-25.269 60.274-56.2V401.81L518.283 551.492a15.88 15.88 0 0 1-14.43 0L210.148 401.947z"/></svg></a><a class="vp-social-media" href="https://github.com/HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="GitHub" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#171515"/><path fill="#fff" d="M509.423 146.442c-200.317 0-362.756 162.42-362.756 362.8 0 160.266 103.936 296.24 248.109 344.217 18.139 3.327 24.76-7.872 24.76-17.486 0-8.613-.313-31.427-.49-61.702-100.912 21.923-122.205-48.63-122.205-48.63-16.495-41.91-40.28-53.067-40.28-53.067-32.937-22.51 2.492-22.053 2.492-22.053 36.407 2.566 55.568 37.386 55.568 37.386 32.362 55.438 84.907 39.43 105.58 30.143 3.296-23.444 12.667-39.43 23.032-48.498-80.557-9.156-165.246-40.28-165.246-179.297 0-39.604 14.135-71.988 37.342-97.348-3.731-9.178-16.18-46.063 3.556-96.009 0 0 30.46-9.754 99.76 37.19 28.937-8.048 59.97-12.071 90.823-12.211 30.807.14 61.843 4.165 90.822 12.21 69.26-46.944 99.663-37.189 99.663-37.189 19.792 49.946 7.34 86.831 3.61 96.01 23.25 25.359 37.29 57.742 37.29 97.347 0 139.366-84.82 170.033-165.637 179.013 13.026 11.2 24.628 33.342 24.628 67.182 0 48.498-.445 87.627-.445 99.521 0 9.702 6.535 20.988 24.945 17.444 144.03-48.067 247.881-183.95 247.881-344.175 0-200.378-162.442-362.798-362.802-362.798z"/></svg></a><a class="vp-social-media" href="https://twitter.com/_HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="Twitter" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon twitter-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512"/><path fill="#FFF" d="m560 473 186-216h-44L540 445 411 257H262l195 284-195 226h44l171-198 136 198h149zM322 290h68l312 445h-68z"/></svg></a></div></div><div class="vp-blog-infos"><div class="vp-blog-type-switcher"><button type="button" class="vp-blog-type-button"><div class="icon-wrapper active" aria-label="文章" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="分类" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="标签" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="时间轴" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timeline-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timeline icon"><path d="M511.997 70.568c-243.797 0-441.429 197.633-441.429 441.435 0 243.797 197.632 441.429 441.43 441.429S953.431 755.8 953.431 512.002c0-243.796-197.637-441.434-441.435-441.434zm150.158 609.093-15.605 15.61c-8.621 8.615-22.596 8.615-31.215 0L472.197 552.126c-4.95-4.944-4.34-14.888-4.34-24.677V247.14c0-12.19 9.882-22.07 22.07-22.07h22.07c12.19 0 22.07 9.882 22.07 22.07v273.218l128.088 128.088c8.62 8.62 8.62 22.595 0 31.215zm0 0"></path></svg></div></button></div><div class="vp-star-article-wrapper"><div class="title"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg><span class="num">13</span>文章</div><hr><div class="vp-star-article-empty">星标 为空</div></div></div></aside></div></div><!--]--><footer class="vp-footer-wrapper"><div class="vp-footer">今天咕咕被欺负了吗</div><div class="vp-copyright">Copyright © 2024 HalfSweet </div></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div>
-    <script type="module" src="/assets/app-ClwIkahu.js" defer></script>
+    <script type="module" src="/assets/app-Flo2gZk8.js" defer></script>
   </body>
 </html>
diff --git a/tag/helloworld/index.html b/tag/helloworld/index.html
index dac28c7..546f731 100644
--- a/tag/helloworld/index.html
+++ b/tag/helloworld/index.html
@@ -29,14 +29,14 @@
       }
     </script>
     <meta property="og:url" content="https://halfsweet.cn/tag/helloworld/"><meta property="og:site_name" content="HalfSweet's Blog"><meta property="og:title" content="标签: HelloWorld"><meta property="og:type" content="website"><meta property="og:locale" content="zh-CN"><meta property="article:author" content="HalfSweet"><script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","name":"标签: HelloWorld"}</script><title>标签: HelloWorld | HalfSweet's Blog</title><meta name="description" content="半糖的博客">
-    <link rel="preload" href="/assets/style-BDwnt-CL.css" as="style"><link rel="stylesheet" href="/assets/style-BDwnt-CL.css">
-    <link rel="modulepreload" href="/assets/app-ClwIkahu.js"><link rel="modulepreload" href="/assets/index.html-BKUs44hv.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
-    <link rel="prefetch" href="/assets/index.html-BjG6C5xb.js" as="script"><link rel="prefetch" href="/assets/index.html-6gNmrYKw.js" as="script"><link rel="prefetch" href="/assets/index.html-W8DPbcPd.js" as="script"><link rel="prefetch" href="/assets/index.html-75fD8c0W.js" as="script"><link rel="prefetch" href="/assets/index.html-CufQKtZU.js" as="script"><link rel="prefetch" href="/assets/index.html-Bqe7scks.js" as="script"><link rel="prefetch" href="/assets/index.html-B5-KeVPb.js" as="script"><link rel="prefetch" href="/assets/index.html-C7FigsQF.js" as="script"><link rel="prefetch" href="/assets/index.html-DtEE6E7f.js" as="script"><link rel="prefetch" href="/assets/index.html-0oPRY09N.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNCX4dz.js" as="script"><link rel="prefetch" href="/assets/index.html-XtQdJJI8.js" as="script"><link rel="prefetch" href="/assets/index.html-CnJ0E6b5.js" as="script"><link rel="prefetch" href="/assets/index.html-CFhDcrZp.js" as="script"><link rel="prefetch" href="/assets/index.html-Bd1PkxNi.js" as="script"><link rel="prefetch" href="/assets/index.html-DJ-_mZ9n.js" as="script"><link rel="prefetch" href="/assets/index.html-jFzM8lrm.js" as="script"><link rel="prefetch" href="/assets/404.html-VMfaDGRx.js" as="script"><link rel="prefetch" href="/assets/index.html-BaR2aqhq.js" as="script"><link rel="prefetch" href="/assets/index.html-DO2xY2T5.js" as="script"><link rel="prefetch" href="/assets/index.html-BEwHBlkc.js" as="script"><link rel="prefetch" href="/assets/index.html-DZIt3Q5g.js" as="script"><link rel="prefetch" href="/assets/index.html-Dd9JrssL.js" as="script"><link rel="prefetch" href="/assets/index.html-BjPOIJdK.js" as="script"><link rel="prefetch" href="/assets/index.html-CmtlWOBH.js" as="script"><link rel="prefetch" href="/assets/index.html-CR-9qG2Y.js" as="script"><link rel="prefetch" href="/assets/index.html-CwWDCYUS.js" as="script"><link rel="prefetch" href="/assets/index.html-CptFZpi0.js" as="script"><link rel="prefetch" href="/assets/index.html-p6Y7Jm3n.js" as="script"><link rel="prefetch" href="/assets/index.html-CIen8cvO.js" as="script"><link rel="prefetch" href="/assets/index.html-D0wSSTgQ.js" as="script"><link rel="prefetch" href="/assets/index.html-DqsCIdcm.js" as="script"><link rel="prefetch" href="/assets/index.html-kUwAIzkD.js" as="script"><link rel="prefetch" href="/assets/index.html-BqgjNdmg.js" as="script"><link rel="prefetch" href="/assets/index.html-DIaDLRqn.js" as="script"><link rel="prefetch" href="/assets/index.html-DhcL23aG.js" as="script"><link rel="prefetch" href="/assets/index.html-Bk9EBjUw.js" as="script"><link rel="prefetch" href="/assets/index.html-C0X-QC5U.js" as="script"><link rel="prefetch" href="/assets/index.html-ZwD6xCF4.js" as="script"><link rel="prefetch" href="/assets/index.html-BdqadbH8.js" as="script"><link rel="prefetch" href="/assets/index.html-D7Uf3Wbw.js" as="script"><link rel="prefetch" href="/assets/index.html-CsuDpoYK.js" as="script"><link rel="prefetch" href="/assets/index.html-Dc2bdBF2.js" as="script"><link rel="prefetch" href="/assets/index.html-BzgkemtD.js" as="script"><link rel="prefetch" href="/assets/index.html-7uHHiaZx.js" as="script"><link rel="prefetch" href="/assets/index.html-TGoZudvZ.js" as="script"><link rel="prefetch" href="/assets/index.html-DbCWijUV.js" as="script"><link rel="prefetch" href="/assets/index.html-DOCRL60a.js" as="script"><link rel="prefetch" href="/assets/index.html-B8qYb7wb.js" as="script"><link rel="prefetch" href="/assets/index.html-CpBdG6tv.js" as="script"><link rel="prefetch" href="/assets/index.html-DdE0h7xo.js" as="script"><link rel="prefetch" href="/assets/index.html-BlsdgZAc.js" as="script"><link rel="prefetch" href="/assets/index.html-Du74cC6X.js" as="script"><link rel="prefetch" href="/assets/index.html-CTp2Oa39.js" as="script"><link rel="prefetch" href="/assets/index.html-Bz73p56D.js" as="script"><link rel="prefetch" href="/assets/index.html-BktjQtFB.js" as="script"><link rel="prefetch" href="/assets/index.html-DPl--Ppt.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-BF52VcER.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CgYxLcm_.js" as="script"><link rel="prefetch" href="/assets/artplayer-CHAGXahu.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-BOVnG7as.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-CbA2In8H.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-Do1ld-lW.js" as="script"><link rel="prefetch" href="/assets/giscus-7BMGhbDA.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-SzV8tJDW.js" as="script">
+    <link rel="preload" href="/assets/style-7DTFFHvh.css" as="style"><link rel="stylesheet" href="/assets/style-7DTFFHvh.css">
+    <link rel="modulepreload" href="/assets/app-Flo2gZk8.js"><link rel="modulepreload" href="/assets/index.html-AFWYFeTY.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
+    <link rel="prefetch" href="/assets/index.html-BhtLl4n3.js" as="script"><link rel="prefetch" href="/assets/index.html-C6yte3a0.js" as="script"><link rel="prefetch" href="/assets/index.html-R-cHHIas.js" as="script"><link rel="prefetch" href="/assets/index.html-CPUAg15t.js" as="script"><link rel="prefetch" href="/assets/index.html-BjdnOCC5.js" as="script"><link rel="prefetch" href="/assets/index.html-7Xyk7CrU.js" as="script"><link rel="prefetch" href="/assets/index.html-BNW3YRR3.js" as="script"><link rel="prefetch" href="/assets/index.html-jClrTNl3.js" as="script"><link rel="prefetch" href="/assets/index.html-tFfBEjXi.js" as="script"><link rel="prefetch" href="/assets/index.html-DgPmeCdQ.js" as="script"><link rel="prefetch" href="/assets/index.html-CxRigd-R.js" as="script"><link rel="prefetch" href="/assets/index.html-BWPjJqfa.js" as="script"><link rel="prefetch" href="/assets/index.html-DzG2EJXJ.js" as="script"><link rel="prefetch" href="/assets/index.html-B45efyIG.js" as="script"><link rel="prefetch" href="/assets/index.html-D_Px6PD2.js" as="script"><link rel="prefetch" href="/assets/index.html-U1Oe9QlK.js" as="script"><link rel="prefetch" href="/assets/index.html-fvB3i9PM.js" as="script"><link rel="prefetch" href="/assets/404.html-mkIobPP0.js" as="script"><link rel="prefetch" href="/assets/index.html-DGqb01LU.js" as="script"><link rel="prefetch" href="/assets/index.html-GZfFX8ok.js" as="script"><link rel="prefetch" href="/assets/index.html-vhaMR1PK.js" as="script"><link rel="prefetch" href="/assets/index.html-CvSEeOlH.js" as="script"><link rel="prefetch" href="/assets/index.html-BmplSMWS.js" as="script"><link rel="prefetch" href="/assets/index.html-C2sDDxGY.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNwolvq.js" as="script"><link rel="prefetch" href="/assets/index.html-DhSSZBRU.js" as="script"><link rel="prefetch" href="/assets/index.html-DPcGNBru.js" as="script"><link rel="prefetch" href="/assets/index.html-BFJ0kKZP.js" as="script"><link rel="prefetch" href="/assets/index.html-CBW4olfB.js" as="script"><link rel="prefetch" href="/assets/index.html-CiBWk0Bg.js" as="script"><link rel="prefetch" href="/assets/index.html-DlrkN0XZ.js" as="script"><link rel="prefetch" href="/assets/index.html-Cb-sPtFS.js" as="script"><link rel="prefetch" href="/assets/index.html-DPF-EyUV.js" as="script"><link rel="prefetch" href="/assets/index.html-AqhAiBBF.js" as="script"><link rel="prefetch" href="/assets/index.html-DLZdHb6J.js" as="script"><link rel="prefetch" href="/assets/index.html-Cpr5viHS.js" as="script"><link rel="prefetch" href="/assets/index.html-BXxGxqK4.js" as="script"><link rel="prefetch" href="/assets/index.html-4asd-b47.js" as="script"><link rel="prefetch" href="/assets/index.html-ZITi3OK2.js" as="script"><link rel="prefetch" href="/assets/index.html-DJMKg_M6.js" as="script"><link rel="prefetch" href="/assets/index.html-Y__KWg8u.js" as="script"><link rel="prefetch" href="/assets/index.html--BIzY7gk.js" as="script"><link rel="prefetch" href="/assets/index.html-BRHXQqdq.js" as="script"><link rel="prefetch" href="/assets/index.html-C_2nkQ6B.js" as="script"><link rel="prefetch" href="/assets/index.html-R9oSKuoP.js" as="script"><link rel="prefetch" href="/assets/index.html-DY-KY6vi.js" as="script"><link rel="prefetch" href="/assets/index.html-BSndmKE7.js" as="script"><link rel="prefetch" href="/assets/index.html-BDmR_g70.js" as="script"><link rel="prefetch" href="/assets/index.html-CpeDyHcd.js" as="script"><link rel="prefetch" href="/assets/index.html-DV9WiiCS.js" as="script"><link rel="prefetch" href="/assets/index.html-DTceWJaH.js" as="script"><link rel="prefetch" href="/assets/index.html-2WOtvPq_.js" as="script"><link rel="prefetch" href="/assets/index.html-DCVozm3V.js" as="script"><link rel="prefetch" href="/assets/index.html-vKhQGG0S.js" as="script"><link rel="prefetch" href="/assets/index.html-BlvUTCvM.js" as="script"><link rel="prefetch" href="/assets/index.html-vIW8aJUJ.js" as="script"><link rel="prefetch" href="/assets/index.html-CTuZCChr.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-S0Hns9UN.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CSFeuThZ.js" as="script"><link rel="prefetch" href="/assets/artplayer-DnixxQIM.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-DaNo29Rn.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-nRkOMaNb.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-DQalTb-T.js" as="script"><link rel="prefetch" href="/assets/giscus-D-fkNSKD.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-GXRgw7eJ.js" as="script">
   </head>
   <body>
     <div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container no-sidebar"><!--[--><header id="navbar" class="vp-navbar"><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><!--[--><a class="route-link vp-brand" href="/"><img class="vp-nav-logo" src="/img/Headshot.jpg" alt><!----><span class="vp-site-name hide-in-pad">HalfSweet&#39;s Blog</span></a><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-center"><!--[--><!----><!--]--><!--[--><nav class="vp-nav-links"><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/posts/" aria-label="文章"><span class="font-icon icon app" style=""></span>文章<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/about/" aria-label="关于"><span class="font-icon icon user" style=""></span>关于<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/friends/" aria-label="友链"><span class="font-icon icon link" style=""></span>友链<!----></a></div></nav><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-end"><!--[--><!----><!--]--><!--[--><!----><div class="nav-item vp-repo"><a class="vp-repo-link" href="https://github.com/HalfSweet/Blog" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><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"></path></svg></a></div><div class="nav-item hide-in-mobile"><button type="button" id="appearance-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" style="display:block;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" style="display:none;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" style="display:none;"><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"></path></svg></button></div><!----><!--]--><!--[--><!----><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar"><!--[--><!----><!--]--><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></li><li><section class="vp-sidebar-group"><p class="vp-sidebar-header"><span class="font-icon icon book" style=""></span><span class="vp-sidebar-title">文章</span><!----></p><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-Clion/" aria-label="使用 Clion 来进行 Air32 的开发"><!---->使用 Clion 来进行 Air32 的开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-MCO/" aria-label="Air32 的 HAL 改造——适配 MCO"><!---->Air32 的 HAL 改造——适配 MCO<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/HelloWorld/" aria-label="HelloWorld"><!---->HelloWorld<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/STC_CoreMark/" aria-label="不服来跑个分?将 CoreMark 移植到 STC 上试试"><!---->不服来跑个分?将 CoreMark 移植到 STC 上试试<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="为什么我对第三代郊狼失望"><!---->为什么我对第三代郊狼失望<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-HighFreq/" aria-label="发挥全部实力!Air32 在 HAL 库环境下运行最高主频"><!---->发挥全部实力!Air32 在 HAL 库环境下运行最高主频<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/embedded_fmtlib/" aria-label="在嵌入式设备上使用fmtlib"><!---->在嵌入式设备上使用fmtlib<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/conda_novelai/" aria-label="基于conda进行手动配置novelAI"><!---->基于conda进行手动配置novelAI<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="对《为什么我对第三代郊狼失望》一文的澄清说明"><!---->对《为什么我对第三代郊狼失望》一文的澄清说明<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Empedded-CI-CD/" aria-label="嵌入式中的 CI/CD"><!---->嵌入式中的 CI/CD<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/MDK6-Dev/" aria-label="更现代的开发方式?使用 MDK6 进行开发"><!---->更现代的开发方式?使用 MDK6 进行开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/SEGGER-RTT/" aria-label="更高效的日志查看方式——使用SEGGER-RTT"><!---->更高效的日志查看方式——使用SEGGER-RTT<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/EpdTraps1/" aria-label="墨水屏的坑——7.5寸墨水屏刷新为何出现条纹"><!---->墨水屏的坑——7.5寸墨水屏刷新为何出现条纹<!----></a></li></ul></section></li></ul><!--[--><!----><!--]--></aside><!--[--><div class="vp-page vp-blog"><div class="blog-page-wrapper"><main id="main-content" class="vp-blog-main"><ul class="tag-list-wrapper"><li class="tag tag8"><a class="route-link" href="/tag/%E5%90%88%E5%AE%99/">合宙<span class="tag-num">6</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/air32/">Air32<span class="tag-num">4</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/air001/">Air001<span class="tag-num">3</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/%E5%B5%8C%E5%85%A5%E5%BC%8F/">嵌入式<span class="tag-num">2</span></a></li><li class="tag tag6"><a class="route-link" href="/tag/%E7%A2%8E%E7%A2%8E%E5%BF%B5/">碎碎念<span class="tag-num">2</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/%E9%83%8A%E7%8B%BC/">郊狼<span class="tag-num">2</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/mco/">MCO<span class="tag-num">1</span></a></li><li class="tag tag5 active"><a class="route-link" href="/tag/helloworld/">HelloWorld<span class="tag-num">1</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/stc32/">STC32<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/stc8/">STC8<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/coremark/">CoreMark<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/clion/">Clion<span class="tag-num">1</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/%E8%B6%85%E9%A2%91/">超频<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/fmtlib/">fmtlib<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/esp8266/">ESP8266<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/esp32/">ESP32<span class="tag-num">1</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/arduino/">Arduino<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/platformio/">PlatformIO<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/esp-idf/">ESP-IDF<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/">人工智能<span class="tag-num">1</span></a></li><li class="tag tag1"><a class="route-link" href="/tag/novelai/">novelAI<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/conda/">conda<span class="tag-num">1</span></a></li><li class="tag tag7"><a class="route-link" href="/tag/%E5%A2%A8%E6%B0%B4%E5%B1%8F/">墨水屏<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/uc8179/">UC8179<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/depg0750rwu790f30/">DEPG0750RWU790F30<span class="tag-num">1</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/%E9%81%87%E5%88%B0%E7%9A%84%E5%9D%91/">遇到的坑<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/cicd/">CI/CD<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/%E6%97%A5%E5%BF%97/">日志<span class="tag-num">1</span></a></li></ul><div id="article-list" class="vp-article-list" role="feed"><div class="vp-article-wrapper"><article class="vp-article-item" vocab="https://schema.org/" typeof="Article"><!--[--><!--]--><!----><a class="route-link" href="/posts/HelloWorld/"><header class="vp-article-title"><!----><!----><span property="headline">HelloWorld</span></header></a><div class="vp-article-excerpt"><p>今天搭建好了属于自己的一个博客站,希望今后能保持记录的习惯,写下自己遇到的坑以及收获。这是博客的一个启程,也是自己的一个新起点。</p>
 <p>Hello, HalfSweet!</p>
 </div><hr class="vp-article-hr"><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2022-10-31T21:25:47.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>小于 1 分钟</span><meta property="timeRequired" content="PT1M"></span><span class="page-category-info" aria-label="分类🌈" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg><!--[--><span class="page-category-item category3 clickable" role="navigation">网站</span><!--]--><meta property="articleSection" content="网站"></span><span class="page-tag-info" aria-label="标签🏷" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg><!--[--><span class="page-tag-item tag5 clickable" role="navigation">HelloWorld</span><!--]--><meta property="keywords" content="HelloWorld"></span></div></article></div><div class="vp-pagination"></div></div></main><aside class="vp-blog-info-wrapper"><div class="vp-blogger-info" vocab="https://schema.org/" typeof="Person"><div class="vp-blogger" style="cursor:pointer;" aria-label="个人介绍" data-balloon-pos="down" role="link"><img class="vp-blogger-avatar" src="/img/Headshot.jpg" property="image" alt="Blogger Avatar" loading="lazy"><div class="vp-blogger-name" property="name">HalfSweet</div><div class="vp-blogger-description">Try to create some value</div><meta property="url" content="/Catalogue/02.about.html"></div><div class="vp-blog-counts"><a class="route-link vp-blog-count" href="/article/"><div class="count">13</div><div>文章</div></a><a class="route-link vp-blog-count" href="/category/"><div class="count">5</div><div>分类</div></a><a class="route-link vp-blog-count" href="/tag/"><div class="count">28</div><div>标签</div></a><a class="route-link vp-blog-count" href="/timeline/"><div class="count">13</div><div>时间轴</div></a></div><div class="vp-social-medias"><a class="vp-social-media" href="mailto:HalfSweet@HalfSweet.cn" rel="noopener noreferrer" target="_blank" aria-label="Email" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon email-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#1384FF"/><path fill="#fff" d="M270.077 286.233H751.99c32.933 0 59.86 24.855 60.274 55.51l-301.023 157L210.217 341.88c.207-30.723 26.927-55.717 59.86-55.717zm-59.929 115.714-.276 277.756c0 30.931 27.134 56.2 60.205 56.2H751.99c33.14 0 60.274-25.269 60.274-56.2V401.81L518.283 551.492a15.88 15.88 0 0 1-14.43 0L210.148 401.947z"/></svg></a><a class="vp-social-media" href="https://github.com/HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="GitHub" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#171515"/><path fill="#fff" d="M509.423 146.442c-200.317 0-362.756 162.42-362.756 362.8 0 160.266 103.936 296.24 248.109 344.217 18.139 3.327 24.76-7.872 24.76-17.486 0-8.613-.313-31.427-.49-61.702-100.912 21.923-122.205-48.63-122.205-48.63-16.495-41.91-40.28-53.067-40.28-53.067-32.937-22.51 2.492-22.053 2.492-22.053 36.407 2.566 55.568 37.386 55.568 37.386 32.362 55.438 84.907 39.43 105.58 30.143 3.296-23.444 12.667-39.43 23.032-48.498-80.557-9.156-165.246-40.28-165.246-179.297 0-39.604 14.135-71.988 37.342-97.348-3.731-9.178-16.18-46.063 3.556-96.009 0 0 30.46-9.754 99.76 37.19 28.937-8.048 59.97-12.071 90.823-12.211 30.807.14 61.843 4.165 90.822 12.21 69.26-46.944 99.663-37.189 99.663-37.189 19.792 49.946 7.34 86.831 3.61 96.01 23.25 25.359 37.29 57.742 37.29 97.347 0 139.366-84.82 170.033-165.637 179.013 13.026 11.2 24.628 33.342 24.628 67.182 0 48.498-.445 87.627-.445 99.521 0 9.702 6.535 20.988 24.945 17.444 144.03-48.067 247.881-183.95 247.881-344.175 0-200.378-162.442-362.798-362.802-362.798z"/></svg></a><a class="vp-social-media" href="https://twitter.com/_HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="Twitter" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon twitter-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512"/><path fill="#FFF" d="m560 473 186-216h-44L540 445 411 257H262l195 284-195 226h44l171-198 136 198h149zM322 290h68l312 445h-68z"/></svg></a></div></div><div class="vp-blog-infos"><div class="vp-blog-type-switcher"><button type="button" class="vp-blog-type-button"><div class="icon-wrapper active" aria-label="文章" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="分类" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="标签" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="时间轴" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timeline-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timeline icon"><path d="M511.997 70.568c-243.797 0-441.429 197.633-441.429 441.435 0 243.797 197.632 441.429 441.43 441.429S953.431 755.8 953.431 512.002c0-243.796-197.637-441.434-441.435-441.434zm150.158 609.093-15.605 15.61c-8.621 8.615-22.596 8.615-31.215 0L472.197 552.126c-4.95-4.944-4.34-14.888-4.34-24.677V247.14c0-12.19 9.882-22.07 22.07-22.07h22.07c12.19 0 22.07 9.882 22.07 22.07v273.218l128.088 128.088c8.62 8.62 8.62 22.595 0 31.215zm0 0"></path></svg></div></button></div><div class="vp-star-article-wrapper"><div class="title"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg><span class="num">13</span>文章</div><hr><div class="vp-star-article-empty">星标 为空</div></div></div></aside></div></div><!--]--><footer class="vp-footer-wrapper"><div class="vp-footer">今天咕咕被欺负了吗</div><div class="vp-copyright">Copyright © 2024 HalfSweet </div></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div>
-    <script type="module" src="/assets/app-ClwIkahu.js" defer></script>
+    <script type="module" src="/assets/app-Flo2gZk8.js" defer></script>
   </body>
 </html>
diff --git a/tag/index.html b/tag/index.html
index 31624db..8a3f9d9 100644
--- a/tag/index.html
+++ b/tag/index.html
@@ -29,12 +29,12 @@
       }
     </script>
     <meta property="og:url" content="https://halfsweet.cn/tag/"><meta property="og:site_name" content="HalfSweet's Blog"><meta property="og:title" content="标签"><meta property="og:type" content="website"><meta property="og:locale" content="zh-CN"><meta property="article:author" content="HalfSweet"><script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","name":"标签"}</script><title>标签 | HalfSweet's Blog</title><meta name="description" content="半糖的博客">
-    <link rel="preload" href="/assets/style-BDwnt-CL.css" as="style"><link rel="stylesheet" href="/assets/style-BDwnt-CL.css">
-    <link rel="modulepreload" href="/assets/app-ClwIkahu.js"><link rel="modulepreload" href="/assets/index.html-CwWDCYUS.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
-    <link rel="prefetch" href="/assets/index.html-BjG6C5xb.js" as="script"><link rel="prefetch" href="/assets/index.html-6gNmrYKw.js" as="script"><link rel="prefetch" href="/assets/index.html-W8DPbcPd.js" as="script"><link rel="prefetch" href="/assets/index.html-75fD8c0W.js" as="script"><link rel="prefetch" href="/assets/index.html-CufQKtZU.js" as="script"><link rel="prefetch" href="/assets/index.html-Bqe7scks.js" as="script"><link rel="prefetch" href="/assets/index.html-B5-KeVPb.js" as="script"><link rel="prefetch" href="/assets/index.html-C7FigsQF.js" as="script"><link rel="prefetch" href="/assets/index.html-DtEE6E7f.js" as="script"><link rel="prefetch" href="/assets/index.html-0oPRY09N.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNCX4dz.js" as="script"><link rel="prefetch" href="/assets/index.html-XtQdJJI8.js" as="script"><link rel="prefetch" href="/assets/index.html-CnJ0E6b5.js" as="script"><link rel="prefetch" href="/assets/index.html-CFhDcrZp.js" as="script"><link rel="prefetch" href="/assets/index.html-Bd1PkxNi.js" as="script"><link rel="prefetch" href="/assets/index.html-DJ-_mZ9n.js" as="script"><link rel="prefetch" href="/assets/index.html-jFzM8lrm.js" as="script"><link rel="prefetch" href="/assets/404.html-VMfaDGRx.js" as="script"><link rel="prefetch" href="/assets/index.html-BaR2aqhq.js" as="script"><link rel="prefetch" href="/assets/index.html-DO2xY2T5.js" as="script"><link rel="prefetch" href="/assets/index.html-BEwHBlkc.js" as="script"><link rel="prefetch" href="/assets/index.html-DZIt3Q5g.js" as="script"><link rel="prefetch" href="/assets/index.html-Dd9JrssL.js" as="script"><link rel="prefetch" href="/assets/index.html-BjPOIJdK.js" as="script"><link rel="prefetch" href="/assets/index.html-CmtlWOBH.js" as="script"><link rel="prefetch" href="/assets/index.html-CR-9qG2Y.js" as="script"><link rel="prefetch" href="/assets/index.html-CptFZpi0.js" as="script"><link rel="prefetch" href="/assets/index.html-p6Y7Jm3n.js" as="script"><link rel="prefetch" href="/assets/index.html-CIen8cvO.js" as="script"><link rel="prefetch" href="/assets/index.html-BKUs44hv.js" as="script"><link rel="prefetch" href="/assets/index.html-D0wSSTgQ.js" as="script"><link rel="prefetch" href="/assets/index.html-DqsCIdcm.js" as="script"><link rel="prefetch" href="/assets/index.html-kUwAIzkD.js" as="script"><link rel="prefetch" href="/assets/index.html-BqgjNdmg.js" as="script"><link rel="prefetch" href="/assets/index.html-DIaDLRqn.js" as="script"><link rel="prefetch" href="/assets/index.html-DhcL23aG.js" as="script"><link rel="prefetch" href="/assets/index.html-Bk9EBjUw.js" as="script"><link rel="prefetch" href="/assets/index.html-C0X-QC5U.js" as="script"><link rel="prefetch" href="/assets/index.html-ZwD6xCF4.js" as="script"><link rel="prefetch" href="/assets/index.html-BdqadbH8.js" as="script"><link rel="prefetch" href="/assets/index.html-D7Uf3Wbw.js" as="script"><link rel="prefetch" href="/assets/index.html-CsuDpoYK.js" as="script"><link rel="prefetch" href="/assets/index.html-Dc2bdBF2.js" as="script"><link rel="prefetch" href="/assets/index.html-BzgkemtD.js" as="script"><link rel="prefetch" href="/assets/index.html-7uHHiaZx.js" as="script"><link rel="prefetch" href="/assets/index.html-TGoZudvZ.js" as="script"><link rel="prefetch" href="/assets/index.html-DbCWijUV.js" as="script"><link rel="prefetch" href="/assets/index.html-DOCRL60a.js" as="script"><link rel="prefetch" href="/assets/index.html-B8qYb7wb.js" as="script"><link rel="prefetch" href="/assets/index.html-CpBdG6tv.js" as="script"><link rel="prefetch" href="/assets/index.html-DdE0h7xo.js" as="script"><link rel="prefetch" href="/assets/index.html-BlsdgZAc.js" as="script"><link rel="prefetch" href="/assets/index.html-Du74cC6X.js" as="script"><link rel="prefetch" href="/assets/index.html-CTp2Oa39.js" as="script"><link rel="prefetch" href="/assets/index.html-Bz73p56D.js" as="script"><link rel="prefetch" href="/assets/index.html-BktjQtFB.js" as="script"><link rel="prefetch" href="/assets/index.html-DPl--Ppt.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-BF52VcER.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CgYxLcm_.js" as="script"><link rel="prefetch" href="/assets/artplayer-CHAGXahu.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-BOVnG7as.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-CbA2In8H.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-Do1ld-lW.js" as="script"><link rel="prefetch" href="/assets/giscus-7BMGhbDA.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-SzV8tJDW.js" as="script">
+    <link rel="preload" href="/assets/style-7DTFFHvh.css" as="style"><link rel="stylesheet" href="/assets/style-7DTFFHvh.css">
+    <link rel="modulepreload" href="/assets/app-Flo2gZk8.js"><link rel="modulepreload" href="/assets/index.html-DPcGNBru.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
+    <link rel="prefetch" href="/assets/index.html-BhtLl4n3.js" as="script"><link rel="prefetch" href="/assets/index.html-C6yte3a0.js" as="script"><link rel="prefetch" href="/assets/index.html-R-cHHIas.js" as="script"><link rel="prefetch" href="/assets/index.html-CPUAg15t.js" as="script"><link rel="prefetch" href="/assets/index.html-BjdnOCC5.js" as="script"><link rel="prefetch" href="/assets/index.html-7Xyk7CrU.js" as="script"><link rel="prefetch" href="/assets/index.html-BNW3YRR3.js" as="script"><link rel="prefetch" href="/assets/index.html-jClrTNl3.js" as="script"><link rel="prefetch" href="/assets/index.html-tFfBEjXi.js" as="script"><link rel="prefetch" href="/assets/index.html-DgPmeCdQ.js" as="script"><link rel="prefetch" href="/assets/index.html-CxRigd-R.js" as="script"><link rel="prefetch" href="/assets/index.html-BWPjJqfa.js" as="script"><link rel="prefetch" href="/assets/index.html-DzG2EJXJ.js" as="script"><link rel="prefetch" href="/assets/index.html-B45efyIG.js" as="script"><link rel="prefetch" href="/assets/index.html-D_Px6PD2.js" as="script"><link rel="prefetch" href="/assets/index.html-U1Oe9QlK.js" as="script"><link rel="prefetch" href="/assets/index.html-fvB3i9PM.js" as="script"><link rel="prefetch" href="/assets/404.html-mkIobPP0.js" as="script"><link rel="prefetch" href="/assets/index.html-DGqb01LU.js" as="script"><link rel="prefetch" href="/assets/index.html-GZfFX8ok.js" as="script"><link rel="prefetch" href="/assets/index.html-vhaMR1PK.js" as="script"><link rel="prefetch" href="/assets/index.html-CvSEeOlH.js" as="script"><link rel="prefetch" href="/assets/index.html-BmplSMWS.js" as="script"><link rel="prefetch" href="/assets/index.html-C2sDDxGY.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNwolvq.js" as="script"><link rel="prefetch" href="/assets/index.html-DhSSZBRU.js" as="script"><link rel="prefetch" href="/assets/index.html-BFJ0kKZP.js" as="script"><link rel="prefetch" href="/assets/index.html-CBW4olfB.js" as="script"><link rel="prefetch" href="/assets/index.html-CiBWk0Bg.js" as="script"><link rel="prefetch" href="/assets/index.html-AFWYFeTY.js" as="script"><link rel="prefetch" href="/assets/index.html-DlrkN0XZ.js" as="script"><link rel="prefetch" href="/assets/index.html-Cb-sPtFS.js" as="script"><link rel="prefetch" href="/assets/index.html-DPF-EyUV.js" as="script"><link rel="prefetch" href="/assets/index.html-AqhAiBBF.js" as="script"><link rel="prefetch" href="/assets/index.html-DLZdHb6J.js" as="script"><link rel="prefetch" href="/assets/index.html-Cpr5viHS.js" as="script"><link rel="prefetch" href="/assets/index.html-BXxGxqK4.js" as="script"><link rel="prefetch" href="/assets/index.html-4asd-b47.js" as="script"><link rel="prefetch" href="/assets/index.html-ZITi3OK2.js" as="script"><link rel="prefetch" href="/assets/index.html-DJMKg_M6.js" as="script"><link rel="prefetch" href="/assets/index.html-Y__KWg8u.js" as="script"><link rel="prefetch" href="/assets/index.html--BIzY7gk.js" as="script"><link rel="prefetch" href="/assets/index.html-BRHXQqdq.js" as="script"><link rel="prefetch" href="/assets/index.html-C_2nkQ6B.js" as="script"><link rel="prefetch" href="/assets/index.html-R9oSKuoP.js" as="script"><link rel="prefetch" href="/assets/index.html-DY-KY6vi.js" as="script"><link rel="prefetch" href="/assets/index.html-BSndmKE7.js" as="script"><link rel="prefetch" href="/assets/index.html-BDmR_g70.js" as="script"><link rel="prefetch" href="/assets/index.html-CpeDyHcd.js" as="script"><link rel="prefetch" href="/assets/index.html-DV9WiiCS.js" as="script"><link rel="prefetch" href="/assets/index.html-DTceWJaH.js" as="script"><link rel="prefetch" href="/assets/index.html-2WOtvPq_.js" as="script"><link rel="prefetch" href="/assets/index.html-DCVozm3V.js" as="script"><link rel="prefetch" href="/assets/index.html-vKhQGG0S.js" as="script"><link rel="prefetch" href="/assets/index.html-BlvUTCvM.js" as="script"><link rel="prefetch" href="/assets/index.html-vIW8aJUJ.js" as="script"><link rel="prefetch" href="/assets/index.html-CTuZCChr.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-S0Hns9UN.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CSFeuThZ.js" as="script"><link rel="prefetch" href="/assets/artplayer-DnixxQIM.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-DaNo29Rn.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-nRkOMaNb.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-DQalTb-T.js" as="script"><link rel="prefetch" href="/assets/giscus-D-fkNSKD.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-GXRgw7eJ.js" as="script">
   </head>
   <body>
     <div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container no-sidebar"><!--[--><header id="navbar" class="vp-navbar"><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><!--[--><a class="route-link vp-brand" href="/"><img class="vp-nav-logo" src="/img/Headshot.jpg" alt><!----><span class="vp-site-name hide-in-pad">HalfSweet&#39;s Blog</span></a><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-center"><!--[--><!----><!--]--><!--[--><nav class="vp-nav-links"><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/posts/" aria-label="文章"><span class="font-icon icon app" style=""></span>文章<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/about/" aria-label="关于"><span class="font-icon icon user" style=""></span>关于<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/friends/" aria-label="友链"><span class="font-icon icon link" style=""></span>友链<!----></a></div></nav><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-end"><!--[--><!----><!--]--><!--[--><!----><div class="nav-item vp-repo"><a class="vp-repo-link" href="https://github.com/HalfSweet/Blog" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><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"></path></svg></a></div><div class="nav-item hide-in-mobile"><button type="button" id="appearance-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" style="display:block;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" style="display:none;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" style="display:none;"><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"></path></svg></button></div><!----><!--]--><!--[--><!----><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar"><!--[--><!----><!--]--><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></li><li><section class="vp-sidebar-group"><p class="vp-sidebar-header"><span class="font-icon icon book" style=""></span><span class="vp-sidebar-title">文章</span><!----></p><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-Clion/" aria-label="使用 Clion 来进行 Air32 的开发"><!---->使用 Clion 来进行 Air32 的开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-MCO/" aria-label="Air32 的 HAL 改造——适配 MCO"><!---->Air32 的 HAL 改造——适配 MCO<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/HelloWorld/" aria-label="HelloWorld"><!---->HelloWorld<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/STC_CoreMark/" aria-label="不服来跑个分?将 CoreMark 移植到 STC 上试试"><!---->不服来跑个分?将 CoreMark 移植到 STC 上试试<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="为什么我对第三代郊狼失望"><!---->为什么我对第三代郊狼失望<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-HighFreq/" aria-label="发挥全部实力!Air32 在 HAL 库环境下运行最高主频"><!---->发挥全部实力!Air32 在 HAL 库环境下运行最高主频<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/embedded_fmtlib/" aria-label="在嵌入式设备上使用fmtlib"><!---->在嵌入式设备上使用fmtlib<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/conda_novelai/" aria-label="基于conda进行手动配置novelAI"><!---->基于conda进行手动配置novelAI<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="对《为什么我对第三代郊狼失望》一文的澄清说明"><!---->对《为什么我对第三代郊狼失望》一文的澄清说明<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Empedded-CI-CD/" aria-label="嵌入式中的 CI/CD"><!---->嵌入式中的 CI/CD<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/MDK6-Dev/" aria-label="更现代的开发方式?使用 MDK6 进行开发"><!---->更现代的开发方式?使用 MDK6 进行开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/SEGGER-RTT/" aria-label="更高效的日志查看方式——使用SEGGER-RTT"><!---->更高效的日志查看方式——使用SEGGER-RTT<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/EpdTraps1/" aria-label="墨水屏的坑——7.5寸墨水屏刷新为何出现条纹"><!---->墨水屏的坑——7.5寸墨水屏刷新为何出现条纹<!----></a></li></ul></section></li></ul><!--[--><!----><!--]--></aside><!--[--><div class="vp-page vp-blog"><div class="blog-page-wrapper"><main id="main-content" class="vp-blog-main"><ul class="tag-list-wrapper"><li class="tag tag8"><a class="route-link" href="/tag/%E5%90%88%E5%AE%99/">合宙<span class="tag-num">6</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/air32/">Air32<span class="tag-num">4</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/air001/">Air001<span class="tag-num">3</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/%E5%B5%8C%E5%85%A5%E5%BC%8F/">嵌入式<span class="tag-num">2</span></a></li><li class="tag tag6"><a class="route-link" href="/tag/%E7%A2%8E%E7%A2%8E%E5%BF%B5/">碎碎念<span class="tag-num">2</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/%E9%83%8A%E7%8B%BC/">郊狼<span class="tag-num">2</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/mco/">MCO<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/helloworld/">HelloWorld<span class="tag-num">1</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/stc32/">STC32<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/stc8/">STC8<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/coremark/">CoreMark<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/clion/">Clion<span class="tag-num">1</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/%E8%B6%85%E9%A2%91/">超频<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/fmtlib/">fmtlib<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/esp8266/">ESP8266<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/esp32/">ESP32<span class="tag-num">1</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/arduino/">Arduino<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/platformio/">PlatformIO<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/esp-idf/">ESP-IDF<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/">人工智能<span class="tag-num">1</span></a></li><li class="tag tag1"><a class="route-link" href="/tag/novelai/">novelAI<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/conda/">conda<span class="tag-num">1</span></a></li><li class="tag tag7"><a class="route-link" href="/tag/%E5%A2%A8%E6%B0%B4%E5%B1%8F/">墨水屏<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/uc8179/">UC8179<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/depg0750rwu790f30/">DEPG0750RWU790F30<span class="tag-num">1</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/%E9%81%87%E5%88%B0%E7%9A%84%E5%9D%91/">遇到的坑<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/cicd/">CI/CD<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/%E6%97%A5%E5%BF%97/">日志<span class="tag-num">1</span></a></li></ul><!----></main><aside class="vp-blog-info-wrapper"><div class="vp-blogger-info" vocab="https://schema.org/" typeof="Person"><div class="vp-blogger" style="cursor:pointer;" aria-label="个人介绍" data-balloon-pos="down" role="link"><img class="vp-blogger-avatar" src="/img/Headshot.jpg" property="image" alt="Blogger Avatar" loading="lazy"><div class="vp-blogger-name" property="name">HalfSweet</div><div class="vp-blogger-description">Try to create some value</div><meta property="url" content="/Catalogue/02.about.html"></div><div class="vp-blog-counts"><a class="route-link vp-blog-count" href="/article/"><div class="count">13</div><div>文章</div></a><a class="route-link vp-blog-count" href="/category/"><div class="count">5</div><div>分类</div></a><a class="route-link vp-blog-count" href="/tag/"><div class="count">28</div><div>标签</div></a><a class="route-link vp-blog-count" href="/timeline/"><div class="count">13</div><div>时间轴</div></a></div><div class="vp-social-medias"><a class="vp-social-media" href="mailto:HalfSweet@HalfSweet.cn" rel="noopener noreferrer" target="_blank" aria-label="Email" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon email-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#1384FF"/><path fill="#fff" d="M270.077 286.233H751.99c32.933 0 59.86 24.855 60.274 55.51l-301.023 157L210.217 341.88c.207-30.723 26.927-55.717 59.86-55.717zm-59.929 115.714-.276 277.756c0 30.931 27.134 56.2 60.205 56.2H751.99c33.14 0 60.274-25.269 60.274-56.2V401.81L518.283 551.492a15.88 15.88 0 0 1-14.43 0L210.148 401.947z"/></svg></a><a class="vp-social-media" href="https://github.com/HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="GitHub" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#171515"/><path fill="#fff" d="M509.423 146.442c-200.317 0-362.756 162.42-362.756 362.8 0 160.266 103.936 296.24 248.109 344.217 18.139 3.327 24.76-7.872 24.76-17.486 0-8.613-.313-31.427-.49-61.702-100.912 21.923-122.205-48.63-122.205-48.63-16.495-41.91-40.28-53.067-40.28-53.067-32.937-22.51 2.492-22.053 2.492-22.053 36.407 2.566 55.568 37.386 55.568 37.386 32.362 55.438 84.907 39.43 105.58 30.143 3.296-23.444 12.667-39.43 23.032-48.498-80.557-9.156-165.246-40.28-165.246-179.297 0-39.604 14.135-71.988 37.342-97.348-3.731-9.178-16.18-46.063 3.556-96.009 0 0 30.46-9.754 99.76 37.19 28.937-8.048 59.97-12.071 90.823-12.211 30.807.14 61.843 4.165 90.822 12.21 69.26-46.944 99.663-37.189 99.663-37.189 19.792 49.946 7.34 86.831 3.61 96.01 23.25 25.359 37.29 57.742 37.29 97.347 0 139.366-84.82 170.033-165.637 179.013 13.026 11.2 24.628 33.342 24.628 67.182 0 48.498-.445 87.627-.445 99.521 0 9.702 6.535 20.988 24.945 17.444 144.03-48.067 247.881-183.95 247.881-344.175 0-200.378-162.442-362.798-362.802-362.798z"/></svg></a><a class="vp-social-media" href="https://twitter.com/_HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="Twitter" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon twitter-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512"/><path fill="#FFF" d="m560 473 186-216h-44L540 445 411 257H262l195 284-195 226h44l171-198 136 198h149zM322 290h68l312 445h-68z"/></svg></a></div></div><div class="vp-blog-infos"><div class="vp-blog-type-switcher"><button type="button" class="vp-blog-type-button"><div class="icon-wrapper active" aria-label="文章" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="分类" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="标签" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="时间轴" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timeline-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timeline icon"><path d="M511.997 70.568c-243.797 0-441.429 197.633-441.429 441.435 0 243.797 197.632 441.429 441.43 441.429S953.431 755.8 953.431 512.002c0-243.796-197.637-441.434-441.435-441.434zm150.158 609.093-15.605 15.61c-8.621 8.615-22.596 8.615-31.215 0L472.197 552.126c-4.95-4.944-4.34-14.888-4.34-24.677V247.14c0-12.19 9.882-22.07 22.07-22.07h22.07c12.19 0 22.07 9.882 22.07 22.07v273.218l128.088 128.088c8.62 8.62 8.62 22.595 0 31.215zm0 0"></path></svg></div></button></div><div class="vp-star-article-wrapper"><div class="title"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg><span class="num">13</span>文章</div><hr><div class="vp-star-article-empty">星标 为空</div></div></div></aside></div></div><!--]--><footer class="vp-footer-wrapper"><div class="vp-footer">今天咕咕被欺负了吗</div><div class="vp-copyright">Copyright © 2024 HalfSweet </div></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div>
-    <script type="module" src="/assets/app-ClwIkahu.js" defer></script>
+    <script type="module" src="/assets/app-Flo2gZk8.js" defer></script>
   </body>
 </html>
diff --git a/tag/mco/index.html b/tag/mco/index.html
index 14dc7a8..2aa840e 100644
--- a/tag/mco/index.html
+++ b/tag/mco/index.html
@@ -29,13 +29,13 @@
       }
     </script>
     <meta property="og:url" content="https://halfsweet.cn/tag/mco/"><meta property="og:site_name" content="HalfSweet's Blog"><meta property="og:title" content="标签: MCO"><meta property="og:type" content="website"><meta property="og:locale" content="zh-CN"><meta property="article:author" content="HalfSweet"><script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","name":"标签: MCO"}</script><title>标签: MCO | HalfSweet's Blog</title><meta name="description" content="半糖的博客">
-    <link rel="preload" href="/assets/style-BDwnt-CL.css" as="style"><link rel="stylesheet" href="/assets/style-BDwnt-CL.css">
-    <link rel="modulepreload" href="/assets/app-ClwIkahu.js"><link rel="modulepreload" href="/assets/index.html-CIen8cvO.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
-    <link rel="prefetch" href="/assets/index.html-BjG6C5xb.js" as="script"><link rel="prefetch" href="/assets/index.html-6gNmrYKw.js" as="script"><link rel="prefetch" href="/assets/index.html-W8DPbcPd.js" as="script"><link rel="prefetch" href="/assets/index.html-75fD8c0W.js" as="script"><link rel="prefetch" href="/assets/index.html-CufQKtZU.js" as="script"><link rel="prefetch" href="/assets/index.html-Bqe7scks.js" as="script"><link rel="prefetch" href="/assets/index.html-B5-KeVPb.js" as="script"><link rel="prefetch" href="/assets/index.html-C7FigsQF.js" as="script"><link rel="prefetch" href="/assets/index.html-DtEE6E7f.js" as="script"><link rel="prefetch" href="/assets/index.html-0oPRY09N.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNCX4dz.js" as="script"><link rel="prefetch" href="/assets/index.html-XtQdJJI8.js" as="script"><link rel="prefetch" href="/assets/index.html-CnJ0E6b5.js" as="script"><link rel="prefetch" href="/assets/index.html-CFhDcrZp.js" as="script"><link rel="prefetch" href="/assets/index.html-Bd1PkxNi.js" as="script"><link rel="prefetch" href="/assets/index.html-DJ-_mZ9n.js" as="script"><link rel="prefetch" href="/assets/index.html-jFzM8lrm.js" as="script"><link rel="prefetch" href="/assets/404.html-VMfaDGRx.js" as="script"><link rel="prefetch" href="/assets/index.html-BaR2aqhq.js" as="script"><link rel="prefetch" href="/assets/index.html-DO2xY2T5.js" as="script"><link rel="prefetch" href="/assets/index.html-BEwHBlkc.js" as="script"><link rel="prefetch" href="/assets/index.html-DZIt3Q5g.js" as="script"><link rel="prefetch" href="/assets/index.html-Dd9JrssL.js" as="script"><link rel="prefetch" href="/assets/index.html-BjPOIJdK.js" as="script"><link rel="prefetch" href="/assets/index.html-CmtlWOBH.js" as="script"><link rel="prefetch" href="/assets/index.html-CR-9qG2Y.js" as="script"><link rel="prefetch" href="/assets/index.html-CwWDCYUS.js" as="script"><link rel="prefetch" href="/assets/index.html-CptFZpi0.js" as="script"><link rel="prefetch" href="/assets/index.html-p6Y7Jm3n.js" as="script"><link rel="prefetch" href="/assets/index.html-BKUs44hv.js" as="script"><link rel="prefetch" href="/assets/index.html-D0wSSTgQ.js" as="script"><link rel="prefetch" href="/assets/index.html-DqsCIdcm.js" as="script"><link rel="prefetch" href="/assets/index.html-kUwAIzkD.js" as="script"><link rel="prefetch" href="/assets/index.html-BqgjNdmg.js" as="script"><link rel="prefetch" href="/assets/index.html-DIaDLRqn.js" as="script"><link rel="prefetch" href="/assets/index.html-DhcL23aG.js" as="script"><link rel="prefetch" href="/assets/index.html-Bk9EBjUw.js" as="script"><link rel="prefetch" href="/assets/index.html-C0X-QC5U.js" as="script"><link rel="prefetch" href="/assets/index.html-ZwD6xCF4.js" as="script"><link rel="prefetch" href="/assets/index.html-BdqadbH8.js" as="script"><link rel="prefetch" href="/assets/index.html-D7Uf3Wbw.js" as="script"><link rel="prefetch" href="/assets/index.html-CsuDpoYK.js" as="script"><link rel="prefetch" href="/assets/index.html-Dc2bdBF2.js" as="script"><link rel="prefetch" href="/assets/index.html-BzgkemtD.js" as="script"><link rel="prefetch" href="/assets/index.html-7uHHiaZx.js" as="script"><link rel="prefetch" href="/assets/index.html-TGoZudvZ.js" as="script"><link rel="prefetch" href="/assets/index.html-DbCWijUV.js" as="script"><link rel="prefetch" href="/assets/index.html-DOCRL60a.js" as="script"><link rel="prefetch" href="/assets/index.html-B8qYb7wb.js" as="script"><link rel="prefetch" href="/assets/index.html-CpBdG6tv.js" as="script"><link rel="prefetch" href="/assets/index.html-DdE0h7xo.js" as="script"><link rel="prefetch" href="/assets/index.html-BlsdgZAc.js" as="script"><link rel="prefetch" href="/assets/index.html-Du74cC6X.js" as="script"><link rel="prefetch" href="/assets/index.html-CTp2Oa39.js" as="script"><link rel="prefetch" href="/assets/index.html-Bz73p56D.js" as="script"><link rel="prefetch" href="/assets/index.html-BktjQtFB.js" as="script"><link rel="prefetch" href="/assets/index.html-DPl--Ppt.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-BF52VcER.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CgYxLcm_.js" as="script"><link rel="prefetch" href="/assets/artplayer-CHAGXahu.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-BOVnG7as.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-CbA2In8H.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-Do1ld-lW.js" as="script"><link rel="prefetch" href="/assets/giscus-7BMGhbDA.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-SzV8tJDW.js" as="script">
+    <link rel="preload" href="/assets/style-7DTFFHvh.css" as="style"><link rel="stylesheet" href="/assets/style-7DTFFHvh.css">
+    <link rel="modulepreload" href="/assets/app-Flo2gZk8.js"><link rel="modulepreload" href="/assets/index.html-CiBWk0Bg.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
+    <link rel="prefetch" href="/assets/index.html-BhtLl4n3.js" as="script"><link rel="prefetch" href="/assets/index.html-C6yte3a0.js" as="script"><link rel="prefetch" href="/assets/index.html-R-cHHIas.js" as="script"><link rel="prefetch" href="/assets/index.html-CPUAg15t.js" as="script"><link rel="prefetch" href="/assets/index.html-BjdnOCC5.js" as="script"><link rel="prefetch" href="/assets/index.html-7Xyk7CrU.js" as="script"><link rel="prefetch" href="/assets/index.html-BNW3YRR3.js" as="script"><link rel="prefetch" href="/assets/index.html-jClrTNl3.js" as="script"><link rel="prefetch" href="/assets/index.html-tFfBEjXi.js" as="script"><link rel="prefetch" href="/assets/index.html-DgPmeCdQ.js" as="script"><link rel="prefetch" href="/assets/index.html-CxRigd-R.js" as="script"><link rel="prefetch" href="/assets/index.html-BWPjJqfa.js" as="script"><link rel="prefetch" href="/assets/index.html-DzG2EJXJ.js" as="script"><link rel="prefetch" href="/assets/index.html-B45efyIG.js" as="script"><link rel="prefetch" href="/assets/index.html-D_Px6PD2.js" as="script"><link rel="prefetch" href="/assets/index.html-U1Oe9QlK.js" as="script"><link rel="prefetch" href="/assets/index.html-fvB3i9PM.js" as="script"><link rel="prefetch" href="/assets/404.html-mkIobPP0.js" as="script"><link rel="prefetch" href="/assets/index.html-DGqb01LU.js" as="script"><link rel="prefetch" href="/assets/index.html-GZfFX8ok.js" as="script"><link rel="prefetch" href="/assets/index.html-vhaMR1PK.js" as="script"><link rel="prefetch" href="/assets/index.html-CvSEeOlH.js" as="script"><link rel="prefetch" href="/assets/index.html-BmplSMWS.js" as="script"><link rel="prefetch" href="/assets/index.html-C2sDDxGY.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNwolvq.js" as="script"><link rel="prefetch" href="/assets/index.html-DhSSZBRU.js" as="script"><link rel="prefetch" href="/assets/index.html-DPcGNBru.js" as="script"><link rel="prefetch" href="/assets/index.html-BFJ0kKZP.js" as="script"><link rel="prefetch" href="/assets/index.html-CBW4olfB.js" as="script"><link rel="prefetch" href="/assets/index.html-AFWYFeTY.js" as="script"><link rel="prefetch" href="/assets/index.html-DlrkN0XZ.js" as="script"><link rel="prefetch" href="/assets/index.html-Cb-sPtFS.js" as="script"><link rel="prefetch" href="/assets/index.html-DPF-EyUV.js" as="script"><link rel="prefetch" href="/assets/index.html-AqhAiBBF.js" as="script"><link rel="prefetch" href="/assets/index.html-DLZdHb6J.js" as="script"><link rel="prefetch" href="/assets/index.html-Cpr5viHS.js" as="script"><link rel="prefetch" href="/assets/index.html-BXxGxqK4.js" as="script"><link rel="prefetch" href="/assets/index.html-4asd-b47.js" as="script"><link rel="prefetch" href="/assets/index.html-ZITi3OK2.js" as="script"><link rel="prefetch" href="/assets/index.html-DJMKg_M6.js" as="script"><link rel="prefetch" href="/assets/index.html-Y__KWg8u.js" as="script"><link rel="prefetch" href="/assets/index.html--BIzY7gk.js" as="script"><link rel="prefetch" href="/assets/index.html-BRHXQqdq.js" as="script"><link rel="prefetch" href="/assets/index.html-C_2nkQ6B.js" as="script"><link rel="prefetch" href="/assets/index.html-R9oSKuoP.js" as="script"><link rel="prefetch" href="/assets/index.html-DY-KY6vi.js" as="script"><link rel="prefetch" href="/assets/index.html-BSndmKE7.js" as="script"><link rel="prefetch" href="/assets/index.html-BDmR_g70.js" as="script"><link rel="prefetch" href="/assets/index.html-CpeDyHcd.js" as="script"><link rel="prefetch" href="/assets/index.html-DV9WiiCS.js" as="script"><link rel="prefetch" href="/assets/index.html-DTceWJaH.js" as="script"><link rel="prefetch" href="/assets/index.html-2WOtvPq_.js" as="script"><link rel="prefetch" href="/assets/index.html-DCVozm3V.js" as="script"><link rel="prefetch" href="/assets/index.html-vKhQGG0S.js" as="script"><link rel="prefetch" href="/assets/index.html-BlvUTCvM.js" as="script"><link rel="prefetch" href="/assets/index.html-vIW8aJUJ.js" as="script"><link rel="prefetch" href="/assets/index.html-CTuZCChr.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-S0Hns9UN.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CSFeuThZ.js" as="script"><link rel="prefetch" href="/assets/artplayer-DnixxQIM.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-DaNo29Rn.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-nRkOMaNb.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-DQalTb-T.js" as="script"><link rel="prefetch" href="/assets/giscus-D-fkNSKD.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-GXRgw7eJ.js" as="script">
   </head>
   <body>
     <div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container no-sidebar"><!--[--><header id="navbar" class="vp-navbar"><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><!--[--><a class="route-link vp-brand" href="/"><img class="vp-nav-logo" src="/img/Headshot.jpg" alt><!----><span class="vp-site-name hide-in-pad">HalfSweet&#39;s Blog</span></a><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-center"><!--[--><!----><!--]--><!--[--><nav class="vp-nav-links"><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/posts/" aria-label="文章"><span class="font-icon icon app" style=""></span>文章<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/about/" aria-label="关于"><span class="font-icon icon user" style=""></span>关于<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/friends/" aria-label="友链"><span class="font-icon icon link" style=""></span>友链<!----></a></div></nav><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-end"><!--[--><!----><!--]--><!--[--><!----><div class="nav-item vp-repo"><a class="vp-repo-link" href="https://github.com/HalfSweet/Blog" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><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"></path></svg></a></div><div class="nav-item hide-in-mobile"><button type="button" id="appearance-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" style="display:block;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" style="display:none;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" style="display:none;"><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"></path></svg></button></div><!----><!--]--><!--[--><!----><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar"><!--[--><!----><!--]--><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></li><li><section class="vp-sidebar-group"><p class="vp-sidebar-header"><span class="font-icon icon book" style=""></span><span class="vp-sidebar-title">文章</span><!----></p><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-Clion/" aria-label="使用 Clion 来进行 Air32 的开发"><!---->使用 Clion 来进行 Air32 的开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-MCO/" aria-label="Air32 的 HAL 改造——适配 MCO"><!---->Air32 的 HAL 改造——适配 MCO<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/HelloWorld/" aria-label="HelloWorld"><!---->HelloWorld<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/STC_CoreMark/" aria-label="不服来跑个分?将 CoreMark 移植到 STC 上试试"><!---->不服来跑个分?将 CoreMark 移植到 STC 上试试<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="为什么我对第三代郊狼失望"><!---->为什么我对第三代郊狼失望<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-HighFreq/" aria-label="发挥全部实力!Air32 在 HAL 库环境下运行最高主频"><!---->发挥全部实力!Air32 在 HAL 库环境下运行最高主频<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/embedded_fmtlib/" aria-label="在嵌入式设备上使用fmtlib"><!---->在嵌入式设备上使用fmtlib<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/conda_novelai/" aria-label="基于conda进行手动配置novelAI"><!---->基于conda进行手动配置novelAI<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="对《为什么我对第三代郊狼失望》一文的澄清说明"><!---->对《为什么我对第三代郊狼失望》一文的澄清说明<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Empedded-CI-CD/" aria-label="嵌入式中的 CI/CD"><!---->嵌入式中的 CI/CD<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/MDK6-Dev/" aria-label="更现代的开发方式?使用 MDK6 进行开发"><!---->更现代的开发方式?使用 MDK6 进行开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/SEGGER-RTT/" aria-label="更高效的日志查看方式——使用SEGGER-RTT"><!---->更高效的日志查看方式——使用SEGGER-RTT<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/EpdTraps1/" aria-label="墨水屏的坑——7.5寸墨水屏刷新为何出现条纹"><!---->墨水屏的坑——7.5寸墨水屏刷新为何出现条纹<!----></a></li></ul></section></li></ul><!--[--><!----><!--]--></aside><!--[--><div class="vp-page vp-blog"><div class="blog-page-wrapper"><main id="main-content" class="vp-blog-main"><ul class="tag-list-wrapper"><li class="tag tag8"><a class="route-link" href="/tag/%E5%90%88%E5%AE%99/">合宙<span class="tag-num">6</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/air32/">Air32<span class="tag-num">4</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/air001/">Air001<span class="tag-num">3</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/%E5%B5%8C%E5%85%A5%E5%BC%8F/">嵌入式<span class="tag-num">2</span></a></li><li class="tag tag6"><a class="route-link" href="/tag/%E7%A2%8E%E7%A2%8E%E5%BF%B5/">碎碎念<span class="tag-num">2</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/%E9%83%8A%E7%8B%BC/">郊狼<span class="tag-num">2</span></a></li><li class="tag tag0 active"><a class="route-link" href="/tag/mco/">MCO<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/helloworld/">HelloWorld<span class="tag-num">1</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/stc32/">STC32<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/stc8/">STC8<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/coremark/">CoreMark<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/clion/">Clion<span class="tag-num">1</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/%E8%B6%85%E9%A2%91/">超频<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/fmtlib/">fmtlib<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/esp8266/">ESP8266<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/esp32/">ESP32<span class="tag-num">1</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/arduino/">Arduino<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/platformio/">PlatformIO<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/esp-idf/">ESP-IDF<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/">人工智能<span class="tag-num">1</span></a></li><li class="tag tag1"><a class="route-link" href="/tag/novelai/">novelAI<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/conda/">conda<span class="tag-num">1</span></a></li><li class="tag tag7"><a class="route-link" href="/tag/%E5%A2%A8%E6%B0%B4%E5%B1%8F/">墨水屏<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/uc8179/">UC8179<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/depg0750rwu790f30/">DEPG0750RWU790F30<span class="tag-num">1</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/%E9%81%87%E5%88%B0%E7%9A%84%E5%9D%91/">遇到的坑<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/cicd/">CI/CD<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/%E6%97%A5%E5%BF%97/">日志<span class="tag-num">1</span></a></li></ul><div id="article-list" class="vp-article-list" role="feed"><div class="vp-article-wrapper"><article class="vp-article-item" vocab="https://schema.org/" typeof="Article"><!--[--><!--]--><!----><a class="route-link" href="/posts/Air32-HAL-MCO/"><header class="vp-article-title"><!----><!----><span property="headline">Air32 的 HAL 改造——适配 MCO</span></header></a><div class="vp-article-excerpt"><p>在 <a href="/posts/Air32-HAL-HighFreq/" target="_blank">上篇文章</a> 中,我们把 HAL 库移植给了 Air32,那现在让我们尝试添加一些 HAL 库特有的功能吧,比如这篇文章中描述的<code>MCO</code>。</p>
 </div><hr class="vp-article-hr"><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2023-08-20T23:00:00.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>大约 3 分钟</span><meta property="timeRequired" content="PT3M"></span><span class="page-category-info" aria-label="分类🌈" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg><!--[--><span class="page-category-item category8 clickable" role="navigation">单片机</span><!--]--><meta property="articleSection" content="单片机"></span><span class="page-tag-info" aria-label="标签🏷" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg><!--[--><span class="page-tag-item tag4 clickable" role="navigation">Air32</span><span class="page-tag-item tag8 clickable" role="navigation">合宙</span><span class="page-tag-item tag0 clickable" role="navigation">MCO</span><!--]--><meta property="keywords" content="Air32,合宙,MCO"></span></div></article></div><div class="vp-pagination"></div></div></main><aside class="vp-blog-info-wrapper"><div class="vp-blogger-info" vocab="https://schema.org/" typeof="Person"><div class="vp-blogger" style="cursor:pointer;" aria-label="个人介绍" data-balloon-pos="down" role="link"><img class="vp-blogger-avatar" src="/img/Headshot.jpg" property="image" alt="Blogger Avatar" loading="lazy"><div class="vp-blogger-name" property="name">HalfSweet</div><div class="vp-blogger-description">Try to create some value</div><meta property="url" content="/Catalogue/02.about.html"></div><div class="vp-blog-counts"><a class="route-link vp-blog-count" href="/article/"><div class="count">13</div><div>文章</div></a><a class="route-link vp-blog-count" href="/category/"><div class="count">5</div><div>分类</div></a><a class="route-link vp-blog-count" href="/tag/"><div class="count">28</div><div>标签</div></a><a class="route-link vp-blog-count" href="/timeline/"><div class="count">13</div><div>时间轴</div></a></div><div class="vp-social-medias"><a class="vp-social-media" href="mailto:HalfSweet@HalfSweet.cn" rel="noopener noreferrer" target="_blank" aria-label="Email" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon email-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#1384FF"/><path fill="#fff" d="M270.077 286.233H751.99c32.933 0 59.86 24.855 60.274 55.51l-301.023 157L210.217 341.88c.207-30.723 26.927-55.717 59.86-55.717zm-59.929 115.714-.276 277.756c0 30.931 27.134 56.2 60.205 56.2H751.99c33.14 0 60.274-25.269 60.274-56.2V401.81L518.283 551.492a15.88 15.88 0 0 1-14.43 0L210.148 401.947z"/></svg></a><a class="vp-social-media" href="https://github.com/HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="GitHub" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#171515"/><path fill="#fff" d="M509.423 146.442c-200.317 0-362.756 162.42-362.756 362.8 0 160.266 103.936 296.24 248.109 344.217 18.139 3.327 24.76-7.872 24.76-17.486 0-8.613-.313-31.427-.49-61.702-100.912 21.923-122.205-48.63-122.205-48.63-16.495-41.91-40.28-53.067-40.28-53.067-32.937-22.51 2.492-22.053 2.492-22.053 36.407 2.566 55.568 37.386 55.568 37.386 32.362 55.438 84.907 39.43 105.58 30.143 3.296-23.444 12.667-39.43 23.032-48.498-80.557-9.156-165.246-40.28-165.246-179.297 0-39.604 14.135-71.988 37.342-97.348-3.731-9.178-16.18-46.063 3.556-96.009 0 0 30.46-9.754 99.76 37.19 28.937-8.048 59.97-12.071 90.823-12.211 30.807.14 61.843 4.165 90.822 12.21 69.26-46.944 99.663-37.189 99.663-37.189 19.792 49.946 7.34 86.831 3.61 96.01 23.25 25.359 37.29 57.742 37.29 97.347 0 139.366-84.82 170.033-165.637 179.013 13.026 11.2 24.628 33.342 24.628 67.182 0 48.498-.445 87.627-.445 99.521 0 9.702 6.535 20.988 24.945 17.444 144.03-48.067 247.881-183.95 247.881-344.175 0-200.378-162.442-362.798-362.802-362.798z"/></svg></a><a class="vp-social-media" href="https://twitter.com/_HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="Twitter" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon twitter-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512"/><path fill="#FFF" d="m560 473 186-216h-44L540 445 411 257H262l195 284-195 226h44l171-198 136 198h149zM322 290h68l312 445h-68z"/></svg></a></div></div><div class="vp-blog-infos"><div class="vp-blog-type-switcher"><button type="button" class="vp-blog-type-button"><div class="icon-wrapper active" aria-label="文章" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="分类" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="标签" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="时间轴" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timeline-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timeline icon"><path d="M511.997 70.568c-243.797 0-441.429 197.633-441.429 441.435 0 243.797 197.632 441.429 441.43 441.429S953.431 755.8 953.431 512.002c0-243.796-197.637-441.434-441.435-441.434zm150.158 609.093-15.605 15.61c-8.621 8.615-22.596 8.615-31.215 0L472.197 552.126c-4.95-4.944-4.34-14.888-4.34-24.677V247.14c0-12.19 9.882-22.07 22.07-22.07h22.07c12.19 0 22.07 9.882 22.07 22.07v273.218l128.088 128.088c8.62 8.62 8.62 22.595 0 31.215zm0 0"></path></svg></div></button></div><div class="vp-star-article-wrapper"><div class="title"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg><span class="num">13</span>文章</div><hr><div class="vp-star-article-empty">星标 为空</div></div></div></aside></div></div><!--]--><footer class="vp-footer-wrapper"><div class="vp-footer">今天咕咕被欺负了吗</div><div class="vp-copyright">Copyright © 2024 HalfSweet </div></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div>
-    <script type="module" src="/assets/app-ClwIkahu.js" defer></script>
+    <script type="module" src="/assets/app-Flo2gZk8.js" defer></script>
   </body>
 </html>
diff --git a/tag/novelai/index.html b/tag/novelai/index.html
index 49aa465..78efcc4 100644
--- a/tag/novelai/index.html
+++ b/tag/novelai/index.html
@@ -29,13 +29,13 @@
       }
     </script>
     <meta property="og:url" content="https://halfsweet.cn/tag/novelai/"><meta property="og:site_name" content="HalfSweet's Blog"><meta property="og:title" content="标签: novelAI"><meta property="og:type" content="website"><meta property="og:locale" content="zh-CN"><meta property="article:author" content="HalfSweet"><script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","name":"标签: novelAI"}</script><title>标签: novelAI | HalfSweet's Blog</title><meta name="description" content="半糖的博客">
-    <link rel="preload" href="/assets/style-BDwnt-CL.css" as="style"><link rel="stylesheet" href="/assets/style-BDwnt-CL.css">
-    <link rel="modulepreload" href="/assets/app-ClwIkahu.js"><link rel="modulepreload" href="/assets/index.html-TGoZudvZ.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
-    <link rel="prefetch" href="/assets/index.html-BjG6C5xb.js" as="script"><link rel="prefetch" href="/assets/index.html-6gNmrYKw.js" as="script"><link rel="prefetch" href="/assets/index.html-W8DPbcPd.js" as="script"><link rel="prefetch" href="/assets/index.html-75fD8c0W.js" as="script"><link rel="prefetch" href="/assets/index.html-CufQKtZU.js" as="script"><link rel="prefetch" href="/assets/index.html-Bqe7scks.js" as="script"><link rel="prefetch" href="/assets/index.html-B5-KeVPb.js" as="script"><link rel="prefetch" href="/assets/index.html-C7FigsQF.js" as="script"><link rel="prefetch" href="/assets/index.html-DtEE6E7f.js" as="script"><link rel="prefetch" href="/assets/index.html-0oPRY09N.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNCX4dz.js" as="script"><link rel="prefetch" href="/assets/index.html-XtQdJJI8.js" as="script"><link rel="prefetch" href="/assets/index.html-CnJ0E6b5.js" as="script"><link rel="prefetch" href="/assets/index.html-CFhDcrZp.js" as="script"><link rel="prefetch" href="/assets/index.html-Bd1PkxNi.js" as="script"><link rel="prefetch" href="/assets/index.html-DJ-_mZ9n.js" as="script"><link rel="prefetch" href="/assets/index.html-jFzM8lrm.js" as="script"><link rel="prefetch" href="/assets/404.html-VMfaDGRx.js" as="script"><link rel="prefetch" href="/assets/index.html-BaR2aqhq.js" as="script"><link rel="prefetch" href="/assets/index.html-DO2xY2T5.js" as="script"><link rel="prefetch" href="/assets/index.html-BEwHBlkc.js" as="script"><link rel="prefetch" href="/assets/index.html-DZIt3Q5g.js" as="script"><link rel="prefetch" href="/assets/index.html-Dd9JrssL.js" as="script"><link rel="prefetch" href="/assets/index.html-BjPOIJdK.js" as="script"><link rel="prefetch" href="/assets/index.html-CmtlWOBH.js" as="script"><link rel="prefetch" href="/assets/index.html-CR-9qG2Y.js" as="script"><link rel="prefetch" href="/assets/index.html-CwWDCYUS.js" as="script"><link rel="prefetch" href="/assets/index.html-CptFZpi0.js" as="script"><link rel="prefetch" href="/assets/index.html-p6Y7Jm3n.js" as="script"><link rel="prefetch" href="/assets/index.html-CIen8cvO.js" as="script"><link rel="prefetch" href="/assets/index.html-BKUs44hv.js" as="script"><link rel="prefetch" href="/assets/index.html-D0wSSTgQ.js" as="script"><link rel="prefetch" href="/assets/index.html-DqsCIdcm.js" as="script"><link rel="prefetch" href="/assets/index.html-kUwAIzkD.js" as="script"><link rel="prefetch" href="/assets/index.html-BqgjNdmg.js" as="script"><link rel="prefetch" href="/assets/index.html-DIaDLRqn.js" as="script"><link rel="prefetch" href="/assets/index.html-DhcL23aG.js" as="script"><link rel="prefetch" href="/assets/index.html-Bk9EBjUw.js" as="script"><link rel="prefetch" href="/assets/index.html-C0X-QC5U.js" as="script"><link rel="prefetch" href="/assets/index.html-ZwD6xCF4.js" as="script"><link rel="prefetch" href="/assets/index.html-BdqadbH8.js" as="script"><link rel="prefetch" href="/assets/index.html-D7Uf3Wbw.js" as="script"><link rel="prefetch" href="/assets/index.html-CsuDpoYK.js" as="script"><link rel="prefetch" href="/assets/index.html-Dc2bdBF2.js" as="script"><link rel="prefetch" href="/assets/index.html-BzgkemtD.js" as="script"><link rel="prefetch" href="/assets/index.html-7uHHiaZx.js" as="script"><link rel="prefetch" href="/assets/index.html-DbCWijUV.js" as="script"><link rel="prefetch" href="/assets/index.html-DOCRL60a.js" as="script"><link rel="prefetch" href="/assets/index.html-B8qYb7wb.js" as="script"><link rel="prefetch" href="/assets/index.html-CpBdG6tv.js" as="script"><link rel="prefetch" href="/assets/index.html-DdE0h7xo.js" as="script"><link rel="prefetch" href="/assets/index.html-BlsdgZAc.js" as="script"><link rel="prefetch" href="/assets/index.html-Du74cC6X.js" as="script"><link rel="prefetch" href="/assets/index.html-CTp2Oa39.js" as="script"><link rel="prefetch" href="/assets/index.html-Bz73p56D.js" as="script"><link rel="prefetch" href="/assets/index.html-BktjQtFB.js" as="script"><link rel="prefetch" href="/assets/index.html-DPl--Ppt.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-BF52VcER.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CgYxLcm_.js" as="script"><link rel="prefetch" href="/assets/artplayer-CHAGXahu.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-BOVnG7as.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-CbA2In8H.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-Do1ld-lW.js" as="script"><link rel="prefetch" href="/assets/giscus-7BMGhbDA.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-SzV8tJDW.js" as="script">
+    <link rel="preload" href="/assets/style-7DTFFHvh.css" as="style"><link rel="stylesheet" href="/assets/style-7DTFFHvh.css">
+    <link rel="modulepreload" href="/assets/app-Flo2gZk8.js"><link rel="modulepreload" href="/assets/index.html-DY-KY6vi.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
+    <link rel="prefetch" href="/assets/index.html-BhtLl4n3.js" as="script"><link rel="prefetch" href="/assets/index.html-C6yte3a0.js" as="script"><link rel="prefetch" href="/assets/index.html-R-cHHIas.js" as="script"><link rel="prefetch" href="/assets/index.html-CPUAg15t.js" as="script"><link rel="prefetch" href="/assets/index.html-BjdnOCC5.js" as="script"><link rel="prefetch" href="/assets/index.html-7Xyk7CrU.js" as="script"><link rel="prefetch" href="/assets/index.html-BNW3YRR3.js" as="script"><link rel="prefetch" href="/assets/index.html-jClrTNl3.js" as="script"><link rel="prefetch" href="/assets/index.html-tFfBEjXi.js" as="script"><link rel="prefetch" href="/assets/index.html-DgPmeCdQ.js" as="script"><link rel="prefetch" href="/assets/index.html-CxRigd-R.js" as="script"><link rel="prefetch" href="/assets/index.html-BWPjJqfa.js" as="script"><link rel="prefetch" href="/assets/index.html-DzG2EJXJ.js" as="script"><link rel="prefetch" href="/assets/index.html-B45efyIG.js" as="script"><link rel="prefetch" href="/assets/index.html-D_Px6PD2.js" as="script"><link rel="prefetch" href="/assets/index.html-U1Oe9QlK.js" as="script"><link rel="prefetch" href="/assets/index.html-fvB3i9PM.js" as="script"><link rel="prefetch" href="/assets/404.html-mkIobPP0.js" as="script"><link rel="prefetch" href="/assets/index.html-DGqb01LU.js" as="script"><link rel="prefetch" href="/assets/index.html-GZfFX8ok.js" as="script"><link rel="prefetch" href="/assets/index.html-vhaMR1PK.js" as="script"><link rel="prefetch" href="/assets/index.html-CvSEeOlH.js" as="script"><link rel="prefetch" href="/assets/index.html-BmplSMWS.js" as="script"><link rel="prefetch" href="/assets/index.html-C2sDDxGY.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNwolvq.js" as="script"><link rel="prefetch" href="/assets/index.html-DhSSZBRU.js" as="script"><link rel="prefetch" href="/assets/index.html-DPcGNBru.js" as="script"><link rel="prefetch" href="/assets/index.html-BFJ0kKZP.js" as="script"><link rel="prefetch" href="/assets/index.html-CBW4olfB.js" as="script"><link rel="prefetch" href="/assets/index.html-CiBWk0Bg.js" as="script"><link rel="prefetch" href="/assets/index.html-AFWYFeTY.js" as="script"><link rel="prefetch" href="/assets/index.html-DlrkN0XZ.js" as="script"><link rel="prefetch" href="/assets/index.html-Cb-sPtFS.js" as="script"><link rel="prefetch" href="/assets/index.html-DPF-EyUV.js" as="script"><link rel="prefetch" href="/assets/index.html-AqhAiBBF.js" as="script"><link rel="prefetch" href="/assets/index.html-DLZdHb6J.js" as="script"><link rel="prefetch" href="/assets/index.html-Cpr5viHS.js" as="script"><link rel="prefetch" href="/assets/index.html-BXxGxqK4.js" as="script"><link rel="prefetch" href="/assets/index.html-4asd-b47.js" as="script"><link rel="prefetch" href="/assets/index.html-ZITi3OK2.js" as="script"><link rel="prefetch" href="/assets/index.html-DJMKg_M6.js" as="script"><link rel="prefetch" href="/assets/index.html-Y__KWg8u.js" as="script"><link rel="prefetch" href="/assets/index.html--BIzY7gk.js" as="script"><link rel="prefetch" href="/assets/index.html-BRHXQqdq.js" as="script"><link rel="prefetch" href="/assets/index.html-C_2nkQ6B.js" as="script"><link rel="prefetch" href="/assets/index.html-R9oSKuoP.js" as="script"><link rel="prefetch" href="/assets/index.html-BSndmKE7.js" as="script"><link rel="prefetch" href="/assets/index.html-BDmR_g70.js" as="script"><link rel="prefetch" href="/assets/index.html-CpeDyHcd.js" as="script"><link rel="prefetch" href="/assets/index.html-DV9WiiCS.js" as="script"><link rel="prefetch" href="/assets/index.html-DTceWJaH.js" as="script"><link rel="prefetch" href="/assets/index.html-2WOtvPq_.js" as="script"><link rel="prefetch" href="/assets/index.html-DCVozm3V.js" as="script"><link rel="prefetch" href="/assets/index.html-vKhQGG0S.js" as="script"><link rel="prefetch" href="/assets/index.html-BlvUTCvM.js" as="script"><link rel="prefetch" href="/assets/index.html-vIW8aJUJ.js" as="script"><link rel="prefetch" href="/assets/index.html-CTuZCChr.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-S0Hns9UN.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CSFeuThZ.js" as="script"><link rel="prefetch" href="/assets/artplayer-DnixxQIM.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-DaNo29Rn.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-nRkOMaNb.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-DQalTb-T.js" as="script"><link rel="prefetch" href="/assets/giscus-D-fkNSKD.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-GXRgw7eJ.js" as="script">
   </head>
   <body>
     <div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container no-sidebar"><!--[--><header id="navbar" class="vp-navbar"><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><!--[--><a class="route-link vp-brand" href="/"><img class="vp-nav-logo" src="/img/Headshot.jpg" alt><!----><span class="vp-site-name hide-in-pad">HalfSweet&#39;s Blog</span></a><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-center"><!--[--><!----><!--]--><!--[--><nav class="vp-nav-links"><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/posts/" aria-label="文章"><span class="font-icon icon app" style=""></span>文章<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/about/" aria-label="关于"><span class="font-icon icon user" style=""></span>关于<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/friends/" aria-label="友链"><span class="font-icon icon link" style=""></span>友链<!----></a></div></nav><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-end"><!--[--><!----><!--]--><!--[--><!----><div class="nav-item vp-repo"><a class="vp-repo-link" href="https://github.com/HalfSweet/Blog" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><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"></path></svg></a></div><div class="nav-item hide-in-mobile"><button type="button" id="appearance-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" style="display:block;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" style="display:none;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" style="display:none;"><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"></path></svg></button></div><!----><!--]--><!--[--><!----><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar"><!--[--><!----><!--]--><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></li><li><section class="vp-sidebar-group"><p class="vp-sidebar-header"><span class="font-icon icon book" style=""></span><span class="vp-sidebar-title">文章</span><!----></p><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-Clion/" aria-label="使用 Clion 来进行 Air32 的开发"><!---->使用 Clion 来进行 Air32 的开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-MCO/" aria-label="Air32 的 HAL 改造——适配 MCO"><!---->Air32 的 HAL 改造——适配 MCO<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/HelloWorld/" aria-label="HelloWorld"><!---->HelloWorld<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/STC_CoreMark/" aria-label="不服来跑个分?将 CoreMark 移植到 STC 上试试"><!---->不服来跑个分?将 CoreMark 移植到 STC 上试试<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="为什么我对第三代郊狼失望"><!---->为什么我对第三代郊狼失望<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-HighFreq/" aria-label="发挥全部实力!Air32 在 HAL 库环境下运行最高主频"><!---->发挥全部实力!Air32 在 HAL 库环境下运行最高主频<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/embedded_fmtlib/" aria-label="在嵌入式设备上使用fmtlib"><!---->在嵌入式设备上使用fmtlib<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/conda_novelai/" aria-label="基于conda进行手动配置novelAI"><!---->基于conda进行手动配置novelAI<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="对《为什么我对第三代郊狼失望》一文的澄清说明"><!---->对《为什么我对第三代郊狼失望》一文的澄清说明<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Empedded-CI-CD/" aria-label="嵌入式中的 CI/CD"><!---->嵌入式中的 CI/CD<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/MDK6-Dev/" aria-label="更现代的开发方式?使用 MDK6 进行开发"><!---->更现代的开发方式?使用 MDK6 进行开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/SEGGER-RTT/" aria-label="更高效的日志查看方式——使用SEGGER-RTT"><!---->更高效的日志查看方式——使用SEGGER-RTT<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/EpdTraps1/" aria-label="墨水屏的坑——7.5寸墨水屏刷新为何出现条纹"><!---->墨水屏的坑——7.5寸墨水屏刷新为何出现条纹<!----></a></li></ul></section></li></ul><!--[--><!----><!--]--></aside><!--[--><div class="vp-page vp-blog"><div class="blog-page-wrapper"><main id="main-content" class="vp-blog-main"><ul class="tag-list-wrapper"><li class="tag tag8"><a class="route-link" href="/tag/%E5%90%88%E5%AE%99/">合宙<span class="tag-num">6</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/air32/">Air32<span class="tag-num">4</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/air001/">Air001<span class="tag-num">3</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/%E5%B5%8C%E5%85%A5%E5%BC%8F/">嵌入式<span class="tag-num">2</span></a></li><li class="tag tag6"><a class="route-link" href="/tag/%E7%A2%8E%E7%A2%8E%E5%BF%B5/">碎碎念<span class="tag-num">2</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/%E9%83%8A%E7%8B%BC/">郊狼<span class="tag-num">2</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/mco/">MCO<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/helloworld/">HelloWorld<span class="tag-num">1</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/stc32/">STC32<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/stc8/">STC8<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/coremark/">CoreMark<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/clion/">Clion<span class="tag-num">1</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/%E8%B6%85%E9%A2%91/">超频<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/fmtlib/">fmtlib<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/esp8266/">ESP8266<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/esp32/">ESP32<span class="tag-num">1</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/arduino/">Arduino<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/platformio/">PlatformIO<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/esp-idf/">ESP-IDF<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/">人工智能<span class="tag-num">1</span></a></li><li class="tag tag1 active"><a class="route-link" href="/tag/novelai/">novelAI<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/conda/">conda<span class="tag-num">1</span></a></li><li class="tag tag7"><a class="route-link" href="/tag/%E5%A2%A8%E6%B0%B4%E5%B1%8F/">墨水屏<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/uc8179/">UC8179<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/depg0750rwu790f30/">DEPG0750RWU790F30<span class="tag-num">1</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/%E9%81%87%E5%88%B0%E7%9A%84%E5%9D%91/">遇到的坑<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/cicd/">CI/CD<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/%E6%97%A5%E5%BF%97/">日志<span class="tag-num">1</span></a></li></ul><div id="article-list" class="vp-article-list" role="feed"><div class="vp-article-wrapper"><article class="vp-article-item" vocab="https://schema.org/" typeof="Article"><!--[--><!--]--><!----><a class="route-link" href="/posts/conda_novelai/"><header class="vp-article-title"><!----><!----><span property="headline">基于conda进行手动配置novelAI</span></header></a><div class="vp-article-excerpt"><p>最近大家应该都玩过novelAI了,出来的图片质量都非常棒,但是b站大佬给的配置只是打包了的bat文件,但是这显然不符合我们的折腾精神,于是我们来尝试使用conda来进行纯手工配置。</p>
 </div><hr class="vp-article-hr"><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2023-01-05T13:19:16.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>大约 6 分钟</span><meta property="timeRequired" content="PT6M"></span><span class="page-category-info" aria-label="分类🌈" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg><!--[--><span class="page-category-item category3 clickable" role="navigation">AI</span><!--]--><meta property="articleSection" content="AI"></span><span class="page-tag-info" aria-label="标签🏷" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg><!--[--><span class="page-tag-item tag5 clickable" role="navigation">人工智能</span><span class="page-tag-item tag1 clickable" role="navigation">novelAI</span><span class="page-tag-item tag2 clickable" role="navigation">conda</span><!--]--><meta property="keywords" content="人工智能,novelAI,conda"></span></div></article></div><div class="vp-pagination"></div></div></main><aside class="vp-blog-info-wrapper"><div class="vp-blogger-info" vocab="https://schema.org/" typeof="Person"><div class="vp-blogger" style="cursor:pointer;" aria-label="个人介绍" data-balloon-pos="down" role="link"><img class="vp-blogger-avatar" src="/img/Headshot.jpg" property="image" alt="Blogger Avatar" loading="lazy"><div class="vp-blogger-name" property="name">HalfSweet</div><div class="vp-blogger-description">Try to create some value</div><meta property="url" content="/Catalogue/02.about.html"></div><div class="vp-blog-counts"><a class="route-link vp-blog-count" href="/article/"><div class="count">13</div><div>文章</div></a><a class="route-link vp-blog-count" href="/category/"><div class="count">5</div><div>分类</div></a><a class="route-link vp-blog-count" href="/tag/"><div class="count">28</div><div>标签</div></a><a class="route-link vp-blog-count" href="/timeline/"><div class="count">13</div><div>时间轴</div></a></div><div class="vp-social-medias"><a class="vp-social-media" href="mailto:HalfSweet@HalfSweet.cn" rel="noopener noreferrer" target="_blank" aria-label="Email" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon email-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#1384FF"/><path fill="#fff" d="M270.077 286.233H751.99c32.933 0 59.86 24.855 60.274 55.51l-301.023 157L210.217 341.88c.207-30.723 26.927-55.717 59.86-55.717zm-59.929 115.714-.276 277.756c0 30.931 27.134 56.2 60.205 56.2H751.99c33.14 0 60.274-25.269 60.274-56.2V401.81L518.283 551.492a15.88 15.88 0 0 1-14.43 0L210.148 401.947z"/></svg></a><a class="vp-social-media" href="https://github.com/HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="GitHub" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#171515"/><path fill="#fff" d="M509.423 146.442c-200.317 0-362.756 162.42-362.756 362.8 0 160.266 103.936 296.24 248.109 344.217 18.139 3.327 24.76-7.872 24.76-17.486 0-8.613-.313-31.427-.49-61.702-100.912 21.923-122.205-48.63-122.205-48.63-16.495-41.91-40.28-53.067-40.28-53.067-32.937-22.51 2.492-22.053 2.492-22.053 36.407 2.566 55.568 37.386 55.568 37.386 32.362 55.438 84.907 39.43 105.58 30.143 3.296-23.444 12.667-39.43 23.032-48.498-80.557-9.156-165.246-40.28-165.246-179.297 0-39.604 14.135-71.988 37.342-97.348-3.731-9.178-16.18-46.063 3.556-96.009 0 0 30.46-9.754 99.76 37.19 28.937-8.048 59.97-12.071 90.823-12.211 30.807.14 61.843 4.165 90.822 12.21 69.26-46.944 99.663-37.189 99.663-37.189 19.792 49.946 7.34 86.831 3.61 96.01 23.25 25.359 37.29 57.742 37.29 97.347 0 139.366-84.82 170.033-165.637 179.013 13.026 11.2 24.628 33.342 24.628 67.182 0 48.498-.445 87.627-.445 99.521 0 9.702 6.535 20.988 24.945 17.444 144.03-48.067 247.881-183.95 247.881-344.175 0-200.378-162.442-362.798-362.802-362.798z"/></svg></a><a class="vp-social-media" href="https://twitter.com/_HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="Twitter" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon twitter-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512"/><path fill="#FFF" d="m560 473 186-216h-44L540 445 411 257H262l195 284-195 226h44l171-198 136 198h149zM322 290h68l312 445h-68z"/></svg></a></div></div><div class="vp-blog-infos"><div class="vp-blog-type-switcher"><button type="button" class="vp-blog-type-button"><div class="icon-wrapper active" aria-label="文章" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="分类" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="标签" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="时间轴" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timeline-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timeline icon"><path d="M511.997 70.568c-243.797 0-441.429 197.633-441.429 441.435 0 243.797 197.632 441.429 441.43 441.429S953.431 755.8 953.431 512.002c0-243.796-197.637-441.434-441.435-441.434zm150.158 609.093-15.605 15.61c-8.621 8.615-22.596 8.615-31.215 0L472.197 552.126c-4.95-4.944-4.34-14.888-4.34-24.677V247.14c0-12.19 9.882-22.07 22.07-22.07h22.07c12.19 0 22.07 9.882 22.07 22.07v273.218l128.088 128.088c8.62 8.62 8.62 22.595 0 31.215zm0 0"></path></svg></div></button></div><div class="vp-star-article-wrapper"><div class="title"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg><span class="num">13</span>文章</div><hr><div class="vp-star-article-empty">星标 为空</div></div></div></aside></div></div><!--]--><footer class="vp-footer-wrapper"><div class="vp-footer">今天咕咕被欺负了吗</div><div class="vp-copyright">Copyright © 2024 HalfSweet </div></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div>
-    <script type="module" src="/assets/app-ClwIkahu.js" defer></script>
+    <script type="module" src="/assets/app-Flo2gZk8.js" defer></script>
   </body>
 </html>
diff --git a/tag/platformio/index.html b/tag/platformio/index.html
index b414599..2f0a2bc 100644
--- a/tag/platformio/index.html
+++ b/tag/platformio/index.html
@@ -29,13 +29,13 @@
       }
     </script>
     <meta property="og:url" content="https://halfsweet.cn/tag/platformio/"><meta property="og:site_name" content="HalfSweet's Blog"><meta property="og:title" content="标签: PlatformIO"><meta property="og:type" content="website"><meta property="og:locale" content="zh-CN"><meta property="article:author" content="HalfSweet"><script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","name":"标签: PlatformIO"}</script><title>标签: PlatformIO | HalfSweet's Blog</title><meta name="description" content="半糖的博客">
-    <link rel="preload" href="/assets/style-BDwnt-CL.css" as="style"><link rel="stylesheet" href="/assets/style-BDwnt-CL.css">
-    <link rel="modulepreload" href="/assets/app-ClwIkahu.js"><link rel="modulepreload" href="/assets/index.html-Dc2bdBF2.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
-    <link rel="prefetch" href="/assets/index.html-BjG6C5xb.js" as="script"><link rel="prefetch" href="/assets/index.html-6gNmrYKw.js" as="script"><link rel="prefetch" href="/assets/index.html-W8DPbcPd.js" as="script"><link rel="prefetch" href="/assets/index.html-75fD8c0W.js" as="script"><link rel="prefetch" href="/assets/index.html-CufQKtZU.js" as="script"><link rel="prefetch" href="/assets/index.html-Bqe7scks.js" as="script"><link rel="prefetch" href="/assets/index.html-B5-KeVPb.js" as="script"><link rel="prefetch" href="/assets/index.html-C7FigsQF.js" as="script"><link rel="prefetch" href="/assets/index.html-DtEE6E7f.js" as="script"><link rel="prefetch" href="/assets/index.html-0oPRY09N.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNCX4dz.js" as="script"><link rel="prefetch" href="/assets/index.html-XtQdJJI8.js" as="script"><link rel="prefetch" href="/assets/index.html-CnJ0E6b5.js" as="script"><link rel="prefetch" href="/assets/index.html-CFhDcrZp.js" as="script"><link rel="prefetch" href="/assets/index.html-Bd1PkxNi.js" as="script"><link rel="prefetch" href="/assets/index.html-DJ-_mZ9n.js" as="script"><link rel="prefetch" href="/assets/index.html-jFzM8lrm.js" as="script"><link rel="prefetch" href="/assets/404.html-VMfaDGRx.js" as="script"><link rel="prefetch" href="/assets/index.html-BaR2aqhq.js" as="script"><link rel="prefetch" href="/assets/index.html-DO2xY2T5.js" as="script"><link rel="prefetch" href="/assets/index.html-BEwHBlkc.js" as="script"><link rel="prefetch" href="/assets/index.html-DZIt3Q5g.js" as="script"><link rel="prefetch" href="/assets/index.html-Dd9JrssL.js" as="script"><link rel="prefetch" href="/assets/index.html-BjPOIJdK.js" as="script"><link rel="prefetch" href="/assets/index.html-CmtlWOBH.js" as="script"><link rel="prefetch" href="/assets/index.html-CR-9qG2Y.js" as="script"><link rel="prefetch" href="/assets/index.html-CwWDCYUS.js" as="script"><link rel="prefetch" href="/assets/index.html-CptFZpi0.js" as="script"><link rel="prefetch" href="/assets/index.html-p6Y7Jm3n.js" as="script"><link rel="prefetch" href="/assets/index.html-CIen8cvO.js" as="script"><link rel="prefetch" href="/assets/index.html-BKUs44hv.js" as="script"><link rel="prefetch" href="/assets/index.html-D0wSSTgQ.js" as="script"><link rel="prefetch" href="/assets/index.html-DqsCIdcm.js" as="script"><link rel="prefetch" href="/assets/index.html-kUwAIzkD.js" as="script"><link rel="prefetch" href="/assets/index.html-BqgjNdmg.js" as="script"><link rel="prefetch" href="/assets/index.html-DIaDLRqn.js" as="script"><link rel="prefetch" href="/assets/index.html-DhcL23aG.js" as="script"><link rel="prefetch" href="/assets/index.html-Bk9EBjUw.js" as="script"><link rel="prefetch" href="/assets/index.html-C0X-QC5U.js" as="script"><link rel="prefetch" href="/assets/index.html-ZwD6xCF4.js" as="script"><link rel="prefetch" href="/assets/index.html-BdqadbH8.js" as="script"><link rel="prefetch" href="/assets/index.html-D7Uf3Wbw.js" as="script"><link rel="prefetch" href="/assets/index.html-CsuDpoYK.js" as="script"><link rel="prefetch" href="/assets/index.html-BzgkemtD.js" as="script"><link rel="prefetch" href="/assets/index.html-7uHHiaZx.js" as="script"><link rel="prefetch" href="/assets/index.html-TGoZudvZ.js" as="script"><link rel="prefetch" href="/assets/index.html-DbCWijUV.js" as="script"><link rel="prefetch" href="/assets/index.html-DOCRL60a.js" as="script"><link rel="prefetch" href="/assets/index.html-B8qYb7wb.js" as="script"><link rel="prefetch" href="/assets/index.html-CpBdG6tv.js" as="script"><link rel="prefetch" href="/assets/index.html-DdE0h7xo.js" as="script"><link rel="prefetch" href="/assets/index.html-BlsdgZAc.js" as="script"><link rel="prefetch" href="/assets/index.html-Du74cC6X.js" as="script"><link rel="prefetch" href="/assets/index.html-CTp2Oa39.js" as="script"><link rel="prefetch" href="/assets/index.html-Bz73p56D.js" as="script"><link rel="prefetch" href="/assets/index.html-BktjQtFB.js" as="script"><link rel="prefetch" href="/assets/index.html-DPl--Ppt.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-BF52VcER.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CgYxLcm_.js" as="script"><link rel="prefetch" href="/assets/artplayer-CHAGXahu.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-BOVnG7as.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-CbA2In8H.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-Do1ld-lW.js" as="script"><link rel="prefetch" href="/assets/giscus-7BMGhbDA.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-SzV8tJDW.js" as="script">
+    <link rel="preload" href="/assets/style-7DTFFHvh.css" as="style"><link rel="stylesheet" href="/assets/style-7DTFFHvh.css">
+    <link rel="modulepreload" href="/assets/app-Flo2gZk8.js"><link rel="modulepreload" href="/assets/index.html-BRHXQqdq.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
+    <link rel="prefetch" href="/assets/index.html-BhtLl4n3.js" as="script"><link rel="prefetch" href="/assets/index.html-C6yte3a0.js" as="script"><link rel="prefetch" href="/assets/index.html-R-cHHIas.js" as="script"><link rel="prefetch" href="/assets/index.html-CPUAg15t.js" as="script"><link rel="prefetch" href="/assets/index.html-BjdnOCC5.js" as="script"><link rel="prefetch" href="/assets/index.html-7Xyk7CrU.js" as="script"><link rel="prefetch" href="/assets/index.html-BNW3YRR3.js" as="script"><link rel="prefetch" href="/assets/index.html-jClrTNl3.js" as="script"><link rel="prefetch" href="/assets/index.html-tFfBEjXi.js" as="script"><link rel="prefetch" href="/assets/index.html-DgPmeCdQ.js" as="script"><link rel="prefetch" href="/assets/index.html-CxRigd-R.js" as="script"><link rel="prefetch" href="/assets/index.html-BWPjJqfa.js" as="script"><link rel="prefetch" href="/assets/index.html-DzG2EJXJ.js" as="script"><link rel="prefetch" href="/assets/index.html-B45efyIG.js" as="script"><link rel="prefetch" href="/assets/index.html-D_Px6PD2.js" as="script"><link rel="prefetch" href="/assets/index.html-U1Oe9QlK.js" as="script"><link rel="prefetch" href="/assets/index.html-fvB3i9PM.js" as="script"><link rel="prefetch" href="/assets/404.html-mkIobPP0.js" as="script"><link rel="prefetch" href="/assets/index.html-DGqb01LU.js" as="script"><link rel="prefetch" href="/assets/index.html-GZfFX8ok.js" as="script"><link rel="prefetch" href="/assets/index.html-vhaMR1PK.js" as="script"><link rel="prefetch" href="/assets/index.html-CvSEeOlH.js" as="script"><link rel="prefetch" href="/assets/index.html-BmplSMWS.js" as="script"><link rel="prefetch" href="/assets/index.html-C2sDDxGY.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNwolvq.js" as="script"><link rel="prefetch" href="/assets/index.html-DhSSZBRU.js" as="script"><link rel="prefetch" href="/assets/index.html-DPcGNBru.js" as="script"><link rel="prefetch" href="/assets/index.html-BFJ0kKZP.js" as="script"><link rel="prefetch" href="/assets/index.html-CBW4olfB.js" as="script"><link rel="prefetch" href="/assets/index.html-CiBWk0Bg.js" as="script"><link rel="prefetch" href="/assets/index.html-AFWYFeTY.js" as="script"><link rel="prefetch" href="/assets/index.html-DlrkN0XZ.js" as="script"><link rel="prefetch" href="/assets/index.html-Cb-sPtFS.js" as="script"><link rel="prefetch" href="/assets/index.html-DPF-EyUV.js" as="script"><link rel="prefetch" href="/assets/index.html-AqhAiBBF.js" as="script"><link rel="prefetch" href="/assets/index.html-DLZdHb6J.js" as="script"><link rel="prefetch" href="/assets/index.html-Cpr5viHS.js" as="script"><link rel="prefetch" href="/assets/index.html-BXxGxqK4.js" as="script"><link rel="prefetch" href="/assets/index.html-4asd-b47.js" as="script"><link rel="prefetch" href="/assets/index.html-ZITi3OK2.js" as="script"><link rel="prefetch" href="/assets/index.html-DJMKg_M6.js" as="script"><link rel="prefetch" href="/assets/index.html-Y__KWg8u.js" as="script"><link rel="prefetch" href="/assets/index.html--BIzY7gk.js" as="script"><link rel="prefetch" href="/assets/index.html-C_2nkQ6B.js" as="script"><link rel="prefetch" href="/assets/index.html-R9oSKuoP.js" as="script"><link rel="prefetch" href="/assets/index.html-DY-KY6vi.js" as="script"><link rel="prefetch" href="/assets/index.html-BSndmKE7.js" as="script"><link rel="prefetch" href="/assets/index.html-BDmR_g70.js" as="script"><link rel="prefetch" href="/assets/index.html-CpeDyHcd.js" as="script"><link rel="prefetch" href="/assets/index.html-DV9WiiCS.js" as="script"><link rel="prefetch" href="/assets/index.html-DTceWJaH.js" as="script"><link rel="prefetch" href="/assets/index.html-2WOtvPq_.js" as="script"><link rel="prefetch" href="/assets/index.html-DCVozm3V.js" as="script"><link rel="prefetch" href="/assets/index.html-vKhQGG0S.js" as="script"><link rel="prefetch" href="/assets/index.html-BlvUTCvM.js" as="script"><link rel="prefetch" href="/assets/index.html-vIW8aJUJ.js" as="script"><link rel="prefetch" href="/assets/index.html-CTuZCChr.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-S0Hns9UN.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CSFeuThZ.js" as="script"><link rel="prefetch" href="/assets/artplayer-DnixxQIM.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-DaNo29Rn.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-nRkOMaNb.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-DQalTb-T.js" as="script"><link rel="prefetch" href="/assets/giscus-D-fkNSKD.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-GXRgw7eJ.js" as="script">
   </head>
   <body>
     <div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container no-sidebar"><!--[--><header id="navbar" class="vp-navbar"><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><!--[--><a class="route-link vp-brand" href="/"><img class="vp-nav-logo" src="/img/Headshot.jpg" alt><!----><span class="vp-site-name hide-in-pad">HalfSweet&#39;s Blog</span></a><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-center"><!--[--><!----><!--]--><!--[--><nav class="vp-nav-links"><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/posts/" aria-label="文章"><span class="font-icon icon app" style=""></span>文章<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/about/" aria-label="关于"><span class="font-icon icon user" style=""></span>关于<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/friends/" aria-label="友链"><span class="font-icon icon link" style=""></span>友链<!----></a></div></nav><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-end"><!--[--><!----><!--]--><!--[--><!----><div class="nav-item vp-repo"><a class="vp-repo-link" href="https://github.com/HalfSweet/Blog" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><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"></path></svg></a></div><div class="nav-item hide-in-mobile"><button type="button" id="appearance-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" style="display:block;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" style="display:none;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" style="display:none;"><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"></path></svg></button></div><!----><!--]--><!--[--><!----><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar"><!--[--><!----><!--]--><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></li><li><section class="vp-sidebar-group"><p class="vp-sidebar-header"><span class="font-icon icon book" style=""></span><span class="vp-sidebar-title">文章</span><!----></p><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-Clion/" aria-label="使用 Clion 来进行 Air32 的开发"><!---->使用 Clion 来进行 Air32 的开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-MCO/" aria-label="Air32 的 HAL 改造——适配 MCO"><!---->Air32 的 HAL 改造——适配 MCO<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/HelloWorld/" aria-label="HelloWorld"><!---->HelloWorld<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/STC_CoreMark/" aria-label="不服来跑个分?将 CoreMark 移植到 STC 上试试"><!---->不服来跑个分?将 CoreMark 移植到 STC 上试试<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="为什么我对第三代郊狼失望"><!---->为什么我对第三代郊狼失望<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-HighFreq/" aria-label="发挥全部实力!Air32 在 HAL 库环境下运行最高主频"><!---->发挥全部实力!Air32 在 HAL 库环境下运行最高主频<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/embedded_fmtlib/" aria-label="在嵌入式设备上使用fmtlib"><!---->在嵌入式设备上使用fmtlib<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/conda_novelai/" aria-label="基于conda进行手动配置novelAI"><!---->基于conda进行手动配置novelAI<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="对《为什么我对第三代郊狼失望》一文的澄清说明"><!---->对《为什么我对第三代郊狼失望》一文的澄清说明<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Empedded-CI-CD/" aria-label="嵌入式中的 CI/CD"><!---->嵌入式中的 CI/CD<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/MDK6-Dev/" aria-label="更现代的开发方式?使用 MDK6 进行开发"><!---->更现代的开发方式?使用 MDK6 进行开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/SEGGER-RTT/" aria-label="更高效的日志查看方式——使用SEGGER-RTT"><!---->更高效的日志查看方式——使用SEGGER-RTT<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/EpdTraps1/" aria-label="墨水屏的坑——7.5寸墨水屏刷新为何出现条纹"><!---->墨水屏的坑——7.5寸墨水屏刷新为何出现条纹<!----></a></li></ul></section></li></ul><!--[--><!----><!--]--></aside><!--[--><div class="vp-page vp-blog"><div class="blog-page-wrapper"><main id="main-content" class="vp-blog-main"><ul class="tag-list-wrapper"><li class="tag tag8"><a class="route-link" href="/tag/%E5%90%88%E5%AE%99/">合宙<span class="tag-num">6</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/air32/">Air32<span class="tag-num">4</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/air001/">Air001<span class="tag-num">3</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/%E5%B5%8C%E5%85%A5%E5%BC%8F/">嵌入式<span class="tag-num">2</span></a></li><li class="tag tag6"><a class="route-link" href="/tag/%E7%A2%8E%E7%A2%8E%E5%BF%B5/">碎碎念<span class="tag-num">2</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/%E9%83%8A%E7%8B%BC/">郊狼<span class="tag-num">2</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/mco/">MCO<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/helloworld/">HelloWorld<span class="tag-num">1</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/stc32/">STC32<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/stc8/">STC8<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/coremark/">CoreMark<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/clion/">Clion<span class="tag-num">1</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/%E8%B6%85%E9%A2%91/">超频<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/fmtlib/">fmtlib<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/esp8266/">ESP8266<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/esp32/">ESP32<span class="tag-num">1</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/arduino/">Arduino<span class="tag-num">1</span></a></li><li class="tag tag5 active"><a class="route-link" href="/tag/platformio/">PlatformIO<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/esp-idf/">ESP-IDF<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/">人工智能<span class="tag-num">1</span></a></li><li class="tag tag1"><a class="route-link" href="/tag/novelai/">novelAI<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/conda/">conda<span class="tag-num">1</span></a></li><li class="tag tag7"><a class="route-link" href="/tag/%E5%A2%A8%E6%B0%B4%E5%B1%8F/">墨水屏<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/uc8179/">UC8179<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/depg0750rwu790f30/">DEPG0750RWU790F30<span class="tag-num">1</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/%E9%81%87%E5%88%B0%E7%9A%84%E5%9D%91/">遇到的坑<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/cicd/">CI/CD<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/%E6%97%A5%E5%BF%97/">日志<span class="tag-num">1</span></a></li></ul><div id="article-list" class="vp-article-list" role="feed"><div class="vp-article-wrapper"><article class="vp-article-item" vocab="https://schema.org/" typeof="Article"><!--[--><!--]--><!----><a class="route-link" href="/posts/embedded_fmtlib/"><header class="vp-article-title"><!----><!----><span property="headline">在嵌入式设备上使用fmtlib</span></header></a><div class="vp-article-excerpt"><p>众所周知,在c++20以上的标准已经支持了<code>std::format</code>进行格式化输出,不过显而易见,嵌入式领域想要得到支持显然遥遥无期。但是我们已经厌倦了使用sprintf等方式来格式化字符串,c++的流特性又显得不够优雅,怎么才能用上类似于Python中format这样的方式来格式化并输出想要的字符串呢。</p>
 </div><hr class="vp-article-hr"><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2023-02-03T14:08:57.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>大约 5 分钟</span><meta property="timeRequired" content="PT5M"></span><span class="page-category-info" aria-label="分类🌈" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg><!--[--><span class="page-category-item category1 clickable" role="navigation">posts</span><!--]--><meta property="articleSection" content="posts"></span><span class="page-tag-info" aria-label="标签🏷" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg><!--[--><span class="page-tag-item tag8 clickable" role="navigation">fmtlib</span><span class="page-tag-item tag2 clickable" role="navigation">嵌入式</span><span class="page-tag-item tag8 clickable" role="navigation">ESP8266</span><span class="page-tag-item tag2 clickable" role="navigation">ESP32</span><span class="page-tag-item tag3 clickable" role="navigation">Arduino</span><span class="page-tag-item tag5 clickable" role="navigation">PlatformIO</span><span class="page-tag-item tag0 clickable" role="navigation">ESP-IDF</span><!--]--><meta property="keywords" content="fmtlib,嵌入式,ESP8266,ESP32,Arduino,PlatformIO,ESP-IDF"></span></div></article></div><div class="vp-pagination"></div></div></main><aside class="vp-blog-info-wrapper"><div class="vp-blogger-info" vocab="https://schema.org/" typeof="Person"><div class="vp-blogger" style="cursor:pointer;" aria-label="个人介绍" data-balloon-pos="down" role="link"><img class="vp-blogger-avatar" src="/img/Headshot.jpg" property="image" alt="Blogger Avatar" loading="lazy"><div class="vp-blogger-name" property="name">HalfSweet</div><div class="vp-blogger-description">Try to create some value</div><meta property="url" content="/Catalogue/02.about.html"></div><div class="vp-blog-counts"><a class="route-link vp-blog-count" href="/article/"><div class="count">13</div><div>文章</div></a><a class="route-link vp-blog-count" href="/category/"><div class="count">5</div><div>分类</div></a><a class="route-link vp-blog-count" href="/tag/"><div class="count">28</div><div>标签</div></a><a class="route-link vp-blog-count" href="/timeline/"><div class="count">13</div><div>时间轴</div></a></div><div class="vp-social-medias"><a class="vp-social-media" href="mailto:HalfSweet@HalfSweet.cn" rel="noopener noreferrer" target="_blank" aria-label="Email" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon email-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#1384FF"/><path fill="#fff" d="M270.077 286.233H751.99c32.933 0 59.86 24.855 60.274 55.51l-301.023 157L210.217 341.88c.207-30.723 26.927-55.717 59.86-55.717zm-59.929 115.714-.276 277.756c0 30.931 27.134 56.2 60.205 56.2H751.99c33.14 0 60.274-25.269 60.274-56.2V401.81L518.283 551.492a15.88 15.88 0 0 1-14.43 0L210.148 401.947z"/></svg></a><a class="vp-social-media" href="https://github.com/HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="GitHub" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#171515"/><path fill="#fff" d="M509.423 146.442c-200.317 0-362.756 162.42-362.756 362.8 0 160.266 103.936 296.24 248.109 344.217 18.139 3.327 24.76-7.872 24.76-17.486 0-8.613-.313-31.427-.49-61.702-100.912 21.923-122.205-48.63-122.205-48.63-16.495-41.91-40.28-53.067-40.28-53.067-32.937-22.51 2.492-22.053 2.492-22.053 36.407 2.566 55.568 37.386 55.568 37.386 32.362 55.438 84.907 39.43 105.58 30.143 3.296-23.444 12.667-39.43 23.032-48.498-80.557-9.156-165.246-40.28-165.246-179.297 0-39.604 14.135-71.988 37.342-97.348-3.731-9.178-16.18-46.063 3.556-96.009 0 0 30.46-9.754 99.76 37.19 28.937-8.048 59.97-12.071 90.823-12.211 30.807.14 61.843 4.165 90.822 12.21 69.26-46.944 99.663-37.189 99.663-37.189 19.792 49.946 7.34 86.831 3.61 96.01 23.25 25.359 37.29 57.742 37.29 97.347 0 139.366-84.82 170.033-165.637 179.013 13.026 11.2 24.628 33.342 24.628 67.182 0 48.498-.445 87.627-.445 99.521 0 9.702 6.535 20.988 24.945 17.444 144.03-48.067 247.881-183.95 247.881-344.175 0-200.378-162.442-362.798-362.802-362.798z"/></svg></a><a class="vp-social-media" href="https://twitter.com/_HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="Twitter" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon twitter-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512"/><path fill="#FFF" d="m560 473 186-216h-44L540 445 411 257H262l195 284-195 226h44l171-198 136 198h149zM322 290h68l312 445h-68z"/></svg></a></div></div><div class="vp-blog-infos"><div class="vp-blog-type-switcher"><button type="button" class="vp-blog-type-button"><div class="icon-wrapper active" aria-label="文章" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="分类" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="标签" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="时间轴" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timeline-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timeline icon"><path d="M511.997 70.568c-243.797 0-441.429 197.633-441.429 441.435 0 243.797 197.632 441.429 441.43 441.429S953.431 755.8 953.431 512.002c0-243.796-197.637-441.434-441.435-441.434zm150.158 609.093-15.605 15.61c-8.621 8.615-22.596 8.615-31.215 0L472.197 552.126c-4.95-4.944-4.34-14.888-4.34-24.677V247.14c0-12.19 9.882-22.07 22.07-22.07h22.07c12.19 0 22.07 9.882 22.07 22.07v273.218l128.088 128.088c8.62 8.62 8.62 22.595 0 31.215zm0 0"></path></svg></div></button></div><div class="vp-star-article-wrapper"><div class="title"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg><span class="num">13</span>文章</div><hr><div class="vp-star-article-empty">星标 为空</div></div></div></aside></div></div><!--]--><footer class="vp-footer-wrapper"><div class="vp-footer">今天咕咕被欺负了吗</div><div class="vp-copyright">Copyright © 2024 HalfSweet </div></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div>
-    <script type="module" src="/assets/app-ClwIkahu.js" defer></script>
+    <script type="module" src="/assets/app-Flo2gZk8.js" defer></script>
   </body>
 </html>
diff --git a/tag/stc32/index.html b/tag/stc32/index.html
index 5228822..560404d 100644
--- a/tag/stc32/index.html
+++ b/tag/stc32/index.html
@@ -29,14 +29,14 @@
       }
     </script>
     <meta property="og:url" content="https://halfsweet.cn/tag/stc32/"><meta property="og:site_name" content="HalfSweet's Blog"><meta property="og:title" content="标签: STC32"><meta property="og:type" content="website"><meta property="og:locale" content="zh-CN"><meta property="article:author" content="HalfSweet"><script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","name":"标签: STC32"}</script><title>标签: STC32 | HalfSweet's Blog</title><meta name="description" content="半糖的博客">
-    <link rel="preload" href="/assets/style-BDwnt-CL.css" as="style"><link rel="stylesheet" href="/assets/style-BDwnt-CL.css">
-    <link rel="modulepreload" href="/assets/app-ClwIkahu.js"><link rel="modulepreload" href="/assets/index.html-D0wSSTgQ.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
-    <link rel="prefetch" href="/assets/index.html-BjG6C5xb.js" as="script"><link rel="prefetch" href="/assets/index.html-6gNmrYKw.js" as="script"><link rel="prefetch" href="/assets/index.html-W8DPbcPd.js" as="script"><link rel="prefetch" href="/assets/index.html-75fD8c0W.js" as="script"><link rel="prefetch" href="/assets/index.html-CufQKtZU.js" as="script"><link rel="prefetch" href="/assets/index.html-Bqe7scks.js" as="script"><link rel="prefetch" href="/assets/index.html-B5-KeVPb.js" as="script"><link rel="prefetch" href="/assets/index.html-C7FigsQF.js" as="script"><link rel="prefetch" href="/assets/index.html-DtEE6E7f.js" as="script"><link rel="prefetch" href="/assets/index.html-0oPRY09N.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNCX4dz.js" as="script"><link rel="prefetch" href="/assets/index.html-XtQdJJI8.js" as="script"><link rel="prefetch" href="/assets/index.html-CnJ0E6b5.js" as="script"><link rel="prefetch" href="/assets/index.html-CFhDcrZp.js" as="script"><link rel="prefetch" href="/assets/index.html-Bd1PkxNi.js" as="script"><link rel="prefetch" href="/assets/index.html-DJ-_mZ9n.js" as="script"><link rel="prefetch" href="/assets/index.html-jFzM8lrm.js" as="script"><link rel="prefetch" href="/assets/404.html-VMfaDGRx.js" as="script"><link rel="prefetch" href="/assets/index.html-BaR2aqhq.js" as="script"><link rel="prefetch" href="/assets/index.html-DO2xY2T5.js" as="script"><link rel="prefetch" href="/assets/index.html-BEwHBlkc.js" as="script"><link rel="prefetch" href="/assets/index.html-DZIt3Q5g.js" as="script"><link rel="prefetch" href="/assets/index.html-Dd9JrssL.js" as="script"><link rel="prefetch" href="/assets/index.html-BjPOIJdK.js" as="script"><link rel="prefetch" href="/assets/index.html-CmtlWOBH.js" as="script"><link rel="prefetch" href="/assets/index.html-CR-9qG2Y.js" as="script"><link rel="prefetch" href="/assets/index.html-CwWDCYUS.js" as="script"><link rel="prefetch" href="/assets/index.html-CptFZpi0.js" as="script"><link rel="prefetch" href="/assets/index.html-p6Y7Jm3n.js" as="script"><link rel="prefetch" href="/assets/index.html-CIen8cvO.js" as="script"><link rel="prefetch" href="/assets/index.html-BKUs44hv.js" as="script"><link rel="prefetch" href="/assets/index.html-DqsCIdcm.js" as="script"><link rel="prefetch" href="/assets/index.html-kUwAIzkD.js" as="script"><link rel="prefetch" href="/assets/index.html-BqgjNdmg.js" as="script"><link rel="prefetch" href="/assets/index.html-DIaDLRqn.js" as="script"><link rel="prefetch" href="/assets/index.html-DhcL23aG.js" as="script"><link rel="prefetch" href="/assets/index.html-Bk9EBjUw.js" as="script"><link rel="prefetch" href="/assets/index.html-C0X-QC5U.js" as="script"><link rel="prefetch" href="/assets/index.html-ZwD6xCF4.js" as="script"><link rel="prefetch" href="/assets/index.html-BdqadbH8.js" as="script"><link rel="prefetch" href="/assets/index.html-D7Uf3Wbw.js" as="script"><link rel="prefetch" href="/assets/index.html-CsuDpoYK.js" as="script"><link rel="prefetch" href="/assets/index.html-Dc2bdBF2.js" as="script"><link rel="prefetch" href="/assets/index.html-BzgkemtD.js" as="script"><link rel="prefetch" href="/assets/index.html-7uHHiaZx.js" as="script"><link rel="prefetch" href="/assets/index.html-TGoZudvZ.js" as="script"><link rel="prefetch" href="/assets/index.html-DbCWijUV.js" as="script"><link rel="prefetch" href="/assets/index.html-DOCRL60a.js" as="script"><link rel="prefetch" href="/assets/index.html-B8qYb7wb.js" as="script"><link rel="prefetch" href="/assets/index.html-CpBdG6tv.js" as="script"><link rel="prefetch" href="/assets/index.html-DdE0h7xo.js" as="script"><link rel="prefetch" href="/assets/index.html-BlsdgZAc.js" as="script"><link rel="prefetch" href="/assets/index.html-Du74cC6X.js" as="script"><link rel="prefetch" href="/assets/index.html-CTp2Oa39.js" as="script"><link rel="prefetch" href="/assets/index.html-Bz73p56D.js" as="script"><link rel="prefetch" href="/assets/index.html-BktjQtFB.js" as="script"><link rel="prefetch" href="/assets/index.html-DPl--Ppt.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-BF52VcER.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CgYxLcm_.js" as="script"><link rel="prefetch" href="/assets/artplayer-CHAGXahu.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-BOVnG7as.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-CbA2In8H.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-Do1ld-lW.js" as="script"><link rel="prefetch" href="/assets/giscus-7BMGhbDA.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-SzV8tJDW.js" as="script">
+    <link rel="preload" href="/assets/style-7DTFFHvh.css" as="style"><link rel="stylesheet" href="/assets/style-7DTFFHvh.css">
+    <link rel="modulepreload" href="/assets/app-Flo2gZk8.js"><link rel="modulepreload" href="/assets/index.html-DlrkN0XZ.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
+    <link rel="prefetch" href="/assets/index.html-BhtLl4n3.js" as="script"><link rel="prefetch" href="/assets/index.html-C6yte3a0.js" as="script"><link rel="prefetch" href="/assets/index.html-R-cHHIas.js" as="script"><link rel="prefetch" href="/assets/index.html-CPUAg15t.js" as="script"><link rel="prefetch" href="/assets/index.html-BjdnOCC5.js" as="script"><link rel="prefetch" href="/assets/index.html-7Xyk7CrU.js" as="script"><link rel="prefetch" href="/assets/index.html-BNW3YRR3.js" as="script"><link rel="prefetch" href="/assets/index.html-jClrTNl3.js" as="script"><link rel="prefetch" href="/assets/index.html-tFfBEjXi.js" as="script"><link rel="prefetch" href="/assets/index.html-DgPmeCdQ.js" as="script"><link rel="prefetch" href="/assets/index.html-CxRigd-R.js" as="script"><link rel="prefetch" href="/assets/index.html-BWPjJqfa.js" as="script"><link rel="prefetch" href="/assets/index.html-DzG2EJXJ.js" as="script"><link rel="prefetch" href="/assets/index.html-B45efyIG.js" as="script"><link rel="prefetch" href="/assets/index.html-D_Px6PD2.js" as="script"><link rel="prefetch" href="/assets/index.html-U1Oe9QlK.js" as="script"><link rel="prefetch" href="/assets/index.html-fvB3i9PM.js" as="script"><link rel="prefetch" href="/assets/404.html-mkIobPP0.js" as="script"><link rel="prefetch" href="/assets/index.html-DGqb01LU.js" as="script"><link rel="prefetch" href="/assets/index.html-GZfFX8ok.js" as="script"><link rel="prefetch" href="/assets/index.html-vhaMR1PK.js" as="script"><link rel="prefetch" href="/assets/index.html-CvSEeOlH.js" as="script"><link rel="prefetch" href="/assets/index.html-BmplSMWS.js" as="script"><link rel="prefetch" href="/assets/index.html-C2sDDxGY.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNwolvq.js" as="script"><link rel="prefetch" href="/assets/index.html-DhSSZBRU.js" as="script"><link rel="prefetch" href="/assets/index.html-DPcGNBru.js" as="script"><link rel="prefetch" href="/assets/index.html-BFJ0kKZP.js" as="script"><link rel="prefetch" href="/assets/index.html-CBW4olfB.js" as="script"><link rel="prefetch" href="/assets/index.html-CiBWk0Bg.js" as="script"><link rel="prefetch" href="/assets/index.html-AFWYFeTY.js" as="script"><link rel="prefetch" href="/assets/index.html-Cb-sPtFS.js" as="script"><link rel="prefetch" href="/assets/index.html-DPF-EyUV.js" as="script"><link rel="prefetch" href="/assets/index.html-AqhAiBBF.js" as="script"><link rel="prefetch" href="/assets/index.html-DLZdHb6J.js" as="script"><link rel="prefetch" href="/assets/index.html-Cpr5viHS.js" as="script"><link rel="prefetch" href="/assets/index.html-BXxGxqK4.js" as="script"><link rel="prefetch" href="/assets/index.html-4asd-b47.js" as="script"><link rel="prefetch" href="/assets/index.html-ZITi3OK2.js" as="script"><link rel="prefetch" href="/assets/index.html-DJMKg_M6.js" as="script"><link rel="prefetch" href="/assets/index.html-Y__KWg8u.js" as="script"><link rel="prefetch" href="/assets/index.html--BIzY7gk.js" as="script"><link rel="prefetch" href="/assets/index.html-BRHXQqdq.js" as="script"><link rel="prefetch" href="/assets/index.html-C_2nkQ6B.js" as="script"><link rel="prefetch" href="/assets/index.html-R9oSKuoP.js" as="script"><link rel="prefetch" href="/assets/index.html-DY-KY6vi.js" as="script"><link rel="prefetch" href="/assets/index.html-BSndmKE7.js" as="script"><link rel="prefetch" href="/assets/index.html-BDmR_g70.js" as="script"><link rel="prefetch" href="/assets/index.html-CpeDyHcd.js" as="script"><link rel="prefetch" href="/assets/index.html-DV9WiiCS.js" as="script"><link rel="prefetch" href="/assets/index.html-DTceWJaH.js" as="script"><link rel="prefetch" href="/assets/index.html-2WOtvPq_.js" as="script"><link rel="prefetch" href="/assets/index.html-DCVozm3V.js" as="script"><link rel="prefetch" href="/assets/index.html-vKhQGG0S.js" as="script"><link rel="prefetch" href="/assets/index.html-BlvUTCvM.js" as="script"><link rel="prefetch" href="/assets/index.html-vIW8aJUJ.js" as="script"><link rel="prefetch" href="/assets/index.html-CTuZCChr.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-S0Hns9UN.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CSFeuThZ.js" as="script"><link rel="prefetch" href="/assets/artplayer-DnixxQIM.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-DaNo29Rn.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-nRkOMaNb.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-DQalTb-T.js" as="script"><link rel="prefetch" href="/assets/giscus-D-fkNSKD.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-GXRgw7eJ.js" as="script">
   </head>
   <body>
     <div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container no-sidebar"><!--[--><header id="navbar" class="vp-navbar"><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><!--[--><a class="route-link vp-brand" href="/"><img class="vp-nav-logo" src="/img/Headshot.jpg" alt><!----><span class="vp-site-name hide-in-pad">HalfSweet&#39;s Blog</span></a><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-center"><!--[--><!----><!--]--><!--[--><nav class="vp-nav-links"><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/posts/" aria-label="文章"><span class="font-icon icon app" style=""></span>文章<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/about/" aria-label="关于"><span class="font-icon icon user" style=""></span>关于<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/friends/" aria-label="友链"><span class="font-icon icon link" style=""></span>友链<!----></a></div></nav><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-end"><!--[--><!----><!--]--><!--[--><!----><div class="nav-item vp-repo"><a class="vp-repo-link" href="https://github.com/HalfSweet/Blog" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><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"></path></svg></a></div><div class="nav-item hide-in-mobile"><button type="button" id="appearance-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" style="display:block;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" style="display:none;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" style="display:none;"><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"></path></svg></button></div><!----><!--]--><!--[--><!----><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar"><!--[--><!----><!--]--><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></li><li><section class="vp-sidebar-group"><p class="vp-sidebar-header"><span class="font-icon icon book" style=""></span><span class="vp-sidebar-title">文章</span><!----></p><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-Clion/" aria-label="使用 Clion 来进行 Air32 的开发"><!---->使用 Clion 来进行 Air32 的开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-MCO/" aria-label="Air32 的 HAL 改造——适配 MCO"><!---->Air32 的 HAL 改造——适配 MCO<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/HelloWorld/" aria-label="HelloWorld"><!---->HelloWorld<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/STC_CoreMark/" aria-label="不服来跑个分?将 CoreMark 移植到 STC 上试试"><!---->不服来跑个分?将 CoreMark 移植到 STC 上试试<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="为什么我对第三代郊狼失望"><!---->为什么我对第三代郊狼失望<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-HighFreq/" aria-label="发挥全部实力!Air32 在 HAL 库环境下运行最高主频"><!---->发挥全部实力!Air32 在 HAL 库环境下运行最高主频<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/embedded_fmtlib/" aria-label="在嵌入式设备上使用fmtlib"><!---->在嵌入式设备上使用fmtlib<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/conda_novelai/" aria-label="基于conda进行手动配置novelAI"><!---->基于conda进行手动配置novelAI<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="对《为什么我对第三代郊狼失望》一文的澄清说明"><!---->对《为什么我对第三代郊狼失望》一文的澄清说明<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Empedded-CI-CD/" aria-label="嵌入式中的 CI/CD"><!---->嵌入式中的 CI/CD<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/MDK6-Dev/" aria-label="更现代的开发方式?使用 MDK6 进行开发"><!---->更现代的开发方式?使用 MDK6 进行开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/SEGGER-RTT/" aria-label="更高效的日志查看方式——使用SEGGER-RTT"><!---->更高效的日志查看方式——使用SEGGER-RTT<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/EpdTraps1/" aria-label="墨水屏的坑——7.5寸墨水屏刷新为何出现条纹"><!---->墨水屏的坑——7.5寸墨水屏刷新为何出现条纹<!----></a></li></ul></section></li></ul><!--[--><!----><!--]--></aside><!--[--><div class="vp-page vp-blog"><div class="blog-page-wrapper"><main id="main-content" class="vp-blog-main"><ul class="tag-list-wrapper"><li class="tag tag8"><a class="route-link" href="/tag/%E5%90%88%E5%AE%99/">合宙<span class="tag-num">6</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/air32/">Air32<span class="tag-num">4</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/air001/">Air001<span class="tag-num">3</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/%E5%B5%8C%E5%85%A5%E5%BC%8F/">嵌入式<span class="tag-num">2</span></a></li><li class="tag tag6"><a class="route-link" href="/tag/%E7%A2%8E%E7%A2%8E%E5%BF%B5/">碎碎念<span class="tag-num">2</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/%E9%83%8A%E7%8B%BC/">郊狼<span class="tag-num">2</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/mco/">MCO<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/helloworld/">HelloWorld<span class="tag-num">1</span></a></li><li class="tag tag3 active"><a class="route-link" href="/tag/stc32/">STC32<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/stc8/">STC8<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/coremark/">CoreMark<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/clion/">Clion<span class="tag-num">1</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/%E8%B6%85%E9%A2%91/">超频<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/fmtlib/">fmtlib<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/esp8266/">ESP8266<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/esp32/">ESP32<span class="tag-num">1</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/arduino/">Arduino<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/platformio/">PlatformIO<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/esp-idf/">ESP-IDF<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/">人工智能<span class="tag-num">1</span></a></li><li class="tag tag1"><a class="route-link" href="/tag/novelai/">novelAI<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/conda/">conda<span class="tag-num">1</span></a></li><li class="tag tag7"><a class="route-link" href="/tag/%E5%A2%A8%E6%B0%B4%E5%B1%8F/">墨水屏<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/uc8179/">UC8179<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/depg0750rwu790f30/">DEPG0750RWU790F30<span class="tag-num">1</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/%E9%81%87%E5%88%B0%E7%9A%84%E5%9D%91/">遇到的坑<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/cicd/">CI/CD<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/%E6%97%A5%E5%BF%97/">日志<span class="tag-num">1</span></a></li></ul><div id="article-list" class="vp-article-list" role="feed"><div class="vp-article-wrapper"><article class="vp-article-item" vocab="https://schema.org/" typeof="Article"><!--[--><!--]--><!----><a class="route-link" href="/posts/STC_CoreMark/"><header class="vp-article-title"><!----><!----><span property="headline">不服来跑个分?将 CoreMark 移植到 STC 上试试</span></header></a><div class="vp-article-excerpt"><p>最近维护的 Air001 准备上线了,为了衬托出其强大的性价比,因此我想来做点<s>缺德</s>的事,让我们来和同样以高打性价比的 STC 系列单片机来对比下 CoreMark 的跑分吧,本文将会详细介绍移植过程以及跑分结果。测试的 MCU 为<code>降龙棍 STC32G12K128</code>与<code>打狗棒 STC8H8K64U</code>。</p>
 <p>通用,本文同样适用于 Arm-Cortex M 架构的 MCU。</p>
 </div><hr class="vp-article-hr"><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2023-04-14T17:39:36.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>大约 5 分钟</span><meta property="timeRequired" content="PT5M"></span><span class="page-category-info" aria-label="分类🌈" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg><!--[--><span class="page-category-item category8 clickable" role="navigation">单片机</span><!--]--><meta property="articleSection" content="单片机"></span><span class="page-tag-info" aria-label="标签🏷" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg><!--[--><span class="page-tag-item tag3 clickable" role="navigation">STC32</span><span class="page-tag-item tag8 clickable" role="navigation">STC8</span><span class="page-tag-item tag2 clickable" role="navigation">嵌入式</span><span class="page-tag-item tag2 clickable" role="navigation">CoreMark</span><!--]--><meta property="keywords" content="STC32,STC8,嵌入式,CoreMark"></span></div></article></div><div class="vp-pagination"></div></div></main><aside class="vp-blog-info-wrapper"><div class="vp-blogger-info" vocab="https://schema.org/" typeof="Person"><div class="vp-blogger" style="cursor:pointer;" aria-label="个人介绍" data-balloon-pos="down" role="link"><img class="vp-blogger-avatar" src="/img/Headshot.jpg" property="image" alt="Blogger Avatar" loading="lazy"><div class="vp-blogger-name" property="name">HalfSweet</div><div class="vp-blogger-description">Try to create some value</div><meta property="url" content="/Catalogue/02.about.html"></div><div class="vp-blog-counts"><a class="route-link vp-blog-count" href="/article/"><div class="count">13</div><div>文章</div></a><a class="route-link vp-blog-count" href="/category/"><div class="count">5</div><div>分类</div></a><a class="route-link vp-blog-count" href="/tag/"><div class="count">28</div><div>标签</div></a><a class="route-link vp-blog-count" href="/timeline/"><div class="count">13</div><div>时间轴</div></a></div><div class="vp-social-medias"><a class="vp-social-media" href="mailto:HalfSweet@HalfSweet.cn" rel="noopener noreferrer" target="_blank" aria-label="Email" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon email-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#1384FF"/><path fill="#fff" d="M270.077 286.233H751.99c32.933 0 59.86 24.855 60.274 55.51l-301.023 157L210.217 341.88c.207-30.723 26.927-55.717 59.86-55.717zm-59.929 115.714-.276 277.756c0 30.931 27.134 56.2 60.205 56.2H751.99c33.14 0 60.274-25.269 60.274-56.2V401.81L518.283 551.492a15.88 15.88 0 0 1-14.43 0L210.148 401.947z"/></svg></a><a class="vp-social-media" href="https://github.com/HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="GitHub" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#171515"/><path fill="#fff" d="M509.423 146.442c-200.317 0-362.756 162.42-362.756 362.8 0 160.266 103.936 296.24 248.109 344.217 18.139 3.327 24.76-7.872 24.76-17.486 0-8.613-.313-31.427-.49-61.702-100.912 21.923-122.205-48.63-122.205-48.63-16.495-41.91-40.28-53.067-40.28-53.067-32.937-22.51 2.492-22.053 2.492-22.053 36.407 2.566 55.568 37.386 55.568 37.386 32.362 55.438 84.907 39.43 105.58 30.143 3.296-23.444 12.667-39.43 23.032-48.498-80.557-9.156-165.246-40.28-165.246-179.297 0-39.604 14.135-71.988 37.342-97.348-3.731-9.178-16.18-46.063 3.556-96.009 0 0 30.46-9.754 99.76 37.19 28.937-8.048 59.97-12.071 90.823-12.211 30.807.14 61.843 4.165 90.822 12.21 69.26-46.944 99.663-37.189 99.663-37.189 19.792 49.946 7.34 86.831 3.61 96.01 23.25 25.359 37.29 57.742 37.29 97.347 0 139.366-84.82 170.033-165.637 179.013 13.026 11.2 24.628 33.342 24.628 67.182 0 48.498-.445 87.627-.445 99.521 0 9.702 6.535 20.988 24.945 17.444 144.03-48.067 247.881-183.95 247.881-344.175 0-200.378-162.442-362.798-362.802-362.798z"/></svg></a><a class="vp-social-media" href="https://twitter.com/_HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="Twitter" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon twitter-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512"/><path fill="#FFF" d="m560 473 186-216h-44L540 445 411 257H262l195 284-195 226h44l171-198 136 198h149zM322 290h68l312 445h-68z"/></svg></a></div></div><div class="vp-blog-infos"><div class="vp-blog-type-switcher"><button type="button" class="vp-blog-type-button"><div class="icon-wrapper active" aria-label="文章" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="分类" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="标签" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="时间轴" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timeline-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timeline icon"><path d="M511.997 70.568c-243.797 0-441.429 197.633-441.429 441.435 0 243.797 197.632 441.429 441.43 441.429S953.431 755.8 953.431 512.002c0-243.796-197.637-441.434-441.435-441.434zm150.158 609.093-15.605 15.61c-8.621 8.615-22.596 8.615-31.215 0L472.197 552.126c-4.95-4.944-4.34-14.888-4.34-24.677V247.14c0-12.19 9.882-22.07 22.07-22.07h22.07c12.19 0 22.07 9.882 22.07 22.07v273.218l128.088 128.088c8.62 8.62 8.62 22.595 0 31.215zm0 0"></path></svg></div></button></div><div class="vp-star-article-wrapper"><div class="title"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg><span class="num">13</span>文章</div><hr><div class="vp-star-article-empty">星标 为空</div></div></div></aside></div></div><!--]--><footer class="vp-footer-wrapper"><div class="vp-footer">今天咕咕被欺负了吗</div><div class="vp-copyright">Copyright © 2024 HalfSweet </div></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div>
-    <script type="module" src="/assets/app-ClwIkahu.js" defer></script>
+    <script type="module" src="/assets/app-Flo2gZk8.js" defer></script>
   </body>
 </html>
diff --git a/tag/stc8/index.html b/tag/stc8/index.html
index 00feac3..939ac5b 100644
--- a/tag/stc8/index.html
+++ b/tag/stc8/index.html
@@ -29,14 +29,14 @@
       }
     </script>
     <meta property="og:url" content="https://halfsweet.cn/tag/stc8/"><meta property="og:site_name" content="HalfSweet's Blog"><meta property="og:title" content="标签: STC8"><meta property="og:type" content="website"><meta property="og:locale" content="zh-CN"><meta property="article:author" content="HalfSweet"><script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","name":"标签: STC8"}</script><title>标签: STC8 | HalfSweet's Blog</title><meta name="description" content="半糖的博客">
-    <link rel="preload" href="/assets/style-BDwnt-CL.css" as="style"><link rel="stylesheet" href="/assets/style-BDwnt-CL.css">
-    <link rel="modulepreload" href="/assets/app-ClwIkahu.js"><link rel="modulepreload" href="/assets/index.html-DqsCIdcm.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
-    <link rel="prefetch" href="/assets/index.html-BjG6C5xb.js" as="script"><link rel="prefetch" href="/assets/index.html-6gNmrYKw.js" as="script"><link rel="prefetch" href="/assets/index.html-W8DPbcPd.js" as="script"><link rel="prefetch" href="/assets/index.html-75fD8c0W.js" as="script"><link rel="prefetch" href="/assets/index.html-CufQKtZU.js" as="script"><link rel="prefetch" href="/assets/index.html-Bqe7scks.js" as="script"><link rel="prefetch" href="/assets/index.html-B5-KeVPb.js" as="script"><link rel="prefetch" href="/assets/index.html-C7FigsQF.js" as="script"><link rel="prefetch" href="/assets/index.html-DtEE6E7f.js" as="script"><link rel="prefetch" href="/assets/index.html-0oPRY09N.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNCX4dz.js" as="script"><link rel="prefetch" href="/assets/index.html-XtQdJJI8.js" as="script"><link rel="prefetch" href="/assets/index.html-CnJ0E6b5.js" as="script"><link rel="prefetch" href="/assets/index.html-CFhDcrZp.js" as="script"><link rel="prefetch" href="/assets/index.html-Bd1PkxNi.js" as="script"><link rel="prefetch" href="/assets/index.html-DJ-_mZ9n.js" as="script"><link rel="prefetch" href="/assets/index.html-jFzM8lrm.js" as="script"><link rel="prefetch" href="/assets/404.html-VMfaDGRx.js" as="script"><link rel="prefetch" href="/assets/index.html-BaR2aqhq.js" as="script"><link rel="prefetch" href="/assets/index.html-DO2xY2T5.js" as="script"><link rel="prefetch" href="/assets/index.html-BEwHBlkc.js" as="script"><link rel="prefetch" href="/assets/index.html-DZIt3Q5g.js" as="script"><link rel="prefetch" href="/assets/index.html-Dd9JrssL.js" as="script"><link rel="prefetch" href="/assets/index.html-BjPOIJdK.js" as="script"><link rel="prefetch" href="/assets/index.html-CmtlWOBH.js" as="script"><link rel="prefetch" href="/assets/index.html-CR-9qG2Y.js" as="script"><link rel="prefetch" href="/assets/index.html-CwWDCYUS.js" as="script"><link rel="prefetch" href="/assets/index.html-CptFZpi0.js" as="script"><link rel="prefetch" href="/assets/index.html-p6Y7Jm3n.js" as="script"><link rel="prefetch" href="/assets/index.html-CIen8cvO.js" as="script"><link rel="prefetch" href="/assets/index.html-BKUs44hv.js" as="script"><link rel="prefetch" href="/assets/index.html-D0wSSTgQ.js" as="script"><link rel="prefetch" href="/assets/index.html-kUwAIzkD.js" as="script"><link rel="prefetch" href="/assets/index.html-BqgjNdmg.js" as="script"><link rel="prefetch" href="/assets/index.html-DIaDLRqn.js" as="script"><link rel="prefetch" href="/assets/index.html-DhcL23aG.js" as="script"><link rel="prefetch" href="/assets/index.html-Bk9EBjUw.js" as="script"><link rel="prefetch" href="/assets/index.html-C0X-QC5U.js" as="script"><link rel="prefetch" href="/assets/index.html-ZwD6xCF4.js" as="script"><link rel="prefetch" href="/assets/index.html-BdqadbH8.js" as="script"><link rel="prefetch" href="/assets/index.html-D7Uf3Wbw.js" as="script"><link rel="prefetch" href="/assets/index.html-CsuDpoYK.js" as="script"><link rel="prefetch" href="/assets/index.html-Dc2bdBF2.js" as="script"><link rel="prefetch" href="/assets/index.html-BzgkemtD.js" as="script"><link rel="prefetch" href="/assets/index.html-7uHHiaZx.js" as="script"><link rel="prefetch" href="/assets/index.html-TGoZudvZ.js" as="script"><link rel="prefetch" href="/assets/index.html-DbCWijUV.js" as="script"><link rel="prefetch" href="/assets/index.html-DOCRL60a.js" as="script"><link rel="prefetch" href="/assets/index.html-B8qYb7wb.js" as="script"><link rel="prefetch" href="/assets/index.html-CpBdG6tv.js" as="script"><link rel="prefetch" href="/assets/index.html-DdE0h7xo.js" as="script"><link rel="prefetch" href="/assets/index.html-BlsdgZAc.js" as="script"><link rel="prefetch" href="/assets/index.html-Du74cC6X.js" as="script"><link rel="prefetch" href="/assets/index.html-CTp2Oa39.js" as="script"><link rel="prefetch" href="/assets/index.html-Bz73p56D.js" as="script"><link rel="prefetch" href="/assets/index.html-BktjQtFB.js" as="script"><link rel="prefetch" href="/assets/index.html-DPl--Ppt.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-BF52VcER.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CgYxLcm_.js" as="script"><link rel="prefetch" href="/assets/artplayer-CHAGXahu.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-BOVnG7as.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-CbA2In8H.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-Do1ld-lW.js" as="script"><link rel="prefetch" href="/assets/giscus-7BMGhbDA.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-SzV8tJDW.js" as="script">
+    <link rel="preload" href="/assets/style-7DTFFHvh.css" as="style"><link rel="stylesheet" href="/assets/style-7DTFFHvh.css">
+    <link rel="modulepreload" href="/assets/app-Flo2gZk8.js"><link rel="modulepreload" href="/assets/index.html-Cb-sPtFS.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
+    <link rel="prefetch" href="/assets/index.html-BhtLl4n3.js" as="script"><link rel="prefetch" href="/assets/index.html-C6yte3a0.js" as="script"><link rel="prefetch" href="/assets/index.html-R-cHHIas.js" as="script"><link rel="prefetch" href="/assets/index.html-CPUAg15t.js" as="script"><link rel="prefetch" href="/assets/index.html-BjdnOCC5.js" as="script"><link rel="prefetch" href="/assets/index.html-7Xyk7CrU.js" as="script"><link rel="prefetch" href="/assets/index.html-BNW3YRR3.js" as="script"><link rel="prefetch" href="/assets/index.html-jClrTNl3.js" as="script"><link rel="prefetch" href="/assets/index.html-tFfBEjXi.js" as="script"><link rel="prefetch" href="/assets/index.html-DgPmeCdQ.js" as="script"><link rel="prefetch" href="/assets/index.html-CxRigd-R.js" as="script"><link rel="prefetch" href="/assets/index.html-BWPjJqfa.js" as="script"><link rel="prefetch" href="/assets/index.html-DzG2EJXJ.js" as="script"><link rel="prefetch" href="/assets/index.html-B45efyIG.js" as="script"><link rel="prefetch" href="/assets/index.html-D_Px6PD2.js" as="script"><link rel="prefetch" href="/assets/index.html-U1Oe9QlK.js" as="script"><link rel="prefetch" href="/assets/index.html-fvB3i9PM.js" as="script"><link rel="prefetch" href="/assets/404.html-mkIobPP0.js" as="script"><link rel="prefetch" href="/assets/index.html-DGqb01LU.js" as="script"><link rel="prefetch" href="/assets/index.html-GZfFX8ok.js" as="script"><link rel="prefetch" href="/assets/index.html-vhaMR1PK.js" as="script"><link rel="prefetch" href="/assets/index.html-CvSEeOlH.js" as="script"><link rel="prefetch" href="/assets/index.html-BmplSMWS.js" as="script"><link rel="prefetch" href="/assets/index.html-C2sDDxGY.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNwolvq.js" as="script"><link rel="prefetch" href="/assets/index.html-DhSSZBRU.js" as="script"><link rel="prefetch" href="/assets/index.html-DPcGNBru.js" as="script"><link rel="prefetch" href="/assets/index.html-BFJ0kKZP.js" as="script"><link rel="prefetch" href="/assets/index.html-CBW4olfB.js" as="script"><link rel="prefetch" href="/assets/index.html-CiBWk0Bg.js" as="script"><link rel="prefetch" href="/assets/index.html-AFWYFeTY.js" as="script"><link rel="prefetch" href="/assets/index.html-DlrkN0XZ.js" as="script"><link rel="prefetch" href="/assets/index.html-DPF-EyUV.js" as="script"><link rel="prefetch" href="/assets/index.html-AqhAiBBF.js" as="script"><link rel="prefetch" href="/assets/index.html-DLZdHb6J.js" as="script"><link rel="prefetch" href="/assets/index.html-Cpr5viHS.js" as="script"><link rel="prefetch" href="/assets/index.html-BXxGxqK4.js" as="script"><link rel="prefetch" href="/assets/index.html-4asd-b47.js" as="script"><link rel="prefetch" href="/assets/index.html-ZITi3OK2.js" as="script"><link rel="prefetch" href="/assets/index.html-DJMKg_M6.js" as="script"><link rel="prefetch" href="/assets/index.html-Y__KWg8u.js" as="script"><link rel="prefetch" href="/assets/index.html--BIzY7gk.js" as="script"><link rel="prefetch" href="/assets/index.html-BRHXQqdq.js" as="script"><link rel="prefetch" href="/assets/index.html-C_2nkQ6B.js" as="script"><link rel="prefetch" href="/assets/index.html-R9oSKuoP.js" as="script"><link rel="prefetch" href="/assets/index.html-DY-KY6vi.js" as="script"><link rel="prefetch" href="/assets/index.html-BSndmKE7.js" as="script"><link rel="prefetch" href="/assets/index.html-BDmR_g70.js" as="script"><link rel="prefetch" href="/assets/index.html-CpeDyHcd.js" as="script"><link rel="prefetch" href="/assets/index.html-DV9WiiCS.js" as="script"><link rel="prefetch" href="/assets/index.html-DTceWJaH.js" as="script"><link rel="prefetch" href="/assets/index.html-2WOtvPq_.js" as="script"><link rel="prefetch" href="/assets/index.html-DCVozm3V.js" as="script"><link rel="prefetch" href="/assets/index.html-vKhQGG0S.js" as="script"><link rel="prefetch" href="/assets/index.html-BlvUTCvM.js" as="script"><link rel="prefetch" href="/assets/index.html-vIW8aJUJ.js" as="script"><link rel="prefetch" href="/assets/index.html-CTuZCChr.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-S0Hns9UN.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CSFeuThZ.js" as="script"><link rel="prefetch" href="/assets/artplayer-DnixxQIM.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-DaNo29Rn.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-nRkOMaNb.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-DQalTb-T.js" as="script"><link rel="prefetch" href="/assets/giscus-D-fkNSKD.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-GXRgw7eJ.js" as="script">
   </head>
   <body>
     <div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container no-sidebar"><!--[--><header id="navbar" class="vp-navbar"><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><!--[--><a class="route-link vp-brand" href="/"><img class="vp-nav-logo" src="/img/Headshot.jpg" alt><!----><span class="vp-site-name hide-in-pad">HalfSweet&#39;s Blog</span></a><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-center"><!--[--><!----><!--]--><!--[--><nav class="vp-nav-links"><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/posts/" aria-label="文章"><span class="font-icon icon app" style=""></span>文章<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/about/" aria-label="关于"><span class="font-icon icon user" style=""></span>关于<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/friends/" aria-label="友链"><span class="font-icon icon link" style=""></span>友链<!----></a></div></nav><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-end"><!--[--><!----><!--]--><!--[--><!----><div class="nav-item vp-repo"><a class="vp-repo-link" href="https://github.com/HalfSweet/Blog" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><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"></path></svg></a></div><div class="nav-item hide-in-mobile"><button type="button" id="appearance-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" style="display:block;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" style="display:none;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" style="display:none;"><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"></path></svg></button></div><!----><!--]--><!--[--><!----><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar"><!--[--><!----><!--]--><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></li><li><section class="vp-sidebar-group"><p class="vp-sidebar-header"><span class="font-icon icon book" style=""></span><span class="vp-sidebar-title">文章</span><!----></p><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-Clion/" aria-label="使用 Clion 来进行 Air32 的开发"><!---->使用 Clion 来进行 Air32 的开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-MCO/" aria-label="Air32 的 HAL 改造——适配 MCO"><!---->Air32 的 HAL 改造——适配 MCO<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/HelloWorld/" aria-label="HelloWorld"><!---->HelloWorld<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/STC_CoreMark/" aria-label="不服来跑个分?将 CoreMark 移植到 STC 上试试"><!---->不服来跑个分?将 CoreMark 移植到 STC 上试试<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="为什么我对第三代郊狼失望"><!---->为什么我对第三代郊狼失望<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-HighFreq/" aria-label="发挥全部实力!Air32 在 HAL 库环境下运行最高主频"><!---->发挥全部实力!Air32 在 HAL 库环境下运行最高主频<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/embedded_fmtlib/" aria-label="在嵌入式设备上使用fmtlib"><!---->在嵌入式设备上使用fmtlib<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/conda_novelai/" aria-label="基于conda进行手动配置novelAI"><!---->基于conda进行手动配置novelAI<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="对《为什么我对第三代郊狼失望》一文的澄清说明"><!---->对《为什么我对第三代郊狼失望》一文的澄清说明<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Empedded-CI-CD/" aria-label="嵌入式中的 CI/CD"><!---->嵌入式中的 CI/CD<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/MDK6-Dev/" aria-label="更现代的开发方式?使用 MDK6 进行开发"><!---->更现代的开发方式?使用 MDK6 进行开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/SEGGER-RTT/" aria-label="更高效的日志查看方式——使用SEGGER-RTT"><!---->更高效的日志查看方式——使用SEGGER-RTT<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/EpdTraps1/" aria-label="墨水屏的坑——7.5寸墨水屏刷新为何出现条纹"><!---->墨水屏的坑——7.5寸墨水屏刷新为何出现条纹<!----></a></li></ul></section></li></ul><!--[--><!----><!--]--></aside><!--[--><div class="vp-page vp-blog"><div class="blog-page-wrapper"><main id="main-content" class="vp-blog-main"><ul class="tag-list-wrapper"><li class="tag tag8"><a class="route-link" href="/tag/%E5%90%88%E5%AE%99/">合宙<span class="tag-num">6</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/air32/">Air32<span class="tag-num">4</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/air001/">Air001<span class="tag-num">3</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/%E5%B5%8C%E5%85%A5%E5%BC%8F/">嵌入式<span class="tag-num">2</span></a></li><li class="tag tag6"><a class="route-link" href="/tag/%E7%A2%8E%E7%A2%8E%E5%BF%B5/">碎碎念<span class="tag-num">2</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/%E9%83%8A%E7%8B%BC/">郊狼<span class="tag-num">2</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/mco/">MCO<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/helloworld/">HelloWorld<span class="tag-num">1</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/stc32/">STC32<span class="tag-num">1</span></a></li><li class="tag tag8 active"><a class="route-link" href="/tag/stc8/">STC8<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/coremark/">CoreMark<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/clion/">Clion<span class="tag-num">1</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/%E8%B6%85%E9%A2%91/">超频<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/fmtlib/">fmtlib<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/esp8266/">ESP8266<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/esp32/">ESP32<span class="tag-num">1</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/arduino/">Arduino<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/platformio/">PlatformIO<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/esp-idf/">ESP-IDF<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/">人工智能<span class="tag-num">1</span></a></li><li class="tag tag1"><a class="route-link" href="/tag/novelai/">novelAI<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/conda/">conda<span class="tag-num">1</span></a></li><li class="tag tag7"><a class="route-link" href="/tag/%E5%A2%A8%E6%B0%B4%E5%B1%8F/">墨水屏<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/uc8179/">UC8179<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/depg0750rwu790f30/">DEPG0750RWU790F30<span class="tag-num">1</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/%E9%81%87%E5%88%B0%E7%9A%84%E5%9D%91/">遇到的坑<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/cicd/">CI/CD<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/%E6%97%A5%E5%BF%97/">日志<span class="tag-num">1</span></a></li></ul><div id="article-list" class="vp-article-list" role="feed"><div class="vp-article-wrapper"><article class="vp-article-item" vocab="https://schema.org/" typeof="Article"><!--[--><!--]--><!----><a class="route-link" href="/posts/STC_CoreMark/"><header class="vp-article-title"><!----><!----><span property="headline">不服来跑个分?将 CoreMark 移植到 STC 上试试</span></header></a><div class="vp-article-excerpt"><p>最近维护的 Air001 准备上线了,为了衬托出其强大的性价比,因此我想来做点<s>缺德</s>的事,让我们来和同样以高打性价比的 STC 系列单片机来对比下 CoreMark 的跑分吧,本文将会详细介绍移植过程以及跑分结果。测试的 MCU 为<code>降龙棍 STC32G12K128</code>与<code>打狗棒 STC8H8K64U</code>。</p>
 <p>通用,本文同样适用于 Arm-Cortex M 架构的 MCU。</p>
 </div><hr class="vp-article-hr"><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2023-04-14T17:39:36.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>大约 5 分钟</span><meta property="timeRequired" content="PT5M"></span><span class="page-category-info" aria-label="分类🌈" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg><!--[--><span class="page-category-item category8 clickable" role="navigation">单片机</span><!--]--><meta property="articleSection" content="单片机"></span><span class="page-tag-info" aria-label="标签🏷" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg><!--[--><span class="page-tag-item tag3 clickable" role="navigation">STC32</span><span class="page-tag-item tag8 clickable" role="navigation">STC8</span><span class="page-tag-item tag2 clickable" role="navigation">嵌入式</span><span class="page-tag-item tag2 clickable" role="navigation">CoreMark</span><!--]--><meta property="keywords" content="STC32,STC8,嵌入式,CoreMark"></span></div></article></div><div class="vp-pagination"></div></div></main><aside class="vp-blog-info-wrapper"><div class="vp-blogger-info" vocab="https://schema.org/" typeof="Person"><div class="vp-blogger" style="cursor:pointer;" aria-label="个人介绍" data-balloon-pos="down" role="link"><img class="vp-blogger-avatar" src="/img/Headshot.jpg" property="image" alt="Blogger Avatar" loading="lazy"><div class="vp-blogger-name" property="name">HalfSweet</div><div class="vp-blogger-description">Try to create some value</div><meta property="url" content="/Catalogue/02.about.html"></div><div class="vp-blog-counts"><a class="route-link vp-blog-count" href="/article/"><div class="count">13</div><div>文章</div></a><a class="route-link vp-blog-count" href="/category/"><div class="count">5</div><div>分类</div></a><a class="route-link vp-blog-count" href="/tag/"><div class="count">28</div><div>标签</div></a><a class="route-link vp-blog-count" href="/timeline/"><div class="count">13</div><div>时间轴</div></a></div><div class="vp-social-medias"><a class="vp-social-media" href="mailto:HalfSweet@HalfSweet.cn" rel="noopener noreferrer" target="_blank" aria-label="Email" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon email-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#1384FF"/><path fill="#fff" d="M270.077 286.233H751.99c32.933 0 59.86 24.855 60.274 55.51l-301.023 157L210.217 341.88c.207-30.723 26.927-55.717 59.86-55.717zm-59.929 115.714-.276 277.756c0 30.931 27.134 56.2 60.205 56.2H751.99c33.14 0 60.274-25.269 60.274-56.2V401.81L518.283 551.492a15.88 15.88 0 0 1-14.43 0L210.148 401.947z"/></svg></a><a class="vp-social-media" href="https://github.com/HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="GitHub" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#171515"/><path fill="#fff" d="M509.423 146.442c-200.317 0-362.756 162.42-362.756 362.8 0 160.266 103.936 296.24 248.109 344.217 18.139 3.327 24.76-7.872 24.76-17.486 0-8.613-.313-31.427-.49-61.702-100.912 21.923-122.205-48.63-122.205-48.63-16.495-41.91-40.28-53.067-40.28-53.067-32.937-22.51 2.492-22.053 2.492-22.053 36.407 2.566 55.568 37.386 55.568 37.386 32.362 55.438 84.907 39.43 105.58 30.143 3.296-23.444 12.667-39.43 23.032-48.498-80.557-9.156-165.246-40.28-165.246-179.297 0-39.604 14.135-71.988 37.342-97.348-3.731-9.178-16.18-46.063 3.556-96.009 0 0 30.46-9.754 99.76 37.19 28.937-8.048 59.97-12.071 90.823-12.211 30.807.14 61.843 4.165 90.822 12.21 69.26-46.944 99.663-37.189 99.663-37.189 19.792 49.946 7.34 86.831 3.61 96.01 23.25 25.359 37.29 57.742 37.29 97.347 0 139.366-84.82 170.033-165.637 179.013 13.026 11.2 24.628 33.342 24.628 67.182 0 48.498-.445 87.627-.445 99.521 0 9.702 6.535 20.988 24.945 17.444 144.03-48.067 247.881-183.95 247.881-344.175 0-200.378-162.442-362.798-362.802-362.798z"/></svg></a><a class="vp-social-media" href="https://twitter.com/_HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="Twitter" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon twitter-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512"/><path fill="#FFF" d="m560 473 186-216h-44L540 445 411 257H262l195 284-195 226h44l171-198 136 198h149zM322 290h68l312 445h-68z"/></svg></a></div></div><div class="vp-blog-infos"><div class="vp-blog-type-switcher"><button type="button" class="vp-blog-type-button"><div class="icon-wrapper active" aria-label="文章" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="分类" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="标签" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="时间轴" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timeline-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timeline icon"><path d="M511.997 70.568c-243.797 0-441.429 197.633-441.429 441.435 0 243.797 197.632 441.429 441.43 441.429S953.431 755.8 953.431 512.002c0-243.796-197.637-441.434-441.435-441.434zm150.158 609.093-15.605 15.61c-8.621 8.615-22.596 8.615-31.215 0L472.197 552.126c-4.95-4.944-4.34-14.888-4.34-24.677V247.14c0-12.19 9.882-22.07 22.07-22.07h22.07c12.19 0 22.07 9.882 22.07 22.07v273.218l128.088 128.088c8.62 8.62 8.62 22.595 0 31.215zm0 0"></path></svg></div></button></div><div class="vp-star-article-wrapper"><div class="title"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg><span class="num">13</span>文章</div><hr><div class="vp-star-article-empty">星标 为空</div></div></div></aside></div></div><!--]--><footer class="vp-footer-wrapper"><div class="vp-footer">今天咕咕被欺负了吗</div><div class="vp-copyright">Copyright © 2024 HalfSweet </div></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div>
-    <script type="module" src="/assets/app-ClwIkahu.js" defer></script>
+    <script type="module" src="/assets/app-Flo2gZk8.js" defer></script>
   </body>
 </html>
diff --git a/tag/uc8179/index.html b/tag/uc8179/index.html
index 7864175..9eb3293 100644
--- a/tag/uc8179/index.html
+++ b/tag/uc8179/index.html
@@ -29,9 +29,9 @@
       }
     </script>
     <meta property="og:url" content="https://halfsweet.cn/tag/uc8179/"><meta property="og:site_name" content="HalfSweet's Blog"><meta property="og:title" content="标签: UC8179"><meta property="og:type" content="website"><meta property="og:locale" content="zh-CN"><meta property="article:author" content="HalfSweet"><script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","name":"标签: UC8179"}</script><title>标签: UC8179 | HalfSweet's Blog</title><meta name="description" content="半糖的博客">
-    <link rel="preload" href="/assets/style-BDwnt-CL.css" as="style"><link rel="stylesheet" href="/assets/style-BDwnt-CL.css">
-    <link rel="modulepreload" href="/assets/app-ClwIkahu.js"><link rel="modulepreload" href="/assets/index.html-B8qYb7wb.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
-    <link rel="prefetch" href="/assets/index.html-BjG6C5xb.js" as="script"><link rel="prefetch" href="/assets/index.html-6gNmrYKw.js" as="script"><link rel="prefetch" href="/assets/index.html-W8DPbcPd.js" as="script"><link rel="prefetch" href="/assets/index.html-75fD8c0W.js" as="script"><link rel="prefetch" href="/assets/index.html-CufQKtZU.js" as="script"><link rel="prefetch" href="/assets/index.html-Bqe7scks.js" as="script"><link rel="prefetch" href="/assets/index.html-B5-KeVPb.js" as="script"><link rel="prefetch" href="/assets/index.html-C7FigsQF.js" as="script"><link rel="prefetch" href="/assets/index.html-DtEE6E7f.js" as="script"><link rel="prefetch" href="/assets/index.html-0oPRY09N.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNCX4dz.js" as="script"><link rel="prefetch" href="/assets/index.html-XtQdJJI8.js" as="script"><link rel="prefetch" href="/assets/index.html-CnJ0E6b5.js" as="script"><link rel="prefetch" href="/assets/index.html-CFhDcrZp.js" as="script"><link rel="prefetch" href="/assets/index.html-Bd1PkxNi.js" as="script"><link rel="prefetch" href="/assets/index.html-DJ-_mZ9n.js" as="script"><link rel="prefetch" href="/assets/index.html-jFzM8lrm.js" as="script"><link rel="prefetch" href="/assets/404.html-VMfaDGRx.js" as="script"><link rel="prefetch" href="/assets/index.html-BaR2aqhq.js" as="script"><link rel="prefetch" href="/assets/index.html-DO2xY2T5.js" as="script"><link rel="prefetch" href="/assets/index.html-BEwHBlkc.js" as="script"><link rel="prefetch" href="/assets/index.html-DZIt3Q5g.js" as="script"><link rel="prefetch" href="/assets/index.html-Dd9JrssL.js" as="script"><link rel="prefetch" href="/assets/index.html-BjPOIJdK.js" as="script"><link rel="prefetch" href="/assets/index.html-CmtlWOBH.js" as="script"><link rel="prefetch" href="/assets/index.html-CR-9qG2Y.js" as="script"><link rel="prefetch" href="/assets/index.html-CwWDCYUS.js" as="script"><link rel="prefetch" href="/assets/index.html-CptFZpi0.js" as="script"><link rel="prefetch" href="/assets/index.html-p6Y7Jm3n.js" as="script"><link rel="prefetch" href="/assets/index.html-CIen8cvO.js" as="script"><link rel="prefetch" href="/assets/index.html-BKUs44hv.js" as="script"><link rel="prefetch" href="/assets/index.html-D0wSSTgQ.js" as="script"><link rel="prefetch" href="/assets/index.html-DqsCIdcm.js" as="script"><link rel="prefetch" href="/assets/index.html-kUwAIzkD.js" as="script"><link rel="prefetch" href="/assets/index.html-BqgjNdmg.js" as="script"><link rel="prefetch" href="/assets/index.html-DIaDLRqn.js" as="script"><link rel="prefetch" href="/assets/index.html-DhcL23aG.js" as="script"><link rel="prefetch" href="/assets/index.html-Bk9EBjUw.js" as="script"><link rel="prefetch" href="/assets/index.html-C0X-QC5U.js" as="script"><link rel="prefetch" href="/assets/index.html-ZwD6xCF4.js" as="script"><link rel="prefetch" href="/assets/index.html-BdqadbH8.js" as="script"><link rel="prefetch" href="/assets/index.html-D7Uf3Wbw.js" as="script"><link rel="prefetch" href="/assets/index.html-CsuDpoYK.js" as="script"><link rel="prefetch" href="/assets/index.html-Dc2bdBF2.js" as="script"><link rel="prefetch" href="/assets/index.html-BzgkemtD.js" as="script"><link rel="prefetch" href="/assets/index.html-7uHHiaZx.js" as="script"><link rel="prefetch" href="/assets/index.html-TGoZudvZ.js" as="script"><link rel="prefetch" href="/assets/index.html-DbCWijUV.js" as="script"><link rel="prefetch" href="/assets/index.html-DOCRL60a.js" as="script"><link rel="prefetch" href="/assets/index.html-CpBdG6tv.js" as="script"><link rel="prefetch" href="/assets/index.html-DdE0h7xo.js" as="script"><link rel="prefetch" href="/assets/index.html-BlsdgZAc.js" as="script"><link rel="prefetch" href="/assets/index.html-Du74cC6X.js" as="script"><link rel="prefetch" href="/assets/index.html-CTp2Oa39.js" as="script"><link rel="prefetch" href="/assets/index.html-Bz73p56D.js" as="script"><link rel="prefetch" href="/assets/index.html-BktjQtFB.js" as="script"><link rel="prefetch" href="/assets/index.html-DPl--Ppt.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-BF52VcER.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CgYxLcm_.js" as="script"><link rel="prefetch" href="/assets/artplayer-CHAGXahu.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-BOVnG7as.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-CbA2In8H.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-Do1ld-lW.js" as="script"><link rel="prefetch" href="/assets/giscus-7BMGhbDA.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-SzV8tJDW.js" as="script">
+    <link rel="preload" href="/assets/style-7DTFFHvh.css" as="style"><link rel="stylesheet" href="/assets/style-7DTFFHvh.css">
+    <link rel="modulepreload" href="/assets/app-Flo2gZk8.js"><link rel="modulepreload" href="/assets/index.html-CpeDyHcd.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
+    <link rel="prefetch" href="/assets/index.html-BhtLl4n3.js" as="script"><link rel="prefetch" href="/assets/index.html-C6yte3a0.js" as="script"><link rel="prefetch" href="/assets/index.html-R-cHHIas.js" as="script"><link rel="prefetch" href="/assets/index.html-CPUAg15t.js" as="script"><link rel="prefetch" href="/assets/index.html-BjdnOCC5.js" as="script"><link rel="prefetch" href="/assets/index.html-7Xyk7CrU.js" as="script"><link rel="prefetch" href="/assets/index.html-BNW3YRR3.js" as="script"><link rel="prefetch" href="/assets/index.html-jClrTNl3.js" as="script"><link rel="prefetch" href="/assets/index.html-tFfBEjXi.js" as="script"><link rel="prefetch" href="/assets/index.html-DgPmeCdQ.js" as="script"><link rel="prefetch" href="/assets/index.html-CxRigd-R.js" as="script"><link rel="prefetch" href="/assets/index.html-BWPjJqfa.js" as="script"><link rel="prefetch" href="/assets/index.html-DzG2EJXJ.js" as="script"><link rel="prefetch" href="/assets/index.html-B45efyIG.js" as="script"><link rel="prefetch" href="/assets/index.html-D_Px6PD2.js" as="script"><link rel="prefetch" href="/assets/index.html-U1Oe9QlK.js" as="script"><link rel="prefetch" href="/assets/index.html-fvB3i9PM.js" as="script"><link rel="prefetch" href="/assets/404.html-mkIobPP0.js" as="script"><link rel="prefetch" href="/assets/index.html-DGqb01LU.js" as="script"><link rel="prefetch" href="/assets/index.html-GZfFX8ok.js" as="script"><link rel="prefetch" href="/assets/index.html-vhaMR1PK.js" as="script"><link rel="prefetch" href="/assets/index.html-CvSEeOlH.js" as="script"><link rel="prefetch" href="/assets/index.html-BmplSMWS.js" as="script"><link rel="prefetch" href="/assets/index.html-C2sDDxGY.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNwolvq.js" as="script"><link rel="prefetch" href="/assets/index.html-DhSSZBRU.js" as="script"><link rel="prefetch" href="/assets/index.html-DPcGNBru.js" as="script"><link rel="prefetch" href="/assets/index.html-BFJ0kKZP.js" as="script"><link rel="prefetch" href="/assets/index.html-CBW4olfB.js" as="script"><link rel="prefetch" href="/assets/index.html-CiBWk0Bg.js" as="script"><link rel="prefetch" href="/assets/index.html-AFWYFeTY.js" as="script"><link rel="prefetch" href="/assets/index.html-DlrkN0XZ.js" as="script"><link rel="prefetch" href="/assets/index.html-Cb-sPtFS.js" as="script"><link rel="prefetch" href="/assets/index.html-DPF-EyUV.js" as="script"><link rel="prefetch" href="/assets/index.html-AqhAiBBF.js" as="script"><link rel="prefetch" href="/assets/index.html-DLZdHb6J.js" as="script"><link rel="prefetch" href="/assets/index.html-Cpr5viHS.js" as="script"><link rel="prefetch" href="/assets/index.html-BXxGxqK4.js" as="script"><link rel="prefetch" href="/assets/index.html-4asd-b47.js" as="script"><link rel="prefetch" href="/assets/index.html-ZITi3OK2.js" as="script"><link rel="prefetch" href="/assets/index.html-DJMKg_M6.js" as="script"><link rel="prefetch" href="/assets/index.html-Y__KWg8u.js" as="script"><link rel="prefetch" href="/assets/index.html--BIzY7gk.js" as="script"><link rel="prefetch" href="/assets/index.html-BRHXQqdq.js" as="script"><link rel="prefetch" href="/assets/index.html-C_2nkQ6B.js" as="script"><link rel="prefetch" href="/assets/index.html-R9oSKuoP.js" as="script"><link rel="prefetch" href="/assets/index.html-DY-KY6vi.js" as="script"><link rel="prefetch" href="/assets/index.html-BSndmKE7.js" as="script"><link rel="prefetch" href="/assets/index.html-BDmR_g70.js" as="script"><link rel="prefetch" href="/assets/index.html-DV9WiiCS.js" as="script"><link rel="prefetch" href="/assets/index.html-DTceWJaH.js" as="script"><link rel="prefetch" href="/assets/index.html-2WOtvPq_.js" as="script"><link rel="prefetch" href="/assets/index.html-DCVozm3V.js" as="script"><link rel="prefetch" href="/assets/index.html-vKhQGG0S.js" as="script"><link rel="prefetch" href="/assets/index.html-BlvUTCvM.js" as="script"><link rel="prefetch" href="/assets/index.html-vIW8aJUJ.js" as="script"><link rel="prefetch" href="/assets/index.html-CTuZCChr.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-S0Hns9UN.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CSFeuThZ.js" as="script"><link rel="prefetch" href="/assets/artplayer-DnixxQIM.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-DaNo29Rn.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-nRkOMaNb.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-DQalTb-T.js" as="script"><link rel="prefetch" href="/assets/giscus-D-fkNSKD.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-GXRgw7eJ.js" as="script">
   </head>
   <body>
     <div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container no-sidebar"><!--[--><header id="navbar" class="vp-navbar"><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><!--[--><a class="route-link vp-brand" href="/"><img class="vp-nav-logo" src="/img/Headshot.jpg" alt><!----><span class="vp-site-name hide-in-pad">HalfSweet&#39;s Blog</span></a><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-center"><!--[--><!----><!--]--><!--[--><nav class="vp-nav-links"><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/posts/" aria-label="文章"><span class="font-icon icon app" style=""></span>文章<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/about/" aria-label="关于"><span class="font-icon icon user" style=""></span>关于<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/friends/" aria-label="友链"><span class="font-icon icon link" style=""></span>友链<!----></a></div></nav><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-end"><!--[--><!----><!--]--><!--[--><!----><div class="nav-item vp-repo"><a class="vp-repo-link" href="https://github.com/HalfSweet/Blog" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><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"></path></svg></a></div><div class="nav-item hide-in-mobile"><button type="button" id="appearance-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" style="display:block;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" style="display:none;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" style="display:none;"><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"></path></svg></button></div><!----><!--]--><!--[--><!----><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar"><!--[--><!----><!--]--><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></li><li><section class="vp-sidebar-group"><p class="vp-sidebar-header"><span class="font-icon icon book" style=""></span><span class="vp-sidebar-title">文章</span><!----></p><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-Clion/" aria-label="使用 Clion 来进行 Air32 的开发"><!---->使用 Clion 来进行 Air32 的开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-MCO/" aria-label="Air32 的 HAL 改造——适配 MCO"><!---->Air32 的 HAL 改造——适配 MCO<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/HelloWorld/" aria-label="HelloWorld"><!---->HelloWorld<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/STC_CoreMark/" aria-label="不服来跑个分?将 CoreMark 移植到 STC 上试试"><!---->不服来跑个分?将 CoreMark 移植到 STC 上试试<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="为什么我对第三代郊狼失望"><!---->为什么我对第三代郊狼失望<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-HighFreq/" aria-label="发挥全部实力!Air32 在 HAL 库环境下运行最高主频"><!---->发挥全部实力!Air32 在 HAL 库环境下运行最高主频<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/embedded_fmtlib/" aria-label="在嵌入式设备上使用fmtlib"><!---->在嵌入式设备上使用fmtlib<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/conda_novelai/" aria-label="基于conda进行手动配置novelAI"><!---->基于conda进行手动配置novelAI<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="对《为什么我对第三代郊狼失望》一文的澄清说明"><!---->对《为什么我对第三代郊狼失望》一文的澄清说明<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Empedded-CI-CD/" aria-label="嵌入式中的 CI/CD"><!---->嵌入式中的 CI/CD<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/MDK6-Dev/" aria-label="更现代的开发方式?使用 MDK6 进行开发"><!---->更现代的开发方式?使用 MDK6 进行开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/SEGGER-RTT/" aria-label="更高效的日志查看方式——使用SEGGER-RTT"><!---->更高效的日志查看方式——使用SEGGER-RTT<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/EpdTraps1/" aria-label="墨水屏的坑——7.5寸墨水屏刷新为何出现条纹"><!---->墨水屏的坑——7.5寸墨水屏刷新为何出现条纹<!----></a></li></ul></section></li></ul><!--[--><!----><!--]--></aside><!--[--><div class="vp-page vp-blog"><div class="blog-page-wrapper"><main id="main-content" class="vp-blog-main"><ul class="tag-list-wrapper"><li class="tag tag8"><a class="route-link" href="/tag/%E5%90%88%E5%AE%99/">合宙<span class="tag-num">6</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/air32/">Air32<span class="tag-num">4</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/air001/">Air001<span class="tag-num">3</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/%E5%B5%8C%E5%85%A5%E5%BC%8F/">嵌入式<span class="tag-num">2</span></a></li><li class="tag tag6"><a class="route-link" href="/tag/%E7%A2%8E%E7%A2%8E%E5%BF%B5/">碎碎念<span class="tag-num">2</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/%E9%83%8A%E7%8B%BC/">郊狼<span class="tag-num">2</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/mco/">MCO<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/helloworld/">HelloWorld<span class="tag-num">1</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/stc32/">STC32<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/stc8/">STC8<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/coremark/">CoreMark<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/clion/">Clion<span class="tag-num">1</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/%E8%B6%85%E9%A2%91/">超频<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/fmtlib/">fmtlib<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/esp8266/">ESP8266<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/esp32/">ESP32<span class="tag-num">1</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/arduino/">Arduino<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/platformio/">PlatformIO<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/esp-idf/">ESP-IDF<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/">人工智能<span class="tag-num">1</span></a></li><li class="tag tag1"><a class="route-link" href="/tag/novelai/">novelAI<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/conda/">conda<span class="tag-num">1</span></a></li><li class="tag tag7"><a class="route-link" href="/tag/%E5%A2%A8%E6%B0%B4%E5%B1%8F/">墨水屏<span class="tag-num">1</span></a></li><li class="tag tag0 active"><a class="route-link" href="/tag/uc8179/">UC8179<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/depg0750rwu790f30/">DEPG0750RWU790F30<span class="tag-num">1</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/%E9%81%87%E5%88%B0%E7%9A%84%E5%9D%91/">遇到的坑<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/cicd/">CI/CD<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/%E6%97%A5%E5%BF%97/">日志<span class="tag-num">1</span></a></li></ul><div id="article-list" class="vp-article-list" role="feed"><div class="vp-article-wrapper"><article class="vp-article-item" vocab="https://schema.org/" typeof="Article"><!--[--><!--]--><!----><a class="route-link" href="/posts/EpdTraps1/"><header class="vp-article-title"><!----><!----><span property="headline">墨水屏的坑——7.5寸墨水屏刷新为何出现条纹</span></header></a><div class="vp-article-excerpt"><h2>前言</h2>
@@ -39,6 +39,6 @@
 <p></p>
 <p></p>
 <p>其中上面一张图为我自己做的波形,第二张为使用的OTP波形,但是无一例外,都出现了刷新的问题。抱着也许是驱动板出问题了的想法,我重新lay了一次板子,焊接好之后发现问题确实有所改善,但是并不佳。后续在更换过程中发现采用cd32封装的68uH的电感刷新效果会更好一些,但是依旧存在刷新问题,特别是在UI中有竖着的线条的时候,特别影响观感。</p></div><hr class="vp-article-hr"><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2022-11-06T05:30:37.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>大约 7 分钟</span><meta property="timeRequired" content="PT7M"></span><span class="page-category-info" aria-label="分类🌈" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg><!--[--><span class="page-category-item category7 clickable" role="navigation">墨水屏</span><!--]--><meta property="articleSection" content="墨水屏"></span><span class="page-tag-info" aria-label="标签🏷" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg><!--[--><span class="page-tag-item tag7 clickable" role="navigation">墨水屏</span><span class="page-tag-item tag0 clickable" role="navigation">UC8179</span><span class="page-tag-item tag2 clickable" role="navigation">DEPG0750RWU790F30</span><span class="page-tag-item tag4 clickable" role="navigation">遇到的坑</span><!--]--><meta property="keywords" content="墨水屏,UC8179,DEPG0750RWU790F30,遇到的坑"></span></div></article></div><div class="vp-pagination"></div></div></main><aside class="vp-blog-info-wrapper"><div class="vp-blogger-info" vocab="https://schema.org/" typeof="Person"><div class="vp-blogger" style="cursor:pointer;" aria-label="个人介绍" data-balloon-pos="down" role="link"><img class="vp-blogger-avatar" src="/img/Headshot.jpg" property="image" alt="Blogger Avatar" loading="lazy"><div class="vp-blogger-name" property="name">HalfSweet</div><div class="vp-blogger-description">Try to create some value</div><meta property="url" content="/Catalogue/02.about.html"></div><div class="vp-blog-counts"><a class="route-link vp-blog-count" href="/article/"><div class="count">13</div><div>文章</div></a><a class="route-link vp-blog-count" href="/category/"><div class="count">5</div><div>分类</div></a><a class="route-link vp-blog-count" href="/tag/"><div class="count">28</div><div>标签</div></a><a class="route-link vp-blog-count" href="/timeline/"><div class="count">13</div><div>时间轴</div></a></div><div class="vp-social-medias"><a class="vp-social-media" href="mailto:HalfSweet@HalfSweet.cn" rel="noopener noreferrer" target="_blank" aria-label="Email" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon email-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#1384FF"/><path fill="#fff" d="M270.077 286.233H751.99c32.933 0 59.86 24.855 60.274 55.51l-301.023 157L210.217 341.88c.207-30.723 26.927-55.717 59.86-55.717zm-59.929 115.714-.276 277.756c0 30.931 27.134 56.2 60.205 56.2H751.99c33.14 0 60.274-25.269 60.274-56.2V401.81L518.283 551.492a15.88 15.88 0 0 1-14.43 0L210.148 401.947z"/></svg></a><a class="vp-social-media" href="https://github.com/HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="GitHub" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#171515"/><path fill="#fff" d="M509.423 146.442c-200.317 0-362.756 162.42-362.756 362.8 0 160.266 103.936 296.24 248.109 344.217 18.139 3.327 24.76-7.872 24.76-17.486 0-8.613-.313-31.427-.49-61.702-100.912 21.923-122.205-48.63-122.205-48.63-16.495-41.91-40.28-53.067-40.28-53.067-32.937-22.51 2.492-22.053 2.492-22.053 36.407 2.566 55.568 37.386 55.568 37.386 32.362 55.438 84.907 39.43 105.58 30.143 3.296-23.444 12.667-39.43 23.032-48.498-80.557-9.156-165.246-40.28-165.246-179.297 0-39.604 14.135-71.988 37.342-97.348-3.731-9.178-16.18-46.063 3.556-96.009 0 0 30.46-9.754 99.76 37.19 28.937-8.048 59.97-12.071 90.823-12.211 30.807.14 61.843 4.165 90.822 12.21 69.26-46.944 99.663-37.189 99.663-37.189 19.792 49.946 7.34 86.831 3.61 96.01 23.25 25.359 37.29 57.742 37.29 97.347 0 139.366-84.82 170.033-165.637 179.013 13.026 11.2 24.628 33.342 24.628 67.182 0 48.498-.445 87.627-.445 99.521 0 9.702 6.535 20.988 24.945 17.444 144.03-48.067 247.881-183.95 247.881-344.175 0-200.378-162.442-362.798-362.802-362.798z"/></svg></a><a class="vp-social-media" href="https://twitter.com/_HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="Twitter" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon twitter-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512"/><path fill="#FFF" d="m560 473 186-216h-44L540 445 411 257H262l195 284-195 226h44l171-198 136 198h149zM322 290h68l312 445h-68z"/></svg></a></div></div><div class="vp-blog-infos"><div class="vp-blog-type-switcher"><button type="button" class="vp-blog-type-button"><div class="icon-wrapper active" aria-label="文章" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="分类" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="标签" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="时间轴" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timeline-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timeline icon"><path d="M511.997 70.568c-243.797 0-441.429 197.633-441.429 441.435 0 243.797 197.632 441.429 441.43 441.429S953.431 755.8 953.431 512.002c0-243.796-197.637-441.434-441.435-441.434zm150.158 609.093-15.605 15.61c-8.621 8.615-22.596 8.615-31.215 0L472.197 552.126c-4.95-4.944-4.34-14.888-4.34-24.677V247.14c0-12.19 9.882-22.07 22.07-22.07h22.07c12.19 0 22.07 9.882 22.07 22.07v273.218l128.088 128.088c8.62 8.62 8.62 22.595 0 31.215zm0 0"></path></svg></div></button></div><div class="vp-star-article-wrapper"><div class="title"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg><span class="num">13</span>文章</div><hr><div class="vp-star-article-empty">星标 为空</div></div></div></aside></div></div><!--]--><footer class="vp-footer-wrapper"><div class="vp-footer">今天咕咕被欺负了吗</div><div class="vp-copyright">Copyright © 2024 HalfSweet </div></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div>
-    <script type="module" src="/assets/app-ClwIkahu.js" defer></script>
+    <script type="module" src="/assets/app-Flo2gZk8.js" defer></script>
   </body>
 </html>
diff --git "a/tag/\344\272\272\345\267\245\346\231\272\350\203\275/index.html" "b/tag/\344\272\272\345\267\245\346\231\272\350\203\275/index.html"
index bfd6c28..232acc8 100644
--- "a/tag/\344\272\272\345\267\245\346\231\272\350\203\275/index.html"
+++ "b/tag/\344\272\272\345\267\245\346\231\272\350\203\275/index.html"
@@ -29,13 +29,13 @@
       }
     </script>
     <meta property="og:url" content="https://halfsweet.cn/tag/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/"><meta property="og:site_name" content="HalfSweet's Blog"><meta property="og:title" content="标签: 人工智能"><meta property="og:type" content="website"><meta property="og:locale" content="zh-CN"><meta property="article:author" content="HalfSweet"><script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","name":"标签: 人工智能"}</script><title>标签: 人工智能 | HalfSweet's Blog</title><meta name="description" content="半糖的博客">
-    <link rel="preload" href="/assets/style-BDwnt-CL.css" as="style"><link rel="stylesheet" href="/assets/style-BDwnt-CL.css">
-    <link rel="modulepreload" href="/assets/app-ClwIkahu.js"><link rel="modulepreload" href="/assets/index.html-7uHHiaZx.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
-    <link rel="prefetch" href="/assets/index.html-BjG6C5xb.js" as="script"><link rel="prefetch" href="/assets/index.html-6gNmrYKw.js" as="script"><link rel="prefetch" href="/assets/index.html-W8DPbcPd.js" as="script"><link rel="prefetch" href="/assets/index.html-75fD8c0W.js" as="script"><link rel="prefetch" href="/assets/index.html-CufQKtZU.js" as="script"><link rel="prefetch" href="/assets/index.html-Bqe7scks.js" as="script"><link rel="prefetch" href="/assets/index.html-B5-KeVPb.js" as="script"><link rel="prefetch" href="/assets/index.html-C7FigsQF.js" as="script"><link rel="prefetch" href="/assets/index.html-DtEE6E7f.js" as="script"><link rel="prefetch" href="/assets/index.html-0oPRY09N.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNCX4dz.js" as="script"><link rel="prefetch" href="/assets/index.html-XtQdJJI8.js" as="script"><link rel="prefetch" href="/assets/index.html-CnJ0E6b5.js" as="script"><link rel="prefetch" href="/assets/index.html-CFhDcrZp.js" as="script"><link rel="prefetch" href="/assets/index.html-Bd1PkxNi.js" as="script"><link rel="prefetch" href="/assets/index.html-DJ-_mZ9n.js" as="script"><link rel="prefetch" href="/assets/index.html-jFzM8lrm.js" as="script"><link rel="prefetch" href="/assets/404.html-VMfaDGRx.js" as="script"><link rel="prefetch" href="/assets/index.html-BaR2aqhq.js" as="script"><link rel="prefetch" href="/assets/index.html-DO2xY2T5.js" as="script"><link rel="prefetch" href="/assets/index.html-BEwHBlkc.js" as="script"><link rel="prefetch" href="/assets/index.html-DZIt3Q5g.js" as="script"><link rel="prefetch" href="/assets/index.html-Dd9JrssL.js" as="script"><link rel="prefetch" href="/assets/index.html-BjPOIJdK.js" as="script"><link rel="prefetch" href="/assets/index.html-CmtlWOBH.js" as="script"><link rel="prefetch" href="/assets/index.html-CR-9qG2Y.js" as="script"><link rel="prefetch" href="/assets/index.html-CwWDCYUS.js" as="script"><link rel="prefetch" href="/assets/index.html-CptFZpi0.js" as="script"><link rel="prefetch" href="/assets/index.html-p6Y7Jm3n.js" as="script"><link rel="prefetch" href="/assets/index.html-CIen8cvO.js" as="script"><link rel="prefetch" href="/assets/index.html-BKUs44hv.js" as="script"><link rel="prefetch" href="/assets/index.html-D0wSSTgQ.js" as="script"><link rel="prefetch" href="/assets/index.html-DqsCIdcm.js" as="script"><link rel="prefetch" href="/assets/index.html-kUwAIzkD.js" as="script"><link rel="prefetch" href="/assets/index.html-BqgjNdmg.js" as="script"><link rel="prefetch" href="/assets/index.html-DIaDLRqn.js" as="script"><link rel="prefetch" href="/assets/index.html-DhcL23aG.js" as="script"><link rel="prefetch" href="/assets/index.html-Bk9EBjUw.js" as="script"><link rel="prefetch" href="/assets/index.html-C0X-QC5U.js" as="script"><link rel="prefetch" href="/assets/index.html-ZwD6xCF4.js" as="script"><link rel="prefetch" href="/assets/index.html-BdqadbH8.js" as="script"><link rel="prefetch" href="/assets/index.html-D7Uf3Wbw.js" as="script"><link rel="prefetch" href="/assets/index.html-CsuDpoYK.js" as="script"><link rel="prefetch" href="/assets/index.html-Dc2bdBF2.js" as="script"><link rel="prefetch" href="/assets/index.html-BzgkemtD.js" as="script"><link rel="prefetch" href="/assets/index.html-TGoZudvZ.js" as="script"><link rel="prefetch" href="/assets/index.html-DbCWijUV.js" as="script"><link rel="prefetch" href="/assets/index.html-DOCRL60a.js" as="script"><link rel="prefetch" href="/assets/index.html-B8qYb7wb.js" as="script"><link rel="prefetch" href="/assets/index.html-CpBdG6tv.js" as="script"><link rel="prefetch" href="/assets/index.html-DdE0h7xo.js" as="script"><link rel="prefetch" href="/assets/index.html-BlsdgZAc.js" as="script"><link rel="prefetch" href="/assets/index.html-Du74cC6X.js" as="script"><link rel="prefetch" href="/assets/index.html-CTp2Oa39.js" as="script"><link rel="prefetch" href="/assets/index.html-Bz73p56D.js" as="script"><link rel="prefetch" href="/assets/index.html-BktjQtFB.js" as="script"><link rel="prefetch" href="/assets/index.html-DPl--Ppt.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-BF52VcER.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CgYxLcm_.js" as="script"><link rel="prefetch" href="/assets/artplayer-CHAGXahu.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-BOVnG7as.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-CbA2In8H.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-Do1ld-lW.js" as="script"><link rel="prefetch" href="/assets/giscus-7BMGhbDA.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-SzV8tJDW.js" as="script">
+    <link rel="preload" href="/assets/style-7DTFFHvh.css" as="style"><link rel="stylesheet" href="/assets/style-7DTFFHvh.css">
+    <link rel="modulepreload" href="/assets/app-Flo2gZk8.js"><link rel="modulepreload" href="/assets/index.html-R9oSKuoP.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
+    <link rel="prefetch" href="/assets/index.html-BhtLl4n3.js" as="script"><link rel="prefetch" href="/assets/index.html-C6yte3a0.js" as="script"><link rel="prefetch" href="/assets/index.html-R-cHHIas.js" as="script"><link rel="prefetch" href="/assets/index.html-CPUAg15t.js" as="script"><link rel="prefetch" href="/assets/index.html-BjdnOCC5.js" as="script"><link rel="prefetch" href="/assets/index.html-7Xyk7CrU.js" as="script"><link rel="prefetch" href="/assets/index.html-BNW3YRR3.js" as="script"><link rel="prefetch" href="/assets/index.html-jClrTNl3.js" as="script"><link rel="prefetch" href="/assets/index.html-tFfBEjXi.js" as="script"><link rel="prefetch" href="/assets/index.html-DgPmeCdQ.js" as="script"><link rel="prefetch" href="/assets/index.html-CxRigd-R.js" as="script"><link rel="prefetch" href="/assets/index.html-BWPjJqfa.js" as="script"><link rel="prefetch" href="/assets/index.html-DzG2EJXJ.js" as="script"><link rel="prefetch" href="/assets/index.html-B45efyIG.js" as="script"><link rel="prefetch" href="/assets/index.html-D_Px6PD2.js" as="script"><link rel="prefetch" href="/assets/index.html-U1Oe9QlK.js" as="script"><link rel="prefetch" href="/assets/index.html-fvB3i9PM.js" as="script"><link rel="prefetch" href="/assets/404.html-mkIobPP0.js" as="script"><link rel="prefetch" href="/assets/index.html-DGqb01LU.js" as="script"><link rel="prefetch" href="/assets/index.html-GZfFX8ok.js" as="script"><link rel="prefetch" href="/assets/index.html-vhaMR1PK.js" as="script"><link rel="prefetch" href="/assets/index.html-CvSEeOlH.js" as="script"><link rel="prefetch" href="/assets/index.html-BmplSMWS.js" as="script"><link rel="prefetch" href="/assets/index.html-C2sDDxGY.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNwolvq.js" as="script"><link rel="prefetch" href="/assets/index.html-DhSSZBRU.js" as="script"><link rel="prefetch" href="/assets/index.html-DPcGNBru.js" as="script"><link rel="prefetch" href="/assets/index.html-BFJ0kKZP.js" as="script"><link rel="prefetch" href="/assets/index.html-CBW4olfB.js" as="script"><link rel="prefetch" href="/assets/index.html-CiBWk0Bg.js" as="script"><link rel="prefetch" href="/assets/index.html-AFWYFeTY.js" as="script"><link rel="prefetch" href="/assets/index.html-DlrkN0XZ.js" as="script"><link rel="prefetch" href="/assets/index.html-Cb-sPtFS.js" as="script"><link rel="prefetch" href="/assets/index.html-DPF-EyUV.js" as="script"><link rel="prefetch" href="/assets/index.html-AqhAiBBF.js" as="script"><link rel="prefetch" href="/assets/index.html-DLZdHb6J.js" as="script"><link rel="prefetch" href="/assets/index.html-Cpr5viHS.js" as="script"><link rel="prefetch" href="/assets/index.html-BXxGxqK4.js" as="script"><link rel="prefetch" href="/assets/index.html-4asd-b47.js" as="script"><link rel="prefetch" href="/assets/index.html-ZITi3OK2.js" as="script"><link rel="prefetch" href="/assets/index.html-DJMKg_M6.js" as="script"><link rel="prefetch" href="/assets/index.html-Y__KWg8u.js" as="script"><link rel="prefetch" href="/assets/index.html--BIzY7gk.js" as="script"><link rel="prefetch" href="/assets/index.html-BRHXQqdq.js" as="script"><link rel="prefetch" href="/assets/index.html-C_2nkQ6B.js" as="script"><link rel="prefetch" href="/assets/index.html-DY-KY6vi.js" as="script"><link rel="prefetch" href="/assets/index.html-BSndmKE7.js" as="script"><link rel="prefetch" href="/assets/index.html-BDmR_g70.js" as="script"><link rel="prefetch" href="/assets/index.html-CpeDyHcd.js" as="script"><link rel="prefetch" href="/assets/index.html-DV9WiiCS.js" as="script"><link rel="prefetch" href="/assets/index.html-DTceWJaH.js" as="script"><link rel="prefetch" href="/assets/index.html-2WOtvPq_.js" as="script"><link rel="prefetch" href="/assets/index.html-DCVozm3V.js" as="script"><link rel="prefetch" href="/assets/index.html-vKhQGG0S.js" as="script"><link rel="prefetch" href="/assets/index.html-BlvUTCvM.js" as="script"><link rel="prefetch" href="/assets/index.html-vIW8aJUJ.js" as="script"><link rel="prefetch" href="/assets/index.html-CTuZCChr.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-S0Hns9UN.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CSFeuThZ.js" as="script"><link rel="prefetch" href="/assets/artplayer-DnixxQIM.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-DaNo29Rn.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-nRkOMaNb.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-DQalTb-T.js" as="script"><link rel="prefetch" href="/assets/giscus-D-fkNSKD.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-GXRgw7eJ.js" as="script">
   </head>
   <body>
     <div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container no-sidebar"><!--[--><header id="navbar" class="vp-navbar"><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><!--[--><a class="route-link vp-brand" href="/"><img class="vp-nav-logo" src="/img/Headshot.jpg" alt><!----><span class="vp-site-name hide-in-pad">HalfSweet&#39;s Blog</span></a><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-center"><!--[--><!----><!--]--><!--[--><nav class="vp-nav-links"><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/posts/" aria-label="文章"><span class="font-icon icon app" style=""></span>文章<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/about/" aria-label="关于"><span class="font-icon icon user" style=""></span>关于<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/friends/" aria-label="友链"><span class="font-icon icon link" style=""></span>友链<!----></a></div></nav><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-end"><!--[--><!----><!--]--><!--[--><!----><div class="nav-item vp-repo"><a class="vp-repo-link" href="https://github.com/HalfSweet/Blog" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><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"></path></svg></a></div><div class="nav-item hide-in-mobile"><button type="button" id="appearance-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" style="display:block;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" style="display:none;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" style="display:none;"><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"></path></svg></button></div><!----><!--]--><!--[--><!----><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar"><!--[--><!----><!--]--><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></li><li><section class="vp-sidebar-group"><p class="vp-sidebar-header"><span class="font-icon icon book" style=""></span><span class="vp-sidebar-title">文章</span><!----></p><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-Clion/" aria-label="使用 Clion 来进行 Air32 的开发"><!---->使用 Clion 来进行 Air32 的开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-MCO/" aria-label="Air32 的 HAL 改造——适配 MCO"><!---->Air32 的 HAL 改造——适配 MCO<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/HelloWorld/" aria-label="HelloWorld"><!---->HelloWorld<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/STC_CoreMark/" aria-label="不服来跑个分?将 CoreMark 移植到 STC 上试试"><!---->不服来跑个分?将 CoreMark 移植到 STC 上试试<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="为什么我对第三代郊狼失望"><!---->为什么我对第三代郊狼失望<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-HighFreq/" aria-label="发挥全部实力!Air32 在 HAL 库环境下运行最高主频"><!---->发挥全部实力!Air32 在 HAL 库环境下运行最高主频<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/embedded_fmtlib/" aria-label="在嵌入式设备上使用fmtlib"><!---->在嵌入式设备上使用fmtlib<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/conda_novelai/" aria-label="基于conda进行手动配置novelAI"><!---->基于conda进行手动配置novelAI<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="对《为什么我对第三代郊狼失望》一文的澄清说明"><!---->对《为什么我对第三代郊狼失望》一文的澄清说明<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Empedded-CI-CD/" aria-label="嵌入式中的 CI/CD"><!---->嵌入式中的 CI/CD<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/MDK6-Dev/" aria-label="更现代的开发方式?使用 MDK6 进行开发"><!---->更现代的开发方式?使用 MDK6 进行开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/SEGGER-RTT/" aria-label="更高效的日志查看方式——使用SEGGER-RTT"><!---->更高效的日志查看方式——使用SEGGER-RTT<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/EpdTraps1/" aria-label="墨水屏的坑——7.5寸墨水屏刷新为何出现条纹"><!---->墨水屏的坑——7.5寸墨水屏刷新为何出现条纹<!----></a></li></ul></section></li></ul><!--[--><!----><!--]--></aside><!--[--><div class="vp-page vp-blog"><div class="blog-page-wrapper"><main id="main-content" class="vp-blog-main"><ul class="tag-list-wrapper"><li class="tag tag8"><a class="route-link" href="/tag/%E5%90%88%E5%AE%99/">合宙<span class="tag-num">6</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/air32/">Air32<span class="tag-num">4</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/air001/">Air001<span class="tag-num">3</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/%E5%B5%8C%E5%85%A5%E5%BC%8F/">嵌入式<span class="tag-num">2</span></a></li><li class="tag tag6"><a class="route-link" href="/tag/%E7%A2%8E%E7%A2%8E%E5%BF%B5/">碎碎念<span class="tag-num">2</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/%E9%83%8A%E7%8B%BC/">郊狼<span class="tag-num">2</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/mco/">MCO<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/helloworld/">HelloWorld<span class="tag-num">1</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/stc32/">STC32<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/stc8/">STC8<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/coremark/">CoreMark<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/clion/">Clion<span class="tag-num">1</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/%E8%B6%85%E9%A2%91/">超频<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/fmtlib/">fmtlib<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/esp8266/">ESP8266<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/esp32/">ESP32<span class="tag-num">1</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/arduino/">Arduino<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/platformio/">PlatformIO<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/esp-idf/">ESP-IDF<span class="tag-num">1</span></a></li><li class="tag tag5 active"><a class="route-link" href="/tag/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/">人工智能<span class="tag-num">1</span></a></li><li class="tag tag1"><a class="route-link" href="/tag/novelai/">novelAI<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/conda/">conda<span class="tag-num">1</span></a></li><li class="tag tag7"><a class="route-link" href="/tag/%E5%A2%A8%E6%B0%B4%E5%B1%8F/">墨水屏<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/uc8179/">UC8179<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/depg0750rwu790f30/">DEPG0750RWU790F30<span class="tag-num">1</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/%E9%81%87%E5%88%B0%E7%9A%84%E5%9D%91/">遇到的坑<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/cicd/">CI/CD<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/%E6%97%A5%E5%BF%97/">日志<span class="tag-num">1</span></a></li></ul><div id="article-list" class="vp-article-list" role="feed"><div class="vp-article-wrapper"><article class="vp-article-item" vocab="https://schema.org/" typeof="Article"><!--[--><!--]--><!----><a class="route-link" href="/posts/conda_novelai/"><header class="vp-article-title"><!----><!----><span property="headline">基于conda进行手动配置novelAI</span></header></a><div class="vp-article-excerpt"><p>最近大家应该都玩过novelAI了,出来的图片质量都非常棒,但是b站大佬给的配置只是打包了的bat文件,但是这显然不符合我们的折腾精神,于是我们来尝试使用conda来进行纯手工配置。</p>
 </div><hr class="vp-article-hr"><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2023-01-05T13:19:16.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>大约 6 分钟</span><meta property="timeRequired" content="PT6M"></span><span class="page-category-info" aria-label="分类🌈" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg><!--[--><span class="page-category-item category3 clickable" role="navigation">AI</span><!--]--><meta property="articleSection" content="AI"></span><span class="page-tag-info" aria-label="标签🏷" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg><!--[--><span class="page-tag-item tag5 clickable" role="navigation">人工智能</span><span class="page-tag-item tag1 clickable" role="navigation">novelAI</span><span class="page-tag-item tag2 clickable" role="navigation">conda</span><!--]--><meta property="keywords" content="人工智能,novelAI,conda"></span></div></article></div><div class="vp-pagination"></div></div></main><aside class="vp-blog-info-wrapper"><div class="vp-blogger-info" vocab="https://schema.org/" typeof="Person"><div class="vp-blogger" style="cursor:pointer;" aria-label="个人介绍" data-balloon-pos="down" role="link"><img class="vp-blogger-avatar" src="/img/Headshot.jpg" property="image" alt="Blogger Avatar" loading="lazy"><div class="vp-blogger-name" property="name">HalfSweet</div><div class="vp-blogger-description">Try to create some value</div><meta property="url" content="/Catalogue/02.about.html"></div><div class="vp-blog-counts"><a class="route-link vp-blog-count" href="/article/"><div class="count">13</div><div>文章</div></a><a class="route-link vp-blog-count" href="/category/"><div class="count">5</div><div>分类</div></a><a class="route-link vp-blog-count" href="/tag/"><div class="count">28</div><div>标签</div></a><a class="route-link vp-blog-count" href="/timeline/"><div class="count">13</div><div>时间轴</div></a></div><div class="vp-social-medias"><a class="vp-social-media" href="mailto:HalfSweet@HalfSweet.cn" rel="noopener noreferrer" target="_blank" aria-label="Email" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon email-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#1384FF"/><path fill="#fff" d="M270.077 286.233H751.99c32.933 0 59.86 24.855 60.274 55.51l-301.023 157L210.217 341.88c.207-30.723 26.927-55.717 59.86-55.717zm-59.929 115.714-.276 277.756c0 30.931 27.134 56.2 60.205 56.2H751.99c33.14 0 60.274-25.269 60.274-56.2V401.81L518.283 551.492a15.88 15.88 0 0 1-14.43 0L210.148 401.947z"/></svg></a><a class="vp-social-media" href="https://github.com/HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="GitHub" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#171515"/><path fill="#fff" d="M509.423 146.442c-200.317 0-362.756 162.42-362.756 362.8 0 160.266 103.936 296.24 248.109 344.217 18.139 3.327 24.76-7.872 24.76-17.486 0-8.613-.313-31.427-.49-61.702-100.912 21.923-122.205-48.63-122.205-48.63-16.495-41.91-40.28-53.067-40.28-53.067-32.937-22.51 2.492-22.053 2.492-22.053 36.407 2.566 55.568 37.386 55.568 37.386 32.362 55.438 84.907 39.43 105.58 30.143 3.296-23.444 12.667-39.43 23.032-48.498-80.557-9.156-165.246-40.28-165.246-179.297 0-39.604 14.135-71.988 37.342-97.348-3.731-9.178-16.18-46.063 3.556-96.009 0 0 30.46-9.754 99.76 37.19 28.937-8.048 59.97-12.071 90.823-12.211 30.807.14 61.843 4.165 90.822 12.21 69.26-46.944 99.663-37.189 99.663-37.189 19.792 49.946 7.34 86.831 3.61 96.01 23.25 25.359 37.29 57.742 37.29 97.347 0 139.366-84.82 170.033-165.637 179.013 13.026 11.2 24.628 33.342 24.628 67.182 0 48.498-.445 87.627-.445 99.521 0 9.702 6.535 20.988 24.945 17.444 144.03-48.067 247.881-183.95 247.881-344.175 0-200.378-162.442-362.798-362.802-362.798z"/></svg></a><a class="vp-social-media" href="https://twitter.com/_HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="Twitter" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon twitter-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512"/><path fill="#FFF" d="m560 473 186-216h-44L540 445 411 257H262l195 284-195 226h44l171-198 136 198h149zM322 290h68l312 445h-68z"/></svg></a></div></div><div class="vp-blog-infos"><div class="vp-blog-type-switcher"><button type="button" class="vp-blog-type-button"><div class="icon-wrapper active" aria-label="文章" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="分类" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="标签" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="时间轴" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timeline-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timeline icon"><path d="M511.997 70.568c-243.797 0-441.429 197.633-441.429 441.435 0 243.797 197.632 441.429 441.43 441.429S953.431 755.8 953.431 512.002c0-243.796-197.637-441.434-441.435-441.434zm150.158 609.093-15.605 15.61c-8.621 8.615-22.596 8.615-31.215 0L472.197 552.126c-4.95-4.944-4.34-14.888-4.34-24.677V247.14c0-12.19 9.882-22.07 22.07-22.07h22.07c12.19 0 22.07 9.882 22.07 22.07v273.218l128.088 128.088c8.62 8.62 8.62 22.595 0 31.215zm0 0"></path></svg></div></button></div><div class="vp-star-article-wrapper"><div class="title"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg><span class="num">13</span>文章</div><hr><div class="vp-star-article-empty">星标 为空</div></div></div></aside></div></div><!--]--><footer class="vp-footer-wrapper"><div class="vp-footer">今天咕咕被欺负了吗</div><div class="vp-copyright">Copyright © 2024 HalfSweet </div></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div>
-    <script type="module" src="/assets/app-ClwIkahu.js" defer></script>
+    <script type="module" src="/assets/app-Flo2gZk8.js" defer></script>
   </body>
 </html>
diff --git "a/tag/\345\220\210\345\256\231/index.html" "b/tag/\345\220\210\345\256\231/index.html"
index beccf8f..df8720a 100644
--- "a/tag/\345\220\210\345\256\231/index.html"
+++ "b/tag/\345\220\210\345\256\231/index.html"
@@ -29,9 +29,9 @@
       }
     </script>
     <meta property="og:url" content="https://halfsweet.cn/tag/%E5%90%88%E5%AE%99/"><meta property="og:site_name" content="HalfSweet's Blog"><meta property="og:title" content="标签: 合宙"><meta property="og:type" content="website"><meta property="og:locale" content="zh-CN"><meta property="article:author" content="HalfSweet"><script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","name":"标签: 合宙"}</script><title>标签: 合宙 | HalfSweet's Blog</title><meta name="description" content="半糖的博客">
-    <link rel="preload" href="/assets/style-BDwnt-CL.css" as="style"><link rel="stylesheet" href="/assets/style-BDwnt-CL.css">
-    <link rel="modulepreload" href="/assets/app-ClwIkahu.js"><link rel="modulepreload" href="/assets/index.html-p6Y7Jm3n.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
-    <link rel="prefetch" href="/assets/index.html-BjG6C5xb.js" as="script"><link rel="prefetch" href="/assets/index.html-6gNmrYKw.js" as="script"><link rel="prefetch" href="/assets/index.html-W8DPbcPd.js" as="script"><link rel="prefetch" href="/assets/index.html-75fD8c0W.js" as="script"><link rel="prefetch" href="/assets/index.html-CufQKtZU.js" as="script"><link rel="prefetch" href="/assets/index.html-Bqe7scks.js" as="script"><link rel="prefetch" href="/assets/index.html-B5-KeVPb.js" as="script"><link rel="prefetch" href="/assets/index.html-C7FigsQF.js" as="script"><link rel="prefetch" href="/assets/index.html-DtEE6E7f.js" as="script"><link rel="prefetch" href="/assets/index.html-0oPRY09N.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNCX4dz.js" as="script"><link rel="prefetch" href="/assets/index.html-XtQdJJI8.js" as="script"><link rel="prefetch" href="/assets/index.html-CnJ0E6b5.js" as="script"><link rel="prefetch" href="/assets/index.html-CFhDcrZp.js" as="script"><link rel="prefetch" href="/assets/index.html-Bd1PkxNi.js" as="script"><link rel="prefetch" href="/assets/index.html-DJ-_mZ9n.js" as="script"><link rel="prefetch" href="/assets/index.html-jFzM8lrm.js" as="script"><link rel="prefetch" href="/assets/404.html-VMfaDGRx.js" as="script"><link rel="prefetch" href="/assets/index.html-BaR2aqhq.js" as="script"><link rel="prefetch" href="/assets/index.html-DO2xY2T5.js" as="script"><link rel="prefetch" href="/assets/index.html-BEwHBlkc.js" as="script"><link rel="prefetch" href="/assets/index.html-DZIt3Q5g.js" as="script"><link rel="prefetch" href="/assets/index.html-Dd9JrssL.js" as="script"><link rel="prefetch" href="/assets/index.html-BjPOIJdK.js" as="script"><link rel="prefetch" href="/assets/index.html-CmtlWOBH.js" as="script"><link rel="prefetch" href="/assets/index.html-CR-9qG2Y.js" as="script"><link rel="prefetch" href="/assets/index.html-CwWDCYUS.js" as="script"><link rel="prefetch" href="/assets/index.html-CptFZpi0.js" as="script"><link rel="prefetch" href="/assets/index.html-CIen8cvO.js" as="script"><link rel="prefetch" href="/assets/index.html-BKUs44hv.js" as="script"><link rel="prefetch" href="/assets/index.html-D0wSSTgQ.js" as="script"><link rel="prefetch" href="/assets/index.html-DqsCIdcm.js" as="script"><link rel="prefetch" href="/assets/index.html-kUwAIzkD.js" as="script"><link rel="prefetch" href="/assets/index.html-BqgjNdmg.js" as="script"><link rel="prefetch" href="/assets/index.html-DIaDLRqn.js" as="script"><link rel="prefetch" href="/assets/index.html-DhcL23aG.js" as="script"><link rel="prefetch" href="/assets/index.html-Bk9EBjUw.js" as="script"><link rel="prefetch" href="/assets/index.html-C0X-QC5U.js" as="script"><link rel="prefetch" href="/assets/index.html-ZwD6xCF4.js" as="script"><link rel="prefetch" href="/assets/index.html-BdqadbH8.js" as="script"><link rel="prefetch" href="/assets/index.html-D7Uf3Wbw.js" as="script"><link rel="prefetch" href="/assets/index.html-CsuDpoYK.js" as="script"><link rel="prefetch" href="/assets/index.html-Dc2bdBF2.js" as="script"><link rel="prefetch" href="/assets/index.html-BzgkemtD.js" as="script"><link rel="prefetch" href="/assets/index.html-7uHHiaZx.js" as="script"><link rel="prefetch" href="/assets/index.html-TGoZudvZ.js" as="script"><link rel="prefetch" href="/assets/index.html-DbCWijUV.js" as="script"><link rel="prefetch" href="/assets/index.html-DOCRL60a.js" as="script"><link rel="prefetch" href="/assets/index.html-B8qYb7wb.js" as="script"><link rel="prefetch" href="/assets/index.html-CpBdG6tv.js" as="script"><link rel="prefetch" href="/assets/index.html-DdE0h7xo.js" as="script"><link rel="prefetch" href="/assets/index.html-BlsdgZAc.js" as="script"><link rel="prefetch" href="/assets/index.html-Du74cC6X.js" as="script"><link rel="prefetch" href="/assets/index.html-CTp2Oa39.js" as="script"><link rel="prefetch" href="/assets/index.html-Bz73p56D.js" as="script"><link rel="prefetch" href="/assets/index.html-BktjQtFB.js" as="script"><link rel="prefetch" href="/assets/index.html-DPl--Ppt.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-BF52VcER.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CgYxLcm_.js" as="script"><link rel="prefetch" href="/assets/artplayer-CHAGXahu.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-BOVnG7as.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-CbA2In8H.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-Do1ld-lW.js" as="script"><link rel="prefetch" href="/assets/giscus-7BMGhbDA.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-SzV8tJDW.js" as="script">
+    <link rel="preload" href="/assets/style-7DTFFHvh.css" as="style"><link rel="stylesheet" href="/assets/style-7DTFFHvh.css">
+    <link rel="modulepreload" href="/assets/app-Flo2gZk8.js"><link rel="modulepreload" href="/assets/index.html-CBW4olfB.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
+    <link rel="prefetch" href="/assets/index.html-BhtLl4n3.js" as="script"><link rel="prefetch" href="/assets/index.html-C6yte3a0.js" as="script"><link rel="prefetch" href="/assets/index.html-R-cHHIas.js" as="script"><link rel="prefetch" href="/assets/index.html-CPUAg15t.js" as="script"><link rel="prefetch" href="/assets/index.html-BjdnOCC5.js" as="script"><link rel="prefetch" href="/assets/index.html-7Xyk7CrU.js" as="script"><link rel="prefetch" href="/assets/index.html-BNW3YRR3.js" as="script"><link rel="prefetch" href="/assets/index.html-jClrTNl3.js" as="script"><link rel="prefetch" href="/assets/index.html-tFfBEjXi.js" as="script"><link rel="prefetch" href="/assets/index.html-DgPmeCdQ.js" as="script"><link rel="prefetch" href="/assets/index.html-CxRigd-R.js" as="script"><link rel="prefetch" href="/assets/index.html-BWPjJqfa.js" as="script"><link rel="prefetch" href="/assets/index.html-DzG2EJXJ.js" as="script"><link rel="prefetch" href="/assets/index.html-B45efyIG.js" as="script"><link rel="prefetch" href="/assets/index.html-D_Px6PD2.js" as="script"><link rel="prefetch" href="/assets/index.html-U1Oe9QlK.js" as="script"><link rel="prefetch" href="/assets/index.html-fvB3i9PM.js" as="script"><link rel="prefetch" href="/assets/404.html-mkIobPP0.js" as="script"><link rel="prefetch" href="/assets/index.html-DGqb01LU.js" as="script"><link rel="prefetch" href="/assets/index.html-GZfFX8ok.js" as="script"><link rel="prefetch" href="/assets/index.html-vhaMR1PK.js" as="script"><link rel="prefetch" href="/assets/index.html-CvSEeOlH.js" as="script"><link rel="prefetch" href="/assets/index.html-BmplSMWS.js" as="script"><link rel="prefetch" href="/assets/index.html-C2sDDxGY.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNwolvq.js" as="script"><link rel="prefetch" href="/assets/index.html-DhSSZBRU.js" as="script"><link rel="prefetch" href="/assets/index.html-DPcGNBru.js" as="script"><link rel="prefetch" href="/assets/index.html-BFJ0kKZP.js" as="script"><link rel="prefetch" href="/assets/index.html-CiBWk0Bg.js" as="script"><link rel="prefetch" href="/assets/index.html-AFWYFeTY.js" as="script"><link rel="prefetch" href="/assets/index.html-DlrkN0XZ.js" as="script"><link rel="prefetch" href="/assets/index.html-Cb-sPtFS.js" as="script"><link rel="prefetch" href="/assets/index.html-DPF-EyUV.js" as="script"><link rel="prefetch" href="/assets/index.html-AqhAiBBF.js" as="script"><link rel="prefetch" href="/assets/index.html-DLZdHb6J.js" as="script"><link rel="prefetch" href="/assets/index.html-Cpr5viHS.js" as="script"><link rel="prefetch" href="/assets/index.html-BXxGxqK4.js" as="script"><link rel="prefetch" href="/assets/index.html-4asd-b47.js" as="script"><link rel="prefetch" href="/assets/index.html-ZITi3OK2.js" as="script"><link rel="prefetch" href="/assets/index.html-DJMKg_M6.js" as="script"><link rel="prefetch" href="/assets/index.html-Y__KWg8u.js" as="script"><link rel="prefetch" href="/assets/index.html--BIzY7gk.js" as="script"><link rel="prefetch" href="/assets/index.html-BRHXQqdq.js" as="script"><link rel="prefetch" href="/assets/index.html-C_2nkQ6B.js" as="script"><link rel="prefetch" href="/assets/index.html-R9oSKuoP.js" as="script"><link rel="prefetch" href="/assets/index.html-DY-KY6vi.js" as="script"><link rel="prefetch" href="/assets/index.html-BSndmKE7.js" as="script"><link rel="prefetch" href="/assets/index.html-BDmR_g70.js" as="script"><link rel="prefetch" href="/assets/index.html-CpeDyHcd.js" as="script"><link rel="prefetch" href="/assets/index.html-DV9WiiCS.js" as="script"><link rel="prefetch" href="/assets/index.html-DTceWJaH.js" as="script"><link rel="prefetch" href="/assets/index.html-2WOtvPq_.js" as="script"><link rel="prefetch" href="/assets/index.html-DCVozm3V.js" as="script"><link rel="prefetch" href="/assets/index.html-vKhQGG0S.js" as="script"><link rel="prefetch" href="/assets/index.html-BlvUTCvM.js" as="script"><link rel="prefetch" href="/assets/index.html-vIW8aJUJ.js" as="script"><link rel="prefetch" href="/assets/index.html-CTuZCChr.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-S0Hns9UN.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CSFeuThZ.js" as="script"><link rel="prefetch" href="/assets/artplayer-DnixxQIM.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-DaNo29Rn.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-nRkOMaNb.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-DQalTb-T.js" as="script"><link rel="prefetch" href="/assets/giscus-D-fkNSKD.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-GXRgw7eJ.js" as="script">
   </head>
   <body>
     <div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container no-sidebar"><!--[--><header id="navbar" class="vp-navbar"><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><!--[--><a class="route-link vp-brand" href="/"><img class="vp-nav-logo" src="/img/Headshot.jpg" alt><!----><span class="vp-site-name hide-in-pad">HalfSweet&#39;s Blog</span></a><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-center"><!--[--><!----><!--]--><!--[--><nav class="vp-nav-links"><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/posts/" aria-label="文章"><span class="font-icon icon app" style=""></span>文章<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/about/" aria-label="关于"><span class="font-icon icon user" style=""></span>关于<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/friends/" aria-label="友链"><span class="font-icon icon link" style=""></span>友链<!----></a></div></nav><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-end"><!--[--><!----><!--]--><!--[--><!----><div class="nav-item vp-repo"><a class="vp-repo-link" href="https://github.com/HalfSweet/Blog" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><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"></path></svg></a></div><div class="nav-item hide-in-mobile"><button type="button" id="appearance-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" style="display:block;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" style="display:none;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" style="display:none;"><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"></path></svg></button></div><!----><!--]--><!--[--><!----><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar"><!--[--><!----><!--]--><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></li><li><section class="vp-sidebar-group"><p class="vp-sidebar-header"><span class="font-icon icon book" style=""></span><span class="vp-sidebar-title">文章</span><!----></p><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-Clion/" aria-label="使用 Clion 来进行 Air32 的开发"><!---->使用 Clion 来进行 Air32 的开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-MCO/" aria-label="Air32 的 HAL 改造——适配 MCO"><!---->Air32 的 HAL 改造——适配 MCO<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/HelloWorld/" aria-label="HelloWorld"><!---->HelloWorld<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/STC_CoreMark/" aria-label="不服来跑个分?将 CoreMark 移植到 STC 上试试"><!---->不服来跑个分?将 CoreMark 移植到 STC 上试试<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="为什么我对第三代郊狼失望"><!---->为什么我对第三代郊狼失望<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-HighFreq/" aria-label="发挥全部实力!Air32 在 HAL 库环境下运行最高主频"><!---->发挥全部实力!Air32 在 HAL 库环境下运行最高主频<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/embedded_fmtlib/" aria-label="在嵌入式设备上使用fmtlib"><!---->在嵌入式设备上使用fmtlib<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/conda_novelai/" aria-label="基于conda进行手动配置novelAI"><!---->基于conda进行手动配置novelAI<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="对《为什么我对第三代郊狼失望》一文的澄清说明"><!---->对《为什么我对第三代郊狼失望》一文的澄清说明<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Empedded-CI-CD/" aria-label="嵌入式中的 CI/CD"><!---->嵌入式中的 CI/CD<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/MDK6-Dev/" aria-label="更现代的开发方式?使用 MDK6 进行开发"><!---->更现代的开发方式?使用 MDK6 进行开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/SEGGER-RTT/" aria-label="更高效的日志查看方式——使用SEGGER-RTT"><!---->更高效的日志查看方式——使用SEGGER-RTT<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/EpdTraps1/" aria-label="墨水屏的坑——7.5寸墨水屏刷新为何出现条纹"><!---->墨水屏的坑——7.5寸墨水屏刷新为何出现条纹<!----></a></li></ul></section></li></ul><!--[--><!----><!--]--></aside><!--[--><div class="vp-page vp-blog"><div class="blog-page-wrapper"><main id="main-content" class="vp-blog-main"><ul class="tag-list-wrapper"><li class="tag tag8 active"><a class="route-link" href="/tag/%E5%90%88%E5%AE%99/">合宙<span class="tag-num">6</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/air32/">Air32<span class="tag-num">4</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/air001/">Air001<span class="tag-num">3</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/%E5%B5%8C%E5%85%A5%E5%BC%8F/">嵌入式<span class="tag-num">2</span></a></li><li class="tag tag6"><a class="route-link" href="/tag/%E7%A2%8E%E7%A2%8E%E5%BF%B5/">碎碎念<span class="tag-num">2</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/%E9%83%8A%E7%8B%BC/">郊狼<span class="tag-num">2</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/mco/">MCO<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/helloworld/">HelloWorld<span class="tag-num">1</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/stc32/">STC32<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/stc8/">STC8<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/coremark/">CoreMark<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/clion/">Clion<span class="tag-num">1</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/%E8%B6%85%E9%A2%91/">超频<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/fmtlib/">fmtlib<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/esp8266/">ESP8266<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/esp32/">ESP32<span class="tag-num">1</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/arduino/">Arduino<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/platformio/">PlatformIO<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/esp-idf/">ESP-IDF<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/">人工智能<span class="tag-num">1</span></a></li><li class="tag tag1"><a class="route-link" href="/tag/novelai/">novelAI<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/conda/">conda<span class="tag-num">1</span></a></li><li class="tag tag7"><a class="route-link" href="/tag/%E5%A2%A8%E6%B0%B4%E5%B1%8F/">墨水屏<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/uc8179/">UC8179<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/depg0750rwu790f30/">DEPG0750RWU790F30<span class="tag-num">1</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/%E9%81%87%E5%88%B0%E7%9A%84%E5%9D%91/">遇到的坑<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/cicd/">CI/CD<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/%E6%97%A5%E5%BF%97/">日志<span class="tag-num">1</span></a></li></ul><div id="article-list" class="vp-article-list" role="feed"><div class="vp-article-wrapper"><article class="vp-article-item" vocab="https://schema.org/" typeof="Article"><!--[--><!--]--><!----><a class="route-link" href="/posts/Empedded-CI-CD/"><header class="vp-article-title"><!----><!----><span property="headline">嵌入式中的 CI/CD</span></header></a><div class="vp-article-excerpt"><p>对于传统的嵌入式开发来说,我们一般常用的IDE都是诸如Keil、IAR等。这些IDE在方便了我们的开发的同时,也存在很多问题,例如在之前Keil-MDK5是不能跨平台的,仅限在Windows平台运行,并且它的授权也是一个老大难的问题。这样我们在团队协作的时候往往就会遇到很多问题,无法像是互联网的开发那样有一套完整的CI/CD流程。但是MDK6的更新解决了这个问题,第一它是跨平台的,这样在Windows、Linux以及MacOS上都能运行;并且也支持了很多命令行的操作,避免了繁琐的GUI操作,这样也更有利于自动化脚本的编写。</p>
@@ -41,6 +41,6 @@
 </div><hr class="vp-article-hr"><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2023-08-20T20:30:00.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>大约 6 分钟</span><meta property="timeRequired" content="PT6M"></span><span class="page-category-info" aria-label="分类🌈" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg><!--[--><span class="page-category-item category8 clickable" role="navigation">单片机</span><!--]--><meta property="articleSection" content="单片机"></span><span class="page-tag-info" aria-label="标签🏷" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg><!--[--><span class="page-tag-item tag4 clickable" role="navigation">Air32</span><span class="page-tag-item tag8 clickable" role="navigation">合宙</span><span class="page-tag-item tag4 clickable" role="navigation">超频</span><!--]--><meta property="keywords" content="Air32,合宙,超频"></span></div></article></div><div class="vp-article-wrapper"><article class="vp-article-item" vocab="https://schema.org/" typeof="Article"><!--[--><!--]--><!----><a class="route-link" href="/posts/MDK6-Dev/"><header class="vp-article-title"><!----><!----><span property="headline">更现代的开发方式?使用 MDK6 进行开发</span></header></a><div class="vp-article-excerpt"><p>今日,在千呼万唤中,Arm 的 MDK6 桌面端终于出来了,本想作为第一批吃螃蟹的开发者,但是当时 Air32 和 Air001 的烧录均有问题,最后在 Arm 官方的支持下,终于可以正常使用了,那么现在我们就来尝试一下。</p>
 </div><hr class="vp-article-hr"><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2023-08-19T12:00:00.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>大约 2 分钟</span><meta property="timeRequired" content="PT2M"></span><span class="page-category-info" aria-label="分类🌈" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg><!--[--><span class="page-category-item category8 clickable" role="navigation">单片机</span><!--]--><meta property="articleSection" content="单片机"></span><span class="page-tag-info" aria-label="标签🏷" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg><!--[--><span class="page-tag-item tag8 clickable" role="navigation">Air001</span><span class="page-tag-item tag4 clickable" role="navigation">Air32</span><span class="page-tag-item tag8 clickable" role="navigation">合宙</span><!--]--><meta property="keywords" content="Air001,Air32,合宙"></span></div></article></div><div class="vp-article-wrapper"><article class="vp-article-item" vocab="https://schema.org/" typeof="Article"><!--[--><!--]--><!----><a class="route-link" href="/posts/SEGGER-RTT/"><header class="vp-article-title"><!----><!----><span property="headline">更高效的日志查看方式——使用SEGGER-RTT</span></header></a><div class="vp-article-excerpt"><p>在日常的开发中,我们免不了使用各种各样的日志打印方式,使用调试器固然好用,但是无法直接打印局部变量以及会打断整个运行状态。并且对于众多<code>Arduino</code>的用户来说,直接打印日志显然是更直观的做法。但是直接使用串口打印的话需要一定的资源,并且速度会稍慢,并且可能会占用一个串口,对于资源就不多的MCU,我们有没有更方便的方法呢?</p>
 </div><hr class="vp-article-hr"><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2023-05-06T14:48:05.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>大约 3 分钟</span><meta property="timeRequired" content="PT3M"></span><span class="page-category-info" aria-label="分类🌈" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg><!--[--><span class="page-category-item category8 clickable" role="navigation">单片机</span><!--]--><meta property="articleSection" content="单片机"></span><span class="page-tag-info" aria-label="标签🏷" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg><!--[--><span class="page-tag-item tag8 clickable" role="navigation">Air001</span><span class="page-tag-item tag8 clickable" role="navigation">合宙</span><span class="page-tag-item tag0 clickable" role="navigation">日志</span><!--]--><meta property="keywords" content="Air001,合宙,日志"></span></div></article></div><div class="vp-pagination"></div></div></main><aside class="vp-blog-info-wrapper"><div class="vp-blogger-info" vocab="https://schema.org/" typeof="Person"><div class="vp-blogger" style="cursor:pointer;" aria-label="个人介绍" data-balloon-pos="down" role="link"><img class="vp-blogger-avatar" src="/img/Headshot.jpg" property="image" alt="Blogger Avatar" loading="lazy"><div class="vp-blogger-name" property="name">HalfSweet</div><div class="vp-blogger-description">Try to create some value</div><meta property="url" content="/Catalogue/02.about.html"></div><div class="vp-blog-counts"><a class="route-link vp-blog-count" href="/article/"><div class="count">13</div><div>文章</div></a><a class="route-link vp-blog-count" href="/category/"><div class="count">5</div><div>分类</div></a><a class="route-link vp-blog-count" href="/tag/"><div class="count">28</div><div>标签</div></a><a class="route-link vp-blog-count" href="/timeline/"><div class="count">13</div><div>时间轴</div></a></div><div class="vp-social-medias"><a class="vp-social-media" href="mailto:HalfSweet@HalfSweet.cn" rel="noopener noreferrer" target="_blank" aria-label="Email" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon email-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#1384FF"/><path fill="#fff" d="M270.077 286.233H751.99c32.933 0 59.86 24.855 60.274 55.51l-301.023 157L210.217 341.88c.207-30.723 26.927-55.717 59.86-55.717zm-59.929 115.714-.276 277.756c0 30.931 27.134 56.2 60.205 56.2H751.99c33.14 0 60.274-25.269 60.274-56.2V401.81L518.283 551.492a15.88 15.88 0 0 1-14.43 0L210.148 401.947z"/></svg></a><a class="vp-social-media" href="https://github.com/HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="GitHub" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#171515"/><path fill="#fff" d="M509.423 146.442c-200.317 0-362.756 162.42-362.756 362.8 0 160.266 103.936 296.24 248.109 344.217 18.139 3.327 24.76-7.872 24.76-17.486 0-8.613-.313-31.427-.49-61.702-100.912 21.923-122.205-48.63-122.205-48.63-16.495-41.91-40.28-53.067-40.28-53.067-32.937-22.51 2.492-22.053 2.492-22.053 36.407 2.566 55.568 37.386 55.568 37.386 32.362 55.438 84.907 39.43 105.58 30.143 3.296-23.444 12.667-39.43 23.032-48.498-80.557-9.156-165.246-40.28-165.246-179.297 0-39.604 14.135-71.988 37.342-97.348-3.731-9.178-16.18-46.063 3.556-96.009 0 0 30.46-9.754 99.76 37.19 28.937-8.048 59.97-12.071 90.823-12.211 30.807.14 61.843 4.165 90.822 12.21 69.26-46.944 99.663-37.189 99.663-37.189 19.792 49.946 7.34 86.831 3.61 96.01 23.25 25.359 37.29 57.742 37.29 97.347 0 139.366-84.82 170.033-165.637 179.013 13.026 11.2 24.628 33.342 24.628 67.182 0 48.498-.445 87.627-.445 99.521 0 9.702 6.535 20.988 24.945 17.444 144.03-48.067 247.881-183.95 247.881-344.175 0-200.378-162.442-362.798-362.802-362.798z"/></svg></a><a class="vp-social-media" href="https://twitter.com/_HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="Twitter" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon twitter-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512"/><path fill="#FFF" d="m560 473 186-216h-44L540 445 411 257H262l195 284-195 226h44l171-198 136 198h149zM322 290h68l312 445h-68z"/></svg></a></div></div><div class="vp-blog-infos"><div class="vp-blog-type-switcher"><button type="button" class="vp-blog-type-button"><div class="icon-wrapper active" aria-label="文章" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="分类" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="标签" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="时间轴" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timeline-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timeline icon"><path d="M511.997 70.568c-243.797 0-441.429 197.633-441.429 441.435 0 243.797 197.632 441.429 441.43 441.429S953.431 755.8 953.431 512.002c0-243.796-197.637-441.434-441.435-441.434zm150.158 609.093-15.605 15.61c-8.621 8.615-22.596 8.615-31.215 0L472.197 552.126c-4.95-4.944-4.34-14.888-4.34-24.677V247.14c0-12.19 9.882-22.07 22.07-22.07h22.07c12.19 0 22.07 9.882 22.07 22.07v273.218l128.088 128.088c8.62 8.62 8.62 22.595 0 31.215zm0 0"></path></svg></div></button></div><div class="vp-star-article-wrapper"><div class="title"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg><span class="num">13</span>文章</div><hr><div class="vp-star-article-empty">星标 为空</div></div></div></aside></div></div><!--]--><footer class="vp-footer-wrapper"><div class="vp-footer">今天咕咕被欺负了吗</div><div class="vp-copyright">Copyright © 2024 HalfSweet </div></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div>
-    <script type="module" src="/assets/app-ClwIkahu.js" defer></script>
+    <script type="module" src="/assets/app-Flo2gZk8.js" defer></script>
   </body>
 </html>
diff --git "a/tag/\345\242\250\346\260\264\345\261\217/index.html" "b/tag/\345\242\250\346\260\264\345\261\217/index.html"
index fac2d42..a04f007 100644
--- "a/tag/\345\242\250\346\260\264\345\261\217/index.html"
+++ "b/tag/\345\242\250\346\260\264\345\261\217/index.html"
@@ -29,9 +29,9 @@
       }
     </script>
     <meta property="og:url" content="https://halfsweet.cn/tag/%E5%A2%A8%E6%B0%B4%E5%B1%8F/"><meta property="og:site_name" content="HalfSweet's Blog"><meta property="og:title" content="标签: 墨水屏"><meta property="og:type" content="website"><meta property="og:locale" content="zh-CN"><meta property="article:author" content="HalfSweet"><script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","name":"标签: 墨水屏"}</script><title>标签: 墨水屏 | HalfSweet's Blog</title><meta name="description" content="半糖的博客">
-    <link rel="preload" href="/assets/style-BDwnt-CL.css" as="style"><link rel="stylesheet" href="/assets/style-BDwnt-CL.css">
-    <link rel="modulepreload" href="/assets/app-ClwIkahu.js"><link rel="modulepreload" href="/assets/index.html-DOCRL60a.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
-    <link rel="prefetch" href="/assets/index.html-BjG6C5xb.js" as="script"><link rel="prefetch" href="/assets/index.html-6gNmrYKw.js" as="script"><link rel="prefetch" href="/assets/index.html-W8DPbcPd.js" as="script"><link rel="prefetch" href="/assets/index.html-75fD8c0W.js" as="script"><link rel="prefetch" href="/assets/index.html-CufQKtZU.js" as="script"><link rel="prefetch" href="/assets/index.html-Bqe7scks.js" as="script"><link rel="prefetch" href="/assets/index.html-B5-KeVPb.js" as="script"><link rel="prefetch" href="/assets/index.html-C7FigsQF.js" as="script"><link rel="prefetch" href="/assets/index.html-DtEE6E7f.js" as="script"><link rel="prefetch" href="/assets/index.html-0oPRY09N.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNCX4dz.js" as="script"><link rel="prefetch" href="/assets/index.html-XtQdJJI8.js" as="script"><link rel="prefetch" href="/assets/index.html-CnJ0E6b5.js" as="script"><link rel="prefetch" href="/assets/index.html-CFhDcrZp.js" as="script"><link rel="prefetch" href="/assets/index.html-Bd1PkxNi.js" as="script"><link rel="prefetch" href="/assets/index.html-DJ-_mZ9n.js" as="script"><link rel="prefetch" href="/assets/index.html-jFzM8lrm.js" as="script"><link rel="prefetch" href="/assets/404.html-VMfaDGRx.js" as="script"><link rel="prefetch" href="/assets/index.html-BaR2aqhq.js" as="script"><link rel="prefetch" href="/assets/index.html-DO2xY2T5.js" as="script"><link rel="prefetch" href="/assets/index.html-BEwHBlkc.js" as="script"><link rel="prefetch" href="/assets/index.html-DZIt3Q5g.js" as="script"><link rel="prefetch" href="/assets/index.html-Dd9JrssL.js" as="script"><link rel="prefetch" href="/assets/index.html-BjPOIJdK.js" as="script"><link rel="prefetch" href="/assets/index.html-CmtlWOBH.js" as="script"><link rel="prefetch" href="/assets/index.html-CR-9qG2Y.js" as="script"><link rel="prefetch" href="/assets/index.html-CwWDCYUS.js" as="script"><link rel="prefetch" href="/assets/index.html-CptFZpi0.js" as="script"><link rel="prefetch" href="/assets/index.html-p6Y7Jm3n.js" as="script"><link rel="prefetch" href="/assets/index.html-CIen8cvO.js" as="script"><link rel="prefetch" href="/assets/index.html-BKUs44hv.js" as="script"><link rel="prefetch" href="/assets/index.html-D0wSSTgQ.js" as="script"><link rel="prefetch" href="/assets/index.html-DqsCIdcm.js" as="script"><link rel="prefetch" href="/assets/index.html-kUwAIzkD.js" as="script"><link rel="prefetch" href="/assets/index.html-BqgjNdmg.js" as="script"><link rel="prefetch" href="/assets/index.html-DIaDLRqn.js" as="script"><link rel="prefetch" href="/assets/index.html-DhcL23aG.js" as="script"><link rel="prefetch" href="/assets/index.html-Bk9EBjUw.js" as="script"><link rel="prefetch" href="/assets/index.html-C0X-QC5U.js" as="script"><link rel="prefetch" href="/assets/index.html-ZwD6xCF4.js" as="script"><link rel="prefetch" href="/assets/index.html-BdqadbH8.js" as="script"><link rel="prefetch" href="/assets/index.html-D7Uf3Wbw.js" as="script"><link rel="prefetch" href="/assets/index.html-CsuDpoYK.js" as="script"><link rel="prefetch" href="/assets/index.html-Dc2bdBF2.js" as="script"><link rel="prefetch" href="/assets/index.html-BzgkemtD.js" as="script"><link rel="prefetch" href="/assets/index.html-7uHHiaZx.js" as="script"><link rel="prefetch" href="/assets/index.html-TGoZudvZ.js" as="script"><link rel="prefetch" href="/assets/index.html-DbCWijUV.js" as="script"><link rel="prefetch" href="/assets/index.html-B8qYb7wb.js" as="script"><link rel="prefetch" href="/assets/index.html-CpBdG6tv.js" as="script"><link rel="prefetch" href="/assets/index.html-DdE0h7xo.js" as="script"><link rel="prefetch" href="/assets/index.html-BlsdgZAc.js" as="script"><link rel="prefetch" href="/assets/index.html-Du74cC6X.js" as="script"><link rel="prefetch" href="/assets/index.html-CTp2Oa39.js" as="script"><link rel="prefetch" href="/assets/index.html-Bz73p56D.js" as="script"><link rel="prefetch" href="/assets/index.html-BktjQtFB.js" as="script"><link rel="prefetch" href="/assets/index.html-DPl--Ppt.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-BF52VcER.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CgYxLcm_.js" as="script"><link rel="prefetch" href="/assets/artplayer-CHAGXahu.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-BOVnG7as.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-CbA2In8H.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-Do1ld-lW.js" as="script"><link rel="prefetch" href="/assets/giscus-7BMGhbDA.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-SzV8tJDW.js" as="script">
+    <link rel="preload" href="/assets/style-7DTFFHvh.css" as="style"><link rel="stylesheet" href="/assets/style-7DTFFHvh.css">
+    <link rel="modulepreload" href="/assets/app-Flo2gZk8.js"><link rel="modulepreload" href="/assets/index.html-BDmR_g70.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
+    <link rel="prefetch" href="/assets/index.html-BhtLl4n3.js" as="script"><link rel="prefetch" href="/assets/index.html-C6yte3a0.js" as="script"><link rel="prefetch" href="/assets/index.html-R-cHHIas.js" as="script"><link rel="prefetch" href="/assets/index.html-CPUAg15t.js" as="script"><link rel="prefetch" href="/assets/index.html-BjdnOCC5.js" as="script"><link rel="prefetch" href="/assets/index.html-7Xyk7CrU.js" as="script"><link rel="prefetch" href="/assets/index.html-BNW3YRR3.js" as="script"><link rel="prefetch" href="/assets/index.html-jClrTNl3.js" as="script"><link rel="prefetch" href="/assets/index.html-tFfBEjXi.js" as="script"><link rel="prefetch" href="/assets/index.html-DgPmeCdQ.js" as="script"><link rel="prefetch" href="/assets/index.html-CxRigd-R.js" as="script"><link rel="prefetch" href="/assets/index.html-BWPjJqfa.js" as="script"><link rel="prefetch" href="/assets/index.html-DzG2EJXJ.js" as="script"><link rel="prefetch" href="/assets/index.html-B45efyIG.js" as="script"><link rel="prefetch" href="/assets/index.html-D_Px6PD2.js" as="script"><link rel="prefetch" href="/assets/index.html-U1Oe9QlK.js" as="script"><link rel="prefetch" href="/assets/index.html-fvB3i9PM.js" as="script"><link rel="prefetch" href="/assets/404.html-mkIobPP0.js" as="script"><link rel="prefetch" href="/assets/index.html-DGqb01LU.js" as="script"><link rel="prefetch" href="/assets/index.html-GZfFX8ok.js" as="script"><link rel="prefetch" href="/assets/index.html-vhaMR1PK.js" as="script"><link rel="prefetch" href="/assets/index.html-CvSEeOlH.js" as="script"><link rel="prefetch" href="/assets/index.html-BmplSMWS.js" as="script"><link rel="prefetch" href="/assets/index.html-C2sDDxGY.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNwolvq.js" as="script"><link rel="prefetch" href="/assets/index.html-DhSSZBRU.js" as="script"><link rel="prefetch" href="/assets/index.html-DPcGNBru.js" as="script"><link rel="prefetch" href="/assets/index.html-BFJ0kKZP.js" as="script"><link rel="prefetch" href="/assets/index.html-CBW4olfB.js" as="script"><link rel="prefetch" href="/assets/index.html-CiBWk0Bg.js" as="script"><link rel="prefetch" href="/assets/index.html-AFWYFeTY.js" as="script"><link rel="prefetch" href="/assets/index.html-DlrkN0XZ.js" as="script"><link rel="prefetch" href="/assets/index.html-Cb-sPtFS.js" as="script"><link rel="prefetch" href="/assets/index.html-DPF-EyUV.js" as="script"><link rel="prefetch" href="/assets/index.html-AqhAiBBF.js" as="script"><link rel="prefetch" href="/assets/index.html-DLZdHb6J.js" as="script"><link rel="prefetch" href="/assets/index.html-Cpr5viHS.js" as="script"><link rel="prefetch" href="/assets/index.html-BXxGxqK4.js" as="script"><link rel="prefetch" href="/assets/index.html-4asd-b47.js" as="script"><link rel="prefetch" href="/assets/index.html-ZITi3OK2.js" as="script"><link rel="prefetch" href="/assets/index.html-DJMKg_M6.js" as="script"><link rel="prefetch" href="/assets/index.html-Y__KWg8u.js" as="script"><link rel="prefetch" href="/assets/index.html--BIzY7gk.js" as="script"><link rel="prefetch" href="/assets/index.html-BRHXQqdq.js" as="script"><link rel="prefetch" href="/assets/index.html-C_2nkQ6B.js" as="script"><link rel="prefetch" href="/assets/index.html-R9oSKuoP.js" as="script"><link rel="prefetch" href="/assets/index.html-DY-KY6vi.js" as="script"><link rel="prefetch" href="/assets/index.html-BSndmKE7.js" as="script"><link rel="prefetch" href="/assets/index.html-CpeDyHcd.js" as="script"><link rel="prefetch" href="/assets/index.html-DV9WiiCS.js" as="script"><link rel="prefetch" href="/assets/index.html-DTceWJaH.js" as="script"><link rel="prefetch" href="/assets/index.html-2WOtvPq_.js" as="script"><link rel="prefetch" href="/assets/index.html-DCVozm3V.js" as="script"><link rel="prefetch" href="/assets/index.html-vKhQGG0S.js" as="script"><link rel="prefetch" href="/assets/index.html-BlvUTCvM.js" as="script"><link rel="prefetch" href="/assets/index.html-vIW8aJUJ.js" as="script"><link rel="prefetch" href="/assets/index.html-CTuZCChr.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-S0Hns9UN.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CSFeuThZ.js" as="script"><link rel="prefetch" href="/assets/artplayer-DnixxQIM.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-DaNo29Rn.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-nRkOMaNb.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-DQalTb-T.js" as="script"><link rel="prefetch" href="/assets/giscus-D-fkNSKD.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-GXRgw7eJ.js" as="script">
   </head>
   <body>
     <div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container no-sidebar"><!--[--><header id="navbar" class="vp-navbar"><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><!--[--><a class="route-link vp-brand" href="/"><img class="vp-nav-logo" src="/img/Headshot.jpg" alt><!----><span class="vp-site-name hide-in-pad">HalfSweet&#39;s Blog</span></a><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-center"><!--[--><!----><!--]--><!--[--><nav class="vp-nav-links"><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/posts/" aria-label="文章"><span class="font-icon icon app" style=""></span>文章<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/about/" aria-label="关于"><span class="font-icon icon user" style=""></span>关于<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/friends/" aria-label="友链"><span class="font-icon icon link" style=""></span>友链<!----></a></div></nav><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-end"><!--[--><!----><!--]--><!--[--><!----><div class="nav-item vp-repo"><a class="vp-repo-link" href="https://github.com/HalfSweet/Blog" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><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"></path></svg></a></div><div class="nav-item hide-in-mobile"><button type="button" id="appearance-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" style="display:block;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" style="display:none;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" style="display:none;"><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"></path></svg></button></div><!----><!--]--><!--[--><!----><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar"><!--[--><!----><!--]--><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></li><li><section class="vp-sidebar-group"><p class="vp-sidebar-header"><span class="font-icon icon book" style=""></span><span class="vp-sidebar-title">文章</span><!----></p><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-Clion/" aria-label="使用 Clion 来进行 Air32 的开发"><!---->使用 Clion 来进行 Air32 的开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-MCO/" aria-label="Air32 的 HAL 改造——适配 MCO"><!---->Air32 的 HAL 改造——适配 MCO<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/HelloWorld/" aria-label="HelloWorld"><!---->HelloWorld<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/STC_CoreMark/" aria-label="不服来跑个分?将 CoreMark 移植到 STC 上试试"><!---->不服来跑个分?将 CoreMark 移植到 STC 上试试<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="为什么我对第三代郊狼失望"><!---->为什么我对第三代郊狼失望<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-HighFreq/" aria-label="发挥全部实力!Air32 在 HAL 库环境下运行最高主频"><!---->发挥全部实力!Air32 在 HAL 库环境下运行最高主频<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/embedded_fmtlib/" aria-label="在嵌入式设备上使用fmtlib"><!---->在嵌入式设备上使用fmtlib<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/conda_novelai/" aria-label="基于conda进行手动配置novelAI"><!---->基于conda进行手动配置novelAI<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="对《为什么我对第三代郊狼失望》一文的澄清说明"><!---->对《为什么我对第三代郊狼失望》一文的澄清说明<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Empedded-CI-CD/" aria-label="嵌入式中的 CI/CD"><!---->嵌入式中的 CI/CD<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/MDK6-Dev/" aria-label="更现代的开发方式?使用 MDK6 进行开发"><!---->更现代的开发方式?使用 MDK6 进行开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/SEGGER-RTT/" aria-label="更高效的日志查看方式——使用SEGGER-RTT"><!---->更高效的日志查看方式——使用SEGGER-RTT<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/EpdTraps1/" aria-label="墨水屏的坑——7.5寸墨水屏刷新为何出现条纹"><!---->墨水屏的坑——7.5寸墨水屏刷新为何出现条纹<!----></a></li></ul></section></li></ul><!--[--><!----><!--]--></aside><!--[--><div class="vp-page vp-blog"><div class="blog-page-wrapper"><main id="main-content" class="vp-blog-main"><ul class="tag-list-wrapper"><li class="tag tag8"><a class="route-link" href="/tag/%E5%90%88%E5%AE%99/">合宙<span class="tag-num">6</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/air32/">Air32<span class="tag-num">4</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/air001/">Air001<span class="tag-num">3</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/%E5%B5%8C%E5%85%A5%E5%BC%8F/">嵌入式<span class="tag-num">2</span></a></li><li class="tag tag6"><a class="route-link" href="/tag/%E7%A2%8E%E7%A2%8E%E5%BF%B5/">碎碎念<span class="tag-num">2</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/%E9%83%8A%E7%8B%BC/">郊狼<span class="tag-num">2</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/mco/">MCO<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/helloworld/">HelloWorld<span class="tag-num">1</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/stc32/">STC32<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/stc8/">STC8<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/coremark/">CoreMark<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/clion/">Clion<span class="tag-num">1</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/%E8%B6%85%E9%A2%91/">超频<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/fmtlib/">fmtlib<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/esp8266/">ESP8266<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/esp32/">ESP32<span class="tag-num">1</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/arduino/">Arduino<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/platformio/">PlatformIO<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/esp-idf/">ESP-IDF<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/">人工智能<span class="tag-num">1</span></a></li><li class="tag tag1"><a class="route-link" href="/tag/novelai/">novelAI<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/conda/">conda<span class="tag-num">1</span></a></li><li class="tag tag7 active"><a class="route-link" href="/tag/%E5%A2%A8%E6%B0%B4%E5%B1%8F/">墨水屏<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/uc8179/">UC8179<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/depg0750rwu790f30/">DEPG0750RWU790F30<span class="tag-num">1</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/%E9%81%87%E5%88%B0%E7%9A%84%E5%9D%91/">遇到的坑<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/cicd/">CI/CD<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/%E6%97%A5%E5%BF%97/">日志<span class="tag-num">1</span></a></li></ul><div id="article-list" class="vp-article-list" role="feed"><div class="vp-article-wrapper"><article class="vp-article-item" vocab="https://schema.org/" typeof="Article"><!--[--><!--]--><!----><a class="route-link" href="/posts/EpdTraps1/"><header class="vp-article-title"><!----><!----><span property="headline">墨水屏的坑——7.5寸墨水屏刷新为何出现条纹</span></header></a><div class="vp-article-excerpt"><h2>前言</h2>
@@ -39,6 +39,6 @@
 <p></p>
 <p></p>
 <p>其中上面一张图为我自己做的波形,第二张为使用的OTP波形,但是无一例外,都出现了刷新的问题。抱着也许是驱动板出问题了的想法,我重新lay了一次板子,焊接好之后发现问题确实有所改善,但是并不佳。后续在更换过程中发现采用cd32封装的68uH的电感刷新效果会更好一些,但是依旧存在刷新问题,特别是在UI中有竖着的线条的时候,特别影响观感。</p></div><hr class="vp-article-hr"><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2022-11-06T05:30:37.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>大约 7 分钟</span><meta property="timeRequired" content="PT7M"></span><span class="page-category-info" aria-label="分类🌈" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg><!--[--><span class="page-category-item category7 clickable" role="navigation">墨水屏</span><!--]--><meta property="articleSection" content="墨水屏"></span><span class="page-tag-info" aria-label="标签🏷" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg><!--[--><span class="page-tag-item tag7 clickable" role="navigation">墨水屏</span><span class="page-tag-item tag0 clickable" role="navigation">UC8179</span><span class="page-tag-item tag2 clickable" role="navigation">DEPG0750RWU790F30</span><span class="page-tag-item tag4 clickable" role="navigation">遇到的坑</span><!--]--><meta property="keywords" content="墨水屏,UC8179,DEPG0750RWU790F30,遇到的坑"></span></div></article></div><div class="vp-pagination"></div></div></main><aside class="vp-blog-info-wrapper"><div class="vp-blogger-info" vocab="https://schema.org/" typeof="Person"><div class="vp-blogger" style="cursor:pointer;" aria-label="个人介绍" data-balloon-pos="down" role="link"><img class="vp-blogger-avatar" src="/img/Headshot.jpg" property="image" alt="Blogger Avatar" loading="lazy"><div class="vp-blogger-name" property="name">HalfSweet</div><div class="vp-blogger-description">Try to create some value</div><meta property="url" content="/Catalogue/02.about.html"></div><div class="vp-blog-counts"><a class="route-link vp-blog-count" href="/article/"><div class="count">13</div><div>文章</div></a><a class="route-link vp-blog-count" href="/category/"><div class="count">5</div><div>分类</div></a><a class="route-link vp-blog-count" href="/tag/"><div class="count">28</div><div>标签</div></a><a class="route-link vp-blog-count" href="/timeline/"><div class="count">13</div><div>时间轴</div></a></div><div class="vp-social-medias"><a class="vp-social-media" href="mailto:HalfSweet@HalfSweet.cn" rel="noopener noreferrer" target="_blank" aria-label="Email" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon email-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#1384FF"/><path fill="#fff" d="M270.077 286.233H751.99c32.933 0 59.86 24.855 60.274 55.51l-301.023 157L210.217 341.88c.207-30.723 26.927-55.717 59.86-55.717zm-59.929 115.714-.276 277.756c0 30.931 27.134 56.2 60.205 56.2H751.99c33.14 0 60.274-25.269 60.274-56.2V401.81L518.283 551.492a15.88 15.88 0 0 1-14.43 0L210.148 401.947z"/></svg></a><a class="vp-social-media" href="https://github.com/HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="GitHub" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#171515"/><path fill="#fff" d="M509.423 146.442c-200.317 0-362.756 162.42-362.756 362.8 0 160.266 103.936 296.24 248.109 344.217 18.139 3.327 24.76-7.872 24.76-17.486 0-8.613-.313-31.427-.49-61.702-100.912 21.923-122.205-48.63-122.205-48.63-16.495-41.91-40.28-53.067-40.28-53.067-32.937-22.51 2.492-22.053 2.492-22.053 36.407 2.566 55.568 37.386 55.568 37.386 32.362 55.438 84.907 39.43 105.58 30.143 3.296-23.444 12.667-39.43 23.032-48.498-80.557-9.156-165.246-40.28-165.246-179.297 0-39.604 14.135-71.988 37.342-97.348-3.731-9.178-16.18-46.063 3.556-96.009 0 0 30.46-9.754 99.76 37.19 28.937-8.048 59.97-12.071 90.823-12.211 30.807.14 61.843 4.165 90.822 12.21 69.26-46.944 99.663-37.189 99.663-37.189 19.792 49.946 7.34 86.831 3.61 96.01 23.25 25.359 37.29 57.742 37.29 97.347 0 139.366-84.82 170.033-165.637 179.013 13.026 11.2 24.628 33.342 24.628 67.182 0 48.498-.445 87.627-.445 99.521 0 9.702 6.535 20.988 24.945 17.444 144.03-48.067 247.881-183.95 247.881-344.175 0-200.378-162.442-362.798-362.802-362.798z"/></svg></a><a class="vp-social-media" href="https://twitter.com/_HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="Twitter" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon twitter-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512"/><path fill="#FFF" d="m560 473 186-216h-44L540 445 411 257H262l195 284-195 226h44l171-198 136 198h149zM322 290h68l312 445h-68z"/></svg></a></div></div><div class="vp-blog-infos"><div class="vp-blog-type-switcher"><button type="button" class="vp-blog-type-button"><div class="icon-wrapper active" aria-label="文章" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="分类" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="标签" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="时间轴" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timeline-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timeline icon"><path d="M511.997 70.568c-243.797 0-441.429 197.633-441.429 441.435 0 243.797 197.632 441.429 441.43 441.429S953.431 755.8 953.431 512.002c0-243.796-197.637-441.434-441.435-441.434zm150.158 609.093-15.605 15.61c-8.621 8.615-22.596 8.615-31.215 0L472.197 552.126c-4.95-4.944-4.34-14.888-4.34-24.677V247.14c0-12.19 9.882-22.07 22.07-22.07h22.07c12.19 0 22.07 9.882 22.07 22.07v273.218l128.088 128.088c8.62 8.62 8.62 22.595 0 31.215zm0 0"></path></svg></div></button></div><div class="vp-star-article-wrapper"><div class="title"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg><span class="num">13</span>文章</div><hr><div class="vp-star-article-empty">星标 为空</div></div></div></aside></div></div><!--]--><footer class="vp-footer-wrapper"><div class="vp-footer">今天咕咕被欺负了吗</div><div class="vp-copyright">Copyright © 2024 HalfSweet </div></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div>
-    <script type="module" src="/assets/app-ClwIkahu.js" defer></script>
+    <script type="module" src="/assets/app-Flo2gZk8.js" defer></script>
   </body>
 </html>
diff --git "a/tag/\345\265\214\345\205\245\345\274\217/index.html" "b/tag/\345\265\214\345\205\245\345\274\217/index.html"
index 77254a4..1366c7f 100644
--- "a/tag/\345\265\214\345\205\245\345\274\217/index.html"
+++ "b/tag/\345\265\214\345\205\245\345\274\217/index.html"
@@ -29,15 +29,15 @@
       }
     </script>
     <meta property="og:url" content="https://halfsweet.cn/tag/%E5%B5%8C%E5%85%A5%E5%BC%8F/"><meta property="og:site_name" content="HalfSweet's Blog"><meta property="og:title" content="标签: 嵌入式"><meta property="og:type" content="website"><meta property="og:locale" content="zh-CN"><meta property="article:author" content="HalfSweet"><script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","name":"标签: 嵌入式"}</script><title>标签: 嵌入式 | HalfSweet's Blog</title><meta name="description" content="半糖的博客">
-    <link rel="preload" href="/assets/style-BDwnt-CL.css" as="style"><link rel="stylesheet" href="/assets/style-BDwnt-CL.css">
-    <link rel="modulepreload" href="/assets/app-ClwIkahu.js"><link rel="modulepreload" href="/assets/index.html-kUwAIzkD.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
-    <link rel="prefetch" href="/assets/index.html-BjG6C5xb.js" as="script"><link rel="prefetch" href="/assets/index.html-6gNmrYKw.js" as="script"><link rel="prefetch" href="/assets/index.html-W8DPbcPd.js" as="script"><link rel="prefetch" href="/assets/index.html-75fD8c0W.js" as="script"><link rel="prefetch" href="/assets/index.html-CufQKtZU.js" as="script"><link rel="prefetch" href="/assets/index.html-Bqe7scks.js" as="script"><link rel="prefetch" href="/assets/index.html-B5-KeVPb.js" as="script"><link rel="prefetch" href="/assets/index.html-C7FigsQF.js" as="script"><link rel="prefetch" href="/assets/index.html-DtEE6E7f.js" as="script"><link rel="prefetch" href="/assets/index.html-0oPRY09N.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNCX4dz.js" as="script"><link rel="prefetch" href="/assets/index.html-XtQdJJI8.js" as="script"><link rel="prefetch" href="/assets/index.html-CnJ0E6b5.js" as="script"><link rel="prefetch" href="/assets/index.html-CFhDcrZp.js" as="script"><link rel="prefetch" href="/assets/index.html-Bd1PkxNi.js" as="script"><link rel="prefetch" href="/assets/index.html-DJ-_mZ9n.js" as="script"><link rel="prefetch" href="/assets/index.html-jFzM8lrm.js" as="script"><link rel="prefetch" href="/assets/404.html-VMfaDGRx.js" as="script"><link rel="prefetch" href="/assets/index.html-BaR2aqhq.js" as="script"><link rel="prefetch" href="/assets/index.html-DO2xY2T5.js" as="script"><link rel="prefetch" href="/assets/index.html-BEwHBlkc.js" as="script"><link rel="prefetch" href="/assets/index.html-DZIt3Q5g.js" as="script"><link rel="prefetch" href="/assets/index.html-Dd9JrssL.js" as="script"><link rel="prefetch" href="/assets/index.html-BjPOIJdK.js" as="script"><link rel="prefetch" href="/assets/index.html-CmtlWOBH.js" as="script"><link rel="prefetch" href="/assets/index.html-CR-9qG2Y.js" as="script"><link rel="prefetch" href="/assets/index.html-CwWDCYUS.js" as="script"><link rel="prefetch" href="/assets/index.html-CptFZpi0.js" as="script"><link rel="prefetch" href="/assets/index.html-p6Y7Jm3n.js" as="script"><link rel="prefetch" href="/assets/index.html-CIen8cvO.js" as="script"><link rel="prefetch" href="/assets/index.html-BKUs44hv.js" as="script"><link rel="prefetch" href="/assets/index.html-D0wSSTgQ.js" as="script"><link rel="prefetch" href="/assets/index.html-DqsCIdcm.js" as="script"><link rel="prefetch" href="/assets/index.html-BqgjNdmg.js" as="script"><link rel="prefetch" href="/assets/index.html-DIaDLRqn.js" as="script"><link rel="prefetch" href="/assets/index.html-DhcL23aG.js" as="script"><link rel="prefetch" href="/assets/index.html-Bk9EBjUw.js" as="script"><link rel="prefetch" href="/assets/index.html-C0X-QC5U.js" as="script"><link rel="prefetch" href="/assets/index.html-ZwD6xCF4.js" as="script"><link rel="prefetch" href="/assets/index.html-BdqadbH8.js" as="script"><link rel="prefetch" href="/assets/index.html-D7Uf3Wbw.js" as="script"><link rel="prefetch" href="/assets/index.html-CsuDpoYK.js" as="script"><link rel="prefetch" href="/assets/index.html-Dc2bdBF2.js" as="script"><link rel="prefetch" href="/assets/index.html-BzgkemtD.js" as="script"><link rel="prefetch" href="/assets/index.html-7uHHiaZx.js" as="script"><link rel="prefetch" href="/assets/index.html-TGoZudvZ.js" as="script"><link rel="prefetch" href="/assets/index.html-DbCWijUV.js" as="script"><link rel="prefetch" href="/assets/index.html-DOCRL60a.js" as="script"><link rel="prefetch" href="/assets/index.html-B8qYb7wb.js" as="script"><link rel="prefetch" href="/assets/index.html-CpBdG6tv.js" as="script"><link rel="prefetch" href="/assets/index.html-DdE0h7xo.js" as="script"><link rel="prefetch" href="/assets/index.html-BlsdgZAc.js" as="script"><link rel="prefetch" href="/assets/index.html-Du74cC6X.js" as="script"><link rel="prefetch" href="/assets/index.html-CTp2Oa39.js" as="script"><link rel="prefetch" href="/assets/index.html-Bz73p56D.js" as="script"><link rel="prefetch" href="/assets/index.html-BktjQtFB.js" as="script"><link rel="prefetch" href="/assets/index.html-DPl--Ppt.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-BF52VcER.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CgYxLcm_.js" as="script"><link rel="prefetch" href="/assets/artplayer-CHAGXahu.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-BOVnG7as.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-CbA2In8H.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-Do1ld-lW.js" as="script"><link rel="prefetch" href="/assets/giscus-7BMGhbDA.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-SzV8tJDW.js" as="script">
+    <link rel="preload" href="/assets/style-7DTFFHvh.css" as="style"><link rel="stylesheet" href="/assets/style-7DTFFHvh.css">
+    <link rel="modulepreload" href="/assets/app-Flo2gZk8.js"><link rel="modulepreload" href="/assets/index.html-DPF-EyUV.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
+    <link rel="prefetch" href="/assets/index.html-BhtLl4n3.js" as="script"><link rel="prefetch" href="/assets/index.html-C6yte3a0.js" as="script"><link rel="prefetch" href="/assets/index.html-R-cHHIas.js" as="script"><link rel="prefetch" href="/assets/index.html-CPUAg15t.js" as="script"><link rel="prefetch" href="/assets/index.html-BjdnOCC5.js" as="script"><link rel="prefetch" href="/assets/index.html-7Xyk7CrU.js" as="script"><link rel="prefetch" href="/assets/index.html-BNW3YRR3.js" as="script"><link rel="prefetch" href="/assets/index.html-jClrTNl3.js" as="script"><link rel="prefetch" href="/assets/index.html-tFfBEjXi.js" as="script"><link rel="prefetch" href="/assets/index.html-DgPmeCdQ.js" as="script"><link rel="prefetch" href="/assets/index.html-CxRigd-R.js" as="script"><link rel="prefetch" href="/assets/index.html-BWPjJqfa.js" as="script"><link rel="prefetch" href="/assets/index.html-DzG2EJXJ.js" as="script"><link rel="prefetch" href="/assets/index.html-B45efyIG.js" as="script"><link rel="prefetch" href="/assets/index.html-D_Px6PD2.js" as="script"><link rel="prefetch" href="/assets/index.html-U1Oe9QlK.js" as="script"><link rel="prefetch" href="/assets/index.html-fvB3i9PM.js" as="script"><link rel="prefetch" href="/assets/404.html-mkIobPP0.js" as="script"><link rel="prefetch" href="/assets/index.html-DGqb01LU.js" as="script"><link rel="prefetch" href="/assets/index.html-GZfFX8ok.js" as="script"><link rel="prefetch" href="/assets/index.html-vhaMR1PK.js" as="script"><link rel="prefetch" href="/assets/index.html-CvSEeOlH.js" as="script"><link rel="prefetch" href="/assets/index.html-BmplSMWS.js" as="script"><link rel="prefetch" href="/assets/index.html-C2sDDxGY.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNwolvq.js" as="script"><link rel="prefetch" href="/assets/index.html-DhSSZBRU.js" as="script"><link rel="prefetch" href="/assets/index.html-DPcGNBru.js" as="script"><link rel="prefetch" href="/assets/index.html-BFJ0kKZP.js" as="script"><link rel="prefetch" href="/assets/index.html-CBW4olfB.js" as="script"><link rel="prefetch" href="/assets/index.html-CiBWk0Bg.js" as="script"><link rel="prefetch" href="/assets/index.html-AFWYFeTY.js" as="script"><link rel="prefetch" href="/assets/index.html-DlrkN0XZ.js" as="script"><link rel="prefetch" href="/assets/index.html-Cb-sPtFS.js" as="script"><link rel="prefetch" href="/assets/index.html-AqhAiBBF.js" as="script"><link rel="prefetch" href="/assets/index.html-DLZdHb6J.js" as="script"><link rel="prefetch" href="/assets/index.html-Cpr5viHS.js" as="script"><link rel="prefetch" href="/assets/index.html-BXxGxqK4.js" as="script"><link rel="prefetch" href="/assets/index.html-4asd-b47.js" as="script"><link rel="prefetch" href="/assets/index.html-ZITi3OK2.js" as="script"><link rel="prefetch" href="/assets/index.html-DJMKg_M6.js" as="script"><link rel="prefetch" href="/assets/index.html-Y__KWg8u.js" as="script"><link rel="prefetch" href="/assets/index.html--BIzY7gk.js" as="script"><link rel="prefetch" href="/assets/index.html-BRHXQqdq.js" as="script"><link rel="prefetch" href="/assets/index.html-C_2nkQ6B.js" as="script"><link rel="prefetch" href="/assets/index.html-R9oSKuoP.js" as="script"><link rel="prefetch" href="/assets/index.html-DY-KY6vi.js" as="script"><link rel="prefetch" href="/assets/index.html-BSndmKE7.js" as="script"><link rel="prefetch" href="/assets/index.html-BDmR_g70.js" as="script"><link rel="prefetch" href="/assets/index.html-CpeDyHcd.js" as="script"><link rel="prefetch" href="/assets/index.html-DV9WiiCS.js" as="script"><link rel="prefetch" href="/assets/index.html-DTceWJaH.js" as="script"><link rel="prefetch" href="/assets/index.html-2WOtvPq_.js" as="script"><link rel="prefetch" href="/assets/index.html-DCVozm3V.js" as="script"><link rel="prefetch" href="/assets/index.html-vKhQGG0S.js" as="script"><link rel="prefetch" href="/assets/index.html-BlvUTCvM.js" as="script"><link rel="prefetch" href="/assets/index.html-vIW8aJUJ.js" as="script"><link rel="prefetch" href="/assets/index.html-CTuZCChr.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-S0Hns9UN.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CSFeuThZ.js" as="script"><link rel="prefetch" href="/assets/artplayer-DnixxQIM.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-DaNo29Rn.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-nRkOMaNb.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-DQalTb-T.js" as="script"><link rel="prefetch" href="/assets/giscus-D-fkNSKD.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-GXRgw7eJ.js" as="script">
   </head>
   <body>
     <div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container no-sidebar"><!--[--><header id="navbar" class="vp-navbar"><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><!--[--><a class="route-link vp-brand" href="/"><img class="vp-nav-logo" src="/img/Headshot.jpg" alt><!----><span class="vp-site-name hide-in-pad">HalfSweet&#39;s Blog</span></a><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-center"><!--[--><!----><!--]--><!--[--><nav class="vp-nav-links"><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/posts/" aria-label="文章"><span class="font-icon icon app" style=""></span>文章<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/about/" aria-label="关于"><span class="font-icon icon user" style=""></span>关于<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/friends/" aria-label="友链"><span class="font-icon icon link" style=""></span>友链<!----></a></div></nav><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-end"><!--[--><!----><!--]--><!--[--><!----><div class="nav-item vp-repo"><a class="vp-repo-link" href="https://github.com/HalfSweet/Blog" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><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"></path></svg></a></div><div class="nav-item hide-in-mobile"><button type="button" id="appearance-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" style="display:block;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" style="display:none;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" style="display:none;"><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"></path></svg></button></div><!----><!--]--><!--[--><!----><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar"><!--[--><!----><!--]--><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></li><li><section class="vp-sidebar-group"><p class="vp-sidebar-header"><span class="font-icon icon book" style=""></span><span class="vp-sidebar-title">文章</span><!----></p><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-Clion/" aria-label="使用 Clion 来进行 Air32 的开发"><!---->使用 Clion 来进行 Air32 的开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-MCO/" aria-label="Air32 的 HAL 改造——适配 MCO"><!---->Air32 的 HAL 改造——适配 MCO<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/HelloWorld/" aria-label="HelloWorld"><!---->HelloWorld<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/STC_CoreMark/" aria-label="不服来跑个分?将 CoreMark 移植到 STC 上试试"><!---->不服来跑个分?将 CoreMark 移植到 STC 上试试<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="为什么我对第三代郊狼失望"><!---->为什么我对第三代郊狼失望<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-HighFreq/" aria-label="发挥全部实力!Air32 在 HAL 库环境下运行最高主频"><!---->发挥全部实力!Air32 在 HAL 库环境下运行最高主频<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/embedded_fmtlib/" aria-label="在嵌入式设备上使用fmtlib"><!---->在嵌入式设备上使用fmtlib<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/conda_novelai/" aria-label="基于conda进行手动配置novelAI"><!---->基于conda进行手动配置novelAI<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="对《为什么我对第三代郊狼失望》一文的澄清说明"><!---->对《为什么我对第三代郊狼失望》一文的澄清说明<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Empedded-CI-CD/" aria-label="嵌入式中的 CI/CD"><!---->嵌入式中的 CI/CD<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/MDK6-Dev/" aria-label="更现代的开发方式?使用 MDK6 进行开发"><!---->更现代的开发方式?使用 MDK6 进行开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/SEGGER-RTT/" aria-label="更高效的日志查看方式——使用SEGGER-RTT"><!---->更高效的日志查看方式——使用SEGGER-RTT<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/EpdTraps1/" aria-label="墨水屏的坑——7.5寸墨水屏刷新为何出现条纹"><!---->墨水屏的坑——7.5寸墨水屏刷新为何出现条纹<!----></a></li></ul></section></li></ul><!--[--><!----><!--]--></aside><!--[--><div class="vp-page vp-blog"><div class="blog-page-wrapper"><main id="main-content" class="vp-blog-main"><ul class="tag-list-wrapper"><li class="tag tag8"><a class="route-link" href="/tag/%E5%90%88%E5%AE%99/">合宙<span class="tag-num">6</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/air32/">Air32<span class="tag-num">4</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/air001/">Air001<span class="tag-num">3</span></a></li><li class="tag tag2 active"><a class="route-link" href="/tag/%E5%B5%8C%E5%85%A5%E5%BC%8F/">嵌入式<span class="tag-num">2</span></a></li><li class="tag tag6"><a class="route-link" href="/tag/%E7%A2%8E%E7%A2%8E%E5%BF%B5/">碎碎念<span class="tag-num">2</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/%E9%83%8A%E7%8B%BC/">郊狼<span class="tag-num">2</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/mco/">MCO<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/helloworld/">HelloWorld<span class="tag-num">1</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/stc32/">STC32<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/stc8/">STC8<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/coremark/">CoreMark<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/clion/">Clion<span class="tag-num">1</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/%E8%B6%85%E9%A2%91/">超频<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/fmtlib/">fmtlib<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/esp8266/">ESP8266<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/esp32/">ESP32<span class="tag-num">1</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/arduino/">Arduino<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/platformio/">PlatformIO<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/esp-idf/">ESP-IDF<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/">人工智能<span class="tag-num">1</span></a></li><li class="tag tag1"><a class="route-link" href="/tag/novelai/">novelAI<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/conda/">conda<span class="tag-num">1</span></a></li><li class="tag tag7"><a class="route-link" href="/tag/%E5%A2%A8%E6%B0%B4%E5%B1%8F/">墨水屏<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/uc8179/">UC8179<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/depg0750rwu790f30/">DEPG0750RWU790F30<span class="tag-num">1</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/%E9%81%87%E5%88%B0%E7%9A%84%E5%9D%91/">遇到的坑<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/cicd/">CI/CD<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/%E6%97%A5%E5%BF%97/">日志<span class="tag-num">1</span></a></li></ul><div id="article-list" class="vp-article-list" role="feed"><div class="vp-article-wrapper"><article class="vp-article-item" vocab="https://schema.org/" typeof="Article"><!--[--><!--]--><!----><a class="route-link" href="/posts/STC_CoreMark/"><header class="vp-article-title"><!----><!----><span property="headline">不服来跑个分?将 CoreMark 移植到 STC 上试试</span></header></a><div class="vp-article-excerpt"><p>最近维护的 Air001 准备上线了,为了衬托出其强大的性价比,因此我想来做点<s>缺德</s>的事,让我们来和同样以高打性价比的 STC 系列单片机来对比下 CoreMark 的跑分吧,本文将会详细介绍移植过程以及跑分结果。测试的 MCU 为<code>降龙棍 STC32G12K128</code>与<code>打狗棒 STC8H8K64U</code>。</p>
 <p>通用,本文同样适用于 Arm-Cortex M 架构的 MCU。</p>
 </div><hr class="vp-article-hr"><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2023-04-14T17:39:36.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>大约 5 分钟</span><meta property="timeRequired" content="PT5M"></span><span class="page-category-info" aria-label="分类🌈" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg><!--[--><span class="page-category-item category8 clickable" role="navigation">单片机</span><!--]--><meta property="articleSection" content="单片机"></span><span class="page-tag-info" aria-label="标签🏷" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg><!--[--><span class="page-tag-item tag3 clickable" role="navigation">STC32</span><span class="page-tag-item tag8 clickable" role="navigation">STC8</span><span class="page-tag-item tag2 clickable" role="navigation">嵌入式</span><span class="page-tag-item tag2 clickable" role="navigation">CoreMark</span><!--]--><meta property="keywords" content="STC32,STC8,嵌入式,CoreMark"></span></div></article></div><div class="vp-article-wrapper"><article class="vp-article-item" vocab="https://schema.org/" typeof="Article"><!--[--><!--]--><!----><a class="route-link" href="/posts/embedded_fmtlib/"><header class="vp-article-title"><!----><!----><span property="headline">在嵌入式设备上使用fmtlib</span></header></a><div class="vp-article-excerpt"><p>众所周知,在c++20以上的标准已经支持了<code>std::format</code>进行格式化输出,不过显而易见,嵌入式领域想要得到支持显然遥遥无期。但是我们已经厌倦了使用sprintf等方式来格式化字符串,c++的流特性又显得不够优雅,怎么才能用上类似于Python中format这样的方式来格式化并输出想要的字符串呢。</p>
 </div><hr class="vp-article-hr"><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2023-02-03T14:08:57.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>大约 5 分钟</span><meta property="timeRequired" content="PT5M"></span><span class="page-category-info" aria-label="分类🌈" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg><!--[--><span class="page-category-item category1 clickable" role="navigation">posts</span><!--]--><meta property="articleSection" content="posts"></span><span class="page-tag-info" aria-label="标签🏷" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg><!--[--><span class="page-tag-item tag8 clickable" role="navigation">fmtlib</span><span class="page-tag-item tag2 clickable" role="navigation">嵌入式</span><span class="page-tag-item tag8 clickable" role="navigation">ESP8266</span><span class="page-tag-item tag2 clickable" role="navigation">ESP32</span><span class="page-tag-item tag3 clickable" role="navigation">Arduino</span><span class="page-tag-item tag5 clickable" role="navigation">PlatformIO</span><span class="page-tag-item tag0 clickable" role="navigation">ESP-IDF</span><!--]--><meta property="keywords" content="fmtlib,嵌入式,ESP8266,ESP32,Arduino,PlatformIO,ESP-IDF"></span></div></article></div><div class="vp-pagination"></div></div></main><aside class="vp-blog-info-wrapper"><div class="vp-blogger-info" vocab="https://schema.org/" typeof="Person"><div class="vp-blogger" style="cursor:pointer;" aria-label="个人介绍" data-balloon-pos="down" role="link"><img class="vp-blogger-avatar" src="/img/Headshot.jpg" property="image" alt="Blogger Avatar" loading="lazy"><div class="vp-blogger-name" property="name">HalfSweet</div><div class="vp-blogger-description">Try to create some value</div><meta property="url" content="/Catalogue/02.about.html"></div><div class="vp-blog-counts"><a class="route-link vp-blog-count" href="/article/"><div class="count">13</div><div>文章</div></a><a class="route-link vp-blog-count" href="/category/"><div class="count">5</div><div>分类</div></a><a class="route-link vp-blog-count" href="/tag/"><div class="count">28</div><div>标签</div></a><a class="route-link vp-blog-count" href="/timeline/"><div class="count">13</div><div>时间轴</div></a></div><div class="vp-social-medias"><a class="vp-social-media" href="mailto:HalfSweet@HalfSweet.cn" rel="noopener noreferrer" target="_blank" aria-label="Email" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon email-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#1384FF"/><path fill="#fff" d="M270.077 286.233H751.99c32.933 0 59.86 24.855 60.274 55.51l-301.023 157L210.217 341.88c.207-30.723 26.927-55.717 59.86-55.717zm-59.929 115.714-.276 277.756c0 30.931 27.134 56.2 60.205 56.2H751.99c33.14 0 60.274-25.269 60.274-56.2V401.81L518.283 551.492a15.88 15.88 0 0 1-14.43 0L210.148 401.947z"/></svg></a><a class="vp-social-media" href="https://github.com/HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="GitHub" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#171515"/><path fill="#fff" d="M509.423 146.442c-200.317 0-362.756 162.42-362.756 362.8 0 160.266 103.936 296.24 248.109 344.217 18.139 3.327 24.76-7.872 24.76-17.486 0-8.613-.313-31.427-.49-61.702-100.912 21.923-122.205-48.63-122.205-48.63-16.495-41.91-40.28-53.067-40.28-53.067-32.937-22.51 2.492-22.053 2.492-22.053 36.407 2.566 55.568 37.386 55.568 37.386 32.362 55.438 84.907 39.43 105.58 30.143 3.296-23.444 12.667-39.43 23.032-48.498-80.557-9.156-165.246-40.28-165.246-179.297 0-39.604 14.135-71.988 37.342-97.348-3.731-9.178-16.18-46.063 3.556-96.009 0 0 30.46-9.754 99.76 37.19 28.937-8.048 59.97-12.071 90.823-12.211 30.807.14 61.843 4.165 90.822 12.21 69.26-46.944 99.663-37.189 99.663-37.189 19.792 49.946 7.34 86.831 3.61 96.01 23.25 25.359 37.29 57.742 37.29 97.347 0 139.366-84.82 170.033-165.637 179.013 13.026 11.2 24.628 33.342 24.628 67.182 0 48.498-.445 87.627-.445 99.521 0 9.702 6.535 20.988 24.945 17.444 144.03-48.067 247.881-183.95 247.881-344.175 0-200.378-162.442-362.798-362.802-362.798z"/></svg></a><a class="vp-social-media" href="https://twitter.com/_HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="Twitter" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon twitter-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512"/><path fill="#FFF" d="m560 473 186-216h-44L540 445 411 257H262l195 284-195 226h44l171-198 136 198h149zM322 290h68l312 445h-68z"/></svg></a></div></div><div class="vp-blog-infos"><div class="vp-blog-type-switcher"><button type="button" class="vp-blog-type-button"><div class="icon-wrapper active" aria-label="文章" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="分类" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="标签" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="时间轴" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timeline-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timeline icon"><path d="M511.997 70.568c-243.797 0-441.429 197.633-441.429 441.435 0 243.797 197.632 441.429 441.43 441.429S953.431 755.8 953.431 512.002c0-243.796-197.637-441.434-441.435-441.434zm150.158 609.093-15.605 15.61c-8.621 8.615-22.596 8.615-31.215 0L472.197 552.126c-4.95-4.944-4.34-14.888-4.34-24.677V247.14c0-12.19 9.882-22.07 22.07-22.07h22.07c12.19 0 22.07 9.882 22.07 22.07v273.218l128.088 128.088c8.62 8.62 8.62 22.595 0 31.215zm0 0"></path></svg></div></button></div><div class="vp-star-article-wrapper"><div class="title"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg><span class="num">13</span>文章</div><hr><div class="vp-star-article-empty">星标 为空</div></div></div></aside></div></div><!--]--><footer class="vp-footer-wrapper"><div class="vp-footer">今天咕咕被欺负了吗</div><div class="vp-copyright">Copyright © 2024 HalfSweet </div></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div>
-    <script type="module" src="/assets/app-ClwIkahu.js" defer></script>
+    <script type="module" src="/assets/app-Flo2gZk8.js" defer></script>
   </body>
 </html>
diff --git "a/tag/\346\227\245\345\277\227/index.html" "b/tag/\346\227\245\345\277\227/index.html"
index fe088b2..e62c259 100644
--- "a/tag/\346\227\245\345\277\227/index.html"
+++ "b/tag/\346\227\245\345\277\227/index.html"
@@ -29,13 +29,13 @@
       }
     </script>
     <meta property="og:url" content="https://halfsweet.cn/tag/%E6%97%A5%E5%BF%97/"><meta property="og:site_name" content="HalfSweet's Blog"><meta property="og:title" content="标签: 日志"><meta property="og:type" content="website"><meta property="og:locale" content="zh-CN"><meta property="article:author" content="HalfSweet"><script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","name":"标签: 日志"}</script><title>标签: 日志 | HalfSweet's Blog</title><meta name="description" content="半糖的博客">
-    <link rel="preload" href="/assets/style-BDwnt-CL.css" as="style"><link rel="stylesheet" href="/assets/style-BDwnt-CL.css">
-    <link rel="modulepreload" href="/assets/app-ClwIkahu.js"><link rel="modulepreload" href="/assets/index.html-CTp2Oa39.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
-    <link rel="prefetch" href="/assets/index.html-BjG6C5xb.js" as="script"><link rel="prefetch" href="/assets/index.html-6gNmrYKw.js" as="script"><link rel="prefetch" href="/assets/index.html-W8DPbcPd.js" as="script"><link rel="prefetch" href="/assets/index.html-75fD8c0W.js" as="script"><link rel="prefetch" href="/assets/index.html-CufQKtZU.js" as="script"><link rel="prefetch" href="/assets/index.html-Bqe7scks.js" as="script"><link rel="prefetch" href="/assets/index.html-B5-KeVPb.js" as="script"><link rel="prefetch" href="/assets/index.html-C7FigsQF.js" as="script"><link rel="prefetch" href="/assets/index.html-DtEE6E7f.js" as="script"><link rel="prefetch" href="/assets/index.html-0oPRY09N.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNCX4dz.js" as="script"><link rel="prefetch" href="/assets/index.html-XtQdJJI8.js" as="script"><link rel="prefetch" href="/assets/index.html-CnJ0E6b5.js" as="script"><link rel="prefetch" href="/assets/index.html-CFhDcrZp.js" as="script"><link rel="prefetch" href="/assets/index.html-Bd1PkxNi.js" as="script"><link rel="prefetch" href="/assets/index.html-DJ-_mZ9n.js" as="script"><link rel="prefetch" href="/assets/index.html-jFzM8lrm.js" as="script"><link rel="prefetch" href="/assets/404.html-VMfaDGRx.js" as="script"><link rel="prefetch" href="/assets/index.html-BaR2aqhq.js" as="script"><link rel="prefetch" href="/assets/index.html-DO2xY2T5.js" as="script"><link rel="prefetch" href="/assets/index.html-BEwHBlkc.js" as="script"><link rel="prefetch" href="/assets/index.html-DZIt3Q5g.js" as="script"><link rel="prefetch" href="/assets/index.html-Dd9JrssL.js" as="script"><link rel="prefetch" href="/assets/index.html-BjPOIJdK.js" as="script"><link rel="prefetch" href="/assets/index.html-CmtlWOBH.js" as="script"><link rel="prefetch" href="/assets/index.html-CR-9qG2Y.js" as="script"><link rel="prefetch" href="/assets/index.html-CwWDCYUS.js" as="script"><link rel="prefetch" href="/assets/index.html-CptFZpi0.js" as="script"><link rel="prefetch" href="/assets/index.html-p6Y7Jm3n.js" as="script"><link rel="prefetch" href="/assets/index.html-CIen8cvO.js" as="script"><link rel="prefetch" href="/assets/index.html-BKUs44hv.js" as="script"><link rel="prefetch" href="/assets/index.html-D0wSSTgQ.js" as="script"><link rel="prefetch" href="/assets/index.html-DqsCIdcm.js" as="script"><link rel="prefetch" href="/assets/index.html-kUwAIzkD.js" as="script"><link rel="prefetch" href="/assets/index.html-BqgjNdmg.js" as="script"><link rel="prefetch" href="/assets/index.html-DIaDLRqn.js" as="script"><link rel="prefetch" href="/assets/index.html-DhcL23aG.js" as="script"><link rel="prefetch" href="/assets/index.html-Bk9EBjUw.js" as="script"><link rel="prefetch" href="/assets/index.html-C0X-QC5U.js" as="script"><link rel="prefetch" href="/assets/index.html-ZwD6xCF4.js" as="script"><link rel="prefetch" href="/assets/index.html-BdqadbH8.js" as="script"><link rel="prefetch" href="/assets/index.html-D7Uf3Wbw.js" as="script"><link rel="prefetch" href="/assets/index.html-CsuDpoYK.js" as="script"><link rel="prefetch" href="/assets/index.html-Dc2bdBF2.js" as="script"><link rel="prefetch" href="/assets/index.html-BzgkemtD.js" as="script"><link rel="prefetch" href="/assets/index.html-7uHHiaZx.js" as="script"><link rel="prefetch" href="/assets/index.html-TGoZudvZ.js" as="script"><link rel="prefetch" href="/assets/index.html-DbCWijUV.js" as="script"><link rel="prefetch" href="/assets/index.html-DOCRL60a.js" as="script"><link rel="prefetch" href="/assets/index.html-B8qYb7wb.js" as="script"><link rel="prefetch" href="/assets/index.html-CpBdG6tv.js" as="script"><link rel="prefetch" href="/assets/index.html-DdE0h7xo.js" as="script"><link rel="prefetch" href="/assets/index.html-BlsdgZAc.js" as="script"><link rel="prefetch" href="/assets/index.html-Du74cC6X.js" as="script"><link rel="prefetch" href="/assets/index.html-Bz73p56D.js" as="script"><link rel="prefetch" href="/assets/index.html-BktjQtFB.js" as="script"><link rel="prefetch" href="/assets/index.html-DPl--Ppt.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-BF52VcER.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CgYxLcm_.js" as="script"><link rel="prefetch" href="/assets/artplayer-CHAGXahu.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-BOVnG7as.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-CbA2In8H.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-Do1ld-lW.js" as="script"><link rel="prefetch" href="/assets/giscus-7BMGhbDA.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-SzV8tJDW.js" as="script">
+    <link rel="preload" href="/assets/style-7DTFFHvh.css" as="style"><link rel="stylesheet" href="/assets/style-7DTFFHvh.css">
+    <link rel="modulepreload" href="/assets/app-Flo2gZk8.js"><link rel="modulepreload" href="/assets/index.html-vKhQGG0S.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
+    <link rel="prefetch" href="/assets/index.html-BhtLl4n3.js" as="script"><link rel="prefetch" href="/assets/index.html-C6yte3a0.js" as="script"><link rel="prefetch" href="/assets/index.html-R-cHHIas.js" as="script"><link rel="prefetch" href="/assets/index.html-CPUAg15t.js" as="script"><link rel="prefetch" href="/assets/index.html-BjdnOCC5.js" as="script"><link rel="prefetch" href="/assets/index.html-7Xyk7CrU.js" as="script"><link rel="prefetch" href="/assets/index.html-BNW3YRR3.js" as="script"><link rel="prefetch" href="/assets/index.html-jClrTNl3.js" as="script"><link rel="prefetch" href="/assets/index.html-tFfBEjXi.js" as="script"><link rel="prefetch" href="/assets/index.html-DgPmeCdQ.js" as="script"><link rel="prefetch" href="/assets/index.html-CxRigd-R.js" as="script"><link rel="prefetch" href="/assets/index.html-BWPjJqfa.js" as="script"><link rel="prefetch" href="/assets/index.html-DzG2EJXJ.js" as="script"><link rel="prefetch" href="/assets/index.html-B45efyIG.js" as="script"><link rel="prefetch" href="/assets/index.html-D_Px6PD2.js" as="script"><link rel="prefetch" href="/assets/index.html-U1Oe9QlK.js" as="script"><link rel="prefetch" href="/assets/index.html-fvB3i9PM.js" as="script"><link rel="prefetch" href="/assets/404.html-mkIobPP0.js" as="script"><link rel="prefetch" href="/assets/index.html-DGqb01LU.js" as="script"><link rel="prefetch" href="/assets/index.html-GZfFX8ok.js" as="script"><link rel="prefetch" href="/assets/index.html-vhaMR1PK.js" as="script"><link rel="prefetch" href="/assets/index.html-CvSEeOlH.js" as="script"><link rel="prefetch" href="/assets/index.html-BmplSMWS.js" as="script"><link rel="prefetch" href="/assets/index.html-C2sDDxGY.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNwolvq.js" as="script"><link rel="prefetch" href="/assets/index.html-DhSSZBRU.js" as="script"><link rel="prefetch" href="/assets/index.html-DPcGNBru.js" as="script"><link rel="prefetch" href="/assets/index.html-BFJ0kKZP.js" as="script"><link rel="prefetch" href="/assets/index.html-CBW4olfB.js" as="script"><link rel="prefetch" href="/assets/index.html-CiBWk0Bg.js" as="script"><link rel="prefetch" href="/assets/index.html-AFWYFeTY.js" as="script"><link rel="prefetch" href="/assets/index.html-DlrkN0XZ.js" as="script"><link rel="prefetch" href="/assets/index.html-Cb-sPtFS.js" as="script"><link rel="prefetch" href="/assets/index.html-DPF-EyUV.js" as="script"><link rel="prefetch" href="/assets/index.html-AqhAiBBF.js" as="script"><link rel="prefetch" href="/assets/index.html-DLZdHb6J.js" as="script"><link rel="prefetch" href="/assets/index.html-Cpr5viHS.js" as="script"><link rel="prefetch" href="/assets/index.html-BXxGxqK4.js" as="script"><link rel="prefetch" href="/assets/index.html-4asd-b47.js" as="script"><link rel="prefetch" href="/assets/index.html-ZITi3OK2.js" as="script"><link rel="prefetch" href="/assets/index.html-DJMKg_M6.js" as="script"><link rel="prefetch" href="/assets/index.html-Y__KWg8u.js" as="script"><link rel="prefetch" href="/assets/index.html--BIzY7gk.js" as="script"><link rel="prefetch" href="/assets/index.html-BRHXQqdq.js" as="script"><link rel="prefetch" href="/assets/index.html-C_2nkQ6B.js" as="script"><link rel="prefetch" href="/assets/index.html-R9oSKuoP.js" as="script"><link rel="prefetch" href="/assets/index.html-DY-KY6vi.js" as="script"><link rel="prefetch" href="/assets/index.html-BSndmKE7.js" as="script"><link rel="prefetch" href="/assets/index.html-BDmR_g70.js" as="script"><link rel="prefetch" href="/assets/index.html-CpeDyHcd.js" as="script"><link rel="prefetch" href="/assets/index.html-DV9WiiCS.js" as="script"><link rel="prefetch" href="/assets/index.html-DTceWJaH.js" as="script"><link rel="prefetch" href="/assets/index.html-2WOtvPq_.js" as="script"><link rel="prefetch" href="/assets/index.html-DCVozm3V.js" as="script"><link rel="prefetch" href="/assets/index.html-BlvUTCvM.js" as="script"><link rel="prefetch" href="/assets/index.html-vIW8aJUJ.js" as="script"><link rel="prefetch" href="/assets/index.html-CTuZCChr.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-S0Hns9UN.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CSFeuThZ.js" as="script"><link rel="prefetch" href="/assets/artplayer-DnixxQIM.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-DaNo29Rn.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-nRkOMaNb.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-DQalTb-T.js" as="script"><link rel="prefetch" href="/assets/giscus-D-fkNSKD.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-GXRgw7eJ.js" as="script">
   </head>
   <body>
     <div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container no-sidebar"><!--[--><header id="navbar" class="vp-navbar"><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><!--[--><a class="route-link vp-brand" href="/"><img class="vp-nav-logo" src="/img/Headshot.jpg" alt><!----><span class="vp-site-name hide-in-pad">HalfSweet&#39;s Blog</span></a><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-center"><!--[--><!----><!--]--><!--[--><nav class="vp-nav-links"><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/posts/" aria-label="文章"><span class="font-icon icon app" style=""></span>文章<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/about/" aria-label="关于"><span class="font-icon icon user" style=""></span>关于<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/friends/" aria-label="友链"><span class="font-icon icon link" style=""></span>友链<!----></a></div></nav><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-end"><!--[--><!----><!--]--><!--[--><!----><div class="nav-item vp-repo"><a class="vp-repo-link" href="https://github.com/HalfSweet/Blog" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><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"></path></svg></a></div><div class="nav-item hide-in-mobile"><button type="button" id="appearance-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" style="display:block;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" style="display:none;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" style="display:none;"><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"></path></svg></button></div><!----><!--]--><!--[--><!----><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar"><!--[--><!----><!--]--><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></li><li><section class="vp-sidebar-group"><p class="vp-sidebar-header"><span class="font-icon icon book" style=""></span><span class="vp-sidebar-title">文章</span><!----></p><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-Clion/" aria-label="使用 Clion 来进行 Air32 的开发"><!---->使用 Clion 来进行 Air32 的开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-MCO/" aria-label="Air32 的 HAL 改造——适配 MCO"><!---->Air32 的 HAL 改造——适配 MCO<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/HelloWorld/" aria-label="HelloWorld"><!---->HelloWorld<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/STC_CoreMark/" aria-label="不服来跑个分?将 CoreMark 移植到 STC 上试试"><!---->不服来跑个分?将 CoreMark 移植到 STC 上试试<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="为什么我对第三代郊狼失望"><!---->为什么我对第三代郊狼失望<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-HighFreq/" aria-label="发挥全部实力!Air32 在 HAL 库环境下运行最高主频"><!---->发挥全部实力!Air32 在 HAL 库环境下运行最高主频<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/embedded_fmtlib/" aria-label="在嵌入式设备上使用fmtlib"><!---->在嵌入式设备上使用fmtlib<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/conda_novelai/" aria-label="基于conda进行手动配置novelAI"><!---->基于conda进行手动配置novelAI<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="对《为什么我对第三代郊狼失望》一文的澄清说明"><!---->对《为什么我对第三代郊狼失望》一文的澄清说明<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Empedded-CI-CD/" aria-label="嵌入式中的 CI/CD"><!---->嵌入式中的 CI/CD<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/MDK6-Dev/" aria-label="更现代的开发方式?使用 MDK6 进行开发"><!---->更现代的开发方式?使用 MDK6 进行开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/SEGGER-RTT/" aria-label="更高效的日志查看方式——使用SEGGER-RTT"><!---->更高效的日志查看方式——使用SEGGER-RTT<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/EpdTraps1/" aria-label="墨水屏的坑——7.5寸墨水屏刷新为何出现条纹"><!---->墨水屏的坑——7.5寸墨水屏刷新为何出现条纹<!----></a></li></ul></section></li></ul><!--[--><!----><!--]--></aside><!--[--><div class="vp-page vp-blog"><div class="blog-page-wrapper"><main id="main-content" class="vp-blog-main"><ul class="tag-list-wrapper"><li class="tag tag8"><a class="route-link" href="/tag/%E5%90%88%E5%AE%99/">合宙<span class="tag-num">6</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/air32/">Air32<span class="tag-num">4</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/air001/">Air001<span class="tag-num">3</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/%E5%B5%8C%E5%85%A5%E5%BC%8F/">嵌入式<span class="tag-num">2</span></a></li><li class="tag tag6"><a class="route-link" href="/tag/%E7%A2%8E%E7%A2%8E%E5%BF%B5/">碎碎念<span class="tag-num">2</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/%E9%83%8A%E7%8B%BC/">郊狼<span class="tag-num">2</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/mco/">MCO<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/helloworld/">HelloWorld<span class="tag-num">1</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/stc32/">STC32<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/stc8/">STC8<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/coremark/">CoreMark<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/clion/">Clion<span class="tag-num">1</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/%E8%B6%85%E9%A2%91/">超频<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/fmtlib/">fmtlib<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/esp8266/">ESP8266<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/esp32/">ESP32<span class="tag-num">1</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/arduino/">Arduino<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/platformio/">PlatformIO<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/esp-idf/">ESP-IDF<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/">人工智能<span class="tag-num">1</span></a></li><li class="tag tag1"><a class="route-link" href="/tag/novelai/">novelAI<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/conda/">conda<span class="tag-num">1</span></a></li><li class="tag tag7"><a class="route-link" href="/tag/%E5%A2%A8%E6%B0%B4%E5%B1%8F/">墨水屏<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/uc8179/">UC8179<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/depg0750rwu790f30/">DEPG0750RWU790F30<span class="tag-num">1</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/%E9%81%87%E5%88%B0%E7%9A%84%E5%9D%91/">遇到的坑<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/cicd/">CI/CD<span class="tag-num">1</span></a></li><li class="tag tag0 active"><a class="route-link" href="/tag/%E6%97%A5%E5%BF%97/">日志<span class="tag-num">1</span></a></li></ul><div id="article-list" class="vp-article-list" role="feed"><div class="vp-article-wrapper"><article class="vp-article-item" vocab="https://schema.org/" typeof="Article"><!--[--><!--]--><!----><a class="route-link" href="/posts/SEGGER-RTT/"><header class="vp-article-title"><!----><!----><span property="headline">更高效的日志查看方式——使用SEGGER-RTT</span></header></a><div class="vp-article-excerpt"><p>在日常的开发中,我们免不了使用各种各样的日志打印方式,使用调试器固然好用,但是无法直接打印局部变量以及会打断整个运行状态。并且对于众多<code>Arduino</code>的用户来说,直接打印日志显然是更直观的做法。但是直接使用串口打印的话需要一定的资源,并且速度会稍慢,并且可能会占用一个串口,对于资源就不多的MCU,我们有没有更方便的方法呢?</p>
 </div><hr class="vp-article-hr"><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2023-05-06T14:48:05.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>大约 3 分钟</span><meta property="timeRequired" content="PT3M"></span><span class="page-category-info" aria-label="分类🌈" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg><!--[--><span class="page-category-item category8 clickable" role="navigation">单片机</span><!--]--><meta property="articleSection" content="单片机"></span><span class="page-tag-info" aria-label="标签🏷" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg><!--[--><span class="page-tag-item tag8 clickable" role="navigation">Air001</span><span class="page-tag-item tag8 clickable" role="navigation">合宙</span><span class="page-tag-item tag0 clickable" role="navigation">日志</span><!--]--><meta property="keywords" content="Air001,合宙,日志"></span></div></article></div><div class="vp-pagination"></div></div></main><aside class="vp-blog-info-wrapper"><div class="vp-blogger-info" vocab="https://schema.org/" typeof="Person"><div class="vp-blogger" style="cursor:pointer;" aria-label="个人介绍" data-balloon-pos="down" role="link"><img class="vp-blogger-avatar" src="/img/Headshot.jpg" property="image" alt="Blogger Avatar" loading="lazy"><div class="vp-blogger-name" property="name">HalfSweet</div><div class="vp-blogger-description">Try to create some value</div><meta property="url" content="/Catalogue/02.about.html"></div><div class="vp-blog-counts"><a class="route-link vp-blog-count" href="/article/"><div class="count">13</div><div>文章</div></a><a class="route-link vp-blog-count" href="/category/"><div class="count">5</div><div>分类</div></a><a class="route-link vp-blog-count" href="/tag/"><div class="count">28</div><div>标签</div></a><a class="route-link vp-blog-count" href="/timeline/"><div class="count">13</div><div>时间轴</div></a></div><div class="vp-social-medias"><a class="vp-social-media" href="mailto:HalfSweet@HalfSweet.cn" rel="noopener noreferrer" target="_blank" aria-label="Email" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon email-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#1384FF"/><path fill="#fff" d="M270.077 286.233H751.99c32.933 0 59.86 24.855 60.274 55.51l-301.023 157L210.217 341.88c.207-30.723 26.927-55.717 59.86-55.717zm-59.929 115.714-.276 277.756c0 30.931 27.134 56.2 60.205 56.2H751.99c33.14 0 60.274-25.269 60.274-56.2V401.81L518.283 551.492a15.88 15.88 0 0 1-14.43 0L210.148 401.947z"/></svg></a><a class="vp-social-media" href="https://github.com/HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="GitHub" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#171515"/><path fill="#fff" d="M509.423 146.442c-200.317 0-362.756 162.42-362.756 362.8 0 160.266 103.936 296.24 248.109 344.217 18.139 3.327 24.76-7.872 24.76-17.486 0-8.613-.313-31.427-.49-61.702-100.912 21.923-122.205-48.63-122.205-48.63-16.495-41.91-40.28-53.067-40.28-53.067-32.937-22.51 2.492-22.053 2.492-22.053 36.407 2.566 55.568 37.386 55.568 37.386 32.362 55.438 84.907 39.43 105.58 30.143 3.296-23.444 12.667-39.43 23.032-48.498-80.557-9.156-165.246-40.28-165.246-179.297 0-39.604 14.135-71.988 37.342-97.348-3.731-9.178-16.18-46.063 3.556-96.009 0 0 30.46-9.754 99.76 37.19 28.937-8.048 59.97-12.071 90.823-12.211 30.807.14 61.843 4.165 90.822 12.21 69.26-46.944 99.663-37.189 99.663-37.189 19.792 49.946 7.34 86.831 3.61 96.01 23.25 25.359 37.29 57.742 37.29 97.347 0 139.366-84.82 170.033-165.637 179.013 13.026 11.2 24.628 33.342 24.628 67.182 0 48.498-.445 87.627-.445 99.521 0 9.702 6.535 20.988 24.945 17.444 144.03-48.067 247.881-183.95 247.881-344.175 0-200.378-162.442-362.798-362.802-362.798z"/></svg></a><a class="vp-social-media" href="https://twitter.com/_HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="Twitter" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon twitter-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512"/><path fill="#FFF" d="m560 473 186-216h-44L540 445 411 257H262l195 284-195 226h44l171-198 136 198h149zM322 290h68l312 445h-68z"/></svg></a></div></div><div class="vp-blog-infos"><div class="vp-blog-type-switcher"><button type="button" class="vp-blog-type-button"><div class="icon-wrapper active" aria-label="文章" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="分类" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="标签" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="时间轴" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timeline-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timeline icon"><path d="M511.997 70.568c-243.797 0-441.429 197.633-441.429 441.435 0 243.797 197.632 441.429 441.43 441.429S953.431 755.8 953.431 512.002c0-243.796-197.637-441.434-441.435-441.434zm150.158 609.093-15.605 15.61c-8.621 8.615-22.596 8.615-31.215 0L472.197 552.126c-4.95-4.944-4.34-14.888-4.34-24.677V247.14c0-12.19 9.882-22.07 22.07-22.07h22.07c12.19 0 22.07 9.882 22.07 22.07v273.218l128.088 128.088c8.62 8.62 8.62 22.595 0 31.215zm0 0"></path></svg></div></button></div><div class="vp-star-article-wrapper"><div class="title"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg><span class="num">13</span>文章</div><hr><div class="vp-star-article-empty">星标 为空</div></div></div></aside></div></div><!--]--><footer class="vp-footer-wrapper"><div class="vp-footer">今天咕咕被欺负了吗</div><div class="vp-copyright">Copyright © 2024 HalfSweet </div></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div>
-    <script type="module" src="/assets/app-ClwIkahu.js" defer></script>
+    <script type="module" src="/assets/app-Flo2gZk8.js" defer></script>
   </body>
 </html>
diff --git "a/tag/\347\242\216\347\242\216\345\277\265/index.html" "b/tag/\347\242\216\347\242\216\345\277\265/index.html"
index 7c23a2e..1c0c51b 100644
--- "a/tag/\347\242\216\347\242\216\345\277\265/index.html"
+++ "b/tag/\347\242\216\347\242\216\345\277\265/index.html"
@@ -29,14 +29,14 @@
       }
     </script>
     <meta property="og:url" content="https://halfsweet.cn/tag/%E7%A2%8E%E7%A2%8E%E5%BF%B5/"><meta property="og:site_name" content="HalfSweet's Blog"><meta property="og:title" content="标签: 碎碎念"><meta property="og:type" content="website"><meta property="og:locale" content="zh-CN"><meta property="article:author" content="HalfSweet"><script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","name":"标签: 碎碎念"}</script><title>标签: 碎碎念 | HalfSweet's Blog</title><meta name="description" content="半糖的博客">
-    <link rel="preload" href="/assets/style-BDwnt-CL.css" as="style"><link rel="stylesheet" href="/assets/style-BDwnt-CL.css">
-    <link rel="modulepreload" href="/assets/app-ClwIkahu.js"><link rel="modulepreload" href="/assets/index.html-DIaDLRqn.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
-    <link rel="prefetch" href="/assets/index.html-BjG6C5xb.js" as="script"><link rel="prefetch" href="/assets/index.html-6gNmrYKw.js" as="script"><link rel="prefetch" href="/assets/index.html-W8DPbcPd.js" as="script"><link rel="prefetch" href="/assets/index.html-75fD8c0W.js" as="script"><link rel="prefetch" href="/assets/index.html-CufQKtZU.js" as="script"><link rel="prefetch" href="/assets/index.html-Bqe7scks.js" as="script"><link rel="prefetch" href="/assets/index.html-B5-KeVPb.js" as="script"><link rel="prefetch" href="/assets/index.html-C7FigsQF.js" as="script"><link rel="prefetch" href="/assets/index.html-DtEE6E7f.js" as="script"><link rel="prefetch" href="/assets/index.html-0oPRY09N.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNCX4dz.js" as="script"><link rel="prefetch" href="/assets/index.html-XtQdJJI8.js" as="script"><link rel="prefetch" href="/assets/index.html-CnJ0E6b5.js" as="script"><link rel="prefetch" href="/assets/index.html-CFhDcrZp.js" as="script"><link rel="prefetch" href="/assets/index.html-Bd1PkxNi.js" as="script"><link rel="prefetch" href="/assets/index.html-DJ-_mZ9n.js" as="script"><link rel="prefetch" href="/assets/index.html-jFzM8lrm.js" as="script"><link rel="prefetch" href="/assets/404.html-VMfaDGRx.js" as="script"><link rel="prefetch" href="/assets/index.html-BaR2aqhq.js" as="script"><link rel="prefetch" href="/assets/index.html-DO2xY2T5.js" as="script"><link rel="prefetch" href="/assets/index.html-BEwHBlkc.js" as="script"><link rel="prefetch" href="/assets/index.html-DZIt3Q5g.js" as="script"><link rel="prefetch" href="/assets/index.html-Dd9JrssL.js" as="script"><link rel="prefetch" href="/assets/index.html-BjPOIJdK.js" as="script"><link rel="prefetch" href="/assets/index.html-CmtlWOBH.js" as="script"><link rel="prefetch" href="/assets/index.html-CR-9qG2Y.js" as="script"><link rel="prefetch" href="/assets/index.html-CwWDCYUS.js" as="script"><link rel="prefetch" href="/assets/index.html-CptFZpi0.js" as="script"><link rel="prefetch" href="/assets/index.html-p6Y7Jm3n.js" as="script"><link rel="prefetch" href="/assets/index.html-CIen8cvO.js" as="script"><link rel="prefetch" href="/assets/index.html-BKUs44hv.js" as="script"><link rel="prefetch" href="/assets/index.html-D0wSSTgQ.js" as="script"><link rel="prefetch" href="/assets/index.html-DqsCIdcm.js" as="script"><link rel="prefetch" href="/assets/index.html-kUwAIzkD.js" as="script"><link rel="prefetch" href="/assets/index.html-BqgjNdmg.js" as="script"><link rel="prefetch" href="/assets/index.html-DhcL23aG.js" as="script"><link rel="prefetch" href="/assets/index.html-Bk9EBjUw.js" as="script"><link rel="prefetch" href="/assets/index.html-C0X-QC5U.js" as="script"><link rel="prefetch" href="/assets/index.html-ZwD6xCF4.js" as="script"><link rel="prefetch" href="/assets/index.html-BdqadbH8.js" as="script"><link rel="prefetch" href="/assets/index.html-D7Uf3Wbw.js" as="script"><link rel="prefetch" href="/assets/index.html-CsuDpoYK.js" as="script"><link rel="prefetch" href="/assets/index.html-Dc2bdBF2.js" as="script"><link rel="prefetch" href="/assets/index.html-BzgkemtD.js" as="script"><link rel="prefetch" href="/assets/index.html-7uHHiaZx.js" as="script"><link rel="prefetch" href="/assets/index.html-TGoZudvZ.js" as="script"><link rel="prefetch" href="/assets/index.html-DbCWijUV.js" as="script"><link rel="prefetch" href="/assets/index.html-DOCRL60a.js" as="script"><link rel="prefetch" href="/assets/index.html-B8qYb7wb.js" as="script"><link rel="prefetch" href="/assets/index.html-CpBdG6tv.js" as="script"><link rel="prefetch" href="/assets/index.html-DdE0h7xo.js" as="script"><link rel="prefetch" href="/assets/index.html-BlsdgZAc.js" as="script"><link rel="prefetch" href="/assets/index.html-Du74cC6X.js" as="script"><link rel="prefetch" href="/assets/index.html-CTp2Oa39.js" as="script"><link rel="prefetch" href="/assets/index.html-Bz73p56D.js" as="script"><link rel="prefetch" href="/assets/index.html-BktjQtFB.js" as="script"><link rel="prefetch" href="/assets/index.html-DPl--Ppt.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-BF52VcER.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CgYxLcm_.js" as="script"><link rel="prefetch" href="/assets/artplayer-CHAGXahu.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-BOVnG7as.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-CbA2In8H.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-Do1ld-lW.js" as="script"><link rel="prefetch" href="/assets/giscus-7BMGhbDA.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-SzV8tJDW.js" as="script">
+    <link rel="preload" href="/assets/style-7DTFFHvh.css" as="style"><link rel="stylesheet" href="/assets/style-7DTFFHvh.css">
+    <link rel="modulepreload" href="/assets/app-Flo2gZk8.js"><link rel="modulepreload" href="/assets/index.html-DLZdHb6J.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
+    <link rel="prefetch" href="/assets/index.html-BhtLl4n3.js" as="script"><link rel="prefetch" href="/assets/index.html-C6yte3a0.js" as="script"><link rel="prefetch" href="/assets/index.html-R-cHHIas.js" as="script"><link rel="prefetch" href="/assets/index.html-CPUAg15t.js" as="script"><link rel="prefetch" href="/assets/index.html-BjdnOCC5.js" as="script"><link rel="prefetch" href="/assets/index.html-7Xyk7CrU.js" as="script"><link rel="prefetch" href="/assets/index.html-BNW3YRR3.js" as="script"><link rel="prefetch" href="/assets/index.html-jClrTNl3.js" as="script"><link rel="prefetch" href="/assets/index.html-tFfBEjXi.js" as="script"><link rel="prefetch" href="/assets/index.html-DgPmeCdQ.js" as="script"><link rel="prefetch" href="/assets/index.html-CxRigd-R.js" as="script"><link rel="prefetch" href="/assets/index.html-BWPjJqfa.js" as="script"><link rel="prefetch" href="/assets/index.html-DzG2EJXJ.js" as="script"><link rel="prefetch" href="/assets/index.html-B45efyIG.js" as="script"><link rel="prefetch" href="/assets/index.html-D_Px6PD2.js" as="script"><link rel="prefetch" href="/assets/index.html-U1Oe9QlK.js" as="script"><link rel="prefetch" href="/assets/index.html-fvB3i9PM.js" as="script"><link rel="prefetch" href="/assets/404.html-mkIobPP0.js" as="script"><link rel="prefetch" href="/assets/index.html-DGqb01LU.js" as="script"><link rel="prefetch" href="/assets/index.html-GZfFX8ok.js" as="script"><link rel="prefetch" href="/assets/index.html-vhaMR1PK.js" as="script"><link rel="prefetch" href="/assets/index.html-CvSEeOlH.js" as="script"><link rel="prefetch" href="/assets/index.html-BmplSMWS.js" as="script"><link rel="prefetch" href="/assets/index.html-C2sDDxGY.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNwolvq.js" as="script"><link rel="prefetch" href="/assets/index.html-DhSSZBRU.js" as="script"><link rel="prefetch" href="/assets/index.html-DPcGNBru.js" as="script"><link rel="prefetch" href="/assets/index.html-BFJ0kKZP.js" as="script"><link rel="prefetch" href="/assets/index.html-CBW4olfB.js" as="script"><link rel="prefetch" href="/assets/index.html-CiBWk0Bg.js" as="script"><link rel="prefetch" href="/assets/index.html-AFWYFeTY.js" as="script"><link rel="prefetch" href="/assets/index.html-DlrkN0XZ.js" as="script"><link rel="prefetch" href="/assets/index.html-Cb-sPtFS.js" as="script"><link rel="prefetch" href="/assets/index.html-DPF-EyUV.js" as="script"><link rel="prefetch" href="/assets/index.html-AqhAiBBF.js" as="script"><link rel="prefetch" href="/assets/index.html-Cpr5viHS.js" as="script"><link rel="prefetch" href="/assets/index.html-BXxGxqK4.js" as="script"><link rel="prefetch" href="/assets/index.html-4asd-b47.js" as="script"><link rel="prefetch" href="/assets/index.html-ZITi3OK2.js" as="script"><link rel="prefetch" href="/assets/index.html-DJMKg_M6.js" as="script"><link rel="prefetch" href="/assets/index.html-Y__KWg8u.js" as="script"><link rel="prefetch" href="/assets/index.html--BIzY7gk.js" as="script"><link rel="prefetch" href="/assets/index.html-BRHXQqdq.js" as="script"><link rel="prefetch" href="/assets/index.html-C_2nkQ6B.js" as="script"><link rel="prefetch" href="/assets/index.html-R9oSKuoP.js" as="script"><link rel="prefetch" href="/assets/index.html-DY-KY6vi.js" as="script"><link rel="prefetch" href="/assets/index.html-BSndmKE7.js" as="script"><link rel="prefetch" href="/assets/index.html-BDmR_g70.js" as="script"><link rel="prefetch" href="/assets/index.html-CpeDyHcd.js" as="script"><link rel="prefetch" href="/assets/index.html-DV9WiiCS.js" as="script"><link rel="prefetch" href="/assets/index.html-DTceWJaH.js" as="script"><link rel="prefetch" href="/assets/index.html-2WOtvPq_.js" as="script"><link rel="prefetch" href="/assets/index.html-DCVozm3V.js" as="script"><link rel="prefetch" href="/assets/index.html-vKhQGG0S.js" as="script"><link rel="prefetch" href="/assets/index.html-BlvUTCvM.js" as="script"><link rel="prefetch" href="/assets/index.html-vIW8aJUJ.js" as="script"><link rel="prefetch" href="/assets/index.html-CTuZCChr.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-S0Hns9UN.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CSFeuThZ.js" as="script"><link rel="prefetch" href="/assets/artplayer-DnixxQIM.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-DaNo29Rn.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-nRkOMaNb.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-DQalTb-T.js" as="script"><link rel="prefetch" href="/assets/giscus-D-fkNSKD.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-GXRgw7eJ.js" as="script">
   </head>
   <body>
     <div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container no-sidebar"><!--[--><header id="navbar" class="vp-navbar"><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><!--[--><a class="route-link vp-brand" href="/"><img class="vp-nav-logo" src="/img/Headshot.jpg" alt><!----><span class="vp-site-name hide-in-pad">HalfSweet&#39;s Blog</span></a><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-center"><!--[--><!----><!--]--><!--[--><nav class="vp-nav-links"><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/posts/" aria-label="文章"><span class="font-icon icon app" style=""></span>文章<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/about/" aria-label="关于"><span class="font-icon icon user" style=""></span>关于<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/friends/" aria-label="友链"><span class="font-icon icon link" style=""></span>友链<!----></a></div></nav><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-end"><!--[--><!----><!--]--><!--[--><!----><div class="nav-item vp-repo"><a class="vp-repo-link" href="https://github.com/HalfSweet/Blog" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><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"></path></svg></a></div><div class="nav-item hide-in-mobile"><button type="button" id="appearance-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" style="display:block;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" style="display:none;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" style="display:none;"><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"></path></svg></button></div><!----><!--]--><!--[--><!----><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar"><!--[--><!----><!--]--><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></li><li><section class="vp-sidebar-group"><p class="vp-sidebar-header"><span class="font-icon icon book" style=""></span><span class="vp-sidebar-title">文章</span><!----></p><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-Clion/" aria-label="使用 Clion 来进行 Air32 的开发"><!---->使用 Clion 来进行 Air32 的开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-MCO/" aria-label="Air32 的 HAL 改造——适配 MCO"><!---->Air32 的 HAL 改造——适配 MCO<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/HelloWorld/" aria-label="HelloWorld"><!---->HelloWorld<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/STC_CoreMark/" aria-label="不服来跑个分?将 CoreMark 移植到 STC 上试试"><!---->不服来跑个分?将 CoreMark 移植到 STC 上试试<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="为什么我对第三代郊狼失望"><!---->为什么我对第三代郊狼失望<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-HighFreq/" aria-label="发挥全部实力!Air32 在 HAL 库环境下运行最高主频"><!---->发挥全部实力!Air32 在 HAL 库环境下运行最高主频<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/embedded_fmtlib/" aria-label="在嵌入式设备上使用fmtlib"><!---->在嵌入式设备上使用fmtlib<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/conda_novelai/" aria-label="基于conda进行手动配置novelAI"><!---->基于conda进行手动配置novelAI<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="对《为什么我对第三代郊狼失望》一文的澄清说明"><!---->对《为什么我对第三代郊狼失望》一文的澄清说明<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Empedded-CI-CD/" aria-label="嵌入式中的 CI/CD"><!---->嵌入式中的 CI/CD<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/MDK6-Dev/" aria-label="更现代的开发方式?使用 MDK6 进行开发"><!---->更现代的开发方式?使用 MDK6 进行开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/SEGGER-RTT/" aria-label="更高效的日志查看方式——使用SEGGER-RTT"><!---->更高效的日志查看方式——使用SEGGER-RTT<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/EpdTraps1/" aria-label="墨水屏的坑——7.5寸墨水屏刷新为何出现条纹"><!---->墨水屏的坑——7.5寸墨水屏刷新为何出现条纹<!----></a></li></ul></section></li></ul><!--[--><!----><!--]--></aside><!--[--><div class="vp-page vp-blog"><div class="blog-page-wrapper"><main id="main-content" class="vp-blog-main"><ul class="tag-list-wrapper"><li class="tag tag8"><a class="route-link" href="/tag/%E5%90%88%E5%AE%99/">合宙<span class="tag-num">6</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/air32/">Air32<span class="tag-num">4</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/air001/">Air001<span class="tag-num">3</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/%E5%B5%8C%E5%85%A5%E5%BC%8F/">嵌入式<span class="tag-num">2</span></a></li><li class="tag tag6 active"><a class="route-link" href="/tag/%E7%A2%8E%E7%A2%8E%E5%BF%B5/">碎碎念<span class="tag-num">2</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/%E9%83%8A%E7%8B%BC/">郊狼<span class="tag-num">2</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/mco/">MCO<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/helloworld/">HelloWorld<span class="tag-num">1</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/stc32/">STC32<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/stc8/">STC8<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/coremark/">CoreMark<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/clion/">Clion<span class="tag-num">1</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/%E8%B6%85%E9%A2%91/">超频<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/fmtlib/">fmtlib<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/esp8266/">ESP8266<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/esp32/">ESP32<span class="tag-num">1</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/arduino/">Arduino<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/platformio/">PlatformIO<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/esp-idf/">ESP-IDF<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/">人工智能<span class="tag-num">1</span></a></li><li class="tag tag1"><a class="route-link" href="/tag/novelai/">novelAI<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/conda/">conda<span class="tag-num">1</span></a></li><li class="tag tag7"><a class="route-link" href="/tag/%E5%A2%A8%E6%B0%B4%E5%B1%8F/">墨水屏<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/uc8179/">UC8179<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/depg0750rwu790f30/">DEPG0750RWU790F30<span class="tag-num">1</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/%E9%81%87%E5%88%B0%E7%9A%84%E5%9D%91/">遇到的坑<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/cicd/">CI/CD<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/%E6%97%A5%E5%BF%97/">日志<span class="tag-num">1</span></a></li></ul><div id="article-list" class="vp-article-list" role="feed"><div class="vp-article-wrapper"><article class="vp-article-item" vocab="https://schema.org/" typeof="Article"><!--[--><!--]--><!----><a class="route-link" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/"><header class="vp-article-title"><!----><!----><span property="headline">对《为什么我对第三代郊狼失望》一文的澄清说明</span></header></a><div class="vp-article-excerpt"><p>在上文 <a href="/posts/%E4%B8%BA%E4%BB%80%E4%B9%88%E6%88%91%E5%AF%B9%E7%AC%AC%E4%B8%89%E4%BB%A3%E9%83%8A%E7%8B%BC%E5%A4%B1%E6%9C%9B.html" target="_blank">为什么我对第三代郊狼失望</a> 一文中,我对于第三代郊狼的硬件部分进行了一些初步分析,因为没有详细的一些资料,因此在一些地方可能存在一些错误。在昨晚(2024-03-19)郊狼作者找到我,与我群群友进行了一番友好的长时间地交流,也解答了我对设计上的一些疑问。在本文中我们会逐步分析前文中提到的问题。</p>
 </div><hr class="vp-article-hr"><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2024-03-20T06:03:29.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>大约 5 分钟</span><meta property="timeRequired" content="PT5M"></span><span class="page-category-info" aria-label="分类🌈" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg><!--[--><span class="page-category-item category1 clickable" role="navigation">posts</span><!--]--><meta property="articleSection" content="posts"></span><span class="page-tag-info" aria-label="标签🏷" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg><!--[--><span class="page-tag-item tag6 clickable" role="navigation">碎碎念</span><span class="page-tag-item tag3 clickable" role="navigation">郊狼</span><!--]--><meta property="keywords" content="碎碎念,郊狼"></span></div></article></div><div class="vp-article-wrapper"><article class="vp-article-item" vocab="https://schema.org/" typeof="Article"><!--[--><!--]--><!----><a class="route-link" href="/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/"><header class="vp-article-title"><!----><!----><span property="headline">为什么我对第三代郊狼失望</span></header></a><div class="vp-article-excerpt"><p>最近第三代郊狼开始内测了,作为一名电子爱好者,自然不能错过这个机会。于是我以原价 368 元的主机,以及 128 元两个智能按钮的价格,购买了一套第三代郊狼。</p>
 </div><hr class="vp-article-hr"><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2024-03-15T17:59:26.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>大约 8 分钟</span><meta property="timeRequired" content="PT8M"></span><span class="page-category-info" aria-label="分类🌈" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg><!--[--><span class="page-category-item category1 clickable" role="navigation">posts</span><!--]--><meta property="articleSection" content="posts"></span><span class="page-tag-info" aria-label="标签🏷" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg><!--[--><span class="page-tag-item tag6 clickable" role="navigation">碎碎念</span><span class="page-tag-item tag3 clickable" role="navigation">郊狼</span><!--]--><meta property="keywords" content="碎碎念,郊狼"></span></div></article></div><div class="vp-pagination"></div></div></main><aside class="vp-blog-info-wrapper"><div class="vp-blogger-info" vocab="https://schema.org/" typeof="Person"><div class="vp-blogger" style="cursor:pointer;" aria-label="个人介绍" data-balloon-pos="down" role="link"><img class="vp-blogger-avatar" src="/img/Headshot.jpg" property="image" alt="Blogger Avatar" loading="lazy"><div class="vp-blogger-name" property="name">HalfSweet</div><div class="vp-blogger-description">Try to create some value</div><meta property="url" content="/Catalogue/02.about.html"></div><div class="vp-blog-counts"><a class="route-link vp-blog-count" href="/article/"><div class="count">13</div><div>文章</div></a><a class="route-link vp-blog-count" href="/category/"><div class="count">5</div><div>分类</div></a><a class="route-link vp-blog-count" href="/tag/"><div class="count">28</div><div>标签</div></a><a class="route-link vp-blog-count" href="/timeline/"><div class="count">13</div><div>时间轴</div></a></div><div class="vp-social-medias"><a class="vp-social-media" href="mailto:HalfSweet@HalfSweet.cn" rel="noopener noreferrer" target="_blank" aria-label="Email" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon email-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#1384FF"/><path fill="#fff" d="M270.077 286.233H751.99c32.933 0 59.86 24.855 60.274 55.51l-301.023 157L210.217 341.88c.207-30.723 26.927-55.717 59.86-55.717zm-59.929 115.714-.276 277.756c0 30.931 27.134 56.2 60.205 56.2H751.99c33.14 0 60.274-25.269 60.274-56.2V401.81L518.283 551.492a15.88 15.88 0 0 1-14.43 0L210.148 401.947z"/></svg></a><a class="vp-social-media" href="https://github.com/HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="GitHub" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#171515"/><path fill="#fff" d="M509.423 146.442c-200.317 0-362.756 162.42-362.756 362.8 0 160.266 103.936 296.24 248.109 344.217 18.139 3.327 24.76-7.872 24.76-17.486 0-8.613-.313-31.427-.49-61.702-100.912 21.923-122.205-48.63-122.205-48.63-16.495-41.91-40.28-53.067-40.28-53.067-32.937-22.51 2.492-22.053 2.492-22.053 36.407 2.566 55.568 37.386 55.568 37.386 32.362 55.438 84.907 39.43 105.58 30.143 3.296-23.444 12.667-39.43 23.032-48.498-80.557-9.156-165.246-40.28-165.246-179.297 0-39.604 14.135-71.988 37.342-97.348-3.731-9.178-16.18-46.063 3.556-96.009 0 0 30.46-9.754 99.76 37.19 28.937-8.048 59.97-12.071 90.823-12.211 30.807.14 61.843 4.165 90.822 12.21 69.26-46.944 99.663-37.189 99.663-37.189 19.792 49.946 7.34 86.831 3.61 96.01 23.25 25.359 37.29 57.742 37.29 97.347 0 139.366-84.82 170.033-165.637 179.013 13.026 11.2 24.628 33.342 24.628 67.182 0 48.498-.445 87.627-.445 99.521 0 9.702 6.535 20.988 24.945 17.444 144.03-48.067 247.881-183.95 247.881-344.175 0-200.378-162.442-362.798-362.802-362.798z"/></svg></a><a class="vp-social-media" href="https://twitter.com/_HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="Twitter" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon twitter-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512"/><path fill="#FFF" d="m560 473 186-216h-44L540 445 411 257H262l195 284-195 226h44l171-198 136 198h149zM322 290h68l312 445h-68z"/></svg></a></div></div><div class="vp-blog-infos"><div class="vp-blog-type-switcher"><button type="button" class="vp-blog-type-button"><div class="icon-wrapper active" aria-label="文章" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="分类" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="标签" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="时间轴" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timeline-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timeline icon"><path d="M511.997 70.568c-243.797 0-441.429 197.633-441.429 441.435 0 243.797 197.632 441.429 441.43 441.429S953.431 755.8 953.431 512.002c0-243.796-197.637-441.434-441.435-441.434zm150.158 609.093-15.605 15.61c-8.621 8.615-22.596 8.615-31.215 0L472.197 552.126c-4.95-4.944-4.34-14.888-4.34-24.677V247.14c0-12.19 9.882-22.07 22.07-22.07h22.07c12.19 0 22.07 9.882 22.07 22.07v273.218l128.088 128.088c8.62 8.62 8.62 22.595 0 31.215zm0 0"></path></svg></div></button></div><div class="vp-star-article-wrapper"><div class="title"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg><span class="num">13</span>文章</div><hr><div class="vp-star-article-empty">星标 为空</div></div></div></aside></div></div><!--]--><footer class="vp-footer-wrapper"><div class="vp-footer">今天咕咕被欺负了吗</div><div class="vp-copyright">Copyright © 2024 HalfSweet </div></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div>
-    <script type="module" src="/assets/app-ClwIkahu.js" defer></script>
+    <script type="module" src="/assets/app-Flo2gZk8.js" defer></script>
   </body>
 </html>
diff --git "a/tag/\350\266\205\351\242\221/index.html" "b/tag/\350\266\205\351\242\221/index.html"
index fbb6afc..04479e2 100644
--- "a/tag/\350\266\205\351\242\221/index.html"
+++ "b/tag/\350\266\205\351\242\221/index.html"
@@ -29,13 +29,13 @@
       }
     </script>
     <meta property="og:url" content="https://halfsweet.cn/tag/%E8%B6%85%E9%A2%91/"><meta property="og:site_name" content="HalfSweet's Blog"><meta property="og:title" content="标签: 超频"><meta property="og:type" content="website"><meta property="og:locale" content="zh-CN"><meta property="article:author" content="HalfSweet"><script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","name":"标签: 超频"}</script><title>标签: 超频 | HalfSweet's Blog</title><meta name="description" content="半糖的博客">
-    <link rel="preload" href="/assets/style-BDwnt-CL.css" as="style"><link rel="stylesheet" href="/assets/style-BDwnt-CL.css">
-    <link rel="modulepreload" href="/assets/app-ClwIkahu.js"><link rel="modulepreload" href="/assets/index.html-C0X-QC5U.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
-    <link rel="prefetch" href="/assets/index.html-BjG6C5xb.js" as="script"><link rel="prefetch" href="/assets/index.html-6gNmrYKw.js" as="script"><link rel="prefetch" href="/assets/index.html-W8DPbcPd.js" as="script"><link rel="prefetch" href="/assets/index.html-75fD8c0W.js" as="script"><link rel="prefetch" href="/assets/index.html-CufQKtZU.js" as="script"><link rel="prefetch" href="/assets/index.html-Bqe7scks.js" as="script"><link rel="prefetch" href="/assets/index.html-B5-KeVPb.js" as="script"><link rel="prefetch" href="/assets/index.html-C7FigsQF.js" as="script"><link rel="prefetch" href="/assets/index.html-DtEE6E7f.js" as="script"><link rel="prefetch" href="/assets/index.html-0oPRY09N.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNCX4dz.js" as="script"><link rel="prefetch" href="/assets/index.html-XtQdJJI8.js" as="script"><link rel="prefetch" href="/assets/index.html-CnJ0E6b5.js" as="script"><link rel="prefetch" href="/assets/index.html-CFhDcrZp.js" as="script"><link rel="prefetch" href="/assets/index.html-Bd1PkxNi.js" as="script"><link rel="prefetch" href="/assets/index.html-DJ-_mZ9n.js" as="script"><link rel="prefetch" href="/assets/index.html-jFzM8lrm.js" as="script"><link rel="prefetch" href="/assets/404.html-VMfaDGRx.js" as="script"><link rel="prefetch" href="/assets/index.html-BaR2aqhq.js" as="script"><link rel="prefetch" href="/assets/index.html-DO2xY2T5.js" as="script"><link rel="prefetch" href="/assets/index.html-BEwHBlkc.js" as="script"><link rel="prefetch" href="/assets/index.html-DZIt3Q5g.js" as="script"><link rel="prefetch" href="/assets/index.html-Dd9JrssL.js" as="script"><link rel="prefetch" href="/assets/index.html-BjPOIJdK.js" as="script"><link rel="prefetch" href="/assets/index.html-CmtlWOBH.js" as="script"><link rel="prefetch" href="/assets/index.html-CR-9qG2Y.js" as="script"><link rel="prefetch" href="/assets/index.html-CwWDCYUS.js" as="script"><link rel="prefetch" href="/assets/index.html-CptFZpi0.js" as="script"><link rel="prefetch" href="/assets/index.html-p6Y7Jm3n.js" as="script"><link rel="prefetch" href="/assets/index.html-CIen8cvO.js" as="script"><link rel="prefetch" href="/assets/index.html-BKUs44hv.js" as="script"><link rel="prefetch" href="/assets/index.html-D0wSSTgQ.js" as="script"><link rel="prefetch" href="/assets/index.html-DqsCIdcm.js" as="script"><link rel="prefetch" href="/assets/index.html-kUwAIzkD.js" as="script"><link rel="prefetch" href="/assets/index.html-BqgjNdmg.js" as="script"><link rel="prefetch" href="/assets/index.html-DIaDLRqn.js" as="script"><link rel="prefetch" href="/assets/index.html-DhcL23aG.js" as="script"><link rel="prefetch" href="/assets/index.html-Bk9EBjUw.js" as="script"><link rel="prefetch" href="/assets/index.html-ZwD6xCF4.js" as="script"><link rel="prefetch" href="/assets/index.html-BdqadbH8.js" as="script"><link rel="prefetch" href="/assets/index.html-D7Uf3Wbw.js" as="script"><link rel="prefetch" href="/assets/index.html-CsuDpoYK.js" as="script"><link rel="prefetch" href="/assets/index.html-Dc2bdBF2.js" as="script"><link rel="prefetch" href="/assets/index.html-BzgkemtD.js" as="script"><link rel="prefetch" href="/assets/index.html-7uHHiaZx.js" as="script"><link rel="prefetch" href="/assets/index.html-TGoZudvZ.js" as="script"><link rel="prefetch" href="/assets/index.html-DbCWijUV.js" as="script"><link rel="prefetch" href="/assets/index.html-DOCRL60a.js" as="script"><link rel="prefetch" href="/assets/index.html-B8qYb7wb.js" as="script"><link rel="prefetch" href="/assets/index.html-CpBdG6tv.js" as="script"><link rel="prefetch" href="/assets/index.html-DdE0h7xo.js" as="script"><link rel="prefetch" href="/assets/index.html-BlsdgZAc.js" as="script"><link rel="prefetch" href="/assets/index.html-Du74cC6X.js" as="script"><link rel="prefetch" href="/assets/index.html-CTp2Oa39.js" as="script"><link rel="prefetch" href="/assets/index.html-Bz73p56D.js" as="script"><link rel="prefetch" href="/assets/index.html-BktjQtFB.js" as="script"><link rel="prefetch" href="/assets/index.html-DPl--Ppt.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-BF52VcER.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CgYxLcm_.js" as="script"><link rel="prefetch" href="/assets/artplayer-CHAGXahu.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-BOVnG7as.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-CbA2In8H.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-Do1ld-lW.js" as="script"><link rel="prefetch" href="/assets/giscus-7BMGhbDA.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-SzV8tJDW.js" as="script">
+    <link rel="preload" href="/assets/style-7DTFFHvh.css" as="style"><link rel="stylesheet" href="/assets/style-7DTFFHvh.css">
+    <link rel="modulepreload" href="/assets/app-Flo2gZk8.js"><link rel="modulepreload" href="/assets/index.html-4asd-b47.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
+    <link rel="prefetch" href="/assets/index.html-BhtLl4n3.js" as="script"><link rel="prefetch" href="/assets/index.html-C6yte3a0.js" as="script"><link rel="prefetch" href="/assets/index.html-R-cHHIas.js" as="script"><link rel="prefetch" href="/assets/index.html-CPUAg15t.js" as="script"><link rel="prefetch" href="/assets/index.html-BjdnOCC5.js" as="script"><link rel="prefetch" href="/assets/index.html-7Xyk7CrU.js" as="script"><link rel="prefetch" href="/assets/index.html-BNW3YRR3.js" as="script"><link rel="prefetch" href="/assets/index.html-jClrTNl3.js" as="script"><link rel="prefetch" href="/assets/index.html-tFfBEjXi.js" as="script"><link rel="prefetch" href="/assets/index.html-DgPmeCdQ.js" as="script"><link rel="prefetch" href="/assets/index.html-CxRigd-R.js" as="script"><link rel="prefetch" href="/assets/index.html-BWPjJqfa.js" as="script"><link rel="prefetch" href="/assets/index.html-DzG2EJXJ.js" as="script"><link rel="prefetch" href="/assets/index.html-B45efyIG.js" as="script"><link rel="prefetch" href="/assets/index.html-D_Px6PD2.js" as="script"><link rel="prefetch" href="/assets/index.html-U1Oe9QlK.js" as="script"><link rel="prefetch" href="/assets/index.html-fvB3i9PM.js" as="script"><link rel="prefetch" href="/assets/404.html-mkIobPP0.js" as="script"><link rel="prefetch" href="/assets/index.html-DGqb01LU.js" as="script"><link rel="prefetch" href="/assets/index.html-GZfFX8ok.js" as="script"><link rel="prefetch" href="/assets/index.html-vhaMR1PK.js" as="script"><link rel="prefetch" href="/assets/index.html-CvSEeOlH.js" as="script"><link rel="prefetch" href="/assets/index.html-BmplSMWS.js" as="script"><link rel="prefetch" href="/assets/index.html-C2sDDxGY.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNwolvq.js" as="script"><link rel="prefetch" href="/assets/index.html-DhSSZBRU.js" as="script"><link rel="prefetch" href="/assets/index.html-DPcGNBru.js" as="script"><link rel="prefetch" href="/assets/index.html-BFJ0kKZP.js" as="script"><link rel="prefetch" href="/assets/index.html-CBW4olfB.js" as="script"><link rel="prefetch" href="/assets/index.html-CiBWk0Bg.js" as="script"><link rel="prefetch" href="/assets/index.html-AFWYFeTY.js" as="script"><link rel="prefetch" href="/assets/index.html-DlrkN0XZ.js" as="script"><link rel="prefetch" href="/assets/index.html-Cb-sPtFS.js" as="script"><link rel="prefetch" href="/assets/index.html-DPF-EyUV.js" as="script"><link rel="prefetch" href="/assets/index.html-AqhAiBBF.js" as="script"><link rel="prefetch" href="/assets/index.html-DLZdHb6J.js" as="script"><link rel="prefetch" href="/assets/index.html-Cpr5viHS.js" as="script"><link rel="prefetch" href="/assets/index.html-BXxGxqK4.js" as="script"><link rel="prefetch" href="/assets/index.html-ZITi3OK2.js" as="script"><link rel="prefetch" href="/assets/index.html-DJMKg_M6.js" as="script"><link rel="prefetch" href="/assets/index.html-Y__KWg8u.js" as="script"><link rel="prefetch" href="/assets/index.html--BIzY7gk.js" as="script"><link rel="prefetch" href="/assets/index.html-BRHXQqdq.js" as="script"><link rel="prefetch" href="/assets/index.html-C_2nkQ6B.js" as="script"><link rel="prefetch" href="/assets/index.html-R9oSKuoP.js" as="script"><link rel="prefetch" href="/assets/index.html-DY-KY6vi.js" as="script"><link rel="prefetch" href="/assets/index.html-BSndmKE7.js" as="script"><link rel="prefetch" href="/assets/index.html-BDmR_g70.js" as="script"><link rel="prefetch" href="/assets/index.html-CpeDyHcd.js" as="script"><link rel="prefetch" href="/assets/index.html-DV9WiiCS.js" as="script"><link rel="prefetch" href="/assets/index.html-DTceWJaH.js" as="script"><link rel="prefetch" href="/assets/index.html-2WOtvPq_.js" as="script"><link rel="prefetch" href="/assets/index.html-DCVozm3V.js" as="script"><link rel="prefetch" href="/assets/index.html-vKhQGG0S.js" as="script"><link rel="prefetch" href="/assets/index.html-BlvUTCvM.js" as="script"><link rel="prefetch" href="/assets/index.html-vIW8aJUJ.js" as="script"><link rel="prefetch" href="/assets/index.html-CTuZCChr.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-S0Hns9UN.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CSFeuThZ.js" as="script"><link rel="prefetch" href="/assets/artplayer-DnixxQIM.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-DaNo29Rn.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-nRkOMaNb.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-DQalTb-T.js" as="script"><link rel="prefetch" href="/assets/giscus-D-fkNSKD.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-GXRgw7eJ.js" as="script">
   </head>
   <body>
     <div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container no-sidebar"><!--[--><header id="navbar" class="vp-navbar"><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><!--[--><a class="route-link vp-brand" href="/"><img class="vp-nav-logo" src="/img/Headshot.jpg" alt><!----><span class="vp-site-name hide-in-pad">HalfSweet&#39;s Blog</span></a><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-center"><!--[--><!----><!--]--><!--[--><nav class="vp-nav-links"><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/posts/" aria-label="文章"><span class="font-icon icon app" style=""></span>文章<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/about/" aria-label="关于"><span class="font-icon icon user" style=""></span>关于<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/friends/" aria-label="友链"><span class="font-icon icon link" style=""></span>友链<!----></a></div></nav><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-end"><!--[--><!----><!--]--><!--[--><!----><div class="nav-item vp-repo"><a class="vp-repo-link" href="https://github.com/HalfSweet/Blog" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><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"></path></svg></a></div><div class="nav-item hide-in-mobile"><button type="button" id="appearance-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" style="display:block;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" style="display:none;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" style="display:none;"><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"></path></svg></button></div><!----><!--]--><!--[--><!----><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar"><!--[--><!----><!--]--><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></li><li><section class="vp-sidebar-group"><p class="vp-sidebar-header"><span class="font-icon icon book" style=""></span><span class="vp-sidebar-title">文章</span><!----></p><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-Clion/" aria-label="使用 Clion 来进行 Air32 的开发"><!---->使用 Clion 来进行 Air32 的开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-MCO/" aria-label="Air32 的 HAL 改造——适配 MCO"><!---->Air32 的 HAL 改造——适配 MCO<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/HelloWorld/" aria-label="HelloWorld"><!---->HelloWorld<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/STC_CoreMark/" aria-label="不服来跑个分?将 CoreMark 移植到 STC 上试试"><!---->不服来跑个分?将 CoreMark 移植到 STC 上试试<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="为什么我对第三代郊狼失望"><!---->为什么我对第三代郊狼失望<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-HighFreq/" aria-label="发挥全部实力!Air32 在 HAL 库环境下运行最高主频"><!---->发挥全部实力!Air32 在 HAL 库环境下运行最高主频<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/embedded_fmtlib/" aria-label="在嵌入式设备上使用fmtlib"><!---->在嵌入式设备上使用fmtlib<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/conda_novelai/" aria-label="基于conda进行手动配置novelAI"><!---->基于conda进行手动配置novelAI<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="对《为什么我对第三代郊狼失望》一文的澄清说明"><!---->对《为什么我对第三代郊狼失望》一文的澄清说明<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Empedded-CI-CD/" aria-label="嵌入式中的 CI/CD"><!---->嵌入式中的 CI/CD<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/MDK6-Dev/" aria-label="更现代的开发方式?使用 MDK6 进行开发"><!---->更现代的开发方式?使用 MDK6 进行开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/SEGGER-RTT/" aria-label="更高效的日志查看方式——使用SEGGER-RTT"><!---->更高效的日志查看方式——使用SEGGER-RTT<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/EpdTraps1/" aria-label="墨水屏的坑——7.5寸墨水屏刷新为何出现条纹"><!---->墨水屏的坑——7.5寸墨水屏刷新为何出现条纹<!----></a></li></ul></section></li></ul><!--[--><!----><!--]--></aside><!--[--><div class="vp-page vp-blog"><div class="blog-page-wrapper"><main id="main-content" class="vp-blog-main"><ul class="tag-list-wrapper"><li class="tag tag8"><a class="route-link" href="/tag/%E5%90%88%E5%AE%99/">合宙<span class="tag-num">6</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/air32/">Air32<span class="tag-num">4</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/air001/">Air001<span class="tag-num">3</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/%E5%B5%8C%E5%85%A5%E5%BC%8F/">嵌入式<span class="tag-num">2</span></a></li><li class="tag tag6"><a class="route-link" href="/tag/%E7%A2%8E%E7%A2%8E%E5%BF%B5/">碎碎念<span class="tag-num">2</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/%E9%83%8A%E7%8B%BC/">郊狼<span class="tag-num">2</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/mco/">MCO<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/helloworld/">HelloWorld<span class="tag-num">1</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/stc32/">STC32<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/stc8/">STC8<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/coremark/">CoreMark<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/clion/">Clion<span class="tag-num">1</span></a></li><li class="tag tag4 active"><a class="route-link" href="/tag/%E8%B6%85%E9%A2%91/">超频<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/fmtlib/">fmtlib<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/esp8266/">ESP8266<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/esp32/">ESP32<span class="tag-num">1</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/arduino/">Arduino<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/platformio/">PlatformIO<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/esp-idf/">ESP-IDF<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/">人工智能<span class="tag-num">1</span></a></li><li class="tag tag1"><a class="route-link" href="/tag/novelai/">novelAI<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/conda/">conda<span class="tag-num">1</span></a></li><li class="tag tag7"><a class="route-link" href="/tag/%E5%A2%A8%E6%B0%B4%E5%B1%8F/">墨水屏<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/uc8179/">UC8179<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/depg0750rwu790f30/">DEPG0750RWU790F30<span class="tag-num">1</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/%E9%81%87%E5%88%B0%E7%9A%84%E5%9D%91/">遇到的坑<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/cicd/">CI/CD<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/%E6%97%A5%E5%BF%97/">日志<span class="tag-num">1</span></a></li></ul><div id="article-list" class="vp-article-list" role="feed"><div class="vp-article-wrapper"><article class="vp-article-item" vocab="https://schema.org/" typeof="Article"><!--[--><!--]--><!----><a class="route-link" href="/posts/Air32-HAL-HighFreq/"><header class="vp-article-title"><!----><!----><span property="headline">发挥全部实力!Air32 在 HAL 库环境下运行最高主频</span></header></a><div class="vp-article-excerpt"><p>最近打算把 Air32 也吃上 Arduino,发挥全部性能,就不用像是 Air001 那样束手束脚了,但是问题是 Arduino 的库是基于 HAL 的,那要用上 Arduino 就必定得先适配 HAL 库,那我们就来先尝试在 HAL 下让 Air32 跑到最高主频吧。</p>
 </div><hr class="vp-article-hr"><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2023-08-20T20:30:00.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>大约 6 分钟</span><meta property="timeRequired" content="PT6M"></span><span class="page-category-info" aria-label="分类🌈" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg><!--[--><span class="page-category-item category8 clickable" role="navigation">单片机</span><!--]--><meta property="articleSection" content="单片机"></span><span class="page-tag-info" aria-label="标签🏷" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg><!--[--><span class="page-tag-item tag4 clickable" role="navigation">Air32</span><span class="page-tag-item tag8 clickable" role="navigation">合宙</span><span class="page-tag-item tag4 clickable" role="navigation">超频</span><!--]--><meta property="keywords" content="Air32,合宙,超频"></span></div></article></div><div class="vp-pagination"></div></div></main><aside class="vp-blog-info-wrapper"><div class="vp-blogger-info" vocab="https://schema.org/" typeof="Person"><div class="vp-blogger" style="cursor:pointer;" aria-label="个人介绍" data-balloon-pos="down" role="link"><img class="vp-blogger-avatar" src="/img/Headshot.jpg" property="image" alt="Blogger Avatar" loading="lazy"><div class="vp-blogger-name" property="name">HalfSweet</div><div class="vp-blogger-description">Try to create some value</div><meta property="url" content="/Catalogue/02.about.html"></div><div class="vp-blog-counts"><a class="route-link vp-blog-count" href="/article/"><div class="count">13</div><div>文章</div></a><a class="route-link vp-blog-count" href="/category/"><div class="count">5</div><div>分类</div></a><a class="route-link vp-blog-count" href="/tag/"><div class="count">28</div><div>标签</div></a><a class="route-link vp-blog-count" href="/timeline/"><div class="count">13</div><div>时间轴</div></a></div><div class="vp-social-medias"><a class="vp-social-media" href="mailto:HalfSweet@HalfSweet.cn" rel="noopener noreferrer" target="_blank" aria-label="Email" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon email-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#1384FF"/><path fill="#fff" d="M270.077 286.233H751.99c32.933 0 59.86 24.855 60.274 55.51l-301.023 157L210.217 341.88c.207-30.723 26.927-55.717 59.86-55.717zm-59.929 115.714-.276 277.756c0 30.931 27.134 56.2 60.205 56.2H751.99c33.14 0 60.274-25.269 60.274-56.2V401.81L518.283 551.492a15.88 15.88 0 0 1-14.43 0L210.148 401.947z"/></svg></a><a class="vp-social-media" href="https://github.com/HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="GitHub" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#171515"/><path fill="#fff" d="M509.423 146.442c-200.317 0-362.756 162.42-362.756 362.8 0 160.266 103.936 296.24 248.109 344.217 18.139 3.327 24.76-7.872 24.76-17.486 0-8.613-.313-31.427-.49-61.702-100.912 21.923-122.205-48.63-122.205-48.63-16.495-41.91-40.28-53.067-40.28-53.067-32.937-22.51 2.492-22.053 2.492-22.053 36.407 2.566 55.568 37.386 55.568 37.386 32.362 55.438 84.907 39.43 105.58 30.143 3.296-23.444 12.667-39.43 23.032-48.498-80.557-9.156-165.246-40.28-165.246-179.297 0-39.604 14.135-71.988 37.342-97.348-3.731-9.178-16.18-46.063 3.556-96.009 0 0 30.46-9.754 99.76 37.19 28.937-8.048 59.97-12.071 90.823-12.211 30.807.14 61.843 4.165 90.822 12.21 69.26-46.944 99.663-37.189 99.663-37.189 19.792 49.946 7.34 86.831 3.61 96.01 23.25 25.359 37.29 57.742 37.29 97.347 0 139.366-84.82 170.033-165.637 179.013 13.026 11.2 24.628 33.342 24.628 67.182 0 48.498-.445 87.627-.445 99.521 0 9.702 6.535 20.988 24.945 17.444 144.03-48.067 247.881-183.95 247.881-344.175 0-200.378-162.442-362.798-362.802-362.798z"/></svg></a><a class="vp-social-media" href="https://twitter.com/_HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="Twitter" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon twitter-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512"/><path fill="#FFF" d="m560 473 186-216h-44L540 445 411 257H262l195 284-195 226h44l171-198 136 198h149zM322 290h68l312 445h-68z"/></svg></a></div></div><div class="vp-blog-infos"><div class="vp-blog-type-switcher"><button type="button" class="vp-blog-type-button"><div class="icon-wrapper active" aria-label="文章" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="分类" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="标签" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="时间轴" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timeline-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timeline icon"><path d="M511.997 70.568c-243.797 0-441.429 197.633-441.429 441.435 0 243.797 197.632 441.429 441.43 441.429S953.431 755.8 953.431 512.002c0-243.796-197.637-441.434-441.435-441.434zm150.158 609.093-15.605 15.61c-8.621 8.615-22.596 8.615-31.215 0L472.197 552.126c-4.95-4.944-4.34-14.888-4.34-24.677V247.14c0-12.19 9.882-22.07 22.07-22.07h22.07c12.19 0 22.07 9.882 22.07 22.07v273.218l128.088 128.088c8.62 8.62 8.62 22.595 0 31.215zm0 0"></path></svg></div></button></div><div class="vp-star-article-wrapper"><div class="title"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg><span class="num">13</span>文章</div><hr><div class="vp-star-article-empty">星标 为空</div></div></div></aside></div></div><!--]--><footer class="vp-footer-wrapper"><div class="vp-footer">今天咕咕被欺负了吗</div><div class="vp-copyright">Copyright © 2024 HalfSweet </div></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div>
-    <script type="module" src="/assets/app-ClwIkahu.js" defer></script>
+    <script type="module" src="/assets/app-Flo2gZk8.js" defer></script>
   </body>
 </html>
diff --git "a/tag/\351\201\207\345\210\260\347\232\204\345\235\221/index.html" "b/tag/\351\201\207\345\210\260\347\232\204\345\235\221/index.html"
index 2c2cfc4..0bd9f10 100644
--- "a/tag/\351\201\207\345\210\260\347\232\204\345\235\221/index.html"
+++ "b/tag/\351\201\207\345\210\260\347\232\204\345\235\221/index.html"
@@ -29,9 +29,9 @@
       }
     </script>
     <meta property="og:url" content="https://halfsweet.cn/tag/%E9%81%87%E5%88%B0%E7%9A%84%E5%9D%91/"><meta property="og:site_name" content="HalfSweet's Blog"><meta property="og:title" content="标签: 遇到的坑"><meta property="og:type" content="website"><meta property="og:locale" content="zh-CN"><meta property="article:author" content="HalfSweet"><script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","name":"标签: 遇到的坑"}</script><title>标签: 遇到的坑 | HalfSweet's Blog</title><meta name="description" content="半糖的博客">
-    <link rel="preload" href="/assets/style-BDwnt-CL.css" as="style"><link rel="stylesheet" href="/assets/style-BDwnt-CL.css">
-    <link rel="modulepreload" href="/assets/app-ClwIkahu.js"><link rel="modulepreload" href="/assets/index.html-DdE0h7xo.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
-    <link rel="prefetch" href="/assets/index.html-BjG6C5xb.js" as="script"><link rel="prefetch" href="/assets/index.html-6gNmrYKw.js" as="script"><link rel="prefetch" href="/assets/index.html-W8DPbcPd.js" as="script"><link rel="prefetch" href="/assets/index.html-75fD8c0W.js" as="script"><link rel="prefetch" href="/assets/index.html-CufQKtZU.js" as="script"><link rel="prefetch" href="/assets/index.html-Bqe7scks.js" as="script"><link rel="prefetch" href="/assets/index.html-B5-KeVPb.js" as="script"><link rel="prefetch" href="/assets/index.html-C7FigsQF.js" as="script"><link rel="prefetch" href="/assets/index.html-DtEE6E7f.js" as="script"><link rel="prefetch" href="/assets/index.html-0oPRY09N.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNCX4dz.js" as="script"><link rel="prefetch" href="/assets/index.html-XtQdJJI8.js" as="script"><link rel="prefetch" href="/assets/index.html-CnJ0E6b5.js" as="script"><link rel="prefetch" href="/assets/index.html-CFhDcrZp.js" as="script"><link rel="prefetch" href="/assets/index.html-Bd1PkxNi.js" as="script"><link rel="prefetch" href="/assets/index.html-DJ-_mZ9n.js" as="script"><link rel="prefetch" href="/assets/index.html-jFzM8lrm.js" as="script"><link rel="prefetch" href="/assets/404.html-VMfaDGRx.js" as="script"><link rel="prefetch" href="/assets/index.html-BaR2aqhq.js" as="script"><link rel="prefetch" href="/assets/index.html-DO2xY2T5.js" as="script"><link rel="prefetch" href="/assets/index.html-BEwHBlkc.js" as="script"><link rel="prefetch" href="/assets/index.html-DZIt3Q5g.js" as="script"><link rel="prefetch" href="/assets/index.html-Dd9JrssL.js" as="script"><link rel="prefetch" href="/assets/index.html-BjPOIJdK.js" as="script"><link rel="prefetch" href="/assets/index.html-CmtlWOBH.js" as="script"><link rel="prefetch" href="/assets/index.html-CR-9qG2Y.js" as="script"><link rel="prefetch" href="/assets/index.html-CwWDCYUS.js" as="script"><link rel="prefetch" href="/assets/index.html-CptFZpi0.js" as="script"><link rel="prefetch" href="/assets/index.html-p6Y7Jm3n.js" as="script"><link rel="prefetch" href="/assets/index.html-CIen8cvO.js" as="script"><link rel="prefetch" href="/assets/index.html-BKUs44hv.js" as="script"><link rel="prefetch" href="/assets/index.html-D0wSSTgQ.js" as="script"><link rel="prefetch" href="/assets/index.html-DqsCIdcm.js" as="script"><link rel="prefetch" href="/assets/index.html-kUwAIzkD.js" as="script"><link rel="prefetch" href="/assets/index.html-BqgjNdmg.js" as="script"><link rel="prefetch" href="/assets/index.html-DIaDLRqn.js" as="script"><link rel="prefetch" href="/assets/index.html-DhcL23aG.js" as="script"><link rel="prefetch" href="/assets/index.html-Bk9EBjUw.js" as="script"><link rel="prefetch" href="/assets/index.html-C0X-QC5U.js" as="script"><link rel="prefetch" href="/assets/index.html-ZwD6xCF4.js" as="script"><link rel="prefetch" href="/assets/index.html-BdqadbH8.js" as="script"><link rel="prefetch" href="/assets/index.html-D7Uf3Wbw.js" as="script"><link rel="prefetch" href="/assets/index.html-CsuDpoYK.js" as="script"><link rel="prefetch" href="/assets/index.html-Dc2bdBF2.js" as="script"><link rel="prefetch" href="/assets/index.html-BzgkemtD.js" as="script"><link rel="prefetch" href="/assets/index.html-7uHHiaZx.js" as="script"><link rel="prefetch" href="/assets/index.html-TGoZudvZ.js" as="script"><link rel="prefetch" href="/assets/index.html-DbCWijUV.js" as="script"><link rel="prefetch" href="/assets/index.html-DOCRL60a.js" as="script"><link rel="prefetch" href="/assets/index.html-B8qYb7wb.js" as="script"><link rel="prefetch" href="/assets/index.html-CpBdG6tv.js" as="script"><link rel="prefetch" href="/assets/index.html-BlsdgZAc.js" as="script"><link rel="prefetch" href="/assets/index.html-Du74cC6X.js" as="script"><link rel="prefetch" href="/assets/index.html-CTp2Oa39.js" as="script"><link rel="prefetch" href="/assets/index.html-Bz73p56D.js" as="script"><link rel="prefetch" href="/assets/index.html-BktjQtFB.js" as="script"><link rel="prefetch" href="/assets/index.html-DPl--Ppt.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-BF52VcER.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CgYxLcm_.js" as="script"><link rel="prefetch" href="/assets/artplayer-CHAGXahu.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-BOVnG7as.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-CbA2In8H.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-Do1ld-lW.js" as="script"><link rel="prefetch" href="/assets/giscus-7BMGhbDA.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-SzV8tJDW.js" as="script">
+    <link rel="preload" href="/assets/style-7DTFFHvh.css" as="style"><link rel="stylesheet" href="/assets/style-7DTFFHvh.css">
+    <link rel="modulepreload" href="/assets/app-Flo2gZk8.js"><link rel="modulepreload" href="/assets/index.html-DTceWJaH.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
+    <link rel="prefetch" href="/assets/index.html-BhtLl4n3.js" as="script"><link rel="prefetch" href="/assets/index.html-C6yte3a0.js" as="script"><link rel="prefetch" href="/assets/index.html-R-cHHIas.js" as="script"><link rel="prefetch" href="/assets/index.html-CPUAg15t.js" as="script"><link rel="prefetch" href="/assets/index.html-BjdnOCC5.js" as="script"><link rel="prefetch" href="/assets/index.html-7Xyk7CrU.js" as="script"><link rel="prefetch" href="/assets/index.html-BNW3YRR3.js" as="script"><link rel="prefetch" href="/assets/index.html-jClrTNl3.js" as="script"><link rel="prefetch" href="/assets/index.html-tFfBEjXi.js" as="script"><link rel="prefetch" href="/assets/index.html-DgPmeCdQ.js" as="script"><link rel="prefetch" href="/assets/index.html-CxRigd-R.js" as="script"><link rel="prefetch" href="/assets/index.html-BWPjJqfa.js" as="script"><link rel="prefetch" href="/assets/index.html-DzG2EJXJ.js" as="script"><link rel="prefetch" href="/assets/index.html-B45efyIG.js" as="script"><link rel="prefetch" href="/assets/index.html-D_Px6PD2.js" as="script"><link rel="prefetch" href="/assets/index.html-U1Oe9QlK.js" as="script"><link rel="prefetch" href="/assets/index.html-fvB3i9PM.js" as="script"><link rel="prefetch" href="/assets/404.html-mkIobPP0.js" as="script"><link rel="prefetch" href="/assets/index.html-DGqb01LU.js" as="script"><link rel="prefetch" href="/assets/index.html-GZfFX8ok.js" as="script"><link rel="prefetch" href="/assets/index.html-vhaMR1PK.js" as="script"><link rel="prefetch" href="/assets/index.html-CvSEeOlH.js" as="script"><link rel="prefetch" href="/assets/index.html-BmplSMWS.js" as="script"><link rel="prefetch" href="/assets/index.html-C2sDDxGY.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNwolvq.js" as="script"><link rel="prefetch" href="/assets/index.html-DhSSZBRU.js" as="script"><link rel="prefetch" href="/assets/index.html-DPcGNBru.js" as="script"><link rel="prefetch" href="/assets/index.html-BFJ0kKZP.js" as="script"><link rel="prefetch" href="/assets/index.html-CBW4olfB.js" as="script"><link rel="prefetch" href="/assets/index.html-CiBWk0Bg.js" as="script"><link rel="prefetch" href="/assets/index.html-AFWYFeTY.js" as="script"><link rel="prefetch" href="/assets/index.html-DlrkN0XZ.js" as="script"><link rel="prefetch" href="/assets/index.html-Cb-sPtFS.js" as="script"><link rel="prefetch" href="/assets/index.html-DPF-EyUV.js" as="script"><link rel="prefetch" href="/assets/index.html-AqhAiBBF.js" as="script"><link rel="prefetch" href="/assets/index.html-DLZdHb6J.js" as="script"><link rel="prefetch" href="/assets/index.html-Cpr5viHS.js" as="script"><link rel="prefetch" href="/assets/index.html-BXxGxqK4.js" as="script"><link rel="prefetch" href="/assets/index.html-4asd-b47.js" as="script"><link rel="prefetch" href="/assets/index.html-ZITi3OK2.js" as="script"><link rel="prefetch" href="/assets/index.html-DJMKg_M6.js" as="script"><link rel="prefetch" href="/assets/index.html-Y__KWg8u.js" as="script"><link rel="prefetch" href="/assets/index.html--BIzY7gk.js" as="script"><link rel="prefetch" href="/assets/index.html-BRHXQqdq.js" as="script"><link rel="prefetch" href="/assets/index.html-C_2nkQ6B.js" as="script"><link rel="prefetch" href="/assets/index.html-R9oSKuoP.js" as="script"><link rel="prefetch" href="/assets/index.html-DY-KY6vi.js" as="script"><link rel="prefetch" href="/assets/index.html-BSndmKE7.js" as="script"><link rel="prefetch" href="/assets/index.html-BDmR_g70.js" as="script"><link rel="prefetch" href="/assets/index.html-CpeDyHcd.js" as="script"><link rel="prefetch" href="/assets/index.html-DV9WiiCS.js" as="script"><link rel="prefetch" href="/assets/index.html-2WOtvPq_.js" as="script"><link rel="prefetch" href="/assets/index.html-DCVozm3V.js" as="script"><link rel="prefetch" href="/assets/index.html-vKhQGG0S.js" as="script"><link rel="prefetch" href="/assets/index.html-BlvUTCvM.js" as="script"><link rel="prefetch" href="/assets/index.html-vIW8aJUJ.js" as="script"><link rel="prefetch" href="/assets/index.html-CTuZCChr.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-S0Hns9UN.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CSFeuThZ.js" as="script"><link rel="prefetch" href="/assets/artplayer-DnixxQIM.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-DaNo29Rn.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-nRkOMaNb.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-DQalTb-T.js" as="script"><link rel="prefetch" href="/assets/giscus-D-fkNSKD.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-GXRgw7eJ.js" as="script">
   </head>
   <body>
     <div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container no-sidebar"><!--[--><header id="navbar" class="vp-navbar"><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><!--[--><a class="route-link vp-brand" href="/"><img class="vp-nav-logo" src="/img/Headshot.jpg" alt><!----><span class="vp-site-name hide-in-pad">HalfSweet&#39;s Blog</span></a><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-center"><!--[--><!----><!--]--><!--[--><nav class="vp-nav-links"><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/posts/" aria-label="文章"><span class="font-icon icon app" style=""></span>文章<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/about/" aria-label="关于"><span class="font-icon icon user" style=""></span>关于<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/friends/" aria-label="友链"><span class="font-icon icon link" style=""></span>友链<!----></a></div></nav><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-end"><!--[--><!----><!--]--><!--[--><!----><div class="nav-item vp-repo"><a class="vp-repo-link" href="https://github.com/HalfSweet/Blog" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><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"></path></svg></a></div><div class="nav-item hide-in-mobile"><button type="button" id="appearance-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" style="display:block;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" style="display:none;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" style="display:none;"><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"></path></svg></button></div><!----><!--]--><!--[--><!----><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar"><!--[--><!----><!--]--><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></li><li><section class="vp-sidebar-group"><p class="vp-sidebar-header"><span class="font-icon icon book" style=""></span><span class="vp-sidebar-title">文章</span><!----></p><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-Clion/" aria-label="使用 Clion 来进行 Air32 的开发"><!---->使用 Clion 来进行 Air32 的开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-MCO/" aria-label="Air32 的 HAL 改造——适配 MCO"><!---->Air32 的 HAL 改造——适配 MCO<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/HelloWorld/" aria-label="HelloWorld"><!---->HelloWorld<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/STC_CoreMark/" aria-label="不服来跑个分?将 CoreMark 移植到 STC 上试试"><!---->不服来跑个分?将 CoreMark 移植到 STC 上试试<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="为什么我对第三代郊狼失望"><!---->为什么我对第三代郊狼失望<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-HighFreq/" aria-label="发挥全部实力!Air32 在 HAL 库环境下运行最高主频"><!---->发挥全部实力!Air32 在 HAL 库环境下运行最高主频<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/embedded_fmtlib/" aria-label="在嵌入式设备上使用fmtlib"><!---->在嵌入式设备上使用fmtlib<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/conda_novelai/" aria-label="基于conda进行手动配置novelAI"><!---->基于conda进行手动配置novelAI<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="对《为什么我对第三代郊狼失望》一文的澄清说明"><!---->对《为什么我对第三代郊狼失望》一文的澄清说明<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Empedded-CI-CD/" aria-label="嵌入式中的 CI/CD"><!---->嵌入式中的 CI/CD<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/MDK6-Dev/" aria-label="更现代的开发方式?使用 MDK6 进行开发"><!---->更现代的开发方式?使用 MDK6 进行开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/SEGGER-RTT/" aria-label="更高效的日志查看方式——使用SEGGER-RTT"><!---->更高效的日志查看方式——使用SEGGER-RTT<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/EpdTraps1/" aria-label="墨水屏的坑——7.5寸墨水屏刷新为何出现条纹"><!---->墨水屏的坑——7.5寸墨水屏刷新为何出现条纹<!----></a></li></ul></section></li></ul><!--[--><!----><!--]--></aside><!--[--><div class="vp-page vp-blog"><div class="blog-page-wrapper"><main id="main-content" class="vp-blog-main"><ul class="tag-list-wrapper"><li class="tag tag8"><a class="route-link" href="/tag/%E5%90%88%E5%AE%99/">合宙<span class="tag-num">6</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/air32/">Air32<span class="tag-num">4</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/air001/">Air001<span class="tag-num">3</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/%E5%B5%8C%E5%85%A5%E5%BC%8F/">嵌入式<span class="tag-num">2</span></a></li><li class="tag tag6"><a class="route-link" href="/tag/%E7%A2%8E%E7%A2%8E%E5%BF%B5/">碎碎念<span class="tag-num">2</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/%E9%83%8A%E7%8B%BC/">郊狼<span class="tag-num">2</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/mco/">MCO<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/helloworld/">HelloWorld<span class="tag-num">1</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/stc32/">STC32<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/stc8/">STC8<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/coremark/">CoreMark<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/clion/">Clion<span class="tag-num">1</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/%E8%B6%85%E9%A2%91/">超频<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/fmtlib/">fmtlib<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/esp8266/">ESP8266<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/esp32/">ESP32<span class="tag-num">1</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/arduino/">Arduino<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/platformio/">PlatformIO<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/esp-idf/">ESP-IDF<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/">人工智能<span class="tag-num">1</span></a></li><li class="tag tag1"><a class="route-link" href="/tag/novelai/">novelAI<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/conda/">conda<span class="tag-num">1</span></a></li><li class="tag tag7"><a class="route-link" href="/tag/%E5%A2%A8%E6%B0%B4%E5%B1%8F/">墨水屏<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/uc8179/">UC8179<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/depg0750rwu790f30/">DEPG0750RWU790F30<span class="tag-num">1</span></a></li><li class="tag tag4 active"><a class="route-link" href="/tag/%E9%81%87%E5%88%B0%E7%9A%84%E5%9D%91/">遇到的坑<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/cicd/">CI/CD<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/%E6%97%A5%E5%BF%97/">日志<span class="tag-num">1</span></a></li></ul><div id="article-list" class="vp-article-list" role="feed"><div class="vp-article-wrapper"><article class="vp-article-item" vocab="https://schema.org/" typeof="Article"><!--[--><!--]--><!----><a class="route-link" href="/posts/EpdTraps1/"><header class="vp-article-title"><!----><!----><span property="headline">墨水屏的坑——7.5寸墨水屏刷新为何出现条纹</span></header></a><div class="vp-article-excerpt"><h2>前言</h2>
@@ -39,6 +39,6 @@
 <p></p>
 <p></p>
 <p>其中上面一张图为我自己做的波形,第二张为使用的OTP波形,但是无一例外,都出现了刷新的问题。抱着也许是驱动板出问题了的想法,我重新lay了一次板子,焊接好之后发现问题确实有所改善,但是并不佳。后续在更换过程中发现采用cd32封装的68uH的电感刷新效果会更好一些,但是依旧存在刷新问题,特别是在UI中有竖着的线条的时候,特别影响观感。</p></div><hr class="vp-article-hr"><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2022-11-06T05:30:37.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>大约 7 分钟</span><meta property="timeRequired" content="PT7M"></span><span class="page-category-info" aria-label="分类🌈" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg><!--[--><span class="page-category-item category7 clickable" role="navigation">墨水屏</span><!--]--><meta property="articleSection" content="墨水屏"></span><span class="page-tag-info" aria-label="标签🏷" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg><!--[--><span class="page-tag-item tag7 clickable" role="navigation">墨水屏</span><span class="page-tag-item tag0 clickable" role="navigation">UC8179</span><span class="page-tag-item tag2 clickable" role="navigation">DEPG0750RWU790F30</span><span class="page-tag-item tag4 clickable" role="navigation">遇到的坑</span><!--]--><meta property="keywords" content="墨水屏,UC8179,DEPG0750RWU790F30,遇到的坑"></span></div></article></div><div class="vp-pagination"></div></div></main><aside class="vp-blog-info-wrapper"><div class="vp-blogger-info" vocab="https://schema.org/" typeof="Person"><div class="vp-blogger" style="cursor:pointer;" aria-label="个人介绍" data-balloon-pos="down" role="link"><img class="vp-blogger-avatar" src="/img/Headshot.jpg" property="image" alt="Blogger Avatar" loading="lazy"><div class="vp-blogger-name" property="name">HalfSweet</div><div class="vp-blogger-description">Try to create some value</div><meta property="url" content="/Catalogue/02.about.html"></div><div class="vp-blog-counts"><a class="route-link vp-blog-count" href="/article/"><div class="count">13</div><div>文章</div></a><a class="route-link vp-blog-count" href="/category/"><div class="count">5</div><div>分类</div></a><a class="route-link vp-blog-count" href="/tag/"><div class="count">28</div><div>标签</div></a><a class="route-link vp-blog-count" href="/timeline/"><div class="count">13</div><div>时间轴</div></a></div><div class="vp-social-medias"><a class="vp-social-media" href="mailto:HalfSweet@HalfSweet.cn" rel="noopener noreferrer" target="_blank" aria-label="Email" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon email-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#1384FF"/><path fill="#fff" d="M270.077 286.233H751.99c32.933 0 59.86 24.855 60.274 55.51l-301.023 157L210.217 341.88c.207-30.723 26.927-55.717 59.86-55.717zm-59.929 115.714-.276 277.756c0 30.931 27.134 56.2 60.205 56.2H751.99c33.14 0 60.274-25.269 60.274-56.2V401.81L518.283 551.492a15.88 15.88 0 0 1-14.43 0L210.148 401.947z"/></svg></a><a class="vp-social-media" href="https://github.com/HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="GitHub" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#171515"/><path fill="#fff" d="M509.423 146.442c-200.317 0-362.756 162.42-362.756 362.8 0 160.266 103.936 296.24 248.109 344.217 18.139 3.327 24.76-7.872 24.76-17.486 0-8.613-.313-31.427-.49-61.702-100.912 21.923-122.205-48.63-122.205-48.63-16.495-41.91-40.28-53.067-40.28-53.067-32.937-22.51 2.492-22.053 2.492-22.053 36.407 2.566 55.568 37.386 55.568 37.386 32.362 55.438 84.907 39.43 105.58 30.143 3.296-23.444 12.667-39.43 23.032-48.498-80.557-9.156-165.246-40.28-165.246-179.297 0-39.604 14.135-71.988 37.342-97.348-3.731-9.178-16.18-46.063 3.556-96.009 0 0 30.46-9.754 99.76 37.19 28.937-8.048 59.97-12.071 90.823-12.211 30.807.14 61.843 4.165 90.822 12.21 69.26-46.944 99.663-37.189 99.663-37.189 19.792 49.946 7.34 86.831 3.61 96.01 23.25 25.359 37.29 57.742 37.29 97.347 0 139.366-84.82 170.033-165.637 179.013 13.026 11.2 24.628 33.342 24.628 67.182 0 48.498-.445 87.627-.445 99.521 0 9.702 6.535 20.988 24.945 17.444 144.03-48.067 247.881-183.95 247.881-344.175 0-200.378-162.442-362.798-362.802-362.798z"/></svg></a><a class="vp-social-media" href="https://twitter.com/_HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="Twitter" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon twitter-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512"/><path fill="#FFF" d="m560 473 186-216h-44L540 445 411 257H262l195 284-195 226h44l171-198 136 198h149zM322 290h68l312 445h-68z"/></svg></a></div></div><div class="vp-blog-infos"><div class="vp-blog-type-switcher"><button type="button" class="vp-blog-type-button"><div class="icon-wrapper active" aria-label="文章" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="分类" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="标签" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="时间轴" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timeline-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timeline icon"><path d="M511.997 70.568c-243.797 0-441.429 197.633-441.429 441.435 0 243.797 197.632 441.429 441.43 441.429S953.431 755.8 953.431 512.002c0-243.796-197.637-441.434-441.435-441.434zm150.158 609.093-15.605 15.61c-8.621 8.615-22.596 8.615-31.215 0L472.197 552.126c-4.95-4.944-4.34-14.888-4.34-24.677V247.14c0-12.19 9.882-22.07 22.07-22.07h22.07c12.19 0 22.07 9.882 22.07 22.07v273.218l128.088 128.088c8.62 8.62 8.62 22.595 0 31.215zm0 0"></path></svg></div></button></div><div class="vp-star-article-wrapper"><div class="title"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg><span class="num">13</span>文章</div><hr><div class="vp-star-article-empty">星标 为空</div></div></div></aside></div></div><!--]--><footer class="vp-footer-wrapper"><div class="vp-footer">今天咕咕被欺负了吗</div><div class="vp-copyright">Copyright © 2024 HalfSweet </div></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div>
-    <script type="module" src="/assets/app-ClwIkahu.js" defer></script>
+    <script type="module" src="/assets/app-Flo2gZk8.js" defer></script>
   </body>
 </html>
diff --git "a/tag/\351\203\212\347\213\274/index.html" "b/tag/\351\203\212\347\213\274/index.html"
index aa1cb07..331172a 100644
--- "a/tag/\351\203\212\347\213\274/index.html"
+++ "b/tag/\351\203\212\347\213\274/index.html"
@@ -29,14 +29,14 @@
       }
     </script>
     <meta property="og:url" content="https://halfsweet.cn/tag/%E9%83%8A%E7%8B%BC/"><meta property="og:site_name" content="HalfSweet's Blog"><meta property="og:title" content="标签: 郊狼"><meta property="og:type" content="website"><meta property="og:locale" content="zh-CN"><meta property="article:author" content="HalfSweet"><script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","name":"标签: 郊狼"}</script><title>标签: 郊狼 | HalfSweet's Blog</title><meta name="description" content="半糖的博客">
-    <link rel="preload" href="/assets/style-BDwnt-CL.css" as="style"><link rel="stylesheet" href="/assets/style-BDwnt-CL.css">
-    <link rel="modulepreload" href="/assets/app-ClwIkahu.js"><link rel="modulepreload" href="/assets/index.html-DhcL23aG.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
-    <link rel="prefetch" href="/assets/index.html-BjG6C5xb.js" as="script"><link rel="prefetch" href="/assets/index.html-6gNmrYKw.js" as="script"><link rel="prefetch" href="/assets/index.html-W8DPbcPd.js" as="script"><link rel="prefetch" href="/assets/index.html-75fD8c0W.js" as="script"><link rel="prefetch" href="/assets/index.html-CufQKtZU.js" as="script"><link rel="prefetch" href="/assets/index.html-Bqe7scks.js" as="script"><link rel="prefetch" href="/assets/index.html-B5-KeVPb.js" as="script"><link rel="prefetch" href="/assets/index.html-C7FigsQF.js" as="script"><link rel="prefetch" href="/assets/index.html-DtEE6E7f.js" as="script"><link rel="prefetch" href="/assets/index.html-0oPRY09N.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNCX4dz.js" as="script"><link rel="prefetch" href="/assets/index.html-XtQdJJI8.js" as="script"><link rel="prefetch" href="/assets/index.html-CnJ0E6b5.js" as="script"><link rel="prefetch" href="/assets/index.html-CFhDcrZp.js" as="script"><link rel="prefetch" href="/assets/index.html-Bd1PkxNi.js" as="script"><link rel="prefetch" href="/assets/index.html-DJ-_mZ9n.js" as="script"><link rel="prefetch" href="/assets/index.html-jFzM8lrm.js" as="script"><link rel="prefetch" href="/assets/404.html-VMfaDGRx.js" as="script"><link rel="prefetch" href="/assets/index.html-BaR2aqhq.js" as="script"><link rel="prefetch" href="/assets/index.html-DO2xY2T5.js" as="script"><link rel="prefetch" href="/assets/index.html-BEwHBlkc.js" as="script"><link rel="prefetch" href="/assets/index.html-DZIt3Q5g.js" as="script"><link rel="prefetch" href="/assets/index.html-Dd9JrssL.js" as="script"><link rel="prefetch" href="/assets/index.html-BjPOIJdK.js" as="script"><link rel="prefetch" href="/assets/index.html-CmtlWOBH.js" as="script"><link rel="prefetch" href="/assets/index.html-CR-9qG2Y.js" as="script"><link rel="prefetch" href="/assets/index.html-CwWDCYUS.js" as="script"><link rel="prefetch" href="/assets/index.html-CptFZpi0.js" as="script"><link rel="prefetch" href="/assets/index.html-p6Y7Jm3n.js" as="script"><link rel="prefetch" href="/assets/index.html-CIen8cvO.js" as="script"><link rel="prefetch" href="/assets/index.html-BKUs44hv.js" as="script"><link rel="prefetch" href="/assets/index.html-D0wSSTgQ.js" as="script"><link rel="prefetch" href="/assets/index.html-DqsCIdcm.js" as="script"><link rel="prefetch" href="/assets/index.html-kUwAIzkD.js" as="script"><link rel="prefetch" href="/assets/index.html-BqgjNdmg.js" as="script"><link rel="prefetch" href="/assets/index.html-DIaDLRqn.js" as="script"><link rel="prefetch" href="/assets/index.html-Bk9EBjUw.js" as="script"><link rel="prefetch" href="/assets/index.html-C0X-QC5U.js" as="script"><link rel="prefetch" href="/assets/index.html-ZwD6xCF4.js" as="script"><link rel="prefetch" href="/assets/index.html-BdqadbH8.js" as="script"><link rel="prefetch" href="/assets/index.html-D7Uf3Wbw.js" as="script"><link rel="prefetch" href="/assets/index.html-CsuDpoYK.js" as="script"><link rel="prefetch" href="/assets/index.html-Dc2bdBF2.js" as="script"><link rel="prefetch" href="/assets/index.html-BzgkemtD.js" as="script"><link rel="prefetch" href="/assets/index.html-7uHHiaZx.js" as="script"><link rel="prefetch" href="/assets/index.html-TGoZudvZ.js" as="script"><link rel="prefetch" href="/assets/index.html-DbCWijUV.js" as="script"><link rel="prefetch" href="/assets/index.html-DOCRL60a.js" as="script"><link rel="prefetch" href="/assets/index.html-B8qYb7wb.js" as="script"><link rel="prefetch" href="/assets/index.html-CpBdG6tv.js" as="script"><link rel="prefetch" href="/assets/index.html-DdE0h7xo.js" as="script"><link rel="prefetch" href="/assets/index.html-BlsdgZAc.js" as="script"><link rel="prefetch" href="/assets/index.html-Du74cC6X.js" as="script"><link rel="prefetch" href="/assets/index.html-CTp2Oa39.js" as="script"><link rel="prefetch" href="/assets/index.html-Bz73p56D.js" as="script"><link rel="prefetch" href="/assets/index.html-BktjQtFB.js" as="script"><link rel="prefetch" href="/assets/index.html-DPl--Ppt.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-BF52VcER.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CgYxLcm_.js" as="script"><link rel="prefetch" href="/assets/artplayer-CHAGXahu.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-BOVnG7as.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-CbA2In8H.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-Do1ld-lW.js" as="script"><link rel="prefetch" href="/assets/giscus-7BMGhbDA.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-SzV8tJDW.js" as="script">
+    <link rel="preload" href="/assets/style-7DTFFHvh.css" as="style"><link rel="stylesheet" href="/assets/style-7DTFFHvh.css">
+    <link rel="modulepreload" href="/assets/app-Flo2gZk8.js"><link rel="modulepreload" href="/assets/index.html-Cpr5viHS.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
+    <link rel="prefetch" href="/assets/index.html-BhtLl4n3.js" as="script"><link rel="prefetch" href="/assets/index.html-C6yte3a0.js" as="script"><link rel="prefetch" href="/assets/index.html-R-cHHIas.js" as="script"><link rel="prefetch" href="/assets/index.html-CPUAg15t.js" as="script"><link rel="prefetch" href="/assets/index.html-BjdnOCC5.js" as="script"><link rel="prefetch" href="/assets/index.html-7Xyk7CrU.js" as="script"><link rel="prefetch" href="/assets/index.html-BNW3YRR3.js" as="script"><link rel="prefetch" href="/assets/index.html-jClrTNl3.js" as="script"><link rel="prefetch" href="/assets/index.html-tFfBEjXi.js" as="script"><link rel="prefetch" href="/assets/index.html-DgPmeCdQ.js" as="script"><link rel="prefetch" href="/assets/index.html-CxRigd-R.js" as="script"><link rel="prefetch" href="/assets/index.html-BWPjJqfa.js" as="script"><link rel="prefetch" href="/assets/index.html-DzG2EJXJ.js" as="script"><link rel="prefetch" href="/assets/index.html-B45efyIG.js" as="script"><link rel="prefetch" href="/assets/index.html-D_Px6PD2.js" as="script"><link rel="prefetch" href="/assets/index.html-U1Oe9QlK.js" as="script"><link rel="prefetch" href="/assets/index.html-fvB3i9PM.js" as="script"><link rel="prefetch" href="/assets/404.html-mkIobPP0.js" as="script"><link rel="prefetch" href="/assets/index.html-DGqb01LU.js" as="script"><link rel="prefetch" href="/assets/index.html-GZfFX8ok.js" as="script"><link rel="prefetch" href="/assets/index.html-vhaMR1PK.js" as="script"><link rel="prefetch" href="/assets/index.html-CvSEeOlH.js" as="script"><link rel="prefetch" href="/assets/index.html-BmplSMWS.js" as="script"><link rel="prefetch" href="/assets/index.html-C2sDDxGY.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNwolvq.js" as="script"><link rel="prefetch" href="/assets/index.html-DhSSZBRU.js" as="script"><link rel="prefetch" href="/assets/index.html-DPcGNBru.js" as="script"><link rel="prefetch" href="/assets/index.html-BFJ0kKZP.js" as="script"><link rel="prefetch" href="/assets/index.html-CBW4olfB.js" as="script"><link rel="prefetch" href="/assets/index.html-CiBWk0Bg.js" as="script"><link rel="prefetch" href="/assets/index.html-AFWYFeTY.js" as="script"><link rel="prefetch" href="/assets/index.html-DlrkN0XZ.js" as="script"><link rel="prefetch" href="/assets/index.html-Cb-sPtFS.js" as="script"><link rel="prefetch" href="/assets/index.html-DPF-EyUV.js" as="script"><link rel="prefetch" href="/assets/index.html-AqhAiBBF.js" as="script"><link rel="prefetch" href="/assets/index.html-DLZdHb6J.js" as="script"><link rel="prefetch" href="/assets/index.html-BXxGxqK4.js" as="script"><link rel="prefetch" href="/assets/index.html-4asd-b47.js" as="script"><link rel="prefetch" href="/assets/index.html-ZITi3OK2.js" as="script"><link rel="prefetch" href="/assets/index.html-DJMKg_M6.js" as="script"><link rel="prefetch" href="/assets/index.html-Y__KWg8u.js" as="script"><link rel="prefetch" href="/assets/index.html--BIzY7gk.js" as="script"><link rel="prefetch" href="/assets/index.html-BRHXQqdq.js" as="script"><link rel="prefetch" href="/assets/index.html-C_2nkQ6B.js" as="script"><link rel="prefetch" href="/assets/index.html-R9oSKuoP.js" as="script"><link rel="prefetch" href="/assets/index.html-DY-KY6vi.js" as="script"><link rel="prefetch" href="/assets/index.html-BSndmKE7.js" as="script"><link rel="prefetch" href="/assets/index.html-BDmR_g70.js" as="script"><link rel="prefetch" href="/assets/index.html-CpeDyHcd.js" as="script"><link rel="prefetch" href="/assets/index.html-DV9WiiCS.js" as="script"><link rel="prefetch" href="/assets/index.html-DTceWJaH.js" as="script"><link rel="prefetch" href="/assets/index.html-2WOtvPq_.js" as="script"><link rel="prefetch" href="/assets/index.html-DCVozm3V.js" as="script"><link rel="prefetch" href="/assets/index.html-vKhQGG0S.js" as="script"><link rel="prefetch" href="/assets/index.html-BlvUTCvM.js" as="script"><link rel="prefetch" href="/assets/index.html-vIW8aJUJ.js" as="script"><link rel="prefetch" href="/assets/index.html-CTuZCChr.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-S0Hns9UN.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CSFeuThZ.js" as="script"><link rel="prefetch" href="/assets/artplayer-DnixxQIM.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-DaNo29Rn.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-nRkOMaNb.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-DQalTb-T.js" as="script"><link rel="prefetch" href="/assets/giscus-D-fkNSKD.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-GXRgw7eJ.js" as="script">
   </head>
   <body>
     <div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container no-sidebar"><!--[--><header id="navbar" class="vp-navbar"><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><!--[--><a class="route-link vp-brand" href="/"><img class="vp-nav-logo" src="/img/Headshot.jpg" alt><!----><span class="vp-site-name hide-in-pad">HalfSweet&#39;s Blog</span></a><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-center"><!--[--><!----><!--]--><!--[--><nav class="vp-nav-links"><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/posts/" aria-label="文章"><span class="font-icon icon app" style=""></span>文章<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/about/" aria-label="关于"><span class="font-icon icon user" style=""></span>关于<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/friends/" aria-label="友链"><span class="font-icon icon link" style=""></span>友链<!----></a></div></nav><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-end"><!--[--><!----><!--]--><!--[--><!----><div class="nav-item vp-repo"><a class="vp-repo-link" href="https://github.com/HalfSweet/Blog" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><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"></path></svg></a></div><div class="nav-item hide-in-mobile"><button type="button" id="appearance-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" style="display:block;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" style="display:none;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" style="display:none;"><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"></path></svg></button></div><!----><!--]--><!--[--><!----><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar"><!--[--><!----><!--]--><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></li><li><section class="vp-sidebar-group"><p class="vp-sidebar-header"><span class="font-icon icon book" style=""></span><span class="vp-sidebar-title">文章</span><!----></p><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-Clion/" aria-label="使用 Clion 来进行 Air32 的开发"><!---->使用 Clion 来进行 Air32 的开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-MCO/" aria-label="Air32 的 HAL 改造——适配 MCO"><!---->Air32 的 HAL 改造——适配 MCO<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/HelloWorld/" aria-label="HelloWorld"><!---->HelloWorld<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/STC_CoreMark/" aria-label="不服来跑个分?将 CoreMark 移植到 STC 上试试"><!---->不服来跑个分?将 CoreMark 移植到 STC 上试试<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="为什么我对第三代郊狼失望"><!---->为什么我对第三代郊狼失望<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-HighFreq/" aria-label="发挥全部实力!Air32 在 HAL 库环境下运行最高主频"><!---->发挥全部实力!Air32 在 HAL 库环境下运行最高主频<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/embedded_fmtlib/" aria-label="在嵌入式设备上使用fmtlib"><!---->在嵌入式设备上使用fmtlib<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/conda_novelai/" aria-label="基于conda进行手动配置novelAI"><!---->基于conda进行手动配置novelAI<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="对《为什么我对第三代郊狼失望》一文的澄清说明"><!---->对《为什么我对第三代郊狼失望》一文的澄清说明<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Empedded-CI-CD/" aria-label="嵌入式中的 CI/CD"><!---->嵌入式中的 CI/CD<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/MDK6-Dev/" aria-label="更现代的开发方式?使用 MDK6 进行开发"><!---->更现代的开发方式?使用 MDK6 进行开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/SEGGER-RTT/" aria-label="更高效的日志查看方式——使用SEGGER-RTT"><!---->更高效的日志查看方式——使用SEGGER-RTT<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/EpdTraps1/" aria-label="墨水屏的坑——7.5寸墨水屏刷新为何出现条纹"><!---->墨水屏的坑——7.5寸墨水屏刷新为何出现条纹<!----></a></li></ul></section></li></ul><!--[--><!----><!--]--></aside><!--[--><div class="vp-page vp-blog"><div class="blog-page-wrapper"><main id="main-content" class="vp-blog-main"><ul class="tag-list-wrapper"><li class="tag tag8"><a class="route-link" href="/tag/%E5%90%88%E5%AE%99/">合宙<span class="tag-num">6</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/air32/">Air32<span class="tag-num">4</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/air001/">Air001<span class="tag-num">3</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/%E5%B5%8C%E5%85%A5%E5%BC%8F/">嵌入式<span class="tag-num">2</span></a></li><li class="tag tag6"><a class="route-link" href="/tag/%E7%A2%8E%E7%A2%8E%E5%BF%B5/">碎碎念<span class="tag-num">2</span></a></li><li class="tag tag3 active"><a class="route-link" href="/tag/%E9%83%8A%E7%8B%BC/">郊狼<span class="tag-num">2</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/mco/">MCO<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/helloworld/">HelloWorld<span class="tag-num">1</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/stc32/">STC32<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/stc8/">STC8<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/coremark/">CoreMark<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/clion/">Clion<span class="tag-num">1</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/%E8%B6%85%E9%A2%91/">超频<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/fmtlib/">fmtlib<span class="tag-num">1</span></a></li><li class="tag tag8"><a class="route-link" href="/tag/esp8266/">ESP8266<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/esp32/">ESP32<span class="tag-num">1</span></a></li><li class="tag tag3"><a class="route-link" href="/tag/arduino/">Arduino<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/platformio/">PlatformIO<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/esp-idf/">ESP-IDF<span class="tag-num">1</span></a></li><li class="tag tag5"><a class="route-link" href="/tag/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/">人工智能<span class="tag-num">1</span></a></li><li class="tag tag1"><a class="route-link" href="/tag/novelai/">novelAI<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/conda/">conda<span class="tag-num">1</span></a></li><li class="tag tag7"><a class="route-link" href="/tag/%E5%A2%A8%E6%B0%B4%E5%B1%8F/">墨水屏<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/uc8179/">UC8179<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/depg0750rwu790f30/">DEPG0750RWU790F30<span class="tag-num">1</span></a></li><li class="tag tag4"><a class="route-link" href="/tag/%E9%81%87%E5%88%B0%E7%9A%84%E5%9D%91/">遇到的坑<span class="tag-num">1</span></a></li><li class="tag tag2"><a class="route-link" href="/tag/cicd/">CI/CD<span class="tag-num">1</span></a></li><li class="tag tag0"><a class="route-link" href="/tag/%E6%97%A5%E5%BF%97/">日志<span class="tag-num">1</span></a></li></ul><div id="article-list" class="vp-article-list" role="feed"><div class="vp-article-wrapper"><article class="vp-article-item" vocab="https://schema.org/" typeof="Article"><!--[--><!--]--><!----><a class="route-link" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/"><header class="vp-article-title"><!----><!----><span property="headline">对《为什么我对第三代郊狼失望》一文的澄清说明</span></header></a><div class="vp-article-excerpt"><p>在上文 <a href="/posts/%E4%B8%BA%E4%BB%80%E4%B9%88%E6%88%91%E5%AF%B9%E7%AC%AC%E4%B8%89%E4%BB%A3%E9%83%8A%E7%8B%BC%E5%A4%B1%E6%9C%9B.html" target="_blank">为什么我对第三代郊狼失望</a> 一文中,我对于第三代郊狼的硬件部分进行了一些初步分析,因为没有详细的一些资料,因此在一些地方可能存在一些错误。在昨晚(2024-03-19)郊狼作者找到我,与我群群友进行了一番友好的长时间地交流,也解答了我对设计上的一些疑问。在本文中我们会逐步分析前文中提到的问题。</p>
 </div><hr class="vp-article-hr"><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2024-03-20T06:03:29.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>大约 5 分钟</span><meta property="timeRequired" content="PT5M"></span><span class="page-category-info" aria-label="分类🌈" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg><!--[--><span class="page-category-item category1 clickable" role="navigation">posts</span><!--]--><meta property="articleSection" content="posts"></span><span class="page-tag-info" aria-label="标签🏷" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg><!--[--><span class="page-tag-item tag6 clickable" role="navigation">碎碎念</span><span class="page-tag-item tag3 clickable" role="navigation">郊狼</span><!--]--><meta property="keywords" content="碎碎念,郊狼"></span></div></article></div><div class="vp-article-wrapper"><article class="vp-article-item" vocab="https://schema.org/" typeof="Article"><!--[--><!--]--><!----><a class="route-link" href="/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/"><header class="vp-article-title"><!----><!----><span property="headline">为什么我对第三代郊狼失望</span></header></a><div class="vp-article-excerpt"><p>最近第三代郊狼开始内测了,作为一名电子爱好者,自然不能错过这个机会。于是我以原价 368 元的主机,以及 128 元两个智能按钮的价格,购买了一套第三代郊狼。</p>
 </div><hr class="vp-article-hr"><div class="page-info"><span class="page-author-info" aria-label="作者🖊" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon author-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="author icon"><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"></path></svg><span><span class="page-author-item">HalfSweet</span></span><span property="author" content="HalfSweet"></span></span><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><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"></path></svg><span><!----></span><meta property="datePublished" content="2024-03-15T17:59:26.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><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"></path></svg><span>大约 8 分钟</span><meta property="timeRequired" content="PT8M"></span><span class="page-category-info" aria-label="分类🌈" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg><!--[--><span class="page-category-item category1 clickable" role="navigation">posts</span><!--]--><meta property="articleSection" content="posts"></span><span class="page-tag-info" aria-label="标签🏷" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg><!--[--><span class="page-tag-item tag6 clickable" role="navigation">碎碎念</span><span class="page-tag-item tag3 clickable" role="navigation">郊狼</span><!--]--><meta property="keywords" content="碎碎念,郊狼"></span></div></article></div><div class="vp-pagination"></div></div></main><aside class="vp-blog-info-wrapper"><div class="vp-blogger-info" vocab="https://schema.org/" typeof="Person"><div class="vp-blogger" style="cursor:pointer;" aria-label="个人介绍" data-balloon-pos="down" role="link"><img class="vp-blogger-avatar" src="/img/Headshot.jpg" property="image" alt="Blogger Avatar" loading="lazy"><div class="vp-blogger-name" property="name">HalfSweet</div><div class="vp-blogger-description">Try to create some value</div><meta property="url" content="/Catalogue/02.about.html"></div><div class="vp-blog-counts"><a class="route-link vp-blog-count" href="/article/"><div class="count">13</div><div>文章</div></a><a class="route-link vp-blog-count" href="/category/"><div class="count">5</div><div>分类</div></a><a class="route-link vp-blog-count" href="/tag/"><div class="count">28</div><div>标签</div></a><a class="route-link vp-blog-count" href="/timeline/"><div class="count">13</div><div>时间轴</div></a></div><div class="vp-social-medias"><a class="vp-social-media" href="mailto:HalfSweet@HalfSweet.cn" rel="noopener noreferrer" target="_blank" aria-label="Email" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon email-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#1384FF"/><path fill="#fff" d="M270.077 286.233H751.99c32.933 0 59.86 24.855 60.274 55.51l-301.023 157L210.217 341.88c.207-30.723 26.927-55.717 59.86-55.717zm-59.929 115.714-.276 277.756c0 30.931 27.134 56.2 60.205 56.2H751.99c33.14 0 60.274-25.269 60.274-56.2V401.81L518.283 551.492a15.88 15.88 0 0 1-14.43 0L210.148 401.947z"/></svg></a><a class="vp-social-media" href="https://github.com/HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="GitHub" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#171515"/><path fill="#fff" d="M509.423 146.442c-200.317 0-362.756 162.42-362.756 362.8 0 160.266 103.936 296.24 248.109 344.217 18.139 3.327 24.76-7.872 24.76-17.486 0-8.613-.313-31.427-.49-61.702-100.912 21.923-122.205-48.63-122.205-48.63-16.495-41.91-40.28-53.067-40.28-53.067-32.937-22.51 2.492-22.053 2.492-22.053 36.407 2.566 55.568 37.386 55.568 37.386 32.362 55.438 84.907 39.43 105.58 30.143 3.296-23.444 12.667-39.43 23.032-48.498-80.557-9.156-165.246-40.28-165.246-179.297 0-39.604 14.135-71.988 37.342-97.348-3.731-9.178-16.18-46.063 3.556-96.009 0 0 30.46-9.754 99.76 37.19 28.937-8.048 59.97-12.071 90.823-12.211 30.807.14 61.843 4.165 90.822 12.21 69.26-46.944 99.663-37.189 99.663-37.189 19.792 49.946 7.34 86.831 3.61 96.01 23.25 25.359 37.29 57.742 37.29 97.347 0 139.366-84.82 170.033-165.637 179.013 13.026 11.2 24.628 33.342 24.628 67.182 0 48.498-.445 87.627-.445 99.521 0 9.702 6.535 20.988 24.945 17.444 144.03-48.067 247.881-183.95 247.881-344.175 0-200.378-162.442-362.798-362.802-362.798z"/></svg></a><a class="vp-social-media" href="https://twitter.com/_HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="Twitter" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon twitter-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512"/><path fill="#FFF" d="m560 473 186-216h-44L540 445 411 257H262l195 284-195 226h44l171-198 136 198h149zM322 290h68l312 445h-68z"/></svg></a></div></div><div class="vp-blog-infos"><div class="vp-blog-type-switcher"><button type="button" class="vp-blog-type-button"><div class="icon-wrapper active" aria-label="文章" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="分类" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="标签" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="时间轴" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timeline-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timeline icon"><path d="M511.997 70.568c-243.797 0-441.429 197.633-441.429 441.435 0 243.797 197.632 441.429 441.43 441.429S953.431 755.8 953.431 512.002c0-243.796-197.637-441.434-441.435-441.434zm150.158 609.093-15.605 15.61c-8.621 8.615-22.596 8.615-31.215 0L472.197 552.126c-4.95-4.944-4.34-14.888-4.34-24.677V247.14c0-12.19 9.882-22.07 22.07-22.07h22.07c12.19 0 22.07 9.882 22.07 22.07v273.218l128.088 128.088c8.62 8.62 8.62 22.595 0 31.215zm0 0"></path></svg></div></button></div><div class="vp-star-article-wrapper"><div class="title"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg><span class="num">13</span>文章</div><hr><div class="vp-star-article-empty">星标 为空</div></div></div></aside></div></div><!--]--><footer class="vp-footer-wrapper"><div class="vp-footer">今天咕咕被欺负了吗</div><div class="vp-copyright">Copyright © 2024 HalfSweet </div></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div>
-    <script type="module" src="/assets/app-ClwIkahu.js" defer></script>
+    <script type="module" src="/assets/app-Flo2gZk8.js" defer></script>
   </body>
 </html>
diff --git a/timeline/index.html b/timeline/index.html
index 7d7af66..072f35f 100644
--- a/timeline/index.html
+++ b/timeline/index.html
@@ -29,12 +29,12 @@
       }
     </script>
     <meta property="og:url" content="https://halfsweet.cn/timeline/"><meta property="og:site_name" content="HalfSweet's Blog"><meta property="og:title" content="时间轴"><meta property="og:type" content="website"><meta property="og:locale" content="zh-CN"><meta property="article:author" content="HalfSweet"><script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","name":"时间轴"}</script><title>时间轴 | HalfSweet's Blog</title><meta name="description" content="半糖的博客">
-    <link rel="preload" href="/assets/style-BDwnt-CL.css" as="style"><link rel="stylesheet" href="/assets/style-BDwnt-CL.css">
-    <link rel="modulepreload" href="/assets/app-ClwIkahu.js"><link rel="modulepreload" href="/assets/index.html-DPl--Ppt.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
-    <link rel="prefetch" href="/assets/index.html-BjG6C5xb.js" as="script"><link rel="prefetch" href="/assets/index.html-6gNmrYKw.js" as="script"><link rel="prefetch" href="/assets/index.html-W8DPbcPd.js" as="script"><link rel="prefetch" href="/assets/index.html-75fD8c0W.js" as="script"><link rel="prefetch" href="/assets/index.html-CufQKtZU.js" as="script"><link rel="prefetch" href="/assets/index.html-Bqe7scks.js" as="script"><link rel="prefetch" href="/assets/index.html-B5-KeVPb.js" as="script"><link rel="prefetch" href="/assets/index.html-C7FigsQF.js" as="script"><link rel="prefetch" href="/assets/index.html-DtEE6E7f.js" as="script"><link rel="prefetch" href="/assets/index.html-0oPRY09N.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNCX4dz.js" as="script"><link rel="prefetch" href="/assets/index.html-XtQdJJI8.js" as="script"><link rel="prefetch" href="/assets/index.html-CnJ0E6b5.js" as="script"><link rel="prefetch" href="/assets/index.html-CFhDcrZp.js" as="script"><link rel="prefetch" href="/assets/index.html-Bd1PkxNi.js" as="script"><link rel="prefetch" href="/assets/index.html-DJ-_mZ9n.js" as="script"><link rel="prefetch" href="/assets/index.html-jFzM8lrm.js" as="script"><link rel="prefetch" href="/assets/404.html-VMfaDGRx.js" as="script"><link rel="prefetch" href="/assets/index.html-BaR2aqhq.js" as="script"><link rel="prefetch" href="/assets/index.html-DO2xY2T5.js" as="script"><link rel="prefetch" href="/assets/index.html-BEwHBlkc.js" as="script"><link rel="prefetch" href="/assets/index.html-DZIt3Q5g.js" as="script"><link rel="prefetch" href="/assets/index.html-Dd9JrssL.js" as="script"><link rel="prefetch" href="/assets/index.html-BjPOIJdK.js" as="script"><link rel="prefetch" href="/assets/index.html-CmtlWOBH.js" as="script"><link rel="prefetch" href="/assets/index.html-CR-9qG2Y.js" as="script"><link rel="prefetch" href="/assets/index.html-CwWDCYUS.js" as="script"><link rel="prefetch" href="/assets/index.html-CptFZpi0.js" as="script"><link rel="prefetch" href="/assets/index.html-p6Y7Jm3n.js" as="script"><link rel="prefetch" href="/assets/index.html-CIen8cvO.js" as="script"><link rel="prefetch" href="/assets/index.html-BKUs44hv.js" as="script"><link rel="prefetch" href="/assets/index.html-D0wSSTgQ.js" as="script"><link rel="prefetch" href="/assets/index.html-DqsCIdcm.js" as="script"><link rel="prefetch" href="/assets/index.html-kUwAIzkD.js" as="script"><link rel="prefetch" href="/assets/index.html-BqgjNdmg.js" as="script"><link rel="prefetch" href="/assets/index.html-DIaDLRqn.js" as="script"><link rel="prefetch" href="/assets/index.html-DhcL23aG.js" as="script"><link rel="prefetch" href="/assets/index.html-Bk9EBjUw.js" as="script"><link rel="prefetch" href="/assets/index.html-C0X-QC5U.js" as="script"><link rel="prefetch" href="/assets/index.html-ZwD6xCF4.js" as="script"><link rel="prefetch" href="/assets/index.html-BdqadbH8.js" as="script"><link rel="prefetch" href="/assets/index.html-D7Uf3Wbw.js" as="script"><link rel="prefetch" href="/assets/index.html-CsuDpoYK.js" as="script"><link rel="prefetch" href="/assets/index.html-Dc2bdBF2.js" as="script"><link rel="prefetch" href="/assets/index.html-BzgkemtD.js" as="script"><link rel="prefetch" href="/assets/index.html-7uHHiaZx.js" as="script"><link rel="prefetch" href="/assets/index.html-TGoZudvZ.js" as="script"><link rel="prefetch" href="/assets/index.html-DbCWijUV.js" as="script"><link rel="prefetch" href="/assets/index.html-DOCRL60a.js" as="script"><link rel="prefetch" href="/assets/index.html-B8qYb7wb.js" as="script"><link rel="prefetch" href="/assets/index.html-CpBdG6tv.js" as="script"><link rel="prefetch" href="/assets/index.html-DdE0h7xo.js" as="script"><link rel="prefetch" href="/assets/index.html-BlsdgZAc.js" as="script"><link rel="prefetch" href="/assets/index.html-Du74cC6X.js" as="script"><link rel="prefetch" href="/assets/index.html-CTp2Oa39.js" as="script"><link rel="prefetch" href="/assets/index.html-Bz73p56D.js" as="script"><link rel="prefetch" href="/assets/index.html-BktjQtFB.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-BF52VcER.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CgYxLcm_.js" as="script"><link rel="prefetch" href="/assets/artplayer-CHAGXahu.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-BOVnG7as.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-CbA2In8H.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-Do1ld-lW.js" as="script"><link rel="prefetch" href="/assets/giscus-7BMGhbDA.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-SzV8tJDW.js" as="script">
+    <link rel="preload" href="/assets/style-7DTFFHvh.css" as="style"><link rel="stylesheet" href="/assets/style-7DTFFHvh.css">
+    <link rel="modulepreload" href="/assets/app-Flo2gZk8.js"><link rel="modulepreload" href="/assets/index.html-CTuZCChr.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
+    <link rel="prefetch" href="/assets/index.html-BhtLl4n3.js" as="script"><link rel="prefetch" href="/assets/index.html-C6yte3a0.js" as="script"><link rel="prefetch" href="/assets/index.html-R-cHHIas.js" as="script"><link rel="prefetch" href="/assets/index.html-CPUAg15t.js" as="script"><link rel="prefetch" href="/assets/index.html-BjdnOCC5.js" as="script"><link rel="prefetch" href="/assets/index.html-7Xyk7CrU.js" as="script"><link rel="prefetch" href="/assets/index.html-BNW3YRR3.js" as="script"><link rel="prefetch" href="/assets/index.html-jClrTNl3.js" as="script"><link rel="prefetch" href="/assets/index.html-tFfBEjXi.js" as="script"><link rel="prefetch" href="/assets/index.html-DgPmeCdQ.js" as="script"><link rel="prefetch" href="/assets/index.html-CxRigd-R.js" as="script"><link rel="prefetch" href="/assets/index.html-BWPjJqfa.js" as="script"><link rel="prefetch" href="/assets/index.html-DzG2EJXJ.js" as="script"><link rel="prefetch" href="/assets/index.html-B45efyIG.js" as="script"><link rel="prefetch" href="/assets/index.html-D_Px6PD2.js" as="script"><link rel="prefetch" href="/assets/index.html-U1Oe9QlK.js" as="script"><link rel="prefetch" href="/assets/index.html-fvB3i9PM.js" as="script"><link rel="prefetch" href="/assets/404.html-mkIobPP0.js" as="script"><link rel="prefetch" href="/assets/index.html-DGqb01LU.js" as="script"><link rel="prefetch" href="/assets/index.html-GZfFX8ok.js" as="script"><link rel="prefetch" href="/assets/index.html-vhaMR1PK.js" as="script"><link rel="prefetch" href="/assets/index.html-CvSEeOlH.js" as="script"><link rel="prefetch" href="/assets/index.html-BmplSMWS.js" as="script"><link rel="prefetch" href="/assets/index.html-C2sDDxGY.js" as="script"><link rel="prefetch" href="/assets/index.html-DvNwolvq.js" as="script"><link rel="prefetch" href="/assets/index.html-DhSSZBRU.js" as="script"><link rel="prefetch" href="/assets/index.html-DPcGNBru.js" as="script"><link rel="prefetch" href="/assets/index.html-BFJ0kKZP.js" as="script"><link rel="prefetch" href="/assets/index.html-CBW4olfB.js" as="script"><link rel="prefetch" href="/assets/index.html-CiBWk0Bg.js" as="script"><link rel="prefetch" href="/assets/index.html-AFWYFeTY.js" as="script"><link rel="prefetch" href="/assets/index.html-DlrkN0XZ.js" as="script"><link rel="prefetch" href="/assets/index.html-Cb-sPtFS.js" as="script"><link rel="prefetch" href="/assets/index.html-DPF-EyUV.js" as="script"><link rel="prefetch" href="/assets/index.html-AqhAiBBF.js" as="script"><link rel="prefetch" href="/assets/index.html-DLZdHb6J.js" as="script"><link rel="prefetch" href="/assets/index.html-Cpr5viHS.js" as="script"><link rel="prefetch" href="/assets/index.html-BXxGxqK4.js" as="script"><link rel="prefetch" href="/assets/index.html-4asd-b47.js" as="script"><link rel="prefetch" href="/assets/index.html-ZITi3OK2.js" as="script"><link rel="prefetch" href="/assets/index.html-DJMKg_M6.js" as="script"><link rel="prefetch" href="/assets/index.html-Y__KWg8u.js" as="script"><link rel="prefetch" href="/assets/index.html--BIzY7gk.js" as="script"><link rel="prefetch" href="/assets/index.html-BRHXQqdq.js" as="script"><link rel="prefetch" href="/assets/index.html-C_2nkQ6B.js" as="script"><link rel="prefetch" href="/assets/index.html-R9oSKuoP.js" as="script"><link rel="prefetch" href="/assets/index.html-DY-KY6vi.js" as="script"><link rel="prefetch" href="/assets/index.html-BSndmKE7.js" as="script"><link rel="prefetch" href="/assets/index.html-BDmR_g70.js" as="script"><link rel="prefetch" href="/assets/index.html-CpeDyHcd.js" as="script"><link rel="prefetch" href="/assets/index.html-DV9WiiCS.js" as="script"><link rel="prefetch" href="/assets/index.html-DTceWJaH.js" as="script"><link rel="prefetch" href="/assets/index.html-2WOtvPq_.js" as="script"><link rel="prefetch" href="/assets/index.html-DCVozm3V.js" as="script"><link rel="prefetch" href="/assets/index.html-vKhQGG0S.js" as="script"><link rel="prefetch" href="/assets/index.html-BlvUTCvM.js" as="script"><link rel="prefetch" href="/assets/index.html-vIW8aJUJ.js" as="script"><link rel="prefetch" href="/assets/dash.all.min-S0Hns9UN.js" as="script"><link rel="prefetch" href="/assets/mpegts-CC885RK9.js" as="script"><link rel="prefetch" href="/assets/hls.min-CSFeuThZ.js" as="script"><link rel="prefetch" href="/assets/artplayer-DnixxQIM.js" as="script"><link rel="prefetch" href="/assets/browser-D6eOinvE.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-DaNo29Rn.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-layouts-nRkOMaNb.js" as="script"><link rel="prefetch" href="/assets/vidstack-player-ui-DQalTb-T.js" as="script"><link rel="prefetch" href="/assets/giscus-D-fkNSKD.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-GXRgw7eJ.js" as="script">
   </head>
   <body>
     <div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container no-sidebar"><!--[--><header id="navbar" class="vp-navbar"><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><!--[--><a class="route-link vp-brand" href="/"><img class="vp-nav-logo" src="/img/Headshot.jpg" alt><!----><span class="vp-site-name hide-in-pad">HalfSweet&#39;s Blog</span></a><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-center"><!--[--><!----><!--]--><!--[--><nav class="vp-nav-links"><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/posts/" aria-label="文章"><span class="font-icon icon app" style=""></span>文章<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/about/" aria-label="关于"><span class="font-icon icon user" style=""></span>关于<!----></a></div><div class="nav-item hide-in-mobile"><a class="route-link nav-link" href="/friends/" aria-label="友链"><span class="font-icon icon link" style=""></span>友链<!----></a></div></nav><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-end"><!--[--><!----><!--]--><!--[--><!----><div class="nav-item vp-repo"><a class="vp-repo-link" href="https://github.com/HalfSweet/Blog" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><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"></path></svg></a></div><div class="nav-item hide-in-mobile"><button type="button" id="appearance-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" style="display:block;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" style="display:none;"><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"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" style="display:none;"><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"></path></svg></button></div><!----><!--]--><!--[--><!----><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar"><!--[--><!----><!--]--><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/" aria-label="HalfSweet&#39;s Blog"><span class="font-icon icon home" style=""></span>HalfSweet&#39;s Blog<!----></a></li><li><section class="vp-sidebar-group"><p class="vp-sidebar-header"><span class="font-icon icon book" style=""></span><span class="vp-sidebar-title">文章</span><!----></p><ul class="vp-sidebar-links"><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-Clion/" aria-label="使用 Clion 来进行 Air32 的开发"><!---->使用 Clion 来进行 Air32 的开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-MCO/" aria-label="Air32 的 HAL 改造——适配 MCO"><!---->Air32 的 HAL 改造——适配 MCO<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/HelloWorld/" aria-label="HelloWorld"><!---->HelloWorld<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/STC_CoreMark/" aria-label="不服来跑个分?将 CoreMark 移植到 STC 上试试"><!---->不服来跑个分?将 CoreMark 移植到 STC 上试试<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="为什么我对第三代郊狼失望"><!---->为什么我对第三代郊狼失望<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Air32-HAL-HighFreq/" aria-label="发挥全部实力!Air32 在 HAL 库环境下运行最高主频"><!---->发挥全部实力!Air32 在 HAL 库环境下运行最高主频<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/embedded_fmtlib/" aria-label="在嵌入式设备上使用fmtlib"><!---->在嵌入式设备上使用fmtlib<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/conda_novelai/" aria-label="基于conda进行手动配置novelAI"><!---->基于conda进行手动配置novelAI<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/" aria-label="对《为什么我对第三代郊狼失望》一文的澄清说明"><!---->对《为什么我对第三代郊狼失望》一文的澄清说明<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/Empedded-CI-CD/" aria-label="嵌入式中的 CI/CD"><!---->嵌入式中的 CI/CD<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/MDK6-Dev/" aria-label="更现代的开发方式?使用 MDK6 进行开发"><!---->更现代的开发方式?使用 MDK6 进行开发<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/SEGGER-RTT/" aria-label="更高效的日志查看方式——使用SEGGER-RTT"><!---->更高效的日志查看方式——使用SEGGER-RTT<!----></a></li><li><a class="route-link nav-link vp-sidebar-link vp-sidebar-page" href="/posts/EpdTraps1/" aria-label="墨水屏的坑——7.5寸墨水屏刷新为何出现条纹"><!---->墨水屏的坑——7.5寸墨水屏刷新为何出现条纹<!----></a></li></ul></section></li></ul><!--[--><!----><!--]--></aside><!--[--><div class="vp-page vp-blog"><div class="blog-page-wrapper"><main id="main-content" class="vp-blog-main"><div class="timeline-wrapper"><ul class="timeline-content"><li class="motto">昨日不在</li><div class="vp-toc-placeholder"><aside id="toc"><!----><div class="vp-toc-header">此页内容<button type="button" class="print-button" title="打印"><svg xmlns="http://www.w3.org/2000/svg" class="icon print-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="print icon"><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"></path></svg></button><div class="arrow end"></div></div><div class="vp-toc-wrapper"><ul class="vp-toc-list"><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#2024">2024</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#2023">2023</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="/#2022">2022</a></li><!----><!--]--></ul><div class="vp-toc-marker" style="top:-1.7rem;"></div></div><!----></aside></div><!--[--><!--[--><h3 id="2024" class="timeline-year-title"><span>2024</span></h3><li class="timeline-year-list"><ul class="timeline-year-wrapper"><li class="timeline-item"><span class="timeline-date">3/20</span><a class="route-link timeline-title" href="/posts/clarification_of_why_i_am_disappointed_with_the_third_generation_of_wolf/">对《为什么我对第三代郊狼失望》一文的澄清说明</a></li><li class="timeline-item"><span class="timeline-date">3/15</span><a class="route-link timeline-title" href="/posts/why_i_am_disappointed_with_the_third_generation_of_wolf/">为什么我对第三代郊狼失望</a></li><li class="timeline-item"><span class="timeline-date">1/7</span><a class="route-link timeline-title" href="/posts/Empedded-CI-CD/">嵌入式中的 CI/CD</a></li></ul></li><!--]--><!--[--><h3 id="2023" class="timeline-year-title"><span>2023</span></h3><li class="timeline-year-list"><ul class="timeline-year-wrapper"><li class="timeline-item"><span class="timeline-date">8/27</span><a class="route-link timeline-title" href="/posts/Air32-Clion/">使用 Clion 来进行 Air32 的开发</a></li><li class="timeline-item"><span class="timeline-date">8/20</span><a class="route-link timeline-title" href="/posts/Air32-HAL-MCO/">Air32 的 HAL 改造——适配 MCO</a></li><li class="timeline-item"><span class="timeline-date">8/20</span><a class="route-link timeline-title" href="/posts/Air32-HAL-HighFreq/">发挥全部实力!Air32 在 HAL 库环境下运行最高主频</a></li><li class="timeline-item"><span class="timeline-date">8/19</span><a class="route-link timeline-title" href="/posts/MDK6-Dev/">更现代的开发方式?使用 MDK6 进行开发</a></li><li class="timeline-item"><span class="timeline-date">5/6</span><a class="route-link timeline-title" href="/posts/SEGGER-RTT/">更高效的日志查看方式——使用SEGGER-RTT</a></li><li class="timeline-item"><span class="timeline-date">4/14</span><a class="route-link timeline-title" href="/posts/STC_CoreMark/">不服来跑个分?将 CoreMark 移植到 STC 上试试</a></li><li class="timeline-item"><span class="timeline-date">2/3</span><a class="route-link timeline-title" href="/posts/embedded_fmtlib/">在嵌入式设备上使用fmtlib</a></li><li class="timeline-item"><span class="timeline-date">1/5</span><a class="route-link timeline-title" href="/posts/conda_novelai/">基于conda进行手动配置novelAI</a></li></ul></li><!--]--><!--[--><h3 id="2022" class="timeline-year-title"><span>2022</span></h3><li class="timeline-year-list"><ul class="timeline-year-wrapper"><li class="timeline-item"><span class="timeline-date">11/6</span><a class="route-link timeline-title" href="/posts/EpdTraps1/">墨水屏的坑——7.5寸墨水屏刷新为何出现条纹</a></li><li class="timeline-item"><span class="timeline-date">10/31</span><a class="route-link timeline-title" href="/posts/HelloWorld/">HelloWorld</a></li></ul></li><!--]--><!--]--></ul></div></main><aside class="vp-blog-info-wrapper"><div class="vp-blogger-info" vocab="https://schema.org/" typeof="Person"><div class="vp-blogger" style="cursor:pointer;" aria-label="个人介绍" data-balloon-pos="down" role="link"><img class="vp-blogger-avatar" src="/img/Headshot.jpg" property="image" alt="Blogger Avatar" loading="lazy"><div class="vp-blogger-name" property="name">HalfSweet</div><div class="vp-blogger-description">Try to create some value</div><meta property="url" content="/Catalogue/02.about.html"></div><div class="vp-blog-counts"><a class="route-link vp-blog-count" href="/article/"><div class="count">13</div><div>文章</div></a><a class="route-link vp-blog-count" href="/category/"><div class="count">5</div><div>分类</div></a><a class="route-link vp-blog-count" href="/tag/"><div class="count">28</div><div>标签</div></a><a class="route-link vp-blog-count" href="/timeline/"><div class="count">13</div><div>时间轴</div></a></div><div class="vp-social-medias"><a class="vp-social-media" href="mailto:HalfSweet@HalfSweet.cn" rel="noopener noreferrer" target="_blank" aria-label="Email" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon email-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#1384FF"/><path fill="#fff" d="M270.077 286.233H751.99c32.933 0 59.86 24.855 60.274 55.51l-301.023 157L210.217 341.88c.207-30.723 26.927-55.717 59.86-55.717zm-59.929 115.714-.276 277.756c0 30.931 27.134 56.2 60.205 56.2H751.99c33.14 0 60.274-25.269 60.274-56.2V401.81L518.283 551.492a15.88 15.88 0 0 1-14.43 0L210.148 401.947z"/></svg></a><a class="vp-social-media" href="https://github.com/HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="GitHub" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512" fill="#171515"/><path fill="#fff" d="M509.423 146.442c-200.317 0-362.756 162.42-362.756 362.8 0 160.266 103.936 296.24 248.109 344.217 18.139 3.327 24.76-7.872 24.76-17.486 0-8.613-.313-31.427-.49-61.702-100.912 21.923-122.205-48.63-122.205-48.63-16.495-41.91-40.28-53.067-40.28-53.067-32.937-22.51 2.492-22.053 2.492-22.053 36.407 2.566 55.568 37.386 55.568 37.386 32.362 55.438 84.907 39.43 105.58 30.143 3.296-23.444 12.667-39.43 23.032-48.498-80.557-9.156-165.246-40.28-165.246-179.297 0-39.604 14.135-71.988 37.342-97.348-3.731-9.178-16.18-46.063 3.556-96.009 0 0 30.46-9.754 99.76 37.19 28.937-8.048 59.97-12.071 90.823-12.211 30.807.14 61.843 4.165 90.822 12.21 69.26-46.944 99.663-37.189 99.663-37.189 19.792 49.946 7.34 86.831 3.61 96.01 23.25 25.359 37.29 57.742 37.29 97.347 0 139.366-84.82 170.033-165.637 179.013 13.026 11.2 24.628 33.342 24.628 67.182 0 48.498-.445 87.627-.445 99.521 0 9.702 6.535 20.988 24.945 17.444 144.03-48.067 247.881-183.95 247.881-344.175 0-200.378-162.442-362.798-362.802-362.798z"/></svg></a><a class="vp-social-media" href="https://twitter.com/_HalfSweet" rel="noopener noreferrer" target="_blank" aria-label="Twitter" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon twitter-icon" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="512"/><path fill="#FFF" d="m560 473 186-216h-44L540 445 411 257H262l195 284-195 226h44l171-198 136 198h149zM322 290h68l312 445h-68z"/></svg></a></div></div><div class="vp-blog-infos"><div class="vp-blog-type-switcher"><button type="button" class="vp-blog-type-button"><div class="icon-wrapper active" aria-label="文章" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="分类" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon category-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="category icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="标签" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon tag-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="tag icon"><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"></path></svg></div></button><button type="button" class="vp-blog-type-button"><div class="icon-wrapper" aria-label="时间轴" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timeline-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timeline icon"><path d="M511.997 70.568c-243.797 0-441.429 197.633-441.429 441.435 0 243.797 197.632 441.429 441.43 441.429S953.431 755.8 953.431 512.002c0-243.796-197.637-441.434-441.435-441.434zm150.158 609.093-15.605 15.61c-8.621 8.615-22.596 8.615-31.215 0L472.197 552.126c-4.95-4.944-4.34-14.888-4.34-24.677V247.14c0-12.19 9.882-22.07 22.07-22.07h22.07c12.19 0 22.07 9.882 22.07 22.07v273.218l128.088 128.088c8.62 8.62 8.62 22.595 0 31.215zm0 0"></path></svg></div></button></div><div class="vp-star-article-wrapper"><div class="title"><svg xmlns="http://www.w3.org/2000/svg" class="icon article-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="article icon"><path d="M853.333 938.667H170.667A42.667 42.667 0 0 1 128 896V128a42.667 42.667 0 0 1 42.667-42.667h682.666A42.667 42.667 0 0 1 896 128v768a42.667 42.667 0 0 1-42.667 42.667zm-42.666-85.334V170.667H213.333v682.666h597.334zM298.667 256h170.666v170.667H298.667V256zm0 256h426.666v85.333H298.667V512zm0 170.667h426.666V768H298.667v-85.333zm256-384h170.666V384H554.667v-85.333z"></path></svg><span class="num">13</span>文章</div><hr><div class="vp-star-article-empty">星标 为空</div></div></div></aside></div></div><!--]--><footer class="vp-footer-wrapper"><div class="vp-footer">今天咕咕被欺负了吗</div><div class="vp-copyright">Copyright © 2024 HalfSweet </div></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div>
-    <script type="module" src="/assets/app-ClwIkahu.js" defer></script>
+    <script type="module" src="/assets/app-Flo2gZk8.js" defer></script>
   </body>
 </html>